ref: 41f39211ca3448ee79a6c65757bd703f247442fd
parent: 2746288030ff3bd4febc43c1c9fe8a203272b927
author: mid-kid <esteve.varela@gmail.com>
date: Thu Nov 22 07:32:24 EST 2018
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.
--- a/engine/battle_anims/anim_commands.asm
+++ b/engine/battle_anims/anim_commands.asm
@@ -595,13 +595,13 @@
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
--- a/engine/battle_anims/bg_effects.asm
+++ b/engine/battle_anims/bg_effects.asm
@@ -427,20 +427,20 @@
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 @@
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
--- a/engine/battle_anims/core.asm
+++ b/engine/battle_anims/core.asm
@@ -27,7 +27,7 @@
ret
InitBattleAnimation:
- ld a, [wBattleAnimTemp0]
+ ld a, [wBattleObjectTempID]
ld e, a
ld d, 0
ld hl, BattleAnimObjects
@@ -58,14 +58,14 @@
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
--- a/wram.asm
+++ b/wram.asm
@@ -3058,6 +3058,12 @@
wBattleAnimTemp3:: db
NEXTU ; d419
+wBattleObjectTempID:: db
+wBattleObjectTempXCoord:: db
+wBattleObjectTempYCoord:: db
+wBattleObjectTemp0b:: db
+
+NEXTU ; d419
wBattleAnimTempOAMFlags:: db
wBattleAnimTempField02:: db
wBattleAnimTempTileID:: db