summaryrefslogtreecommitdiff
path: root/home/battle_vars.asm
diff options
context:
space:
mode:
authorRangi <remy.oukaour+rangi42@gmail.com>2021-03-03 22:22:41 -0500
committerRangi <remy.oukaour+rangi42@gmail.com>2021-03-05 16:10:25 -0500
commit5454e1e0deefc6b4fc8c4de0e63314052fceebc0 (patch)
tree565805b252fa596aab3f80b3128ebc91b1fae540 /home/battle_vars.asm
parentb423e94be700cc6434465cf1dcccf0b677489192 (diff)
Verify data table sizes with table_width and assert_table_length macros
It also uncovered some off-by-one issues with defining some constants. A few structs now use rsreset/_RS to define their offset constants.
Diffstat (limited to 'home/battle_vars.asm')
-rw-r--r--home/battle_vars.asm4
1 files changed, 4 insertions, 0 deletions
diff --git a/home/battle_vars.asm b/home/battle_vars.asm
index 2ed86484..70567ce7 100644
--- a/home/battle_vars.asm
+++ b/home/battle_vars.asm
@@ -49,6 +49,7 @@ GetBattleVarAddr::
BattleVarPairs:
; entries correspond to BATTLE_VARS_* constants
+ table_width 2, BattleVarPairs
dw .Substatus1
dw .Substatus2
dw .Substatus3
@@ -70,6 +71,7 @@ BattleVarPairs:
dw .LastCounterOpp
dw .LastMove
dw .LastMoveOpp
+ assert_table_length NUM_BATTLE_VARS
; player enemy
.Substatus1: db PLAYER_SUBSTATUS_1, ENEMY_SUBSTATUS_1
@@ -96,6 +98,7 @@ BattleVarPairs:
BattleVarLocations:
; entries correspond to PLAYER_* and ENEMY_* constants
+ table_width 2 + 2, BattleVarLocations
dw wPlayerSubStatus1, wEnemySubStatus1
dw wPlayerSubStatus2, wEnemySubStatus2
dw wPlayerSubStatus3, wEnemySubStatus3
@@ -109,3 +112,4 @@ BattleVarLocations:
dw wCurPlayerMove, wCurEnemyMove
dw wLastPlayerCounterMove, wLastEnemyCounterMove
dw wLastPlayerMove, wLastEnemyMove
+ assert_table_length NUM_BATTLE_VAR_LOCATION_PAIRS