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,5 @@
|
||||
decoration: MACRO
|
||||
; type, name, command, event flag, tile/sprite
|
||||
; type, name, action, event flag, tile/sprite
|
||||
db \1, \2, \3
|
||||
dw \4
|
||||
db \5
|
||||
@@ -7,6 +7,7 @@ ENDM
|
||||
|
||||
DecorationAttributes:
|
||||
; entries correspond to deco constants
|
||||
table_width DECOATTR_STRUCT_LENGTH, DecorationAttributes
|
||||
decoration DECO_PLANT, 0, 0, EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1, 0
|
||||
decoration DECO_PLANT, PUT_IT_AWAY, PUT_AWAY_BED, EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1, 0
|
||||
decoration DECO_BED, FEATHERY_BED, SET_UP_BED, EVENT_DECO_BED_1, $1b
|
||||
@@ -60,3 +61,4 @@ DecorationAttributes:
|
||||
decoration DECO_DOLL, TENTACOOL, SET_UP_DOLL, EVENT_DECO_TENTACOOL_DOLL, SPRITE_TENTACOOL
|
||||
decoration DECO_PLANT, GOLD_TROPHY, SET_UP_DOLL, EVENT_DECO_GOLD_TROPHY, SPRITE_GOLD_TROPHY
|
||||
decoration DECO_PLANT, SILVER_TROPHY, SET_UP_DOLL, EVENT_DECO_SILVER_TROPHY, SPRITE_SILVER_TROPHY
|
||||
assert_table_length NUM_DECOS + NUM_DECO_CATEGORIES + 1
|
||||
|
@@ -1,5 +1,7 @@
|
||||
DecorationIDs:
|
||||
; see constants/deco_constants.asm
|
||||
table_width 1, DecorationIDs
|
||||
|
||||
db DECO_FEATHERY_BED ; 2
|
||||
db DECO_PINK_BED ; 3
|
||||
db DECO_POLKADOT_BED ; 4
|
||||
@@ -52,4 +54,5 @@ DecorationIDs:
|
||||
db DECO_GOLD_TROPHY_DOLL ; 33
|
||||
db DECO_SILVER_TROPHY_DOLL ; 34
|
||||
|
||||
assert_table_length NUM_DECOS
|
||||
db -1 ; end
|
||||
|
Reference in New Issue
Block a user