battle_anim_sound_tasks
This commit is contained in:
+14
-14
@@ -152,7 +152,7 @@ LaunchBattleAnimation: @ 80725D4
|
|||||||
movs r4, 0
|
movs r4, 0
|
||||||
ldr r6, _08072618 @ =gBattlerPartyIndexes
|
ldr r6, _08072618 @ =gBattlerPartyIndexes
|
||||||
movs r7, 0x64
|
movs r7, 0x64
|
||||||
ldr r5, _0807261C @ =gUnknown_2037F1C
|
ldr r5, _0807261C @ =gAnimBattlerSpecies
|
||||||
_08072600:
|
_08072600:
|
||||||
lsls r0, r4, 24
|
lsls r0, r4, 24
|
||||||
lsrs r0, 24
|
lsrs r0, 24
|
||||||
@@ -166,7 +166,7 @@ _08072600:
|
|||||||
b _0807262A
|
b _0807262A
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_08072618: .4byte gBattlerPartyIndexes
|
_08072618: .4byte gBattlerPartyIndexes
|
||||||
_0807261C: .4byte gUnknown_2037F1C
|
_0807261C: .4byte gAnimBattlerSpecies
|
||||||
_08072620: .4byte gEnemyParty
|
_08072620: .4byte gEnemyParty
|
||||||
_08072624:
|
_08072624:
|
||||||
ldrh r0, [r6]
|
ldrh r0, [r6]
|
||||||
@@ -2767,8 +2767,8 @@ ScriptCmd_changebg: @ 8073A24
|
|||||||
_08073A40: .4byte gUnknown_2037ED4
|
_08073A40: .4byte gUnknown_2037ED4
|
||||||
thumb_func_end ScriptCmd_changebg
|
thumb_func_end ScriptCmd_changebg
|
||||||
|
|
||||||
thumb_func_start sub_8073A44
|
thumb_func_start BattleAnimAdjustPanning
|
||||||
sub_8073A44: @ 8073A44
|
BattleAnimAdjustPanning: @ 8073A44
|
||||||
push {r4,lr}
|
push {r4,lr}
|
||||||
lsls r0, 24
|
lsls r0, 24
|
||||||
lsrs r4, r0, 24
|
lsrs r4, r0, 24
|
||||||
@@ -2867,7 +2867,7 @@ _08073AFC:
|
|||||||
pop {r4}
|
pop {r4}
|
||||||
pop {r1}
|
pop {r1}
|
||||||
bx r1
|
bx r1
|
||||||
thumb_func_end sub_8073A44
|
thumb_func_end BattleAnimAdjustPanning
|
||||||
|
|
||||||
thumb_func_start sub_8073B08
|
thumb_func_start sub_8073B08
|
||||||
sub_8073B08: @ 8073B08
|
sub_8073B08: @ 8073B08
|
||||||
@@ -2916,8 +2916,8 @@ _08073B56:
|
|||||||
bx r1
|
bx r1
|
||||||
thumb_func_end sub_8073B08
|
thumb_func_end sub_8073B08
|
||||||
|
|
||||||
thumb_func_start sub_8073B60
|
thumb_func_start KeepPanInRange
|
||||||
sub_8073B60: @ 8073B60
|
KeepPanInRange: @ 8073B60
|
||||||
push {lr}
|
push {lr}
|
||||||
lsls r0, 16
|
lsls r0, 16
|
||||||
lsrs r1, r0, 16
|
lsrs r1, r0, 16
|
||||||
@@ -2939,7 +2939,7 @@ _08073B7A:
|
|||||||
bx r1
|
bx r1
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_08073B84: .4byte 0x0000ffc0
|
_08073B84: .4byte 0x0000ffc0
|
||||||
thumb_func_end sub_8073B60
|
thumb_func_end KeepPanInRange
|
||||||
|
|
||||||
thumb_func_start CalculatePanIncrement
|
thumb_func_start CalculatePanIncrement
|
||||||
CalculatePanIncrement: @ 8073B88
|
CalculatePanIncrement: @ 8073B88
|
||||||
@@ -2994,7 +2994,7 @@ ScriptCmd_playsewithpan: @ 8073BC8
|
|||||||
orrs r4, r0
|
orrs r4, r0
|
||||||
movs r0, 0x2
|
movs r0, 0x2
|
||||||
ldrsb r0, [r1, r0]
|
ldrsb r0, [r1, r0]
|
||||||
bl sub_8073A44
|
bl BattleAnimAdjustPanning
|
||||||
adds r1, r0, 0
|
adds r1, r0, 0
|
||||||
lsls r1, 24
|
lsls r1, 24
|
||||||
asrs r1, 24
|
asrs r1, 24
|
||||||
@@ -3019,7 +3019,7 @@ ScriptCmd_setpan: @ 8073C00
|
|||||||
str r0, [r4]
|
str r0, [r4]
|
||||||
movs r0, 0x1
|
movs r0, 0x1
|
||||||
ldrsb r0, [r1, r0]
|
ldrsb r0, [r1, r0]
|
||||||
bl sub_8073A44
|
bl BattleAnimAdjustPanning
|
||||||
lsls r0, 24
|
lsls r0, 24
|
||||||
asrs r0, 24
|
asrs r0, 24
|
||||||
bl SE12PanpotControl
|
bl SE12PanpotControl
|
||||||
@@ -3058,14 +3058,14 @@ ScriptCmd_panse_1B: @ 8073C2C
|
|||||||
ldrb r7, [r1, 0x5]
|
ldrb r7, [r1, 0x5]
|
||||||
movs r0, 0x2
|
movs r0, 0x2
|
||||||
ldrsb r0, [r1, r0]
|
ldrsb r0, [r1, r0]
|
||||||
bl sub_8073A44
|
bl BattleAnimAdjustPanning
|
||||||
adds r5, r0, 0
|
adds r5, r0, 0
|
||||||
lsls r5, 24
|
lsls r5, 24
|
||||||
lsrs r5, 24
|
lsrs r5, 24
|
||||||
lsls r4, 24
|
lsls r4, 24
|
||||||
asrs r4, 24
|
asrs r4, 24
|
||||||
adds r0, r4, 0
|
adds r0, r4, 0
|
||||||
bl sub_8073A44
|
bl BattleAnimAdjustPanning
|
||||||
mov r8, r0
|
mov r8, r0
|
||||||
lsls r5, 24
|
lsls r5, 24
|
||||||
asrs r5, 24
|
asrs r5, 24
|
||||||
@@ -3387,7 +3387,7 @@ ScriptCmd_loopsewithpan: @ 8073ED0
|
|||||||
mov r9, r2
|
mov r9, r2
|
||||||
movs r0, 0x2
|
movs r0, 0x2
|
||||||
ldrsb r0, [r1, r0]
|
ldrsb r0, [r1, r0]
|
||||||
bl sub_8073A44
|
bl BattleAnimAdjustPanning
|
||||||
adds r4, r0, 0
|
adds r4, r0, 0
|
||||||
lsls r4, 24
|
lsls r4, 24
|
||||||
lsrs r4, 24
|
lsrs r4, 24
|
||||||
@@ -3498,7 +3498,7 @@ ScriptCmd_waitplaysewithpan: @ 8073FB4
|
|||||||
mov r8, r0
|
mov r8, r0
|
||||||
movs r0, 0x2
|
movs r0, 0x2
|
||||||
ldrsb r0, [r1, r0]
|
ldrsb r0, [r1, r0]
|
||||||
bl sub_8073A44
|
bl BattleAnimAdjustPanning
|
||||||
adds r4, r0, 0
|
adds r4, r0, 0
|
||||||
lsls r4, 24
|
lsls r4, 24
|
||||||
lsrs r4, 24
|
lsrs r4, 24
|
||||||
|
|||||||
@@ -2672,7 +2672,7 @@ _080A3756:
|
|||||||
cmp r0, 0
|
cmp r0, 0
|
||||||
bne _080A378A
|
bne _080A378A
|
||||||
movs r0, 0x3F
|
movs r0, 0x3F
|
||||||
bl sub_8073A44
|
bl BattleAnimAdjustPanning
|
||||||
adds r1, r0, 0
|
adds r1, r0, 0
|
||||||
lsls r1, 24
|
lsls r1, 24
|
||||||
asrs r1, 24
|
asrs r1, 24
|
||||||
@@ -2690,7 +2690,7 @@ _080A378A:
|
|||||||
str r0, [r4, 0x1C]
|
str r0, [r4, 0x1C]
|
||||||
movs r0, 0x40
|
movs r0, 0x40
|
||||||
negs r0, r0
|
negs r0, r0
|
||||||
bl sub_8073A44
|
bl BattleAnimAdjustPanning
|
||||||
adds r1, r0, 0
|
adds r1, r0, 0
|
||||||
lsls r1, 24
|
lsls r1, 24
|
||||||
asrs r1, 24
|
asrs r1, 24
|
||||||
@@ -5915,7 +5915,7 @@ _080A5004:
|
|||||||
adds r0, r1
|
adds r0, r1
|
||||||
strh r0, [r5, 0x38]
|
strh r0, [r5, 0x38]
|
||||||
movs r0, 0x3F
|
movs r0, 0x3F
|
||||||
bl sub_8073A44
|
bl BattleAnimAdjustPanning
|
||||||
adds r1, r0, 0
|
adds r1, r0, 0
|
||||||
lsls r1, 24
|
lsls r1, 24
|
||||||
asrs r1, 24
|
asrs r1, 24
|
||||||
@@ -6126,7 +6126,7 @@ _080A51A4:
|
|||||||
movs r2, 0x4
|
movs r2, 0x4
|
||||||
bl LoadPalette
|
bl LoadPalette
|
||||||
movs r0, 0x3F
|
movs r0, 0x3F
|
||||||
bl sub_8073A44
|
bl BattleAnimAdjustPanning
|
||||||
adds r1, r0, 0
|
adds r1, r0, 0
|
||||||
lsls r1, 24
|
lsls r1, 24
|
||||||
asrs r1, 24
|
asrs r1, 24
|
||||||
@@ -7436,7 +7436,7 @@ sub_80A5B7C: @ 80A5B7C
|
|||||||
strh r5, [r4, 0x34]
|
strh r5, [r4, 0x34]
|
||||||
strh r5, [r4, 0x36]
|
strh r5, [r4, 0x36]
|
||||||
subs r0, 0x42
|
subs r0, 0x42
|
||||||
bl sub_8073A44
|
bl BattleAnimAdjustPanning
|
||||||
lsls r0, 24
|
lsls r0, 24
|
||||||
asrs r0, 24
|
asrs r0, 24
|
||||||
strh r0, [r4, 0x38]
|
strh r0, [r4, 0x38]
|
||||||
|
|||||||
@@ -1118,7 +1118,7 @@ _080A7690:
|
|||||||
strh r0, [r4, 0xA]
|
strh r0, [r4, 0xA]
|
||||||
movs r0, 0x3F
|
movs r0, 0x3F
|
||||||
negs r0, r0
|
negs r0, r0
|
||||||
bl sub_8073A44
|
bl BattleAnimAdjustPanning
|
||||||
adds r1, r0, 0
|
adds r1, r0, 0
|
||||||
lsls r1, 24
|
lsls r1, 24
|
||||||
asrs r1, 24
|
asrs r1, 24
|
||||||
@@ -1789,7 +1789,7 @@ sub_80A7C1C: @ 80A7C1C
|
|||||||
push {r4,lr}
|
push {r4,lr}
|
||||||
adds r4, r0, 0
|
adds r4, r0, 0
|
||||||
movs r0, 0x3F
|
movs r0, 0x3F
|
||||||
bl sub_8073A44
|
bl BattleAnimAdjustPanning
|
||||||
adds r1, r0, 0
|
adds r1, r0, 0
|
||||||
lsls r1, 24
|
lsls r1, 24
|
||||||
asrs r1, 24
|
asrs r1, 24
|
||||||
@@ -3626,7 +3626,7 @@ sub_80A8A1C: @ 80A8A1C
|
|||||||
adds r0, 0x2
|
adds r0, 0x2
|
||||||
strh r0, [r4, 0x38]
|
strh r0, [r4, 0x38]
|
||||||
movs r0, 0x3F
|
movs r0, 0x3F
|
||||||
bl sub_8073A44
|
bl BattleAnimAdjustPanning
|
||||||
lsls r0, 24
|
lsls r0, 24
|
||||||
asrs r0, 24
|
asrs r0, 24
|
||||||
strh r0, [r4, 0x3A]
|
strh r0, [r4, 0x3A]
|
||||||
|
|||||||
@@ -1414,7 +1414,7 @@ sub_80DED48: @ 80DED48
|
|||||||
bne _080DEDA6
|
bne _080DEDA6
|
||||||
movs r0, 0x40
|
movs r0, 0x40
|
||||||
negs r0, r0
|
negs r0, r0
|
||||||
bl sub_8073A44
|
bl BattleAnimAdjustPanning
|
||||||
adds r1, r0, 0
|
adds r1, r0, 0
|
||||||
lsls r1, 24
|
lsls r1, 24
|
||||||
asrs r1, 24
|
asrs r1, 24
|
||||||
@@ -2109,7 +2109,7 @@ _080DF2A8:
|
|||||||
lsrs r4, r0, 24
|
lsrs r4, r0, 24
|
||||||
movs r0, 0x40
|
movs r0, 0x40
|
||||||
negs r0, r0
|
negs r0, r0
|
||||||
bl sub_8073A44
|
bl BattleAnimAdjustPanning
|
||||||
adds r1, r0, 0
|
adds r1, r0, 0
|
||||||
lsls r1, 24
|
lsls r1, 24
|
||||||
asrs r1, 24
|
asrs r1, 24
|
||||||
@@ -3603,7 +3603,7 @@ _080DFE66:
|
|||||||
strh r0, [r1, 0x8]
|
strh r0, [r1, 0x8]
|
||||||
movs r0, 0x40
|
movs r0, 0x40
|
||||||
negs r0, r0
|
negs r0, r0
|
||||||
bl sub_8073A44
|
bl BattleAnimAdjustPanning
|
||||||
adds r1, r0, 0
|
adds r1, r0, 0
|
||||||
lsls r1, 24
|
lsls r1, 24
|
||||||
asrs r1, 24
|
asrs r1, 24
|
||||||
@@ -10554,7 +10554,7 @@ _080E3412:
|
|||||||
bne _080E34C6
|
bne _080E34C6
|
||||||
movs r0, 0x40
|
movs r0, 0x40
|
||||||
negs r0, r0
|
negs r0, r0
|
||||||
bl sub_8073A44
|
bl BattleAnimAdjustPanning
|
||||||
adds r1, r0, 0
|
adds r1, r0, 0
|
||||||
lsls r1, 24
|
lsls r1, 24
|
||||||
asrs r1, 24
|
asrs r1, 24
|
||||||
@@ -10627,7 +10627,7 @@ _080E34A4:
|
|||||||
bne _080E34C6
|
bne _080E34C6
|
||||||
movs r0, 0x40
|
movs r0, 0x40
|
||||||
negs r0, r0
|
negs r0, r0
|
||||||
bl sub_8073A44
|
bl BattleAnimAdjustPanning
|
||||||
adds r1, r0, 0
|
adds r1, r0, 0
|
||||||
lsls r1, 24
|
lsls r1, 24
|
||||||
asrs r1, 24
|
asrs r1, 24
|
||||||
@@ -10724,7 +10724,7 @@ _080E3564:
|
|||||||
cmp r0, 0
|
cmp r0, 0
|
||||||
blt _080E365E
|
blt _080E365E
|
||||||
movs r0, 0x3F
|
movs r0, 0x3F
|
||||||
bl sub_8073A44
|
bl BattleAnimAdjustPanning
|
||||||
adds r1, r0, 0
|
adds r1, r0, 0
|
||||||
lsls r1, 24
|
lsls r1, 24
|
||||||
asrs r1, 24
|
asrs r1, 24
|
||||||
@@ -10753,7 +10753,7 @@ _080E3588:
|
|||||||
cmp r1, 0x7F
|
cmp r1, 0x7F
|
||||||
ble _080E365E
|
ble _080E365E
|
||||||
movs r0, 0x3F
|
movs r0, 0x3F
|
||||||
bl sub_8073A44
|
bl BattleAnimAdjustPanning
|
||||||
adds r1, r0, 0
|
adds r1, r0, 0
|
||||||
lsls r1, 24
|
lsls r1, 24
|
||||||
asrs r1, 24
|
asrs r1, 24
|
||||||
@@ -10797,7 +10797,7 @@ _080E35F8:
|
|||||||
cmp r0, 0x8
|
cmp r0, 0x8
|
||||||
ble _080E365E
|
ble _080E365E
|
||||||
movs r0, 0x3F
|
movs r0, 0x3F
|
||||||
bl sub_8073A44
|
bl BattleAnimAdjustPanning
|
||||||
adds r1, r0, 0
|
adds r1, r0, 0
|
||||||
lsls r1, 24
|
lsls r1, 24
|
||||||
asrs r1, 24
|
asrs r1, 24
|
||||||
@@ -11883,7 +11883,7 @@ _080E3E96:
|
|||||||
cmp r1, r0
|
cmp r1, r0
|
||||||
bne _080E3F28
|
bne _080E3F28
|
||||||
movs r0, 0x3F
|
movs r0, 0x3F
|
||||||
bl sub_8073A44
|
bl BattleAnimAdjustPanning
|
||||||
adds r1, r0, 0
|
adds r1, r0, 0
|
||||||
lsls r1, 24
|
lsls r1, 24
|
||||||
asrs r1, 24
|
asrs r1, 24
|
||||||
|
|||||||
@@ -512,14 +512,14 @@ sub_8074844: @ 8074844
|
|||||||
ldrh r0, [r1, 0x2]
|
ldrh r0, [r1, 0x2]
|
||||||
cmp r0, 0
|
cmp r0, 0
|
||||||
bne _0807487C
|
bne _0807487C
|
||||||
ldr r1, _08074878 @ =gUnknown_2037F1C
|
ldr r1, _08074878 @ =gAnimBattlerSpecies
|
||||||
lsls r0, r2, 1
|
lsls r0, r2, 1
|
||||||
adds r0, r1
|
adds r0, r1
|
||||||
ldrh r1, [r0]
|
ldrh r1, [r0]
|
||||||
b _0807487E
|
b _0807487E
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_08074874: .4byte gBattleSpritesDataPtr
|
_08074874: .4byte gBattleSpritesDataPtr
|
||||||
_08074878: .4byte gUnknown_2037F1C
|
_08074878: .4byte gAnimBattlerSpecies
|
||||||
_0807487C:
|
_0807487C:
|
||||||
ldrh r1, [r1, 0x2]
|
ldrh r1, [r1, 0x2]
|
||||||
_0807487E:
|
_0807487E:
|
||||||
|
|||||||
@@ -1,927 +0,0 @@
|
|||||||
.include "asm/macros.inc"
|
|
||||||
.include "constants/constants.inc"
|
|
||||||
|
|
||||||
.syntax unified
|
|
||||||
|
|
||||||
.text
|
|
||||||
|
|
||||||
thumb_func_start sub_80DCE10
|
|
||||||
sub_80DCE10: @ 80DCE10
|
|
||||||
push {r4-r6,lr}
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
ldr r1, _080DCE6C @ =gTasks
|
|
||||||
lsls r6, r0, 2
|
|
||||||
adds r6, r0
|
|
||||||
lsls r6, 3
|
|
||||||
adds r6, r1
|
|
||||||
ldr r1, _080DCE70 @ =gBattleAnimArgs
|
|
||||||
ldrh r0, [r1]
|
|
||||||
strh r0, [r6, 0x8]
|
|
||||||
ldrh r0, [r1, 0x2]
|
|
||||||
strh r0, [r6, 0xA]
|
|
||||||
movs r0, 0x40
|
|
||||||
negs r0, r0
|
|
||||||
bl sub_8073A44
|
|
||||||
adds r4, r0, 0
|
|
||||||
lsls r4, 24
|
|
||||||
lsrs r4, 24
|
|
||||||
movs r0, 0x3F
|
|
||||||
bl sub_8073A44
|
|
||||||
adds r5, r0, 0
|
|
||||||
lsls r4, 24
|
|
||||||
asrs r4, 24
|
|
||||||
lsls r5, 24
|
|
||||||
asrs r5, 24
|
|
||||||
adds r0, r4, 0
|
|
||||||
adds r1, r5, 0
|
|
||||||
movs r2, 0x2
|
|
||||||
bl CalculatePanIncrement
|
|
||||||
strh r4, [r6, 0xC]
|
|
||||||
strh r5, [r6, 0xE]
|
|
||||||
lsls r0, 24
|
|
||||||
asrs r0, 24
|
|
||||||
strh r0, [r6, 0x10]
|
|
||||||
movs r0, 0xA
|
|
||||||
strh r0, [r6, 0x1C]
|
|
||||||
ldr r0, _080DCE74 @ =sub_80DCE78
|
|
||||||
str r0, [r6]
|
|
||||||
pop {r4-r6}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_080DCE6C: .4byte gTasks
|
|
||||||
_080DCE70: .4byte gBattleAnimArgs
|
|
||||||
_080DCE74: .4byte sub_80DCE78
|
|
||||||
thumb_func_end sub_80DCE10
|
|
||||||
|
|
||||||
thumb_func_start sub_80DCE78
|
|
||||||
sub_80DCE78: @ 80DCE78
|
|
||||||
push {r4-r6,lr}
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
ldr r2, _080DCEA8 @ =gTasks
|
|
||||||
lsls r1, r0, 2
|
|
||||||
adds r1, r0
|
|
||||||
lsls r1, 3
|
|
||||||
adds r4, r1, r2
|
|
||||||
ldrh r5, [r4, 0xC]
|
|
||||||
ldrb r6, [r4, 0x10]
|
|
||||||
ldrh r0, [r4, 0x1E]
|
|
||||||
adds r0, 0x1
|
|
||||||
movs r1, 0
|
|
||||||
strh r0, [r4, 0x1E]
|
|
||||||
lsls r0, 16
|
|
||||||
asrs r0, 16
|
|
||||||
cmp r0, 0x6F
|
|
||||||
bne _080DCEB0
|
|
||||||
movs r0, 0x5
|
|
||||||
strh r0, [r4, 0x1C]
|
|
||||||
strh r1, [r4, 0x1E]
|
|
||||||
ldr r0, _080DCEAC @ =sub_80DCEE4
|
|
||||||
str r0, [r4]
|
|
||||||
b _080DCEDE
|
|
||||||
.align 2, 0
|
|
||||||
_080DCEA8: .4byte gTasks
|
|
||||||
_080DCEAC: .4byte sub_80DCEE4
|
|
||||||
_080DCEB0:
|
|
||||||
ldrh r0, [r4, 0x1C]
|
|
||||||
adds r0, 0x1
|
|
||||||
strh r0, [r4, 0x1C]
|
|
||||||
lsls r0, 16
|
|
||||||
asrs r0, 16
|
|
||||||
cmp r0, 0xB
|
|
||||||
bne _080DCECA
|
|
||||||
strh r1, [r4, 0x1C]
|
|
||||||
ldrh r0, [r4, 0x8]
|
|
||||||
lsls r1, r5, 24
|
|
||||||
asrs r1, 24
|
|
||||||
bl PlaySE12WithPanning
|
|
||||||
_080DCECA:
|
|
||||||
lsls r1, r6, 24
|
|
||||||
asrs r1, 24
|
|
||||||
lsls r0, r5, 16
|
|
||||||
asrs r0, 16
|
|
||||||
adds r0, r1
|
|
||||||
lsls r0, 16
|
|
||||||
asrs r0, 16
|
|
||||||
bl sub_8073B60
|
|
||||||
strh r0, [r4, 0xC]
|
|
||||||
_080DCEDE:
|
|
||||||
pop {r4-r6}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
thumb_func_end sub_80DCE78
|
|
||||||
|
|
||||||
thumb_func_start sub_80DCEE4
|
|
||||||
sub_80DCEE4: @ 80DCEE4
|
|
||||||
push {r4,r5,lr}
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r5, r0, 24
|
|
||||||
ldr r1, _080DCF34 @ =gTasks
|
|
||||||
lsls r0, r5, 2
|
|
||||||
adds r0, r5
|
|
||||||
lsls r0, 3
|
|
||||||
adds r4, r0, r1
|
|
||||||
ldrh r0, [r4, 0x1C]
|
|
||||||
adds r0, 0x1
|
|
||||||
strh r0, [r4, 0x1C]
|
|
||||||
lsls r0, 16
|
|
||||||
asrs r0, 16
|
|
||||||
cmp r0, 0x6
|
|
||||||
bne _080DCF2C
|
|
||||||
movs r0, 0
|
|
||||||
strh r0, [r4, 0x1C]
|
|
||||||
movs r0, 0x3F
|
|
||||||
bl sub_8073A44
|
|
||||||
adds r1, r0, 0
|
|
||||||
ldrh r0, [r4, 0xA]
|
|
||||||
lsls r1, 24
|
|
||||||
asrs r1, 24
|
|
||||||
bl PlaySE12WithPanning
|
|
||||||
ldrh r0, [r4, 0x1E]
|
|
||||||
adds r0, 0x1
|
|
||||||
strh r0, [r4, 0x1E]
|
|
||||||
lsls r0, 16
|
|
||||||
asrs r0, 16
|
|
||||||
cmp r0, 0x2
|
|
||||||
bne _080DCF2C
|
|
||||||
adds r0, r5, 0
|
|
||||||
bl DestroyAnimSoundTask
|
|
||||||
_080DCF2C:
|
|
||||||
pop {r4,r5}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_080DCF34: .4byte gTasks
|
|
||||||
thumb_func_end sub_80DCEE4
|
|
||||||
|
|
||||||
thumb_func_start mas_80DCF38
|
|
||||||
mas_80DCF38: @ 80DCF38
|
|
||||||
push {r4-r7,lr}
|
|
||||||
mov r7, r10
|
|
||||||
mov r6, r9
|
|
||||||
mov r5, r8
|
|
||||||
push {r5-r7}
|
|
||||||
sub sp, 0x4
|
|
||||||
mov r8, r0
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
mov r8, r0
|
|
||||||
ldr r0, _080DCFDC @ =gBattleAnimArgs
|
|
||||||
ldrh r1, [r0]
|
|
||||||
str r1, [sp]
|
|
||||||
ldrb r5, [r0, 0x4]
|
|
||||||
ldrb r6, [r0, 0x6]
|
|
||||||
ldrb r3, [r0, 0x8]
|
|
||||||
mov r10, r3
|
|
||||||
ldrb r7, [r0, 0xA]
|
|
||||||
ldrb r1, [r0, 0xC]
|
|
||||||
mov r9, r1
|
|
||||||
ldrb r0, [r0, 0x2]
|
|
||||||
lsls r0, 24
|
|
||||||
asrs r0, 24
|
|
||||||
bl sub_8073A44
|
|
||||||
adds r4, r0, 0
|
|
||||||
lsls r4, 24
|
|
||||||
lsrs r4, 24
|
|
||||||
lsls r5, 24
|
|
||||||
asrs r5, 24
|
|
||||||
adds r0, r5, 0
|
|
||||||
bl sub_8073A44
|
|
||||||
adds r5, r0, 0
|
|
||||||
lsls r4, 24
|
|
||||||
asrs r4, 24
|
|
||||||
lsls r5, 24
|
|
||||||
asrs r5, 24
|
|
||||||
lsls r6, 24
|
|
||||||
asrs r6, 24
|
|
||||||
adds r0, r4, 0
|
|
||||||
adds r1, r5, 0
|
|
||||||
adds r2, r6, 0
|
|
||||||
bl CalculatePanIncrement
|
|
||||||
ldr r2, _080DCFE0 @ =gTasks
|
|
||||||
mov r3, r8
|
|
||||||
lsls r1, r3, 2
|
|
||||||
add r1, r8
|
|
||||||
lsls r1, 3
|
|
||||||
adds r1, r2
|
|
||||||
movs r2, 0
|
|
||||||
mov r6, sp
|
|
||||||
ldrh r6, [r6]
|
|
||||||
strh r6, [r1, 0x8]
|
|
||||||
strh r4, [r1, 0xA]
|
|
||||||
strh r5, [r1, 0xC]
|
|
||||||
lsls r0, 24
|
|
||||||
asrs r0, 24
|
|
||||||
strh r0, [r1, 0xE]
|
|
||||||
mov r0, r10
|
|
||||||
strh r0, [r1, 0x10]
|
|
||||||
strh r7, [r1, 0x12]
|
|
||||||
mov r3, r9
|
|
||||||
strh r3, [r1, 0x14]
|
|
||||||
strh r2, [r1, 0x1C]
|
|
||||||
strh r4, [r1, 0x1E]
|
|
||||||
strh r3, [r1, 0x20]
|
|
||||||
ldr r2, _080DCFE4 @ =sub_80DCFE8
|
|
||||||
str r2, [r1]
|
|
||||||
mov r0, r8
|
|
||||||
bl _call_via_r2
|
|
||||||
add sp, 0x4
|
|
||||||
pop {r3-r5}
|
|
||||||
mov r8, r3
|
|
||||||
mov r9, r4
|
|
||||||
mov r10, r5
|
|
||||||
pop {r4-r7}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_080DCFDC: .4byte gBattleAnimArgs
|
|
||||||
_080DCFE0: .4byte gTasks
|
|
||||||
_080DCFE4: .4byte sub_80DCFE8
|
|
||||||
thumb_func_end mas_80DCF38
|
|
||||||
|
|
||||||
thumb_func_start sub_80DCFE8
|
|
||||||
sub_80DCFE8: @ 80DCFE8
|
|
||||||
push {r4,r5,lr}
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r5, r0, 24
|
|
||||||
ldr r1, _080DD02C @ =gTasks
|
|
||||||
lsls r0, r5, 2
|
|
||||||
adds r0, r5
|
|
||||||
lsls r0, 3
|
|
||||||
adds r4, r0, r1
|
|
||||||
ldrh r0, [r4, 0x20]
|
|
||||||
adds r1, r0, 0x1
|
|
||||||
strh r1, [r4, 0x20]
|
|
||||||
lsls r0, 16
|
|
||||||
asrs r0, 16
|
|
||||||
movs r2, 0x14
|
|
||||||
ldrsh r1, [r4, r2]
|
|
||||||
cmp r0, r1
|
|
||||||
bne _080DD030
|
|
||||||
movs r0, 0
|
|
||||||
strh r0, [r4, 0x20]
|
|
||||||
ldrh r0, [r4, 0x8]
|
|
||||||
movs r1, 0x1E
|
|
||||||
ldrsb r1, [r4, r1]
|
|
||||||
bl PlaySE12WithPanning
|
|
||||||
ldrh r0, [r4, 0x10]
|
|
||||||
subs r0, 0x1
|
|
||||||
strh r0, [r4, 0x10]
|
|
||||||
lsls r0, 16
|
|
||||||
cmp r0, 0
|
|
||||||
bne _080DD030
|
|
||||||
adds r0, r5, 0
|
|
||||||
bl DestroyAnimSoundTask
|
|
||||||
b _080DD062
|
|
||||||
.align 2, 0
|
|
||||||
_080DD02C: .4byte gTasks
|
|
||||||
_080DD030:
|
|
||||||
ldr r1, _080DD068 @ =gTasks
|
|
||||||
lsls r0, r5, 2
|
|
||||||
adds r0, r5
|
|
||||||
lsls r0, 3
|
|
||||||
adds r4, r0, r1
|
|
||||||
ldrh r0, [r4, 0x1C]
|
|
||||||
adds r1, r0, 0x1
|
|
||||||
strh r1, [r4, 0x1C]
|
|
||||||
lsls r0, 16
|
|
||||||
asrs r0, 16
|
|
||||||
movs r2, 0x12
|
|
||||||
ldrsh r1, [r4, r2]
|
|
||||||
cmp r0, r1
|
|
||||||
bne _080DD062
|
|
||||||
movs r0, 0
|
|
||||||
strh r0, [r4, 0x1C]
|
|
||||||
ldrh r0, [r4, 0xE]
|
|
||||||
ldrh r1, [r4, 0x1E]
|
|
||||||
adds r0, r1
|
|
||||||
strh r0, [r4, 0x1E]
|
|
||||||
movs r2, 0x1E
|
|
||||||
ldrsh r0, [r4, r2]
|
|
||||||
bl sub_8073B60
|
|
||||||
strh r0, [r4, 0x1E]
|
|
||||||
_080DD062:
|
|
||||||
pop {r4,r5}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_080DD068: .4byte gTasks
|
|
||||||
thumb_func_end sub_80DCFE8
|
|
||||||
|
|
||||||
thumb_func_start sub_80DD06C
|
|
||||||
sub_80DD06C: @ 80DD06C
|
|
||||||
push {r4-r6,lr}
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r5, r0, 24
|
|
||||||
movs r0, 0x40
|
|
||||||
negs r0, r0
|
|
||||||
bl sub_8073A44
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r6, r0, 24
|
|
||||||
ldr r0, _080DD090 @ =gBattleAnimArgs
|
|
||||||
movs r1, 0
|
|
||||||
ldrsh r0, [r0, r1]
|
|
||||||
cmp r0, 0
|
|
||||||
bne _080DD098
|
|
||||||
ldr r0, _080DD094 @ =gBattleAnimAttacker
|
|
||||||
ldrb r4, [r0]
|
|
||||||
b _080DD0BE
|
|
||||||
.align 2, 0
|
|
||||||
_080DD090: .4byte gBattleAnimArgs
|
|
||||||
_080DD094: .4byte gBattleAnimAttacker
|
|
||||||
_080DD098:
|
|
||||||
cmp r0, 0x1
|
|
||||||
bne _080DD0A8
|
|
||||||
ldr r0, _080DD0A4 @ =gBattleAnimTarget
|
|
||||||
ldrb r4, [r0]
|
|
||||||
b _080DD0BE
|
|
||||||
.align 2, 0
|
|
||||||
_080DD0A4: .4byte gBattleAnimTarget
|
|
||||||
_080DD0A8:
|
|
||||||
cmp r0, 0x2
|
|
||||||
bne _080DD0B4
|
|
||||||
ldr r0, _080DD0B0 @ =gBattleAnimAttacker
|
|
||||||
b _080DD0B6
|
|
||||||
.align 2, 0
|
|
||||||
_080DD0B0: .4byte gBattleAnimAttacker
|
|
||||||
_080DD0B4:
|
|
||||||
ldr r0, _080DD0E0 @ =gBattleAnimTarget
|
|
||||||
_080DD0B6:
|
|
||||||
ldrb r1, [r0]
|
|
||||||
movs r0, 0x2
|
|
||||||
adds r4, r0, 0
|
|
||||||
eors r4, r1
|
|
||||||
_080DD0BE:
|
|
||||||
ldr r0, _080DD0E4 @ =gBattleAnimArgs
|
|
||||||
movs r1, 0
|
|
||||||
ldrsh r0, [r0, r1]
|
|
||||||
cmp r0, 0x1
|
|
||||||
beq _080DD0CC
|
|
||||||
cmp r0, 0x3
|
|
||||||
bne _080DD0E8
|
|
||||||
_080DD0CC:
|
|
||||||
adds r0, r4, 0
|
|
||||||
bl IsBattlerSpriteVisible
|
|
||||||
lsls r0, 24
|
|
||||||
cmp r0, 0
|
|
||||||
bne _080DD0E8
|
|
||||||
adds r0, r5, 0
|
|
||||||
bl DestroyAnimVisualTask
|
|
||||||
b _080DD13A
|
|
||||||
.align 2, 0
|
|
||||||
_080DD0E0: .4byte gBattleAnimTarget
|
|
||||||
_080DD0E4: .4byte gBattleAnimArgs
|
|
||||||
_080DD0E8:
|
|
||||||
adds r0, r4, 0
|
|
||||||
bl GetBattlerSide
|
|
||||||
lsls r0, 24
|
|
||||||
cmp r0, 0
|
|
||||||
beq _080DD10C
|
|
||||||
ldr r1, _080DD104 @ =gBattlerPartyIndexes
|
|
||||||
lsls r0, r4, 1
|
|
||||||
adds r0, r1
|
|
||||||
ldrh r1, [r0]
|
|
||||||
movs r0, 0x64
|
|
||||||
muls r0, r1
|
|
||||||
ldr r1, _080DD108 @ =gEnemyParty
|
|
||||||
b _080DD11A
|
|
||||||
.align 2, 0
|
|
||||||
_080DD104: .4byte gBattlerPartyIndexes
|
|
||||||
_080DD108: .4byte gEnemyParty
|
|
||||||
_080DD10C:
|
|
||||||
ldr r1, _080DD140 @ =gBattlerPartyIndexes
|
|
||||||
lsls r0, r4, 1
|
|
||||||
adds r0, r1
|
|
||||||
ldrh r1, [r0]
|
|
||||||
movs r0, 0x64
|
|
||||||
muls r0, r1
|
|
||||||
ldr r1, _080DD144 @ =gPlayerParty
|
|
||||||
_080DD11A:
|
|
||||||
adds r0, r1
|
|
||||||
movs r1, 0xB
|
|
||||||
bl GetMonData
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r0, 16
|
|
||||||
cmp r0, 0
|
|
||||||
beq _080DD134
|
|
||||||
lsls r1, r6, 24
|
|
||||||
asrs r1, 24
|
|
||||||
movs r2, 0x3
|
|
||||||
bl PlayCry3
|
|
||||||
_080DD134:
|
|
||||||
adds r0, r5, 0
|
|
||||||
bl DestroyAnimVisualTask
|
|
||||||
_080DD13A:
|
|
||||||
pop {r4-r6}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_080DD140: .4byte gBattlerPartyIndexes
|
|
||||||
_080DD144: .4byte gPlayerParty
|
|
||||||
thumb_func_end sub_80DD06C
|
|
||||||
|
|
||||||
thumb_func_start sub_80DD148
|
|
||||||
sub_80DD148: @ 80DD148
|
|
||||||
push {r4-r6,lr}
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r6, r0, 24
|
|
||||||
movs r0, 0x40
|
|
||||||
negs r0, r0
|
|
||||||
bl sub_8073A44
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r5, r0, 24
|
|
||||||
ldr r0, _080DD16C @ =gBattleAnimArgs
|
|
||||||
movs r1, 0
|
|
||||||
ldrsh r0, [r0, r1]
|
|
||||||
cmp r0, 0
|
|
||||||
bne _080DD174
|
|
||||||
ldr r0, _080DD170 @ =gBattleAnimAttacker
|
|
||||||
ldrb r4, [r0]
|
|
||||||
b _080DD19A
|
|
||||||
.align 2, 0
|
|
||||||
_080DD16C: .4byte gBattleAnimArgs
|
|
||||||
_080DD170: .4byte gBattleAnimAttacker
|
|
||||||
_080DD174:
|
|
||||||
cmp r0, 0x1
|
|
||||||
bne _080DD184
|
|
||||||
ldr r0, _080DD180 @ =gBattleAnimTarget
|
|
||||||
ldrb r4, [r0]
|
|
||||||
b _080DD19A
|
|
||||||
.align 2, 0
|
|
||||||
_080DD180: .4byte gBattleAnimTarget
|
|
||||||
_080DD184:
|
|
||||||
cmp r0, 0x2
|
|
||||||
bne _080DD190
|
|
||||||
ldr r0, _080DD18C @ =gBattleAnimAttacker
|
|
||||||
b _080DD192
|
|
||||||
.align 2, 0
|
|
||||||
_080DD18C: .4byte gBattleAnimAttacker
|
|
||||||
_080DD190:
|
|
||||||
ldr r0, _080DD1BC @ =gBattleAnimTarget
|
|
||||||
_080DD192:
|
|
||||||
ldrb r1, [r0]
|
|
||||||
movs r0, 0x2
|
|
||||||
adds r4, r0, 0
|
|
||||||
eors r4, r1
|
|
||||||
_080DD19A:
|
|
||||||
ldr r0, _080DD1C0 @ =gBattleAnimArgs
|
|
||||||
movs r2, 0
|
|
||||||
ldrsh r0, [r0, r2]
|
|
||||||
cmp r0, 0x1
|
|
||||||
beq _080DD1A8
|
|
||||||
cmp r0, 0x3
|
|
||||||
bne _080DD1C4
|
|
||||||
_080DD1A8:
|
|
||||||
adds r0, r4, 0
|
|
||||||
bl IsBattlerSpriteVisible
|
|
||||||
lsls r0, 24
|
|
||||||
cmp r0, 0
|
|
||||||
bne _080DD1C4
|
|
||||||
adds r0, r6, 0
|
|
||||||
bl DestroyAnimVisualTask
|
|
||||||
b _080DD26A
|
|
||||||
.align 2, 0
|
|
||||||
_080DD1BC: .4byte gBattleAnimTarget
|
|
||||||
_080DD1C0: .4byte gBattleAnimArgs
|
|
||||||
_080DD1C4:
|
|
||||||
adds r0, r4, 0
|
|
||||||
bl GetBattlerSide
|
|
||||||
lsls r0, 24
|
|
||||||
cmp r0, 0
|
|
||||||
beq _080DD1E8
|
|
||||||
ldr r1, _080DD1E0 @ =gBattlerPartyIndexes
|
|
||||||
lsls r0, r4, 1
|
|
||||||
adds r0, r1
|
|
||||||
ldrh r1, [r0]
|
|
||||||
movs r0, 0x64
|
|
||||||
muls r0, r1
|
|
||||||
ldr r1, _080DD1E4 @ =gEnemyParty
|
|
||||||
b _080DD1F6
|
|
||||||
.align 2, 0
|
|
||||||
_080DD1E0: .4byte gBattlerPartyIndexes
|
|
||||||
_080DD1E4: .4byte gEnemyParty
|
|
||||||
_080DD1E8:
|
|
||||||
ldr r1, _080DD234 @ =gBattlerPartyIndexes
|
|
||||||
lsls r0, r4, 1
|
|
||||||
adds r0, r1
|
|
||||||
ldrh r1, [r0]
|
|
||||||
movs r0, 0x64
|
|
||||||
muls r0, r1
|
|
||||||
ldr r1, _080DD238 @ =gPlayerParty
|
|
||||||
_080DD1F6:
|
|
||||||
adds r0, r1
|
|
||||||
movs r1, 0xB
|
|
||||||
bl GetMonData
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r3, r0, 16
|
|
||||||
ldr r1, _080DD23C @ =gTasks
|
|
||||||
lsls r2, r6, 2
|
|
||||||
adds r0, r2, r6
|
|
||||||
lsls r0, 3
|
|
||||||
adds r0, r1
|
|
||||||
ldr r4, _080DD240 @ =gBattleAnimArgs
|
|
||||||
ldrh r1, [r4, 0x2]
|
|
||||||
strh r1, [r0, 0x8]
|
|
||||||
strh r3, [r0, 0xA]
|
|
||||||
lsls r1, r5, 24
|
|
||||||
asrs r1, 24
|
|
||||||
strh r1, [r0, 0xC]
|
|
||||||
adds r5, r2, 0
|
|
||||||
cmp r3, 0
|
|
||||||
beq _080DD264
|
|
||||||
movs r2, 0x2
|
|
||||||
ldrsh r0, [r4, r2]
|
|
||||||
cmp r0, 0xFF
|
|
||||||
bne _080DD244
|
|
||||||
adds r0, r3, 0
|
|
||||||
movs r2, 0x9
|
|
||||||
bl PlayCry3
|
|
||||||
b _080DD24C
|
|
||||||
.align 2, 0
|
|
||||||
_080DD234: .4byte gBattlerPartyIndexes
|
|
||||||
_080DD238: .4byte gPlayerParty
|
|
||||||
_080DD23C: .4byte gTasks
|
|
||||||
_080DD240: .4byte gBattleAnimArgs
|
|
||||||
_080DD244:
|
|
||||||
adds r0, r3, 0
|
|
||||||
movs r2, 0x7
|
|
||||||
bl PlayCry3
|
|
||||||
_080DD24C:
|
|
||||||
ldr r0, _080DD25C @ =gTasks
|
|
||||||
adds r1, r5, r6
|
|
||||||
lsls r1, 3
|
|
||||||
adds r1, r0
|
|
||||||
ldr r0, _080DD260 @ =sub_80DD270
|
|
||||||
str r0, [r1]
|
|
||||||
b _080DD26A
|
|
||||||
.align 2, 0
|
|
||||||
_080DD25C: .4byte gTasks
|
|
||||||
_080DD260: .4byte sub_80DD270
|
|
||||||
_080DD264:
|
|
||||||
adds r0, r6, 0
|
|
||||||
bl DestroyAnimVisualTask
|
|
||||||
_080DD26A:
|
|
||||||
pop {r4-r6}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
thumb_func_end sub_80DD148
|
|
||||||
|
|
||||||
thumb_func_start sub_80DD270
|
|
||||||
sub_80DD270: @ 80DD270
|
|
||||||
push {r4-r7,lr}
|
|
||||||
mov r7, r9
|
|
||||||
mov r6, r8
|
|
||||||
push {r6,r7}
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r4, r0, 24
|
|
||||||
mov r9, r4
|
|
||||||
ldr r1, _080DD2A0 @ =gTasks
|
|
||||||
lsls r0, r4, 2
|
|
||||||
adds r0, r4
|
|
||||||
lsls r0, 3
|
|
||||||
adds r1, r0, r1
|
|
||||||
ldrh r6, [r1, 0xA]
|
|
||||||
mov r8, r6
|
|
||||||
ldrb r5, [r1, 0xC]
|
|
||||||
adds r7, r5, 0
|
|
||||||
ldrh r2, [r1, 0x1A]
|
|
||||||
movs r3, 0x1A
|
|
||||||
ldrsh r0, [r1, r3]
|
|
||||||
cmp r0, 0x1
|
|
||||||
bgt _080DD2A4
|
|
||||||
adds r0, r2, 0x1
|
|
||||||
strh r0, [r1, 0x1A]
|
|
||||||
b _080DD2E6
|
|
||||||
.align 2, 0
|
|
||||||
_080DD2A0: .4byte gTasks
|
|
||||||
_080DD2A4:
|
|
||||||
movs r2, 0x8
|
|
||||||
ldrsh r0, [r1, r2]
|
|
||||||
cmp r0, 0xFF
|
|
||||||
bne _080DD2CA
|
|
||||||
bl IsCryPlaying
|
|
||||||
lsls r0, 24
|
|
||||||
cmp r0, 0
|
|
||||||
bne _080DD2E6
|
|
||||||
lsls r1, r5, 24
|
|
||||||
asrs r1, 24
|
|
||||||
adds r0, r6, 0
|
|
||||||
movs r2, 0xA
|
|
||||||
bl PlayCry3
|
|
||||||
adds r0, r4, 0
|
|
||||||
bl DestroyAnimVisualTask
|
|
||||||
b _080DD2E6
|
|
||||||
_080DD2CA:
|
|
||||||
bl IsCryPlaying
|
|
||||||
lsls r0, 24
|
|
||||||
cmp r0, 0
|
|
||||||
bne _080DD2E6
|
|
||||||
lsls r1, r7, 24
|
|
||||||
asrs r1, 24
|
|
||||||
mov r0, r8
|
|
||||||
movs r2, 0x8
|
|
||||||
bl PlayCry3
|
|
||||||
mov r0, r9
|
|
||||||
bl DestroyAnimVisualTask
|
|
||||||
_080DD2E6:
|
|
||||||
pop {r3,r4}
|
|
||||||
mov r8, r3
|
|
||||||
mov r9, r4
|
|
||||||
pop {r4-r7}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
thumb_func_end sub_80DD270
|
|
||||||
|
|
||||||
thumb_func_start sub_80DD2F4
|
|
||||||
sub_80DD2F4: @ 80DD2F4
|
|
||||||
push {r4,lr}
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
adds r4, r0, 0
|
|
||||||
ldr r1, _080DD318 @ =gTasks
|
|
||||||
lsls r0, r4, 2
|
|
||||||
adds r0, r4
|
|
||||||
lsls r0, 3
|
|
||||||
adds r1, r0, r1
|
|
||||||
ldrh r2, [r1, 0x1A]
|
|
||||||
movs r3, 0x1A
|
|
||||||
ldrsh r0, [r1, r3]
|
|
||||||
cmp r0, 0x1
|
|
||||||
bgt _080DD31C
|
|
||||||
adds r0, r2, 0x1
|
|
||||||
strh r0, [r1, 0x1A]
|
|
||||||
b _080DD32C
|
|
||||||
.align 2, 0
|
|
||||||
_080DD318: .4byte gTasks
|
|
||||||
_080DD31C:
|
|
||||||
bl IsCryPlaying
|
|
||||||
lsls r0, 24
|
|
||||||
cmp r0, 0
|
|
||||||
bne _080DD32C
|
|
||||||
adds r0, r4, 0
|
|
||||||
bl DestroyAnimVisualTask
|
|
||||||
_080DD32C:
|
|
||||||
pop {r4}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
thumb_func_end sub_80DD2F4
|
|
||||||
|
|
||||||
thumb_func_start sub_80DD334
|
|
||||||
sub_80DD334: @ 80DD334
|
|
||||||
push {r4,r5,lr}
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r5, r0, 24
|
|
||||||
movs r0, 0x40
|
|
||||||
negs r0, r0
|
|
||||||
bl sub_8073A44
|
|
||||||
ldr r2, _080DD374 @ =gUnknown_2037F1C
|
|
||||||
ldr r1, _080DD378 @ =gBattleAnimAttacker
|
|
||||||
ldrb r1, [r1]
|
|
||||||
lsls r1, 1
|
|
||||||
adds r1, r2
|
|
||||||
ldrh r3, [r1]
|
|
||||||
ldr r2, _080DD37C @ =gTasks
|
|
||||||
lsls r1, r5, 2
|
|
||||||
adds r1, r5
|
|
||||||
lsls r1, 3
|
|
||||||
adds r4, r1, r2
|
|
||||||
strh r3, [r4, 0xA]
|
|
||||||
lsls r0, 24
|
|
||||||
asrs r1, r0, 24
|
|
||||||
strh r1, [r4, 0xC]
|
|
||||||
cmp r3, 0
|
|
||||||
beq _080DD384
|
|
||||||
adds r0, r3, 0
|
|
||||||
movs r2, 0x4
|
|
||||||
bl PlayCry3
|
|
||||||
ldr r0, _080DD380 @ =sub_80DD390
|
|
||||||
str r0, [r4]
|
|
||||||
b _080DD38A
|
|
||||||
.align 2, 0
|
|
||||||
_080DD374: .4byte gUnknown_2037F1C
|
|
||||||
_080DD378: .4byte gBattleAnimAttacker
|
|
||||||
_080DD37C: .4byte gTasks
|
|
||||||
_080DD380: .4byte sub_80DD390
|
|
||||||
_080DD384:
|
|
||||||
adds r0, r5, 0
|
|
||||||
bl DestroyAnimVisualTask
|
|
||||||
_080DD38A:
|
|
||||||
pop {r4,r5}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
thumb_func_end sub_80DD334
|
|
||||||
|
|
||||||
thumb_func_start sub_80DD390
|
|
||||||
sub_80DD390: @ 80DD390
|
|
||||||
push {r4,r5,lr}
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
adds r5, r0, 0
|
|
||||||
ldr r1, _080DD3B4 @ =gTasks
|
|
||||||
lsls r0, r5, 2
|
|
||||||
adds r0, r5
|
|
||||||
lsls r0, 3
|
|
||||||
adds r4, r0, r1
|
|
||||||
ldrh r1, [r4, 0x1A]
|
|
||||||
movs r2, 0x1A
|
|
||||||
ldrsh r0, [r4, r2]
|
|
||||||
cmp r0, 0x1
|
|
||||||
bgt _080DD3B8
|
|
||||||
adds r0, r1, 0x1
|
|
||||||
strh r0, [r4, 0x1A]
|
|
||||||
b _080DD3D4
|
|
||||||
.align 2, 0
|
|
||||||
_080DD3B4: .4byte gTasks
|
|
||||||
_080DD3B8:
|
|
||||||
bl IsCryPlaying
|
|
||||||
lsls r0, 24
|
|
||||||
cmp r0, 0
|
|
||||||
bne _080DD3D4
|
|
||||||
ldrh r0, [r4, 0xA]
|
|
||||||
movs r1, 0xC
|
|
||||||
ldrsb r1, [r4, r1]
|
|
||||||
movs r2, 0x6
|
|
||||||
bl PlayCry3
|
|
||||||
adds r0, r5, 0
|
|
||||||
bl DestroyAnimVisualTask
|
|
||||||
_080DD3D4:
|
|
||||||
pop {r4,r5}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
thumb_func_end sub_80DD390
|
|
||||||
|
|
||||||
thumb_func_start sub_80DD3DC
|
|
||||||
sub_80DD3DC: @ 80DD3DC
|
|
||||||
push {r4,r5,lr}
|
|
||||||
adds r4, r0, 0
|
|
||||||
lsls r4, 24
|
|
||||||
lsrs r4, 24
|
|
||||||
ldr r0, _080DD40C @ =gBattleAnimArgs
|
|
||||||
ldrh r5, [r0]
|
|
||||||
ldrb r0, [r0, 0x2]
|
|
||||||
lsls r0, 24
|
|
||||||
asrs r0, 24
|
|
||||||
bl sub_8073A44
|
|
||||||
adds r1, r0, 0
|
|
||||||
lsls r1, 24
|
|
||||||
asrs r1, 24
|
|
||||||
adds r0, r5, 0
|
|
||||||
bl PlaySE1WithPanning
|
|
||||||
adds r0, r4, 0
|
|
||||||
bl DestroyAnimVisualTask
|
|
||||||
pop {r4,r5}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_080DD40C: .4byte gBattleAnimArgs
|
|
||||||
thumb_func_end sub_80DD3DC
|
|
||||||
|
|
||||||
thumb_func_start sub_80DD410
|
|
||||||
sub_80DD410: @ 80DD410
|
|
||||||
push {r4,r5,lr}
|
|
||||||
adds r4, r0, 0
|
|
||||||
lsls r4, 24
|
|
||||||
lsrs r4, 24
|
|
||||||
ldr r0, _080DD440 @ =gBattleAnimArgs
|
|
||||||
ldrh r5, [r0]
|
|
||||||
ldrb r0, [r0, 0x2]
|
|
||||||
lsls r0, 24
|
|
||||||
asrs r0, 24
|
|
||||||
bl sub_8073A44
|
|
||||||
adds r1, r0, 0
|
|
||||||
lsls r1, 24
|
|
||||||
asrs r1, 24
|
|
||||||
adds r0, r5, 0
|
|
||||||
bl PlaySE2WithPanning
|
|
||||||
adds r0, r4, 0
|
|
||||||
bl DestroyAnimVisualTask
|
|
||||||
pop {r4,r5}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_080DD440: .4byte gBattleAnimArgs
|
|
||||||
thumb_func_end sub_80DD410
|
|
||||||
|
|
||||||
thumb_func_start sub_80DD444
|
|
||||||
sub_80DD444: @ 80DD444
|
|
||||||
push {r4-r6,lr}
|
|
||||||
mov r6, r9
|
|
||||||
mov r5, r8
|
|
||||||
push {r5,r6}
|
|
||||||
mov r8, r0
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
mov r8, r0
|
|
||||||
ldr r0, _080DD4C8 @ =gBattleAnimArgs
|
|
||||||
ldrb r5, [r0, 0x2]
|
|
||||||
ldrb r6, [r0, 0x4]
|
|
||||||
ldrh r1, [r0, 0x6]
|
|
||||||
mov r9, r1
|
|
||||||
ldrb r0, [r0]
|
|
||||||
lsls r0, 24
|
|
||||||
asrs r0, 24
|
|
||||||
bl sub_8073A44
|
|
||||||
adds r4, r0, 0
|
|
||||||
lsls r4, 24
|
|
||||||
lsrs r4, 24
|
|
||||||
lsls r5, 24
|
|
||||||
asrs r5, 24
|
|
||||||
adds r0, r5, 0
|
|
||||||
bl sub_8073A44
|
|
||||||
adds r5, r0, 0
|
|
||||||
lsls r4, 24
|
|
||||||
asrs r4, 24
|
|
||||||
lsls r5, 24
|
|
||||||
asrs r5, 24
|
|
||||||
lsls r6, 24
|
|
||||||
asrs r6, 24
|
|
||||||
adds r0, r4, 0
|
|
||||||
adds r1, r5, 0
|
|
||||||
adds r2, r6, 0
|
|
||||||
bl CalculatePanIncrement
|
|
||||||
ldr r2, _080DD4CC @ =gTasks
|
|
||||||
mov r3, r8
|
|
||||||
lsls r1, r3, 2
|
|
||||||
add r1, r8
|
|
||||||
lsls r1, 3
|
|
||||||
adds r1, r2
|
|
||||||
movs r2, 0
|
|
||||||
strh r4, [r1, 0xA]
|
|
||||||
strh r5, [r1, 0xC]
|
|
||||||
lsls r0, 24
|
|
||||||
asrs r0, 24
|
|
||||||
strh r0, [r1, 0xE]
|
|
||||||
mov r0, r9
|
|
||||||
strh r0, [r1, 0x12]
|
|
||||||
strh r2, [r1, 0x1C]
|
|
||||||
strh r4, [r1, 0x1E]
|
|
||||||
ldr r2, _080DD4D0 @ =sub_80DD4D4
|
|
||||||
str r2, [r1]
|
|
||||||
mov r0, r8
|
|
||||||
bl _call_via_r2
|
|
||||||
pop {r3,r4}
|
|
||||||
mov r8, r3
|
|
||||||
mov r9, r4
|
|
||||||
pop {r4-r6}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_080DD4C8: .4byte gBattleAnimArgs
|
|
||||||
_080DD4CC: .4byte gTasks
|
|
||||||
_080DD4D0: .4byte sub_80DD4D4
|
|
||||||
thumb_func_end sub_80DD444
|
|
||||||
|
|
||||||
thumb_func_start sub_80DD4D4
|
|
||||||
sub_80DD4D4: @ 80DD4D4
|
|
||||||
push {r4,r5,lr}
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
adds r5, r0, 0
|
|
||||||
ldr r1, _080DD52C @ =gTasks
|
|
||||||
lsls r0, r5, 2
|
|
||||||
adds r0, r5
|
|
||||||
lsls r0, 3
|
|
||||||
adds r4, r0, r1
|
|
||||||
ldrh r2, [r4, 0xE]
|
|
||||||
ldrh r0, [r4, 0x1C]
|
|
||||||
adds r1, r0, 0x1
|
|
||||||
strh r1, [r4, 0x1C]
|
|
||||||
lsls r0, 16
|
|
||||||
asrs r0, 16
|
|
||||||
movs r3, 0x12
|
|
||||||
ldrsh r1, [r4, r3]
|
|
||||||
cmp r0, r1
|
|
||||||
bne _080DD50E
|
|
||||||
movs r0, 0
|
|
||||||
strh r0, [r4, 0x1C]
|
|
||||||
ldrh r1, [r4, 0x1E]
|
|
||||||
adds r0, r2, r1
|
|
||||||
strh r0, [r4, 0x1E]
|
|
||||||
movs r2, 0x1E
|
|
||||||
ldrsh r0, [r4, r2]
|
|
||||||
bl sub_8073B60
|
|
||||||
strh r0, [r4, 0x1E]
|
|
||||||
_080DD50E:
|
|
||||||
ldr r1, _080DD530 @ =gUnknown_2037F24
|
|
||||||
ldrh r0, [r4, 0x1E]
|
|
||||||
strb r0, [r1]
|
|
||||||
movs r3, 0x1E
|
|
||||||
ldrsh r1, [r4, r3]
|
|
||||||
movs r2, 0xC
|
|
||||||
ldrsh r0, [r4, r2]
|
|
||||||
cmp r1, r0
|
|
||||||
bne _080DD526
|
|
||||||
adds r0, r5, 0
|
|
||||||
bl DestroyAnimVisualTask
|
|
||||||
_080DD526:
|
|
||||||
pop {r4,r5}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_080DD52C: .4byte gTasks
|
|
||||||
_080DD530: .4byte gUnknown_2037F24
|
|
||||||
thumb_func_end sub_80DD4D4
|
|
||||||
|
|
||||||
.align 2, 0 @ Don't pad with nop.
|
|
||||||
+2
-2
@@ -2279,12 +2279,12 @@ _080AED20:
|
|||||||
movs r0, 0xC
|
movs r0, 0xC
|
||||||
strh r0, [r5, 0x1E]
|
strh r0, [r5, 0x1E]
|
||||||
subs r0, 0x4C
|
subs r0, 0x4C
|
||||||
bl sub_8073A44
|
bl BattleAnimAdjustPanning
|
||||||
lsls r0, 24
|
lsls r0, 24
|
||||||
asrs r0, 24
|
asrs r0, 24
|
||||||
strh r0, [r5, 0x20]
|
strh r0, [r5, 0x20]
|
||||||
movs r0, 0x3F
|
movs r0, 0x3F
|
||||||
bl sub_8073A44
|
bl BattleAnimAdjustPanning
|
||||||
lsls r0, 24
|
lsls r0, 24
|
||||||
asrs r0, 24
|
asrs r0, 24
|
||||||
strh r0, [r5, 0x22]
|
strh r0, [r5, 0x22]
|
||||||
|
|||||||
+1
-1
@@ -2099,7 +2099,7 @@ _080B3EFC:
|
|||||||
beq _080B3FA4
|
beq _080B3FA4
|
||||||
movs r0, 0x40
|
movs r0, 0x40
|
||||||
negs r0, r0
|
negs r0, r0
|
||||||
bl sub_8073A44
|
bl BattleAnimAdjustPanning
|
||||||
adds r1, r0, 0
|
adds r1, r0, 0
|
||||||
lsls r1, 24
|
lsls r1, 24
|
||||||
asrs r1, 24
|
asrs r1, 24
|
||||||
|
|||||||
+2
-2
@@ -806,13 +806,13 @@ _080B4C7A:
|
|||||||
strh r4, [r6, 0x16]
|
strh r4, [r6, 0x16]
|
||||||
movs r0, 0x40
|
movs r0, 0x40
|
||||||
negs r0, r0
|
negs r0, r0
|
||||||
bl sub_8073A44
|
bl BattleAnimAdjustPanning
|
||||||
adds r4, r0, 0
|
adds r4, r0, 0
|
||||||
lsls r4, 24
|
lsls r4, 24
|
||||||
asrs r4, 8
|
asrs r4, 8
|
||||||
lsrs r4, 16
|
lsrs r4, 16
|
||||||
movs r0, 0x3F
|
movs r0, 0x3F
|
||||||
bl sub_8073A44
|
bl BattleAnimAdjustPanning
|
||||||
lsls r0, 24
|
lsls r0, 24
|
||||||
strh r4, [r6, 0x22]
|
strh r4, [r6, 0x22]
|
||||||
asrs r0, 24
|
asrs r0, 24
|
||||||
|
|||||||
@@ -65,6 +65,8 @@ extern u8 gUnknown_02038440;
|
|||||||
extern u8 gBattlerSpriteIds[MAX_BATTLERS_COUNT];
|
extern u8 gBattlerSpriteIds[MAX_BATTLERS_COUNT];
|
||||||
extern u16 gAnimMovePower;
|
extern u16 gAnimMovePower;
|
||||||
extern s32 gAnimMoveDmg;
|
extern s32 gAnimMoveDmg;
|
||||||
|
extern u16 gAnimBattlerSpecies[MAX_BATTLERS_COUNT];
|
||||||
|
extern u8 gUnknown_2037F24;
|
||||||
|
|
||||||
void ClearBattleAnimationVars(void);
|
void ClearBattleAnimationVars(void);
|
||||||
void DoMoveAnim(u16 move);
|
void DoMoveAnim(u16 move);
|
||||||
@@ -80,6 +82,7 @@ s8 BattleAnimAdjustPanning2(s8 pan);
|
|||||||
s16 sub_80A52EC(s16 a);
|
s16 sub_80A52EC(s16 a);
|
||||||
s16 CalculatePanIncrement(s16 sourcePan, s16 targetPan, s16 incrementPan);
|
s16 CalculatePanIncrement(s16 sourcePan, s16 targetPan, s16 incrementPan);
|
||||||
bool8 IsBattlerSpriteVisible(u8 battlerId);
|
bool8 IsBattlerSpriteVisible(u8 battlerId);
|
||||||
|
s16 KeepPanInRange(s16 a, s32 oldPan);
|
||||||
|
|
||||||
// battle_anim_80FE840.s
|
// battle_anim_80FE840.s
|
||||||
void SetAnimBgAttribute(u8 bgId, u8 attributeId, u8 value);
|
void SetAnimBgAttribute(u8 bgId, u8 attributeId, u8 value);
|
||||||
|
|||||||
+1
-1
@@ -200,7 +200,7 @@ SECTIONS {
|
|||||||
src/save.o(.text);
|
src/save.o(.text);
|
||||||
src/mystery_event_script.o(.text);
|
src/mystery_event_script.o(.text);
|
||||||
asm/field_effect_helpers.o(.text);
|
asm/field_effect_helpers.o(.text);
|
||||||
asm/battle_anim_sound_tasks.o(.text);
|
src/battle_anim_sound_tasks.o(.text);
|
||||||
src/battle_controller_safari.o(.text);
|
src/battle_controller_safari.o(.text);
|
||||||
src/fldeff_sweetscent.o(.text);
|
src/fldeff_sweetscent.o(.text);
|
||||||
asm/battle_anim_effects_3.o(.text);
|
asm/battle_anim_effects_3.o(.text);
|
||||||
|
|||||||
@@ -0,0 +1,313 @@
|
|||||||
|
#include "global.h"
|
||||||
|
#include "battle.h"
|
||||||
|
#include "battle_anim.h"
|
||||||
|
#include "sound.h"
|
||||||
|
#include "task.h"
|
||||||
|
#include "constants/battle_anim.h"
|
||||||
|
#include "constants/species.h"
|
||||||
|
|
||||||
|
static void sub_80DCE78(u8 taskId);
|
||||||
|
static void sub_80DCEE4(u8 taskId);
|
||||||
|
static void sub_80DCFE8(u8 taskId);
|
||||||
|
static void sub_80DD270(u8 taskId);
|
||||||
|
static void sub_80DD390(u8 taskId);
|
||||||
|
static void sub_80DD4D4(u8 taskId);
|
||||||
|
|
||||||
|
void sub_80DCE10(u8 taskId)
|
||||||
|
{
|
||||||
|
s8 pan1, pan2, panIncrement;
|
||||||
|
|
||||||
|
gTasks[taskId].data[0] = gBattleAnimArgs[0];
|
||||||
|
gTasks[taskId].data[1] = gBattleAnimArgs[1];
|
||||||
|
pan1 = BattleAnimAdjustPanning(SOUND_PAN_ATTACKER);
|
||||||
|
pan2 = BattleAnimAdjustPanning(SOUND_PAN_TARGET);
|
||||||
|
panIncrement = CalculatePanIncrement(pan1, pan2, 2);
|
||||||
|
gTasks[taskId].data[2] = pan1;
|
||||||
|
gTasks[taskId].data[3] = pan2;
|
||||||
|
gTasks[taskId].data[4] = panIncrement;
|
||||||
|
gTasks[taskId].data[10] = 10;
|
||||||
|
gTasks[taskId].func = sub_80DCE78;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void sub_80DCE78(u8 taskId)
|
||||||
|
{
|
||||||
|
s16 pan = gTasks[taskId].data[2];
|
||||||
|
s8 panIncrement = gTasks[taskId].data[4];
|
||||||
|
|
||||||
|
if (++gTasks[taskId].data[11] == 111)
|
||||||
|
{
|
||||||
|
gTasks[taskId].data[10] = 5;
|
||||||
|
gTasks[taskId].data[11] = 0;
|
||||||
|
gTasks[taskId].func = sub_80DCEE4;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (++gTasks[taskId].data[10] == 11)
|
||||||
|
{
|
||||||
|
gTasks[taskId].data[10] = 0;
|
||||||
|
PlaySE12WithPanning(gTasks[taskId].data[0], pan);
|
||||||
|
}
|
||||||
|
pan += panIncrement;
|
||||||
|
gTasks[taskId].data[2] = KeepPanInRange(pan, panIncrement);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static void sub_80DCEE4(u8 taskId)
|
||||||
|
{
|
||||||
|
if (++gTasks[taskId].data[10] == 6)
|
||||||
|
{
|
||||||
|
s8 pan;
|
||||||
|
|
||||||
|
gTasks[taskId].data[10] = 0;
|
||||||
|
pan = BattleAnimAdjustPanning(SOUND_PAN_TARGET);
|
||||||
|
PlaySE12WithPanning(gTasks[taskId].data[1], pan);
|
||||||
|
if (++gTasks[taskId].data[11] == 2)
|
||||||
|
DestroyAnimSoundTask(taskId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void mas_80DCF38(u8 taskId)
|
||||||
|
{
|
||||||
|
u16 songId = gBattleAnimArgs[0];
|
||||||
|
s8 targetPan = gBattleAnimArgs[2];
|
||||||
|
s8 panIncrement = gBattleAnimArgs[3];
|
||||||
|
u8 r10 = gBattleAnimArgs[4];
|
||||||
|
u8 r7 = gBattleAnimArgs[5];
|
||||||
|
u8 r9 = gBattleAnimArgs[6];
|
||||||
|
s8 sourcePan = BattleAnimAdjustPanning(gBattleAnimArgs[1]);
|
||||||
|
|
||||||
|
targetPan = BattleAnimAdjustPanning(targetPan);
|
||||||
|
panIncrement = CalculatePanIncrement(sourcePan, targetPan, panIncrement);
|
||||||
|
gTasks[taskId].data[0] = songId;
|
||||||
|
gTasks[taskId].data[1] = sourcePan;
|
||||||
|
gTasks[taskId].data[2] = targetPan;
|
||||||
|
gTasks[taskId].data[3] = panIncrement;
|
||||||
|
gTasks[taskId].data[4] = r10;
|
||||||
|
gTasks[taskId].data[5] = r7;
|
||||||
|
gTasks[taskId].data[6] = r9;
|
||||||
|
gTasks[taskId].data[10] = 0;
|
||||||
|
gTasks[taskId].data[11] = sourcePan;
|
||||||
|
gTasks[taskId].data[12] = r9;
|
||||||
|
gTasks[taskId].func = sub_80DCFE8;
|
||||||
|
sub_80DCFE8(taskId);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void sub_80DCFE8(u8 taskId)
|
||||||
|
{
|
||||||
|
if (gTasks[taskId].data[12]++ == gTasks[taskId].data[6])
|
||||||
|
{
|
||||||
|
gTasks[taskId].data[12] = 0;
|
||||||
|
PlaySE12WithPanning(gTasks[taskId].data[0], gTasks[taskId].data[11]);
|
||||||
|
if (--gTasks[taskId].data[4] == 0)
|
||||||
|
{
|
||||||
|
DestroyAnimSoundTask(taskId);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (gTasks[taskId].data[10]++ == gTasks[taskId].data[5])
|
||||||
|
{
|
||||||
|
u16 dPan, oldPan;
|
||||||
|
|
||||||
|
gTasks[taskId].data[10] = 0;
|
||||||
|
dPan = gTasks[taskId].data[3];
|
||||||
|
oldPan = gTasks[taskId].data[11] ;
|
||||||
|
gTasks[taskId].data[11] = dPan + oldPan;
|
||||||
|
gTasks[taskId].data[11] = KeepPanInRange(gTasks[taskId].data[11], oldPan);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_80DD06C(u8 taskId)
|
||||||
|
{
|
||||||
|
u16 species = SPECIES_NONE;
|
||||||
|
u8 battlerId;
|
||||||
|
s8 pan = BattleAnimAdjustPanning(SOUND_PAN_ATTACKER);
|
||||||
|
|
||||||
|
// Get wanted battler.
|
||||||
|
if (gBattleAnimArgs[0] == ANIM_ATTACKER)
|
||||||
|
battlerId = gBattleAnimAttacker;
|
||||||
|
else if (gBattleAnimArgs[0] == ANIM_TARGET)
|
||||||
|
battlerId = gBattleAnimTarget;
|
||||||
|
else if (gBattleAnimArgs[0] == ANIM_ATK_PARTNER)
|
||||||
|
battlerId = BATTLE_PARTNER(gBattleAnimAttacker);
|
||||||
|
else
|
||||||
|
battlerId = BATTLE_PARTNER(gBattleAnimTarget);
|
||||||
|
// Check if battler is visible.
|
||||||
|
if ((gBattleAnimArgs[0] == ANIM_TARGET || gBattleAnimArgs[0] == ANIM_DEF_PARTNER)
|
||||||
|
&& !IsBattlerSpriteVisible(battlerId))
|
||||||
|
{
|
||||||
|
DestroyAnimVisualTask(taskId);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (GetBattlerSide(battlerId) != B_SIDE_PLAYER)
|
||||||
|
species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES);
|
||||||
|
else
|
||||||
|
species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES);
|
||||||
|
if (species != SPECIES_NONE)
|
||||||
|
PlayCry3(species, pan, 3);
|
||||||
|
DestroyAnimVisualTask(taskId);
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_80DD148(u8 taskId)
|
||||||
|
{
|
||||||
|
u16 species = SPECIES_NONE;
|
||||||
|
u8 battlerId;
|
||||||
|
s8 pan = BattleAnimAdjustPanning(SOUND_PAN_ATTACKER);
|
||||||
|
|
||||||
|
// Get wanted battler.
|
||||||
|
if (gBattleAnimArgs[0] == ANIM_ATTACKER)
|
||||||
|
battlerId = gBattleAnimAttacker;
|
||||||
|
else if (gBattleAnimArgs[0] == ANIM_TARGET)
|
||||||
|
battlerId = gBattleAnimTarget;
|
||||||
|
else if (gBattleAnimArgs[0] == ANIM_ATK_PARTNER)
|
||||||
|
battlerId = BATTLE_PARTNER(gBattleAnimAttacker);
|
||||||
|
else
|
||||||
|
battlerId = BATTLE_PARTNER(gBattleAnimTarget);
|
||||||
|
// Check if battler is visible.
|
||||||
|
if ((gBattleAnimArgs[0] == ANIM_TARGET || gBattleAnimArgs[0] == ANIM_DEF_PARTNER)
|
||||||
|
&& !IsBattlerSpriteVisible(battlerId))
|
||||||
|
{
|
||||||
|
DestroyAnimVisualTask(taskId);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (GetBattlerSide(battlerId) != B_SIDE_PLAYER)
|
||||||
|
species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES);
|
||||||
|
else
|
||||||
|
species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES);
|
||||||
|
gTasks[taskId].data[0] = gBattleAnimArgs[1];
|
||||||
|
gTasks[taskId].data[1] = species;
|
||||||
|
gTasks[taskId].data[2] = pan;
|
||||||
|
if (species != SPECIES_NONE)
|
||||||
|
{
|
||||||
|
if (gBattleAnimArgs[1] == TASK_NONE)
|
||||||
|
PlayCry3(species, pan, 9);
|
||||||
|
else
|
||||||
|
PlayCry3(species, pan, 7);
|
||||||
|
gTasks[taskId].func = sub_80DD270;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
DestroyAnimVisualTask(taskId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static void sub_80DD270(u8 taskId)
|
||||||
|
{
|
||||||
|
u16 species = gTasks[taskId].data[1];
|
||||||
|
s8 pan = gTasks[taskId].data[2];
|
||||||
|
|
||||||
|
if (gTasks[taskId].data[9] < 2)
|
||||||
|
{
|
||||||
|
++gTasks[taskId].data[9];
|
||||||
|
}
|
||||||
|
else if (gTasks[taskId].data[0] == TASK_NONE)
|
||||||
|
{
|
||||||
|
if (!IsCryPlaying())
|
||||||
|
{
|
||||||
|
PlayCry3(species, pan, 10);
|
||||||
|
DestroyAnimVisualTask(taskId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (!IsCryPlaying())
|
||||||
|
{
|
||||||
|
PlayCry3(species, pan, 8);
|
||||||
|
DestroyAnimVisualTask(taskId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_80DD2F4(u8 taskId)
|
||||||
|
{
|
||||||
|
if (gTasks[taskId].data[9] < 2)
|
||||||
|
++gTasks[taskId].data[9];
|
||||||
|
else if (!IsCryPlaying())
|
||||||
|
DestroyAnimVisualTask(taskId);
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_80DD334(u8 taskId)
|
||||||
|
{
|
||||||
|
u16 species;
|
||||||
|
s8 pan;
|
||||||
|
|
||||||
|
pan = BattleAnimAdjustPanning(SOUND_PAN_ATTACKER);
|
||||||
|
species = gAnimBattlerSpecies[gBattleAnimAttacker];
|
||||||
|
gTasks[taskId].data[1] = species;
|
||||||
|
gTasks[taskId].data[2] = pan;
|
||||||
|
if (species != SPECIES_NONE)
|
||||||
|
{
|
||||||
|
PlayCry3(species, pan, 4);
|
||||||
|
gTasks[taskId].func = sub_80DD390;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
DestroyAnimVisualTask(taskId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static void sub_80DD390(u8 taskId)
|
||||||
|
{
|
||||||
|
|
||||||
|
if (gTasks[taskId].data[9] < 2)
|
||||||
|
{
|
||||||
|
++gTasks[taskId].data[9];
|
||||||
|
}
|
||||||
|
else if (!IsCryPlaying())
|
||||||
|
{
|
||||||
|
u16 species = gTasks[taskId].data[1];
|
||||||
|
s8 pan = gTasks[taskId].data[2];
|
||||||
|
|
||||||
|
PlayCry3(species, pan, 6);
|
||||||
|
DestroyAnimVisualTask(taskId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_80DD3DC(u8 taskId)
|
||||||
|
{
|
||||||
|
u16 songId = gBattleAnimArgs[0];
|
||||||
|
s8 pan = BattleAnimAdjustPanning(gBattleAnimArgs[1]);
|
||||||
|
|
||||||
|
PlaySE1WithPanning(songId, pan);
|
||||||
|
DestroyAnimVisualTask(taskId);
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_80DD410(u8 taskId)
|
||||||
|
{
|
||||||
|
u16 songId = gBattleAnimArgs[0];
|
||||||
|
s8 pan = BattleAnimAdjustPanning(gBattleAnimArgs[1]);
|
||||||
|
|
||||||
|
PlaySE2WithPanning(songId, pan);
|
||||||
|
DestroyAnimVisualTask(taskId);
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_80DD444(u8 taskId)
|
||||||
|
{
|
||||||
|
s8 targetPan = gBattleAnimArgs[1];
|
||||||
|
s8 panIncrement = gBattleAnimArgs[2];
|
||||||
|
u16 r9 = gBattleAnimArgs[3];
|
||||||
|
s8 sourcePan = BattleAnimAdjustPanning(gBattleAnimArgs[0]);
|
||||||
|
|
||||||
|
targetPan = BattleAnimAdjustPanning(targetPan);
|
||||||
|
panIncrement = CalculatePanIncrement(sourcePan, targetPan, panIncrement);
|
||||||
|
gTasks[taskId].data[1] = sourcePan;
|
||||||
|
gTasks[taskId].data[2] = targetPan;
|
||||||
|
gTasks[taskId].data[3] = panIncrement;
|
||||||
|
gTasks[taskId].data[5] = r9;
|
||||||
|
gTasks[taskId].data[10] = 0;
|
||||||
|
gTasks[taskId].data[11] = sourcePan;
|
||||||
|
gTasks[taskId].func = sub_80DD4D4;
|
||||||
|
sub_80DD4D4(taskId);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void sub_80DD4D4(u8 taskId)
|
||||||
|
{
|
||||||
|
u16 oldPan, panIncrement = gTasks[taskId].data[3];
|
||||||
|
|
||||||
|
if (gTasks[taskId].data[10]++ == gTasks[taskId].data[5])
|
||||||
|
{
|
||||||
|
gTasks[taskId].data[10] = 0;
|
||||||
|
oldPan = gTasks[taskId].data[11];
|
||||||
|
gTasks[taskId].data[11] = panIncrement + oldPan;
|
||||||
|
gTasks[taskId].data[11] = KeepPanInRange(gTasks[taskId].data[11], oldPan);
|
||||||
|
}
|
||||||
|
gUnknown_2037F24 = gTasks[taskId].data[11];
|
||||||
|
if (gTasks[taskId].data[11] == gTasks[taskId].data[2])
|
||||||
|
DestroyAnimVisualTask(taskId);
|
||||||
|
}
|
||||||
+1
-1
@@ -669,7 +669,7 @@ gBattleAnimAttacker: @ 2037F1A
|
|||||||
gBattleAnimTarget: @ 2037F1B
|
gBattleAnimTarget: @ 2037F1B
|
||||||
.space 0x1
|
.space 0x1
|
||||||
|
|
||||||
gUnknown_2037F1C: @ 2037F1C
|
gAnimBattlerSpecies: @ 2037F1C
|
||||||
.space 0x8
|
.space 0x8
|
||||||
|
|
||||||
gUnknown_2037F24: @ 2037F24
|
gUnknown_2037F24: @ 2037F24
|
||||||
|
|||||||
Reference in New Issue
Block a user