Merge pull request #578 from mid-kid/master
Fixes in the animation subsystem.
This commit is contained in:
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -100,7 +100,7 @@ GetBattleAnimOAMPointer:
|
||||
add hl, de
|
||||
ret
|
||||
|
||||
LoadBattleAnimObj:
|
||||
LoadBattleAnimGFX:
|
||||
push hl
|
||||
ld l, a
|
||||
ld h, 0
|
||||
|
Reference in New Issue
Block a user