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,3 +1,13 @@
; decoration attributes
const_def
const DECOATTR_TYPE
const DECOATTR_NAME
const DECOATTR_ACTION
const DECOATTR_EVENT_FLAG
const_skip ; high DECOATTR_EVENT_FLAG byte
const DECOATTR_SPRITE
DECOATTR_STRUCT_LENGTH EQU const_value
; decoration types
const_def 1
const DECO_PLANT
@@ -6,6 +16,7 @@
const DECO_POSTER
const DECO_DOLL
const DECO_BIGDOLL
NUM_DECO_TYPES EQU const_value - 1
; DecorationNames indexes (see data/decorations/names.asm)
const_def 1
@@ -51,8 +62,7 @@
const PUT_AWAY_BIG_DOLL
const SET_UP_DOLL
const PUT_AWAY_DOLL
const SET_UP_ORNAMENT
const PUT_AWAY_ORNAMENT
NUM_DECO_ACTIONS EQU const_value - 1
__deco_value__ = 0
@@ -127,3 +137,4 @@ NUM_NON_TROPHY_DECOS EQU __deco_value__
deco GOLD_TROPHY_DOLL
deco SILVER_TROPHY_DOLL
NUM_DECOS EQU __deco_value__
NUM_DECO_CATEGORIES EQU const_value - 1 - NUM_DECOS