ref: b616180c10762903d11e83b975f922caae8dbd54
parent: b113931b838225aad3bda9f00688c935d7115503
author: yenatch <[email protected]>
date: Sat Dec 14 21:34:12 EST 2013
battle animation asm cleanup
binary files /dev/null b/gfx/battle/minimize.2bpp differ
--- a/main.asm
+++ b/main.asm
@@ -87100,7 +87100,7 @@
call Function3b0c
call BattleAnimRequestPals
-; Speed up Rollout's animation on consecutive turns.
+; Speed up Rollout's animation.
ld a, [FXAnimIDHi]
or a
jr nz, .asm_cc193
@@ -87479,6 +87479,7 @@
ld a, [hl]
and a
jr z, .asm_cc39a
+
dec [hl]
call GetBattleAnimByte
ld e, a
@@ -87489,6 +87490,7 @@
inc hl
ld [hl], d
ret
+
.asm_cc39a
ld hl, $d410
ld e, [hl]
@@ -87518,7 +87520,8 @@
call GetBattleAnimByte
ld hl, $d416
cp [hl]
- jr z, .asm_cc3c7
+ jr z, .jump
+
ld hl, $d410
ld e, [hl]
inc hl
@@ -87529,7 +87532,8 @@
dec hl
ld [hl], e
ret
-.asm_cc3c7
+
+.jump
call GetBattleAnimByte
ld e, a
call GetBattleAnimByte
@@ -87545,7 +87549,8 @@
call GetBattleAnimByte
ld hl, $c689
cp [hl]
- jr z, .asm_cc3eb
+ jr z, .jump
+
ld hl, $d410
ld e, [hl]
inc hl
@@ -87556,7 +87561,8 @@
dec hl
ld [hl], e
ret
-.asm_cc3eb
+
+.jump
call GetBattleAnimByte
ld e, a
call GetBattleAnimByte
@@ -87573,7 +87579,8 @@
ld e, a
ld a, [$c689]
and e
- jr nz, .asm_cc410
+ jr nz, .jump
+
ld hl, $d410
ld e, [hl]
inc hl
@@ -87584,7 +87591,7 @@
dec hl
ld [hl], e
ret
-.asm_cc410
+.jump
call GetBattleAnimByte
ld e, a
call GetBattleAnimByte
@@ -87780,6 +87787,7 @@
; no known jump sources
BattleAnimCmd_D9: ; cc52c (33:452c)
+
ld hl, $d300
.asm_cc52f
ld a, [hl]
@@ -87788,6 +87796,7 @@
inc hl
inc hl
jr .asm_cc52f
+
.asm_cc537
ld a, $28
ld [hli], a
@@ -87797,6 +87806,7 @@
ld [hli], a
ld a, $49
ld [hl], a
+
ld hl, $8730
ld de, $9060
ld a, $70
@@ -87834,6 +87844,7 @@
; no known jump sources
BattleAnimCmd_DA: ; cc57e (33:457e)
+
ld hl, $d300
.asm_cc581
ld a, [hl]
@@ -87842,6 +87853,7 @@
inc hl
inc hl
jr .asm_cc581
+
.asm_cc589
ld a, $28
ld [hli], a
@@ -87851,6 +87863,7 @@
ld [hli], a
ld a, $43
ld [hl], a
+
ld hl, $8660
ld de, $9050
ld a, $70
@@ -87901,32 +87914,36 @@
BattleAnimCmd_DC: ; cc5dc (33:45dc)
ld a, [rSVBK] ; $ff00+$70
push af
- ld a, $1
+ ld a, 1
ld [rSVBK], a ; $ff00+$70
ld a, [CurPartySpecies] ; $d108
push af
+
ld a, [hBattleTurn] ; $ff00+$e4
and a
- jr z, .asm_cc604
+ jr z, .player
+
ld a, [TempBattleMonSpecies] ; $d205
ld [CurPartySpecies], a ; $d108
- ld hl, BattleMonDVs ; $c632 (aliases: BattleMonAtkDefDV)
- ld a, $2d
+ ld hl, BattleMonDVs ; $c632
+ ld a, PREDEF_GET_UNOWN_LETTER
call Predef
ld de, $8000
ld a, $3c
call Predef
- jr .asm_cc61a
-.asm_cc604
+ jr .done
+
+.player
ld a, [TempEnemyMonSpecies] ; $d204
ld [CurPartySpecies], a ; $d108
- ld hl, EnemyMonAtkDefDV ; $d20c (aliases: EnemyMonDVs, EnemyMonMovesEnd)
- ld a, $2d
+ ld hl, EnemyMonDVs ; $d20c
+ ld a, PREDEF_GET_UNOWN_LETTER
call Predef
ld de, $8000
ld a, $3d
call Predef
-.asm_cc61a
+
+.done
pop af
ld [CurPartySpecies], a ; $d108
pop af
@@ -87935,18 +87952,21 @@
; no known jump sources
BattleAnimCmd_E8: ; cc622 (33:4622)
+
ld de, $8000
ld a, [hBattleTurn] ; $ff00+$e4
and a
- jr z, .asm_cc635
+ jr z, .player
+
ld hl, $9000
- ld b, $0
+ ld b, 0
ld c, $31
call Request2bpp
ret
-.asm_cc635
+
+.player
ld hl, $9310
- ld b, $0
+ ld b, 0
ld c, $24
call Request2bpp
ret
@@ -87953,59 +87973,69 @@
; no known jump sources
BattleAnimCmd_DD: ; cc640 (33:4640)
+
ld a, [rSVBK] ; $ff00+$70
push af
- ld a, $1
+ ld a, 1
ld [rSVBK], a ; $ff00+$70
xor a
call GetSRAMBank
+
+GetSubstitutePic: ; cc64c
+
ld hl, $a000
ld bc, $310
-.asm_cc651
+.loop
xor a
ld [hli], a
dec bc
ld a, c
or b
- jr nz, .asm_cc651
+ jr nz, .loop
+
ld a, [hBattleTurn] ; $ff00+$e4
and a
- jr z, .asm_cc68f
- ld hl, $6a80
- ld de, $a130
- call Functioncc6c6
- ld hl, $6a90
- ld de, $a1a0
- call Functioncc6c6
- ld hl, $6aa0
- ld de, $a140
- call Functioncc6c6
- ld hl, $6ab0
- ld de, $a1b0
- call Functioncc6c6
+ jr z, .player
+
+ ld hl, MonsterSpriteGFX
+ ld de, $a000 + $130
+ call CopyMonsterSpriteTile
+ ld hl, MonsterSpriteGFX + $10
+ ld de, $a000 + $1a0
+ call CopyMonsterSpriteTile
+ ld hl, MonsterSpriteGFX + $20
+ ld de, $a000 + $140
+ call CopyMonsterSpriteTile
+ ld hl, MonsterSpriteGFX + $30
+ ld de, $a000 + $1b0
+ call CopyMonsterSpriteTile
+
ld hl, $9000
ld de, $a000
- ld bc, $3331
+ lb bc, BANK(GetSubstitutePic), 7 * 7
call Request2bpp
- jr .asm_cc6bf
-.asm_cc68f
- ld hl, $6ac0
- ld de, $a100
- call Functioncc6c6
- ld hl, $6ad0
- ld de, $a160
- call Functioncc6c6
- ld hl, $6ae0
- ld de, $a110
- call Functioncc6c6
- ld hl, $6af0
- ld de, $a170
- call Functioncc6c6
+ jr .done
+
+.player
+ ld hl, MonsterSpriteGFX + $40
+ ld de, $a000 + $100
+ call CopyMonsterSpriteTile
+ ld hl, MonsterSpriteGFX + $50
+ ld de, $a000 + $160
+ call CopyMonsterSpriteTile
+ ld hl, MonsterSpriteGFX + $60
+ ld de, $a000 + $110
+ call CopyMonsterSpriteTile
+ ld hl, MonsterSpriteGFX + $70
+ ld de, $a000 + $170
+ call CopyMonsterSpriteTile
+
ld hl, $9310
ld de, $a000
- ld bc, $3324
+ lb bc, BANK(GetSubstitutePic), 6 * 6
call Request2bpp
-.asm_cc6bf
+
+.done
call CloseSRAM
pop af
ld [rSVBK], a ; $ff00+$70
@@ -88012,9 +88042,9 @@
ret
; known jump sources: cc663 (33:4663), cc66c (33:466c), cc675 (33:4675), cc67e (33:467e), cc695 (33:4695), cc69e (33:469e), cc6a7 (33:46a7), cc6b0 (33:46b0)
-Functioncc6c6: ; cc6c6 (33:46c6)
+CopyMonsterSpriteTile: ; cc6c6 (33:46c6)
ld bc, $10
- ld a, $31
+ ld a, BANK(MonsterSpriteGFX)
call FarCopyBytes
ret
@@ -88026,7 +88056,7 @@
ld [rSVBK], a ; $ff00+$70
xor a
call GetSRAMBank
- call Functioncc6e7
+ call GetMinimizePic
call Request2bpp
call CloseSRAM
pop af
@@ -88034,43 +88064,48 @@
ret
; known jump sources: cc6da (33:46da), cc740 (33:4740)
-Functioncc6e7: ; cc6e7 (33:46e7)
+GetMinimizePic: ; cc6e7 (33:46e7)
ld hl, $a000
ld bc, $310
-.asm_cc6ed
+.loop
xor a
ld [hli], a
dec bc
ld a, c
or b
- jr nz, .asm_cc6ed
+ jr nz, .loop
+
ld a, [hBattleTurn] ; $ff00+$e4
and a
- jr z, .asm_cc709
+ jr z, .player
+
ld de, $a1a0
- call Functioncc719
+ call CopyMinimizePic
ld hl, $9000
ld de, $a000
- ld bc, $3331
+ lb bc, BANK(GetMinimizePic), $31
ret
-.asm_cc709
+
+.player
ld de, $a160
- call Functioncc719
+ call CopyMinimizePic
ld hl, $9310
ld de, $a000
- ld bc, $3324
+ lb bc, BANK(GetMinimizePic), $24
ret
; known jump sources: cc6fc (33:46fc), cc70c (33:470c)
-Functioncc719: ; cc719 (33:4719)
- ld hl, $4725
+CopyMinimizePic: ; cc719 (33:4719)
+ ld hl, MinimizePic
ld bc, $10
- ld a, $33
+ ld a, BANK(MinimizePic)
call FarCopyBytes
ret
; cc725 (33:4725)
-INCBIN "baserom.gbc",$cc725,$cc735 - $cc725
+MinimizePic: ; cc725
+INCBIN "gfx/battle/minimize.2bpp"
+; cc735
; no known jump sources
BattleAnimCmd_E9: ; cc735 (33:4735)
@@ -88080,7 +88115,7 @@
ld [rSVBK], a ; $ff00+$70
xor a
call GetSRAMBank
- call Functioncc6e7
+ call GetMinimizePic
ld hl, $8000
call Request2bpp
call CloseSRAM
@@ -88094,16 +88129,20 @@
push af
ld a, $1
ld [rSVBK], a ; $ff00+$70
+
ld a, [CurPartySpecies] ; $d108
push af
ld a, [hBattleTurn] ; $ff00+$e4
and a
- jr z, .asm_cc768
+ jr z, .player
+
callab Function3f486
- jr .asm_cc76e
-.asm_cc768
+ jr .done
+
+.player
callab Function3f447
-.asm_cc76e
+
+.done
pop af
ld [CurPartySpecies], a ; $d108
pop af
@@ -88118,26 +88157,31 @@
ld [rSVBK], a ; $ff00+$70
ld a, [CurPartySpecies] ; $d108
push af
+
ld a, [$c689]
ld [CurPartySpecies], a ; $d108
+
ld a, [hBattleTurn] ; $ff00+$e4
and a
- jr z, .asm_cc79e
- ld hl, BattleMonDVs ; $c632 (aliases: BattleMonAtkDefDV)
- ld a, $2d
+ jr z, .player
+
+ ld hl, BattleMonDVs ; $c632
+ ld a, PREDEF_GET_UNOWN_LETTER
call Predef
ld de, $9000
ld a, $3c
call Predef
- jr .asm_cc7ae
-.asm_cc79e
- ld hl, EnemyMonAtkDefDV ; $d20c (aliases: EnemyMonDVs, EnemyMonMovesEnd)
- ld a, $2d
+ jr .done
+
+.player
+ ld hl, EnemyMonDVs ; $d20c
+ ld a, PREDEF_GET_UNOWN_LETTER
call Predef
ld de, $9310
ld a, $3d
call Predef
-.asm_cc7ae
+
+.done
pop af
ld [CurPartySpecies], a ; $d108
ld b, $1