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:
Rangi
2021-03-03 22:22:41 -05:00
parent 9c17fb14c8
commit 40902ffe24
148 changed files with 608 additions and 237 deletions

View File

@@ -1,5 +1,5 @@
BuenasPasswordTable:
; there are NUM_PASSWORD_CATEGORIES entries
table_width 2, BuenasPasswordTable
dw .JohtoStarters
dw .Beverages
dw .HealingItems
@@ -11,6 +11,7 @@ BuenasPasswordTable:
dw .Moves
dw .XItems
dw .RadioStations
assert_table_length NUM_PASSWORD_CATEGORIES
; string type, points, option 1, option 2, option 3
.JohtoStarters: db BUENA_MON, 10, CYNDAQUIL, TOTODILE, CHIKORITA

View File

@@ -1,5 +1,6 @@
RadioChannelSongs:
; entries correspond to radio channel ids
; entries correspond to radio channel ids (see constants/radio_constants.asm)
table_width 2, RadioChannelSongs
dw MUSIC_POKEMON_TALK
dw MUSIC_POKEMON_CENTER
dw MUSIC_TITLE
@@ -11,3 +12,4 @@ RadioChannelSongs:
dw MUSIC_POKE_FLUTE_CHANNEL
dw MUSIC_RUINS_OF_ALPH_RADIO
dw MUSIC_LAKE_OF_RAGE_ROCKET_RADIO
assert_table_length NUM_RADIO_CHANNELS

View File

@@ -1,7 +1,6 @@
; Oak's Pokémon Talk will list wild Pokémon on these maps.
OaksPKMNTalkRoutes:
; there are NUM_OAKS_POKEMON_TALK_ROUTES entries
map_id ROUTE_29
map_id ROUTE_46
map_id ROUTE_30
@@ -17,3 +16,4 @@ OaksPKMNTalkRoutes:
map_id ROUTE_45
map_id ROUTE_36
map_id ROUTE_31
.End