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:
@@ -1305,7 +1305,9 @@ MapObjectPals::
|
||||
INCLUDE "gfx/overworld/npc_sprites.pal"
|
||||
|
||||
RoofPals:
|
||||
table_width PAL_COLOR_SIZE * 2 * 2, RoofPals
|
||||
INCLUDE "gfx/tilesets/roofs.pal"
|
||||
assert_table_length NUM_MAP_GROUPS + 1
|
||||
|
||||
DiplomaPalettes:
|
||||
INCLUDE "gfx/diploma/diploma.pal"
|
||||
|
@@ -311,7 +311,7 @@ GetTrainerPic:
|
||||
ld a, [wTrainerClass]
|
||||
and a
|
||||
ret z
|
||||
cp NUM_TRAINER_CLASSES
|
||||
cp NUM_TRAINER_CLASSES + 1
|
||||
ret nc
|
||||
call WaitBGMap
|
||||
xor a
|
||||
|
@@ -12,7 +12,8 @@ DoAnimFrame:
|
||||
jp hl
|
||||
|
||||
.Jumptable:
|
||||
; entries correspond to SPRITE_ANIM_SEQ_* constants
|
||||
; entries correspond to SPRITE_ANIM_SEQ_* constants (see constants/sprite_anim_constants.asm)
|
||||
table_width 2, DoAnimFrame.Jumptable
|
||||
dw AnimSeq_Null
|
||||
dw AnimSeq_PartyMon
|
||||
dw AnimSeq_PartyMonSwitch
|
||||
@@ -48,6 +49,7 @@ DoAnimFrame:
|
||||
dw AnimSeq_IntroUnown
|
||||
dw AnimSeq_IntroUnownF
|
||||
dw AnimSeq_IntroSuicuneAway
|
||||
assert_table_length NUM_SPRITE_ANIM_SEQS
|
||||
|
||||
AnimSeq_Null:
|
||||
ret
|
||||
|
Reference in New Issue
Block a user