Skip to content

Standardize on "block" or "metatile" terminology? #1171

@Rangi42

Description

@Rangi42

Right now we use both of these terms inconsistently for the 4x4-tile 32x32-px units that make up maps' .blk data.

  • "Block" was the binary hacking term before the disassemblies. It's most visibly used in the changeblock script command, the data/maps/blocks.asm file, and referenced by the ".blk" extension. Also pokered still refers to "blocksets" and ".bst" files.
  • "Metatile" is the more general term for units of NxN tiles that are themselves tileable (e.g. on the NES and other retro platforms). It's most visibly used in the "metatiles.bin" files.

Of course both terms also appear in routine names (GetBlockLocation vs LoadMetatiles), WRAM labels (wOverworldMapBlocks vs wPlayerMetatileX), data labels (CutTreeBlockPointers), constants (METATILE_WIDTH), and some wiki tutorials. So there would be a lot to update in any case.

Furthermore, Polished Map would need updating to be compatible with a change in either direction (e.g. if pokecrystal renamed metatiles.bin to blocks.bin or .bst, or renamed wOverworldMapBlocks to wOverworldMapMetatiles). It currently refers to "blocks" as the squares making up the map, and "metatiles" as the squares making up the metatileset. This distinction is even less clear in the context of the whole game instead of a map editor, but maybe we could also use it here.

Note that we've changed terms from the binary hacking days before, and macros/legacy.asm exists to make that easier. However, both terms have now settled in as familiar to disassembly hackers, so staying inconsistent is also an option.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions