summaryrefslogtreecommitdiff
path: root/engine
diff options
context:
space:
mode:
authorRangi <35663410+Rangi42@users.noreply.github.com>2018-12-09 17:44:09 -0500
committerGitHub <noreply@github.com>2018-12-09 17:44:09 -0500
commite025ab9db0b85cadb42e9b72ac408a58f8133672 (patch)
treeff74fb06f4d6715bec8a711e31f41057d4625bb3 /engine
parentcbf4c663611d4b7d07f3fc8d43f0be756ccc19ed (diff)
parentfd1fa78ffe78c9101c0ae5a1ca299d4282462ecd (diff)
Merge pull request #578 from mid-kid/master
Fixes in the animation subsystem.
Diffstat (limited to 'engine')
-rw-r--r--engine/battle/effect_commands.asm21
-rw-r--r--engine/battle/move_effects/transform.asm16
-rw-r--r--engine/battle_anims/anim_commands.asm84
-rw-r--r--engine/battle_anims/bg_effects.asm64
-rw-r--r--engine/battle_anims/core.asm10
-rw-r--r--engine/battle_anims/helpers.asm2
6 files changed, 98 insertions, 99 deletions
diff --git a/engine/battle/effect_commands.asm b/engine/battle/effect_commands.asm
index 9adf90c82..76d6ee375 100644
--- a/engine/battle/effect_commands.asm
+++ b/engine/battle/effect_commands.asm
@@ -4854,7 +4854,7 @@ CalcPlayerStats:
ld bc, wBattleMonAttack
ld a, 5
- call CalcStats
+ call CalcBattleStats
ld hl, BadgeStatBoosts
call CallBattleCore
@@ -4875,7 +4875,7 @@ CalcEnemyStats:
ld bc, wEnemyMonAttack
ld a, 5
- call CalcStats
+ call CalcBattleStats
call BattleCommand_SwitchTurn
@@ -4887,7 +4887,7 @@ CalcEnemyStats:
jp BattleCommand_SwitchTurn
-CalcStats:
+CalcBattleStats:
.loop
push af
ld a, [hli]
@@ -6221,21 +6221,6 @@ BattleCommand_Heal:
INCLUDE "engine/battle/move_effects/transform.asm"
-BattleSideCopy:
-; Copy bc bytes from hl to de if it's the player's turn.
-; Copy bc bytes from de to hl if it's the enemy's turn.
- ldh a, [hBattleTurn]
- and a
- jr z, .copy
-
-; Swap hl and de
- push hl
- ld h, d
- ld l, e
- pop de
-.copy
- jp CopyBytes
-
BattleEffect_ButItFailed:
call AnimateFailedMove
jp PrintButItFailed
diff --git a/engine/battle/move_effects/transform.asm b/engine/battle/move_effects/transform.asm
index ab94da79c..509a8d03f 100644
--- a/engine/battle/move_effects/transform.asm
+++ b/engine/battle/move_effects/transform.asm
@@ -1,4 +1,3 @@
-
BattleCommand_Transform:
; transform
@@ -137,3 +136,18 @@ BattleCommand_Transform:
call nz, LoadAnim
ld hl, TransformedText
jp StdBattleTextBox
+
+BattleSideCopy:
+; Copy bc bytes from hl to de if it's the player's turn.
+; Copy bc bytes from de to hl if it's the enemy's turn.
+ ldh a, [hBattleTurn]
+ and a
+ jr z, .copy
+
+; Swap hl and de
+ push hl
+ ld h, d
+ ld l, e
+ pop de
+.copy
+ jp CopyBytes
diff --git a/engine/battle_anims/anim_commands.asm b/engine/battle_anims/anim_commands.asm
index 4191fdf81..6cc2d6620 100644
--- a/engine/battle_anims/anim_commands.asm
+++ b/engine/battle_anims/anim_commands.asm
@@ -334,8 +334,8 @@ BattleAnimCommands::
dw BattleAnimCmd_IncObj
dw BattleAnimCmd_SetObj
dw BattleAnimCmd_IncBGEffect
- dw BattleAnimCmd_EnemyFeetObj
- dw BattleAnimCmd_PlayerHeadObj
+ dw BattleAnimCmd_BattlerGFX_1Row
+ dw BattleAnimCmd_BattlerGFX_2Row
dw BattleAnimCmd_CheckPokeball
dw BattleAnimCmd_Transform
dw BattleAnimCmd_RaiseSub
@@ -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
@@ -665,7 +665,7 @@ BattleAnimCmd_5GFX:
ld [wBattleAnimTemp0], a
.loop
ld a, [wBattleAnimTemp0]
- cp (vTiles1 - vTiles0) / $10 - $31
+ cp (vTiles1 - vTiles0) / LEN_2BPP_TILE - BATTLEANIM_BASE_TILE
ret nc
call GetBattleAnimByte
ld [hli], a
@@ -678,10 +678,10 @@ BattleAnimCmd_5GFX:
rept 4
add hl, hl
endr
- ld de, vTiles0 tile $31
+ ld de, vTiles0 tile BATTLEANIM_BASE_TILE
add hl, de
ld a, [wBattleAnimByte]
- call LoadBattleAnimObj
+ call LoadBattleAnimGFX
ld a, [wBattleAnimTemp0]
add c
ld [wBattleAnimTemp0], a
@@ -767,7 +767,7 @@ BattleAnimCmd_SetObj:
ld [hl], a
ret
-BattleAnimCmd_EnemyFeetObj:
+BattleAnimCmd_BattlerGFX_1Row:
ld hl, wBattleAnimTileDict
.loop
ld a, [hl]
@@ -778,33 +778,33 @@ BattleAnimCmd_EnemyFeetObj:
jr .loop
.okay
- ld a, $28
+ ld a, ANIM_GFX_PLAYERHEAD
ld [hli], a
- ld a, $42
+ ld a, ($80 - 6 - 7) - BATTLEANIM_BASE_TILE
ld [hli], a
- ld a, $29
+ ld a, ANIM_GFX_ENEMYFEET
ld [hli], a
- ld a, $49
+ ld a, ($80 - 6) - BATTLEANIM_BASE_TILE
ld [hl], a
- ld hl, vTiles0 tile $73
- ld de, vTiles2 tile $06
- ld a, $70
+ ld hl, vTiles0 tile ($80 - 6 - 7)
+ ld de, vTiles2 tile $06 ; Enemy feet start tile
+ ld a, 7 tiles ; Enemy pic height
ld [wBattleAnimTemp0], a
- ld a, $7
- call .LoadFootprint
- ld de, vTiles2 tile $31
- ld a, $60
+ ld a, 7 ; Copy 7x1 tiles
+ call .LoadFeet
+ ld de, vTiles2 tile $31 ; Player head start tile
+ ld a, 6 tiles ; Player pic height
ld [wBattleAnimTemp0], a
- ld a, $6
- call .LoadFootprint
+ ld a, 6 ; Copy 6x1 tiles
+ call .LoadFeet
ret
-.LoadFootprint:
+.LoadFeet:
push af
push hl
push de
- lb bc, BANK(BattleAnimCmd_EnemyFeetObj), 1
+ lb bc, BANK(@), 1
call Request2bpp
pop de
ld a, [wBattleAnimTemp0]
@@ -818,10 +818,10 @@ BattleAnimCmd_EnemyFeetObj:
add hl, bc
pop af
dec a
- jr nz, .LoadFootprint
+ jr nz, .LoadFeet
ret
-BattleAnimCmd_PlayerHeadObj:
+BattleAnimCmd_BattlerGFX_2Row:
ld hl, wBattleAnimTileDict
.loop
ld a, [hl]
@@ -832,25 +832,25 @@ BattleAnimCmd_PlayerHeadObj:
jr .loop
.okay
- ld a, $28
+ ld a, ANIM_GFX_PLAYERHEAD
ld [hli], a
- ld a, $35
+ ld a, ($80 - 6 * 2 - 7 * 2) - BATTLEANIM_BASE_TILE
ld [hli], a
- ld a, $29
+ ld a, ANIM_GFX_ENEMYFEET
ld [hli], a
- ld a, $43
+ ld a, ($80 - 6 * 2) - BATTLEANIM_BASE_TILE
ld [hl], a
- ld hl, vTiles0 tile $66
- ld de, vTiles2 tile $05
- ld a, $70
+ ld hl, vTiles0 tile ($80 - 6 * 2 - 7 * 2)
+ ld de, vTiles2 tile $05 ; Enemy feet start tile
+ ld a, 7 tiles ; Enemy pic height
ld [wBattleAnimTemp0], a
- ld a, $7
+ ld a, 7 ; Copy 7x2 tiles
call .LoadHead
- ld de, vTiles2 tile $31
- ld a, $60
+ ld de, vTiles2 tile $31 ; Player head start tile
+ ld a, 6 tiles ; Player pic height
ld [wBattleAnimTemp0], a
- ld a, $6
+ ld a, 6 ; Copy 6x2 tiles
call .LoadHead
ret
@@ -858,7 +858,7 @@ BattleAnimCmd_PlayerHeadObj:
push af
push hl
push de
- lb bc, BANK(BattleAnimCmd_EnemyFeetObj), 2
+ lb bc, BANK(@), 2
call Request2bpp
pop de
ld a, [wBattleAnimTemp0]
@@ -927,14 +927,14 @@ BattleAnimCmd_UpdateActorPic:
ld hl, vTiles2 tile $00
ld b, 0
- ld c, $31
+ ld c, 7 * 7
call Request2bpp
ret
.player
ld hl, vTiles2 tile $31
ld b, 0
- ld c, $24
+ ld c, 6 * 6
call Request2bpp
ret
@@ -1028,7 +1028,7 @@ BattleAnimCmd_MinimizeOpp:
GetMinimizePic:
ld hl, sScratch
- ld bc, $31 tiles
+ ld bc, (7 * 7) tiles
.loop
xor a
ld [hli], a
diff --git a/engine/battle_anims/bg_effects.asm b/engine/battle_anims/bg_effects.asm
index 6aaa85189..05d086f7c 100644
--- a/engine/battle_anims/bg_effects.asm
+++ b/engine/battle_anims/bg_effects.asm
@@ -96,8 +96,8 @@ BattleBGEffects:
dw BattleBGEffect_Whirlpool
dw BattleBGEffect_Teleport
dw BattleBGEffect_NightShade
- dw BattleBGEffect_FeetFollow
- dw BattleBGEffect_HeadFollow
+ dw BattleBGEffect_BattlerObj_1Row
+ dw BattleBGEffect_BattlerObj_2Row
dw BattleBGEffect_DoubleTeam
dw BattleBGEffect_AcidArmor
dw BattleBGEffect_RapidFlash
@@ -403,7 +403,7 @@ BattleBGEffect_ShowMon:
db 3, $00, 3
db -1
-BattleBGEffect_FeetFollow:
+BattleBGEffect_BattlerObj_1Row:
call BattleBGEffects_AnonJumptable
.anon_dw
dw .zero
@@ -425,22 +425,22 @@ BattleBGEffect_FeetFollow:
call BattleBGEffects_IncrementJumptable
push bc
call BGEffect_CheckBattleTurn
- jr nz, .player_turn
- ld a, ANIM_OBJ_PLAYERFEETFOLLOW
- ld [wBattleAnimTemp0], a
- ld a, 16 * 8 + 4
+ jr nz, .player_side
+ ld a, ANIM_OBJ_ENEMYFEET_1ROW
+ 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
+.player_side
+ ld a, ANIM_OBJ_PLAYERHEAD_1ROW
+ 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
@@ -449,12 +449,12 @@ BattleBGEffect_FeetFollow:
call BattleBGEffects_IncrementJumptable
push bc
call BGEffect_CheckBattleTurn
- jr nz, .player_turn_2
+ jr nz, .player_side_2
hlcoord 12, 6
lb bc, 1, 7
jr .okay2
-.player_turn_2
+.player_side_2
hlcoord 2, 6
lb bc, 1, 6
.okay2
@@ -470,7 +470,7 @@ BattleBGEffect_FeetFollow:
call EndBattleBGEffect
ret
-BattleBGEffect_HeadFollow:
+BattleBGEffect_BattlerObj_2Row:
call BattleBGEffects_AnonJumptable
.anon_dw
dw .zero
@@ -492,22 +492,22 @@ BattleBGEffect_HeadFollow:
call BattleBGEffects_IncrementJumptable
push bc
call BGEffect_CheckBattleTurn
- jr nz, .player_turn
- ld a, ANIM_OBJ_PLAYERHEADFOLLOW
- ld [wBattleAnimTemp0], a
- ld a, 16 * 8 + 4
+ jr nz, .player_side
+ ld a, ANIM_OBJ_ENEMYFEET_2ROW
+ 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
+.player_side
+ ld a, ANIM_OBJ_PLAYERHEAD_2ROW
+ 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
@@ -516,12 +516,12 @@ BattleBGEffect_HeadFollow:
call BattleBGEffects_IncrementJumptable
push bc
call BGEffect_CheckBattleTurn
- jr nz, .player_turn_2
+ jr nz, .player_side_2
hlcoord 12, 5
lb bc, 2, 7
jr .okay2
-.player_turn_2
+.player_side_2
hlcoord 2, 6
lb bc, 2, 6
.okay2
diff --git a/engine/battle_anims/core.asm b/engine/battle_anims/core.asm
index 541de6fc7..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
@@ -147,7 +147,7 @@ BattleAnimOAMUpdate:
inc hl
inc de
ld a, [wBattleAnimTempTileID]
- add $31
+ add BATTLEANIM_BASE_TILE
add [hl]
ld [de], a
inc hl
diff --git a/engine/battle_anims/helpers.asm b/engine/battle_anims/helpers.asm
index 63177b1b1..4a7f2950c 100644
--- a/engine/battle_anims/helpers.asm
+++ b/engine/battle_anims/helpers.asm
@@ -100,7 +100,7 @@ GetBattleAnimOAMPointer:
add hl, de
ret
-LoadBattleAnimObj:
+LoadBattleAnimGFX:
push hl
ld l, a
ld h, 0