diff options
| -rw-r--r-- | constants/battle_anim_constants.asm | 5 | ||||
| -rw-r--r-- | data/battle_anims/objects.asm | 8 | ||||
| -rw-r--r-- | engine/battle_anims/anim_commands.asm | 66 | ||||
| -rw-r--r-- | engine/battle_anims/core.asm | 2 | 
4 files changed, 43 insertions, 38 deletions
| diff --git a/constants/battle_anim_constants.asm b/constants/battle_anim_constants.asm index 58e19462e..87e9e0cae 100644 --- a/constants/battle_anim_constants.asm +++ b/constants/battle_anim_constants.asm @@ -26,6 +26,9 @@  	const BATTLEANIMSTRUCT_17  BATTLEANIMSTRUCT_LENGTH EQU const_value +; Start tile for battle animation graphics +BATTLEANIM_BASE_TILE EQU 7 * 7  ; Maximum size of a pokemon picture +  ; BattleAnimObjects indexes (see data/battle_anims/objects.asm)  	const_def  	const ANIM_OBJ_00 @@ -804,6 +807,8 @@ BATTLEANIMSTRUCT_LENGTH EQU const_value  	const ANIM_GFX_ANGELS  	const ANIM_GFX_WAVE  	const ANIM_GFX_AEROBLAST +	const ANIM_GFX_PLAYER +	const ANIM_GFX_ENEMY  ; battle_bg_effect struct members (see macros/wram.asm)  	const_def diff --git a/data/battle_anims/objects.asm b/data/battle_anims/objects.asm index d870cd997..18a2c2f1b 100644 --- a/data/battle_anims/objects.asm +++ b/data/battle_anims/objects.asm @@ -202,7 +202,7 @@ BattleAnimObjects:  	battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_19, BATTLEANIMFUNC_4E, PAL_BATTLE_OB_BROWN, ANIM_GFX_ROCKS ; ANIM_OBJ_ROCK_SMASH  	battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_73, BATTLEANIMFUNC_08, PAL_BATTLE_OB_RED, ANIM_GFX_FLOWER ; ANIM_OBJ_FLOWER  	battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_89, BATTLEANIMFUNC_4F, PAL_BATTLE_OB_RED, ANIM_GFX_MISC ; ANIM_OBJ_COTTON -	battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B5, BATTLEANIMFUNC_00, PAL_BATTLE_OB_ENEMY, $28 ; ANIM_OBJ_PLAYERFEETFOLLOW -	battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B6, BATTLEANIMFUNC_00, PAL_BATTLE_OB_PLAYER, $29 ; ANIM_OBJ_ENEMYFEETFOLLOW -	battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B7, BATTLEANIMFUNC_00, PAL_BATTLE_OB_ENEMY, $28 ; ANIM_OBJ_PLAYERHEADFOLLOW -	battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B8, BATTLEANIMFUNC_00, PAL_BATTLE_OB_PLAYER, $29 ; ANIM_OBJ_ENEMYHEADFOLLOW +	battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B5, BATTLEANIMFUNC_00, PAL_BATTLE_OB_ENEMY, ANIM_GFX_PLAYER ; ANIM_OBJ_PLAYERFEETFOLLOW +	battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B6, BATTLEANIMFUNC_00, PAL_BATTLE_OB_PLAYER, ANIM_GFX_ENEMY ; ANIM_OBJ_ENEMYFEETFOLLOW +	battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B7, BATTLEANIMFUNC_00, PAL_BATTLE_OB_ENEMY, ANIM_GFX_PLAYER ; ANIM_OBJ_PLAYERHEADFOLLOW +	battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B8, BATTLEANIMFUNC_00, PAL_BATTLE_OB_PLAYER, ANIM_GFX_ENEMY ; ANIM_OBJ_ENEMYHEADFOLLOW diff --git a/engine/battle_anims/anim_commands.asm b/engine/battle_anims/anim_commands.asm index 4191fdf81..fcf61c43f 100644 --- a/engine/battle_anims/anim_commands.asm +++ b/engine/battle_anims/anim_commands.asm @@ -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,7 +678,7 @@ 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 @@ -778,33 +778,33 @@ BattleAnimCmd_EnemyFeetObj:  	jr .loop  .okay -	ld a, $28 +	ld a, ANIM_GFX_PLAYER  	ld [hli], a -	ld a, $42 +	ld a, ($80 - 6 - 7) - BATTLEANIM_BASE_TILE  	ld [hli], a -	ld a, $29 +	ld a, ANIM_GFX_ENEMY  	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,7 +818,7 @@ BattleAnimCmd_EnemyFeetObj:  	add hl, bc  	pop af  	dec a -	jr nz, .LoadFootprint +	jr nz, .LoadFeet  	ret  BattleAnimCmd_PlayerHeadObj: @@ -832,25 +832,25 @@ BattleAnimCmd_PlayerHeadObj:  	jr .loop  .okay -	ld a, $28 +	ld a, ANIM_GFX_PLAYER  	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_ENEMY  	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/core.asm b/engine/battle_anims/core.asm index 541de6fc7..b213a9f82 100644 --- a/engine/battle_anims/core.asm +++ b/engine/battle_anims/core.asm @@ -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 | 
