From 41f39211ca3448ee79a6c65757bd703f247442fd Mon Sep 17 00:00:00 2001 From: mid-kid Date: Thu, 22 Nov 2018 12:32:24 +0100 Subject: [PATCH] Identified another user of wBattleAnimTemp QueueBattleAnimation loads an object using these wram addresses. Usually populated by the anim_obj command, but in a couple of cases also manually. --- engine/battle_anims/anim_commands.asm | 8 +++---- engine/battle_anims/bg_effects.asm | 32 +++++++++++++-------------- engine/battle_anims/core.asm | 8 +++---- wram.asm | 6 +++++ 4 files changed, 30 insertions(+), 24 deletions(-) diff --git a/engine/battle_anims/anim_commands.asm b/engine/battle_anims/anim_commands.asm index fcf61c43f..0d1c29da5 100644 --- a/engine/battle_anims/anim_commands.asm +++ b/engine/battle_anims/anim_commands.asm @@ -595,13 +595,13 @@ BattleAnimCmd_IfParamAnd: BattleAnimCmd_Obj: ; index, x, y, param call GetBattleAnimByte - ld [wBattleAnimTemp0], a + ld [wBattleObjectTempID], a call GetBattleAnimByte - ld [wBattleAnimTemp1], a + ld [wBattleObjectTempXCoord], a call GetBattleAnimByte - ld [wBattleAnimTemp2], a + ld [wBattleObjectTempYCoord], a call GetBattleAnimByte - ld [wBattleAnimTemp3], a + ld [wBattleObjectTemp0b], a call QueueBattleAnimation ret diff --git a/engine/battle_anims/bg_effects.asm b/engine/battle_anims/bg_effects.asm index 6aaa85189..28fe1bc6f 100644 --- a/engine/battle_anims/bg_effects.asm +++ b/engine/battle_anims/bg_effects.asm @@ -427,20 +427,20 @@ BattleBGEffect_FeetFollow: call BGEffect_CheckBattleTurn jr nz, .player_turn ld a, ANIM_OBJ_PLAYERFEETFOLLOW - ld [wBattleAnimTemp0], a - ld a, 16 * 8 + 4 + ld [wBattleObjectTempID], a + ld a, 16 * TILE_WIDTH + 4 jr .okay .player_turn ld a, ANIM_OBJ_ENEMYFEETFOLLOW - ld [wBattleAnimTemp0], a - ld a, 6 * 8 + ld [wBattleObjectTempID], a + ld a, 6 * TILE_WIDTH .okay - ld [wBattleAnimTemp1], a - ld a, 8 * 8 - ld [wBattleAnimTemp2], a + ld [wBattleObjectTempXCoord], a + ld a, 8 * TILE_WIDTH + ld [wBattleObjectTempYCoord], a xor a - ld [wBattleAnimTemp3], a + ld [wBattleObjectTemp0b], a call _QueueBattleAnimation pop bc ret @@ -494,20 +494,20 @@ BattleBGEffect_HeadFollow: call BGEffect_CheckBattleTurn jr nz, .player_turn ld a, ANIM_OBJ_PLAYERHEADFOLLOW - ld [wBattleAnimTemp0], a - ld a, 16 * 8 + 4 + ld [wBattleObjectTempID], a + ld a, 16 * TILE_WIDTH + 4 jr .okay .player_turn ld a, ANIM_OBJ_ENEMYHEADFOLLOW - ld [wBattleAnimTemp0], a - ld a, 6 * 8 + ld [wBattleObjectTempID], a + ld a, 6 * TILE_WIDTH .okay - ld [wBattleAnimTemp1], a - ld a, 8 * 8 - ld [wBattleAnimTemp2], a + ld [wBattleObjectTempXCoord], a + ld a, 8 * TILE_WIDTH + ld [wBattleObjectTempYCoord], a xor a - ld [wBattleAnimTemp3], a + ld [wBattleObjectTemp0b], a call _QueueBattleAnimation pop bc ret diff --git a/engine/battle_anims/core.asm b/engine/battle_anims/core.asm index b213a9f82..b71303afc 100644 --- a/engine/battle_anims/core.asm +++ b/engine/battle_anims/core.asm @@ -27,7 +27,7 @@ DeinitBattleAnimation: ret InitBattleAnimation: - ld a, [wBattleAnimTemp0] + ld a, [wBattleObjectTempID] ld e, a ld d, 0 ld hl, BattleAnimObjects @@ -58,14 +58,14 @@ endr ld a, [de] call GetBattleAnimTileOffset ld [hli], a ; Tile ID - ld a, [wBattleAnimTemp1] + ld a, [wBattleObjectTempXCoord] ld [hli], a ; X Coord - ld a, [wBattleAnimTemp2] + ld a, [wBattleObjectTempYCoord] ld [hli], a ; Y Coord xor a ld [hli], a ; X Offset ld [hli], a ; Y Offset - ld a, [wBattleAnimTemp3] + ld a, [wBattleObjectTemp0b] ld [hli], a ; 0b xor a ld [hli], a ; 0c diff --git a/wram.asm b/wram.asm index 7fbf99d9e..e19e99e4a 100644 --- a/wram.asm +++ b/wram.asm @@ -3057,6 +3057,12 @@ wBattleAnimTemp1:: db wBattleAnimTemp2:: db wBattleAnimTemp3:: db +NEXTU ; d419 +wBattleObjectTempID:: db +wBattleObjectTempXCoord:: db +wBattleObjectTempYCoord:: db +wBattleObjectTemp0b:: db + NEXTU ; d419 wBattleAnimTempOAMFlags:: db wBattleAnimTempField02:: db