Verify data table and name list sizes with assertion macros

Fixes #312
This commit is contained in:
Rangi 2021-03-25 16:33:05 -04:00
parent e1f6bb5393
commit 95ec2cf039
139 changed files with 863 additions and 437 deletions

View file

@ -13,6 +13,7 @@
const A_ ; 9
const A# ; A
const B_ ; B
NUM_NOTES EQU const_value
; channel
; Audio[1|2|3]_HWChannelBaseAddresses, Audio[1|2|3]_HWChannelDisableMasks,

View file

@ -1,9 +1,36 @@
MAX_LEVEL EQU 100
NUM_MOVES EQU 4
NUM_STATS EQU 5
NUM_STAT_MODS EQU 8
NUM_DVS EQU 2
NUM_MOVES EQU 4
; VitaminStats indexes (see data/battle/stat_names.asm)
const_def
const STAT_HEALTH
const STAT_ATTACK
const STAT_DEFENSE
const STAT_SPEED
const STAT_SPECIAL
NUM_STATS EQU const_value
; StatModTextStrings indexes (see data/battle/stat_mod_names.asm)
const_def
const MOD_ATTACK
const MOD_DEFENSE
const MOD_SPEED
const MOD_SPECIAL
const MOD_ACCURACY
const MOD_EVASION
const_skip 2
NUM_STAT_MODS EQU const_value
; Moves struct fields (see data/moves/moves.asm)
rsreset
MOVE_ANIM rb
MOVE_EFFECT rb
MOVE_POWER rb
MOVE_TYPE rb
MOVE_ACC rb
MOVE_PP rb
MOVE_LENGTH EQU _RS
; D733 flags
BIT_TEST_BATTLE EQU 0

View file

@ -64,6 +64,7 @@
const CRED_FUKUI ; $3D
const CRED_CLUB ; $3E
const CRED_PAAD ; $3F
NUM_CRED_STRINGS EQU const_value
const_def -1, -1
const CRED_TEXT_FADE_MON ; $FF

View file

@ -37,3 +37,4 @@ REDRAW_ROW EQU 2
const TILEMAP_GENGAR_INTRO_3
const TILEMAP_GAME_BOY
const TILEMAP_LINK_CABLE
NUM_TILEMAPS EQU const_value

View file

@ -237,3 +237,4 @@ SHOW EQU $15
const HS_SEAFOAM_ISLANDS_B4F_BOULDER_1 ; E1
const HS_SEAFOAM_ISLANDS_B4F_BOULDER_2 ; E2
const HS_ARTICUNO ; E3 X
NUM_HS_OBJECTS EQU const_value

View file

@ -92,6 +92,9 @@ SAFARI_ROCK EQU $16 ; overload
const MAX_ETHER ; $51
const ELIXER ; $52
const MAX_ELIXER ; $53
NUM_ITEMS EQU const_value - 1
; elevator floors use item IDs
const FLOOR_B2F ; $54
const FLOOR_B1F ; $55
const FLOOR_1F ; $56
@ -106,6 +109,7 @@ SAFARI_ROCK EQU $16 ; overload
const FLOOR_10F ; $5F
const FLOOR_11F ; $60
const FLOOR_B4F ; $61
NUM_FLOORS EQU const_value - 1 - NUM_ITEMS
const_next $C4

View file

@ -266,6 +266,7 @@ FIRST_INDOOR_MAP EQU const_value
mapconst LORELEIS_ROOM, 6, 5 ; $F5
mapconst BRUNOS_ROOM, 6, 5 ; $F6
mapconst AGATHAS_ROOM, 6, 5 ; $F7
NUM_MAPS EQU const_value
; Indoor maps, such as houses, use this as the Map ID in their exit warps
; This map ID takes the player back to the last outdoor map they were on, stored in wLastMap

View file

@ -42,6 +42,7 @@ PC_ITEM_CAPACITY EQU 50
const TRADE_CANCEL_MENU ; 5
const HEAL_CANCEL_MENU ; 6
const NO_YES_MENU ; 7
NUM_TWO_OPTION_MENUS EQU const_value
; menu exit method constants for list menus and the buy/sell/quit menu
CHOSE_MENU_ITEM EQU 1 ; pressed A

View file

@ -132,6 +132,7 @@ FIRST_SE_ID EQU const_value
const SUBANIM_53
const SUBANIM_54
const SUBANIM_55
NUM_SUBANIMS EQU const_value
; types of subanimations
const_def
@ -267,6 +268,7 @@ FIRST_SE_ID EQU const_value
const FRAMEBLOCK_77
const FRAMEBLOCK_78
const FRAMEBLOCK_79
NUM_FRAMEBLOCKS EQU const_value
; base coordinates that are part of subanimations
; FrameBlockBaseCoords indexes (see data/battle_anims/base_coords.asm)
@ -448,6 +450,7 @@ FIRST_SE_ID EQU const_value
const BASECOORD_AE
const BASECOORD_AF
const BASECOORD_B0
NUM_BASECOORDS EQU const_value
; frame block modes that are part of subanimations
const_def

View file

@ -170,10 +170,8 @@
const SUPER_FANG ; a2
const SLASH ; a3
const SUBSTITUTE ; a4
NUM_ATTACKS EQU const_value - 1
const STRUGGLE ; a5
NUM_ATTACKS EQU const_value - 1
; Moves do double duty as animation identifiers.
@ -214,3 +212,5 @@ NUM_ATTACKS EQU const_value - 1
const HIDEPIC_ANIM ; monster disappears
const ROCK_ANIM ; throw rock
const BAIT_ANIM ; throw bait
NUM_ATTACK_ANIMS EQU const_value - 1

View file

@ -91,3 +91,4 @@
const LEECH_SEED_EFFECT ; $54
const SPLASH_EFFECT ; $55
const DISABLE_EFFECT ; $56
NUM_MOVE_EFFECTS EQU const_value - 1

View file

@ -70,3 +70,4 @@ SET_PAL_DEFAULT EQU $ff
const PAL_BADGE ; $22
const PAL_CAVE ; $23
const PAL_GAMEFREAK ; $24
NUM_SGB_PALS EQU const_value

View file

@ -1,3 +1,29 @@
; base data struct members (see data/pokemon/base_stats/*.asm)
rsreset
BASE_DEX_NO rb
BASE_STATS rb NUM_STATS
rsset BASE_STATS
BASE_HP rb
BASE_ATK rb
BASE_DEF rb
BASE_SPD rb
BASE_SPC rb
BASE_TYPES rw
rsset BASE_TYPES
BASE_TYPE_1 rb
BASE_TYPE_2 rb
BASE_CATCH_RATE rb
BASE_EXP rb
BASE_PIC_SIZE rb
BASE_FRONTPIC rw
BASE_BACKPIC rw
BASE_MOVES rb NUM_MOVES
BASE_GROWTH_RATE rb
BASE_TMHM rb (NUM_TM_HM + 7) / 8
rb_skip
BASE_DATA_SIZE EQU _RS
PARTY_LENGTH EQU 6
MONS_PER_BOX EQU 20
@ -39,3 +65,8 @@ EVOLUTION_SIZE EQU 4
const GROWTH_MEDIUM_SLOW
const GROWTH_FAST
const GROWTH_SLOW
NUM_GROWTH_RATES EQU const_value
; wild data (see data/wild/maps/*.asm)
NUM_WILDMONS EQU 10
WILDDATA_LENGTH EQU 1 + NUM_WILDMONS * 2

View file

@ -30,6 +30,7 @@ SLOTS_SOMEONESKEYS EQU $ff
const TRADE_FOR_DORIS
const TRADE_FOR_CRINKLES
const TRADE_FOR_SPOT
NUM_NPC_TRADES EQU const_value
; in game trade dialog sets
; InGameTradeTextPointers indexes (see engine/events/in_game_trades.asm)

View file

@ -75,3 +75,4 @@ FIRST_STILL_SPRITE EQU const_value
const SPRITE_UNUSED_GAMBLER_ASLEEP_1 ; $46
const SPRITE_UNUSED_GAMBLER_ASLEEP_2 ; $47
const SPRITE_GAMBLER_ASLEEP ; $48
NUM_SPRITES EQU const_value - 1

View file

@ -25,3 +25,4 @@
const CLUB ; 21
const FACILITY ; 22
const PLATEAU ; 23
NUM_TILESETS EQU const_value

View file

@ -62,3 +62,4 @@ ENDM
trainer_const CHANNELER ; $2D
trainer_const AGATHA ; $2E
trainer_const LANCE ; $2F
NUM_TRAINERS EQU const_value - 1

View file

@ -22,3 +22,5 @@ SPECIAL EQU const_value
const PSYCHIC_TYPE ; $18
const ICE ; $19
const DRAGON ; $1A
NUM_TYPES EQU const_value