diff options
author | Rangi <35663410+Rangi42@users.noreply.github.com> | 2018-12-09 17:44:09 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-12-09 17:44:09 -0500 |
commit | e025ab9db0b85cadb42e9b72ac408a58f8133672 (patch) | |
tree | ff74fb06f4d6715bec8a711e31f41057d4625bb3 /engine | |
parent | cbf4c663611d4b7d07f3fc8d43f0be756ccc19ed (diff) | |
parent | fd1fa78ffe78c9101c0ae5a1ca299d4282462ecd (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.asm | 21 | ||||
-rw-r--r-- | engine/battle/move_effects/transform.asm | 16 | ||||
-rw-r--r-- | engine/battle_anims/anim_commands.asm | 84 | ||||
-rw-r--r-- | engine/battle_anims/bg_effects.asm | 64 | ||||
-rw-r--r-- | engine/battle_anims/core.asm | 10 | ||||
-rw-r--r-- | engine/battle_anims/helpers.asm | 2 |
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 |