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

@ -1,7 +1,6 @@
BaseStats::
MonBaseStats::
table_width BASE_DATA_SIZE, BaseStats
INCLUDE "data/pokemon/base_stats/bulbasaur.asm"
MonBaseStatsEnd::
INCLUDE "data/pokemon/base_stats/ivysaur.asm"
INCLUDE "data/pokemon/base_stats/venusaur.asm"
INCLUDE "data/pokemon/base_stats/charmander.asm"
@ -151,5 +150,4 @@ INCLUDE "data/pokemon/base_stats/dratini.asm"
INCLUDE "data/pokemon/base_stats/dragonair.asm"
INCLUDE "data/pokemon/base_stats/dragonite.asm"
INCLUDE "data/pokemon/base_stats/mewtwo.asm"
BaseStatsEnd::
assert BaseStatsEnd - BaseStats == (wMonHeaderEnd - wMonHeader) * (NUM_POKEMON - 1) ; discount Mew
assert_table_length NUM_POKEMON - 1 ; discount Mew

View file

@ -4,6 +4,7 @@ mon_cry: MACRO
ENDM
CryData::
table_width 3, CryData
; base cry, pitch, length
mon_cry SFX_CRY_11, $00, $80 ; Rhydon
mon_cry SFX_CRY_03, $00, $80 ; Kangaskhan
@ -195,3 +196,4 @@ CryData::
mon_cry SFX_CRY_21, $55, $01 ; Bellsprout
mon_cry SFX_CRY_25, $44, $20 ; Weepinbell
mon_cry SFX_CRY_25, $66, $CC ; Victreebel
assert_table_length NUM_POKEMON_INDEXES

View file

@ -1,4 +1,5 @@
PokedexEntryPointers:
table_width 2, PokedexEntryPointers
dw RhydonDexEntry
dw KangaskhanDexEntry
dw NidoranMDexEntry
@ -189,6 +190,7 @@ PokedexEntryPointers:
dw BellsproutDexEntry
dw WeepinbellDexEntry
dw VictreebelDexEntry
assert_table_length NUM_POKEMON_INDEXES
; string: species name
; height in feet, inches

View file

@ -1,4 +1,5 @@
PokedexOrder:
table_width 1, PokedexOrder
db DEX_RHYDON
db DEX_KANGASKHAN
db DEX_NIDORAN_M
@ -189,3 +190,4 @@ PokedexOrder:
db DEX_BELLSPROUT
db DEX_WEEPINBELL
db DEX_VICTREEBEL
assert_table_length NUM_POKEMON_INDEXES

View file

@ -2,6 +2,7 @@
; The max number of evolutions per monster is MAX_EVOLUTIONS
EvosMovesPointerTable:
table_width 2, EvosMovesPointerTable
dw RhydonEvosMoves
dw KangaskhanEvosMoves
dw NidoranMEvosMoves
@ -192,6 +193,7 @@ EvosMovesPointerTable:
dw BellsproutEvosMoves
dw WeepinbellEvosMoves
dw VictreebelEvosMoves
assert_table_length NUM_POKEMON_INDEXES
RhydonEvosMoves:
; Evolutions

View file

@ -1,4 +1,5 @@
MonPartyData:
table_width 1, MonPartyData
dn ICON_GRASS, ICON_GRASS ; Bulbasaur / Ivysaur
dn ICON_GRASS, ICON_MON ; Venusaur / Charmander
dn ICON_MON, ICON_MON ; Charmeleon / Charizard
@ -75,3 +76,4 @@ MonPartyData:
dn ICON_SNAKE, ICON_SNAKE ; Dratini / Dragonair
dn ICON_SNAKE, ICON_MON ; Dragonite / Mewtwo
dn ICON_MON, 0 ; Mew / padding
assert_table_length (NUM_POKEMON + 1) / 2

View file

@ -1,4 +1,5 @@
MonsterNames::
table_width NAME_LENGTH - 1, MonsterNames
db "RHYDON@@@@"
db "KANGASKHAN"
db "NIDORAN♂@@"
@ -189,3 +190,4 @@ MonsterNames::
db "BELLSPROUT"
db "WEEPINBELL"
db "VICTREEBEL"
assert_table_length NUM_POKEMON_INDEXES

View file

@ -1,4 +1,5 @@
MonsterPalettes:
table_width 1, MonsterPalettes
db PAL_MEWMON ; MISSINGNO
db PAL_GREENMON ; BULBASAUR
db PAL_GREENMON ; IVYSAUR
@ -151,3 +152,4 @@ MonsterPalettes:
db PAL_BROWNMON ; DRAGONITE
db PAL_MEWMON ; MEWTWO
db PAL_MEWMON ; MEW
assert_table_length NUM_POKEMON + 1