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 @@
|
||||
BattleAnimations::
|
||||
; entries correspond to constants/move_constants.asm
|
||||
table_width 2, BattleAnimations
|
||||
dw BattleAnim_0
|
||||
dw BattleAnim_Pound
|
||||
dw BattleAnim_KarateChop
|
||||
@@ -252,10 +253,12 @@ BattleAnimations::
|
||||
dw BattleAnim_RockSmash
|
||||
dw BattleAnim_Whirlpool
|
||||
dw BattleAnim_BeatUp
|
||||
assert_table_length NUM_ATTACKS + 1
|
||||
dw BattleAnim_252
|
||||
dw BattleAnim_253
|
||||
dw BattleAnim_254
|
||||
dw BattleAnim_SweetScent2
|
||||
assert_table_length $100
|
||||
; $100
|
||||
dw BattleAnim_ThrowPokeBall
|
||||
dw BattleAnim_SendOutMon
|
||||
@@ -279,6 +282,7 @@ BattleAnimations::
|
||||
dw BattleAnim_Wobble
|
||||
dw BattleAnim_Shake
|
||||
dw BattleAnim_HitConfusion
|
||||
assert_table_length NUM_BATTLE_ANIMS + 1
|
||||
|
||||
BattleAnim_0:
|
||||
BattleAnim_252:
|
||||
|
@@ -1,5 +1,6 @@
|
||||
MoveDescriptions::
|
||||
; entries correspond to move ids (see constants/move_constants.asm)
|
||||
table_width 2, MoveDescriptions
|
||||
dw PoundDescription
|
||||
dw KarateChopDescription
|
||||
dw DoubleslapDescription
|
||||
@@ -251,11 +252,13 @@ MoveDescriptions::
|
||||
dw RockSmashDescription
|
||||
dw WhirlpoolDescription
|
||||
dw BeatUpDescription
|
||||
assert_table_length NUM_ATTACKS
|
||||
dw MoveFCDescription
|
||||
dw MoveFDDescription
|
||||
dw MoveFEDescription
|
||||
dw MoveFFDescription
|
||||
dw Move00Description
|
||||
assert_table_length $100
|
||||
|
||||
MoveFCDescription:
|
||||
MoveFDDescription:
|
||||
|
@@ -1,5 +1,6 @@
|
||||
MoveEffectsPointers:
|
||||
; entries correspond to EFFECT_* constants
|
||||
table_width 2, MoveEffectsPointers
|
||||
dw NormalHit
|
||||
dw DoSleep
|
||||
dw PoisonHit
|
||||
@@ -157,3 +158,4 @@ MoveEffectsPointers:
|
||||
dw BeatUp
|
||||
dw Fly
|
||||
dw DefenseCurl
|
||||
assert_table_length NUM_MOVE_EFECTS
|
||||
|
@@ -11,7 +11,8 @@ move: MACRO
|
||||
ENDM
|
||||
|
||||
Moves:
|
||||
; entries correspond to constants/move_constants.asm
|
||||
; entries correspond to move ids (see constants/move_constants.asm)
|
||||
table_width MOVE_LENGTH, Moves
|
||||
move POUND, EFFECT_NORMAL_HIT, 40, NORMAL, 100, 35, 0
|
||||
move KARATE_CHOP, EFFECT_NORMAL_HIT, 50, FIGHTING, 100, 25, 0
|
||||
move DOUBLESLAP, EFFECT_MULTI_HIT, 15, NORMAL, 85, 10, 0
|
||||
@@ -263,3 +264,4 @@ Moves:
|
||||
move ROCK_SMASH, EFFECT_DEFENSE_DOWN_HIT, 20, FIGHTING, 100, 15, 50
|
||||
move WHIRLPOOL, EFFECT_TRAP_TARGET, 15, WATER, 70, 15, 0
|
||||
move BEAT_UP, EFFECT_BEAT_UP, 10, DARK, 100, 10, 0
|
||||
assert_table_length NUM_ATTACKS
|
||||
|
@@ -3,6 +3,7 @@
|
||||
|
||||
TMHMMoves:
|
||||
; entries correspond to *_TMNUM constants (see constants/item_constants.asm)
|
||||
table_width 1, TMHMMoves
|
||||
|
||||
; TMs
|
||||
n = 1
|
||||
@@ -43,4 +44,6 @@ PURGE MOVE_FOR_MT
|
||||
n = n + 1
|
||||
endr
|
||||
|
||||
assert_table_length NUM_TM_HM_TUTOR
|
||||
|
||||
db 0 ; end
|
||||
|
Reference in New Issue
Block a user