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,4 @@
DoPlayerMovement::
call .GetDPad
ld a, movement_step_sleep
ld [wMovementAnimation], a
@@ -12,7 +11,6 @@ DoPlayerMovement::
ret
.GetDPad:
ldh a, [hJoyDown]
ld [wCurInput], a
@@ -469,7 +467,8 @@ DoPlayerMovement::
ret
.Steps:
; entries correspond to STEP_* constants
; entries correspond to STEP_* constants (see constants/map_object_constants.asm)
table_width 2, DoPlayerMovement.Steps
dw .SlowStep
dw .NormalStep
dw .FastStep
@@ -478,6 +477,7 @@ DoPlayerMovement::
dw .TurningStep
dw .BackJumpStep
dw .FinishFacing
assert_table_length NUM_STEPS
.SlowStep:
slow_step DOWN