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,6 @@
TrainerClassAttributes:
; entries correspond to trainer classes (see constants/trainer_constants.asm)
table_width NUM_TRAINER_ATTRIBUTES, TrainerClassAttributes
; Falkner
db NO_ITEM, NO_ITEM ; items
@@ -402,3 +403,5 @@ TrainerClassAttributes:
db 25 ; base reward
dw AI_BASIC | AI_SETUP | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS | AI_RISKY
dw CONTEXT_USE | SWITCH_SOMETIMES
assert_table_length NUM_TRAINER_CLASSES