Verify data table sizes with table_width and assert_table_length macros

This was discussed in #706

It also uncovered some off-by-one issues with defining some constants.

A few structs now use rsreset/_RS to define their offset constants, as discussed in #739
This commit is contained in:
Rangi
2021-03-03 22:22:41 -05:00
parent 9c17fb14c8
commit 40902ffe24
148 changed files with 608 additions and 237 deletions

View File

@@ -11,7 +11,8 @@ ENDM
; - The *Anim are defined in engine/tilesets/tileset_anims.asm
Tilesets::
; entries correspond to TILESET_* constants
; entries correspond to TILESET_* constants (see constants/tileset_constants.asm)
table_width TILESET_LENGTH, Tilesets
tileset Tileset0
tileset TilesetJohto
tileset TilesetJohtoModern
@@ -49,3 +50,4 @@ Tilesets::
tileset TilesetKabutoWordRoom
tileset TilesetOmanyteWordRoom
tileset TilesetAerodactylWordRoom
assert_table_length NUM_TILESETS + 1