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

The product of reconciling the project's metatile attribute schema. More...

#include <metatile_attribute_schema_reconciler.hpp>

Collaboration diagram for porytiles::LoadedMetatileAttributeSchema:
[legend]

Public Attributes

Schema schema
 The validated fields.
 
MetatileAttributeFieldDefinitions loaded_definitions
 The post-merge definition list, useful for diagnostics.
 
std::size_t attribute_bytes
 The actual attribute width.
 
std::size_t declaration_bytes
 The byte declaration width for gMetatileAttributes_* C decls.
 
std::string fields_origin
 Human-readable provenance notes.
 
std::string size_origin
 Human-readable provenance notes.
 
std::string declaration_origin
 Human-readable provenance notes.
 

Detailed Description

The product of reconciling the project's metatile attribute schema.

schema holds the validated fields, sized against attribute_bytes. loaded_definitions is the full post-merge definition list, useful for diagnostics. attribute_bytes is the byte width the schema was validated against: the explicit width knob when set, otherwise the smallest of 1, 2, or 4 bytes covering the resolved field masks. declaration_bytes is the declared element width for generated gMetatileAttributes_* C declarations (const uN / INCBIN_UN); it can differ from attribute_bytes, matching pokeemerald-expansion's FRLG build, whose attribute arrays are declared 'const u16' but read as 4-byte words. fields_origin, size_origin, and declaration_origin are human-readable notes on where the field set, the attribute width, and the declaration width came from (an explicit config or an inferred project fact).

Definition at line 35 of file metatile_attribute_schema_reconciler.hpp.

Member Data Documentation

◆ attribute_bytes

std::size_t porytiles::LoadedMetatileAttributeSchema::attribute_bytes

The actual attribute width.

Definition at line 38 of file metatile_attribute_schema_reconciler.hpp.

◆ declaration_bytes

std::size_t porytiles::LoadedMetatileAttributeSchema::declaration_bytes

The byte declaration width for gMetatileAttributes_* C decls.

Definition at line 39 of file metatile_attribute_schema_reconciler.hpp.

◆ declaration_origin

std::string porytiles::LoadedMetatileAttributeSchema::declaration_origin

Human-readable provenance notes.

Definition at line 42 of file metatile_attribute_schema_reconciler.hpp.

◆ fields_origin

std::string porytiles::LoadedMetatileAttributeSchema::fields_origin

Human-readable provenance notes.

Definition at line 40 of file metatile_attribute_schema_reconciler.hpp.

◆ loaded_definitions

MetatileAttributeFieldDefinitions porytiles::LoadedMetatileAttributeSchema::loaded_definitions

The post-merge definition list, useful for diagnostics.

Definition at line 37 of file metatile_attribute_schema_reconciler.hpp.

◆ schema

Schema porytiles::LoadedMetatileAttributeSchema::schema

The validated fields.

Definition at line 36 of file metatile_attribute_schema_reconciler.hpp.

◆ size_origin

std::string porytiles::LoadedMetatileAttributeSchema::size_origin

Human-readable provenance notes.

Definition at line 41 of file metatile_attribute_schema_reconciler.hpp.


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