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

@@ -1,5 +1,6 @@
SpriteAnimFrameData:
; entries correspond to SPRITE_ANIM_FRAMESET_* constants
; entries correspond to SPRITE_ANIM_FRAMESET_* constants (see constants/sprite_anim_constants.asm)
table_width 2, SpriteAnimFrameData
dw .Frameset_00
dw .Frameset_PartyMon
dw .Frameset_PartyMonWithMail
@@ -66,6 +67,7 @@ SpriteAnimFrameData:
dw .Frameset_IntroUnownF
dw .Frameset_CelebiLeft
dw .Frameset_CelebiRight
assert_table_length NUM_SPRITE_ANIM_FRAMESETS
.Frameset_00:
frame SPRITE_ANIM_OAMSET_RED_WALK_1, 32