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,9 +1,12 @@
NUM_ODD_EGGS EQU 14
prob: MACRO
prob_total = prob_total + (\1)
dw prob_total * $ffff / 100
ENDM
OddEggProbabilities:
table_width 2, OddEggProbabilities
prob_total = 0
; Pichu
prob 8
@@ -26,8 +29,10 @@ prob_total = 0
; Tyrogue
prob 10
prob 1
assert_table_length NUM_ODD_EGGS
OddEggs:
table_width NICKNAMED_MON_STRUCT_LENGTH, OddEggs
db PICHU
db NO_ITEM
@@ -392,3 +397,5 @@ OddEggs:
bigdw 9 ; SAtk
bigdw 9 ; SDef
db "EGG@@@@@@@@"
assert_table_length NUM_ODD_EGGS