diff options
| author | Rangi <remy.oukaour+rangi42@gmail.com> | 2021-03-03 22:22:41 -0500 |
|---|---|---|
| committer | Rangi <remy.oukaour+rangi42@gmail.com> | 2021-03-05 16:10:25 -0500 |
| commit | 5454e1e0deefc6b4fc8c4de0e63314052fceebc0 (patch) | |
| tree | 565805b252fa596aab3f80b3128ebc91b1fae540 /data/sprites | |
| parent | b423e94be700cc6434465cf1dcccf0b677489192 (diff) | |
Verify data table sizes with table_width and assert_table_length macros
It also uncovered some off-by-one issues with defining some constants.
A few structs now use rsreset/_RS to define their offset constants.
Diffstat (limited to 'data/sprites')
| -rw-r--r-- | data/sprites/emotes.asm | 2 | ||||
| -rw-r--r-- | data/sprites/facings.asm | 9 | ||||
| -rw-r--r-- | data/sprites/map_objects.asm | 3 | ||||
| -rw-r--r-- | data/sprites/sprite_mons.asm | 2 | ||||
| -rw-r--r-- | data/sprites/sprites.asm | 2 |
5 files changed, 13 insertions, 5 deletions
diff --git a/data/sprites/emotes.asm b/data/sprites/emotes.asm index 2371c462..32f4c259 100644 --- a/data/sprites/emotes.asm +++ b/data/sprites/emotes.asm @@ -7,6 +7,7 @@ ENDM Emotes: ; entries correspond to EMOTE_* constants + table_width EMOTE_LENGTH, Emotes emote ShockEmote, 4, $f8 emote QuestionEmote, 4, $f8 emote HappyEmote, 4, $f8 @@ -19,3 +20,4 @@ Emotes: emote FishingRodGFX, 2, $fc emote BoulderDustGFX, 2, $fe emote GrassRustleGFX, 1, $fe + assert_table_length NUM_EMOTES diff --git a/data/sprites/facings.asm b/data/sprites/facings.asm index ccf91082..405194f6 100644 --- a/data/sprites/facings.asm +++ b/data/sprites/facings.asm @@ -1,5 +1,6 @@ Facings: -; entries correspond to FACING_* constants +; entries correspond to FACING_* constants (see constants/map_object_constants.asm) + table_width 2, Facings dw FacingStepDown0 dw FacingStepDown1 dw FacingStepDown2 @@ -32,10 +33,8 @@ Facings: dw FacingBoulderDust2 dw FacingGrass1 dw FacingGrass2 -.End - dw 0 - -NUM_FACINGS EQU (Facings.End - Facings) / 2 + assert_table_length NUM_FACINGS + dw 0 ; end ; Tables used as a reference to transform OAM data. diff --git a/data/sprites/map_objects.asm b/data/sprites/map_objects.asm index 05b2e084..60a71813 100644 --- a/data/sprites/map_objects.asm +++ b/data/sprites/map_objects.asm @@ -1,5 +1,6 @@ SpriteMovementData:: ; entries correspond to SPRITEMOVEDATA_* constants + table_width NUM_SPRITEMOVEDATA_FIELDS, SpriteMovementData ; SPRITEMOVEDATA_00 db SPRITEMOVEFN_00 ; movement function @@ -304,3 +305,5 @@ SpriteMovementData:: db 0 ; flags1 db 0 ; flags2 db 0 ; palette flags + + assert_table_length NUM_SPRITEMOVEDATA + 1 diff --git a/data/sprites/sprite_mons.asm b/data/sprites/sprite_mons.asm index 3d53804d..9d3e62ac 100644 --- a/data/sprites/sprite_mons.asm +++ b/data/sprites/sprite_mons.asm @@ -1,5 +1,6 @@ SpriteMons: ; entries correspond to SPRITE_* constants past SPRITE_POKEMON + table_width 1, SpriteMons db UNOWN db GEODUDE db GROWLITHE @@ -35,3 +36,4 @@ SpriteMons: db GYARADOS db LUGIA db HO_OH + assert_table_length NUM_POKEMON_SPRITES diff --git a/data/sprites/sprites.asm b/data/sprites/sprites.asm index b3035fe2..c0b5a3a1 100644 --- a/data/sprites/sprites.asm +++ b/data/sprites/sprites.asm @@ -6,6 +6,7 @@ ENDM OverworldSprites: ; entries correspond to SPRITE_* constants + table_width NUM_SPRITEDATA_FIELDS, OverworldSprites overworld_sprite ChrisSpriteGFX, 12, WALKING_SPRITE, PAL_OW_RED overworld_sprite ChrisBikeSpriteGFX, 12, WALKING_SPRITE, PAL_OW_RED overworld_sprite GameboyKidSpriteGFX, 12, STANDING_SPRITE, PAL_OW_GREEN @@ -101,3 +102,4 @@ OverworldSprites: overworld_sprite FruitTreeSpriteGFX, 4, STILL_SPRITE, PAL_OW_TREE overworld_sprite GoldTrophySpriteGFX, 4, STILL_SPRITE, PAL_OW_BROWN overworld_sprite SilverTrophySpriteGFX, 4, STILL_SPRITE, PAL_OW_SILVER + assert_table_length NUM_OVERWORLD_SPRITES |
