From 3fc06b0f9da7ef993cb75315c5b2b168a3d6a3cf Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Tue, 2 Jan 2018 20:35:57 -0500 Subject: [PATCH] Use constants --- constants/map_data_constants.asm | 4 +++- constants/sprite_anim_constants.asm | 2 ++ constants/wram_constants.asm | 3 --- engine/sprites.asm | 18 +++++++++--------- 4 files changed, 14 insertions(+), 13 deletions(-) diff --git a/constants/map_data_constants.asm b/constants/map_data_constants.asm index 5a1ec6ede..3d153c63b 100644 --- a/constants/map_data_constants.asm +++ b/constants/map_data_constants.asm @@ -102,7 +102,9 @@ const_value set 1 const OBJECT_1E ; 1e const OBJECT_1F ; 1f const OBJECT_RANGE ; 20 -; 33-39 are not used + ; 21-27 are not used +OBJECT_STRUCT_LENGTH EQU 40 +NUM_OBJECT_STRUCTS EQU 13 ; see ObjectStructs ; map_object struct members (see macros/wram.asm) const_def diff --git a/constants/sprite_anim_constants.asm b/constants/sprite_anim_constants.asm index 1f718ace7..4e88afdf8 100644 --- a/constants/sprite_anim_constants.asm +++ b/constants/sprite_anim_constants.asm @@ -16,6 +16,8 @@ const SPRITEANIMSTRUCT_0D ; d const SPRITEANIMSTRUCT_0E ; e const SPRITEANIMSTRUCT_0F ; f +SPRITEANIMSTRUCT_LENGTH EQU const_value +NUM_SPRITE_ANIM_STRUCTS EQU 10 ; see wSpriteAnimationStructs ; SpriteAnimSeqData indexes (see data/sprite_anims/sequences.asm) const_def diff --git a/constants/wram_constants.asm b/constants/wram_constants.asm index 8cf06db06..f2cdf7039 100644 --- a/constants/wram_constants.asm +++ b/constants/wram_constants.asm @@ -116,9 +116,6 @@ PLAYER_SKATE EQU 2 PLAYER_SURF EQU 4 PLAYER_SURF_PIKA EQU 8 -OBJECT_STRUCT_LENGTH EQU 40 -NUM_OBJECT_STRUCTS EQU 13 - ; After-Champion Spawn SPAWN_LANCE EQU 1 SPAWN_RED EQU 2 diff --git a/engine/sprites.asm b/engine/sprites.asm index e1aad4832..740c3ef68 100755 --- a/engine/sprites.asm +++ b/engine/sprites.asm @@ -36,7 +36,7 @@ PlaySpriteAnimations: ; 8cf69 DoNextFrameForAllSprites: ; 8cf7a ld hl, wSpriteAnimationStructs - ld e, 10 ; There are 10 structs here. + ld e, NUM_SPRITE_ANIM_STRUCTS .loop ld a, [hl] @@ -53,7 +53,7 @@ DoNextFrameForAllSprites: ; 8cf7a jr c, .done .next - ld bc, $10 + ld bc, SPRITEANIMSTRUCT_LENGTH add hl, bc dec e jr nz, .loop @@ -76,7 +76,7 @@ DoNextFrameForAllSprites: ; 8cf7a DoNextFrameForFirst16Sprites: ; 8cfa8 (23:4fa8) ld hl, wSpriteAnimationStructs - ld e, 10 + ld e, NUM_SPRITE_ANIM_STRUCTS .loop ld a, [hl] @@ -93,7 +93,7 @@ DoNextFrameForFirst16Sprites: ; 8cfa8 (23:4fa8) jr c, .done .next - ld bc, $10 + ld bc, SPRITEANIMSTRUCT_LENGTH add hl, bc dec e jr nz, .loop @@ -119,12 +119,12 @@ InitSpriteAnimStruct:: ; 8cfd6 push de push af ld hl, wSpriteAnimationStructs - ld e, 10 + ld e, NUM_SPRITE_ANIM_STRUCTS .loop ld a, [hl] and a jr z, .found - ld bc, $10 + ld bc, SPRITEANIMSTRUCT_LENGTH add hl, bc dec e jr nz, .loop @@ -222,8 +222,8 @@ DeinitializeSprite: ; 8d036 DeinitializeAllSprites: ; 8d03d (23:503d) ; Clear the index field of every struct in the wSpriteAnimationStructs array. ld hl, wSpriteAnimationStructs - ld bc, $10 - ld e, 10 + ld bc, SPRITEANIMSTRUCT_LENGTH + ld e, NUM_SPRITE_ANIM_STRUCTS xor a .loop ld [hl], a @@ -391,7 +391,7 @@ GetSpriteAnimVTile: ; 8d109 push bc ld hl, wSpriteAnimDict ld b, a - ld c, 10 + ld c, NUM_SPRITE_ANIM_STRUCTS .loop ld a, [hli] cp b