Porytiles
Loading...
Searching...
No Matches
porytiles::MetatileAttributeCandidateSet Struct Reference

One complete metatile attribute mask layout a project declares. More...

#include <metatile_attribute_inference.hpp>

Collaboration diagram for porytiles::MetatileAttributeCandidateSet:
[legend]

Public Attributes

std::string origin
 
std::string source
 
MetatileAttributeFieldDefinitions fields
 
std::size_t required_bytes {2}
 
std::vector< InferredFieldConflictconflicts
 

Detailed Description

One complete metatile attribute mask layout a project declares.

A project exposes one candidate set per discovered mask layout: the bare METATILE_ATTR_*_MASK defines (merged with the sMetatileAttrMasks table when no FRLG defines exist) form one set, and the *_MASK_FRLG defines plus the table form another. origin is a human-readable description of where the set's masks came from, used in size-selection errors and dump output. source is the matching file path list: exactly the files origin names, comma separated, so the two never disagree (a table-only layout points at src/fieldmap.c, not the fieldmap header). It is empty when the scan recorded no paths. fields is the set's field definitions (single-mask, display order); the layer-type field, when the layout declares its mask, appears here as an ordinary definition named "layer_type" carrying FieldRole::layer_type, and a set with no field beyond that role field is discarded as unusable. required_bytes is the smallest of 1, 2, or 4 bytes that covers every mask in the set. conflicts lists the facts inference could not settle for this set's fields (see InferredFieldConflict); the list is per-set because the bare and FRLG layouts carry different masks, so a conflict in one need not exist in the other, and only the selected set's conflicts should ever matter.

Definition at line 176 of file metatile_attribute_inference.hpp.

Member Data Documentation

◆ conflicts

std::vector<InferredFieldConflict> porytiles::MetatileAttributeCandidateSet::conflicts

Definition at line 181 of file metatile_attribute_inference.hpp.

◆ fields

MetatileAttributeFieldDefinitions porytiles::MetatileAttributeCandidateSet::fields

Definition at line 179 of file metatile_attribute_inference.hpp.

◆ origin

std::string porytiles::MetatileAttributeCandidateSet::origin

Definition at line 177 of file metatile_attribute_inference.hpp.

◆ required_bytes

std::size_t porytiles::MetatileAttributeCandidateSet::required_bytes {2}

Definition at line 180 of file metatile_attribute_inference.hpp.

◆ source

std::string porytiles::MetatileAttributeCandidateSet::source

Definition at line 178 of file metatile_attribute_inference.hpp.


The documentation for this struct was generated from the following file: