You've already forked pokecrystal-board
mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2025-04-09 05:44:44 -07:00
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:
@@ -1,5 +1,6 @@
|
||||
BattleAnimFrameData:
|
||||
; entries correspond to BATTLEANIMFRAMESET_* constants
|
||||
table_width 2, BattleAnimFrameData
|
||||
dw .Frameset_00 ; BATTLEANIMFRAMESET_00
|
||||
dw .Frameset_01 ; BATTLEANIMFRAMESET_01
|
||||
dw .Frameset_02 ; BATTLEANIMFRAMESET_02
|
||||
@@ -185,6 +186,7 @@ BattleAnimFrameData:
|
||||
dw .Frameset_b6 ; BATTLEANIMFRAMESET_B6
|
||||
dw .Frameset_b7 ; BATTLEANIMFRAMESET_B7
|
||||
dw .Frameset_b8 ; BATTLEANIMFRAMESET_B8
|
||||
assert_table_length NUM_BATTLEANIMFRAMESETS
|
||||
|
||||
.Frameset_00:
|
||||
frame BATTLEANIMOAMSET_00, 6
|
||||
|
@@ -1,5 +1,6 @@
|
||||
BattleAnimOAMData:
|
||||
; entries correspond to BATTLEANIMOAMSET_* constants
|
||||
table_width 4, BattleAnimOAMData
|
||||
; vtile offset, data length, data pointer
|
||||
dbbw $00, 16, .OAMData_00 ; BATTLEANIMOAMSET_00
|
||||
dbbw $04, 9, .OAMData_01 ; BATTLEANIMOAMSET_01
|
||||
@@ -217,6 +218,7 @@ BattleAnimOAMData:
|
||||
dbbw $00, 6, .OAMData_d5 ; BATTLEANIMOAMSET_D5
|
||||
dbbw $00, 14, .OAMData_d6 ; BATTLEANIMOAMSET_D6
|
||||
dbbw $00, 12, .OAMData_d7 ; BATTLEANIMOAMSET_D7
|
||||
assert_table_length NUM_BATTLEANIMOAMSETS
|
||||
|
||||
.OAMData_11:
|
||||
dbsprite -1, -1, 4, 0, $00, $0
|
||||
|
@@ -6,6 +6,7 @@ ENDM
|
||||
|
||||
AnimObjGFX:
|
||||
; entries correspond to ANIM_GFX_* constants
|
||||
table_width 4, AnimObjGFX
|
||||
anim_obj_gfx 0, AnimObj00GFX
|
||||
anim_obj_gfx 21, AnimObjHitGFX
|
||||
anim_obj_gfx 6, AnimObjCutGFX
|
||||
@@ -48,3 +49,4 @@ AnimObjGFX:
|
||||
anim_obj_gfx 24, AnimObjAeroblastGFX
|
||||
anim_obj_gfx 1, NULL
|
||||
anim_obj_gfx 1, NULL
|
||||
assert_table_length NUM_ANIM_GFX + 1
|
||||
|
@@ -18,6 +18,7 @@ ENDM
|
||||
|
||||
BattleAnimObjects:
|
||||
; entries correspond to ANIM_OBJ_* constants
|
||||
table_width BATTLEANIMOBJ_LENGTH, BattleAnimObjects
|
||||
; ANIM_OBJ_HIT_BIG_YFIX
|
||||
battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_00, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_HIT
|
||||
; ANIM_OBJ_HIT_YFIX
|
||||
@@ -394,3 +395,4 @@ BattleAnimObjects:
|
||||
battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B7, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_ENEMY, ANIM_GFX_PLAYERHEAD
|
||||
; ANIM_OBJ_PLAYERHEAD_2ROW
|
||||
battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B8, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_PLAYER, ANIM_GFX_ENEMYFEET
|
||||
assert_table_length NUM_ANIM_OBJS
|
||||
|
Reference in New Issue
Block a user