summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
Diffstat (limited to 'asm')
-rw-r--r--asm/battle_2.s40
-rw-r--r--asm/battle_anim.s106
-rw-r--r--asm/battle_anim_effects_1.s322
-rw-r--r--asm/battle_anim_effects_2.s232
-rw-r--r--asm/battle_anim_effects_3.s298
-rw-r--r--asm/battle_anim_mons.s6343
-rw-r--r--asm/battle_anim_sound_tasks.s927
-rw-r--r--asm/battle_anim_special.s44
-rw-r--r--asm/battle_anim_utility_funcs.s5133
-rw-r--r--asm/bug.s829
-rw-r--r--asm/dark.s2323
-rw-r--r--asm/dragon.s835
-rw-r--r--asm/electric.s60
-rw-r--r--asm/fighting.s76
-rw-r--r--asm/fire.s52
-rw-r--r--asm/flying.s2945
-rw-r--r--asm/ghost.s4054
-rw-r--r--asm/ground.s1787
-rw-r--r--asm/ice.s102
-rw-r--r--asm/normal.s1978
-rw-r--r--asm/poison.s58
-rw-r--r--asm/pokeball.s16
-rw-r--r--asm/pokemon_jump_2.s4
-rw-r--r--asm/pokemon_summary_screen.s2
-rw-r--r--asm/psychic.s2180
-rw-r--r--asm/rock.s1558
-rw-r--r--asm/trade.s16
-rw-r--r--asm/water.s64
28 files changed, 764 insertions, 31620 deletions
diff --git a/asm/battle_2.s b/asm/battle_2.s
index 90c429e19..775cb1033 100644
--- a/asm/battle_2.s
+++ b/asm/battle_2.s
@@ -99,10 +99,10 @@ sub_800FE24: @ 800FE24
movs r0, 0x4A
movs r1, 0
bl SetGpuReg
- ldr r1, _0800FF30 @ =gUnknown_2022984
+ ldr r1, _0800FF30 @ =gBattle_WIN0H
movs r0, 0xF0
strh r0, [r1]
- ldr r0, _0800FF34 @ =gUnknown_2022986
+ ldr r0, _0800FF34 @ =gBattle_WIN0V
strh r4, [r0]
bl ScanlineEffect_Clear
ldr r0, _0800FF38 @ =gScanlineEffectRegBuffers
@@ -184,8 +184,8 @@ _0800FEA6:
.align 2, 0
_0800FF28: .4byte 0x05006000
_0800FF2C: .4byte 0x00005051
-_0800FF30: .4byte gUnknown_2022984
-_0800FF34: .4byte gUnknown_2022986
+_0800FF30: .4byte gBattle_WIN0H
+_0800FF34: .4byte gBattle_WIN0V
_0800FF38: .4byte gScanlineEffectRegBuffers
_0800FF3C: .4byte gUnknown_824EFE4
_0800FF40: .4byte 0x0000ff10
@@ -3157,11 +3157,11 @@ VBlankCB_Battle: @ 80116F4
ldrh r1, [r0]
movs r0, 0x1E
bl SetGpuReg
- ldr r0, _080117A8 @ =gUnknown_2022984
+ ldr r0, _080117A8 @ =gBattle_WIN0H
ldrh r1, [r0]
movs r0, 0x40
bl SetGpuReg
- ldr r0, _080117AC @ =gUnknown_2022986
+ ldr r0, _080117AC @ =gBattle_WIN0V
ldrh r1, [r0]
movs r0, 0x44
bl SetGpuReg
@@ -3188,8 +3188,8 @@ _08011798: .4byte gBattle_BG2_X
_0801179C: .4byte gBattle_BG2_Y
_080117A0: .4byte gBattle_BG3_X
_080117A4: .4byte gBattle_BG3_Y
-_080117A8: .4byte gUnknown_2022984
-_080117AC: .4byte gUnknown_2022986
+_080117A8: .4byte gBattle_WIN0H
+_080117AC: .4byte gBattle_WIN0V
_080117B0: .4byte gUnknown_2022988
_080117B4: .4byte gUnknown_202298A
thumb_func_end VBlankCB_Battle
@@ -3543,10 +3543,10 @@ sub_8011A1C: @ 8011A1C
movs r0, 0x4A
movs r1, 0
bl SetGpuReg
- ldr r1, _08011B48 @ =gUnknown_2022984
+ ldr r1, _08011B48 @ =gBattle_WIN0H
movs r0, 0xF0
strh r0, [r1]
- ldr r0, _08011B4C @ =gUnknown_2022986
+ ldr r0, _08011B4C @ =gBattle_WIN0V
strh r4, [r0]
bl ScanlineEffect_Clear
ldr r0, _08011B50 @ =gScanlineEffectRegBuffers
@@ -3643,8 +3643,8 @@ _08011A9C:
.align 2, 0
_08011B40: .4byte 0x05006000
_08011B44: .4byte 0x00005051
-_08011B48: .4byte gUnknown_2022984
-_08011B4C: .4byte gUnknown_2022986
+_08011B48: .4byte gBattle_WIN0H
+_08011B4C: .4byte gBattle_WIN0V
_08011B50: .4byte gScanlineEffectRegBuffers
_08011B54: .4byte 0x0000ff10
_08011B58: .4byte gBattle_BG0_X
@@ -4145,16 +4145,16 @@ _08011F3C:
lsls r0, 16
lsrs r0, 16
_08011F46:
- ldr r1, _08011F4C @ =gUnknown_82349CC
+ ldr r1, _08011F4C @ =gMonFrontPicCoords
lsls r0, 2
b _08011F88
.align 2, 0
-_08011F4C: .4byte gUnknown_82349CC
+_08011F4C: .4byte gMonFrontPicCoords
_08011F50:
ldr r0, _08011F68 @ =0x00000181
cmp r4, r0
bne _08011F74
- ldr r0, _08011F6C @ =gUnknown_83AE03C
+ ldr r0, _08011F6C @ =gCastformFrontSpriteCoords
ldr r1, _08011F70 @ =gBattleMonForms
adds r1, r6, r1
ldrb r1, [r1]
@@ -4164,19 +4164,19 @@ _08011F50:
b _08011F8C
.align 2, 0
_08011F68: .4byte 0x00000181
-_08011F6C: .4byte gUnknown_83AE03C
+_08011F6C: .4byte gCastformFrontSpriteCoords
_08011F70: .4byte gBattleMonForms
_08011F74:
movs r0, 0xCE
lsls r0, 1
cmp r4, r0
bls _08011F84
- ldr r0, _08011F80 @ =gUnknown_82349CC
+ ldr r0, _08011F80 @ =gMonFrontPicCoords
b _08011F8A
.align 2, 0
-_08011F80: .4byte gUnknown_82349CC
+_08011F80: .4byte gMonFrontPicCoords
_08011F84:
- ldr r1, _08011FAC @ =gUnknown_82349CC
+ ldr r1, _08011FAC @ =gMonFrontPicCoords
lsls r0, r4, 2
_08011F88:
adds r0, r1
@@ -4199,7 +4199,7 @@ _08011F8C:
pop {r0}
bx r0
.align 2, 0
-_08011FAC: .4byte gUnknown_82349CC
+_08011FAC: .4byte gMonFrontPicCoords
_08011FB0: .4byte sub_8011FB4
thumb_func_end SpriteCB_FaintOpponentMon
diff --git a/asm/battle_anim.s b/asm/battle_anim.s
index 9d16e91e1..d5e389807 100644
--- a/asm/battle_anim.s
+++ b/asm/battle_anim.s
@@ -16,7 +16,7 @@ ClearBattleAnimationVars: @ 80724C0
strb r1, [r0]
ldr r0, _08072558 @ =gAnimScriptActive
strb r1, [r0]
- ldr r0, _0807255C @ =gUnknown_2037EE2
+ ldr r0, _0807255C @ =gAnimVisualTaskCount
strb r1, [r0]
ldr r0, _08072560 @ =gUnknown_2037EE3
strb r1, [r0]
@@ -86,7 +86,7 @@ _08072520:
.align 2, 0
_08072554: .4byte gUnknown_2037EE0
_08072558: .4byte gAnimScriptActive
-_0807255C: .4byte gUnknown_2037EE2
+_0807255C: .4byte gAnimVisualTaskCount
_08072560: .4byte gUnknown_2037EE3
_08072564: .4byte gAnimDisableStructPtr
_08072568: .4byte gAnimMoveDmg
@@ -152,7 +152,7 @@ LaunchBattleAnimation: @ 80725D4
movs r4, 0
ldr r6, _08072618 @ =gBattlerPartyIndexes
movs r7, 0x64
- ldr r5, _0807261C @ =gUnknown_2037F1C
+ ldr r5, _0807261C @ =gAnimBattlerSpecies
_08072600:
lsls r0, r4, 24
lsrs r0, 24
@@ -166,7 +166,7 @@ _08072600:
b _0807262A
.align 2, 0
_08072618: .4byte gBattlerPartyIndexes
-_0807261C: .4byte gUnknown_2037F1C
+_0807261C: .4byte gAnimBattlerSpecies
_08072620: .4byte gEnemyParty
_08072624:
ldrh r0, [r6]
@@ -276,10 +276,10 @@ _080726EE:
movs r2, 0x80
bl m4aMPlayVolumeControl
_08072706:
- ldr r0, _08072730 @ =gUnknown_2022984
+ ldr r0, _08072730 @ =gBattle_WIN0H
movs r1, 0
strh r1, [r0]
- ldr r0, _08072734 @ =gUnknown_2022986
+ ldr r0, _08072734 @ =gBattle_WIN0V
strh r1, [r0]
ldr r0, _08072738 @ =gUnknown_2022988
strh r1, [r0]
@@ -296,8 +296,8 @@ _08072706:
.align 2, 0
_08072728: .4byte 0x0000ffff
_0807272C: .4byte gMPlayInfo_BGM
-_08072730: .4byte gUnknown_2022984
-_08072734: .4byte gUnknown_2022986
+_08072730: .4byte gBattle_WIN0H
+_08072734: .4byte gBattle_WIN0V
_08072738: .4byte gUnknown_2022988
_0807273C: .4byte gUnknown_202298A
thumb_func_end LaunchBattleAnimation
@@ -309,7 +309,7 @@ DestroyAnimSprite: @ 8072740
bl FreeSpriteOamMatrix
adds r0, r4, 0
bl DestroySprite
- ldr r1, _0807275C @ =gUnknown_2037EE2
+ ldr r1, _0807275C @ =gAnimVisualTaskCount
ldrb r0, [r1]
subs r0, 0x1
strb r0, [r1]
@@ -317,7 +317,7 @@ DestroyAnimSprite: @ 8072740
pop {r0}
bx r0
.align 2, 0
-_0807275C: .4byte gUnknown_2037EE2
+_0807275C: .4byte gAnimVisualTaskCount
thumb_func_end DestroyAnimSprite
thumb_func_start DestroyAnimVisualTask
@@ -326,14 +326,14 @@ DestroyAnimVisualTask: @ 8072760
lsls r0, 24
lsrs r0, 24
bl DestroyTask
- ldr r1, _08072778 @ =gUnknown_2037EE2
+ ldr r1, _08072778 @ =gAnimVisualTaskCount
ldrb r0, [r1]
subs r0, 0x1
strb r0, [r1]
pop {r0}
bx r0
.align 2, 0
-_08072778: .4byte gUnknown_2037EE2
+_08072778: .4byte gAnimVisualTaskCount
thumb_func_end DestroyAnimVisualTask
thumb_func_start DestroyAnimSoundTask
@@ -666,7 +666,7 @@ _080729CC:
adds r0, r7, 0
adds r1, r4, 0
bl CreateSpriteAndAnimate
- ldr r1, _08072A0C @ =gUnknown_2037EE2
+ ldr r1, _08072A0C @ =gAnimVisualTaskCount
ldrb r0, [r1]
adds r0, 0x1
strb r0, [r1]
@@ -676,7 +676,7 @@ _080729CC:
.align 2, 0
_08072A04: .4byte gBattleAnimAttacker
_08072A08: .4byte gBattleAnimTarget
-_08072A0C: .4byte gUnknown_2037EE2
+_08072A0C: .4byte gAnimVisualTaskCount
thumb_func_end ScriptCmd_createsprite
thumb_func_start ScriptCmd_createvisualtask
@@ -729,7 +729,7 @@ _08072A60:
lsls r0, 24
lsrs r0, 24
bl _call_via_r6
- ldr r1, _08072A88 @ =gUnknown_2037EE2
+ ldr r1, _08072A88 @ =gAnimVisualTaskCount
ldrb r0, [r1]
adds r0, 0x1
strb r0, [r1]
@@ -739,7 +739,7 @@ _08072A60:
.align 2, 0
_08072A80: .4byte gUnknown_2037ED4
_08072A84: .4byte gBattleAnimArgs
-_08072A88: .4byte gUnknown_2037EE2
+_08072A88: .4byte gAnimVisualTaskCount
thumb_func_end ScriptCmd_createvisualtask
thumb_func_start ScriptCmd_delay
@@ -778,7 +778,7 @@ _08072AC8: .4byte WaitAnimFrameCount
thumb_func_start sub_8072ACC
sub_8072ACC: @ 8072ACC
push {lr}
- ldr r0, _08072AE4 @ =gUnknown_2037EE2
+ ldr r0, _08072AE4 @ =gAnimVisualTaskCount
ldrb r2, [r0]
cmp r2, 0
bne _08072AF0
@@ -790,7 +790,7 @@ sub_8072ACC: @ 8072ACC
strb r2, [r0]
b _08072AF6
.align 2, 0
-_08072AE4: .4byte gUnknown_2037EE2
+_08072AE4: .4byte gAnimVisualTaskCount
_08072AE8: .4byte gUnknown_2037ED4
_08072AEC: .4byte gUnknown_2037EE0
_08072AF0:
@@ -821,7 +821,7 @@ sub_8072B08: @ 8072B08
push {r7}
movs r0, 0
mov r8, r0
- ldr r0, _08072B38 @ =gUnknown_2037EE2
+ ldr r0, _08072B38 @ =gAnimVisualTaskCount
ldrb r0, [r0]
cmp r0, 0
bne _08072B30
@@ -842,7 +842,7 @@ _08072B30:
strh r0, [r1]
b _08072B62
.align 2, 0
-_08072B38: .4byte gUnknown_2037EE2
+_08072B38: .4byte gAnimVisualTaskCount
_08072B3C: .4byte gUnknown_2037EE3
_08072B40: .4byte gUnknown_2037F14
_08072B44: .4byte gUnknown_2037F12
@@ -1007,7 +1007,7 @@ _08072C62:
_08072C88:
adds r0, r5, 0
adds r1, r7, 0
- bl sub_8072E48
+ bl MoveBattlerSpriteToBG
ldr r0, _08072CDC @ =gBattlerSpriteIds
adds r0, r5, r0
ldrb r4, [r0]
@@ -1091,7 +1091,7 @@ _08072D12:
_08072D3E:
adds r0, r5, 0
adds r1, r7, 0
- bl sub_8072E48
+ bl MoveBattlerSpriteToBG
ldr r0, _08072D9C @ =gBattlerSpriteIds
adds r0, r5, r0
ldrb r4, [r0]
@@ -1217,8 +1217,8 @@ _08072E42:
bx r1
thumb_func_end IsBattlerSpriteVisible
- thumb_func_start sub_8072E48
-sub_8072E48: @ 8072E48
+ thumb_func_start MoveBattlerSpriteToBG
+MoveBattlerSpriteToBG: @ 8072E48
push {r4-r7,lr}
mov r7, r8
push {r7}
@@ -1490,7 +1490,7 @@ _080730B0: .4byte gBattle_BG2_Y
_080730B4: .4byte gPlttBufferUnfaded + 0x200
_080730B8: .4byte 0x05000120
_080730BC: .4byte 0x04000008
- thumb_func_end sub_8072E48
+ thumb_func_end MoveBattlerSpriteToBG
thumb_func_start sub_80730C0
sub_80730C0: @ 80730C0
@@ -1914,7 +1914,7 @@ _080733CE:
movs r1, 0
_080733F4:
adds r0, r4, 0
- bl sub_8072E48
+ bl MoveBattlerSpriteToBG
ldr r2, _08073478 @ =gSprites
ldr r0, _0807347C @ =gBattlerSpriteIds
adds r0, r4, r0
@@ -1952,7 +1952,7 @@ _08073416:
movs r1, 0
_08073442:
adds r0, r4, 0
- bl sub_8072E48
+ bl MoveBattlerSpriteToBG
ldr r2, _08073478 @ =gSprites
ldr r0, _0807347C @ =gBattlerSpriteIds
adds r0, r4, r0
@@ -2767,8 +2767,8 @@ ScriptCmd_changebg: @ 8073A24
_08073A40: .4byte gUnknown_2037ED4
thumb_func_end ScriptCmd_changebg
- thumb_func_start sub_8073A44
-sub_8073A44: @ 8073A44
+ thumb_func_start BattleAnimAdjustPanning
+BattleAnimAdjustPanning: @ 8073A44
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
@@ -2867,10 +2867,10 @@ _08073AFC:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_8073A44
+ thumb_func_end BattleAnimAdjustPanning
- thumb_func_start sub_8073B08
-sub_8073B08: @ 8073B08
+ thumb_func_start BattleAnimAdjustPanning2
+BattleAnimAdjustPanning2: @ 8073B08
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
@@ -2914,10 +2914,10 @@ _08073B56:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_8073B08
+ thumb_func_end BattleAnimAdjustPanning2
- thumb_func_start sub_8073B60
-sub_8073B60: @ 8073B60
+ thumb_func_start KeepPanInRange
+KeepPanInRange: @ 8073B60
push {lr}
lsls r0, 16
lsrs r1, r0, 16
@@ -2939,7 +2939,7 @@ _08073B7A:
bx r1
.align 2, 0
_08073B84: .4byte 0x0000ffc0
- thumb_func_end sub_8073B60
+ thumb_func_end KeepPanInRange
thumb_func_start CalculatePanIncrement
CalculatePanIncrement: @ 8073B88
@@ -2994,7 +2994,7 @@ ScriptCmd_playsewithpan: @ 8073BC8
orrs r4, r0
movs r0, 0x2
ldrsb r0, [r1, r0]
- bl sub_8073A44
+ bl BattleAnimAdjustPanning
adds r1, r0, 0
lsls r1, 24
asrs r1, 24
@@ -3019,7 +3019,7 @@ ScriptCmd_setpan: @ 8073C00
str r0, [r4]
movs r0, 0x1
ldrsb r0, [r1, r0]
- bl sub_8073A44
+ bl BattleAnimAdjustPanning
lsls r0, 24
asrs r0, 24
bl SE12PanpotControl
@@ -3058,14 +3058,14 @@ ScriptCmd_panse_1B: @ 8073C2C
ldrb r7, [r1, 0x5]
movs r0, 0x2
ldrsb r0, [r1, r0]
- bl sub_8073A44
+ bl BattleAnimAdjustPanning
adds r5, r0, 0
lsls r5, 24
lsrs r5, 24
lsls r4, 24
asrs r4, 24
adds r0, r4, 0
- bl sub_8073A44
+ bl BattleAnimAdjustPanning
mov r8, r0
lsls r5, 24
asrs r5, 24
@@ -3301,14 +3301,14 @@ ScriptCmd_panse_27: @ 8073E10
ldrb r7, [r1, 0x5]
movs r0, 0x2
ldrsb r0, [r1, r0]
- bl sub_8073B08
+ bl BattleAnimAdjustPanning2
adds r6, r0, 0
lsls r6, 24
lsrs r6, 24
lsls r4, 24
asrs r4, 24
adds r0, r4, 0
- bl sub_8073B08
+ bl BattleAnimAdjustPanning2
adds r5, r0, 0
lsls r5, 24
lsrs r5, 24
@@ -3317,7 +3317,7 @@ ScriptCmd_panse_27: @ 8073E10
asrs r1, 24
mov r8, r1
mov r0, r8
- bl sub_8073B08
+ bl BattleAnimAdjustPanning2
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
@@ -3387,7 +3387,7 @@ ScriptCmd_loopsewithpan: @ 8073ED0
mov r9, r2
movs r0, 0x2
ldrsb r0, [r1, r0]
- bl sub_8073A44
+ bl BattleAnimAdjustPanning
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
@@ -3498,7 +3498,7 @@ ScriptCmd_waitplaysewithpan: @ 8073FB4
mov r8, r0
movs r0, 0x2
ldrsb r0, [r1, r0]
- bl sub_8073A44
+ bl BattleAnimAdjustPanning
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
@@ -3873,7 +3873,7 @@ ScriptCmd_invisible: @ 80742A4
ldr r4, _080742D8 @ =gUnknown_2037ED4
ldr r0, [r4]
ldrb r0, [r0, 0x1]
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r2, r0, 24
cmp r2, 0xFF
@@ -3906,7 +3906,7 @@ ScriptCmd_visible: @ 80742E0
ldr r4, _08074318 @ =gUnknown_2037ED4
ldr r0, [r4]
ldrb r0, [r0, 0x1]
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r2, r0, 24
cmp r2, 0xFF
@@ -3960,7 +3960,7 @@ sub_8074320: @ 8074320
cmp r7, 0
bne _08074370
ldrb r0, [r6]
- bl sub_80768B0
+ bl GetBattlerSpriteBGPriorityRank
lsls r0, 24
lsrs r4, r0, 24
movs r0, 0
@@ -3971,12 +3971,12 @@ _08074368: .4byte gBattleAnimAttacker
_0807436C: .4byte gBattleAnimTarget
_08074370:
ldrb r0, [r5]
- bl sub_80768B0
+ bl GetBattlerSpriteBGPriorityRank
lsls r0, 24
lsrs r4, r0, 24
movs r0, 0x1
_0807437C:
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r2, r0, 24
cmp r2, 0xFF
@@ -4042,7 +4042,7 @@ sub_80743C8: @ 80743C8
cmp r7, 0
bne _08074418
ldrb r0, [r6]
- bl sub_80768B0
+ bl GetBattlerSpriteBGPriorityRank
lsls r0, 24
lsrs r4, r0, 24
movs r0, 0
@@ -4053,12 +4053,12 @@ _08074410: .4byte gBattleAnimAttacker
_08074414: .4byte gBattleAnimTarget
_08074418:
ldrb r0, [r5]
- bl sub_80768B0
+ bl GetBattlerSpriteBGPriorityRank
lsls r0, 24
lsrs r4, r0, 24
movs r0, 0x1
_08074424:
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r2, r0, 24
cmp r2, 0xFF
diff --git a/asm/battle_anim_effects_1.s b/asm/battle_anim_effects_1.s
index 2d436f3ef..42b3517f2 100644
--- a/asm/battle_anim_effects_1.s
+++ b/asm/battle_anim_effects_1.s
@@ -96,7 +96,7 @@ sub_80A2388: @ 80A2388
push {r4,r5,lr}
adds r4, r0, 0
movs r1, 0x1
- bl sub_8075160
+ bl InitSpritePosToAnimAttacker
ldr r0, _080A23C8 @ =gBattleAnimArgs
ldrh r0, [r0, 0x4]
strh r0, [r4, 0x2E]
@@ -115,7 +115,7 @@ sub_80A2388: @ 80A2388
strh r0, [r4, 0x36]
ldr r0, _080A23D0 @ =StartAnimLinearTranslation
str r0, [r4, 0x1C]
- ldr r1, _080A23D4 @ =move_anim_8074EE0
+ ldr r1, _080A23D4 @ =DestroySpriteAndMatrix
adds r0, r4, 0
bl StoreSpriteCallbackInData6
pop {r4,r5}
@@ -125,7 +125,7 @@ sub_80A2388: @ 80A2388
_080A23C8: .4byte gBattleAnimArgs
_080A23CC: .4byte gBattleAnimAttacker
_080A23D0: .4byte StartAnimLinearTranslation
-_080A23D4: .4byte move_anim_8074EE0
+_080A23D4: .4byte DestroySpriteAndMatrix
thumb_func_end sub_80A2388
thumb_func_start sub_80A23D8
@@ -133,7 +133,7 @@ sub_80A23D8: @ 80A23D8
push {r4,r5,lr}
adds r4, r0, 0
movs r1, 0x1
- bl sub_8075160
+ bl InitSpritePosToAnimAttacker
ldr r5, _080A2420 @ =gBattleAnimArgs
ldrb r1, [r5, 0x6]
adds r0, r4, 0
@@ -173,7 +173,7 @@ sub_80A2430: @ 80A2430
push {r4-r6,lr}
adds r4, r0, 0
movs r1, 0x1
- bl sub_8075160
+ bl InitSpritePosToAnimAttacker
ldr r6, _080A2480 @ =gBattleAnimArgs
ldrh r0, [r6, 0x4]
strh r0, [r4, 0x2E]
@@ -195,7 +195,7 @@ sub_80A2430: @ 80A2430
lsrs r0, 24
strh r0, [r4, 0x36]
adds r0, r4, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimLinearTranslation
ldrh r0, [r6, 0x6]
strh r0, [r4, 0x38]
ldr r1, _080A2488 @ =sub_80A248C
@@ -215,7 +215,7 @@ _080A2488: .4byte sub_80A248C
sub_80A248C: @ 80A248C
push {r4,lr}
adds r4, r0, 0
- bl sub_80755E0
+ bl AnimTranslateLinear
lsls r0, 24
cmp r0, 0
beq _080A24A2
@@ -338,7 +338,7 @@ sub_80A2580: @ 80A2580
push {r4-r6,lr}
adds r4, r0, 0
movs r1, 0x1
- bl sub_8075114
+ bl InitSpritePosToAnimTarget
ldr r6, _080A25C4 @ =gBattleAnimArgs
ldrh r0, [r6, 0x6]
strh r0, [r4, 0x2E]
@@ -358,7 +358,7 @@ sub_80A2580: @ 80A2580
ldrh r0, [r6, 0x4]
strh r0, [r4, 0x38]
adds r0, r4, 0
- bl sub_8075068
+ bl InitAnimArcTranslation
ldr r0, _080A25CC @ =sub_80A25D0
str r0, [r4, 0x1C]
pop {r4-r6}
@@ -374,7 +374,7 @@ _080A25CC: .4byte sub_80A25D0
sub_80A25D0: @ 80A25D0
push {r4,lr}
adds r4, r0, 0
- bl AnimateBallThrow
+ bl TranslateAnimHorizontalArc
lsls r0, 24
cmp r0, 0
beq _080A25E4
@@ -451,7 +451,7 @@ _080A263C:
lsrs r0, 24
strh r0, [r5, 0x36]
adds r0, r5, 0
- bl sub_8075804
+ bl InitAnimFastLinearTranslationWithSpeed
bl Random
movs r1, 0xFF
ands r1, r0
@@ -476,7 +476,7 @@ _080A26A0: .4byte sub_80A26A4
sub_80A26A4: @ 80A26A4
push {r4,lr}
adds r4, r0, 0
- bl sub_807578C
+ bl AnimFastTranslateLinear
lsls r0, 24
cmp r0, 0
beq _080A26BA
@@ -520,7 +520,7 @@ sub_80A26F0: @ 80A26F0
push {r4-r6,lr}
adds r6, r0, 0
movs r1, 0x1
- bl sub_8075160
+ bl InitSpritePosToAnimAttacker
ldr r0, _080A2750 @ =gBattleAnimAttacker
ldrb r0, [r0]
bl GetBattlerSide
@@ -555,7 +555,7 @@ _080A2710:
ldrh r0, [r4, 0xA]
strh r0, [r6, 0x38]
adds r0, r6, 0
- bl sub_8075068
+ bl InitAnimArcTranslation
ldr r0, _080A275C @ =sub_80A2760
str r0, [r6, 0x1C]
pop {r4-r6}
@@ -572,7 +572,7 @@ _080A275C: .4byte sub_80A2760
sub_80A2760: @ 80A2760
push {r4,lr}
adds r4, r0, 0
- bl AnimateBallThrow
+ bl TranslateAnimHorizontalArc
lsls r0, 24
cmp r0, 0
beq _080A278A
@@ -584,7 +584,7 @@ sub_80A2760: @ 80A2760
strb r0, [r2]
movs r0, 0xA
strh r0, [r4, 0x2E]
- ldr r0, _080A2790 @ =sub_8074C44
+ ldr r0, _080A2790 @ =WaitAnimForDuration
str r0, [r4, 0x1C]
ldr r1, _080A2794 @ =sub_80A2798
adds r0, r4, 0
@@ -594,7 +594,7 @@ _080A278A:
pop {r0}
bx r0
.align 2, 0
-_080A2790: .4byte sub_8074C44
+_080A2790: .4byte WaitAnimForDuration
_080A2794: .4byte sub_80A2798
thumb_func_end sub_80A2760
@@ -614,7 +614,7 @@ sub_80A2798: @ 80A2798
bl StartSpriteAnim
movs r0, 0x3C
strh r0, [r4, 0x2E]
- ldr r0, _080A27C8 @ =sub_8074C44
+ ldr r0, _080A27C8 @ =WaitAnimForDuration
str r0, [r4, 0x1C]
ldr r1, _080A27CC @ =DestroyAnimSprite
adds r0, r4, 0
@@ -623,7 +623,7 @@ sub_80A2798: @ 80A2798
pop {r0}
bx r0
.align 2, 0
-_080A27C8: .4byte sub_8074C44
+_080A27C8: .4byte WaitAnimForDuration
_080A27CC: .4byte DestroyAnimSprite
thumb_func_end sub_80A2798
@@ -632,7 +632,7 @@ sub_80A27D0: @ 80A27D0
push {r4,r5,lr}
adds r4, r0, 0
movs r1, 0x1
- bl sub_8075114
+ bl InitSpritePosToAnimTarget
ldr r5, _080A2814 @ =gBattleAnimArgs
ldrb r1, [r5, 0x8]
adds r0, r4, 0
@@ -694,7 +694,7 @@ sub_80A281C: @ 80A281C
bhi _080A2870
ldr r0, _080A286C @ =gBattleAnimTarget
ldrb r0, [r0]
- bl sub_8076884
+ bl GetBattlerSpriteBGPriority
movs r1, 0x3
ands r1, r0
lsls r1, 2
@@ -709,7 +709,7 @@ _080A286C: .4byte gBattleAnimTarget
_080A2870:
ldr r0, _080A28C0 @ =gBattleAnimTarget
ldrb r0, [r0]
- bl sub_8076884
+ bl GetBattlerSpriteBGPriority
adds r0, 0x1
lsls r0, 24
lsrs r2, r0, 24
@@ -771,7 +771,7 @@ _080A28DE:
_080A28E6:
ldr r0, _080A2904 @ =gBattleAnimTarget
ldrb r0, [r0]
- bl sub_80768B0
+ bl GetBattlerSpriteBGPriorityRank
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -802,7 +802,7 @@ sub_80A2920: @ 80A2920
push {r4,r5,lr}
adds r4, r0, 0
movs r1, 0
- bl sub_8075160
+ bl InitSpritePosToAnimAttacker
ldr r5, _080A2968 @ =gBattleAnimArgs
ldrh r0, [r5, 0x6]
strh r0, [r4, 0x2E]
@@ -821,7 +821,7 @@ sub_80A2920: @ 80A2920
adds r0, r5
strh r0, [r4, 0x36]
adds r0, r4, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimLinearTranslation
movs r0, 0x40
strh r0, [r4, 0x38]
ldr r1, _080A2970 @ =sub_80A2974
@@ -841,7 +841,7 @@ _080A2970: .4byte sub_80A2974
sub_80A2974: @ 80A2974
push {r4,lr}
adds r4, r0, 0
- bl sub_80755E0
+ bl AnimTranslateLinear
lsls r0, 24
cmp r0, 0
bne _080A29E0
@@ -904,7 +904,7 @@ sub_80A29EC: @ 80A29EC
push {r4,r5,lr}
adds r4, r0, 0
movs r1, 0x1
- bl sub_8075160
+ bl InitSpritePosToAnimAttacker
ldr r5, _080A2A34 @ =gBattleAnimArgs
ldrh r0, [r5, 0x6]
strh r0, [r4, 0x2E]
@@ -923,7 +923,7 @@ sub_80A29EC: @ 80A29EC
adds r0, r5
strh r0, [r4, 0x36]
adds r0, r4, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimLinearTranslation
movs r0, 0x40
strh r0, [r4, 0x38]
ldr r1, _080A2A3C @ =sub_80A2A40
@@ -943,7 +943,7 @@ _080A2A3C: .4byte sub_80A2A40
sub_80A2A40: @ 80A2A40
push {r4,lr}
adds r4, r0, 0
- bl sub_80755E0
+ bl AnimTranslateLinear
lsls r0, 24
cmp r0, 0
bne _080A2A98
@@ -1132,7 +1132,7 @@ sub_80A2B9C: @ 80A2B9C
push {r4-r6,lr}
adds r5, r0, 0
movs r1, 0x1
- bl sub_8075160
+ bl InitSpritePosToAnimAttacker
ldr r0, _080A2BF0 @ =gBattleAnimAttacker
ldrb r0, [r0]
bl GetBattlerSide
@@ -1180,7 +1180,7 @@ _080A2BFC:
adds r3, r5, 0
adds r3, 0x36
movs r1, 0x1
- bl sub_8076D9C
+ bl SetAverageBattlerPositions
ldrh r0, [r6, 0x4]
ldrh r1, [r5, 0x32]
adds r0, r1
@@ -1194,7 +1194,7 @@ _080A2C1C:
ldrh r0, [r0, 0xA]
strh r0, [r5, 0x38]
adds r0, r5, 0
- bl sub_8075068
+ bl InitAnimArcTranslation
ldr r0, _080A2C50 @ =gBattleAnimAttacker
ldrb r0, [r0]
bl GetBattlerSide
@@ -1235,7 +1235,7 @@ sub_80A2C68: @ 80A2C68
movs r0, 0x1
strh r0, [r6, 0x2E]
adds r0, r6, 0
- bl AnimateBallThrow
+ bl TranslateAnimHorizontalArc
ldrh r0, [r6, 0x3C]
strh r5, [r6, 0x2E]
lsls r4, 16
@@ -1316,8 +1316,8 @@ _080A2D08:
bx r0
thumb_func_end sub_80A2C68
- thumb_func_start sub_80A2D10
-sub_80A2D10: @ 80A2D10
+ thumb_func_start AnimMoveTwisterParticle
+AnimMoveTwisterParticle: @ 80A2D10
push {r4,lr}
adds r4, r0, 0
bl IsContest
@@ -1336,7 +1336,7 @@ sub_80A2D10: @ 80A2D10
adds r3, r4, 0
adds r3, 0x22
movs r1, 0x1
- bl sub_8076D9C
+ bl SetAverageBattlerPositions
_080A2D3C:
ldrh r0, [r4, 0x22]
adds r0, 0x20
@@ -1361,7 +1361,7 @@ _080A2D3C:
_080A2D64: .4byte gBattleAnimTarget
_080A2D68: .4byte gBattleAnimArgs
_080A2D6C: .4byte sub_80A2D70
- thumb_func_end sub_80A2D10
+ thumb_func_end AnimMoveTwisterParticle
thumb_func_start sub_80A2D70
sub_80A2D70: @ 80A2D70
@@ -1419,7 +1419,7 @@ _080A2DAC:
bgt _080A2DEC
ldr r0, _080A2DE8 @ =gBattleAnimTarget
ldrb r0, [r0]
- bl sub_8076884
+ bl GetBattlerSpriteBGPriority
lsls r0, 24
lsrs r0, 24
subs r0, 0x1
@@ -1429,7 +1429,7 @@ _080A2DE8: .4byte gBattleAnimTarget
_080A2DEC:
ldr r0, _080A2E24 @ =gBattleAnimTarget
ldrb r0, [r0]
- bl sub_8076884
+ bl GetBattlerSpriteBGPriority
lsls r0, 24
lsrs r0, 24
adds r0, 0x1
@@ -1464,7 +1464,7 @@ sub_80A2E28: @ 80A2E28
push {r4,r5,lr}
adds r5, r0, 0
movs r1, 0
- bl sub_8075114
+ bl InitSpritePosToAnimTarget
adds r2, r5, 0
adds r2, 0x2C
ldrb r0, [r2]
@@ -1505,7 +1505,7 @@ sub_80A2E64: @ 80A2E64
ands r0, r1
strb r0, [r2]
movs r0, 0x1
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
movs r0, 0x80
lsls r0, 1
strh r0, [r4, 0x2E]
@@ -1526,7 +1526,7 @@ sub_80A2EA0: @ 80A2EA0
push {r4,lr}
adds r4, r0, 0
movs r0, 0x1
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
movs r1, 0x32
ldrsh r0, [r4, r1]
cmp r0, 0
@@ -1587,7 +1587,7 @@ sub_80A2F0C: @ 80A2F0C
lsls r0, 24
lsrs r4, r0, 24
movs r0, 0x1
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r2, r0, 24
ldr r1, _080A2F38 @ =gSprites
@@ -1641,7 +1641,7 @@ sub_80A2F74: @ 80A2F74
lsls r4, 24
lsrs r4, 24
movs r0, 0x1
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r0, 24
adds r6, r0, 0
@@ -1682,7 +1682,7 @@ _080A2FBE:
movs r3, 0
bl SetSpriteRotScale
adds r0, r6, 0
- bl sub_8076440
+ bl SetBattlerSpriteYOffsetFromYScale
ldrh r0, [r4, 0xA]
subs r0, 0x1
strh r0, [r4, 0xA]
@@ -1725,7 +1725,7 @@ sub_80A3004: @ 80A3004
cmp r5, 0
bne _080A3074
movs r0, 0x1
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
@@ -1866,7 +1866,7 @@ _080A3104:
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x36]
- ldr r0, _080A3160 @ =sub_8075764
+ ldr r0, _080A3160 @ =InitAndRunAnimFastLinearTranslation
str r0, [r5, 0x1C]
ldr r1, _080A3164 @ =DestroyAnimSprite
adds r0, r5, 0
@@ -1877,7 +1877,7 @@ _080A3156:
bx r0
.align 2, 0
_080A315C: .4byte gBattleAnimAttacker
-_080A3160: .4byte sub_8075764
+_080A3160: .4byte InitAndRunAnimFastLinearTranslation
_080A3164: .4byte DestroyAnimSprite
thumb_func_end sub_80A3098
@@ -2370,7 +2370,7 @@ sub_80A3518: @ 80A3518
push {r4-r6,lr}
adds r5, r0, 0
movs r1, 0
- bl sub_8075160
+ bl InitSpritePosToAnimAttacker
ldr r4, _080A3560 @ =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0
@@ -2546,7 +2546,7 @@ sub_80A3670: @ 80A3670
bne _080A368A
adds r0, r4, 0
movs r1, 0
- bl sub_8075114
+ bl InitSpritePosToAnimTarget
ldr r0, _080A36B0 @ =gBattleAnimArgs
ldrh r0, [r0, 0x4]
strh r0, [r4, 0x30]
@@ -2579,7 +2579,7 @@ sub_80A36B4: @ 80A36B4
push {r4-r6,lr}
adds r5, r0, 0
movs r1, 0
- bl sub_8075114
+ bl InitSpritePosToAnimTarget
ldr r4, _080A36FC @ =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0
@@ -2672,7 +2672,7 @@ _080A3756:
cmp r0, 0
bne _080A378A
movs r0, 0x3F
- bl sub_8073A44
+ bl BattleAnimAdjustPanning
adds r1, r0, 0
lsls r1, 24
asrs r1, 24
@@ -2690,7 +2690,7 @@ _080A378A:
str r0, [r4, 0x1C]
movs r0, 0x40
negs r0, r0
- bl sub_8073A44
+ bl BattleAnimAdjustPanning
adds r1, r0, 0
lsls r1, 24
asrs r1, 24
@@ -3014,11 +3014,11 @@ sub_80A39C0: @ 80A39C0
strh r0, [r5, 0x16]
ldrb r0, [r4]
movs r1, 0x1
- bl sub_8076B2C
+ bl GetBattlerSpriteCoordAttr
strh r0, [r5, 0x1C]
ldrb r0, [r4]
movs r1, 0
- bl sub_8076B2C
+ bl GetBattlerSpriteCoordAttr
strh r0, [r5, 0x1E]
ldrb r0, [r4]
bl GetBattlerSide
@@ -3139,7 +3139,7 @@ _080A3A60:
adds r0, r1
lsls r0, 2
adds r0, r4
- bl sub_8075068
+ bl InitAnimArcTranslation
ldr r0, _080A3B24 @ =sub_80A3B28
str r0, [r5]
pop {r4-r6}
@@ -3207,7 +3207,7 @@ _080A3B80:
adds r1, r2, 0
bl sub_80A3F24
adds r0, r4, 0
- bl AnimateBallThrow
+ bl TranslateAnimHorizontalArc
lsls r0, 24
cmp r0, 0
bne _080A3B96
@@ -3236,7 +3236,7 @@ _080A3BB4:
adds r1, r2, 0
bl sub_80A3F24
adds r0, r4, 0
- bl AnimateBallThrow
+ bl TranslateAnimHorizontalArc
lsls r0, 24
cmp r0, 0
bne _080A3BCA
@@ -3265,7 +3265,7 @@ _080A3BE6:
adds r1, r2, 0
bl sub_80A3F24
adds r0, r4, 0
- bl AnimateBallThrow
+ bl TranslateAnimHorizontalArc
lsls r0, 24
cmp r0, 0
bne _080A3BFC
@@ -3309,7 +3309,7 @@ _080A3C04:
adds r0, r4, 0
bl StartSpriteAnim
adds r0, r4, 0
- bl sub_8075068
+ bl InitAnimArcTranslation
ldrh r0, [r6, 0x8]
adds r0, 0x1
b _080A3EFA
@@ -3318,7 +3318,7 @@ _080A3C54:
adds r1, r2, 0
bl sub_80A3F24
adds r0, r4, 0
- bl AnimateBallThrow
+ bl TranslateAnimHorizontalArc
lsls r0, 24
cmp r0, 0
bne _080A3C6A
@@ -3381,7 +3381,7 @@ _080A3C72:
adds r0, r4, 0
bl StartSpriteAnim
adds r0, r4, 0
- bl sub_8075068
+ bl InitAnimArcTranslation
ldrh r0, [r6, 0x8]
adds r0, 0x1
b _080A3EFA
@@ -3440,7 +3440,7 @@ _080A3CE8:
adds r0, r4, 0
bl StartSpriteAnim
adds r0, r4, 0
- bl sub_8075068
+ bl InitAnimArcTranslation
ldrh r0, [r6, 0x8]
adds r0, 0x1
b _080A3EFA
@@ -3449,7 +3449,7 @@ _080A3D62:
adds r1, r2, 0
bl sub_80A3F24
adds r0, r4, 0
- bl AnimateBallThrow
+ bl TranslateAnimHorizontalArc
lsls r0, 24
cmp r0, 0
bne _080A3D78
@@ -3494,7 +3494,7 @@ _080A3D80:
adds r0, r4, 0
bl StartSpriteAnim
adds r0, r4, 0
- bl sub_8075068
+ bl InitAnimArcTranslation
ldrh r0, [r6, 0x8]
adds r0, 0x1
b _080A3EFA
@@ -3551,7 +3551,7 @@ _080A3DD2:
adds r0, r4, 0
bl StartSpriteAnim
adds r0, r4, 0
- bl sub_8075068
+ bl InitAnimArcTranslation
ldrh r0, [r6, 0x8]
adds r0, 0x1
b _080A3EFA
@@ -3560,7 +3560,7 @@ _080A3E48:
adds r1, r2, 0
bl sub_80A3F24
adds r0, r4, 0
- bl AnimateBallThrow
+ bl TranslateAnimHorizontalArc
lsls r0, 24
cmp r0, 0
beq _080A3EFC
@@ -3603,7 +3603,7 @@ _080A3E64:
adds r0, r4, 0
bl StartSpriteAnim
adds r0, r4, 0
- bl sub_8075068
+ bl InitAnimArcTranslation
ldrh r0, [r6, 0x8]
adds r0, 0x1
b _080A3EFA
@@ -3612,7 +3612,7 @@ _080A3EB6:
adds r1, r2, 0
bl sub_80A3F24
adds r0, r4, 0
- bl AnimateBallThrow
+ bl TranslateAnimHorizontalArc
lsls r0, 24
cmp r0, 0
beq _080A3EFC
@@ -3902,7 +3902,7 @@ _080A40D4:
_080A40E4:
strh r0, [r4, 0x22]
adds r0, r6, 0
- bl sub_8076884
+ bl GetBattlerSpriteBGPriority
movs r1, 0x3
ands r1, r0
lsls r1, 2
@@ -3924,10 +3924,10 @@ _080A4100:
adds r0, r7
strh r0, [r4, 0x22]
movs r0, 0x1
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
_080A411A:
adds r0, r6, 0
- bl sub_8076884
+ bl GetBattlerSpriteBGPriority
lsls r0, 24
lsrs r0, 24
adds r0, 0x1
@@ -4008,7 +4008,7 @@ _080A41A4:
bgt _080A41BC
_080A41B6:
adds r0, r4, 0
- bl move_anim_8074EE0
+ bl DestroySpriteAndMatrix
_080A41BC:
pop {r4,r5}
pop {r0}
@@ -4221,7 +4221,7 @@ _080A4318:
subs r1, r5
lsls r1, 16
asrs r1, 16
- bl sub_8075B30
+ bl ArcTan2Neg
lsls r0, 16
lsrs r4, r0, 16
bl IsContest
@@ -4239,7 +4239,7 @@ _080A437A:
adds r0, r6, 0
movs r1, 0
adds r2, r3, 0
- bl sub_8075A1C
+ bl TrySetSpriteRotScale
ldr r0, _080A439C @ =sub_80A43A0
str r0, [r6, 0x1C]
_080A438E:
@@ -4280,7 +4280,7 @@ sub_80A43A0: @ 80A43A0
b _080A43D6
_080A43D0:
adds r0, r2, 0
- bl move_anim_8074EE0
+ bl DestroySpriteAndMatrix
_080A43D6:
pop {r4}
pop {r0}
@@ -4335,7 +4335,7 @@ _080A442C:
ldrh r1, [r4, 0x22]
adds r0, r1
strh r0, [r4, 0x22]
- ldr r0, _080A4448 @ =sub_8074F6C
+ ldr r0, _080A4448 @ =RunStoredCallbackWhenAnimEnds
str r0, [r4, 0x1C]
ldr r1, _080A444C @ =DestroyAnimSprite
adds r0, r4, 0
@@ -4345,7 +4345,7 @@ _080A442C:
bx r0
.align 2, 0
_080A4444: .4byte gBattleAnimArgs
-_080A4448: .4byte sub_8074F6C
+_080A4448: .4byte RunStoredCallbackWhenAnimEnds
_080A444C: .4byte DestroyAnimSprite
thumb_func_end sub_80A43F8
@@ -4369,7 +4369,7 @@ _080A446A:
movs r0, 0
ldrsh r1, [r4, r0]
adds r0, r5, 0
- bl sub_8074FF8
+ bl SetAnimSpriteInitialXOffset
ldrh r0, [r4, 0x2]
ldrh r1, [r5, 0x22]
adds r0, r1
@@ -4407,18 +4407,18 @@ sub_80A4494: @ 80A4494
ldrb r1, [r1, 0xC]
adds r0, r4, 0
bl StartSpriteAffineAnim
- ldr r1, _080A44D8 @ =move_anim_8074EE0
+ ldr r1, _080A44D8 @ =DestroySpriteAndMatrix
adds r0, r4, 0
bl StoreSpriteCallbackInData6
- ldr r0, _080A44DC @ =sub_8074E70
+ ldr r0, _080A44DC @ =TranslateSpriteLinearAndFlicker
str r0, [r4, 0x1C]
pop {r4}
pop {r0}
bx r0
.align 2, 0
_080A44D4: .4byte gBattleAnimArgs
-_080A44D8: .4byte move_anim_8074EE0
-_080A44DC: .4byte sub_8074E70
+_080A44D8: .4byte DestroySpriteAndMatrix
+_080A44DC: .4byte TranslateSpriteLinearAndFlicker
thumb_func_end sub_80A4494
thumb_func_start sub_80A44E0
@@ -4717,7 +4717,7 @@ _080A46F2:
bl StoreSpriteCallbackInData6
movs r0, 0x3
strh r0, [r4, 0x2E]
- ldr r0, _080A4734 @ =sub_8074C44
+ ldr r0, _080A4734 @ =WaitAnimForDuration
str r0, [r4, 0x1C]
_080A4728:
pop {r4}
@@ -4725,7 +4725,7 @@ _080A4728:
bx r0
.align 2, 0
_080A4730: .4byte DestroyAnimSprite
-_080A4734: .4byte sub_8074C44
+_080A4734: .4byte WaitAnimForDuration
thumb_func_end sub_80A46CC
thumb_func_start sub_80A4738
@@ -4971,7 +4971,7 @@ _080A4906:
ldr r6, _080A4968 @ =gBattleAnimAttacker
ldrb r0, [r6]
movs r1, 0
- bl sub_8074844
+ bl GetBattlerSpriteCoord2
lsls r0, 24
ldr r4, _080A4964 @ =gBattleAnimArgs
lsrs r0, 24
@@ -4980,7 +4980,7 @@ _080A4906:
strh r0, [r5, 0x20]
ldrb r0, [r6]
movs r1, 0x1
- bl sub_8074844
+ bl GetBattlerSpriteCoord2
lsls r0, 24
lsrs r0, 24
ldrh r4, [r4, 0x2]
@@ -4997,7 +4997,7 @@ _080A4906:
beq _080A496C
_080A4944:
ldrb r0, [r6]
- bl sub_8076884
+ bl GetBattlerSpriteBGPriority
lsls r0, 24
lsrs r0, 24
adds r0, 0x1
@@ -5016,7 +5016,7 @@ _080A4964: .4byte gBattleAnimArgs
_080A4968: .4byte gBattleAnimAttacker
_080A496C:
ldrb r0, [r6]
- bl sub_8076884
+ bl GetBattlerSpriteBGPriority
movs r1, 0x3
ands r1, r0
lsls r1, 2
@@ -5185,14 +5185,14 @@ _080A4A80:
movs r1, 0x4
orrs r0, r1
strb r0, [r2]
- ldr r0, _080A4AC8 @ =sub_8074F88
+ ldr r0, _080A4AC8 @ =DestroyAnimSpriteAndDisableBlend
str r0, [r4, 0x1C]
_080A4AC2:
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
-_080A4AC8: .4byte sub_8074F88
+_080A4AC8: .4byte DestroyAnimSpriteAndDisableBlend
thumb_func_end sub_80A49D4
thumb_func_start sub_80A4ACC
@@ -5503,12 +5503,12 @@ sub_80A4D0C: @ 80A4D0C
cmp r0, 0
bne _080A4D20
adds r0, r4, 0
- bl sub_8074FCC
+ bl SetSpriteCoordsToAnimAttackerCoords
_080A4D20:
movs r0, 0
ldrsh r1, [r5, r0]
adds r0, r4, 0
- bl sub_8074FF8
+ bl SetAnimSpriteInitialXOffset
ldrh r0, [r5, 0x2]
ldrh r1, [r4, 0x22]
adds r0, r1
@@ -5522,7 +5522,7 @@ _080A4D20:
ldr r1, _080A4D54 @ =DestroyAnimSprite
adds r0, r4, 0
bl StoreSpriteCallbackInData6
- ldr r0, _080A4D58 @ =sub_8074D00
+ ldr r0, _080A4D58 @ =TranslateSpriteLinearFixedPoint
str r0, [r4, 0x1C]
pop {r4,r5}
pop {r0}
@@ -5530,7 +5530,7 @@ _080A4D20:
.align 2, 0
_080A4D50: .4byte gBattleAnimArgs
_080A4D54: .4byte DestroyAnimSprite
-_080A4D58: .4byte sub_8074D00
+_080A4D58: .4byte TranslateSpriteLinearFixedPoint
thumb_func_end sub_80A4D0C
thumb_func_start sub_80A4D5C
@@ -5569,11 +5569,11 @@ _080A4D7A:
adds r3, r5, 0
adds r3, 0x22
adds r0, r6, 0
- bl sub_8076D9C
+ bl SetAverageBattlerPositions
movs r2, 0
ldrsh r1, [r4, r2]
adds r0, r5, 0
- bl sub_8074FF8
+ bl SetAnimSpriteInitialXOffset
ldrh r0, [r4, 0x2]
ldrh r1, [r5, 0x22]
adds r0, r1
@@ -5619,7 +5619,7 @@ _080A4DFA:
movs r2, 0
ldrsh r1, [r0, r2]
adds r0, r5, 0
- bl sub_8074FF8
+ bl SetAnimSpriteInitialXOffset
_080A4E14:
ldr r1, _080A4E34 @ =gBattleAnimArgs
ldrh r0, [r1, 0xA]
@@ -5631,7 +5631,7 @@ _080A4E14:
ldr r1, _080A4E38 @ =DestroyAnimSprite
adds r0, r5, 0
bl StoreSpriteCallbackInData6
- ldr r0, _080A4E3C @ =sub_8074D00
+ ldr r0, _080A4E3C @ =TranslateSpriteLinearFixedPoint
str r0, [r5, 0x1C]
pop {r4-r6}
pop {r0}
@@ -5639,14 +5639,14 @@ _080A4E14:
.align 2, 0
_080A4E34: .4byte gBattleAnimArgs
_080A4E38: .4byte DestroyAnimSprite
-_080A4E3C: .4byte sub_8074D00
+_080A4E3C: .4byte TranslateSpriteLinearFixedPoint
thumb_func_end sub_80A4D5C
thumb_func_start sub_80A4E40
sub_80A4E40: @ 80A4E40
push {r4,lr}
adds r4, r0, 0
- bl sub_8074FCC
+ bl SetSpriteCoordsToAnimAttackerCoords
ldr r0, _080A4E6C @ =gBattleAnimAttacker
ldrb r0, [r0]
bl GetBattlerSide
@@ -5738,7 +5738,7 @@ _080A4EEC:
sub_80A4EF4: @ 80A4EF4
push {r4,lr}
adds r4, r0, 0
- bl sub_8074FCC
+ bl SetSpriteCoordsToAnimAttackerCoords
ldr r0, _080A4F24 @ =gBattleAnimAttacker
ldrb r0, [r0]
bl GetBattlerSide
@@ -5819,7 +5819,7 @@ sub_80A4F60: @ 80A4F60
cmp r0, 0x3C
ble _080A4FA4
adds r0, r4, 0
- bl move_anim_8074EE0
+ bl DestroySpriteAndMatrix
_080A4FA4:
pop {r4}
pop {r0}
@@ -5837,14 +5837,14 @@ sub_80A4FAC: @ 80A4FAC
strh r1, [r0, 0x22]
movs r1, 0x14
strh r1, [r0, 0x2E]
- ldr r1, _080A4FCC @ =sub_8074C44
+ ldr r1, _080A4FCC @ =WaitAnimForDuration
str r1, [r0, 0x1C]
ldr r1, _080A4FD0 @ =sub_80A4FD4
bl StoreSpriteCallbackInData6
pop {r0}
bx r0
.align 2, 0
-_080A4FCC: .4byte sub_8074C44
+_080A4FCC: .4byte WaitAnimForDuration
_080A4FD0: .4byte sub_80A4FD4
thumb_func_end sub_80A4FAC
@@ -5863,14 +5863,14 @@ sub_80A4FD4: @ 80A4FD4
b _080A506A
_080A4FEA:
strh r1, [r5, 0x2E]
- ldr r0, _080A4FFC @ =sub_8074C44
+ ldr r0, _080A4FFC @ =WaitAnimForDuration
str r0, [r5, 0x1C]
ldr r1, _080A5000 @ =sub_80A4FD4
adds r0, r5, 0
bl StoreSpriteCallbackInData6
b _080A506A
.align 2, 0
-_080A4FFC: .4byte sub_8074C44
+_080A4FFC: .4byte WaitAnimForDuration
_080A5000: .4byte sub_80A4FD4
_080A5004:
ldrh r3, [r5, 0x24]
@@ -5915,7 +5915,7 @@ _080A5004:
adds r0, r1
strh r0, [r5, 0x38]
movs r0, 0x3F
- bl sub_8073A44
+ bl BattleAnimAdjustPanning
adds r1, r0, 0
lsls r1, 24
asrs r1, 24
@@ -5946,14 +5946,14 @@ sub_80A5084: @ 80A5084
bne _080A50AC
movs r0, 0xA
strh r0, [r2, 0x2E]
- ldr r0, _080A50A4 @ =sub_8074C44
+ ldr r0, _080A50A4 @ =WaitAnimForDuration
str r0, [r2, 0x1C]
ldr r1, _080A50A8 @ =sub_80A50B8
adds r0, r2, 0
bl StoreSpriteCallbackInData6
b _080A50B0
.align 2, 0
-_080A50A4: .4byte sub_8074C44
+_080A50A4: .4byte WaitAnimForDuration
_080A50A8: .4byte sub_80A50B8
_080A50AC:
ldr r0, _080A50B4 @ =sub_80A4FD4
@@ -5976,14 +5976,14 @@ sub_80A50B8: @ 80A50B8
strh r0, [r5, 0x2E]
strh r1, [r5, 0x30]
strh r1, [r5, 0x32]
- ldr r0, _080A50D8 @ =sub_8074C44
+ ldr r0, _080A50D8 @ =WaitAnimForDuration
str r0, [r5, 0x1C]
ldr r1, _080A50DC @ =sub_80A5174
adds r0, r5, 0
bl StoreSpriteCallbackInData6
b _080A5160
.align 2, 0
-_080A50D8: .4byte sub_8074C44
+_080A50D8: .4byte WaitAnimForDuration
_080A50DC: .4byte sub_80A5174
_080A50E0:
ldrh r0, [r5, 0x6]
@@ -6126,7 +6126,7 @@ _080A51A4:
movs r2, 0x4
bl LoadPalette
movs r0, 0x3F
- bl sub_8073A44
+ bl BattleAnimAdjustPanning
adds r1, r0, 0
lsls r1, 24
asrs r1, 24
@@ -6447,7 +6447,7 @@ _080A5424:
ldrh r0, [r5, 0x34]
lsls r0, 24
lsrs r0, 24
- bl sub_80759DC
+ bl SetBattlerSpriteYOffsetFromRotation
ldrh r0, [r5, 0x2E]
adds r0, 0x1
strh r0, [r5, 0x2E]
@@ -6589,7 +6589,7 @@ _080A5538:
ldrh r0, [r5, 0x34]
lsls r0, 24
lsrs r0, 24
- bl sub_80759DC
+ bl SetBattlerSpriteYOffsetFromRotation
ldrh r0, [r5, 0x2E]
adds r0, 0x1
strh r0, [r5, 0x2E]
@@ -6694,7 +6694,7 @@ _080A55FA:
ldrh r0, [r4, 0x32]
lsls r0, 24
lsrs r0, 24
- bl sub_80759DC
+ bl SetBattlerSpriteYOffsetFromRotation
ldrh r0, [r4, 0x30]
adds r0, 0x1
strh r0, [r4, 0x30]
@@ -6732,7 +6732,7 @@ _080A564C:
ldrh r0, [r4, 0x32]
lsls r0, 24
lsrs r0, 24
- bl sub_80759DC
+ bl SetBattlerSpriteYOffsetFromRotation
ldrh r0, [r4, 0x30]
adds r0, 0x1
strh r0, [r4, 0x30]
@@ -6906,7 +6906,7 @@ _080A579E:
adds r1, r2, 0
bl SetSpriteRotScale
ldrb r0, [r4, 0x8]
- bl sub_80759DC
+ bl SetBattlerSpriteYOffsetFromRotation
b _080A58D4
_080A57C4:
movs r0, 0x8
@@ -7097,7 +7097,7 @@ sub_80A58EC: @ 80A58EC
adds r1, r2, 0
bl SetSpriteRotScale
ldrb r0, [r4, 0x8]
- bl sub_80759DC
+ bl SetBattlerSpriteYOffsetFromRotation
ldrh r0, [r4, 0xE]
subs r0, 0x1
strh r0, [r4, 0xE]
@@ -7154,7 +7154,7 @@ _080A595E:
ldr r1, _080A59A0 @ =sub_80A5A8C
adds r0, r5, 0
bl StoreSpriteCallbackInData6
- ldr r0, _080A59A4 @ =sub_8074F6C
+ ldr r0, _080A59A4 @ =RunStoredCallbackWhenAnimEnds
str r0, [r5, 0x1C]
pop {r4-r6}
pop {r0}
@@ -7162,7 +7162,7 @@ _080A595E:
.align 2, 0
_080A599C: .4byte gBattleAnimTarget
_080A59A0: .4byte sub_80A5A8C
-_080A59A4: .4byte sub_8074F6C
+_080A59A4: .4byte RunStoredCallbackWhenAnimEnds
thumb_func_end sub_80A5940
thumb_func_start sub_80A59A8
@@ -7187,7 +7187,7 @@ sub_80A59A8: @ 80A59A8
ldr r1, _080A59E8 @ =sub_80A5A44
adds r0, r4, 0
bl StoreSpriteCallbackInData6
- ldr r0, _080A59EC @ =sub_8074F6C
+ ldr r0, _080A59EC @ =RunStoredCallbackWhenAnimEnds
str r0, [r4, 0x1C]
pop {r4,r5}
pop {r0}
@@ -7196,7 +7196,7 @@ sub_80A59A8: @ 80A59A8
_080A59E0: .4byte gBattleAnimTarget
_080A59E4: .4byte 0x0000ffd0
_080A59E8: .4byte sub_80A5A44
-_080A59EC: .4byte sub_8074F6C
+_080A59EC: .4byte RunStoredCallbackWhenAnimEnds
thumb_func_end sub_80A59A8
thumb_func_start sub_80A59F0
@@ -7259,7 +7259,7 @@ sub_80A5A44: @ 80A5A44
ldr r1, _080A5A74 @ =sub_80A5A7C
adds r0, r4, 0
bl StoreSpriteCallbackInData6
- ldr r0, _080A5A78 @ =sub_8074CD0
+ ldr r0, _080A5A78 @ =TranslateSpriteLinear
str r0, [r4, 0x1C]
_080A5A6E:
pop {r4}
@@ -7267,7 +7267,7 @@ _080A5A6E:
bx r0
.align 2, 0
_080A5A74: .4byte sub_80A5A7C
-_080A5A78: .4byte sub_8074CD0
+_080A5A78: .4byte TranslateSpriteLinear
thumb_func_end sub_80A5A44
thumb_func_start sub_80A5A7C
@@ -7436,7 +7436,7 @@ sub_80A5B7C: @ 80A5B7C
strh r5, [r4, 0x34]
strh r5, [r4, 0x36]
subs r0, 0x42
- bl sub_8073A44
+ bl BattleAnimAdjustPanning
lsls r0, 24
asrs r0, 24
strh r0, [r4, 0x38]
@@ -7656,7 +7656,7 @@ sub_80A5D4C: @ 80A5D4C
push {r4,lr}
adds r4, r0, 0
movs r1, 0
- bl sub_8075114
+ bl InitSpritePosToAnimTarget
adds r2, r4, 0
adds r2, 0x2C
ldrb r0, [r2]
@@ -8042,7 +8042,7 @@ sub_80A5FC0: @ 80A5FC0
adds r5, 0x1E
adds r1, r5, 0
mov r2, r8
- bl sub_80765C0
+ bl StorePointerInVars
ldr r0, _080A6098 @ =0x000027d2
bl IndexOfSpritePaletteTag
lsls r0, 24
@@ -8273,7 +8273,7 @@ _080A61EC:
ldrsh r0, [r4, r1]
movs r2, 0x26
ldrsh r1, [r4, r2]
- bl sub_80765C8
+ bl LoadPointerFromVars
ldr r1, _080A621C @ =0x00007fbb
str r1, [sp]
movs r1, 0
@@ -8506,7 +8506,7 @@ sub_80A63B4: @ 80A63B4
ldr r1, _080A6444 @ =gTasks
adds r6, r0, r1
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r0, 24
strh r0, [r6, 0x8]
@@ -8598,7 +8598,7 @@ _080A6488:
cmp r5, 0x1
bhi _080A649A
movs r0, 0
- bl duplicate_obj_of_side_rel2move_in_transparent_mode
+ bl CloneBattlerSpriteWithBlend
lsls r0, 16
asrs r0, 16
cmp r0, 0
@@ -8608,7 +8608,7 @@ _080A649A:
str r0, [r6]
ldr r0, _080A64C4 @ =gBattleAnimAttacker
ldrb r0, [r0]
- bl sub_80768B0
+ bl GetBattlerSpriteBGPriorityRank
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -8652,7 +8652,7 @@ sub_80A64E0: @ 80A64E0
bne _080A6532
ldr r0, _080A6518 @ =gBattleAnimAttacker
ldrb r0, [r0]
- bl sub_80768B0
+ bl GetBattlerSpriteBGPriorityRank
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -8764,14 +8764,14 @@ sub_80A65CC: @ 80A65CC
adds r4, r0, 0
ldr r1, _080A65E0 @ =DestroyAnimSprite
bl StoreSpriteCallbackInData6
- ldr r0, _080A65E4 @ =sub_8074F6C
+ ldr r0, _080A65E4 @ =RunStoredCallbackWhenAnimEnds
str r0, [r4, 0x1C]
pop {r4}
pop {r0}
bx r0
.align 2, 0
_080A65E0: .4byte DestroyAnimSprite
-_080A65E4: .4byte sub_8074F6C
+_080A65E4: .4byte RunStoredCallbackWhenAnimEnds
thumb_func_end sub_80A65CC
thumb_func_start sub_80A65E8
@@ -8903,7 +8903,7 @@ sub_80A66D4: @ 80A66D4
push {r4-r6,lr}
sub sp, 0x4
adds r5, r0, 0
- bl sub_8074FCC
+ bl SetSpriteCoordsToAnimAttackerCoords
ldr r4, _080A672C @ =gBattleAnimArgs
ldrb r1, [r4]
adds r0, r5, 0
@@ -9091,7 +9091,7 @@ _080A6800:
ble _080A6856
_080A684E:
adds r0, r4, 0
- bl move_anim_8074EE0
+ bl DestroySpriteAndMatrix
b _080A68A6
_080A6856:
movs r0, 0x34
@@ -9267,7 +9267,7 @@ _080A699E:
cmp r0, 0x30
bne _080A69B2
adds r0, r4, 0
- bl move_anim_8074EE0
+ bl DestroySpriteAndMatrix
_080A69B2:
pop {r4}
pop {r0}
@@ -9314,7 +9314,7 @@ _080A69DE:
strh r0, [r5, 0x22]
movs r0, 0x8
strh r0, [r5, 0x2E]
- ldr r0, _080A6A20 @ =sub_8074C44
+ ldr r0, _080A6A20 @ =WaitAnimForDuration
str r0, [r5, 0x1C]
ldr r1, _080A6A24 @ =DestroyAnimSprite
adds r0, r5, 0
@@ -9325,7 +9325,7 @@ _080A69DE:
.align 2, 0
_080A6A18: .4byte 0x0000fff0
_080A6A1C: .4byte gBattleAnimAttacker
-_080A6A20: .4byte sub_8074C44
+_080A6A20: .4byte WaitAnimForDuration
_080A6A24: .4byte DestroyAnimSprite
thumb_func_end sub_80A69B8
@@ -9333,7 +9333,7 @@ _080A6A24: .4byte DestroyAnimSprite
sub_80A6A28: @ 80A6A28
push {r4,r5,lr}
adds r4, r0, 0
- bl sub_8074FCC
+ bl SetSpriteCoordsToAnimAttackerCoords
ldrh r0, [r4, 0x22]
adds r0, 0x8
strh r0, [r4, 0x22]
@@ -9381,7 +9381,7 @@ _080A6A74:
subs r0, 0x28
strh r0, [r4, 0x36]
adds r0, r4, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimLinearTranslation
ldrh r0, [r5, 0x6]
strh r0, [r4, 0x38]
ldr r0, _080A6AAC @ =sub_80A6AB0
@@ -9400,7 +9400,7 @@ _080A6AAC: .4byte sub_80A6AB0
sub_80A6AB0: @ 80A6AB0
push {r4,lr}
adds r4, r0, 0
- bl sub_80755E0
+ bl AnimTranslateLinear
lsls r0, 24
cmp r0, 0
bne _080A6B00
@@ -9458,13 +9458,13 @@ sub_80A6B0C: @ 80A6B0C
bne _080A6B2C
adds r0, r5, 0
movs r1, 0x5
- bl sub_8076B2C
+ bl GetBattlerSpriteCoordAttr
adds r0, 0x8
b _080A6B36
_080A6B2C:
adds r0, r5, 0
movs r1, 0x4
- bl sub_8076B2C
+ bl GetBattlerSpriteCoordAttr
subs r0, 0x8
_080A6B36:
strh r0, [r6, 0x20]
@@ -9474,7 +9474,7 @@ _080A6B36:
adds r4, r0, 0
adds r0, r5, 0
movs r1, 0
- bl sub_8076B2C
+ bl GetBattlerSpriteCoordAttr
lsls r4, 24
lsrs r4, 24
lsls r0, 16
@@ -9529,7 +9529,7 @@ _080A6B82:
ldr r1, _080A6BC8 @ =sub_80A6BD0
adds r0, r5, 0
bl StoreSpriteCallbackInData6
- ldr r0, _080A6BCC @ =sub_8074F6C
+ ldr r0, _080A6BCC @ =RunStoredCallbackWhenAnimEnds
str r0, [r5, 0x1C]
pop {r4,r5}
pop {r0}
@@ -9538,7 +9538,7 @@ _080A6B82:
_080A6BC0: .4byte gBattleAnimTarget
_080A6BC4: .4byte gBattleAnimArgs
_080A6BC8: .4byte sub_80A6BD0
-_080A6BCC: .4byte sub_8074F6C
+_080A6BCC: .4byte RunStoredCallbackWhenAnimEnds
thumb_func_end sub_80A6B64
thumb_func_start sub_80A6BD0
@@ -9559,7 +9559,7 @@ sub_80A6BD0: @ 80A6BD0
lsrs r1, 24
adds r0, r4, 0
bl StartSpriteAnim
- ldr r0, _080A6C04 @ =sub_8074F6C
+ ldr r0, _080A6C04 @ =RunStoredCallbackWhenAnimEnds
str r0, [r4, 0x1C]
_080A6BF8:
pop {r4}
@@ -9567,7 +9567,7 @@ _080A6BF8:
bx r0
.align 2, 0
_080A6C00: .4byte DestroyAnimSprite
-_080A6C04: .4byte sub_8074F6C
+_080A6C04: .4byte RunStoredCallbackWhenAnimEnds
thumb_func_end sub_80A6BD0
thumb_func_start sub_80A6C08
@@ -9595,7 +9595,7 @@ _080A6C26:
ldr r1, _080A6C48 @ =sub_80A6C50
adds r0, r4, 0
bl StoreSpriteCallbackInData6
- ldr r0, _080A6C4C @ =sub_8074F50
+ ldr r0, _080A6C4C @ =RunStoredCallbackWhenAffineAnimEnds
str r0, [r4, 0x1C]
pop {r4}
pop {r0}
@@ -9603,7 +9603,7 @@ _080A6C26:
.align 2, 0
_080A6C44: .4byte gBattleAnimTarget
_080A6C48: .4byte sub_80A6C50
-_080A6C4C: .4byte sub_8074F50
+_080A6C4C: .4byte RunStoredCallbackWhenAffineAnimEnds
thumb_func_end sub_80A6C08
thumb_func_start sub_80A6C50
@@ -9620,18 +9620,18 @@ sub_80A6C50: @ 80A6C50
adds r0, r4, 0
movs r1, 0x1
bl StartSpriteAffineAnim
- ldr r1, _080A6C7C @ =move_anim_8074EE0
+ ldr r1, _080A6C7C @ =DestroySpriteAndMatrix
adds r0, r4, 0
bl StoreSpriteCallbackInData6
- ldr r0, _080A6C80 @ =sub_8074F50
+ ldr r0, _080A6C80 @ =RunStoredCallbackWhenAffineAnimEnds
str r0, [r4, 0x1C]
_080A6C76:
pop {r4}
pop {r0}
bx r0
.align 2, 0
-_080A6C7C: .4byte move_anim_8074EE0
-_080A6C80: .4byte sub_8074F50
+_080A6C7C: .4byte DestroySpriteAndMatrix
+_080A6C80: .4byte RunStoredCallbackWhenAffineAnimEnds
thumb_func_end sub_80A6C50
thumb_func_start sub_80A6C84
@@ -9661,7 +9661,7 @@ _080A6CA2:
strh r0, [r4, 0x20]
adds r0, r5, 0
movs r1, 0x2
- bl sub_8076B2C
+ bl GetBattlerSpriteCoordAttr
strh r0, [r4, 0x22]
lsls r0, 16
asrs r0, 16
@@ -9684,7 +9684,7 @@ _080A6CCA:
ldr r1, _080A6CF8 @ =sub_80A6D00
adds r0, r4, 0
bl StoreSpriteCallbackInData6
- ldr r0, _080A6CFC @ =sub_8074F50
+ ldr r0, _080A6CFC @ =RunStoredCallbackWhenAffineAnimEnds
str r0, [r4, 0x1C]
pop {r4-r6}
pop {r0}
@@ -9692,7 +9692,7 @@ _080A6CCA:
.align 2, 0
_080A6CF4: .4byte gBattleAnimTarget
_080A6CF8: .4byte sub_80A6D00
-_080A6CFC: .4byte sub_8074F50
+_080A6CFC: .4byte RunStoredCallbackWhenAffineAnimEnds
thumb_func_end sub_80A6C84
thumb_func_start sub_80A6D00
@@ -9850,7 +9850,7 @@ sub_80A6DF0: @ 80A6DF0
ldr r1, _080A6E24 @ =sub_80A6E2C
adds r0, r4, 0
bl StoreSpriteCallbackInData6
- ldr r0, _080A6E28 @ =sub_8074F6C
+ ldr r0, _080A6E28 @ =RunStoredCallbackWhenAnimEnds
str r0, [r4, 0x1C]
_080A6E1E:
pop {r4}
@@ -9858,7 +9858,7 @@ _080A6E1E:
bx r0
.align 2, 0
_080A6E24: .4byte sub_80A6E2C
-_080A6E28: .4byte sub_8074F6C
+_080A6E28: .4byte RunStoredCallbackWhenAnimEnds
thumb_func_end sub_80A6DF0
thumb_func_start sub_80A6E2C
diff --git a/asm/battle_anim_effects_2.s b/asm/battle_anim_effects_2.s
index 722ff51ba..67ac6a13e 100644
--- a/asm/battle_anim_effects_2.s
+++ b/asm/battle_anim_effects_2.s
@@ -9,12 +9,12 @@
sub_80A6E48: @ 80A6E48
push {r4,r5,lr}
adds r4, r0, 0
- bl sub_8074FCC
+ bl SetSpriteCoordsToAnimAttackerCoords
ldr r5, _080A6E8C @ =gBattleAnimArgs
movs r0, 0
ldrsh r1, [r5, r0]
adds r0, r4, 0
- bl sub_8074FF8
+ bl SetAnimSpriteInitialXOffset
ldrh r0, [r5, 0x2]
ldrh r1, [r4, 0x22]
adds r0, r1
@@ -27,10 +27,10 @@ sub_80A6E48: @ 80A6E48
strh r0, [r4, 0x34]
ldrh r0, [r5, 0x6]
strh r0, [r4, 0x36]
- ldr r1, _080A6E90 @ =move_anim_8074EE0
+ ldr r1, _080A6E90 @ =DestroySpriteAndMatrix
adds r0, r4, 0
bl StoreSpriteCallbackInData6
- ldr r1, _080A6E94 @ =sub_8074BE4
+ ldr r1, _080A6E94 @ =TranslateSpriteInEllipseOverDuration
str r1, [r4, 0x1C]
adds r0, r4, 0
bl _call_via_r1
@@ -39,8 +39,8 @@ sub_80A6E48: @ 80A6E48
bx r0
.align 2, 0
_080A6E8C: .4byte gBattleAnimArgs
-_080A6E90: .4byte move_anim_8074EE0
-_080A6E94: .4byte sub_8074BE4
+_080A6E90: .4byte DestroySpriteAndMatrix
+_080A6E94: .4byte TranslateSpriteInEllipseOverDuration
thumb_func_end sub_80A6E48
thumb_func_start sub_80A6E98
@@ -166,7 +166,7 @@ sub_80A6F3C: @ 80A6F3C
adds r0, r3
strh r2, [r0, 0x24]
adds r0, r4, 0
- bl move_anim_8074EE0
+ bl DestroySpriteAndMatrix
_080A6F7A:
ldrh r0, [r4, 0x2E]
subs r0, 0x1
@@ -254,7 +254,7 @@ sub_80A7020: @ 80A7020
push {r4,lr}
adds r4, r0, 0
movs r1, 0x1
- bl sub_8075160
+ bl InitSpritePosToAnimAttacker
ldr r1, _080A704C @ =gBattleAnimArgs
ldrh r0, [r1, 0x4]
strh r0, [r4, 0x2E]
@@ -262,7 +262,7 @@ sub_80A7020: @ 80A7020
strh r0, [r4, 0x30]
ldrh r0, [r1, 0x8]
strh r0, [r4, 0x38]
- ldr r0, _080A7050 @ =sub_8074C44
+ ldr r0, _080A7050 @ =WaitAnimForDuration
str r0, [r4, 0x1C]
ldr r1, _080A7054 @ =sub_80A7058
adds r0, r4, 0
@@ -272,7 +272,7 @@ sub_80A7020: @ 80A7020
bx r0
.align 2, 0
_080A704C: .4byte gBattleAnimArgs
-_080A7050: .4byte sub_8074C44
+_080A7050: .4byte WaitAnimForDuration
_080A7054: .4byte sub_80A7058
thumb_func_end sub_80A7020
@@ -438,7 +438,7 @@ _080A7176:
_080A718A:
strh r1, [r0, 0x26]
adds r0, r4, 0
- bl sub_80759DC
+ bl SetBattlerSpriteYOffsetFromRotation
ldr r0, _080A71C8 @ =gTasks
adds r1, r6, r5
lsls r1, 3
@@ -479,7 +479,7 @@ _080A71D0:
sub_80A71D8: @ 80A71D8
push {r4,r5,lr}
adds r4, r0, 0
- bl sub_8074FCC
+ bl SetSpriteCoordsToAnimAttackerCoords
ldr r0, _080A71FC @ =gBattleAnimAttacker
ldrb r0, [r0]
bl GetBattlerSide
@@ -544,7 +544,7 @@ _080A724C:
orrs r0, r1
strb r0, [r2]
_080A7260:
- ldr r0, _080A7274 @ =sub_8074F6C
+ ldr r0, _080A7274 @ =RunStoredCallbackWhenAnimEnds
str r0, [r4, 0x1C]
ldr r1, _080A7278 @ =DestroyAnimSprite
adds r0, r4, 0
@@ -553,7 +553,7 @@ _080A7260:
pop {r0}
bx r0
.align 2, 0
-_080A7274: .4byte sub_8074F6C
+_080A7274: .4byte RunStoredCallbackWhenAnimEnds
_080A7278: .4byte DestroyAnimSprite
thumb_func_end sub_80A71D8
@@ -562,8 +562,8 @@ sub_80A727C: @ 80A727C
push {r4,lr}
adds r4, r0, 0
movs r1, 0
- bl sub_8075160
- ldr r0, _080A7298 @ =sub_8074F50
+ bl InitSpritePosToAnimAttacker
+ ldr r0, _080A7298 @ =RunStoredCallbackWhenAffineAnimEnds
str r0, [r4, 0x1C]
ldr r1, _080A729C @ =sub_80A72A0
adds r0, r4, 0
@@ -572,7 +572,7 @@ sub_80A727C: @ 80A727C
pop {r0}
bx r0
.align 2, 0
-_080A7298: .4byte sub_8074F50
+_080A7298: .4byte RunStoredCallbackWhenAffineAnimEnds
_080A729C: .4byte sub_80A72A0
thumb_func_end sub_80A727C
@@ -635,7 +635,7 @@ _080A72EC:
_080A730E:
adds r0, r5, 0
movs r1, 0x1
- bl sub_8075160
+ bl InitSpritePosToAnimAttacker
ldr r4, _080A73BC @ =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
@@ -671,7 +671,7 @@ _080A730E:
subs r1, r2
lsls r1, 16
asrs r1, 16
- bl sub_8075B30
+ bl ArcTan2Neg
lsls r0, 16
movs r1, 0xF0
lsls r1, 24
@@ -692,7 +692,7 @@ _080A7380:
adds r0, r5, 0
movs r1, 0
adds r2, r3, 0
- bl sub_8075A1C
+ bl TrySetSpriteRotScale
ldrh r0, [r6, 0x8]
strh r0, [r5, 0x2E]
mov r0, r8
@@ -1118,7 +1118,7 @@ _080A7690:
strh r0, [r4, 0xA]
movs r0, 0x3F
negs r0, r0
- bl sub_8073A44
+ bl BattleAnimAdjustPanning
adds r1, r0, 0
lsls r1, 24
asrs r1, 24
@@ -1276,7 +1276,7 @@ _080A77B6:
movs r1, 0
mov r2, sp
mov r3, r10
- bl sub_8076D9C
+ bl SetAverageBattlerPositions
b _080A7842
.align 2, 0
_080A7810: .4byte gBattleAnimAttacker
@@ -1506,7 +1506,7 @@ sub_80A79E8: @ 80A79E8
push {r4,lr}
adds r4, r0, 0
movs r1, 0
- bl sub_8075160
+ bl InitSpritePosToAnimAttacker
ldr r0, _080A7A10 @ =gUnknown_83E3D18
ldrh r0, [r0, 0x2]
bl IndexOfSpritePaletteTag
@@ -1592,7 +1592,7 @@ sub_80A7A88: @ 80A7A88
sub sp, 0x4
adds r5, r0, 0
movs r1, 0x1
- bl sub_8075160
+ bl InitSpritePosToAnimAttacker
ldr r4, _080A7B28 @ =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
@@ -1636,7 +1636,7 @@ _080A7ACC:
subs r1, r2
lsls r1, 16
asrs r1, 16
- bl sub_8075B30
+ bl ArcTan2Neg
lsls r0, 16
movs r1, 0xC0
lsls r1, 24
@@ -1648,7 +1648,7 @@ _080A7ACC:
adds r0, r5, 0
movs r1, 0
adds r2, r3, 0
- bl sub_8075A1C
+ bl TrySetSpriteRotScale
ldrh r0, [r4, 0x8]
strh r0, [r5, 0x2E]
strh r6, [r5, 0x32]
@@ -1748,7 +1748,7 @@ sub_80A7BC4: @ 80A7BC4
push {r4,r5,lr}
adds r4, r0, 0
movs r1, 0x1
- bl sub_8075160
+ bl InitSpritePosToAnimAttacker
movs r0, 0x14
strh r0, [r4, 0x2E]
ldr r5, _080A7C10 @ =gBattleAnimTarget
@@ -1789,7 +1789,7 @@ sub_80A7C1C: @ 80A7C1C
push {r4,lr}
adds r4, r0, 0
movs r0, 0x3F
- bl sub_8073A44
+ bl BattleAnimAdjustPanning
adds r1, r0, 0
lsls r1, 24
asrs r1, 24
@@ -1907,7 +1907,7 @@ sub_80A7D04: @ 80A7D04
push {r4,lr}
adds r4, r0, 0
movs r1, 0
- bl sub_8075160
+ bl InitSpritePosToAnimAttacker
ldr r0, _080A7D54 @ =gBattleAnimAttacker
ldrb r0, [r0]
bl GetBattlerSide
@@ -1929,7 +1929,7 @@ _080A7D22:
strh r0, [r4, 0x34]
ldrh r0, [r1, 0x6]
strh r0, [r4, 0x36]
- ldr r0, _080A7D5C @ =sub_8074A80
+ ldr r0, _080A7D5C @ =TranslateSpriteInCircleOverDuration
str r0, [r4, 0x1C]
ldr r1, _080A7D60 @ =DestroyAnimSprite
adds r0, r4, 0
@@ -1943,7 +1943,7 @@ _080A7D22:
.align 2, 0
_080A7D54: .4byte gBattleAnimAttacker
_080A7D58: .4byte gBattleAnimArgs
-_080A7D5C: .4byte sub_8074A80
+_080A7D5C: .4byte TranslateSpriteInCircleOverDuration
_080A7D60: .4byte DestroyAnimSprite
thumb_func_end sub_80A7D04
@@ -2094,7 +2094,7 @@ _080A7E48:
adds r0, r6
strh r0, [r5, 0x36]
adds r0, r5, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimLinearTranslation
ldrh r0, [r7]
strh r0, [r5, 0x38]
ldrh r0, [r5, 0x2E]
@@ -2119,7 +2119,7 @@ _080A7EB8: .4byte sub_80A7EBC
sub_80A7EBC: @ 80A7EBC
push {r4,lr}
adds r4, r0, 0
- bl sub_80755E0
+ bl AnimTranslateLinear
lsls r0, 24
cmp r0, 0
beq _080A7F20
@@ -2233,7 +2233,7 @@ _080A7F90: .4byte sub_80A7F94
sub_80A7F94: @ 80A7F94
push {r4,lr}
adds r4, r0, 0
- bl sub_80755E0
+ bl AnimTranslateLinear
lsls r0, 24
cmp r0, 0
beq _080A7FA8
@@ -2252,7 +2252,7 @@ sub_80A7FB0: @ 80A7FB0
lsls r5, 24
lsrs r5, 24
movs r0, 0x1
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
@@ -2273,7 +2273,7 @@ sub_80A7FB0: @ 80A7FB0
lsrs r0, 4
adds r0, 0x10
movs r1, 0
- bl sub_8075B48
+ bl SetGreyscaleOrOriginalPalette
ldr r1, _080A800C @ =gTasks
lsls r0, r5, 2
adds r0, r5
@@ -2312,7 +2312,7 @@ sub_80A8014: @ 80A8014
cmp r1, r0
bne _080A8064
movs r0, 0x1
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
@@ -2327,7 +2327,7 @@ sub_80A8014: @ 80A8014
lsrs r0, 4
adds r0, 0x10
movs r1, 0x1
- bl sub_8075B48
+ bl SetGreyscaleOrOriginalPalette
adds r0, r5, 0
bl DestroyAnimVisualTask
_080A8064:
@@ -2350,7 +2350,7 @@ sub_80A8074: @ 80A8074
ldr r0, _080A80C0 @ =gTasks
adds r4, r0
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r0, 24
movs r5, 0
@@ -2441,7 +2441,7 @@ _080A8128:
movs r3, 0
bl SetSpriteRotScale
ldrb r0, [r4, 0x8]
- bl sub_8076440
+ bl SetBattlerSpriteYOffsetFromYScale
movs r2, 0xC
ldrsh r0, [r4, r2]
cmp r0, 0x20
@@ -2473,7 +2473,7 @@ _080A816E:
movs r3, 0
bl SetSpriteRotScale
ldrb r0, [r4, 0x8]
- bl sub_8076440
+ bl SetBattlerSpriteYOffsetFromYScale
movs r0, 0x2
strh r0, [r4, 0xA]
b _080A81F6
@@ -2504,7 +2504,7 @@ _080A81A4:
movs r3, 0
bl SetSpriteRotScale
ldrb r0, [r4, 0x8]
- bl sub_8076440
+ bl SetBattlerSpriteYOffsetFromYScale
movs r2, 0xC
ldrsh r0, [r4, r2]
cmp r0, 0x20
@@ -2550,7 +2550,7 @@ sub_80A8200: @ 80A8200
lsrs r1, 24
mov r9, r1
movs r0, 0
- bl duplicate_obj_of_side_rel2move_in_transparent_mode
+ bl CloneBattlerSpriteWithBlend
lsls r0, 16
lsrs r0, 16
mov r8, r0
@@ -2720,7 +2720,7 @@ _080A835C: .4byte gTasks
_080A8360: .4byte gBattleAnimArgs
_080A8364:
ldrb r0, [r5]
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -2733,7 +2733,7 @@ _080A8364:
strh r2, [r4, 0x10]
ldr r2, _080A8390 @ =gUnknown_83E3E60
adds r0, r4, 0
- bl sub_80762D0
+ bl PrepareAffineAnimInTaskData
ldr r0, _080A8394 @ =sub_80A8398
str r0, [r4]
_080A838A:
@@ -2774,7 +2774,7 @@ _080A83C0:
b _080A84A8
_080A83CA:
adds r0, r4, 0
- bl sub_8076308
+ bl RunAffineAnimFromTaskData
ldrh r2, [r4, 0x10]
adds r2, 0x3
strh r2, [r4, 0x10]
@@ -2801,7 +2801,7 @@ _080A83CA:
_080A83FC: .4byte gSprites
_080A8400:
adds r0, r4, 0
- bl sub_8076308
+ bl RunAffineAnimFromTaskData
ldr r2, _080A8430 @ =gSprites
movs r0, 0x8
ldrsh r1, [r4, r0]
@@ -2853,7 +2853,7 @@ _080A845C:
b _080A84A8
_080A8464:
adds r0, r4, 0
- bl sub_8076308
+ bl RunAffineAnimFromTaskData
lsls r0, 24
lsrs r5, r0, 24
cmp r5, 0
@@ -2881,7 +2881,7 @@ _080A849C:
ldrb r1, [r4, 0x8]
ldr r2, _080A84B0 @ =gUnknown_83E3E60
adds r0, r4, 0
- bl sub_80762D0
+ bl PrepareAffineAnimInTaskData
strh r5, [r4, 0xA]
_080A84A8:
pop {r4-r6}
@@ -2902,13 +2902,13 @@ sub_80A84B4: @ 80A84B4
ldr r0, _080A84E4 @ =gTasks
adds r4, r0
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
ldr r2, _080A84E8 @ =gUnknown_83E3E80
adds r0, r4, 0
- bl sub_80762D0
+ bl PrepareAffineAnimInTaskData
ldr r0, _080A84EC @ =sub_80A84F0
str r0, [r4]
pop {r4}
@@ -2930,7 +2930,7 @@ sub_80A84F0: @ 80A84F0
lsls r0, 3
ldr r1, _080A8518 @ =gTasks
adds r0, r1
- bl sub_8076308
+ bl RunAffineAnimFromTaskData
lsls r0, 24
cmp r0, 0
bne _080A8510
@@ -2998,7 +2998,7 @@ _080A856A:
ldr r1, _080A85A4 @ =DestroyAnimSprite
adds r0, r4, 0
bl StoreSpriteCallbackInData6
- ldr r0, _080A85A8 @ =sub_8074D00
+ ldr r0, _080A85A8 @ =TranslateSpriteLinearFixedPoint
str r0, [r4, 0x1C]
pop {r4,r5}
pop {r0}
@@ -3007,7 +3007,7 @@ _080A856A:
_080A859C: .4byte 0x0000ffc0
_080A85A0: .4byte gBattleAnimAttacker
_080A85A4: .4byte DestroyAnimSprite
-_080A85A8: .4byte sub_8074D00
+_080A85A8: .4byte TranslateSpriteLinearFixedPoint
thumb_func_end sub_80A851C
thumb_func_start sub_80A85AC
@@ -3064,10 +3064,10 @@ _080A85E4:
movs r0, 0x8
strh r0, [r6, 0x22]
_080A8616:
- ldr r1, _080A8630 @ =move_anim_8074EE0
+ ldr r1, _080A8630 @ =DestroySpriteAndMatrix
adds r0, r6, 0
bl StoreSpriteCallbackInData6
- ldr r0, _080A8634 @ =sub_8074F50
+ ldr r0, _080A8634 @ =RunStoredCallbackWhenAffineAnimEnds
str r0, [r6, 0x1C]
pop {r4-r6}
pop {r0}
@@ -3075,8 +3075,8 @@ _080A8616:
.align 2, 0
_080A8628: .4byte gBattleAnimTarget
_080A862C: .4byte gBattleAnimArgs
-_080A8630: .4byte move_anim_8074EE0
-_080A8634: .4byte sub_8074F50
+_080A8630: .4byte DestroySpriteAndMatrix
+_080A8634: .4byte RunStoredCallbackWhenAffineAnimEnds
thumb_func_end sub_80A85AC
thumb_func_start sub_80A8638
@@ -3090,7 +3090,7 @@ sub_80A8638: @ 80A8638
ldr r0, _080A866C @ =gTasks
adds r4, r0
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -3099,7 +3099,7 @@ sub_80A8638: @ 80A8638
strh r0, [r4, 0xA]
ldr r2, _080A8670 @ =gUnknown_83E3F1C
adds r0, r4, 0
- bl sub_80762D0
+ bl PrepareAffineAnimInTaskData
ldr r0, _080A8674 @ =sub_80A8678
str r0, [r4]
pop {r4}
@@ -3121,7 +3121,7 @@ sub_80A8678: @ 80A8678
lsls r0, 3
ldr r1, _080A86A0 @ =gTasks
adds r0, r1
- bl sub_8076308
+ bl RunAffineAnimFromTaskData
lsls r0, 24
cmp r0, 0
bne _080A8698
@@ -3146,7 +3146,7 @@ sub_80A86A4: @ 80A86A4
ldr r0, _080A8718 @ =gTasks
adds r4, r1, r0
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r0, 24
movs r2, 0
@@ -3389,7 +3389,7 @@ sub_80A8874: @ 80A8874
adds r5, r1, r0
ldr r4, _080A88C8 @ =gBattleAnimTarget
ldrb r0, [r4]
- bl sub_807492C
+ bl GetBattlerYCoordWithElevation
lsls r0, 24
lsrs r0, 24
adds r0, 0x20
@@ -3402,10 +3402,10 @@ sub_80A8874: @ 80A8874
strh r1, [r5, 0x10]
strh r1, [r5, 0x12]
ldrb r0, [r4]
- bl sub_8076B2C
+ bl GetBattlerSpriteCoordAttr
strh r0, [r5, 0x26]
ldrb r0, [r4]
- bl sub_80768B0
+ bl GetBattlerSpriteBGPriorityRank
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -3609,7 +3609,7 @@ sub_80A8A1C: @ 80A8A1C
movs r5, 0
strh r0, [r4, 0x20]
ldrb r0, [r6]
- bl sub_807492C
+ bl GetBattlerYCoordWithElevation
lsls r0, 24
lsrs r0, 24
adds r0, 0x10
@@ -3622,11 +3622,11 @@ sub_80A8A1C: @ 80A8A1C
strh r5, [r4, 0x36]
ldrb r0, [r6]
movs r1, 0
- bl sub_8076B2C
+ bl GetBattlerSpriteCoordAttr
adds r0, 0x2
strh r0, [r4, 0x38]
movs r0, 0x3F
- bl sub_8073A44
+ bl BattleAnimAdjustPanning
lsls r0, 24
asrs r0, 24
strh r0, [r4, 0x3A]
@@ -3864,7 +3864,7 @@ _080A8BF2:
adds r1, r4, 0
mov r2, sp
adds r3, r7, 0
- bl sub_8076D9C
+ bl SetAverageBattlerPositions
cmp r4, 0
bne _080A8C30
adds r0, r5, 0
@@ -3919,7 +3919,7 @@ _080A8C80: .4byte sub_8075D9C
sub_80A8C84: @ 80A8C84
push {r4,lr}
adds r4, r0, 0
- bl sub_80755E0
+ bl AnimTranslateLinear
lsls r0, 24
cmp r0, 0
beq _080A8C9E
@@ -4128,7 +4128,7 @@ _080A8DFA:
mov r2, sp
mov r3, sp
adds r3, 0x2
- bl sub_8076D9C
+ bl SetAverageBattlerPositions
b _080A8E6C
.align 2, 0
_080A8E40: .4byte gSprites
@@ -4192,7 +4192,7 @@ _080A8E9E:
ldrh r0, [r2]
strh r0, [r5, 0x2E]
adds r0, r5, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimLinearTranslation
ldr r1, _080A8EE4 @ =sub_80A8C84
str r1, [r5, 0x1C]
adds r0, r5, 0
@@ -4252,7 +4252,7 @@ sub_80A8F38: @ 80A8F38
push {r4,lr}
adds r4, r0, 0
movs r1, 0
- bl sub_8075160
+ bl InitSpritePosToAnimAttacker
ldr r0, _080A8F6C @ =gBattleAnimAttacker
ldrb r0, [r0]
bl GetBattlerSide
@@ -4565,14 +4565,14 @@ sub_80A917C: @ 80A917C
ldr r0, _080A91AC @ =gTasks
adds r4, r0
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
strh r1, [r4, 0x8]
ldr r2, _080A91B0 @ =gUnknown_83E4128
adds r0, r4, 0
- bl sub_80762D0
+ bl PrepareAffineAnimInTaskData
ldr r0, _080A91B4 @ =sub_80A91B8
str r0, [r4]
pop {r4}
@@ -4595,7 +4595,7 @@ sub_80A91B8: @ 80A91B8
ldr r1, _080A9208 @ =gTasks
adds r4, r0, r1
adds r0, r4, 0
- bl sub_8076308
+ bl RunAffineAnimFromTaskData
lsls r0, 24
lsrs r3, r0, 24
cmp r3, 0
@@ -4668,7 +4668,7 @@ _080A9250:
_080A9256:
strh r0, [r4, 0x24]
movs r0, 0x1
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x26]
@@ -4861,7 +4861,7 @@ sub_80A939C: @ 80A939C
movs r0, 0x2
strh r0, [r4, 0x24]
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x26]
@@ -5411,7 +5411,7 @@ sub_80A97E8: @ 80A97E8
push {r4-r6,lr}
adds r5, r0, 0
movs r1, 0
- bl sub_8075160
+ bl InitSpritePosToAnimAttacker
ldr r6, _080A9850 @ =gBattleAnimAttacker
ldrb r0, [r6]
bl GetBattlerSide
@@ -5474,7 +5474,7 @@ sub_80A9860: @ 80A9860
bne _080A987A
adds r0, r4, 0
movs r1, 0
- bl sub_8075160
+ bl InitSpritePosToAnimAttacker
_080A987A:
movs r1, 0x30
ldrsh r0, [r4, r1]
@@ -5517,9 +5517,9 @@ sub_80A98B0: @ 80A98B0
movs r6, 0x98
_080A98C4:
movs r5, 0
- ldr r1, _080A9918 @ =gUnknown_2022984
+ ldr r1, _080A9918 @ =gBattle_WIN0H
strh r6, [r1]
- ldr r4, _080A991C @ =gUnknown_2022986
+ ldr r4, _080A991C @ =gBattle_WIN0V
movs r0, 0xA0
strh r0, [r4]
ldrh r1, [r1]
@@ -5553,8 +5553,8 @@ _080A98C4:
pop {r0}
bx r0
.align 2, 0
-_080A9918: .4byte gUnknown_2022984
-_080A991C: .4byte gUnknown_2022986
+_080A9918: .4byte gBattle_WIN0H
+_080A991C: .4byte gBattle_WIN0V
_080A9920: .4byte 0x00003f1f
_080A9924: .4byte 0x00003f3f
_080A9928: .4byte gTasks
@@ -5583,7 +5583,7 @@ sub_80A9930: @ 80A9930
lsls r0, r2, 16
cmp r1, r0
blt _080A9970
- ldr r0, _080A9968 @ =gUnknown_2022984
+ ldr r0, _080A9968 @ =gBattle_WIN0H
movs r1, 0
strh r1, [r0]
ldr r0, _080A996C @ =sub_80A9984
@@ -5591,10 +5591,10 @@ sub_80A9930: @ 80A9930
b _080A9978
.align 2, 0
_080A9964: .4byte gTasks
-_080A9968: .4byte gUnknown_2022984
+_080A9968: .4byte gBattle_WIN0H
_080A996C: .4byte sub_80A9984
_080A9970:
- ldr r1, _080A9980 @ =gUnknown_2022984
+ ldr r1, _080A9980 @ =gBattle_WIN0H
lsls r0, r4, 8
orrs r2, r0
strh r2, [r1]
@@ -5603,7 +5603,7 @@ _080A9978:
pop {r0}
bx r0
.align 2, 0
-_080A9980: .4byte gUnknown_2022984
+_080A9980: .4byte gBattle_WIN0H
thumb_func_end sub_80A9930
thumb_func_start sub_80A9984
@@ -5649,9 +5649,9 @@ _080A99D4: .4byte 0x00007fff
_080A99D8:
cmp r0, 0x4
ble _080A9A0C
- ldr r0, _080A9A14 @ =gUnknown_2022984
+ ldr r0, _080A9A14 @ =gBattle_WIN0H
strh r4, [r0]
- ldr r0, _080A9A18 @ =gUnknown_2022986
+ ldr r0, _080A9A18 @ =gBattle_WIN0V
strh r4, [r0]
ldr r4, _080A9A1C @ =0x00003f3f
movs r0, 0x48
@@ -5674,8 +5674,8 @@ _080A9A0C:
pop {r0}
bx r0
.align 2, 0
-_080A9A14: .4byte gUnknown_2022984
-_080A9A18: .4byte gUnknown_2022986
+_080A9A14: .4byte gBattle_WIN0H
+_080A9A18: .4byte gBattle_WIN0V
_080A9A1C: .4byte 0x00003f3f
thumb_func_end sub_80A9984
@@ -5686,7 +5686,7 @@ sub_80A9A20: @ 80A9A20
lsrs r0, 24
adds r6, r0, 0
movs r0, 0x1
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r4, r0, 24
ldr r1, _080A9A70 @ =gTasks
@@ -5702,13 +5702,13 @@ sub_80A9A20: @ 80A9A20
cmp r0, 0x1
bne _080A9A7C
movs r0, 0x1
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
ldr r2, _080A9A74 @ =gUnknown_83E4200
adds r0, r5, 0
- bl sub_80762D0
+ bl PrepareAffineAnimInTaskData
ldr r1, _080A9A78 @ =gSprites
lsls r0, r4, 4
adds r0, r4
@@ -5731,7 +5731,7 @@ _080A9A7C:
negs r0, r0
strh r0, [r4, 0x24]
adds r0, r5, 0
- bl sub_8076308
+ bl RunAffineAnimFromTaskData
lsls r0, 24
lsrs r0, 24
cmp r0, 0
@@ -5755,7 +5755,7 @@ sub_80A9AB0: @ 80A9AB0
lsrs r0, 24
adds r6, r0, 0
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r4, r0, 24
ldr r1, _080A9B00 @ =gTasks
@@ -5771,13 +5771,13 @@ sub_80A9AB0: @ 80A9AB0
cmp r0, 0x1
bne _080A9B0C
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
ldr r2, _080A9B04 @ =gUnknown_83E4200
adds r0, r5, 0
- bl sub_80762D0
+ bl PrepareAffineAnimInTaskData
ldr r1, _080A9B08 @ =gSprites
lsls r0, r4, 4
adds r0, r4
@@ -5800,7 +5800,7 @@ _080A9B0C:
negs r0, r0
strh r0, [r4, 0x24]
adds r0, r5, 0
- bl sub_8076308
+ bl RunAffineAnimFromTaskData
lsls r0, 24
lsrs r0, 24
cmp r0, 0
@@ -5822,7 +5822,7 @@ sub_80A9B40: @ 80A9B40
push {r4,r5,lr}
adds r4, r0, 0
movs r1, 0x1
- bl sub_8075160
+ bl InitSpritePosToAnimAttacker
movs r0, 0x5F
strh r0, [r4, 0x2E]
ldrh r0, [r4, 0x20]
@@ -5843,7 +5843,7 @@ sub_80A9B40: @ 80A9B40
lsrs r0, 24
strh r0, [r4, 0x36]
adds r0, r4, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimLinearTranslation
ldr r0, _080A9B88 @ =sub_80A9B8C
str r0, [r4, 0x1C]
pop {r4,r5}
@@ -5858,7 +5858,7 @@ _080A9B88: .4byte sub_80A9B8C
sub_80A9B8C: @ 80A9B8C
push {r4,lr}
adds r4, r0, 0
- bl sub_80755E0
+ bl AnimTranslateLinear
lsls r0, 24
cmp r0, 0
bne _080A9BB6
@@ -5967,7 +5967,7 @@ sub_80A9C4C: @ 80A9C4C
strh r1, [r0, 0x2E]
ldrh r1, [r2, 0x2]
strh r1, [r0, 0x30]
- ldr r1, _080A9C74 @ =sub_8074C44
+ ldr r1, _080A9C74 @ =WaitAnimForDuration
str r1, [r0, 0x1C]
ldr r1, _080A9C78 @ =sub_80A9C7C
bl StoreSpriteCallbackInData6
@@ -5975,7 +5975,7 @@ sub_80A9C4C: @ 80A9C4C
bx r0
.align 2, 0
_080A9C70: .4byte gBattleAnimArgs
-_080A9C74: .4byte sub_8074C44
+_080A9C74: .4byte WaitAnimForDuration
_080A9C78: .4byte sub_80A9C7C
thumb_func_end sub_80A9C4C
@@ -6082,13 +6082,13 @@ _080A9D2A:
mov r0, sp
ldrb r0, [r0, 0x9]
ldr r1, _080A9DAC @ =gFile_graphics_battle_anims_backgrounds_attract_tilemap
- bl sub_807543C
+ bl AnimLoadCompressedBgTilemap
mov r0, sp
ldrb r0, [r0, 0x9]
ldr r1, _080A9DB0 @ =gFile_graphics_battle_anims_backgrounds_attract_sheet
mov r2, sp
ldrh r2, [r2, 0xA]
- bl sub_80753B4
+ bl AnimLoadCompressedBgGfx
ldr r0, _080A9DB4 @ =gFile_graphics_battle_anims_backgrounds_attract_palette
mov r1, sp
ldrb r1, [r1, 0x8]
@@ -6360,7 +6360,7 @@ _080A9F98:
mov r0, sp
ldrb r0, [r0, 0x9]
ldr r1, _080A9FB8 @ =gFile_graphics_battle_anims_backgrounds_scary_face_player_tilemap
- bl sub_807543C
+ bl AnimLoadCompressedBgTilemap
b _080A9FC6
.align 2, 0
_080A9FB4: .4byte gBattleAnimTarget
@@ -6369,14 +6369,14 @@ _080A9FBC:
mov r0, sp
ldrb r0, [r0, 0x9]
ldr r1, _080AA010 @ =gFile_graphics_battle_anims_backgrounds_scary_face_opponent_tilemap
- bl sub_807543C
+ bl AnimLoadCompressedBgTilemap
_080A9FC6:
mov r0, sp
ldrb r0, [r0, 0x9]
ldr r1, _080AA014 @ =gFile_graphics_battle_anims_backgrounds_scary_face_sheet
mov r2, sp
ldrh r2, [r2, 0xA]
- bl sub_80753B4
+ bl AnimLoadCompressedBgGfx
ldr r0, _080AA018 @ =gFile_graphics_battle_anims_backgrounds_scary_face_palette
mov r1, sp
ldrb r1, [r1, 0x8]
@@ -6907,7 +6907,7 @@ sub_80AA3F0: @ 80AA3F0
push {r4,lr}
adds r4, r0, 0
movs r1, 0x1
- bl sub_8075160
+ bl InitSpritePosToAnimAttacker
ldr r0, _080AA404 @ =sub_80AA3D4
str r0, [r4, 0x1C]
pop {r4}
@@ -7428,7 +7428,7 @@ sub_80AA7C8: @ 80AA7C8
lsrs r5, 24
ldr r0, _080AA7FC @ =gBattleAnimArgs
ldrb r0, [r0]
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -7439,7 +7439,7 @@ sub_80AA7C8: @ 80AA7C8
adds r4, r0
ldr r2, _080AA804 @ =gUnknown_83E4410
adds r0, r4, 0
- bl sub_80762D0
+ bl PrepareAffineAnimInTaskData
ldr r0, _080AA808 @ =sub_80AA80C
str r0, [r4]
pop {r4,r5}
@@ -7462,7 +7462,7 @@ sub_80AA80C: @ 80AA80C
lsls r0, 3
ldr r1, _080AA834 @ =gTasks
adds r0, r1
- bl sub_8076308
+ bl RunAffineAnimFromTaskData
lsls r0, 24
cmp r0, 0
bne _080AA82C
@@ -7640,7 +7640,7 @@ _080AA95A:
lsrs r0, 4
adds r0, 0x10
movs r1, 0
- bl sub_8075B48
+ bl SetGreyscaleOrOriginalPalette
_080AA978:
movs r0, 0x2E
ldrsh r1, [r4, r0]
@@ -7857,7 +7857,7 @@ sub_80AAAE4: @ 80AAAE4
adds r3, r5, 0
adds r3, 0x22
movs r1, 0
- bl sub_8076D9C
+ bl SetAverageBattlerPositions
ldrh r0, [r5, 0x22]
adds r0, 0x28
strh r0, [r5, 0x22]
diff --git a/asm/battle_anim_effects_3.s b/asm/battle_anim_effects_3.s
index d1356c619..004ad8786 100644
--- a/asm/battle_anim_effects_3.s
+++ b/asm/battle_anim_effects_3.s
@@ -128,7 +128,7 @@ sub_80DE39C: @ 80DE39C
adds r4, r0, 0
movs r0, 0x5A
strh r0, [r4, 0x2E]
- ldr r0, _080DE3D8 @ =sub_8074C44
+ ldr r0, _080DE3D8 @ =WaitAnimForDuration
str r0, [r4, 0x1C]
movs r0, 0x7
strh r0, [r4, 0x30]
@@ -152,7 +152,7 @@ sub_80DE39C: @ 80DE39C
pop {r0}
bx r0
.align 2, 0
-_080DE3D8: .4byte sub_8074C44
+_080DE3D8: .4byte WaitAnimForDuration
_080DE3DC: .4byte sub_80DE3E0
thumb_func_end sub_80DE39C
@@ -228,7 +228,7 @@ sub_80DE440: @ 80DE440
adds r6, r0, 0
adds r0, r5, 0
movs r1, 0x1
- bl sub_8075114
+ bl InitSpritePosToAnimTarget
ldrh r0, [r5, 0x20]
subs r0, r7
lsls r0, 16
@@ -237,7 +237,7 @@ sub_80DE440: @ 80DE440
subs r1, r6
lsls r1, 16
asrs r1, 16
- bl sub_8075B30
+ bl ArcTan2Neg
lsls r0, 16
movs r1, 0xC0
lsls r1, 23
@@ -259,7 +259,7 @@ _080DE49E:
adds r0, r5, 0
movs r1, 0
adds r2, r3, 0
- bl sub_8075A1C
+ bl TrySetSpriteRotScale
ldr r0, _080DE4D0 @ =gBattleAnimArgs
ldrh r0, [r0, 0x4]
strh r0, [r5, 0x2E]
@@ -572,7 +572,7 @@ sub_80DE6F0: @ 80DE6F0
adds r1, r2
ldr r0, _080DE710 @ =sub_80DE718
str r0, [r1]
- ldr r1, _080DE714 @ =gUnknown_2037EE2
+ ldr r1, _080DE714 @ =gAnimVisualTaskCount
ldrb r0, [r1]
subs r0, 0x1
strb r0, [r1]
@@ -580,7 +580,7 @@ sub_80DE6F0: @ 80DE6F0
.align 2, 0
_080DE70C: .4byte gTasks
_080DE710: .4byte sub_80DE718
-_080DE714: .4byte gUnknown_2037EE2
+_080DE714: .4byte gAnimVisualTaskCount
thumb_func_end sub_80DE6F0
thumb_func_start sub_80DE718
@@ -674,7 +674,7 @@ sub_80DE7B4: @ 80DE7B4
adds r1, r2
ldr r0, _080DE7D4 @ =sub_80DE7DC
str r0, [r1]
- ldr r1, _080DE7D8 @ =gUnknown_2037EE2
+ ldr r1, _080DE7D8 @ =gAnimVisualTaskCount
ldrb r0, [r1]
subs r0, 0x1
strb r0, [r1]
@@ -682,7 +682,7 @@ sub_80DE7B4: @ 80DE7B4
.align 2, 0
_080DE7D0: .4byte gTasks
_080DE7D4: .4byte sub_80DE7DC
-_080DE7D8: .4byte gUnknown_2037EE2
+_080DE7D8: .4byte gAnimVisualTaskCount
thumb_func_end sub_80DE7B4
thumb_func_start sub_80DE7DC
@@ -799,7 +799,7 @@ sub_80DE8B0: @ 80DE8B0
sub sp, 0x4
adds r4, r0, 0
movs r1, 0x1
- bl sub_8075160
+ bl InitSpritePosToAnimAttacker
ldr r0, _080DE914 @ =gBattleAnimTarget
ldrb r0, [r0]
mov r5, sp
@@ -807,7 +807,7 @@ sub_80DE8B0: @ 80DE8B0
movs r1, 0
mov r2, sp
adds r3, r5, 0
- bl sub_8076D9C
+ bl SetAverageBattlerPositions
ldr r0, _080DE918 @ =gBattleAnimAttacker
ldrb r0, [r0]
bl GetBattlerSide
@@ -834,7 +834,7 @@ _080DE8E4:
ldr r0, _080DE920 @ =0x0000ffce
strh r0, [r4, 0x38]
adds r0, r4, 0
- bl sub_8075068
+ bl InitAnimArcTranslation
ldr r0, _080DE924 @ =sub_80DE928
str r0, [r4, 0x1C]
add sp, 0x4
@@ -853,7 +853,7 @@ _080DE924: .4byte sub_80DE928
sub_80DE928: @ 80DE928
push {r4,lr}
adds r4, r0, 0
- bl AnimateBallThrow
+ bl TranslateAnimHorizontalArc
lsls r0, 24
cmp r0, 0
beq _080DE94A
@@ -861,7 +861,7 @@ sub_80DE928: @ 80DE928
movs r0, 0x1E
strh r0, [r4, 0x2E]
strh r1, [r4, 0x30]
- ldr r0, _080DE950 @ =sub_8074C44
+ ldr r0, _080DE950 @ =WaitAnimForDuration
str r0, [r4, 0x1C]
ldr r1, _080DE954 @ =sub_80DE958
adds r0, r4, 0
@@ -871,7 +871,7 @@ _080DE94A:
pop {r0}
bx r0
.align 2, 0
-_080DE950: .4byte sub_8074C44
+_080DE950: .4byte WaitAnimForDuration
_080DE954: .4byte sub_80DE958
thumb_func_end sub_80DE928
@@ -918,17 +918,17 @@ _080DE998:
sub_80DE99C: @ 80DE99C
push {r4,r5,lr}
adds r4, r0, 0
- bl sub_8074FCC
+ bl SetSpriteCoordsToAnimAttackerCoords
ldr r5, _080DE9CC @ =gBattleAnimArgs
movs r0, 0
ldrsh r1, [r5, r0]
adds r0, r4, 0
- bl sub_8074FF8
+ bl SetAnimSpriteInitialXOffset
ldrh r0, [r5, 0x2]
ldrh r1, [r4, 0x22]
adds r0, r1
strh r0, [r4, 0x22]
- ldr r0, _080DE9D0 @ =sub_8074F6C
+ ldr r0, _080DE9D0 @ =RunStoredCallbackWhenAnimEnds
str r0, [r4, 0x1C]
ldr r1, _080DE9D4 @ =DestroyAnimSprite
adds r0, r4, 0
@@ -938,7 +938,7 @@ sub_80DE99C: @ 80DE99C
bx r0
.align 2, 0
_080DE9CC: .4byte gBattleAnimArgs
-_080DE9D0: .4byte sub_8074F6C
+_080DE9D0: .4byte RunStoredCallbackWhenAnimEnds
_080DE9D4: .4byte DestroyAnimSprite
thumb_func_end sub_80DE99C
@@ -951,12 +951,12 @@ sub_80DE9D8: @ 80DE9D8
cmp r0, 0
bne _080DEA38
adds r0, r4, 0
- bl sub_8074FCC
+ bl SetSpriteCoordsToAnimAttackerCoords
ldr r5, _080DEA14 @ =gBattleAnimArgs
movs r2, 0
ldrsh r1, [r5, r2]
adds r0, r4, 0
- bl sub_8074FF8
+ bl SetAnimSpriteInitialXOffset
bl IsContest
lsls r0, 24
cmp r0, 0
@@ -1127,10 +1127,10 @@ sub_80DEB20: @ 80DEB20
lsls r1, 8
movs r0, 0
bl SetGpuRegBits
- ldr r0, _080DEB80 @ =gUnknown_2022984
+ ldr r0, _080DEB80 @ =gBattle_WIN0H
movs r1, 0
strh r1, [r0]
- ldr r4, _080DEB84 @ =gUnknown_2022986
+ ldr r4, _080DEB84 @ =gBattle_WIN0V
strh r1, [r4]
movs r0, 0x40
movs r1, 0
@@ -1140,7 +1140,7 @@ sub_80DEB20: @ 80DEB20
bl SetGpuReg
adds r0, r5, 0
movs r1, 0
- bl sub_8075114
+ bl InitSpritePosToAnimTarget
ldrb r1, [r5, 0x1]
movs r0, 0xD
negs r0, r0
@@ -1161,8 +1161,8 @@ sub_80DEB20: @ 80DEB20
bx r0
.align 2, 0
_080DEB7C: .4byte 0x00001f3f
-_080DEB80: .4byte gUnknown_2022984
-_080DEB84: .4byte gUnknown_2022986
+_080DEB80: .4byte gBattle_WIN0H
+_080DEB84: .4byte gBattle_WIN0V
_080DEB88: .4byte sub_80DEB8C
thumb_func_end sub_80DEB20
@@ -1414,7 +1414,7 @@ sub_80DED48: @ 80DED48
bne _080DEDA6
movs r0, 0x40
negs r0, r0
- bl sub_8073A44
+ bl BattleAnimAdjustPanning
adds r1, r0, 0
lsls r1, 24
asrs r1, 24
@@ -1488,11 +1488,11 @@ sub_80DEDD8: @ 80DEDD8
ldr r1, _080DEE20 @ =gUnknown_202298A
movs r0, 0xA0
strh r0, [r1]
- ldr r0, _080DEE24 @ =gUnknown_2022984
+ ldr r0, _080DEE24 @ =gBattle_WIN0H
ldrh r1, [r0]
movs r0, 0x42
bl SetGpuReg
- ldr r0, _080DEE28 @ =gUnknown_2022986
+ ldr r0, _080DEE28 @ =gBattle_WIN0V
ldrh r1, [r0]
movs r0, 0x46
bl SetGpuReg
@@ -1502,8 +1502,8 @@ _080DEE14: .4byte 0x00001f3f
_080DEE18: .4byte gUnknown_2022988
_080DEE1C: .4byte 0x000098f0
_080DEE20: .4byte gUnknown_202298A
-_080DEE24: .4byte gUnknown_2022984
-_080DEE28: .4byte gUnknown_2022986
+_080DEE24: .4byte gBattle_WIN0H
+_080DEE28: .4byte gBattle_WIN0V
_080DEE2C:
ldr r1, _080DEE68 @ =0x00001f3f
movs r0, 0x48
@@ -1712,11 +1712,11 @@ _080DEFC8:
ldr r4, _080DF010 @ =gBattleAnimTarget
_080DEFCA:
ldrb r0, [r4]
- bl sub_807492C
+ bl GetBattlerYCoordWithElevation
lsls r0, 24
lsrs r6, r0, 24
ldrb r0, [r4]
- bl sub_80768B0
+ bl GetBattlerSpriteBGPriorityRank
lsls r0, 24
lsrs r7, r0, 24
adds r0, r6, 0
@@ -2021,7 +2021,7 @@ sub_80DF1DC: @ 80DF1DC
strh r0, [r4, 0x12]
strh r5, [r4, 0x14]
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x26]
@@ -2109,7 +2109,7 @@ _080DF2A8:
lsrs r4, r0, 24
movs r0, 0x40
negs r0, r0
- bl sub_8073A44
+ bl BattleAnimAdjustPanning
adds r1, r0, 0
lsls r1, 24
asrs r1, 24
@@ -2155,7 +2155,7 @@ _080DF324:
lsrs r1, 24
ldr r2, _080DF348 @ =gUnknown_83FF080
adds r0, r6, 0
- bl sub_80762D0
+ bl PrepareAffineAnimInTaskData
ldrh r0, [r6, 0xA]
adds r0, 0x1
strh r0, [r6, 0xA]
@@ -2168,7 +2168,7 @@ _080DF344: .4byte SpriteCallbackDummy
_080DF348: .4byte gUnknown_83FF080
_080DF34C:
adds r0, r6, 0
- bl sub_8076308
+ bl RunAffineAnimFromTaskData
lsls r0, 24
lsrs r0, 24
cmp r0, 0
@@ -2329,7 +2329,7 @@ sub_80DF468: @ 80DF468
bne _080DF47C
adds r0, r5, 0
movs r1, 0
- bl sub_8075160
+ bl InitSpritePosToAnimAttacker
_080DF47C:
ldrh r0, [r5, 0x2E]
adds r0, 0x1
@@ -2437,13 +2437,13 @@ sub_80DF524: @ 80DF524
_080DF544: .4byte gTasks
_080DF548:
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
ldr r2, _080DF564 @ =gUnknown_83FF130
adds r0, r4, 0
- bl sub_80762D0
+ bl PrepareAffineAnimInTaskData
ldrh r0, [r4, 0x8]
adds r0, 0x1
strh r0, [r4, 0x8]
@@ -2452,7 +2452,7 @@ _080DF548:
_080DF564: .4byte gUnknown_83FF130
_080DF568:
adds r0, r4, 0
- bl sub_8076308
+ bl RunAffineAnimFromTaskData
lsls r0, 24
cmp r0, 0
bne _080DF57A
@@ -2469,7 +2469,7 @@ sub_80DF580: @ 80DF580
push {r4-r6,lr}
adds r5, r0, 0
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r6, r0, 24
movs r1, 0x2E
@@ -2857,13 +2857,13 @@ sub_80DF848: @ 80DF848
cmp r0, 0
bne _080DF888
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
ldr r2, _080DF884 @ =gUnknown_83FF198
adds r0, r4, 0
- bl sub_80762D0
+ bl PrepareAffineAnimInTaskData
ldrh r0, [r4, 0x8]
adds r0, 0x1
strh r0, [r4, 0x8]
@@ -2873,7 +2873,7 @@ _080DF880: .4byte gTasks
_080DF884: .4byte gUnknown_83FF198
_080DF888:
adds r0, r4, 0
- bl sub_8076308
+ bl RunAffineAnimFromTaskData
lsls r0, 24
cmp r0, 0
bne _080DF89A
@@ -2901,13 +2901,13 @@ sub_80DF8A0: @ 80DF8A0
cmp r0, 0
bne _080DF8E0
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
ldr r2, _080DF8DC @ =gUnknown_83FF1C0
adds r0, r4, 0
- bl sub_80762D0
+ bl PrepareAffineAnimInTaskData
ldrh r0, [r4, 0x8]
adds r0, 0x1
strh r0, [r4, 0x8]
@@ -2917,7 +2917,7 @@ _080DF8D8: .4byte gTasks
_080DF8DC: .4byte gUnknown_83FF1C0
_080DF8E0:
adds r0, r4, 0
- bl sub_8076308
+ bl RunAffineAnimFromTaskData
lsls r0, 24
cmp r0, 0
bne _080DF8F2
@@ -2943,7 +2943,7 @@ sub_80DF8F8: @ 80DF8F8
_080DF90A:
adds r0, r4, 0
movs r1, 0
- bl sub_8075160
+ bl InitSpritePosToAnimAttacker
movs r0, 0x90
lsls r0, 4
strh r0, [r4, 0x30]
@@ -3002,13 +3002,13 @@ sub_80DF964: @ 80DF964
cmp r0, 0
bne _080DF9A4
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
ldr r2, _080DF9A0 @ =gUnknown_83FF210
adds r0, r4, 0
- bl sub_80762D0
+ bl PrepareAffineAnimInTaskData
ldrh r0, [r4, 0x8]
adds r0, 0x1
strh r0, [r4, 0x8]
@@ -3018,7 +3018,7 @@ _080DF99C: .4byte gTasks
_080DF9A0: .4byte gUnknown_83FF210
_080DF9A4:
adds r0, r4, 0
- bl sub_8076308
+ bl RunAffineAnimFromTaskData
lsls r0, 24
cmp r0, 0
bne _080DF9B6
@@ -3069,7 +3069,7 @@ _080DFA00:
bl SetGpuReg
ldr r0, _080DFA24 @ =gBattleAnimAttacker
ldrb r0, [r0]
- bl sub_80768B0
+ bl GetBattlerSpriteBGPriorityRank
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -3234,7 +3234,7 @@ _080DFB58:
bl SetGpuReg
ldr r0, _080DFB7C @ =gBattleAnimAttacker
ldrb r0, [r0]
- bl sub_80768B0
+ bl GetBattlerSpriteBGPriorityRank
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -3411,13 +3411,13 @@ _080DFCCE:
mov r0, sp
ldrb r0, [r0, 0x9]
ldr r1, _080DFD1C @ =gFile_graphics_battle_anims_masks_morning_sun_tilemap
- bl sub_807543C
+ bl AnimLoadCompressedBgTilemap
mov r0, sp
ldrb r0, [r0, 0x9]
ldr r1, _080DFD20 @ =gFile_graphics_battle_anims_masks_morning_sun_sheet
mov r2, sp
ldrh r2, [r2, 0xA]
- bl sub_80753B4
+ bl AnimLoadCompressedBgGfx
ldr r0, _080DFD24 @ =gFile_graphics_battle_anims_masks_morning_sun_palette
mov r1, sp
ldrb r1, [r1, 0x8]
@@ -3603,7 +3603,7 @@ _080DFE66:
strh r0, [r1, 0x8]
movs r0, 0x40
negs r0, r0
- bl sub_8073A44
+ bl BattleAnimAdjustPanning
adds r1, r0, 0
lsls r1, 24
asrs r1, 24
@@ -4053,13 +4053,13 @@ _080E01FC:
mov r0, sp
ldrb r0, [r0, 0x9]
ldr r1, _080E0250 @ =gFile_graphics_battle_anims_masks_morning_sun_tilemap
- bl sub_807543C
+ bl AnimLoadCompressedBgTilemap
mov r0, sp
ldrb r0, [r0, 0x9]
ldr r1, _080E0254 @ =gFile_graphics_battle_anims_masks_morning_sun_sheet
mov r2, sp
ldrh r2, [r2, 0xA]
- bl sub_80753B4
+ bl AnimLoadCompressedBgGfx
ldr r0, _080E0258 @ =gFile_graphics_battle_anims_masks_morning_sun_palette
mov r1, sp
ldrb r1, [r1, 0x8]
@@ -4371,13 +4371,13 @@ sub_80E0488: @ 80E0488
cmp r0, 0
bne _080E04C8
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
ldr r2, _080E04C4 @ =gUnknown_83FF290
adds r0, r4, 0
- bl sub_80762D0
+ bl PrepareAffineAnimInTaskData
ldrh r0, [r4, 0x8]
adds r0, 0x1
strh r0, [r4, 0x8]
@@ -4387,7 +4387,7 @@ _080E04C0: .4byte gTasks
_080E04C4: .4byte gUnknown_83FF290
_080E04C8:
adds r0, r4, 0
- bl sub_8076308
+ bl RunAffineAnimFromTaskData
lsls r0, 24
cmp r0, 0
bne _080E04DA
@@ -4410,7 +4410,7 @@ sub_80E04E0: @ 80E04E0
bne _080E04FE
adds r0, r4, 0
movs r1, 0
- bl sub_8075160
+ bl InitSpritePosToAnimAttacker
ldrh r0, [r4, 0x2E]
adds r0, 0x1
strh r0, [r4, 0x2E]
@@ -4523,7 +4523,7 @@ _080E059C:
subs r0, 0x1
strh r0, [r4, 0x14]
ldrb r0, [r5]
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x26]
@@ -4625,7 +4625,7 @@ _080E065C:
ldrh r0, [r4, 0x26]
lsls r0, 24
lsrs r0, 24
- bl sub_80759DC
+ bl SetBattlerSpriteYOffsetFromRotation
ldrh r0, [r4, 0xA]
adds r0, 0x1
strh r0, [r4, 0xA]
@@ -4666,7 +4666,7 @@ _080E06B0:
ldrh r0, [r4, 0x26]
lsls r0, 24
lsrs r0, 24
- bl sub_80759DC
+ bl SetBattlerSpriteYOffsetFromRotation
ldrh r1, [r4, 0xA]
adds r1, 0x1
strh r1, [r4, 0xA]
@@ -4710,7 +4710,7 @@ _080E0708:
ldrh r0, [r4, 0x26]
lsls r0, 24
lsrs r0, 24
- bl sub_80759DC
+ bl SetBattlerSpriteYOffsetFromRotation
ldrh r0, [r4, 0xA]
adds r0, 0x1
strh r0, [r4, 0xA]
@@ -4874,7 +4874,7 @@ sub_80E0850: @ 80E0850
strh r0, [r4, 0x24]
ldr r0, _080E089C @ =gBattleAnimArgs
ldrb r0, [r0]
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x26]
@@ -5044,7 +5044,7 @@ _080E09BA:
ldrh r0, [r7, 0x26]
lsls r0, 24
lsrs r0, 24
- bl sub_80759DC
+ bl SetBattlerSpriteYOffsetFromRotation
ldr r2, _080E0A28 @ =gSprites
movs r0, 0x26
ldrsh r1, [r7, r0]
@@ -5237,7 +5237,7 @@ _080E0B3E:
strh r0, [r2, 0x1E]
mov r1, r8
ldrb r0, [r1]
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r5, r0, 24
ldr r1, _080E0B7C @ =gTasks
@@ -5276,7 +5276,7 @@ _080E0B88:
movs r3, 0
bl SetSpriteRotScale
adds r0, r5, 0
- bl sub_8076440
+ bl SetBattlerSpriteYOffsetFromYScale
lsls r2, r5, 4
b _080E0BE8
_080E0BA0:
@@ -5295,7 +5295,7 @@ _080E0BB2:
movs r1, 0xD0
bl SetSpriteRotScale
adds r0, r5, 0
- bl sub_8076440
+ bl SetBattlerSpriteYOffsetFromYScale
bl IsContest
lsls r0, 24
cmp r0, 0
@@ -5535,10 +5535,10 @@ sub_80E0D74: @ 80E0D74
lsls r1, 8
movs r0, 0
bl SetGpuRegBits
- ldr r0, _080E0DDC @ =gUnknown_2022984
+ ldr r0, _080E0DDC @ =gBattle_WIN0H
movs r1, 0
strh r1, [r0]
- ldr r4, _080E0DE0 @ =gUnknown_2022986
+ ldr r4, _080E0DE0 @ =gBattle_WIN0V
strh r1, [r4]
movs r0, 0x40
movs r1, 0
@@ -5551,7 +5551,7 @@ sub_80E0D74: @ 80E0D74
strh r0, [r5, 0x2E]
adds r0, r5, 0
movs r1, 0
- bl sub_8075114
+ bl InitSpritePosToAnimTarget
ldrb r1, [r5, 0x1]
movs r0, 0xD
negs r0, r0
@@ -5572,8 +5572,8 @@ sub_80E0D74: @ 80E0D74
bx r0
.align 2, 0
_080E0DD8: .4byte 0x00001f3f
-_080E0DDC: .4byte gUnknown_2022984
-_080E0DE0: .4byte gUnknown_2022986
+_080E0DDC: .4byte gBattle_WIN0H
+_080E0DE0: .4byte gBattle_WIN0V
_080E0DE4: .4byte gBattleAnimArgs
_080E0DE8: .4byte sub_80E0DEC
thumb_func_end sub_80E0D74
@@ -5825,7 +5825,7 @@ sub_80E0FB8: @ 80E0FB8
lsrs r0, 24
str r0, [sp, 0x18]
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
ldr r0, _080E1040 @ =gBattleAnimAttacker
ldrb r0, [r0]
bl GetBattlerSide
@@ -5979,7 +5979,7 @@ _080E110E:
_080E1112:
ldr r0, _080E1200 @ =gBattleAnimAttacker
ldrb r0, [r0]
- bl sub_8076884
+ bl GetBattlerSpriteBGPriority
lsls r0, 24
lsrs r7, r0, 24
ldr r5, _080E1200 @ =gBattleAnimAttacker
@@ -6186,7 +6186,7 @@ sub_80E1274: @ 80E1274
str r4, [sp]
adds r0, r6, 0
movs r1, 0x1
- bl sub_8075A1C
+ bl TrySetSpriteRotScale
ldrh r0, [r5, 0x20]
adds r0, 0x1
strh r0, [r5, 0x20]
@@ -6197,8 +6197,8 @@ sub_80E1274: @ 80E1274
adds r0, r6, 0
bl sub_8075AD8
adds r0, r6, 0
- bl sub_8076B20
- ldr r0, _080E12F4 @ =sub_8074FA8
+ bl DestroySpriteAndFreeResources_
+ ldr r0, _080E12F4 @ =DestroyAnimVisualTaskAndDisableBlend
str r0, [r5]
_080E12E2:
add sp, 0x4
@@ -6208,7 +6208,7 @@ _080E12E2:
.align 2, 0
_080E12EC: .4byte gTasks
_080E12F0: .4byte gSprites
-_080E12F4: .4byte sub_8074FA8
+_080E12F4: .4byte DestroyAnimVisualTaskAndDisableBlend
thumb_func_end sub_80E1274
thumb_func_start sub_80E12F8
@@ -6262,7 +6262,7 @@ _080E1326:
strh r0, [r4, 0x18]
_080E1358:
adds r0, r5, 0
- bl sub_807492C
+ bl GetBattlerYCoordWithElevation
lsls r0, 24
lsrs r0, 24
subs r0, 0x22
@@ -6276,12 +6276,12 @@ _080E136C:
strh r0, [r4, 0x24]
ldr r0, _080E13A8 @ =gBattleAnimArgs
ldrb r0, [r0]
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x26]
adds r0, r5, 0
- bl sub_80768B0
+ bl GetBattlerSpriteBGPriorityRank
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -6389,7 +6389,7 @@ sub_80E1450: @ 80E1450
ldr r1, _080E1484 @ =gTasks
adds r6, r0, r1
ldrb r0, [r6, 0x12]
- bl sub_80768B0
+ bl GetBattlerSpriteBGPriorityRank
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -6743,14 +6743,14 @@ sub_80E1704: @ 80E1704
strh r0, [r4, 0x8]
ldr r0, _080E1740 @ =gBattleAnimArgs
ldrb r0, [r0]
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
strh r1, [r4, 0x26]
ldr r2, _080E1744 @ =gUnknown_83FF3D0
adds r0, r4, 0
- bl sub_80762D0
+ bl PrepareAffineAnimInTaskData
ldr r0, _080E1748 @ =sub_80E174C
str r0, [r4]
pop {r4}
@@ -6826,7 +6826,7 @@ _080E17C0:
adds r0, r4
lsls r0, 3
adds r0, r6
- bl sub_8076308
+ bl RunAffineAnimFromTaskData
lsls r0, 24
cmp r0, 0
bne _080E17D8
@@ -6920,7 +6920,7 @@ sub_80E186C: @ 80E186C
adds r4, r0, 0
ldrh r6, [r4, 0x20]
ldrh r5, [r4, 0x22]
- bl sub_8074FCC
+ bl SetSpriteCoordsToAnimAttackerCoords
ldr r0, _080E18B4 @ =gBattleAnimArgs
ldrb r1, [r0]
adds r0, r4, 0
@@ -7001,7 +7001,7 @@ sub_80E18BC: @ 80E18BC
cmp r0, 0x3
ble _080E1922
adds r0, r5, 0
- bl move_anim_8074EE0
+ bl DestroySpriteAndMatrix
_080E1922:
pop {r4,r5}
pop {r0}
@@ -7218,7 +7218,7 @@ _080E1AAA:
bgt _080E1ACA
adds r0, r5, 0
bl DestroyTask
- ldr r1, _080E1AD4 @ =gUnknown_2037EE2
+ ldr r1, _080E1AD4 @ =gAnimVisualTaskCount
ldrb r0, [r1]
subs r0, 0x1
strb r0, [r1]
@@ -7229,7 +7229,7 @@ _080E1ACA:
pop {r0}
bx r0
.align 2, 0
-_080E1AD4: .4byte gUnknown_2037EE2
+_080E1AD4: .4byte gAnimVisualTaskCount
thumb_func_end sub_80E1990
thumb_func_start sub_80E1AD8
@@ -7619,14 +7619,14 @@ _080E1DA2:
strh r0, [r5, 0x14]
ldr r0, _080E1DF4 @ =gBattleAnimArgs
ldrb r0, [r0]
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
strh r1, [r5, 0x26]
ldr r2, _080E1DF8 @ =gUnknown_83FF52C
adds r0, r5, 0
- bl sub_80762D0
+ bl PrepareAffineAnimInTaskData
ldr r0, _080E1DFC @ =sub_80E1E00
str r0, [r5]
pop {r4,r5}
@@ -7679,7 +7679,7 @@ _080E1E3A:
bl sub_80E1E98
_080E1E4A:
adds r0, r4, 0
- bl sub_8076308
+ bl RunAffineAnimFromTaskData
lsls r0, 24
lsrs r1, r0, 24
cmp r1, 0
@@ -7701,7 +7701,7 @@ _080E1E6C:
lsrs r1, 24
ldr r2, _080E1E80 @ =gUnknown_83FF52C
adds r0, r4, 0
- bl sub_80762D0
+ bl PrepareAffineAnimInTaskData
b _080E1E92
.align 2, 0
_080E1E80: .4byte gUnknown_83FF52C
@@ -7892,7 +7892,7 @@ sub_80E1FC4: @ 80E1FC4
ldrh r0, [r1, 0x2]
strh r0, [r4, 0xA]
ldrb r0, [r1]
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r0, 24
ldr r2, _080E2014 @ =gSprites
@@ -8168,7 +8168,7 @@ sub_80E21CC: @ 80E21CC
adds r4, r0, 0
ldrb r0, [r5]
movs r1, 0
- bl sub_8076B2C
+ bl GetBattlerSpriteCoordAttr
lsls r4, 24
lsrs r4, 24
lsls r0, 16
@@ -8190,7 +8190,7 @@ _080E2224:
adds r4, r0, 0
ldrb r0, [r5]
movs r1, 0
- bl sub_8076B2C
+ bl GetBattlerSpriteCoordAttr
lsls r4, 24
lsrs r4, 24
lsls r0, 16
@@ -8210,7 +8210,7 @@ _080E2248:
adds r4, r0, 0
ldrb r0, [r5]
movs r1, 0
- bl sub_8076B2C
+ bl GetBattlerSpriteCoordAttr
lsls r4, 24
lsrs r4, 24
lsls r0, 16
@@ -8565,7 +8565,7 @@ sub_80E24E0: @ 80E24E0
ldr r1, _080E2510 @ =DestroyAnimSprite
adds r0, r4, 0
bl StoreSpriteCallbackInData6
- ldr r0, _080E2514 @ =sub_8075764
+ ldr r0, _080E2514 @ =InitAndRunAnimFastLinearTranslation
str r0, [r4, 0x1C]
pop {r4}
pop {r0}
@@ -8573,7 +8573,7 @@ sub_80E24E0: @ 80E24E0
.align 2, 0
_080E250C: .4byte gBattleAnimArgs
_080E2510: .4byte DestroyAnimSprite
-_080E2514: .4byte sub_8075764
+_080E2514: .4byte InitAndRunAnimFastLinearTranslation
thumb_func_end sub_80E24E0
thumb_func_start sub_80E2518
@@ -8622,7 +8622,7 @@ sub_80E2518: @ 80E2518
mov r1, r8
ldrb r0, [r1]
movs r1, 0
- bl sub_8076B2C
+ bl GetBattlerSpriteCoordAttr
lsls r4, 24
lsrs r4, 24
lsls r0, 16
@@ -8694,7 +8694,7 @@ _080E258A:
adds r0, r1
lsls r0, 2
adds r0, r4
- bl sub_8075068
+ bl InitAnimArcTranslation
mov r1, r10
ldrb r0, [r1]
bl GetBattlerSide
@@ -8778,7 +8778,7 @@ _080E269A:
lsls r0, 2
ldr r1, _080E26CC @ =gSprites
adds r0, r1
- bl AnimateBallThrow
+ bl TranslateAnimHorizontalArc
ldrh r0, [r4, 0xC]
adds r0, 0x1
strh r0, [r4, 0xC]
@@ -8797,7 +8797,7 @@ _080E26D0:
lsls r0, 2
ldr r1, _080E26F0 @ =gSprites
adds r0, r1
- bl AnimateBallThrow
+ bl TranslateAnimHorizontalArc
lsls r0, 24
cmp r0, 0
beq _080E276E
@@ -8938,7 +8938,7 @@ _080E27C0:
strb r0, [r4, 0x3]
adds r0, r5, 0
movs r1, 0x4
- bl sub_8076B2C
+ bl GetBattlerSpriteCoordAttr
subs r0, 0x8
b _080E280E
.align 2, 0
@@ -8948,7 +8948,7 @@ _080E2800: .4byte 0xfffffc00
_080E2804:
adds r0, r5, 0
movs r1, 0x5
- bl sub_8076B2C
+ bl GetBattlerSpriteCoordAttr
adds r0, 0x8
_080E280E:
strh r0, [r4, 0x20]
@@ -9091,14 +9091,14 @@ _080E28F8:
ldrh r0, [r2, 0x2]
strh r0, [r4, 0x8]
ldrb r0, [r2]
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
strh r1, [r4, 0x26]
ldr r2, _080E292C @ =gUnknown_83FF65C
adds r0, r4, 0
- bl sub_80762D0
+ bl PrepareAffineAnimInTaskData
ldr r0, _080E2930 @ =sub_80E2934
str r0, [r4]
_080E2920:
@@ -9160,7 +9160,7 @@ _080E298C:
strh r1, [r0, 0x24]
_080E298E:
adds r0, r4, 0
- bl sub_8076308
+ bl RunAffineAnimFromTaskData
lsls r0, 24
lsrs r5, r0, 24
cmp r5, 0
@@ -9188,7 +9188,7 @@ _080E298E:
lsls r1, 24
lsrs r1, 24
ldr r2, _080E29E0 @ =gUnknown_83FF65C
- bl sub_80762D0
+ bl PrepareAffineAnimInTaskData
strh r5, [r4, 0xA]
strh r5, [r4, 0xC]
b _080E29EA
@@ -9231,7 +9231,7 @@ _080E2A0E:
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8076B2C
+ bl GetBattlerSpriteCoordAttr
strh r0, [r5, 0x22]
movs r1, 0x22
ldrsh r0, [r5, r1]
@@ -9613,7 +9613,7 @@ sub_80E2CE4: @ 80E2CE4
ldr r0, _080E2D34 @ =gTasks
adds r6, r1, r0
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r0, 24
strh r0, [r6, 0x26]
@@ -9902,7 +9902,7 @@ sub_80E2F14: @ 80E2F14
bne _080E2F38
adds r0, r4, 0
movs r1, 0x1
- bl sub_8075160
+ bl InitSpritePosToAnimAttacker
ldr r0, _080E2F34 @ =gBattleAnimAttacker
b _080E2F3A
.align 2, 0
@@ -9932,7 +9932,7 @@ _080E2F5E:
ldrh r0, [r4, 0x3C]
lsls r0, 24
lsrs r0, 24
- bl sub_8076884
+ bl GetBattlerSpriteBGPriority
movs r2, 0x3
ands r2, r0
lsls r2, 2
@@ -10010,7 +10010,7 @@ _080E2FFC:
lsls r0, 24
lsrs r0, 24
movs r1, 0x5
- bl sub_8076B2C
+ bl GetBattlerSpriteCoordAttr
subs r0, 0x4
lsls r0, 16
lsrs r5, r0, 16
@@ -10024,7 +10024,7 @@ _080E3018:
lsls r0, 24
lsrs r0, 24
movs r1, 0x5
- bl sub_8076B2C
+ bl GetBattlerSpriteCoordAttr
subs r0, 0x4
lsls r0, 16
lsrs r5, r0, 16
@@ -10032,7 +10032,7 @@ _080E3018:
lsls r0, 24
lsrs r0, 24
movs r1, 0x2
- bl sub_8076B2C
+ bl GetBattlerSpriteCoordAttr
adds r0, 0x4
b _080E3076
_080E303A:
@@ -10040,7 +10040,7 @@ _080E303A:
lsls r0, 24
lsrs r0, 24
movs r1, 0x4
- bl sub_8076B2C
+ bl GetBattlerSpriteCoordAttr
adds r0, 0x4
lsls r0, 16
lsrs r5, r0, 16
@@ -10054,7 +10054,7 @@ _080E3056:
lsls r0, 24
lsrs r0, 24
movs r1, 0x4
- bl sub_8076B2C
+ bl GetBattlerSpriteCoordAttr
adds r0, 0x4
lsls r0, 16
lsrs r5, r0, 16
@@ -10063,7 +10063,7 @@ _080E3056:
lsrs r0, 24
movs r1, 0x2
_080E3070:
- bl sub_8076B2C
+ bl GetBattlerSpriteCoordAttr
subs r0, 0x4
_080E3076:
lsls r0, 16
@@ -10107,11 +10107,11 @@ _080E30B2:
strh r0, [r4, 0x34]
strh r1, [r4, 0x36]
adds r0, r4, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimLinearTranslation
b _080E3188
_080E30C8:
adds r0, r4, 0
- bl sub_80755E0
+ bl AnimTranslateLinear
lsls r0, 24
cmp r0, 0
beq _080E3196
@@ -10360,7 +10360,7 @@ sub_80E3294: @ 80E3294
lsls r0, 24
lsrs r6, r0, 24
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r5, r0, 24
adds r2, r5, 0
@@ -10471,7 +10471,7 @@ sub_80E3374: @ 80E3374
lsls r0, 24
lsrs r6, r0, 24
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r3, r0, 24
ldr r1, _080E33A0 @ =gTasks
@@ -10554,7 +10554,7 @@ _080E3412:
bne _080E34C6
movs r0, 0x40
negs r0, r0
- bl sub_8073A44
+ bl BattleAnimAdjustPanning
adds r1, r0, 0
lsls r1, 24
asrs r1, 24
@@ -10627,7 +10627,7 @@ _080E34A4:
bne _080E34C6
movs r0, 0x40
negs r0, r0
- bl sub_8073A44
+ bl BattleAnimAdjustPanning
adds r1, r0, 0
lsls r1, 24
asrs r1, 24
@@ -10724,7 +10724,7 @@ _080E3564:
cmp r0, 0
blt _080E365E
movs r0, 0x3F
- bl sub_8073A44
+ bl BattleAnimAdjustPanning
adds r1, r0, 0
lsls r1, 24
asrs r1, 24
@@ -10753,7 +10753,7 @@ _080E3588:
cmp r1, 0x7F
ble _080E365E
movs r0, 0x3F
- bl sub_8073A44
+ bl BattleAnimAdjustPanning
adds r1, r0, 0
lsls r1, 24
asrs r1, 24
@@ -10797,7 +10797,7 @@ _080E35F8:
cmp r0, 0x8
ble _080E365E
movs r0, 0x3F
- bl sub_8073A44
+ bl BattleAnimAdjustPanning
adds r1, r0, 0
lsls r1, 24
asrs r1, 24
@@ -10856,7 +10856,7 @@ sub_80E3664: @ 80E3664
lsls r0, 24
lsrs r7, r0, 24
movs r0, 0x1
- bl duplicate_obj_of_side_rel2move_in_transparent_mode
+ bl CloneBattlerSpriteWithBlend
lsls r0, 16
lsrs r1, r0, 16
str r1, [sp]
@@ -10864,7 +10864,7 @@ sub_80E3664: @ 80E3664
cmp r6, 0
blt _080E36A6
movs r0, 0x1
- bl duplicate_obj_of_side_rel2move_in_transparent_mode
+ bl CloneBattlerSpriteWithBlend
lsls r0, 16
lsrs r1, r0, 16
mov r9, r1
@@ -11251,7 +11251,7 @@ _080E3964:
.4byte _080E3D90
_080E3978:
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r7, r0, 24
ldr r1, _080E39C4 @ =gTasks
@@ -11392,7 +11392,7 @@ _080E3AA0:
ldrh r5, [r1, 0x2]
_080E3AA2:
movs r0, 0x1
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
ldr r2, _080E3AC8 @ =gSprites
lsls r0, 24
lsrs r0, 24
@@ -11460,7 +11460,7 @@ _080E3B30:
ldrh r5, [r1, 0x2]
_080E3B32:
movs r0, 0x1
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
ldr r2, _080E3BD0 @ =gSprites
lsls r0, 24
lsrs r0, 24
@@ -11682,7 +11682,7 @@ _080E3D04: .4byte 0x0000ffff
_080E3D08: .4byte gTasks
_080E3D0C:
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r7, r0, 24
ldr r1, _080E3D58 @ =gTasks
@@ -11699,7 +11699,7 @@ _080E3D0C:
lsls r0, 2
ldr r5, _080E3D5C @ =gSprites
adds r0, r5
- bl sub_8076B20
+ bl DestroySpriteAndFreeResources_
ldr r0, _080E3D60 @ =gBattleAnimAttacker
ldrb r0, [r0]
bl GetBattlerSide
@@ -11746,7 +11746,7 @@ _080E3D82:
_080E3D8C: .4byte gTasks
_080E3D90:
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r7, r0, 24
ldr r1, _080E3E04 @ =gTasks
@@ -11883,7 +11883,7 @@ _080E3E96:
cmp r1, r0
bne _080E3F28
movs r0, 0x3F
- bl sub_8073A44
+ bl BattleAnimAdjustPanning
adds r1, r0, 0
lsls r1, 24
asrs r1, 24
@@ -11917,7 +11917,7 @@ _080E3E96:
cmp r0, 0x1
bne _080E3FB8
movs r0, 0x1
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
ldr r2, _080E3F24 @ =gSprites
lsls r0, 24
lsrs r0, 24
@@ -12235,7 +12235,7 @@ sub_80E4160: @ 80E4160
ldr r0, _080E41C8 @ =gTasks
adds r4, r1, r0
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r0, 24
movs r5, 0
@@ -12532,7 +12532,7 @@ sub_80E43A4: @ 80E43A4
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x2
- bl sub_8076B2C
+ bl GetBattlerSpriteCoordAttr
strh r0, [r5, 0x22]
lsls r0, 16
asrs r0, 16
@@ -12688,7 +12688,7 @@ _080E44D6:
b _080E44E4
_080E44DE:
adds r0, r4, 0
- bl move_anim_8074EE0
+ bl DestroySpriteAndMatrix
_080E44E4:
pop {r4}
pop {r0}
@@ -12757,14 +12757,14 @@ sub_80E4540: @ 80E4540
strh r0, [r4, 0x8]
ldr r0, _080E457C @ =gBattleAnimArgs
ldrb r0, [r0]
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
strh r1, [r4, 0x26]
ldr r2, _080E4580 @ =gUnknown_83FF7A8
adds r0, r4, 0
- bl sub_80762D0
+ bl PrepareAffineAnimInTaskData
ldr r0, _080E4584 @ =sub_80E4588
str r0, [r4]
pop {r4}
@@ -12840,7 +12840,7 @@ _080E45FC:
adds r0, r4
lsls r0, 3
adds r0, r6
- bl sub_8076308
+ bl RunAffineAnimFromTaskData
lsls r0, 24
cmp r0, 0
bne _080E4614
diff --git a/asm/battle_anim_mons.s b/asm/battle_anim_mons.s
deleted file mode 100644
index ddb5d6977..000000000
--- a/asm/battle_anim_mons.s
+++ /dev/null
@@ -1,6343 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start GetBattlerSpriteCoord
-GetBattlerSpriteCoord: @ 8074480
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- cmp r4, 0x4
- bhi _08074500
- lsls r0, r4, 2
- ldr r1, _08074498 @ =_0807449C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08074498: .4byte _0807449C
- .align 2, 0
-_0807449C:
- .4byte _080744B0
- .4byte _080744D8
- .4byte _080744B0
- .4byte _08074500
- .4byte _08074500
-_080744B0:
- ldr r4, _080744D0 @ =gUnknown_83AE01C
- adds r0, r5, 0
- bl GetBattlerPosition
- lsls r0, 24
- lsrs r0, 22
- ldr r1, _080744D4 @ =gBattleTypeFlags
- ldr r1, [r1]
- movs r2, 0x1
- ands r1, r2
- lsls r1, 4
- adds r0, r1
- adds r0, r4
- ldrb r0, [r0]
- b _08074588
- .align 2, 0
-_080744D0: .4byte gUnknown_83AE01C
-_080744D4: .4byte gBattleTypeFlags
-_080744D8:
- ldr r4, _080744F8 @ =gUnknown_83AE01C
- adds r0, r5, 0
- bl GetBattlerPosition
- lsls r0, 24
- lsrs r0, 22
- ldr r1, _080744FC @ =gBattleTypeFlags
- ldr r1, [r1]
- movs r2, 0x1
- ands r1, r2
- lsls r1, 4
- adds r0, r1
- adds r0, r4
- ldrb r0, [r0, 0x1]
- b _08074588
- .align 2, 0
-_080744F8: .4byte gUnknown_83AE01C
-_080744FC: .4byte gBattleTypeFlags
-_08074500:
- adds r0, r5, 0
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _08074538
- ldr r0, _0807452C @ =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r1, [r0]
- lsls r0, r5, 2
- adds r1, r0, r1
- ldrh r0, [r1, 0x2]
- cmp r0, 0
- bne _08074570
- ldr r1, _08074530 @ =gBattlerPartyIndexes
- lsls r0, r5, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _08074534 @ =gEnemyParty
- b _08074556
- .align 2, 0
-_0807452C: .4byte gBattleSpritesDataPtr
-_08074530: .4byte gBattlerPartyIndexes
-_08074534: .4byte gEnemyParty
-_08074538:
- ldr r0, _08074564 @ =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r1, [r0]
- lsls r0, r5, 2
- adds r1, r0, r1
- ldrh r0, [r1, 0x2]
- cmp r0, 0
- bne _08074570
- ldr r1, _08074568 @ =gBattlerPartyIndexes
- lsls r0, r5, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _0807456C @ =gPlayerParty
-_08074556:
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r1, r0, 16
- b _08074572
- .align 2, 0
-_08074564: .4byte gBattleSpritesDataPtr
-_08074568: .4byte gBattlerPartyIndexes
-_0807456C: .4byte gPlayerParty
-_08074570:
- ldrh r1, [r1, 0x2]
-_08074572:
- cmp r4, 0x3
- bne _0807457C
- adds r0, r5, 0
- movs r2, 0x1
- b _08074580
-_0807457C:
- adds r0, r5, 0
- movs r2, 0
-_08074580:
- bl sub_80747AC
- lsls r0, 24
- lsrs r0, 24
-_08074588:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end GetBattlerSpriteCoord
-
- thumb_func_start sub_8074590
-sub_8074590: @ 8074590
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- adds r6, r5, 0
- lsls r1, 16
- lsrs r4, r1, 16
- adds r7, r4, 0
- adds r0, r5, 0
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _08074674
- cmp r4, 0xC9
- bne _08074638
- ldr r0, _080745D8 @ =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r0, [r0]
- lsls r1, r5, 2
- adds r0, r1, r0
- ldrh r0, [r0, 0x2]
- cmp r0, 0
- bne _080745E4
- ldr r1, _080745DC @ =gBattlerPartyIndexes
- lsls r0, r5, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _080745E0 @ =gPlayerParty
- adds r0, r1
- movs r1, 0
- bl GetMonData
- adds r2, r0, 0
- b _080745EA
- .align 2, 0
-_080745D8: .4byte gBattleSpritesDataPtr
-_080745DC: .4byte gBattlerPartyIndexes
-_080745E0: .4byte gPlayerParty
-_080745E4:
- ldr r0, _08074620 @ =gTransformedPersonalities
- adds r0, r1, r0
- ldr r2, [r0]
-_080745EA:
- movs r0, 0xC0
- lsls r0, 18
- ands r0, r2
- lsrs r0, 18
- movs r1, 0xC0
- lsls r1, 10
- ands r1, r2
- lsrs r1, 12
- orrs r0, r1
- movs r1, 0xC0
- lsls r1, 2
- ands r1, r2
- lsrs r1, 6
- orrs r0, r1
- movs r1, 0x3
- ands r1, r2
- orrs r0, r1
- movs r1, 0x1C
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- bne _08074624
- adds r0, r7, 0
- b _0807462E
- .align 2, 0
-_08074620: .4byte gTransformedPersonalities
-_08074624:
- movs r1, 0xCE
- lsls r1, 1
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
-_0807462E:
- ldr r1, _08074634 @ =gUnknown_8235E6C
- lsls r0, 2
- b _0807473C
- .align 2, 0
-_08074634: .4byte gUnknown_8235E6C
-_08074638:
- ldr r0, _0807464C @ =0x00000181
- cmp r4, r0
- bne _08074658
- ldr r0, _08074650 @ =gUnknown_83AE050
- ldr r1, _08074654 @ =gBattleMonForms
- adds r1, r5, r1
- ldrb r1, [r1]
- adds r1, r0
- ldrb r0, [r1]
- b _08074740
- .align 2, 0
-_0807464C: .4byte 0x00000181
-_08074650: .4byte gUnknown_83AE050
-_08074654: .4byte gBattleMonForms
-_08074658:
- movs r0, 0xCE
- lsls r0, 1
- cmp r4, r0
- bls _08074668
- ldr r0, _08074664 @ =gUnknown_8235E6C
- b _0807473E
- .align 2, 0
-_08074664: .4byte gUnknown_8235E6C
-_08074668:
- ldr r1, _08074670 @ =gUnknown_8235E6C
- lsls r0, r4, 2
- b _0807473C
- .align 2, 0
-_08074670: .4byte gUnknown_8235E6C
-_08074674:
- cmp r4, 0xC9
- bne _08074704
- ldr r0, _080746A4 @ =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r0, [r0]
- lsls r1, r5, 2
- adds r0, r1, r0
- ldrh r0, [r0, 0x2]
- cmp r0, 0
- bne _080746B0
- ldr r1, _080746A8 @ =gBattlerPartyIndexes
- lsls r0, r5, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _080746AC @ =gEnemyParty
- adds r0, r1
- movs r1, 0
- bl GetMonData
- adds r2, r0, 0
- b _080746B6
- .align 2, 0
-_080746A4: .4byte gBattleSpritesDataPtr
-_080746A8: .4byte gBattlerPartyIndexes
-_080746AC: .4byte gEnemyParty
-_080746B0:
- ldr r0, _080746EC @ =gTransformedPersonalities
- adds r0, r1, r0
- ldr r2, [r0]
-_080746B6:
- movs r0, 0xC0
- lsls r0, 18
- ands r0, r2
- lsrs r0, 18
- movs r1, 0xC0
- lsls r1, 10
- ands r1, r2
- lsrs r1, 12
- orrs r0, r1
- movs r1, 0xC0
- lsls r1, 2
- ands r1, r2
- lsrs r1, 6
- orrs r0, r1
- movs r1, 0x3
- ands r1, r2
- orrs r0, r1
- movs r1, 0x1C
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- bne _080746F0
- adds r0, r7, 0
- b _080746FA
- .align 2, 0
-_080746EC: .4byte gTransformedPersonalities
-_080746F0:
- movs r1, 0xCE
- lsls r1, 1
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
-_080746FA:
- ldr r1, _08074700 @ =gUnknown_82349CC
- lsls r0, 2
- b _0807473C
- .align 2, 0
-_08074700: .4byte gUnknown_82349CC
-_08074704:
- ldr r0, _0807471C @ =0x00000181
- cmp r4, r0
- bne _08074728
- ldr r0, _08074720 @ =gUnknown_83AE03C
- ldr r1, _08074724 @ =gBattleMonForms
- adds r1, r6, r1
- ldrb r1, [r1]
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1, 0x1]
- b _08074740
- .align 2, 0
-_0807471C: .4byte 0x00000181
-_08074720: .4byte gUnknown_83AE03C
-_08074724: .4byte gBattleMonForms
-_08074728:
- movs r0, 0xCE
- lsls r0, 1
- cmp r4, r0
- bls _08074738
- ldr r0, _08074734 @ =gUnknown_82349CC
- b _0807473E
- .align 2, 0
-_08074734: .4byte gUnknown_82349CC
-_08074738:
- ldr r1, _08074748 @ =gUnknown_82349CC
- lsls r0, r7, 2
-_0807473C:
- adds r0, r1
-_0807473E:
- ldrb r0, [r0, 0x1]
-_08074740:
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08074748: .4byte gUnknown_82349CC
- thumb_func_end sub_8074590
-
- thumb_func_start sub_807474C
-sub_807474C: @ 807474C
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 16
- lsrs r4, r1, 16
- adds r7, r4, 0
- movs r5, 0
- adds r0, r6, 0
- bl GetBattlerSide
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0807479E
- ldr r0, _0807477C @ =0x00000181
- cmp r4, r0
- bne _08074788
- ldr r0, _08074780 @ =gUnknown_83AE04C
- ldr r1, _08074784 @ =gBattleMonForms
- adds r1, r6, r1
- ldrb r1, [r1]
- adds r1, r0
- ldrb r5, [r1]
- b _0807479E
- .align 2, 0
-_0807477C: .4byte 0x00000181
-_08074780: .4byte gUnknown_83AE04C
-_08074784: .4byte gBattleMonForms
-_08074788:
- movs r0, 0xCE
- lsls r0, 1
- cmp r4, r0
- bls _08074798
- ldr r0, _08074794 @ =gEnemyMonElevation
- b _0807479C
- .align 2, 0
-_08074794: .4byte gEnemyMonElevation
-_08074798:
- ldr r0, _080747A8 @ =gEnemyMonElevation
- adds r0, r7, r0
-_0807479C:
- ldrb r5, [r0]
-_0807479E:
- adds r0, r5, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080747A8: .4byte gEnemyMonElevation
- thumb_func_end sub_807474C
-
- thumb_func_start sub_80747AC
-sub_80747AC: @ 80747AC
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 16
- lsrs r4, r1, 16
- lsls r2, 24
- lsrs r7, r2, 24
- adds r0, r6, 0
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _080747D4
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_8074590
- lsls r0, 24
- lsrs r5, r0, 24
- b _080747F2
-_080747D4:
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_8074590
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_807474C
- lsls r0, 24
- lsrs r0, 24
- subs r0, r5, r0
- lsls r0, 16
- lsrs r5, r0, 16
-_080747F2:
- adds r0, r6, 0
- bl GetBattlerPosition
- ldr r3, _0807483C @ =gUnknown_83AE01C
- lsls r0, 24
- lsrs r0, 22
- ldr r1, _08074840 @ =gBattleTypeFlags
- ldr r1, [r1]
- movs r2, 0x1
- ands r1, r2
- lsls r1, 4
- adds r0, r1
- adds r0, r3
- ldrb r0, [r0, 0x1]
- adds r0, r5
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r7, 0
- beq _08074832
- adds r0, r6, 0
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _0807482C
- adds r0, r4, 0
- adds r0, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
-_0807482C:
- cmp r4, 0x68
- bls _08074832
- movs r4, 0x68
-_08074832:
- adds r0, r4, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0807483C: .4byte gUnknown_83AE01C
-_08074840: .4byte gBattleTypeFlags
- thumb_func_end sub_80747AC
-
- thumb_func_start sub_8074844
-sub_8074844: @ 8074844
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r1, 24
- lsrs r3, r1, 24
- movs r0, 0xFD
- lsls r0, 24
- adds r1, r0
- lsrs r1, 24
- cmp r1, 0x1
- bhi _08074896
- ldr r0, _08074874 @ =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r1, [r0]
- lsls r0, r2, 2
- adds r1, r0, r1
- ldrh r0, [r1, 0x2]
- cmp r0, 0
- bne _0807487C
- ldr r1, _08074878 @ =gUnknown_2037F1C
- lsls r0, r2, 1
- adds r0, r1
- ldrh r1, [r0]
- b _0807487E
- .align 2, 0
-_08074874: .4byte gBattleSpritesDataPtr
-_08074878: .4byte gUnknown_2037F1C
-_0807487C:
- ldrh r1, [r1, 0x2]
-_0807487E:
- cmp r3, 0x3
- bne _0807488C
- adds r0, r2, 0
- movs r2, 0x1
- bl sub_80747AC
- b _0807489E
-_0807488C:
- adds r0, r2, 0
- movs r2, 0
- bl sub_80747AC
- b _0807489E
-_08074896:
- adds r0, r2, 0
- adds r1, r3, 0
- bl GetBattlerSpriteCoord
-_0807489E:
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_8074844
-
- thumb_func_start GetBattlerSpriteDefault_Y
-GetBattlerSpriteDefault_Y: @ 80748A8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x4
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end GetBattlerSpriteDefault_Y
-
- thumb_func_start GetSubstituteSpriteDefault_Y
-GetSubstituteSpriteDefault_Y: @ 80748BC
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080748E0
- adds r0, r4, 0
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 8
- movs r1, 0x80
- lsls r1, 13
- b _080748F0
-_080748E0:
- adds r0, r4, 0
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 8
- movs r1, 0x88
- lsls r1, 13
-_080748F0:
- adds r0, r1
- lsrs r0, 16
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end GetSubstituteSpriteDefault_Y
-
- thumb_func_start GetGhostSpriteDefault_Y
-GetGhostSpriteDefault_Y: @ 8074900
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl GetBattlerSide
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0807491A
- adds r0, r4, 0
- movs r1, 0x1
- b _0807491E
-_0807491A:
- adds r0, r4, 0
- movs r1, 0x4
-_0807491E:
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end GetGhostSpriteDefault_Y
-
- thumb_func_start sub_807492C
-sub_807492C: @ 807492C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r5, 0
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r5, 0
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _08074978
- ldr r0, _0807496C @ =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r1, [r0]
- lsls r0, r5, 2
- adds r1, r0, r1
- ldrh r0, [r1, 0x2]
- cmp r0, 0
- bne _080749B0
- ldr r1, _08074970 @ =gBattlerPartyIndexes
- lsls r0, r5, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _08074974 @ =gEnemyParty
- b _08074996
- .align 2, 0
-_0807496C: .4byte gBattleSpritesDataPtr
-_08074970: .4byte gBattlerPartyIndexes
-_08074974: .4byte gEnemyParty
-_08074978:
- ldr r0, _080749A4 @ =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r1, [r0]
- lsls r0, r5, 2
- adds r1, r0, r1
- ldrh r0, [r1, 0x2]
- cmp r0, 0
- bne _080749B0
- ldr r1, _080749A8 @ =gBattlerPartyIndexes
- lsls r0, r5, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _080749AC @ =gPlayerParty
-_08074996:
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r4, r0, 16
- b _080749B2
- .align 2, 0
-_080749A4: .4byte gBattleSpritesDataPtr
-_080749A8: .4byte gBattlerPartyIndexes
-_080749AC: .4byte gPlayerParty
-_080749B0:
- ldrh r4, [r1, 0x2]
-_080749B2:
- adds r0, r5, 0
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080749CC
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_807474C
- subs r0, r6, r0
- lsls r0, 24
- lsrs r6, r0, 24
-_080749CC:
- adds r0, r6, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_807492C
-
- thumb_func_start GetAnimBankSpriteId
-GetAnimBankSpriteId: @ 80749D4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- cmp r0, 0
- bne _080749FC
- ldr r4, _080749F4 @ =gBattleAnimAttacker
- ldrb r0, [r4]
- bl IsBattlerSpritePresent
- lsls r0, 24
- cmp r0, 0
- beq _08074A4A
- ldr r1, _080749F8 @ =gBattlerSpriteIds
- ldrb r0, [r4]
- b _08074A5A
- .align 2, 0
-_080749F4: .4byte gBattleAnimAttacker
-_080749F8: .4byte gBattlerSpriteIds
-_080749FC:
- cmp r0, 0x1
- bne _08074A1C
- ldr r4, _08074A14 @ =gBattleAnimTarget
- ldrb r0, [r4]
- bl IsBattlerSpritePresent
- lsls r0, 24
- cmp r0, 0
- beq _08074A4A
- ldr r1, _08074A18 @ =gBattlerSpriteIds
- ldrb r0, [r4]
- b _08074A5A
- .align 2, 0
-_08074A14: .4byte gBattleAnimTarget
-_08074A18: .4byte gBattlerSpriteIds
-_08074A1C:
- cmp r1, 0x2
- bne _08074A38
- ldr r5, _08074A34 @ =gBattleAnimAttacker
- ldrb r0, [r5]
- movs r4, 0x2
- eors r0, r4
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _08074A4A
- b _08074A54
- .align 2, 0
-_08074A34: .4byte gBattleAnimAttacker
-_08074A38:
- ldr r5, _08074A50 @ =gBattleAnimTarget
- ldrb r0, [r5]
- movs r4, 0x2
- eors r0, r4
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- bne _08074A54
-_08074A4A:
- movs r0, 0xFF
- b _08074A5E
- .align 2, 0
-_08074A50: .4byte gBattleAnimTarget
-_08074A54:
- ldr r1, _08074A64 @ =gBattlerSpriteIds
- ldrb r0, [r5]
- eors r0, r4
-_08074A5A:
- adds r0, r1
- ldrb r0, [r0]
-_08074A5E:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08074A64: .4byte gBattlerSpriteIds
- thumb_func_end GetAnimBankSpriteId
-
- thumb_func_start StoreSpriteCallbackInData6
-StoreSpriteCallbackInData6: @ 8074A68
- strh r1, [r0, 0x3A]
- lsrs r1, 16
- strh r1, [r0, 0x3C]
- bx lr
- thumb_func_end StoreSpriteCallbackInData6
-
- thumb_func_start SetCallbackToStoredInData
-SetCallbackToStoredInData: @ 8074A70
- ldrh r2, [r0, 0x3A]
- movs r3, 0x3C
- ldrsh r1, [r0, r3]
- lsls r1, 16
- orrs r2, r1
- str r2, [r0, 0x1C]
- bx lr
- thumb_func_end SetCallbackToStoredInData
-
- thumb_func_start sub_8074A80
-sub_8074A80: @ 8074A80
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _08074AD4
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- movs r2, 0x30
- ldrsh r1, [r4, r2]
- bl Sin
- strh r0, [r4, 0x24]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- movs r2, 0x30
- ldrsh r1, [r4, r2]
- bl Cos
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x32]
- ldrh r2, [r4, 0x2E]
- adds r1, r0, r2
- strh r1, [r4, 0x2E]
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0xFF
- ble _08074AC0
- ldr r2, _08074ABC @ =0xffffff00
- b _08074AC8
- .align 2, 0
-_08074ABC: .4byte 0xffffff00
-_08074AC0:
- cmp r0, 0
- bge _08074ACC
- movs r2, 0x80
- lsls r2, 1
-_08074AC8:
- adds r0, r1, r2
- strh r0, [r4, 0x2E]
-_08074ACC:
- ldrh r0, [r4, 0x34]
- subs r0, 0x1
- strh r0, [r4, 0x34]
- b _08074ADA
-_08074AD4:
- adds r0, r4, 0
- bl SetCallbackToStoredInData
-_08074ADA:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8074A80
-
- thumb_func_start sub_8074AE0
-sub_8074AE0: @ 8074AE0
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _08074B50
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- ldrh r1, [r4, 0x38]
- lsls r1, 16
- asrs r1, 24
- ldrh r2, [r4, 0x30]
- adds r1, r2
- lsls r1, 16
- asrs r1, 16
- bl Sin
- strh r0, [r4, 0x24]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- ldrh r1, [r4, 0x38]
- lsls r1, 16
- asrs r1, 24
- ldrh r2, [r4, 0x30]
- adds r1, r2
- lsls r1, 16
- asrs r1, 16
- bl Cos
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x32]
- ldrh r2, [r4, 0x2E]
- adds r1, r0, r2
- strh r1, [r4, 0x2E]
- ldrh r0, [r4, 0x36]
- ldrh r2, [r4, 0x38]
- adds r0, r2
- strh r0, [r4, 0x38]
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0xFF
- ble _08074B3C
- ldr r2, _08074B38 @ =0xffffff00
- b _08074B44
- .align 2, 0
-_08074B38: .4byte 0xffffff00
-_08074B3C:
- cmp r0, 0
- bge _08074B48
- movs r2, 0x80
- lsls r2, 1
-_08074B44:
- adds r0, r1, r2
- strh r0, [r4, 0x2E]
-_08074B48:
- ldrh r0, [r4, 0x34]
- subs r0, 0x1
- strh r0, [r4, 0x34]
- b _08074B56
-_08074B50:
- adds r0, r4, 0
- bl SetCallbackToStoredInData
-_08074B56:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8074AE0
-
- thumb_func_start sub_8074B5C
-sub_8074B5C: @ 8074B5C
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _08074BD8
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- movs r2, 0x30
- ldrsh r1, [r4, r2]
- bl Sin
- strh r0, [r4, 0x24]
- movs r1, 0x36
- ldrsh r0, [r4, r1]
- movs r2, 0x30
- ldrsh r1, [r4, r2]
- bl Cos
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x32]
- ldrh r2, [r4, 0x2E]
- adds r1, r0, r2
- strh r1, [r4, 0x2E]
- ldrh r0, [r4, 0x38]
- ldrh r2, [r4, 0x36]
- adds r0, r2
- strh r0, [r4, 0x36]
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0xFF
- ble _08074BA4
- ldr r2, _08074BA0 @ =0xffffff00
- b _08074BAC
- .align 2, 0
-_08074BA0: .4byte 0xffffff00
-_08074BA4:
- cmp r0, 0
- bge _08074BB0
- movs r2, 0x80
- lsls r2, 1
-_08074BAC:
- adds r0, r1, r2
- strh r0, [r4, 0x2E]
-_08074BB0:
- ldrh r1, [r4, 0x36]
- movs r2, 0x36
- ldrsh r0, [r4, r2]
- cmp r0, 0xFF
- ble _08074BC4
- ldr r2, _08074BC0 @ =0xffffff00
- b _08074BCC
- .align 2, 0
-_08074BC0: .4byte 0xffffff00
-_08074BC4:
- cmp r0, 0
- bge _08074BD0
- movs r2, 0x80
- lsls r2, 1
-_08074BCC:
- adds r0, r1, r2
- strh r0, [r4, 0x36]
-_08074BD0:
- ldrh r0, [r4, 0x34]
- subs r0, 0x1
- strh r0, [r4, 0x34]
- b _08074BDE
-_08074BD8:
- adds r0, r4, 0
- bl SetCallbackToStoredInData
-_08074BDE:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8074B5C
-
- thumb_func_start sub_8074BE4
-sub_8074BE4: @ 8074BE4
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _08074C38
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- movs r2, 0x30
- ldrsh r1, [r4, r2]
- bl Sin
- strh r0, [r4, 0x24]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- movs r2, 0x36
- ldrsh r1, [r4, r2]
- bl Cos
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x32]
- ldrh r2, [r4, 0x2E]
- adds r1, r0, r2
- strh r1, [r4, 0x2E]
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0xFF
- ble _08074C24
- ldr r2, _08074C20 @ =0xffffff00
- b _08074C2C
- .align 2, 0
-_08074C20: .4byte 0xffffff00
-_08074C24:
- cmp r0, 0
- bge _08074C30
- movs r2, 0x80
- lsls r2, 1
-_08074C2C:
- adds r0, r1, r2
- strh r0, [r4, 0x2E]
-_08074C30:
- ldrh r0, [r4, 0x34]
- subs r0, 0x1
- strh r0, [r4, 0x34]
- b _08074C3E
-_08074C38:
- adds r0, r4, 0
- bl SetCallbackToStoredInData
-_08074C3E:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8074BE4
-
- thumb_func_start sub_8074C44
-sub_8074C44: @ 8074C44
- push {lr}
- adds r1, r0, 0
- ldrh r2, [r1, 0x2E]
- movs r3, 0x2E
- ldrsh r0, [r1, r3]
- cmp r0, 0
- ble _08074C58
- subs r0, r2, 0x1
- strh r0, [r1, 0x2E]
- b _08074C5E
-_08074C58:
- adds r0, r1, 0
- bl SetCallbackToStoredInData
-_08074C5E:
- pop {r0}
- bx r0
- thumb_func_end sub_8074C44
-
- thumb_func_start sub_8074C64
-sub_8074C64: @ 8074C64
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8074C80
- ldr r1, _08074C7C @ =sub_8074CD0
- str r1, [r4, 0x1C]
- adds r0, r4, 0
- bl _call_via_r1
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08074C7C: .4byte sub_8074CD0
- thumb_func_end sub_8074C64
-
- thumb_func_start sub_8074C80
-sub_8074C80: @ 8074C80
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0x30
- ldrsh r1, [r4, r0]
- movs r2, 0x32
- ldrsh r0, [r4, r2]
- cmp r1, r0
- ble _08074C96
- ldrh r0, [r4, 0x2E]
- negs r0, r0
- strh r0, [r4, 0x2E]
-_08074C96:
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- movs r2, 0x30
- ldrsh r1, [r4, r2]
- subs r0, r1
- ldrh r5, [r4, 0x2E]
- movs r2, 0x2E
- ldrsh r1, [r4, r2]
- bl __divsi3
- cmp r0, 0
- bge _08074CB0
- negs r0, r0
-_08074CB0:
- strh r0, [r4, 0x2E]
- movs r1, 0x36
- ldrsh r0, [r4, r1]
- movs r2, 0x34
- ldrsh r1, [r4, r2]
- subs r0, r1
- movs r2, 0x2E
- ldrsh r1, [r4, r2]
- bl __divsi3
- strh r0, [r4, 0x32]
- strh r5, [r4, 0x30]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8074C80
-
- thumb_func_start sub_8074CD0
-sub_8074CD0: @ 8074CD0
- push {lr}
- adds r1, r0, 0
- ldrh r2, [r1, 0x2E]
- movs r3, 0x2E
- ldrsh r0, [r1, r3]
- cmp r0, 0
- ble _08074CF4
- subs r0, r2, 0x1
- strh r0, [r1, 0x2E]
- ldrh r0, [r1, 0x30]
- ldrh r2, [r1, 0x24]
- adds r0, r2
- strh r0, [r1, 0x24]
- ldrh r0, [r1, 0x32]
- ldrh r3, [r1, 0x26]
- adds r0, r3
- strh r0, [r1, 0x26]
- b _08074CFA
-_08074CF4:
- adds r0, r1, 0
- bl SetCallbackToStoredInData
-_08074CFA:
- pop {r0}
- bx r0
- thumb_func_end sub_8074CD0
-
- thumb_func_start sub_8074D00
-sub_8074D00: @ 8074D00
- push {lr}
- adds r2, r0, 0
- ldrh r1, [r2, 0x2E]
- movs r3, 0x2E
- ldrsh r0, [r2, r3]
- cmp r0, 0
- ble _08074D30
- subs r0, r1, 0x1
- strh r0, [r2, 0x2E]
- ldrh r0, [r2, 0x30]
- ldrh r1, [r2, 0x34]
- adds r0, r1
- strh r0, [r2, 0x34]
- ldrh r1, [r2, 0x32]
- ldrh r3, [r2, 0x36]
- adds r1, r3
- strh r1, [r2, 0x36]
- lsls r0, 16
- asrs r0, 24
- strh r0, [r2, 0x24]
- lsls r1, 16
- asrs r1, 24
- strh r1, [r2, 0x26]
- b _08074D36
-_08074D30:
- adds r0, r2, 0
- bl SetCallbackToStoredInData
-_08074D36:
- pop {r0}
- bx r0
- thumb_func_end sub_8074D00
-
- thumb_func_start sub_8074D3C
-sub_8074D3C: @ 8074D3C
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x2E]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r0, 0
- ble _08074D6C
- subs r0, r1, 0x1
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x30]
- ldrh r1, [r4, 0x34]
- adds r0, r1
- strh r0, [r4, 0x34]
- ldrh r1, [r4, 0x32]
- ldrh r2, [r4, 0x36]
- adds r1, r2
- strh r1, [r4, 0x36]
- lsls r0, 16
- asrs r0, 24
- strh r0, [r4, 0x24]
- lsls r1, 16
- asrs r1, 24
- strh r1, [r4, 0x26]
- b _08074D72
-_08074D6C:
- adds r0, r4, 0
- bl SetCallbackToStoredInData
-_08074D72:
- adds r0, r4, 0
- bl UpdateMonIconFrame
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8074D3C
-
- thumb_func_start sub_8074D80
-sub_8074D80: @ 8074D80
- push {r4,r5,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x24]
- ldrh r1, [r4, 0x20]
- adds r0, r1
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x26]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x34]
- ldr r5, _08074DBC @ =gBattleAnimTarget
- ldrb r0, [r5]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x32]
- ldrb r0, [r5]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x36]
- ldr r0, _08074DC0 @ =sub_8074C64
- str r0, [r4, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08074DBC: .4byte gBattleAnimTarget
-_08074DC0: .4byte sub_8074C64
- thumb_func_end sub_8074D80
-
- thumb_func_start TranslateMonSpriteLinear
-TranslateMonSpriteLinear: @ 8074DC4
- push {r4,lr}
- adds r3, r0, 0
- ldrh r1, [r3, 0x2E]
- movs r2, 0x2E
- ldrsh r0, [r3, r2]
- cmp r0, 0
- ble _08074E08
- subs r0, r1, 0x1
- strh r0, [r3, 0x2E]
- ldr r2, _08074E04 @ =gSprites
- movs r4, 0x34
- ldrsh r1, [r3, r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r3, 0x30]
- ldrh r4, [r0, 0x24]
- adds r1, r4
- strh r1, [r0, 0x24]
- movs r0, 0x34
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r3, 0x32]
- ldrh r2, [r0, 0x26]
- adds r1, r2
- strh r1, [r0, 0x26]
- b _08074E0E
- .align 2, 0
-_08074E04: .4byte gSprites
-_08074E08:
- adds r0, r3, 0
- bl SetCallbackToStoredInData
-_08074E0E:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end TranslateMonSpriteLinear
-
- thumb_func_start TranslateMonSpriteLinearFixedPoint
-TranslateMonSpriteLinearFixedPoint: @ 8074E14
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x2E]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r0, 0
- ble _08074E64
- subs r0, r1, 0x1
- strh r0, [r4, 0x2E]
- ldrh r1, [r4, 0x30]
- ldrh r0, [r4, 0x34]
- adds r1, r0
- strh r1, [r4, 0x34]
- ldrh r0, [r4, 0x32]
- ldrh r2, [r4, 0x36]
- adds r0, r2
- strh r0, [r4, 0x36]
- ldr r3, _08074E60 @ =gSprites
- movs r0, 0x38
- ldrsh r2, [r4, r0]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r3
- lsls r1, 16
- asrs r1, 24
- strh r1, [r0, 0x24]
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- ldrh r0, [r4, 0x36]
- lsls r0, 16
- asrs r0, 24
- strh r0, [r1, 0x26]
- b _08074E6A
- .align 2, 0
-_08074E60: .4byte gSprites
-_08074E64:
- adds r0, r4, 0
- bl SetCallbackToStoredInData
-_08074E6A:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end TranslateMonSpriteLinearFixedPoint
-
- thumb_func_start sub_8074E70
-sub_8074E70: @ 8074E70
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x2E]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r0, 0
- ble _08074ED2
- subs r0, r1, 0x1
- strh r0, [r4, 0x2E]
- ldrh r1, [r4, 0x32]
- lsls r0, r1, 16
- asrs r0, 24
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x30]
- adds r1, r0
- strh r1, [r4, 0x32]
- ldrh r1, [r4, 0x36]
- lsls r0, r1, 16
- asrs r0, 24
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x34]
- adds r1, r0
- strh r1, [r4, 0x36]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- movs r2, 0x38
- ldrsh r1, [r4, r2]
- bl __modsi3
- cmp r0, 0
- bne _08074ED8
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _08074ED8
- adds r3, r4, 0
- adds r3, 0x3E
- ldrb r2, [r3]
- lsls r0, r2, 29
- lsrs r0, 31
- movs r1, 0x1
- eors r1, r0
- lsls r1, 2
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- b _08074ED8
-_08074ED2:
- adds r0, r4, 0
- bl SetCallbackToStoredInData
-_08074ED8:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8074E70
-
- thumb_func_start move_anim_8074EE0
-move_anim_8074EE0: @ 8074EE0
- push {r4,lr}
- adds r4, r0, 0
- bl FreeSpriteOamMatrix
- adds r0, r4, 0
- bl DestroyAnimSprite
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end move_anim_8074EE0
-
- thumb_func_start sub_8074EF4
-sub_8074EF4: @ 8074EF4
- push {r4,r5,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x24]
- ldrh r1, [r4, 0x20]
- adds r0, r1
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x26]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x34]
- ldr r5, _08074F30 @ =gBattleAnimAttacker
- ldrb r0, [r5]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x32]
- ldrb r0, [r5]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x36]
- ldr r0, _08074F34 @ =sub_8074C64
- str r0, [r4, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08074F30: .4byte gBattleAnimAttacker
-_08074F34: .4byte sub_8074C64
- thumb_func_end sub_8074EF4
-
- thumb_func_start sub_8074F38
-sub_8074F38: @ 8074F38
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x38]
- bl ResetPaletteStructByUid
- adds r0, r4, 0
- bl move_anim_8074EE0
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8074F38
-
- thumb_func_start sub_8074F50
-sub_8074F50: @ 8074F50
- push {lr}
- adds r2, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _08074F66
- adds r0, r2, 0
- bl SetCallbackToStoredInData
-_08074F66:
- pop {r0}
- bx r0
- thumb_func_end sub_8074F50
-
- thumb_func_start sub_8074F6C
-sub_8074F6C: @ 8074F6C
- push {lr}
- adds r2, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08074F82
- adds r0, r2, 0
- bl SetCallbackToStoredInData
-_08074F82:
- pop {r0}
- bx r0
- thumb_func_end sub_8074F6C
-
- thumb_func_start sub_8074F88
-sub_8074F88: @ 8074F88
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- adds r0, r4, 0
- bl DestroyAnimSprite
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8074F88
-
- thumb_func_start sub_8074FA8
-sub_8074FA8: @ 8074FA8
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- adds r0, r4, 0
- bl DestroyAnimVisualTask
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8074FA8
-
- thumb_func_start sub_8074FCC
-sub_8074FCC: @ 8074FCC
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, _08074FF4 @ =gBattleAnimAttacker
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08074FF4: .4byte gBattleAnimAttacker
- thumb_func_end sub_8074FCC
-
- thumb_func_start sub_8074FF8
-sub_8074FF8: @ 8074FF8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r4, r0, 0
- lsls r1, 16
- lsrs r5, r1, 16
- mov r8, r5
- ldr r7, _08075030 @ =gBattleAnimAttacker
- ldrb r0, [r7]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, _08075034 @ =gBattleAnimTarget
- ldrb r0, [r0]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- cmp r6, r0
- bhi _08075044
- cmp r6, r0
- bcs _08075038
- lsls r0, r5, 16
- b _08075054
- .align 2, 0
-_08075030: .4byte gBattleAnimAttacker
-_08075034: .4byte gBattleAnimTarget
-_08075038:
- ldrb r0, [r7]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _08075050
-_08075044:
- ldrh r1, [r4, 0x20]
- lsls r0, r5, 16
- asrs r0, 16
- subs r1, r0
- strh r1, [r4, 0x20]
- b _0807505C
-_08075050:
- mov r1, r8
- lsls r0, r1, 16
-_08075054:
- asrs r0, 16
- ldrh r1, [r4, 0x20]
- adds r0, r1
- strh r0, [r4, 0x20]
-_0807505C:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8074FF8
-
- thumb_func_start sub_8075068
-sub_8075068: @ 8075068
- push {r4,r5,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x20]
- movs r5, 0
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x22]
- strh r0, [r4, 0x34]
- adds r0, r4, 0
- bl obj_translate_based_on_private_1_2_3_4
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- movs r0, 0x80
- lsls r0, 8
- bl __divsi3
- strh r0, [r4, 0x3A]
- strh r5, [r4, 0x3C]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8075068
-
- thumb_func_start AnimateBallThrow
-AnimateBallThrow: @ 8075094
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80755E0
- lsls r0, 24
- cmp r0, 0
- bne _080750C0
- ldrh r0, [r4, 0x3A]
- ldrh r1, [r4, 0x3C]
- adds r0, r1
- strh r0, [r4, 0x3C]
- lsls r0, 16
- lsrs r0, 24
- movs r2, 0x38
- ldrsh r1, [r4, r2]
- bl Sin
- ldrh r1, [r4, 0x26]
- adds r0, r1
- strh r0, [r4, 0x26]
- movs r0, 0
- b _080750C2
-_080750C0:
- movs r0, 0x1
-_080750C2:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end AnimateBallThrow
-
- thumb_func_start sub_80750C8
-sub_80750C8: @ 80750C8
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80755E0
- lsls r0, 24
- cmp r0, 0
- bne _080750F4
- ldrh r0, [r4, 0x3A]
- ldrh r1, [r4, 0x3C]
- adds r0, r1
- strh r0, [r4, 0x3C]
- lsls r0, 16
- lsrs r0, 24
- movs r2, 0x38
- ldrsh r1, [r4, r2]
- bl Sin
- ldrh r1, [r4, 0x24]
- adds r0, r1
- strh r0, [r4, 0x24]
- movs r0, 0
- b _080750F6
-_080750F4:
- movs r0, 0x1
-_080750F6:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80750C8
-
- thumb_func_start SetSpritePrimaryCoordsFromSecondaryCoords
-SetSpritePrimaryCoordsFromSecondaryCoords: @ 80750FC
- ldrh r1, [r0, 0x24]
- ldrh r2, [r0, 0x20]
- adds r1, r2
- movs r2, 0
- strh r1, [r0, 0x20]
- ldrh r1, [r0, 0x26]
- ldrh r3, [r0, 0x22]
- adds r1, r3
- strh r1, [r0, 0x22]
- strh r2, [r0, 0x24]
- strh r2, [r0, 0x26]
- bx lr
- thumb_func_end SetSpritePrimaryCoordsFromSecondaryCoords
-
- thumb_func_start sub_8075114
-sub_8075114: @ 8075114
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r1, 24
- cmp r1, 0
- bne _0807513C
- ldr r4, _08075158 @ =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0
- bl sub_8074844
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x1
- bl sub_8074844
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
-_0807513C:
- ldr r4, _0807515C @ =gBattleAnimArgs
- movs r0, 0
- ldrsh r1, [r4, r0]
- adds r0, r5, 0
- bl sub_8074FF8
- ldrh r0, [r4, 0x2]
- ldrh r1, [r5, 0x22]
- adds r0, r1
- strh r0, [r5, 0x22]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08075158: .4byte gBattleAnimTarget
-_0807515C: .4byte gBattleAnimArgs
- thumb_func_end sub_8075114
-
- thumb_func_start sub_8075160
-sub_8075160: @ 8075160
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r1, 24
- cmp r1, 0
- bne _08075184
- ldr r4, _08075180 @ =gBattleAnimAttacker
- ldrb r0, [r4]
- movs r1, 0
- bl sub_8074844
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x1
- b _08075198
- .align 2, 0
-_08075180: .4byte gBattleAnimAttacker
-_08075184:
- ldr r4, _080751BC @ =gBattleAnimAttacker
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8074844
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x3
-_08075198:
- bl sub_8074844
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
- ldr r4, _080751C0 @ =gBattleAnimArgs
- movs r0, 0
- ldrsh r1, [r4, r0]
- adds r0, r5, 0
- bl sub_8074FF8
- ldrh r0, [r4, 0x2]
- ldrh r1, [r5, 0x22]
- adds r0, r1
- strh r0, [r5, 0x22]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080751BC: .4byte gBattleAnimAttacker
-_080751C0: .4byte gBattleAnimArgs
- thumb_func_end sub_8075160
-
- thumb_func_start GetBattlerSide
-GetBattlerSide: @ 80751C4
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080751D4 @ =gBattlerPositions
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- bx lr
- .align 2, 0
-_080751D4: .4byte gBattlerPositions
- thumb_func_end GetBattlerSide
-
- thumb_func_start GetBattlerPosition
-GetBattlerPosition: @ 80751D8
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080751E4 @ =gBattlerPositions
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_080751E4: .4byte gBattlerPositions
- thumb_func_end GetBattlerPosition
-
- thumb_func_start GetBattlerAtPosition
-GetBattlerAtPosition: @ 80751E8
- push {r4,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- movs r1, 0
- ldr r0, _0807521C @ =gBattlersCount
- ldrb r2, [r0]
- cmp r1, r2
- bcs _08075212
- ldr r4, _08075220 @ =gBattlerPositions
- ldrb r0, [r4]
- cmp r0, r3
- beq _08075212
-_08075200:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, r2
- bcs _08075212
- adds r0, r1, r4
- ldrb r0, [r0]
- cmp r0, r3
- bne _08075200
-_08075212:
- adds r0, r1, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0807521C: .4byte gBattlersCount
-_08075220: .4byte gBattlerPositions
- thumb_func_end GetBattlerAtPosition
-
- thumb_func_start IsBattlerSpritePresent
-IsBattlerSpritePresent: @ 8075224
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- ldr r0, _08075254 @ =gBattlerPositions
- adds r0, r4, r0
- ldrb r0, [r0]
- cmp r0, 0xFF
- beq _08075288
- adds r0, r4, 0
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _08075260
- ldr r1, _08075258 @ =gBattlerPartyIndexes
- lsls r0, r4, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _0807525C @ =gEnemyParty
- b _0807526E
- .align 2, 0
-_08075254: .4byte gBattlerPositions
-_08075258: .4byte gBattlerPartyIndexes
-_0807525C: .4byte gEnemyParty
-_08075260:
- ldr r1, _08075280 @ =gBattlerPartyIndexes
- lsls r0, r5, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _08075284 @ =gPlayerParty
-_0807526E:
- adds r0, r1
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- beq _08075288
- movs r0, 0x1
- b _0807528A
- .align 2, 0
-_08075280: .4byte gBattlerPartyIndexes
-_08075284: .4byte gPlayerParty
-_08075288:
- movs r0, 0
-_0807528A:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end IsBattlerSpritePresent
-
- thumb_func_start IsDoubleBattle
-IsDoubleBattle: @ 8075290
- ldr r0, _0807529C @ =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x1
- ands r0, r1
- bx lr
- .align 2, 0
-_0807529C: .4byte gBattleTypeFlags
- thumb_func_end IsDoubleBattle
-
- thumb_func_start sub_80752A0
-sub_80752A0: @ 80752A0
- ldr r1, _080752C0 @ =gUnknown_2022BB8
- ldr r1, [r1]
- str r1, [r0]
- ldr r1, _080752C4 @ =gUnknown_2022BBC
- ldr r1, [r1]
- str r1, [r0, 0x4]
- movs r2, 0
- movs r1, 0x8
- strb r1, [r0, 0x8]
- movs r1, 0x1
- strb r1, [r0, 0x9]
- movs r1, 0x80
- lsls r1, 2
- strh r1, [r0, 0xA]
- strh r2, [r0, 0xC]
- bx lr
- .align 2, 0
-_080752C0: .4byte gUnknown_2022BB8
-_080752C4: .4byte gUnknown_2022BBC
- thumb_func_end sub_80752A0
-
- thumb_func_start sub_80752C8
-sub_80752C8: @ 80752C8
- push {lr}
- adds r2, r0, 0
- cmp r1, 0x1
- bne _080752D6
- bl sub_80752A0
- b _080752F4
-_080752D6:
- ldr r0, _080752F8 @ =gUnknown_2022BB8
- ldr r0, [r0]
- str r0, [r2]
- ldr r0, _080752FC @ =gUnknown_2022BBC
- ldr r0, [r0]
- str r0, [r2, 0x4]
- movs r1, 0
- movs r0, 0x9
- strb r0, [r2, 0x8]
- movs r0, 0x2
- strb r0, [r2, 0x9]
- movs r0, 0xC0
- lsls r0, 2
- strh r0, [r2, 0xA]
- strh r1, [r2, 0xC]
-_080752F4:
- pop {r0}
- bx r0
- .align 2, 0
-_080752F8: .4byte gUnknown_2022BB8
-_080752FC: .4byte gUnknown_2022BBC
- thumb_func_end sub_80752C8
-
- thumb_func_start sub_8075300
-sub_8075300: @ 8075300
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _08075334 @ =gUnknown_2022BB8
- ldr r0, [r0]
- str r0, [r4]
- ldr r0, _08075338 @ =gUnknown_2022BBC
- ldr r0, [r0]
- str r0, [r4, 0x4]
- ldr r0, _0807533C @ =gBattleAnimAttacker
- ldrb r0, [r0]
- bl sub_80768B0
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x1
- bne _08075340
- movs r0, 0
- movs r1, 0x8
- strb r1, [r4, 0x8]
- strb r2, [r4, 0x9]
- movs r1, 0x80
- lsls r1, 2
- strh r1, [r4, 0xA]
- strh r0, [r4, 0xC]
- b _08075352
- .align 2, 0
-_08075334: .4byte gUnknown_2022BB8
-_08075338: .4byte gUnknown_2022BBC
-_0807533C: .4byte gBattleAnimAttacker
-_08075340:
- movs r1, 0
- movs r0, 0x9
- strb r0, [r4, 0x8]
- movs r0, 0x2
- strb r0, [r4, 0x9]
- movs r0, 0xC0
- lsls r0, 2
- strh r0, [r4, 0xA]
- strh r1, [r4, 0xC]
-_08075352:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8075300
-
- thumb_func_start sub_8075358
-sub_8075358: @ 8075358
- push {r4,lr}
- sub sp, 0x20
- adds r4, r0, 0
- add r0, sp, 0xC
- adds r1, r4, 0
- bl sub_80752C8
- movs r0, 0
- str r0, [sp, 0x1C]
- add r0, sp, 0x1C
- ldr r1, [sp, 0xC]
- ldr r2, _080753B0 @ =0x05000800
- bl CpuSet
- lsls r4, 24
- lsrs r4, 24
- ldr r1, [sp, 0xC]
- movs r2, 0x80
- lsls r2, 6
- add r0, sp, 0xC
- ldrh r3, [r0, 0xA]
- adds r0, r4, 0
- bl LoadBgTiles
- movs r0, 0x20
- str r0, [sp]
- movs r0, 0x40
- str r0, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect
- adds r0, r4, 0
- bl CopyBgTilemapBufferToVram
- add sp, 0x20
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080753B0: .4byte 0x05000800
- thumb_func_end sub_8075358
-
- thumb_func_start sub_80753B4
-sub_80753B4: @ 80753B4
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x4
- adds r5, r0, 0
- mov r8, r1
- adds r6, r2, 0
- movs r0, 0
- str r0, [sp]
- ldr r4, _080753FC @ =gUnknown_2022BB8
- ldr r1, [r4]
- ldr r2, _08075400 @ =0x05000800
- mov r0, sp
- bl CpuSet
- ldr r1, [r4]
- mov r0, r8
- bl LZDecompressWram
- lsls r5, 24
- lsrs r5, 24
- ldr r1, [r4]
- movs r2, 0x80
- lsls r2, 6
- lsls r6, 16
- lsrs r6, 16
- adds r0, r5, 0
- adds r3, r6, 0
- bl LoadBgTiles
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080753FC: .4byte gUnknown_2022BB8
-_08075400: .4byte 0x05000800
- thumb_func_end sub_80753B4
-
- thumb_func_start sub_8075404
-sub_8075404: @ 8075404
- push {r4,r5,lr}
- sub sp, 0xC
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x20
- str r0, [sp]
- movs r0, 0x40
- str r0, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8075404
-
- thumb_func_start sub_807543C
-sub_807543C: @ 807543C
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8075404
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl CopyBgTilemapBufferToVram
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_807543C
-
- thumb_func_start sub_8075454
-sub_8075454: @ 8075454
- movs r0, 0x2
- bx lr
- thumb_func_end sub_8075454
-
- thumb_func_start sub_8075458
-sub_8075458: @ 8075458
- push {lr}
- lsls r0, 24
- cmp r0, 0
- bne _08075476
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl SetAnimBgAttribute
- movs r0, 0x3
- movs r1, 0x1
- movs r2, 0x1
- bl SetAnimBgAttribute
- b _0807548A
-_08075476:
- movs r0, 0x3
- movs r1, 0
- movs r2, 0x1
- bl SetAnimBgAttribute
- movs r0, 0x3
- movs r1, 0x1
- movs r2, 0
- bl SetAnimBgAttribute
-_0807548A:
- pop {r0}
- bx r0
- thumb_func_end sub_8075458
-
- thumb_func_start sub_8075490
-sub_8075490: @ 8075490
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x20]
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x22]
- strh r0, [r4, 0x34]
- adds r0, r4, 0
- bl InitSpriteDataForLinearTranslation
- ldr r1, _080754B4 @ =sub_8074D3C
- str r1, [r4, 0x1C]
- adds r0, r4, 0
- bl _call_via_r1
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080754B4: .4byte sub_8074D3C
- thumb_func_end sub_8075490
-
- thumb_func_start InitSpriteDataForLinearTranslation
-InitSpriteDataForLinearTranslation: @ 80754B8
- push {r4-r6,lr}
- adds r5, r0, 0
- ldrh r0, [r5, 0x32]
- ldrh r1, [r5, 0x30]
- subs r0, r1
- ldrh r4, [r5, 0x36]
- ldrh r1, [r5, 0x34]
- subs r4, r1
- lsls r4, 24
- lsrs r4, 16
- lsls r0, 24
- asrs r0, 16
- movs r2, 0x2E
- ldrsh r1, [r5, r2]
- bl __divsi3
- movs r6, 0
- strh r0, [r5, 0x30]
- lsls r4, 16
- asrs r4, 16
- movs r0, 0x2E
- ldrsh r1, [r5, r0]
- adds r0, r4, 0
- bl __divsi3
- strh r0, [r5, 0x32]
- strh r6, [r5, 0x36]
- strh r6, [r5, 0x34]
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end InitSpriteDataForLinearTranslation
-
- thumb_func_start obj_translate_based_on_private_1_2_3_4
-obj_translate_based_on_private_1_2_3_4: @ 80754F8
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r7, r0, 0
- movs r0, 0x32
- ldrsh r1, [r7, r0]
- movs r2, 0x30
- ldrsh r0, [r7, r2]
- subs r1, r0
- movs r3, 0x36
- ldrsh r2, [r7, r3]
- movs r3, 0x34
- ldrsh r0, [r7, r3]
- subs r2, r0
- lsrs r0, r1, 31
- mov r8, r0
- lsrs r3, r2, 31
- mov r9, r3
- cmp r1, 0
- bge _08075524
- negs r1, r1
-_08075524:
- lsls r0, r1, 24
- lsrs r6, r0, 16
- adds r0, r2, 0
- cmp r0, 0
- bge _08075530
- negs r0, r0
-_08075530:
- lsls r0, 24
- lsrs r5, r0, 16
- movs r0, 0x2E
- ldrsh r4, [r7, r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl __divsi3
- lsls r0, 16
- lsrs r6, r0, 16
- adds r0, r5, 0
- adds r1, r4, 0
- bl __divsi3
- lsls r0, 16
- lsrs r5, r0, 16
- mov r2, r8
- cmp r2, 0
- beq _0807555C
- movs r0, 0x1
- orrs r6, r0
- b _08075560
-_0807555C:
- ldr r0, _0807556C @ =0x0000fffe
- ands r6, r0
-_08075560:
- mov r3, r9
- cmp r3, 0
- beq _08075570
- movs r0, 0x1
- orrs r5, r0
- b _08075574
- .align 2, 0
-_0807556C: .4byte 0x0000fffe
-_08075570:
- ldr r0, _0807558C @ =0x0000fffe
- ands r5, r0
-_08075574:
- movs r0, 0
- strh r6, [r7, 0x30]
- strh r5, [r7, 0x32]
- strh r0, [r7, 0x36]
- strh r0, [r7, 0x34]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0807558C: .4byte 0x0000fffe
- thumb_func_end obj_translate_based_on_private_1_2_3_4
-
- thumb_func_start StartAnimLinearTranslation
-StartAnimLinearTranslation: @ 8075590
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x20]
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x22]
- strh r0, [r4, 0x34]
- adds r0, r4, 0
- bl obj_translate_based_on_private_1_2_3_4
- ldr r1, _080755B4 @ =sub_807563C
- str r1, [r4, 0x1C]
- adds r0, r4, 0
- bl _call_via_r1
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080755B4: .4byte sub_807563C
- thumb_func_end StartAnimLinearTranslation
-
- thumb_func_start sub_80755B8
-sub_80755B8: @ 80755B8
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x20]
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x22]
- strh r0, [r4, 0x34]
- adds r0, r4, 0
- bl obj_translate_based_on_private_1_2_3_4
- ldr r1, _080755DC @ =sub_8075658
- str r1, [r4, 0x1C]
- adds r0, r4, 0
- bl _call_via_r1
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080755DC: .4byte sub_8075658
- thumb_func_end sub_80755B8
-
- thumb_func_start sub_80755E0
-sub_80755E0: @ 80755E0
- push {r4-r6,lr}
- adds r2, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r2, r1]
- cmp r0, 0
- bne _080755F0
- movs r0, 0x1
- b _08075634
-_080755F0:
- ldrh r1, [r2, 0x30]
- ldrh r4, [r2, 0x32]
- ldrh r6, [r2, 0x34]
- ldrh r5, [r2, 0x36]
- adds r0, r6, r1
- lsls r3, r0, 16
- lsrs r6, r3, 16
- adds r0, r5, r4
- lsls r0, 16
- lsrs r5, r0, 16
- movs r0, 0x1
- ands r1, r0
- cmp r1, 0
- beq _08075612
- lsrs r0, r3, 24
- negs r0, r0
- b _08075614
-_08075612:
- lsrs r0, r3, 24
-_08075614:
- strh r0, [r2, 0x24]
- movs r0, 0x1
- ands r4, r0
- cmp r4, 0
- beq _08075624
- lsrs r0, r5, 8
- negs r0, r0
- b _08075626
-_08075624:
- lsrs r0, r5, 8
-_08075626:
- strh r0, [r2, 0x26]
- strh r6, [r2, 0x34]
- strh r5, [r2, 0x36]
- ldrh r0, [r2, 0x2E]
- subs r0, 0x1
- strh r0, [r2, 0x2E]
- movs r0, 0
-_08075634:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80755E0
-
- thumb_func_start sub_807563C
-sub_807563C: @ 807563C
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80755E0
- lsls r0, 24
- cmp r0, 0
- beq _08075650
- adds r0, r4, 0
- bl SetCallbackToStoredInData
-_08075650:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_807563C
-
- thumb_func_start sub_8075658
-sub_8075658: @ 8075658
- push {r4,lr}
- adds r4, r0, 0
- bl sub_801236C
- adds r0, r4, 0
- bl sub_80755E0
- lsls r0, 24
- cmp r0, 0
- beq _08075672
- adds r0, r4, 0
- bl SetCallbackToStoredInData
-_08075672:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8075658
-
- thumb_func_start sub_8075678
-sub_8075678: @ 8075678
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x32
- ldrsh r1, [r4, r0]
- movs r2, 0x30
- ldrsh r0, [r4, r2]
- subs r0, r1, r0
- cmp r0, 0
- bge _0807568C
- negs r0, r0
-_0807568C:
- lsls r0, 8
- movs r2, 0x2E
- ldrsh r1, [r4, r2]
- bl __divsi3
- strh r0, [r4, 0x2E]
- adds r0, r4, 0
- bl obj_translate_based_on_private_1_2_3_4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8075678
-
- thumb_func_start sub_80756A4
-sub_80756A4: @ 80756A4
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x20]
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x22]
- strh r0, [r4, 0x34]
- adds r0, r4, 0
- bl sub_8075678
- ldr r1, _080756C8 @ =sub_807563C
- str r1, [r4, 0x1C]
- adds r0, r4, 0
- bl _call_via_r1
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080756C8: .4byte sub_807563C
- thumb_func_end sub_80756A4
-
- thumb_func_start sub_80756CC
-sub_80756CC: @ 80756CC
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r7, r0, 0
- movs r0, 0x32
- ldrsh r1, [r7, r0]
- movs r2, 0x30
- ldrsh r0, [r7, r2]
- subs r1, r0
- movs r3, 0x36
- ldrsh r2, [r7, r3]
- movs r3, 0x34
- ldrsh r0, [r7, r3]
- subs r2, r0
- lsrs r0, r1, 31
- mov r8, r0
- lsrs r3, r2, 31
- mov r9, r3
- cmp r1, 0
- bge _080756F8
- negs r1, r1
-_080756F8:
- lsls r0, r1, 20
- lsrs r6, r0, 16
- adds r0, r2, 0
- cmp r0, 0
- bge _08075704
- negs r0, r0
-_08075704:
- lsls r0, 20
- lsrs r5, r0, 16
- movs r0, 0x2E
- ldrsh r4, [r7, r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl __divsi3
- lsls r0, 16
- lsrs r6, r0, 16
- adds r0, r5, 0
- adds r1, r4, 0
- bl __divsi3
- lsls r0, 16
- lsrs r5, r0, 16
- mov r2, r8
- cmp r2, 0
- beq _08075730
- movs r0, 0x1
- orrs r6, r0
- b _08075734
-_08075730:
- ldr r0, _08075740 @ =0x0000fffe
- ands r6, r0
-_08075734:
- mov r3, r9
- cmp r3, 0
- beq _08075744
- movs r0, 0x1
- orrs r5, r0
- b _08075748
- .align 2, 0
-_08075740: .4byte 0x0000fffe
-_08075744:
- ldr r0, _08075760 @ =0x0000fffe
- ands r5, r0
-_08075748:
- movs r0, 0
- strh r6, [r7, 0x30]
- strh r5, [r7, 0x32]
- strh r0, [r7, 0x36]
- strh r0, [r7, 0x34]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08075760: .4byte 0x0000fffe
- thumb_func_end sub_80756CC
-
- thumb_func_start sub_8075764
-sub_8075764: @ 8075764
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x20]
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x22]
- strh r0, [r4, 0x34]
- adds r0, r4, 0
- bl sub_80756CC
- ldr r1, _08075788 @ =sub_80757E8
- str r1, [r4, 0x1C]
- adds r0, r4, 0
- bl _call_via_r1
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08075788: .4byte sub_80757E8
- thumb_func_end sub_8075764
-
- thumb_func_start sub_807578C
-sub_807578C: @ 807578C
- push {r4-r6,lr}
- adds r2, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r2, r1]
- cmp r0, 0
- bne _0807579C
- movs r0, 0x1
- b _080757E0
-_0807579C:
- ldrh r1, [r2, 0x30]
- ldrh r4, [r2, 0x32]
- ldrh r6, [r2, 0x34]
- ldrh r5, [r2, 0x36]
- adds r0, r6, r1
- lsls r3, r0, 16
- lsrs r6, r3, 16
- adds r0, r5, r4
- lsls r0, 16
- lsrs r5, r0, 16
- movs r0, 0x1
- ands r1, r0
- cmp r1, 0
- beq _080757BE
- lsrs r0, r3, 20
- negs r0, r0
- b _080757C0
-_080757BE:
- lsrs r0, r3, 20
-_080757C0:
- strh r0, [r2, 0x24]
- movs r0, 0x1
- ands r4, r0
- cmp r4, 0
- beq _080757D0
- lsrs r0, r5, 4
- negs r0, r0
- b _080757D2
-_080757D0:
- lsrs r0, r5, 4
-_080757D2:
- strh r0, [r2, 0x26]
- strh r6, [r2, 0x34]
- strh r5, [r2, 0x36]
- ldrh r0, [r2, 0x2E]
- subs r0, 0x1
- strh r0, [r2, 0x2E]
- movs r0, 0
-_080757E0:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_807578C
-
- thumb_func_start sub_80757E8
-sub_80757E8: @ 80757E8
- push {r4,lr}
- adds r4, r0, 0
- bl sub_807578C
- lsls r0, 24
- cmp r0, 0
- beq _080757FC
- adds r0, r4, 0
- bl SetCallbackToStoredInData
-_080757FC:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80757E8
-
- thumb_func_start sub_8075804
-sub_8075804: @ 8075804
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x32
- ldrsh r1, [r4, r0]
- movs r2, 0x30
- ldrsh r0, [r4, r2]
- subs r0, r1, r0
- cmp r0, 0
- bge _08075818
- negs r0, r0
-_08075818:
- lsls r0, 4
- movs r2, 0x2E
- ldrsh r1, [r4, r2]
- bl __divsi3
- strh r0, [r4, 0x2E]
- adds r0, r4, 0
- bl sub_80756CC
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8075804
-
- thumb_func_start sub_8075830
-sub_8075830: @ 8075830
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x20]
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x22]
- strh r0, [r4, 0x34]
- adds r0, r4, 0
- bl sub_8075804
- ldr r1, _08075854 @ =sub_80757E8
- str r1, [r4, 0x1C]
- adds r0, r4, 0
- bl _call_via_r1
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08075854: .4byte sub_80757E8
- thumb_func_end sub_8075830
-
- thumb_func_start SetSpriteRotScale
-SetSpriteRotScale: @ 8075858
- push {r4,r5,lr}
- sub sp, 0x10
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 16
- lsls r3, 16
- lsrs r3, 16
- ldr r5, _080758D0 @ =0xffff0000
- lsls r2, 16
- lsrs r1, 16
- orrs r1, r2
- str r1, [sp]
- ldr r0, [sp, 0x4]
- ands r0, r5
- orrs r0, r3
- str r0, [sp, 0x4]
- bl sub_80758DC
- lsls r0, 24
- cmp r0, 0
- beq _08075894
- mov r0, sp
- ldrh r0, [r0]
- negs r0, r0
- lsls r0, 16
- lsrs r0, 16
- ldr r1, [sp]
- ands r1, r5
- orrs r1, r0
- str r1, [sp]
-_08075894:
- ldr r1, _080758D4 @ =gSprites
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r0, r1
- ldrb r4, [r0, 0x3]
- lsls r4, 26
- lsrs r4, 27
- add r5, sp, 0x8
- mov r0, sp
- adds r1, r5, 0
- movs r2, 0x1
- movs r3, 0x2
- bl ObjAffineSet
- ldr r0, _080758D8 @ =gOamMatrices
- lsls r4, 3
- adds r4, r0
- ldrh r0, [r5]
- strh r0, [r4]
- ldrh r0, [r5, 0x2]
- strh r0, [r4, 0x2]
- ldrh r0, [r5, 0x4]
- strh r0, [r4, 0x4]
- ldrh r0, [r5, 0x6]
- strh r0, [r4, 0x6]
- add sp, 0x10
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080758D0: .4byte 0xffff0000
-_080758D4: .4byte gSprites
-_080758D8: .4byte gOamMatrices
- thumb_func_end SetSpriteRotScale
-
- thumb_func_start sub_80758DC
-sub_80758DC: @ 80758DC
- movs r0, 0
- bx lr
- thumb_func_end sub_80758DC
-
- thumb_func_start PrepareBattlerSpriteForRotScale
-PrepareBattlerSpriteForRotScale: @ 80758E0
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- ldr r2, _08075978 @ =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r4, r1, r2
- ldrh r0, [r4, 0x2E]
- lsls r0, 24
- lsrs r0, 24
- adds r6, r0, 0
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _08075914
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
-_08075914:
- movs r7, 0x3
- ands r5, r7
- lsls r2, r5, 2
- ldrb r1, [r4, 0x1]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- orrs r0, r2
- strb r0, [r4, 0x1]
- adds r2, r4, 0
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2]
- ldrb r0, [r4, 0x1]
- lsls r0, 30
- cmp r0, 0
- bne _0807595C
- ldr r0, _0807597C @ =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r1, [r0, 0x4]
- lsls r0, r6, 1
- adds r0, r6
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x6]
- movs r0, 0x1F
- ands r1, r0
- lsls r1, 1
- ldrb r2, [r4, 0x3]
- movs r0, 0x3F
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r4, 0x3]
-_0807595C:
- ldrb r3, [r4, 0x1]
- orrs r3, r7
- strb r3, [r4, 0x1]
- lsrs r1, r3, 6
- ldrb r2, [r4, 0x3]
- lsrs r2, 6
- lsls r3, 30
- lsrs r3, 30
- adds r0, r4, 0
- bl CalcCenterToCornerVec
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08075978: .4byte gSprites
-_0807597C: .4byte gBattleSpritesDataPtr
- thumb_func_end PrepareBattlerSpriteForRotScale
-
- thumb_func_start ResetSpriteRotScale
-ResetSpriteRotScale: @ 8075980
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r2, 0x80
- lsls r2, 1
- adds r0, r4, 0
- adds r1, r2, 0
- movs r3, 0
- bl SetSpriteRotScale
- ldr r1, _080759D8 @ =gSprites
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r0, r1
- ldrb r2, [r0, 0x1]
- movs r1, 0x4
- negs r1, r1
- ands r1, r2
- movs r2, 0x1
- orrs r1, r2
- movs r2, 0xD
- negs r2, r2
- ands r1, r2
- strb r1, [r0, 0x1]
- adds r3, r0, 0
- adds r3, 0x2C
- ldrb r2, [r3]
- movs r1, 0x7F
- ands r1, r2
- strb r1, [r3]
- ldrb r3, [r0, 0x1]
- lsrs r1, r3, 6
- ldrb r2, [r0, 0x3]
- lsrs r2, 6
- lsls r3, 30
- lsrs r3, 30
- bl CalcCenterToCornerVec
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080759D8: .4byte gSprites
- thumb_func_end ResetSpriteRotScale
-
- thumb_func_start sub_80759DC
-sub_80759DC: @ 80759DC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08075A14 @ =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r2, r1, r2
- ldrb r0, [r2, 0x3]
- lsls r0, 26
- lsrs r0, 27
- ldr r1, _08075A18 @ =gOamMatrices
- lsls r0, 3
- adds r0, r1
- ldrh r1, [r0, 0x4]
- movs r3, 0x4
- ldrsh r0, [r0, r3]
- cmp r0, 0
- bge _08075A08
- negs r0, r0
- lsls r0, 16
- lsrs r1, r0, 16
-_08075A08:
- lsls r0, r1, 16
- asrs r0, 19
- strh r0, [r2, 0x26]
- pop {r0}
- bx r0
- .align 2, 0
-_08075A14: .4byte gSprites
-_08075A18: .4byte gOamMatrices
- thumb_func_end sub_80759DC
-
- thumb_func_start sub_8075A1C
-sub_8075A1C: @ 8075A1C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x10
- adds r4, r0, 0
- ldr r0, [sp, 0x28]
- lsls r1, 24
- lsrs r6, r1, 24
- lsls r2, 16
- lsrs r5, r2, 16
- lsls r3, 16
- lsrs r7, r3, 16
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- ldrb r0, [r4, 0x1]
- lsls r0, 30
- lsrs r0, 30
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08075AC2
- adds r0, r4, 0
- adds r0, 0x2C
- ldrb r1, [r0]
- movs r2, 0x80
- orrs r1, r2
- strb r1, [r0]
- cmp r6, 0
- beq _08075A6A
- ldrb r3, [r4, 0x1]
- lsrs r1, r3, 6
- ldrb r2, [r4, 0x3]
- lsrs r2, 6
- lsls r3, 30
- lsrs r3, 30
- adds r0, r4, 0
- bl CalcCenterToCornerVec
-_08075A6A:
- ldr r6, _08075AD0 @ =0xffff0000
- lsls r0, r7, 16
- orrs r5, r0
- str r5, [sp]
- ldr r0, [sp, 0x4]
- ands r0, r6
- mov r1, r8
- orrs r0, r1
- str r0, [sp, 0x4]
- bl sub_80758DC
- lsls r0, 24
- cmp r0, 0
- beq _08075A98
- mov r0, sp
- ldrh r0, [r0]
- negs r0, r0
- lsls r0, 16
- lsrs r0, 16
- ldr r1, [sp]
- ands r1, r6
- orrs r1, r0
- str r1, [sp]
-_08075A98:
- ldrb r4, [r4, 0x3]
- lsls r4, 26
- lsrs r4, 27
- add r5, sp, 0x8
- mov r0, sp
- adds r1, r5, 0
- movs r2, 0x1
- movs r3, 0x2
- bl ObjAffineSet
- ldr r0, _08075AD4 @ =gOamMatrices
- lsls r4, 3
- adds r4, r0
- ldrh r0, [r5]
- strh r0, [r4]
- ldrh r0, [r5, 0x2]
- strh r0, [r4, 0x2]
- ldrh r0, [r5, 0x4]
- strh r0, [r4, 0x4]
- ldrh r0, [r5, 0x6]
- strh r0, [r4, 0x6]
-_08075AC2:
- add sp, 0x10
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08075AD0: .4byte 0xffff0000
-_08075AD4: .4byte gOamMatrices
- thumb_func_end sub_8075A1C
-
- thumb_func_start sub_8075AD8
-sub_8075AD8: @ 8075AD8
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- movs r3, 0x80
- lsls r3, 1
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- movs r1, 0x1
- adds r2, r3, 0
- bl sub_8075A1C
- adds r2, r4, 0
- adds r2, 0x2C
- ldrb r1, [r2]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2]
- ldrb r3, [r4, 0x1]
- lsrs r1, r3, 6
- ldrb r2, [r4, 0x3]
- lsrs r2, 6
- lsls r3, 30
- lsrs r3, 30
- adds r0, r4, 0
- bl CalcCenterToCornerVec
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8075AD8
-
- thumb_func_start ArcTan2_
-ArcTan2_: @ 8075B18
- push {lr}
- lsls r0, 16
- asrs r0, 16
- lsls r1, 16
- asrs r1, 16
- bl ArcTan2
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- thumb_func_end ArcTan2_
-
- thumb_func_start sub_8075B30
-sub_8075B30: @ 8075B30
- push {lr}
- lsls r0, 16
- asrs r0, 16
- lsls r1, 16
- asrs r1, 16
- bl ArcTan2_
- lsls r0, 16
- negs r0, r0
- lsrs r0, 16
- pop {r1}
- bx r1
- thumb_func_end sub_8075B30
-
- thumb_func_start sub_8075B48
-sub_8075B48: @ 8075B48
- push {r4-r7,lr}
- lsls r1, 24
- lsls r0, 20
- lsrs r0, 16
- cmp r1, 0
- bne _08075BC4
- ldr r2, _08075BB8 @ =gPlttBufferUnfaded
- ldr r1, _08075BBC @ =gPlttBufferFaded
- lsls r0, 1
- adds r4, r0, r1
- adds r5, r0, r2
- movs r6, 0xF
-_08075B60:
- ldr r0, [r5]
- lsls r2, r0, 27
- lsrs r2, 27
- lsls r1, r0, 22
- lsrs r1, 27
- adds r2, r1
- lsls r0, 17
- lsrs r0, 27
- adds r0, r2
- movs r1, 0x3
- bl __udivsi3
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1F
- ands r0, r1
- ldrb r1, [r4]
- movs r3, 0x20
- negs r3, r3
- adds r2, r3, 0
- ands r1, r2
- orrs r1, r0
- strb r1, [r4]
- lsls r3, r0, 5
- ldrh r1, [r4]
- ldr r7, _08075BC0 @ =0xfffffc1f
- adds r2, r7, 0
- ands r1, r2
- orrs r1, r3
- strh r1, [r4]
- lsls r0, 2
- ldrb r1, [r4, 0x1]
- movs r3, 0x7D
- negs r3, r3
- adds r2, r3, 0
- ands r1, r2
- orrs r1, r0
- strb r1, [r4, 0x1]
- adds r4, 0x2
- adds r5, 0x2
- subs r6, 0x1
- cmp r6, 0
- bge _08075B60
- b _08075BD4
- .align 2, 0
-_08075BB8: .4byte gPlttBufferUnfaded
-_08075BBC: .4byte gPlttBufferFaded
-_08075BC0: .4byte 0xfffffc1f
-_08075BC4:
- lsls r1, r0, 1
- ldr r0, _08075BDC @ =gPlttBufferUnfaded
- adds r0, r1, r0
- ldr r2, _08075BE0 @ =gPlttBufferFaded
- adds r1, r2
- ldr r2, _08075BE4 @ =0x04000008
- bl CpuSet
-_08075BD4:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08075BDC: .4byte gPlttBufferUnfaded
-_08075BE0: .4byte gPlttBufferFaded
-_08075BE4: .4byte 0x04000008
- thumb_func_end sub_8075B48
-
- thumb_func_start sub_8075BE8
-sub_8075BE8: @ 8075BE8
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r4, [sp, 0x1C]
- ldr r5, [sp, 0x20]
- ldr r6, [sp, 0x24]
- lsls r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r3, 24
- lsls r4, 24
- lsrs r7, r4, 24
- lsls r5, 24
- lsrs r5, 24
- mov r8, r5
- lsls r6, 24
- lsrs r6, 24
- mov r9, r6
- movs r4, 0
- cmp r0, 0
- beq _08075C1C
- movs r4, 0xE
-_08075C1C:
- cmp r1, 0
- beq _08075C2E
- ldr r0, _08075CB0 @ =gBattleAnimAttacker
- ldrb r0, [r0]
- adds r1, r0, 0
- adds r1, 0x10
- movs r0, 0x1
- lsls r0, r1
- orrs r4, r0
-_08075C2E:
- cmp r2, 0
- beq _08075C40
- ldr r0, _08075CB4 @ =gBattleAnimTarget
- ldrb r0, [r0]
- adds r1, r0, 0
- adds r1, 0x10
- movs r0, 0x1
- lsls r0, r1
- orrs r4, r0
-_08075C40:
- cmp r3, 0
- beq _08075C64
- ldr r6, _08075CB0 @ =gBattleAnimAttacker
- ldrb r0, [r6]
- movs r5, 0x2
- eors r0, r5
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _08075C64
- ldrb r0, [r6]
- eors r0, r5
- adds r1, r0, 0
- adds r1, 0x10
- movs r0, 0x1
- lsls r0, r1
- orrs r4, r0
-_08075C64:
- cmp r7, 0
- beq _08075C88
- ldr r6, _08075CB4 @ =gBattleAnimTarget
- ldrb r0, [r6]
- movs r5, 0x2
- eors r0, r5
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _08075C88
- ldrb r0, [r6]
- eors r0, r5
- adds r1, r0, 0
- adds r1, 0x10
- movs r0, 0x1
- lsls r0, r1
- orrs r4, r0
-_08075C88:
- mov r0, r8
- cmp r0, 0
- beq _08075C94
- movs r0, 0x80
- lsls r0, 1
- orrs r4, r0
-_08075C94:
- mov r0, r9
- cmp r0, 0
- beq _08075CA0
- movs r0, 0x80
- lsls r0, 2
- orrs r4, r0
-_08075CA0:
- adds r0, r4, 0
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08075CB0: .4byte gBattleAnimAttacker
-_08075CB4: .4byte gBattleAnimTarget
- thumb_func_end sub_8075BE8
-
- thumb_func_start sub_8075CB8
-sub_8075CB8: @ 8075CB8
- push {r4-r7,lr}
- lsls r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- lsls r2, 24
- lsrs r6, r2, 24
- lsls r3, 24
- lsrs r7, r3, 24
- movs r4, 0
- cmp r0, 0
- beq _08075CF2
- movs r0, 0
- bl GetBattlerAtPosition
- lsls r0, 24
- lsrs r0, 24
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _08075CF2
- movs r0, 0
- bl GetBattlerAtPosition
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x10
- movs r4, 0x1
- lsls r4, r0
-_08075CF2:
- cmp r5, 0
- beq _08075D1E
- movs r0, 0x2
- bl GetBattlerAtPosition
- lsls r0, 24
- lsrs r0, 24
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _08075D1E
- movs r0, 0x2
- bl GetBattlerAtPosition
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- adds r1, 0x10
- movs r0, 0x1
- lsls r0, r1
- orrs r4, r0
-_08075D1E:
- cmp r6, 0
- beq _08075D4A
- movs r0, 0x1
- bl GetBattlerAtPosition
- lsls r0, 24
- lsrs r0, 24
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _08075D4A
- movs r0, 0x1
- bl GetBattlerAtPosition
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- adds r1, 0x10
- movs r0, 0x1
- lsls r0, r1
- orrs r4, r0
-_08075D4A:
- cmp r7, 0
- beq _08075D76
- movs r0, 0x3
- bl GetBattlerAtPosition
- lsls r0, 24
- lsrs r0, 24
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _08075D76
- movs r0, 0x3
- bl GetBattlerAtPosition
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- adds r1, 0x10
- movs r0, 0x1
- lsls r0, r1
- orrs r4, r0
-_08075D76:
- adds r0, r4, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8075CB8
-
- thumb_func_start sub_8075D80
-sub_8075D80: @ 8075D80
- lsls r0, 24
- lsrs r0, 24
- bx lr
- thumb_func_end sub_8075D80
-
- thumb_func_start sub_8075D88
-sub_8075D88: @ 8075D88
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl GetBattlerAtPosition
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_8075D88
-
- thumb_func_start sub_8075D9C
-sub_8075D9C: @ 8075D9C
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08075DDA
- ldr r2, _08075DC8 @ =gBattleAnimArgs
- movs r3, 0x6
- ldrsh r0, [r2, r3]
- movs r1, 0
- cmp r0, 0
- bne _08075DB6
- movs r1, 0x1
-_08075DB6:
- movs r3, 0x4
- ldrsh r0, [r2, r3]
- cmp r0, 0
- bne _08075DCC
- adds r0, r4, 0
- bl sub_8075160
- b _08075DD2
- .align 2, 0
-_08075DC8: .4byte gBattleAnimArgs
-_08075DCC:
- adds r0, r4, 0
- bl sub_8075114
-_08075DD2:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- b _08075DEE
-_08075DDA:
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x30
- ands r0, r1
- cmp r0, 0
- beq _08075DEE
- adds r0, r4, 0
- bl move_anim_8074EE0
-_08075DEE:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8075D9C
-
- thumb_func_start sub_8075DF4
-sub_8075DF4: @ 8075DF4
- push {r4-r7,lr}
- adds r5, r0, 0
- ldr r6, _08075E6C @ =gBattleAnimArgs
- movs r1, 0xA
- ldrsh r0, [r6, r1]
- movs r1, 0xFF
- lsls r1, 8
- ands r0, r1
- movs r1, 0
- cmp r0, 0
- bne _08075E0C
- movs r1, 0x1
-_08075E0C:
- ldrb r0, [r6, 0xA]
- movs r7, 0x1
- cmp r0, 0
- bne _08075E16
- movs r7, 0x3
-_08075E16:
- adds r0, r5, 0
- bl sub_8075160
- ldr r0, _08075E70 @ =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _08075E30
- ldrh r0, [r6, 0x4]
- negs r0, r0
- strh r0, [r6, 0x4]
-_08075E30:
- ldrh r0, [r6, 0x8]
- strh r0, [r5, 0x2E]
- ldr r4, _08075E74 @ =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r6, 0x4]
- adds r0, r1
- strh r0, [r5, 0x32]
- ldrb r0, [r4]
- adds r1, r7, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r6, [r6, 0x6]
- adds r0, r6
- strh r0, [r5, 0x36]
- ldr r0, _08075E78 @ =StartAnimLinearTranslation
- str r0, [r5, 0x1C]
- ldr r1, _08075E7C @ =DestroyAnimSprite
- adds r0, r5, 0
- bl StoreSpriteCallbackInData6
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08075E6C: .4byte gBattleAnimArgs
-_08075E70: .4byte gBattleAnimAttacker
-_08075E74: .4byte gBattleAnimTarget
-_08075E78: .4byte StartAnimLinearTranslation
-_08075E7C: .4byte DestroyAnimSprite
- thumb_func_end sub_8075DF4
-
- thumb_func_start sub_8075E80
-sub_8075E80: @ 8075E80
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r1, 0x1
- bl sub_8075160
- ldr r0, _08075EE0 @ =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _08075EA0
- ldr r1, _08075EE4 @ =gBattleAnimArgs
- ldrh r0, [r1, 0x4]
- negs r0, r0
- strh r0, [r1, 0x4]
-_08075EA0:
- ldr r4, _08075EE4 @ =gBattleAnimArgs
- ldrh r0, [r4, 0x8]
- strh r0, [r6, 0x2E]
- ldr r5, _08075EE8 @ =gBattleAnimTarget
- ldrb r0, [r5]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x4]
- adds r0, r1
- strh r0, [r6, 0x32]
- ldrb r0, [r5]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x6]
- adds r0, r1
- strh r0, [r6, 0x36]
- ldrh r0, [r4, 0xA]
- strh r0, [r6, 0x38]
- adds r0, r6, 0
- bl sub_8075068
- ldr r0, _08075EEC @ =sub_8075EF0
- str r0, [r6, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08075EE0: .4byte gBattleAnimAttacker
-_08075EE4: .4byte gBattleAnimArgs
-_08075EE8: .4byte gBattleAnimTarget
-_08075EEC: .4byte sub_8075EF0
- thumb_func_end sub_8075E80
-
- thumb_func_start sub_8075EF0
-sub_8075EF0: @ 8075EF0
- push {r4,lr}
- adds r4, r0, 0
- bl AnimateBallThrow
- lsls r0, 24
- cmp r0, 0
- beq _08075F04
- adds r0, r4, 0
- bl DestroyAnimSprite
-_08075F04:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8075EF0
-
- thumb_func_start sub_8075F0C
-sub_8075F0C: @ 8075F0C
- push {r4-r7,lr}
- adds r5, r0, 0
- ldr r0, _08075F20 @ =gBattleAnimArgs
- movs r2, 0xC
- ldrsh r1, [r0, r2]
- cmp r1, 0
- bne _08075F24
- movs r4, 0x1
- movs r7, 0x3
- b _08075F28
- .align 2, 0
-_08075F20: .4byte gBattleAnimArgs
-_08075F24:
- movs r4, 0
- movs r7, 0x1
-_08075F28:
- movs r1, 0xA
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _08075F40
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8075160
- ldr r0, _08075F3C @ =gBattleAnimAttacker
- b _08075F4A
- .align 2, 0
-_08075F3C: .4byte gBattleAnimAttacker
-_08075F40:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8075114
- ldr r0, _08075FA8 @ =gBattleAnimTarget
-_08075F4A:
- ldrb r6, [r0]
- ldr r0, _08075FAC @ =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _08075F62
- ldr r1, _08075FB0 @ =gBattleAnimArgs
- ldrh r0, [r1, 0x4]
- negs r0, r0
- strh r0, [r1, 0x4]
-_08075F62:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8075114
- ldr r4, _08075FB0 @ =gBattleAnimArgs
- ldrh r0, [r4, 0x8]
- strh r0, [r5, 0x2E]
- adds r0, r6, 0
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r2, [r4, 0x4]
- adds r0, r2
- strh r0, [r5, 0x32]
- adds r0, r6, 0
- adds r1, r7, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r4, [r4, 0x6]
- adds r0, r4
- strh r0, [r5, 0x36]
- ldr r0, _08075FB4 @ =StartAnimLinearTranslation
- str r0, [r5, 0x1C]
- ldr r1, _08075FB8 @ =DestroyAnimSprite
- adds r0, r5, 0
- bl StoreSpriteCallbackInData6
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08075FA8: .4byte gBattleAnimTarget
-_08075FAC: .4byte gBattleAnimAttacker
-_08075FB0: .4byte gBattleAnimArgs
-_08075FB4: .4byte StartAnimLinearTranslation
-_08075FB8: .4byte DestroyAnimSprite
- thumb_func_end sub_8075F0C
-
- thumb_func_start duplicate_obj_of_side_rel2move_in_transparent_mode
-duplicate_obj_of_side_rel2move_in_transparent_mode: @ 8075FBC
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- bl GetAnimBankSpriteId
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0xFF
- beq _08076026
- movs r6, 0
- ldr r2, _08076018 @ =gSprites
- lsls r0, r1, 4
- adds r0, r1
- lsls r1, r0, 2
-_08075FD8:
- lsls r0, r6, 4
- adds r0, r6
- lsls r0, 2
- adds r4, r0, r2
- adds r5, r4, 0
- adds r5, 0x3E
- ldrb r0, [r5]
- lsls r0, 31
- cmp r0, 0
- bne _0807601C
- adds r0, r4, 0
- adds r1, r2
- movs r2, 0x44
- bl memcpy
- ldrb r1, [r4, 0x1]
- movs r2, 0xD
- negs r2, r2
- adds r0, r2, 0
- ands r1, r0
- movs r0, 0x4
- orrs r1, r0
- strb r1, [r4, 0x1]
- ldrb r0, [r5]
- adds r2, 0x8
- adds r1, r2, 0
- ands r0, r1
- strb r0, [r5]
- lsls r0, r6, 16
- asrs r0, 16
- b _0807602A
- .align 2, 0
-_08076018: .4byte gSprites
-_0807601C:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x3F
- bls _08075FD8
-_08076026:
- movs r0, 0x1
- negs r0, r0
-_0807602A:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end duplicate_obj_of_side_rel2move_in_transparent_mode
-
- thumb_func_start obj_delete_but_dont_free_vram
-obj_delete_but_dont_free_vram: @ 8076030
- push {lr}
- adds r3, r0, 0
- adds r3, 0x3F
- ldrb r1, [r3]
- movs r2, 0x40
- orrs r1, r2
- strb r1, [r3]
- bl DestroySprite
- pop {r0}
- bx r0
- thumb_func_end obj_delete_but_dont_free_vram
-
- thumb_func_start sub_8076048
-sub_8076048: @ 8076048
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r6, 0
- movs r3, 0
- ldr r2, _080760C0 @ =gBattleAnimArgs
- movs r0, 0x4
- ldrsh r1, [r2, r0]
- movs r4, 0
- ldrsh r0, [r2, r4]
- cmp r1, r0
- ble _08076062
- movs r3, 0x1
-_08076062:
- cmp r1, r0
- bge _08076068
- ldr r3, _080760C4 @ =0x0000ffff
-_08076068:
- movs r0, 0x6
- ldrsh r1, [r2, r0]
- movs r4, 0x2
- ldrsh r0, [r2, r4]
- cmp r1, r0
- ble _08076076
- movs r6, 0x1
-_08076076:
- cmp r1, r0
- bge _0807607C
- ldr r6, _080760C4 @ =0x0000ffff
-_0807607C:
- ldr r0, _080760C8 @ =gTasks
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- adds r4, r0
- movs r1, 0
- strh r1, [r4, 0x8]
- ldrh r0, [r2, 0x8]
- strh r0, [r4, 0xA]
- strh r1, [r4, 0xC]
- ldrh r0, [r2]
- strh r0, [r4, 0xE]
- ldrh r0, [r2, 0x2]
- strh r0, [r4, 0x10]
- strh r3, [r4, 0x12]
- strh r6, [r4, 0x14]
- ldrh r0, [r2, 0x4]
- strh r0, [r4, 0x16]
- ldrh r0, [r2, 0x6]
- strh r0, [r4, 0x18]
- ldrh r1, [r2, 0x2]
- lsls r1, 8
- ldrh r0, [r2]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- ldr r0, _080760CC @ =sub_80760D0
- str r0, [r4]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080760C0: .4byte gBattleAnimArgs
-_080760C4: .4byte 0x0000ffff
-_080760C8: .4byte gTasks
-_080760CC: .4byte sub_80760D0
- thumb_func_end sub_8076048
-
- thumb_func_start sub_80760D0
-sub_80760D0: @ 80760D0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _0807611C @ =gTasks
- adds r4, r0, r1
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0xA
- ldrsh r1, [r4, r2]
- cmp r0, r1
- ble _08076164
- movs r0, 0
- strh r0, [r4, 0x8]
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08076120
- ldrh r2, [r4, 0xE]
- movs r3, 0xE
- ldrsh r1, [r4, r3]
- movs r3, 0x16
- ldrsh r0, [r4, r3]
- cmp r1, r0
- beq _08076134
- ldrh r0, [r4, 0x12]
- adds r0, r2, r0
- strh r0, [r4, 0xE]
- b _08076134
- .align 2, 0
-_0807611C: .4byte gTasks
-_08076120:
- ldrh r2, [r4, 0x10]
- movs r0, 0x10
- ldrsh r1, [r4, r0]
- movs r3, 0x18
- ldrsh r0, [r4, r3]
- cmp r1, r0
- beq _08076134
- ldrh r0, [r4, 0x14]
- adds r0, r2, r0
- strh r0, [r4, 0x10]
-_08076134:
- ldrh r1, [r4, 0x10]
- lsls r1, 8
- ldrh r0, [r4, 0xE]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- movs r0, 0xE
- ldrsh r1, [r4, r0]
- movs r2, 0x16
- ldrsh r0, [r4, r2]
- cmp r1, r0
- bne _08076164
- movs r3, 0x10
- ldrsh r1, [r4, r3]
- movs r2, 0x18
- ldrsh r0, [r4, r2]
- cmp r1, r0
- bne _08076164
- adds r0, r5, 0
- bl DestroyAnimVisualTask
-_08076164:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80760D0
-
- thumb_func_start sub_807616C
-sub_807616C: @ 807616C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _0807618C @ =gBattleAnimArgs
- ldrb r0, [r0]
- bl GetAnimBankSpriteId
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0xFF
- bne _08076190
- adds r0, r4, 0
- bl DestroyAnimVisualTask
- b _080761B6
- .align 2, 0
-_0807618C: .4byte gBattleAnimArgs
-_08076190:
- ldr r1, _080761BC @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r2, _080761C0 @ =gSprites
- lsls r1, r3, 4
- adds r1, r3
- lsls r1, 2
- adds r1, r2
- ldrb r1, [r1, 0x5]
- lsrs r1, 4
- lsls r1, 4
- ldr r3, _080761C4 @ =0x00000101
- adds r2, r3, 0
- adds r1, r2
- strh r1, [r0, 0x8]
- bl sub_80761C8
-_080761B6:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080761BC: .4byte gTasks
-_080761C0: .4byte gSprites
-_080761C4: .4byte 0x00000101
- thumb_func_end sub_807616C
-
- thumb_func_start sub_80761C8
-sub_80761C8: @ 80761C8
- ldr r3, _080761E8 @ =gBattleAnimArgs
- ldrh r1, [r3, 0x2]
- movs r2, 0
- strh r1, [r0, 0xA]
- strh r2, [r0, 0xC]
- ldrh r1, [r3, 0x4]
- strh r1, [r0, 0xE]
- strh r2, [r0, 0x10]
- ldrh r1, [r3, 0x6]
- strh r1, [r0, 0x12]
- strh r2, [r0, 0x14]
- ldrh r1, [r3, 0x8]
- strh r1, [r0, 0x16]
- ldr r1, _080761EC @ =sub_80761F0
- str r1, [r0]
- bx lr
- .align 2, 0
-_080761E8: .4byte gBattleAnimArgs
-_080761EC: .4byte sub_80761F0
- thumb_func_end sub_80761C8
-
- thumb_func_start sub_80761F0
-sub_80761F0: @ 80761F0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _08076248 @ =gTasks
- adds r4, r0, r1
- ldrh r0, [r4, 0x10]
- adds r0, 0x1
- strh r0, [r4, 0x10]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x12
- ldrsh r1, [r4, r2]
- cmp r0, r1
- blt _08076280
- movs r0, 0
- strh r0, [r4, 0x10]
- movs r1, 0x14
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _0807624C
- ldrh r2, [r4, 0xC]
- adds r2, 0x1
- strh r2, [r4, 0xC]
- ldrh r0, [r4, 0x8]
- lsls r2, 24
- lsrs r2, 24
- ldrh r3, [r4, 0xA]
- movs r1, 0xF
- bl BlendPalette
- movs r2, 0xC
- ldrsh r1, [r4, r2]
- movs r2, 0xE
- ldrsh r0, [r4, r2]
- cmp r1, r0
- bne _08076280
- movs r0, 0x1
- strh r0, [r4, 0x14]
- b _08076280
- .align 2, 0
-_08076248: .4byte gTasks
-_0807624C:
- ldrh r2, [r4, 0xC]
- subs r2, 0x1
- strh r2, [r4, 0xC]
- ldrh r0, [r4, 0x8]
- lsls r2, 24
- lsrs r2, 24
- ldrh r3, [r4, 0xA]
- movs r1, 0xF
- bl BlendPalette
- movs r0, 0xC
- ldrsh r1, [r4, r0]
- cmp r1, 0
- bne _08076280
- ldrh r0, [r4, 0x16]
- subs r0, 0x1
- strh r0, [r4, 0x16]
- lsls r0, 16
- cmp r0, 0
- beq _0807627A
- strh r1, [r4, 0x10]
- strh r1, [r4, 0x14]
- b _08076280
-_0807627A:
- adds r0, r5, 0
- bl DestroyAnimVisualTask
-_08076280:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80761F0
-
- thumb_func_start sub_8076288
-sub_8076288: @ 8076288
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080762A8 @ =gBattleAnimArgs
- ldrh r0, [r0]
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xFF
- bne _080762AC
- adds r0, r4, 0
- bl DestroyAnimVisualTask
- b _080762C2
- .align 2, 0
-_080762A8: .4byte gBattleAnimArgs
-_080762AC:
- ldr r1, _080762C8 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- lsls r1, r2, 4
- ldr r2, _080762CC @ =0x00000101
- adds r1, r2
- strh r1, [r0, 0x8]
- bl sub_80761C8
-_080762C2:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080762C8: .4byte gTasks
-_080762CC: .4byte 0x00000101
- thumb_func_end sub_8076288
-
- thumb_func_start sub_80762D0
-sub_80762D0: @ 80762D0
- push {r4,lr}
- adds r3, r0, 0
- adds r4, r1, 0
- lsls r4, 24
- lsrs r4, 24
- movs r1, 0
- strh r1, [r3, 0x16]
- strh r1, [r3, 0x18]
- strh r1, [r3, 0x1A]
- strh r4, [r3, 0x26]
- movs r0, 0x80
- lsls r0, 1
- strh r0, [r3, 0x1C]
- strh r0, [r3, 0x1E]
- strh r1, [r3, 0x20]
- adds r0, r3, 0
- adds r0, 0x22
- adds r3, 0x24
- adds r1, r3, 0
- bl sub_80765C0
- adds r0, r4, 0
- movs r1, 0
- bl PrepareBattlerSpriteForRotScale
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80762D0
-
- thumb_func_start sub_8076308
-sub_8076308: @ 8076308
- push {r4-r6,lr}
- adds r4, r0, 0
- ldr r5, _080763A8 @ =gUnknown_2037F28
- movs r1, 0x22
- ldrsh r0, [r4, r1]
- movs r2, 0x24
- ldrsh r1, [r4, r2]
- bl sub_80765C8
- movs r3, 0x16
- ldrsh r1, [r4, r3]
- lsls r1, 3
- adds r1, r0, r1
- str r1, [r5]
- movs r6, 0
- ldrsh r2, [r1, r6]
- ldr r0, _080763AC @ =0x00007ffe
- cmp r2, r0
- beq _080763B0
- cmp r2, r0
- bgt _08076410
- subs r0, 0x1
- cmp r2, r0
- beq _080763B6
- ldrb r0, [r1, 0x5]
- cmp r0, 0
- bne _08076356
- ldrh r0, [r1]
- strh r0, [r4, 0x1C]
- ldrh r0, [r1, 0x2]
- strh r0, [r4, 0x1E]
- ldrb r0, [r1, 0x4]
- strh r0, [r4, 0x20]
- ldrh r0, [r4, 0x16]
- adds r0, 0x1
- strh r0, [r4, 0x16]
- adds r0, r1, 0
- adds r0, 0x8
- str r0, [r5]
-_08076356:
- ldr r1, [r5]
- ldrh r0, [r1]
- ldrh r2, [r4, 0x1C]
- adds r0, r2
- strh r0, [r4, 0x1C]
- ldrh r0, [r1, 0x2]
- ldrh r3, [r4, 0x1E]
- adds r0, r3
- strh r0, [r4, 0x1E]
- ldrh r0, [r4, 0x20]
- ldrb r1, [r1, 0x4]
- adds r0, r1
- strh r0, [r4, 0x20]
- ldrh r0, [r4, 0x26]
- lsls r0, 24
- lsrs r0, 24
- movs r6, 0x1C
- ldrsh r1, [r4, r6]
- movs r3, 0x1E
- ldrsh r2, [r4, r3]
- ldrh r3, [r4, 0x20]
- bl SetSpriteRotScale
- ldrh r0, [r4, 0x26]
- lsls r0, 24
- lsrs r0, 24
- bl sub_8076440
- ldrh r0, [r4, 0x18]
- adds r0, 0x1
- strh r0, [r4, 0x18]
- lsls r0, 16
- asrs r0, 16
- ldr r1, [r5]
- ldrb r1, [r1, 0x5]
- cmp r0, r1
- blt _08076436
- movs r0, 0
- strh r0, [r4, 0x18]
- b _08076408
- .align 2, 0
-_080763A8: .4byte gUnknown_2037F28
-_080763AC: .4byte 0x00007ffe
-_080763B0:
- ldrh r0, [r1, 0x2]
- strh r0, [r4, 0x16]
- b _08076436
-_080763B6:
- ldrh r2, [r1, 0x2]
- movs r6, 0x2
- ldrsh r0, [r1, r6]
- cmp r0, 0
- beq _08076408
- ldrh r1, [r4, 0x1A]
- movs r3, 0x1A
- ldrsh r0, [r4, r3]
- cmp r0, 0
- beq _080763D6
- subs r0, r1, 0x1
- strh r0, [r4, 0x1A]
- lsls r0, 16
- cmp r0, 0
- bne _080763D8
- b _08076408
-_080763D6:
- strh r2, [r4, 0x1A]
-_080763D8:
- movs r6, 0x16
- ldrsh r0, [r4, r6]
- cmp r0, 0
- beq _08076436
- ldr r3, _08076400 @ =gUnknown_2037F28
- ldr r5, _08076404 @ =0x00007ffd
-_080763E4:
- ldrh r2, [r4, 0x16]
- subs r1, r2, 0x1
- strh r1, [r4, 0x16]
- ldr r0, [r3]
- subs r0, 0x8
- str r0, [r3]
- movs r6, 0
- ldrsh r0, [r0, r6]
- cmp r0, r5
- beq _08076434
- lsls r0, r1, 16
- cmp r0, 0
- bne _080763E4
- b _08076436
- .align 2, 0
-_08076400: .4byte gUnknown_2037F28
-_08076404: .4byte 0x00007ffd
-_08076408:
- ldrh r0, [r4, 0x16]
- adds r0, 0x1
- strh r0, [r4, 0x16]
- b _08076436
-_08076410:
- ldr r2, _08076430 @ =gSprites
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0
- strh r1, [r0, 0x26]
- ldrh r0, [r4, 0x26]
- lsls r0, 24
- lsrs r0, 24
- bl ResetSpriteRotScale
- movs r0, 0
- b _08076438
- .align 2, 0
-_08076430: .4byte gSprites
-_08076434:
- strh r2, [r4, 0x16]
-_08076436:
- movs r0, 0x1
-_08076438:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8076308
-
- thumb_func_start sub_8076440
-sub_8076440: @ 8076440
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl sub_80764EC
- lsls r0, 16
- lsrs r0, 15
- movs r1, 0x40
- subs r5, r1, r0
- ldr r1, _0807648C @ =gSprites
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r4, r0, r1
- ldrb r1, [r4, 0x3]
- lsls r1, 26
- lsrs r1, 27
- lsls r0, r5, 8
- ldr r2, _08076490 @ =gOamMatrices
- lsls r1, 3
- adds r1, r2
- movs r2, 0x6
- ldrsh r1, [r1, r2]
- bl __divsi3
- cmp r0, 0x80
- ble _0807647C
- movs r0, 0x80
-_0807647C:
- subs r0, r5, r0
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- strh r0, [r4, 0x26]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0807648C: .4byte gSprites
-_08076490: .4byte gOamMatrices
- thumb_func_end sub_8076440
-
- thumb_func_start sub_8076494
-sub_8076494: @ 8076494
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r0, r1, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r0, 24
- lsrs r0, 24
- bl sub_80764EC
- lsls r0, 16
- lsrs r0, 15
- movs r1, 0x40
- subs r5, r1, r0
- ldr r1, _080764E4 @ =gSprites
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r4, r0, r1
- ldrb r1, [r4, 0x3]
- lsls r1, 26
- lsrs r1, 27
- lsls r0, r5, 8
- ldr r2, _080764E8 @ =gOamMatrices
- lsls r1, 3
- adds r1, r2
- movs r2, 0x6
- ldrsh r1, [r1, r2]
- bl __divsi3
- cmp r0, 0x80
- ble _080764D4
- movs r0, 0x80
-_080764D4:
- subs r0, r5, r0
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- strh r0, [r4, 0x26]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080764E4: .4byte gSprites
-_080764E8: .4byte gOamMatrices
- thumb_func_end sub_8076494
-
- thumb_func_start sub_80764EC
-sub_80764EC: @ 80764EC
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, _08076548 @ =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- ldrh r0, [r0, 0x2E]
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- ldr r1, _0807654C @ =gBattlerSpriteIds
- ldr r6, _08076550 @ =gBattlerPartyIndexes
-_08076508:
- adds r0, r4, r1
- ldrb r0, [r0]
- cmp r0, r2
- bne _080765AC
- lsls r0, r4, 24
- lsrs r0, 24
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _08076568
- ldr r0, _08076554 @ =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r1, [r0]
- lsls r0, r5, 2
- adds r1, r0, r1
- ldrh r0, [r1, 0x2]
- cmp r0, 0
- bne _0807655C
- lsls r0, r4, 1
- adds r0, r6
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _08076558 @ =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r1, r0, 16
- b _0807655E
- .align 2, 0
-_08076548: .4byte gSprites
-_0807654C: .4byte gBattlerSpriteIds
-_08076550: .4byte gBattlerPartyIndexes
-_08076554: .4byte gBattleSpritesDataPtr
-_08076558: .4byte gPlayerParty
-_0807655C:
- ldrh r1, [r1, 0x2]
-_0807655E:
- ldr r0, _08076564 @ =gUnknown_8235E6C
- b _080765A0
- .align 2, 0
-_08076564: .4byte gUnknown_8235E6C
-_08076568:
- ldr r0, _08076594 @ =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r1, [r0]
- lsls r0, r5, 2
- adds r1, r0, r1
- ldrh r0, [r1, 0x2]
- cmp r0, 0
- bne _0807659C
- lsls r0, r4, 1
- adds r0, r6
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _08076598 @ =gEnemyParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r1, r0, 16
- b _0807659E
- .align 2, 0
-_08076594: .4byte gBattleSpritesDataPtr
-_08076598: .4byte gEnemyParty
-_0807659C:
- ldrh r1, [r1, 0x2]
-_0807659E:
- ldr r0, _080765A8 @ =gUnknown_82349CC
-_080765A0:
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1, 0x1]
- b _080765B8
- .align 2, 0
-_080765A8: .4byte gUnknown_82349CC
-_080765AC:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x3
- bls _08076508
- movs r0, 0x40
-_080765B8:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80764EC
-
- thumb_func_start sub_80765C0
-sub_80765C0: @ 80765C0
- strh r2, [r0]
- asrs r2, 16
- strh r2, [r1]
- bx lr
- thumb_func_end sub_80765C0
-
- thumb_func_start sub_80765C8
-sub_80765C8: @ 80765C8
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 16
- orrs r0, r1
- bx lr
- thumb_func_end sub_80765C8
-
- thumb_func_start sub_80765D4
-sub_80765D4: @ 80765D4
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- mov r8, r0
- adds r5, r3, 0
- ldr r0, [sp, 0x14]
- ldr r4, [sp, 0x18]
- ldr r6, [sp, 0x1C]
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 16
- lsrs r2, 16
- lsls r5, 16
- lsrs r5, 16
- lsls r0, 16
- lsrs r0, 16
- lsls r4, 16
- lsrs r4, 16
- lsls r6, 16
- lsrs r6, 16
- mov r3, r8
- strh r6, [r3, 0x18]
- strh r1, [r3, 0x26]
- strh r2, [r3, 0x1A]
- strh r5, [r3, 0x1C]
- strh r0, [r3, 0x22]
- strh r4, [r3, 0x24]
- lsls r0, 16
- asrs r0, 16
- lsls r2, 16
- asrs r2, 16
- subs r0, r2
- adds r1, r6, 0
- bl __divsi3
- mov r1, r8
- strh r0, [r1, 0x1E]
- lsls r4, 16
- asrs r4, 16
- lsls r5, 16
- asrs r5, 16
- subs r4, r5
- adds r0, r4, 0
- adds r1, r6, 0
- bl __divsi3
- mov r3, r8
- strh r0, [r3, 0x20]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80765D4
-
- thumb_func_start sub_8076640
-sub_8076640: @ 8076640
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x18]
- movs r2, 0x18
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _08076652
- movs r0, 0
- b _080766AE
-_08076652:
- subs r0, r1, 0x1
- strh r0, [r4, 0x18]
- lsls r0, 16
- cmp r0, 0
- beq _0807666C
- ldrh r0, [r4, 0x1E]
- ldrh r3, [r4, 0x1A]
- adds r0, r3
- strh r0, [r4, 0x1A]
- ldrh r0, [r4, 0x20]
- ldrh r1, [r4, 0x1C]
- adds r0, r1
- b _08076672
-_0807666C:
- ldrh r0, [r4, 0x22]
- strh r0, [r4, 0x1A]
- ldrh r0, [r4, 0x24]
-_08076672:
- strh r0, [r4, 0x1C]
- ldrh r0, [r4, 0x26]
- lsls r0, 24
- lsrs r0, 24
- movs r2, 0x1A
- ldrsh r1, [r4, r2]
- movs r3, 0x1C
- ldrsh r2, [r4, r3]
- movs r3, 0
- bl SetSpriteRotScale
- movs r0, 0x18
- ldrsh r3, [r4, r0]
- cmp r3, 0
- beq _0807669C
- ldrh r0, [r4, 0x26]
- lsls r0, 24
- lsrs r0, 24
- bl sub_8076440
- b _080766AC
-_0807669C:
- ldr r2, _080766B4 @ =gSprites
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strh r3, [r0, 0x26]
-_080766AC:
- ldrb r0, [r4, 0x18]
-_080766AE:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080766B4: .4byte gSprites
- thumb_func_end sub_8076640
-
- thumb_func_start sub_80766B8
-sub_80766B8: @ 80766B8
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _080766E4 @ =gAnimFriendship
- ldrb r0, [r0]
- movs r1, 0
- cmp r0, 0x1E
- bls _080766D6
- movs r1, 0x1
- cmp r0, 0x64
- bls _080766D6
- movs r1, 0x3
- cmp r0, 0xC8
- bhi _080766D6
- movs r1, 0x2
-_080766D6:
- ldr r0, _080766E8 @ =gBattleAnimArgs
- strh r1, [r0, 0xE]
- adds r0, r2, 0
- bl DestroyAnimVisualTask
- pop {r0}
- bx r0
- .align 2, 0
-_080766E4: .4byte gAnimFriendship
-_080766E8: .4byte gBattleAnimArgs
- thumb_func_end sub_80766B8
-
- thumb_func_start sub_80766EC
-sub_80766EC: @ 80766EC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r7, r4, 0
- ldr r6, _080767E0 @ =gBattleAnimTarget
- ldrb r0, [r6]
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _0807672C
- ldr r2, _080767E4 @ =gSprites
- ldr r1, _080767E8 @ =gBattlerSpriteIds
- ldrb r0, [r6]
- adds r0, r1
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- movs r0, 0x3
- adds r2, r4, 0
- ands r2, r0
- lsls r2, 2
- ldrb r3, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r3
- orrs r0, r2
- strb r0, [r1, 0x5]
-_0807672C:
- ldr r0, _080767EC @ =gBattleAnimAttacker
- mov r8, r0
- ldrb r0, [r0]
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _08076764
- ldr r2, _080767E4 @ =gSprites
- ldr r1, _080767E8 @ =gBattlerSpriteIds
- mov r3, r8
- ldrb r0, [r3]
- adds r0, r1
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- movs r0, 0x3
- adds r2, r4, 0
- ands r2, r0
- lsls r2, 2
- ldrb r3, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r3
- orrs r0, r2
- strb r0, [r1, 0x5]
-_08076764:
- ldrb r0, [r6]
- movs r5, 0x2
- eors r0, r5
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _0807679C
- ldr r2, _080767E4 @ =gSprites
- ldr r1, _080767E8 @ =gBattlerSpriteIds
- ldrb r0, [r6]
- eors r0, r5
- adds r0, r1
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- movs r0, 0x3
- adds r2, r4, 0
- ands r2, r0
- lsls r2, 2
- ldrb r3, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r3
- orrs r0, r2
- strb r0, [r1, 0x5]
-_0807679C:
- mov r1, r8
- ldrb r0, [r1]
- eors r0, r5
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _080767D4
- ldr r2, _080767E4 @ =gSprites
- ldr r1, _080767E8 @ =gBattlerSpriteIds
- mov r3, r8
- ldrb r0, [r3]
- eors r0, r5
- adds r0, r1
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- movs r0, 0x3
- ands r7, r0
- lsls r3, r7, 2
- ldrb r2, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r3
- strb r0, [r1, 0x5]
-_080767D4:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080767E0: .4byte gBattleAnimTarget
-_080767E4: .4byte gSprites
-_080767E8: .4byte gBattlerSpriteIds
-_080767EC: .4byte gBattleAnimAttacker
- thumb_func_end sub_80766EC
-
- thumb_func_start sub_80767F0
-sub_80767F0: @ 80767F0
- push {r4-r6,lr}
- movs r5, 0
- ldr r0, _08076850 @ =gBattlersCount
- ldrb r0, [r0]
- cmp r5, r0
- bge _0807684A
- ldr r6, _08076854 @ =gSprites
-_080767FE:
- lsls r0, r5, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _08076840
- adds r0, r4, 0
- bl GetBattlerSpriteSubpriority
- ldr r3, _08076858 @ =gBattlerSpriteIds
- adds r3, r5, r3
- ldrb r2, [r3]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r6
- adds r1, 0x43
- strb r0, [r1]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- ldrb r2, [r0, 0x5]
- movs r3, 0xD
- negs r3, r3
- adds r1, r3, 0
- ands r2, r1
- movs r1, 0x8
- orrs r2, r1
- strb r2, [r0, 0x5]
-_08076840:
- adds r5, 0x1
- ldr r0, _08076850 @ =gBattlersCount
- ldrb r0, [r0]
- cmp r5, r0
- blt _080767FE
-_0807684A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08076850: .4byte gBattlersCount
-_08076854: .4byte gSprites
-_08076858: .4byte gBattlerSpriteIds
- thumb_func_end sub_80767F0
-
- thumb_func_start GetBattlerSpriteSubpriority
-GetBattlerSpriteSubpriority: @ 807685C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl GetBattlerPosition
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1E
- cmp r0, 0
- beq _0807687E
- movs r1, 0x14
- cmp r0, 0x2
- beq _0807687E
- movs r1, 0x32
- cmp r0, 0x1
- bne _0807687E
- movs r1, 0x28
-_0807687E:
- adds r0, r1, 0
- pop {r1}
- bx r1
- thumb_func_end GetBattlerSpriteSubpriority
-
- thumb_func_start sub_8076884
-sub_8076884: @ 8076884
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl GetBattlerPosition
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _0807689A
- cmp r0, 0x3
- bne _0807689E
-_0807689A:
- movs r0, 0x2
- b _080768A0
-_0807689E:
- movs r0, 0x1
-_080768A0:
- movs r1, 0x4
- bl sub_80BC30C
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_8076884
-
- thumb_func_start sub_80768B0
-sub_80768B0: @ 80768B0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl GetBattlerPosition
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _080768C6
- cmp r0, 0x3
- bne _080768CA
-_080768C6:
- movs r0, 0x2
- b _080768CC
-_080768CA:
- movs r0, 0x1
-_080768CC:
- pop {r1}
- bx r1
- thumb_func_end sub_80768B0
-
- thumb_func_start sub_80768D0
-sub_80768D0: @ 80768D0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- ldr r4, [sp, 0x30]
- ldr r5, [sp, 0x34]
- ldr r6, [sp, 0x38]
- mov r8, r6
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r1, 24
- lsrs r1, 24
- mov r9, r1
- lsls r2, 24
- lsrs r7, r2, 24
- lsls r3, 16
- lsrs r3, 16
- mov r10, r3
- lsls r4, 16
- lsrs r4, 16
- str r4, [sp, 0x4]
- lsls r5, 24
- lsrs r5, 24
- str r5, [sp, 0x8]
- lsls r0, r7, 3
- ldr r1, _080769B0 @ =gUnknown_83AE084
- adds r0, r1
- bl LoadSpriteSheet
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0xC]
- ldr r1, _080769B4 @ =gUnknown_83AE054
- lsls r0, r7, 1
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- ldrh r0, [r0, 0x2]
- bl AllocSpritePalette
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r4, _080769B8 @ =gMonSpritesGfxPtr
- ldr r0, [r4]
- cmp r0, 0
- beq _0807694E
- movs r1, 0xBE
- lsls r1, 1
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- bne _0807694E
- movs r0, 0x80
- lsls r0, 6
- bl AllocZeroed
- ldr r1, [r4]
- movs r2, 0xBE
- lsls r2, 1
- adds r1, r2
- str r0, [r1]
-_0807694E:
- mov r3, r9
- cmp r3, 0
- bne _080769EC
- adds r0, r6, 0
- ldr r1, [sp, 0x3C]
- mov r2, r8
- bl GetMonSpritePalFromSpeciesAndPersonality
- lsls r1, r5, 20
- movs r2, 0x80
- lsls r2, 17
- adds r1, r2
- lsrs r1, 16
- movs r2, 0x20
- bl LoadCompressedPalette
- ldr r3, [sp, 0x44]
- cmp r3, 0x1
- beq _0807699A
- ldr r0, [sp, 0x40]
- lsls r1, r0, 24
- lsrs r1, 24
- movs r0, 0x5
- bl sub_804455C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0807699A
- ldr r0, _080769BC @ =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r1, [r0]
- ldr r2, [sp, 0x40]
- lsls r0, r2, 2
- adds r0, r1
- ldrh r0, [r0, 0x2]
- cmp r0, 0
- beq _080769C4
-_0807699A:
- lsls r0, r6, 3
- ldr r1, _080769C0 @ =gMonFrontPicTable
- adds r0, r1
- ldr r1, _080769B8 @ =gMonSpritesGfxPtr
- ldr r1, [r1]
- movs r3, 0xBE
- lsls r3, 1
- adds r1, r3
- ldr r1, [r1]
- movs r2, 0x1
- b _08076A46
- .align 2, 0
-_080769B0: .4byte gUnknown_83AE084
-_080769B4: .4byte gUnknown_83AE054
-_080769B8: .4byte gMonSpritesGfxPtr
-_080769BC: .4byte gBattleSpritesDataPtr
-_080769C0: .4byte gMonFrontPicTable
-_080769C4:
- lsls r0, r6, 3
- ldr r1, _080769E4 @ =gMonFrontPicTable
- adds r0, r1
- ldr r1, _080769E8 @ =gMonSpritesGfxPtr
- ldr r1, [r1]
- movs r2, 0xBE
- lsls r2, 1
- adds r1, r2
- ldr r1, [r1]
- movs r2, 0x1
- str r2, [sp]
- adds r2, r6, 0
- mov r3, r8
- bl LoadSpecialPokePic
- b _08076A7C
- .align 2, 0
-_080769E4: .4byte gMonFrontPicTable
-_080769E8: .4byte gMonSpritesGfxPtr
-_080769EC:
- adds r0, r6, 0
- ldr r1, [sp, 0x3C]
- mov r2, r8
- bl GetMonSpritePalFromSpeciesAndPersonality
- lsls r1, r5, 20
- movs r3, 0x80
- lsls r3, 17
- adds r1, r3
- lsrs r1, 16
- movs r2, 0x20
- bl LoadCompressedPalette
- ldr r0, [sp, 0x44]
- cmp r0, 0x1
- beq _08076A32
- ldr r2, [sp, 0x40]
- lsls r1, r2, 24
- lsrs r1, 24
- movs r0, 0x5
- bl sub_804455C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08076A32
- ldr r0, _08076A54 @ =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r1, [r0]
- ldr r3, [sp, 0x40]
- lsls r0, r3, 2
- adds r0, r1
- ldrh r2, [r0, 0x2]
- cmp r2, 0
- beq _08076A60
-_08076A32:
- lsls r0, r6, 3
- ldr r1, _08076A58 @ =gMonBackPicTable
- adds r0, r1
- ldr r1, _08076A5C @ =gMonSpritesGfxPtr
- ldr r1, [r1]
- movs r2, 0xBE
- lsls r2, 1
- adds r1, r2
- ldr r1, [r1]
- movs r2, 0
-_08076A46:
- str r2, [sp]
- adds r2, r6, 0
- mov r3, r8
- bl LoadSpecialPokePic_DontHandleDeoxys
- b _08076A7C
- .align 2, 0
-_08076A54: .4byte gBattleSpritesDataPtr
-_08076A58: .4byte gMonBackPicTable
-_08076A5C: .4byte gMonSpritesGfxPtr
-_08076A60:
- lsls r0, r6, 3
- ldr r1, _08076AC8 @ =gMonBackPicTable
- adds r0, r1
- ldr r1, _08076ACC @ =gMonSpritesGfxPtr
- ldr r1, [r1]
- movs r3, 0xBE
- lsls r3, 1
- adds r1, r3
- ldr r1, [r1]
- str r2, [sp]
- adds r2, r6, 0
- mov r3, r8
- bl LoadSpecialPokePic
-_08076A7C:
- ldr r5, _08076ACC @ =gMonSpritesGfxPtr
- ldr r0, [r5]
- movs r4, 0xBE
- lsls r4, 1
- adds r0, r4
- ldr r0, [r0]
- ldr r2, [sp, 0xC]
- lsls r1, r2, 5
- ldr r3, _08076AD0 @ =0x06010000
- adds r1, r3
- movs r2, 0x80
- lsls r2, 4
- movs r3, 0x1
- bl RequestDma3Copy
- ldr r0, [r5]
- adds r0, r4
- ldr r0, [r0]
- bl Free
- ldr r0, [r5]
- adds r0, r4
- movs r1, 0
- str r1, [r0]
- mov r0, r9
- cmp r0, 0
- bne _08076ADC
- lsls r0, r7, 1
- adds r0, r7
- lsls r0, 3
- ldr r1, _08076AD4 @ =gUnknown_83AE054
- adds r0, r1
- mov r2, r10
- lsls r1, r2, 16
- asrs r1, 16
- ldr r3, _08076AD8 @ =gUnknown_82349CC
- b _08076AEE
- .align 2, 0
-_08076AC8: .4byte gMonBackPicTable
-_08076ACC: .4byte gMonSpritesGfxPtr
-_08076AD0: .4byte 0x06010000
-_08076AD4: .4byte gUnknown_83AE054
-_08076AD8: .4byte gUnknown_82349CC
-_08076ADC:
- lsls r0, r7, 1
- adds r0, r7
- lsls r0, 3
- ldr r1, _08076B18 @ =gUnknown_83AE054
- adds r0, r1
- mov r2, r10
- lsls r1, r2, 16
- asrs r1, 16
- ldr r3, _08076B1C @ =gUnknown_8235E6C
-_08076AEE:
- lsls r2, r6, 2
- adds r2, r3
- ldrb r2, [r2, 0x1]
- ldr r3, [sp, 0x4]
- adds r2, r3
- lsls r2, 16
- asrs r2, 16
- ldr r3, [sp, 0x8]
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08076B18: .4byte gUnknown_83AE054
-_08076B1C: .4byte gUnknown_8235E6C
- thumb_func_end sub_80768D0
-
- thumb_func_start sub_8076B20
-sub_8076B20: @ 8076B20
- push {lr}
- bl DestroySpriteAndFreeResources
- pop {r0}
- bx r0
- thumb_func_end sub_8076B20
-
- thumb_func_start sub_8076B2C
-sub_8076B2C: @ 8076B2C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r1, 24
- lsrs r1, 24
- mov r9, r1
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _08076C08
- ldr r0, _08076B88 @ =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r0, [r0]
- mov r1, r8
- lsls r2, r1, 2
- adds r1, r2, r0
- ldrh r0, [r1, 0x2]
- cmp r0, 0
- bne _08076B94
- ldr r0, _08076B8C @ =gBattlerPartyIndexes
- mov r1, r8
- lsls r4, r1, 1
- adds r4, r0
- ldrh r0, [r4]
- movs r6, 0x64
- muls r0, r6
- ldr r5, _08076B90 @ =gPlayerParty
- adds r0, r5
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r7, r0, 16
- ldrh r0, [r4]
- muls r0, r6
- adds r0, r5
- movs r1, 0
- bl GetMonData
- adds r2, r0, 0
- b _08076B9C
- .align 2, 0
-_08076B88: .4byte gBattleSpritesDataPtr
-_08076B8C: .4byte gBattlerPartyIndexes
-_08076B90: .4byte gPlayerParty
-_08076B94:
- ldrh r7, [r1, 0x2]
- ldr r0, _08076BD4 @ =gTransformedPersonalities
- adds r0, r2, r0
- ldr r2, [r0]
-_08076B9C:
- cmp r7, 0xC9
- bne _08076BEC
- movs r0, 0xC0
- lsls r0, 18
- ands r0, r2
- lsrs r0, 18
- movs r1, 0xC0
- lsls r1, 10
- ands r1, r2
- lsrs r1, 12
- orrs r0, r1
- movs r1, 0xC0
- lsls r1, 2
- ands r1, r2
- lsrs r1, 6
- orrs r0, r1
- movs r1, 0x3
- ands r1, r2
- orrs r0, r1
- movs r1, 0x1C
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- bne _08076BD8
- movs r0, 0xC9
- b _08076BE2
- .align 2, 0
-_08076BD4: .4byte gTransformedPersonalities
-_08076BD8:
- movs r1, 0xCE
- lsls r1, 1
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
-_08076BE2:
- lsls r1, r0, 2
- ldr r0, _08076BE8 @ =gUnknown_8235E6C
- b _08076CDC
- .align 2, 0
-_08076BE8: .4byte gUnknown_8235E6C
-_08076BEC:
- movs r0, 0xCE
- lsls r0, 1
- cmp r7, r0
- bls _08076BFC
- ldr r4, _08076BF8 @ =gUnknown_8235E6C
- b _08076CDE
- .align 2, 0
-_08076BF8: .4byte gUnknown_8235E6C
-_08076BFC:
- lsls r1, r7, 2
- ldr r0, _08076C04 @ =gUnknown_8235E6C
- b _08076CDC
- .align 2, 0
-_08076C04: .4byte gUnknown_8235E6C
-_08076C08:
- ldr r0, _08076C48 @ =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r0, [r0]
- mov r1, r8
- lsls r2, r1, 2
- adds r1, r2, r0
- ldrh r0, [r1, 0x2]
- cmp r0, 0
- bne _08076C54
- ldr r0, _08076C4C @ =gBattlerPartyIndexes
- mov r1, r8
- lsls r4, r1, 1
- adds r4, r0
- ldrh r0, [r4]
- movs r6, 0x64
- muls r0, r6
- ldr r5, _08076C50 @ =gEnemyParty
- adds r0, r5
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r7, r0, 16
- ldrh r0, [r4]
- muls r0, r6
- adds r0, r5
- movs r1, 0
- bl GetMonData
- adds r2, r0, 0
- b _08076C5C
- .align 2, 0
-_08076C48: .4byte gBattleSpritesDataPtr
-_08076C4C: .4byte gBattlerPartyIndexes
-_08076C50: .4byte gEnemyParty
-_08076C54:
- ldrh r7, [r1, 0x2]
- ldr r0, _08076C94 @ =gTransformedPersonalities
- adds r0, r2, r0
- ldr r2, [r0]
-_08076C5C:
- cmp r7, 0xC9
- bne _08076CA6
- movs r0, 0xC0
- lsls r0, 18
- ands r0, r2
- lsrs r0, 18
- movs r1, 0xC0
- lsls r1, 10
- ands r1, r2
- lsrs r1, 12
- orrs r0, r1
- movs r1, 0xC0
- lsls r1, 2
- ands r1, r2
- lsrs r1, 6
- orrs r0, r1
- movs r1, 0x3
- ands r1, r2
- orrs r0, r1
- movs r1, 0x1C
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- bne _08076C98
- movs r0, 0xC9
- b _08076CA2
- .align 2, 0
-_08076C94: .4byte gTransformedPersonalities
-_08076C98:
- movs r1, 0xCE
- lsls r1, 1
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
-_08076CA2:
- lsls r1, r0, 2
- b _08076CDA
-_08076CA6:
- ldr r0, _08076CBC @ =0x00000181
- cmp r7, r0
- bne _08076CC8
- ldr r0, _08076CC0 @ =gBattleMonForms
- add r0, r8
- ldrb r0, [r0]
- lsls r0, 2
- ldr r1, _08076CC4 @ =gUnknown_83AE03C
- adds r4, r0, r1
- b _08076CDE
- .align 2, 0
-_08076CBC: .4byte 0x00000181
-_08076CC0: .4byte gBattleMonForms
-_08076CC4: .4byte gUnknown_83AE03C
-_08076CC8:
- movs r0, 0xCE
- lsls r0, 1
- cmp r7, r0
- bls _08076CD8
- ldr r4, _08076CD4 @ =gUnknown_82349CC
- b _08076CDE
- .align 2, 0
-_08076CD4: .4byte gUnknown_82349CC
-_08076CD8:
- lsls r1, r7, 2
-_08076CDA:
- ldr r0, _08076CF0 @ =gUnknown_82349CC
-_08076CDC:
- adds r4, r1, r0
-_08076CDE:
- mov r0, r9
- cmp r0, 0x6
- bhi _08076D8E
- lsls r0, 2
- ldr r1, _08076CF4 @ =_08076CF8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08076CF0: .4byte gUnknown_82349CC
-_08076CF4: .4byte _08076CF8
- .align 2, 0
-_08076CF8:
- .4byte _08076D14
- .4byte _08076D1E
- .4byte _08076D4A
- .4byte _08076D62
- .4byte _08076D26
- .4byte _08076D38
- .4byte _08076D7A
-_08076D14:
- ldrb r1, [r4]
- movs r0, 0xF
- ands r0, r1
- lsls r0, 3
- b _08076D90
-_08076D1E:
- ldrb r0, [r4]
- lsrs r0, 4
- lsls r0, 3
- b _08076D90
-_08076D26:
- mov r0, r8
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r4]
- lsrs r1, 4
- b _08076D5C
-_08076D38:
- mov r0, r8
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r4]
- lsrs r1, 4
- b _08076D74
-_08076D4A:
- mov r0, r8
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrb r2, [r4]
- movs r1, 0xF
- ands r1, r2
-_08076D5C:
- lsls r1, 2
- subs r0, r1
- b _08076D90
-_08076D62:
- mov r0, r8
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrb r2, [r4]
- movs r1, 0xF
- ands r1, r2
-_08076D74:
- lsls r1, 2
- adds r0, r1
- b _08076D90
-_08076D7A:
- mov r0, r8
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x1F
- ldrb r1, [r4, 0x1]
- subs r0, r1
- b _08076D90
-_08076D8E:
- movs r0, 0
-_08076D90:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8076B2C
-
- thumb_func_start sub_8076D9C
-sub_8076D9C: @ 8076D9C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r9, r2
- mov r10, r3
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- cmp r1, 0
- bne _08076DBA
- movs r5, 0
- movs r6, 0x1
- b _08076DBE
-_08076DBA:
- movs r5, 0x2
- movs r6, 0x3
-_08076DBE:
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- adds r0, r4, 0
- adds r1, r6, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r7, r0, 24
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _08076E06
- movs r0, 0x2
- eors r4, r0
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r4, 0
- adds r1, r6, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r3, r0, 24
- mov r0, r8
- lsls r1, r0, 16
- lsls r2, r7, 16
- b _08076E12
-_08076E06:
- mov r0, r8
- lsls r1, r0, 16
- lsrs r5, r1, 16
- lsls r0, r7, 16
- lsrs r3, r0, 16
- adds r2, r0, 0
-_08076E12:
- asrs r0, r1, 16
- adds r0, r5
- asrs r0, 1
- mov r1, r9
- strh r0, [r1]
- asrs r0, r2, 16
- adds r0, r3
- asrs r0, 1
- mov r1, r10
- strh r0, [r1]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8076D9C
-
- thumb_func_start sub_8076E34
-sub_8076E34: @ 8076E34
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- sub sp, 0x4
- lsls r6, r1, 24
- lsrs r6, 24
- ldr r0, _08076ECC @ =SpriteCallbackDummy
- mov r10, r0
- bl CreateInvisibleSpriteWithCallback
- mov r8, r0
- mov r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r0, _08076ED0 @ =gSprites
- mov r9, r0
- mov r0, r8
- lsls r3, r0, 4
- add r3, r8
- lsls r3, 2
- mov r0, r9
- adds r5, r3, r0
- lsls r4, r6, 4
- adds r4, r6
- lsls r4, 2
- add r4, r9
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x44
- str r3, [sp]
- bl memcpy
- adds r2, r5, 0
- adds r2, 0x3F
- ldrb r0, [r2]
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r2]
- ldrb r2, [r5, 0x5]
- movs r1, 0xD
- negs r1, r1
- adds r0, r1, 0
- ands r0, r2
- strb r0, [r5, 0x5]
- ldrb r0, [r5, 0x1]
- ands r1, r0
- movs r0, 0x8
- orrs r1, r0
- strb r1, [r5, 0x1]
- ldrh r1, [r4, 0x4]
- lsls r1, 22
- lsrs r1, 22
- ldrh r2, [r5, 0x4]
- ldr r0, _08076ED4 @ =0xfffffc00
- ands r0, r2
- orrs r0, r1
- strh r0, [r5, 0x4]
- movs r0, 0x1C
- add r9, r0
- ldr r3, [sp]
- add r3, r9
- mov r0, r10
- str r0, [r3]
- mov r0, r8
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08076ECC: .4byte SpriteCallbackDummy
-_08076ED0: .4byte gSprites
-_08076ED4: .4byte 0xfffffc00
- thumb_func_end sub_8076E34
-
- thumb_func_start sub_8076ED8
-sub_8076ED8: @ 8076ED8
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8074FCC
- ldr r0, _08076F10 @ =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _08076F18
- ldr r2, _08076F14 @ =gBattleAnimArgs
- ldrh r0, [r4, 0x20]
- ldrh r1, [r2]
- subs r0, r1
- strh r0, [r4, 0x20]
- ldrh r0, [r2, 0x6]
- negs r0, r0
- strh r0, [r2, 0x6]
- adds r3, r4, 0
- adds r3, 0x3F
- ldrb r0, [r3]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r3]
- adds r1, r2, 0
- b _08076F22
- .align 2, 0
-_08076F10: .4byte gBattleAnimAttacker
-_08076F14: .4byte gBattleAnimArgs
-_08076F18:
- ldr r1, _08076F4C @ =gBattleAnimArgs
- ldrh r0, [r1]
- ldrh r2, [r4, 0x20]
- adds r0, r2
- strh r0, [r4, 0x20]
-_08076F22:
- ldrh r0, [r1, 0x2]
- ldrh r2, [r4, 0x22]
- adds r0, r2
- strh r0, [r4, 0x22]
- ldrh r0, [r1, 0x4]
- strh r0, [r4, 0x2E]
- ldrh r0, [r1, 0x6]
- strh r0, [r4, 0x30]
- ldrh r0, [r1, 0x8]
- strh r0, [r4, 0x34]
- ldrh r0, [r1, 0xA]
- strh r0, [r4, 0x38]
- ldr r1, _08076F50 @ =move_anim_8074EE0
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- ldr r0, _08076F54 @ =sub_8074E70
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08076F4C: .4byte gBattleAnimArgs
-_08076F50: .4byte move_anim_8074EE0
-_08076F54: .4byte sub_8074E70
- thumb_func_end sub_8076ED8
-
- thumb_func_start sub_8076F58
-sub_8076F58: @ 8076F58
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _08076F80 @ =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _08076F88
- ldr r2, _08076F84 @ =gBattleAnimArgs
- ldrh r0, [r4, 0x20]
- ldrh r1, [r2]
- subs r0, r1
- strh r0, [r4, 0x20]
- movs r1, 0x6
- ldrsh r0, [r2, r1]
- negs r0, r0
- strh r0, [r2, 0x6]
- adds r1, r2, 0
- b _08076F92
- .align 2, 0
-_08076F80: .4byte gBattleAnimAttacker
-_08076F84: .4byte gBattleAnimArgs
-_08076F88:
- ldr r1, _08076FC4 @ =gBattleAnimArgs
- ldrh r0, [r1]
- ldrh r2, [r4, 0x20]
- adds r0, r2
- strh r0, [r4, 0x20]
-_08076F92:
- ldrh r0, [r1, 0x2]
- ldrh r2, [r4, 0x22]
- adds r0, r2
- strh r0, [r4, 0x22]
- ldrh r0, [r1, 0x4]
- strh r0, [r4, 0x2E]
- ldrh r0, [r1, 0x6]
- strh r0, [r4, 0x30]
- ldrh r0, [r1, 0x8]
- strh r0, [r4, 0x34]
- ldrh r0, [r1, 0xA]
- strh r0, [r4, 0x38]
- ldrb r1, [r1, 0xC]
- adds r0, r4, 0
- bl StartSpriteAnim
- ldr r1, _08076FC8 @ =move_anim_8074EE0
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- ldr r0, _08076FCC @ =sub_8074E70
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08076FC4: .4byte gBattleAnimArgs
-_08076FC8: .4byte move_anim_8074EE0
-_08076FCC: .4byte sub_8074E70
- thumb_func_end sub_8076F58
-
- thumb_func_start sub_8076FD0
-sub_8076FD0: @ 8076FD0
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8074FCC
- ldr r0, _08076FF4 @ =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _08076FFC
- ldr r0, _08076FF8 @ =gBattleAnimArgs
- ldrh r1, [r4, 0x20]
- ldrh r2, [r0]
- subs r1, r2
- strh r1, [r4, 0x20]
- b _08077008
- .align 2, 0
-_08076FF4: .4byte gBattleAnimAttacker
-_08076FF8: .4byte gBattleAnimArgs
-_08076FFC:
- ldr r1, _08077024 @ =gBattleAnimArgs
- ldrh r0, [r1]
- ldrh r2, [r4, 0x20]
- adds r0, r2
- strh r0, [r4, 0x20]
- adds r0, r1, 0
-_08077008:
- ldrh r0, [r0, 0x2]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
- ldr r0, _08077028 @ =sub_8074F6C
- str r0, [r4, 0x1C]
- ldr r1, _0807702C @ =DestroyAnimSprite
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08077024: .4byte gBattleAnimArgs
-_08077028: .4byte sub_8074F6C
-_0807702C: .4byte DestroyAnimSprite
- thumb_func_end sub_8076FD0
-
- thumb_func_start sub_8077030
-sub_8077030: @ 8077030
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _080770C4 @ =gTasks
- adds r5, r1, r0
- movs r0, 0
- bl GetAnimBankSpriteId
- lsls r0, 24
- lsrs r0, 24
- movs r6, 0
- strh r0, [r5, 0x8]
- ldr r7, _080770C8 @ =gBattleAnimAttacker
- ldrb r0, [r7]
- bl GetBattlerSide
- lsls r0, 24
- movs r1, 0x8
- cmp r0, 0
- beq _08077064
- movs r0, 0x8
- negs r0, r0
- adds r1, r0, 0
-_08077064:
- strh r1, [r5, 0xA]
- strh r6, [r5, 0xC]
- strh r6, [r5, 0xE]
- ldr r4, _080770CC @ =gSprites
- movs r0, 0x8
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r1, [r0, 0x24]
- ldrh r2, [r5, 0x8]
- subs r1, r2
- strh r1, [r0, 0x24]
- ldr r0, _080770D0 @ =0x00002771
- bl AllocSpritePalette
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x10]
- strh r6, [r5, 0x12]
- movs r1, 0x10
- ldrsh r0, [r5, r1]
- adds r0, 0x10
- lsls r0, 20
- lsrs r6, r0, 16
- movs r0, 0x8
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r0, [r0, 0x5]
- lsrs r0, 4
- adds r0, 0x10
- lsls r4, r0, 4
- ldrb r0, [r7]
- bl GetBattlerSpriteSubpriority
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x14]
- cmp r0, 0x14
- beq _080770C0
- cmp r0, 0x28
- bne _080770D4
-_080770C0:
- movs r0, 0x2
- b _080770D6
- .align 2, 0
-_080770C4: .4byte gTasks
-_080770C8: .4byte gBattleAnimAttacker
-_080770CC: .4byte gSprites
-_080770D0: .4byte 0x00002771
-_080770D4:
- movs r0, 0x3
-_080770D6:
- strh r0, [r5, 0x14]
- lsls r0, r4, 1
- ldr r1, _08077104 @ =gPlttBufferUnfaded
- adds r0, r1
- lsls r1, r6, 1
- ldr r2, _08077108 @ =gPlttBufferFaded
- adds r1, r2
- ldr r2, _0807710C @ =0x04000008
- bl CpuSet
- ldr r0, _08077110 @ =gBattleAnimArgs
- ldrb r2, [r0, 0x2]
- ldrh r3, [r0]
- adds r0, r6, 0
- movs r1, 0x10
- bl BlendPalette
- ldr r0, _08077114 @ =sub_8077118
- str r0, [r5]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08077104: .4byte gPlttBufferUnfaded
-_08077108: .4byte gPlttBufferFaded
-_0807710C: .4byte 0x04000008
-_08077110: .4byte gBattleAnimArgs
-_08077114: .4byte sub_8077118
- thumb_func_end sub_8077030
-
- thumb_func_start sub_8077118
-sub_8077118: @ 8077118
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _0807713C @ =gTasks
- adds r4, r0, r1
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _0807717C
- cmp r0, 0x1
- bgt _08077140
- cmp r0, 0
- beq _08077146
- b _080771D8
- .align 2, 0
-_0807713C: .4byte gTasks
-_08077140:
- cmp r0, 0x2
- beq _080771C4
- b _080771D8
-_08077146:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80771E4
- ldr r2, _08077178 @ =gSprites
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r4, 0xA]
- ldrh r2, [r0, 0x24]
- adds r1, r2
- strh r1, [r0, 0x24]
- ldrh r1, [r4, 0xE]
- adds r0, r1, 0x1
- strh r0, [r4, 0xE]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5
- bne _080771D8
- strh r1, [r4, 0xE]
- b _080771B6
- .align 2, 0
-_08077178: .4byte gSprites
-_0807717C:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80771E4
- ldr r3, _080771C0 @ =gSprites
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r1, [r0, 0x24]
- ldrh r2, [r4, 0xA]
- subs r1, r2
- strh r1, [r0, 0x24]
- ldrh r0, [r4, 0xE]
- subs r0, 0x1
- strh r0, [r4, 0xE]
- lsls r0, 16
- asrs r2, r0, 16
- cmp r2, 0
- bne _080771D8
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- strh r2, [r1, 0x24]
-_080771B6:
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- b _080771D8
- .align 2, 0
-_080771C0: .4byte gSprites
-_080771C4:
- movs r2, 0x12
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _080771D8
- ldr r0, _080771E0 @ =0x00002771
- bl FreeSpritePaletteByTag
- adds r0, r5, 0
- bl DestroyAnimVisualTask
-_080771D8:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080771E0: .4byte 0x00002771
- thumb_func_end sub_8077118
-
- thumb_func_start sub_80771E4
-sub_80771E4: @ 80771E4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- movs r0, 0
- bl duplicate_obj_of_side_rel2move_in_transparent_mode
- lsls r0, 16
- lsrs r7, r0, 16
- asrs r0, 16
- cmp r0, 0
- blt _08077254
- ldr r5, _08077260 @ =gSprites
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- adds r3, r4, r5
- movs r0, 0x3
- ldrb r1, [r6, 0x14]
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r3, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0x5]
- ldrb r1, [r6, 0x10]
- lsls r1, 4
- movs r2, 0xF
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0x5]
- movs r0, 0x8
- strh r0, [r3, 0x2E]
- mov r0, r8
- strh r0, [r3, 0x30]
- strh r7, [r3, 0x32]
- movs r0, 0x8
- ldrsh r1, [r6, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrh r0, [r0, 0x24]
- strh r0, [r3, 0x24]
- adds r5, 0x1C
- adds r4, r5
- ldr r0, _08077264 @ =sub_8077268
- str r0, [r4]
- ldrh r0, [r6, 0x12]
- adds r0, 0x1
- strh r0, [r6, 0x12]
-_08077254:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08077260: .4byte gSprites
-_08077264: .4byte sub_8077268
- thumb_func_end sub_80771E4
-
- thumb_func_start sub_8077268
-sub_8077268: @ 8077268
- push {lr}
- adds r3, r0, 0
- ldrh r0, [r3, 0x2E]
- subs r0, 0x1
- strh r0, [r3, 0x2E]
- lsls r0, 16
- cmp r0, 0
- bne _08077292
- ldr r2, _08077298 @ =gTasks
- movs r0, 0x30
- ldrsh r1, [r3, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrh r1, [r0, 0x12]
- subs r1, 0x1
- strh r1, [r0, 0x12]
- adds r0, r3, 0
- bl obj_delete_but_dont_free_vram
-_08077292:
- pop {r0}
- bx r0
- .align 2, 0
-_08077298: .4byte gTasks
- thumb_func_end sub_8077268
-
- thumb_func_start sub_807729C
-sub_807729C: @ 807729C
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, _080772D0 @ =gBattleAnimAttacker
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
- ldrb r0, [r4]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _080772D4
- movs r0, 0x5
- b _080772D6
- .align 2, 0
-_080772D0: .4byte gBattleAnimAttacker
-_080772D4:
- ldr r0, _080772E8 @ =0x0000fff6
-_080772D6:
- strh r0, [r5, 0x2E]
- ldr r0, _080772EC @ =0x0000ffd8
- strh r0, [r5, 0x30]
- ldr r0, _080772F0 @ =sub_80772F4
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080772E8: .4byte 0x0000fff6
-_080772EC: .4byte 0x0000ffd8
-_080772F0: .4byte sub_80772F4
- thumb_func_end sub_807729C
-
- thumb_func_start sub_80772F4
-sub_80772F4: @ 80772F4
- push {r4,r5,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- ldrh r1, [r4, 0x32]
- adds r0, r1
- strh r0, [r4, 0x32]
- ldrh r5, [r4, 0x30]
- ldrh r2, [r4, 0x34]
- adds r0, r5, r2
- strh r0, [r4, 0x34]
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- movs r1, 0xA
- bl __divsi3
- strh r0, [r4, 0x24]
- movs r2, 0x34
- ldrsh r0, [r4, r2]
- movs r1, 0xA
- bl __divsi3
- strh r0, [r4, 0x26]
- lsls r0, r5, 16
- asrs r0, 16
- movs r1, 0x14
- negs r1, r1
- cmp r0, r1
- bge _08077330
- adds r0, r5, 0x1
- strh r0, [r4, 0x30]
-_08077330:
- movs r1, 0x22
- ldrsh r0, [r4, r1]
- movs r2, 0x26
- ldrsh r1, [r4, r2]
- adds r0, r1
- movs r1, 0x20
- negs r1, r1
- cmp r0, r1
- bge _08077348
- adds r0, r4, 0
- bl DestroyAnimSprite
-_08077348:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80772F4
-
- thumb_func_start sub_8077350
-sub_8077350: @ 8077350
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, _08077388 @ =gBattleAnimArgs
- ldrh r0, [r5, 0x4]
- strh r0, [r4, 0x2E]
- ldrh r0, [r5, 0x8]
- ldrh r1, [r4, 0x20]
- adds r0, r1
- strh r0, [r4, 0x32]
- ldrh r0, [r5, 0xA]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x36]
- ldr r0, _0807738C @ =gBattleAnimTarget
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _08077390
- ldrh r0, [r5, 0x8]
- adds r0, 0x1E
- ldrh r1, [r4, 0x20]
- adds r0, r1
- strh r0, [r4, 0x20]
- ldrh r0, [r5, 0xA]
- subs r0, 0x14
- b _0807739E
- .align 2, 0
-_08077388: .4byte gBattleAnimArgs
-_0807738C: .4byte gBattleAnimTarget
-_08077390:
- ldrh r0, [r5, 0x8]
- subs r0, 0x1E
- ldrh r1, [r4, 0x20]
- adds r0, r1
- strh r0, [r4, 0x20]
- ldrh r0, [r5, 0xA]
- subs r0, 0x50
-_0807739E:
- strh r0, [r4, 0x22]
- ldr r0, _080773B4 @ =StartAnimLinearTranslation
- str r0, [r4, 0x1C]
- ldr r1, _080773B8 @ =DestroyAnimSprite
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080773B4: .4byte StartAnimLinearTranslation
-_080773B8: .4byte DestroyAnimSprite
- thumb_func_end sub_8077350
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/battle_anim_sound_tasks.s b/asm/battle_anim_sound_tasks.s
deleted file mode 100644
index dc5517ca0..000000000
--- a/asm/battle_anim_sound_tasks.s
+++ /dev/null
@@ -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.
diff --git a/asm/battle_anim_special.s b/asm/battle_anim_special.s
index c95a1099e..e49ba538c 100644
--- a/asm/battle_anim_special.s
+++ b/asm/battle_anim_special.s
@@ -18,10 +18,10 @@ sub_80EEC0C: @ 80EEC0C
str r0, [sp, 0x10]
ldr r0, _080EEDB4 @ =gBattleAnimAttacker
ldrb r4, [r0]
- ldr r0, _080EEDB8 @ =gUnknown_2022984
+ ldr r0, _080EEDB8 @ =gBattle_WIN0H
movs r1, 0
strh r1, [r0]
- ldr r0, _080EEDBC @ =gUnknown_2022986
+ ldr r0, _080EEDBC @ =gBattle_WIN0V
strh r1, [r0]
ldr r1, _080EEDC0 @ =0x00003f3f
movs r0, 0x48
@@ -155,13 +155,13 @@ sub_80EEC0C: @ 80EEC0C
mov r0, sp
ldrb r0, [r0, 0x9]
ldr r1, _080EEDD8 @ =gFile_graphics_battle_anims_masks_unknown_D2EC24_tilemap
- bl sub_807543C
+ bl AnimLoadCompressedBgTilemap
mov r0, sp
ldrb r0, [r0, 0x9]
ldr r1, _080EEDDC @ =gFile_graphics_battle_anims_masks_unknown_D2EC24_sheet
mov r2, sp
ldrh r2, [r2, 0xA]
- bl sub_80753B4
+ bl AnimLoadCompressedBgGfx
ldr r0, _080EEDE0 @ =gFile_graphics_battle_anims_masks_cure_bubbles_palette
mov r1, sp
ldrb r1, [r1, 0x8]
@@ -204,8 +204,8 @@ sub_80EEC0C: @ 80EEC0C
bx r0
.align 2, 0
_080EEDB4: .4byte gBattleAnimAttacker
-_080EEDB8: .4byte gUnknown_2022984
-_080EEDBC: .4byte gUnknown_2022986
+_080EEDB8: .4byte gBattle_WIN0H
+_080EEDBC: .4byte gBattle_WIN0V
_080EEDC0: .4byte 0x00003f3f
_080EEDC4: .4byte 0x00003f3d
_080EEDC8: .4byte 0x00003f42
@@ -336,9 +336,9 @@ _080EEE9C:
bne _080EEFA8
movs r0, 0
bl sub_8073128
- ldr r0, _080EEFB4 @ =gUnknown_2022984
+ ldr r0, _080EEFB4 @ =gBattle_WIN0H
strh r4, [r0]
- ldr r0, _080EEFB8 @ =gUnknown_2022986
+ ldr r0, _080EEFB8 @ =gBattle_WIN0V
strh r4, [r0]
ldr r4, _080EEFBC @ =0x00003f3f
movs r0, 0x48
@@ -439,8 +439,8 @@ _080EEFA8:
pop {r0}
bx r0
.align 2, 0
-_080EEFB4: .4byte gUnknown_2022984
-_080EEFB8: .4byte gUnknown_2022986
+_080EEFB4: .4byte gBattle_WIN0H
+_080EEFB8: .4byte gBattle_WIN0V
_080EEFBC: .4byte 0x00003f3f
_080EEFC0: .4byte gSprites
_080EEFC4: .4byte gHealthboxSpriteIds
@@ -855,7 +855,7 @@ _080EF2E6:
movs r3, 0
bl SetSpriteRotScale
adds r0, r5, 0
- bl sub_8076440
+ bl SetBattlerSpriteYOffsetFromYScale
movs r0, 0x1C
ldrsh r1, [r4, r0]
ldr r0, _080EF314 @ =0x000002cf
@@ -1585,7 +1585,7 @@ sub_80EF8C0: @ 80EF8C0
ldr r0, _080EF8E8 @ =0x0000ffd8
strh r0, [r4, 0x38]
adds r0, r4, 0
- bl sub_8075068
+ bl InitAnimArcTranslation
ldr r0, _080EF8EC @ =sub_80EF8F0
str r0, [r4, 0x1C]
pop {r4}
@@ -1601,7 +1601,7 @@ sub_80EF8F0: @ 80EF8F0
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
- bl AnimateBallThrow
+ bl TranslateAnimHorizontalArc
lsls r0, 24
cmp r0, 0
beq _080EF99E
@@ -2804,7 +2804,7 @@ _080F01F2:
ldrsb r0, [r1, r0]
strh r0, [r5, 0x38]
adds r0, r5, 0
- bl sub_8075068
+ bl InitAnimArcTranslation
add r4, r10
ldr r0, _080F0270 @ =sub_80F0278
str r0, [r4]
@@ -2849,7 +2849,7 @@ sub_80F0278: @ 80F0278
orrs r0, r1
strb r0, [r3]
adds r0, r4, 0
- bl AnimateBallThrow
+ bl TranslateAnimHorizontalArc
lsls r0, 24
cmp r0, 0
beq _080F02A8
@@ -3204,9 +3204,9 @@ sub_80F052C: @ 80F052C
movs r0, 0x20
strh r0, [r4, 0x38]
adds r0, r4, 0
- bl sub_8075068
+ bl InitAnimArcTranslation
adds r0, r4, 0
- bl sub_80750C8
+ bl TranslateAnimVerticalArc
ldr r0, _080F0570 @ =sub_80F0574
str r0, [r4, 0x1C]
pop {r4}
@@ -3220,7 +3220,7 @@ _080F0570: .4byte sub_80F0574
sub_80F0574: @ 80F0574
push {r4,lr}
adds r4, r0, 0
- bl sub_80750C8
+ bl TranslateAnimVerticalArc
lsls r0, 24
cmp r0, 0
bne _080F0590
@@ -5317,7 +5317,7 @@ _080F15F0:
_080F15F6:
ldr r0, _080F1610 @ =gBattleAnimAttacker
ldrb r0, [r0]
- bl sub_80768B0
+ bl GetBattlerSpriteBGPriorityRank
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -5982,7 +5982,7 @@ sub_80F1B3C: @ 80F1B3C
push {r4,r5,lr}
adds r4, r0, 0
movs r1, 0
- bl sub_8075160
+ bl InitSpritePosToAnimAttacker
movs r0, 0x1E
strh r0, [r4, 0x2E]
movs r0, 0x1
@@ -6011,7 +6011,7 @@ sub_80F1B3C: @ 80F1B3C
ldr r0, _080F1BB4 @ =0x0000ffe0
strh r0, [r4, 0x38]
adds r0, r4, 0
- bl sub_8075068
+ bl InitAnimArcTranslation
ldr r2, _080F1BB8 @ =gSprites
ldr r1, _080F1BBC @ =gBattlerSpriteIds
ldr r0, _080F1BC0 @ =gBattleAnimAttacker
@@ -6074,7 +6074,7 @@ _080F1C00: .4byte sub_80F1C04
sub_80F1C04: @ 80F1C04
push {r4,lr}
adds r4, r0, 0
- bl AnimateBallThrow
+ bl TranslateAnimHorizontalArc
lsls r0, 24
cmp r0, 0
beq _080F1C26
diff --git a/asm/battle_anim_utility_funcs.s b/asm/battle_anim_utility_funcs.s
deleted file mode 100644
index f447bdf45..000000000
--- a/asm/battle_anim_utility_funcs.s
+++ /dev/null
@@ -1,5133 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_80BA7F8
-sub_80BA7F8: @ 80BA7F8
- push {r4-r6,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r4, _080BA838 @ =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r4, r1]
- bl sub_80B9A14
- adds r6, r0, 0
- ldrh r3, [r4]
- lsls r3, 16
- asrs r0, r3, 23
- movs r4, 0x1
- ands r0, r4
- asrs r1, r3, 24
- ands r1, r4
- asrs r2, r3, 25
- ands r2, r4
- asrs r3, 26
- ands r3, r4
- bl sub_8075CB8
- orrs r6, r0
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_80BAA4C
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080BA838: .4byte gBattleAnimArgs
- thumb_func_end sub_80BA7F8
-
- thumb_func_start sub_80BA83C
-sub_80BA83C: @ 80BA83C
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r7, r0, 24
- mov r1, sp
- movs r0, 0xFF
- strb r0, [r1, 0x1]
- movs r0, 0x1
- bl sub_80B9A14
- adds r5, r0, 0
- ldr r0, _080BA868 @ =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0x7
- bhi _080BA8E6
- lsls r0, 2
- ldr r1, _080BA86C @ =_080BA870
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080BA868: .4byte gBattleAnimArgs
-_080BA86C: .4byte _080BA870
- .align 2, 0
-_080BA870:
- .4byte _080BA892
- .4byte _080BA89E
- .4byte _080BA890
- .4byte _080BA89C
- .4byte _080BA8AC
- .4byte _080BA8C4
- .4byte _080BA8CC
- .4byte _080BA8D8
-_080BA890:
- movs r5, 0
-_080BA892:
- mov r0, sp
- ldr r1, _080BA898 @ =gBattleAnimAttacker
- b _080BA8A2
- .align 2, 0
-_080BA898: .4byte gBattleAnimAttacker
-_080BA89C:
- movs r5, 0
-_080BA89E:
- mov r0, sp
- ldr r1, _080BA8A8 @ =gBattleAnimTarget
-_080BA8A2:
- ldrb r1, [r1]
- strb r1, [r0]
- b _080BA8E6
- .align 2, 0
-_080BA8A8: .4byte gBattleAnimTarget
-_080BA8AC:
- mov r1, sp
- ldr r0, _080BA8BC @ =gBattleAnimAttacker
- ldrb r0, [r0]
- strb r0, [r1]
- ldr r0, _080BA8C0 @ =gBattleAnimTarget
- ldrb r0, [r0]
- strb r0, [r1, 0x1]
- b _080BA8E6
- .align 2, 0
-_080BA8BC: .4byte gBattleAnimAttacker
-_080BA8C0: .4byte gBattleAnimTarget
-_080BA8C4:
- mov r1, sp
- movs r0, 0xFF
- strb r0, [r1]
- b _080BA8E6
-_080BA8CC:
- movs r5, 0
- mov r2, sp
- ldr r0, _080BA8D4 @ =gBattleAnimAttacker
- b _080BA8DE
- .align 2, 0
-_080BA8D4: .4byte gBattleAnimAttacker
-_080BA8D8:
- movs r5, 0
- mov r2, sp
- ldr r0, _080BA930 @ =gBattleAnimTarget
-_080BA8DE:
- ldrb r0, [r0]
- movs r1, 0x2
- eors r0, r1
- strb r0, [r2]
-_080BA8E6:
- movs r4, 0
- mov r6, sp
-_080BA8EA:
- ldrb r0, [r6]
- cmp r4, r0
- beq _080BA914
- ldrb r0, [r6, 0x1]
- cmp r4, r0
- beq _080BA914
- adds r0, r4, 0
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _080BA914
- adds r0, r4, 0
- bl sub_8075D80
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x80
- lsls r1, 9
- lsls r1, r0
- orrs r5, r1
-_080BA914:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _080BA8EA
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_80BAA4C
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080BA930: .4byte gBattleAnimTarget
- thumb_func_end sub_80BA83C
-
- thumb_func_start sub_80BA934
-sub_80BA934: @ 80BA934
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080BA958 @ =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r0, r1]
- bl sub_80B9A14
- adds r2, r0, 0
- ldr r0, _080BA95C @ =gBattleTerrain
- ldrb r0, [r0]
- cmp r0, 0x9
- bhi _080BAA0A
- lsls r0, 2
- ldr r1, _080BA960 @ =_080BA964
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080BA958: .4byte gBattleAnimArgs
-_080BA95C: .4byte gBattleTerrain
-_080BA960: .4byte _080BA964
- .align 2, 0
-_080BA964:
- .4byte _080BA98C
- .4byte _080BA99C
- .4byte _080BA9A8
- .4byte _080BA9B8
- .4byte _080BA9C4
- .4byte _080BA9D4
- .4byte _080BA9E4
- .4byte _080BA9F4
- .4byte _080BAA04
- .4byte _080BAA04
-_080BA98C:
- ldr r1, _080BA994 @ =gBattleAnimArgs
- ldr r0, _080BA998 @ =0x00000b0c
- b _080BAA08
- .align 2, 0
-_080BA994: .4byte gBattleAnimArgs
-_080BA998: .4byte 0x00000b0c
-_080BA99C:
- ldr r1, _080BA9A4 @ =gBattleAnimArgs
- movs r0, 0x9E
- lsls r0, 4
- b _080BAA08
- .align 2, 0
-_080BA9A4: .4byte gBattleAnimArgs
-_080BA9A8:
- ldr r1, _080BA9B0 @ =gBattleAnimArgs
- ldr r0, _080BA9B4 @ =0x00002f1e
- b _080BAA08
- .align 2, 0
-_080BA9B0: .4byte gBattleAnimArgs
-_080BA9B4: .4byte 0x00002f1e
-_080BA9B8:
- ldr r1, _080BA9C0 @ =gBattleAnimArgs
- movs r0, 0x90
- lsls r0, 7
- b _080BAA08
- .align 2, 0
-_080BA9C0: .4byte gBattleAnimArgs
-_080BA9C4:
- ldr r1, _080BA9CC @ =gBattleAnimArgs
- ldr r0, _080BA9D0 @ =0x00007ecb
- b _080BAA08
- .align 2, 0
-_080BA9CC: .4byte gBattleAnimArgs
-_080BA9D0: .4byte 0x00007ecb
-_080BA9D4:
- ldr r1, _080BA9DC @ =gBattleAnimArgs
- ldr r0, _080BA9E0 @ =0x00007ecb
- b _080BAA08
- .align 2, 0
-_080BA9DC: .4byte gBattleAnimArgs
-_080BA9E0: .4byte 0x00007ecb
-_080BA9E4:
- ldr r1, _080BA9EC @ =gBattleAnimArgs
- ldr r0, _080BA9F0 @ =0x00002a16
- b _080BAA08
- .align 2, 0
-_080BA9EC: .4byte gBattleAnimArgs
-_080BA9F0: .4byte 0x00002a16
-_080BA9F4:
- ldr r1, _080BA9FC @ =gBattleAnimArgs
- ldr r0, _080BAA00 @ =0x00000d2e
- b _080BAA08
- .align 2, 0
-_080BA9FC: .4byte gBattleAnimArgs
-_080BAA00: .4byte 0x00000d2e
-_080BAA04:
- ldr r1, _080BAA18 @ =gBattleAnimArgs
- ldr r0, _080BAA1C @ =0x00007fff
-_080BAA08:
- strh r0, [r1, 0x8]
-_080BAA0A:
- adds r0, r4, 0
- adds r1, r2, 0
- bl sub_80BAA4C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080BAA18: .4byte gBattleAnimArgs
-_080BAA1C: .4byte 0x00007fff
- thumb_func_end sub_80BA934
-
- thumb_func_start sub_80BAA20
-sub_80BAA20: @ 80BAA20
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _080BAA48 @ =gBattleAnimArgs
- ldrh r0, [r0]
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x10
- movs r1, 0x1
- lsls r1, r0
- adds r0, r4, 0
- bl sub_80BAA4C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080BAA48: .4byte gBattleAnimArgs
- thumb_func_end sub_80BAA20
-
- thumb_func_start sub_80BAA4C
-sub_80BAA4C: @ 80BAA4C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r3, _080BAA84 @ =gTasks
- lsls r2, r0, 2
- adds r2, r0
- lsls r2, 3
- adds r2, r3
- strh r1, [r2, 0x8]
- lsrs r1, 16
- strh r1, [r2, 0xA]
- ldr r3, _080BAA88 @ =gBattleAnimArgs
- ldrh r1, [r3, 0x2]
- strh r1, [r2, 0xC]
- ldrh r1, [r3, 0x4]
- strh r1, [r2, 0xE]
- ldrh r1, [r3, 0x6]
- strh r1, [r2, 0x10]
- ldrh r1, [r3, 0x8]
- strh r1, [r2, 0x12]
- ldrh r1, [r3, 0x4]
- strh r1, [r2, 0x1C]
- ldr r1, _080BAA8C @ =sub_80BAA90
- str r1, [r2]
- bl _call_via_r1
- pop {r0}
- bx r0
- .align 2, 0
-_080BAA84: .4byte gTasks
-_080BAA88: .4byte gBattleAnimArgs
-_080BAA8C: .4byte sub_80BAA90
- thumb_func_end sub_80BAA4C
-
- thumb_func_start sub_80BAA90
-sub_80BAA90: @ 80BAA90
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r7, r0, 24
- movs r6, 0
- ldr r2, _080BAB10 @ =gTasks
- lsls r5, r7, 2
- adds r0, r5, r7
- lsls r0, 3
- adds r3, r0, r2
- ldrh r0, [r3, 0x1A]
- mov r8, r0
- movs r4, 0x1A
- ldrsh r1, [r3, r4]
- movs r4, 0xC
- ldrsh r0, [r3, r4]
- mov r9, r2
- cmp r1, r0
- bne _080BAB26
- strh r6, [r3, 0x1A]
- movs r0, 0x8
- ldrsh r4, [r3, r0]
- movs r1, 0xA
- ldrsh r0, [r3, r1]
- lsls r0, 16
- orrs r4, r0
- mov r8, r5
- cmp r4, 0
- beq _080BAAF2
- adds r5, r3, 0
-_080BAAD0:
- movs r0, 0x1
- ands r0, r4
- cmp r0, 0
- beq _080BAAE4
- ldrb r2, [r5, 0x1C]
- ldrh r3, [r5, 0x12]
- adds r0, r6, 0
- movs r1, 0x10
- bl BlendPalette
-_080BAAE4:
- adds r0, r6, 0
- adds r0, 0x10
- lsls r0, 16
- lsrs r6, r0, 16
- lsrs r4, 1
- cmp r4, 0
- bne _080BAAD0
-_080BAAF2:
- mov r4, r8
- adds r0, r4, r7
- lsls r0, 3
- mov r1, r9
- adds r2, r0, r1
- ldrh r0, [r2, 0x1C]
- movs r4, 0x1C
- ldrsh r3, [r2, r4]
- movs r4, 0x10
- ldrsh r1, [r2, r4]
- cmp r3, r1
- bge _080BAB14
- adds r0, 0x1
- strh r0, [r2, 0x1C]
- b _080BAB2C
- .align 2, 0
-_080BAB10: .4byte gTasks
-_080BAB14:
- cmp r3, r1
- ble _080BAB1E
- subs r0, 0x1
- strh r0, [r2, 0x1C]
- b _080BAB2C
-_080BAB1E:
- adds r0, r7, 0
- bl DestroyAnimVisualTask
- b _080BAB2C
-_080BAB26:
- mov r0, r8
- adds r0, 0x1
- strh r0, [r3, 0x1A]
-_080BAB2C:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80BAA90
-
- thumb_func_start sub_80BAB38
-sub_80BAB38: @ 80BAB38
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r4, _080BAB6C @ =gBattleAnimArgs
- ldrb r0, [r4]
- ldrb r1, [r4, 0x2]
- ldrb r2, [r4, 0x4]
- ldrb r3, [r4, 0x6]
- ldrb r4, [r4, 0x8]
- str r4, [sp]
- bl BeginHardwarePaletteFade
- ldr r1, _080BAB70 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, _080BAB74 @ =sub_80BAB78
- str r1, [r0]
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080BAB6C: .4byte gBattleAnimArgs
-_080BAB70: .4byte gTasks
-_080BAB74: .4byte sub_80BAB78
- thumb_func_end sub_80BAB38
-
- thumb_func_start sub_80BAB78
-sub_80BAB78: @ 80BAB78
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _080BAB94 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080BAB90
- adds r0, r2, 0
- bl DestroyAnimVisualTask
-_080BAB90:
- pop {r0}
- bx r0
- .align 2, 0
-_080BAB94: .4byte gPaletteFade
- thumb_func_end sub_80BAB78
-
- thumb_func_start sub_80BAB98
-sub_80BAB98: @ 80BAB98
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _080BABC4 @ =gTasks
- adds r1, r0
- ldr r2, _080BABC8 @ =gBattleAnimArgs
- ldrh r0, [r2]
- movs r3, 0
- strh r0, [r1, 0x8]
- strh r3, [r1, 0xA]
- ldrh r0, [r2, 0x2]
- strh r0, [r1, 0xC]
- ldrh r0, [r2, 0x4]
- strh r0, [r1, 0xE]
- ldrh r0, [r2, 0x6]
- strh r0, [r1, 0x10]
- strh r3, [r1, 0x12]
- ldr r0, _080BABCC @ =sub_80BABD0
- str r0, [r1]
- bx lr
- .align 2, 0
-_080BABC4: .4byte gTasks
-_080BABC8: .4byte gBattleAnimArgs
-_080BABCC: .4byte sub_80BABD0
- thumb_func_end sub_80BAB98
-
- thumb_func_start sub_80BABD0
-sub_80BABD0: @ 80BABD0
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- adds r2, r5, 0
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _080BABFC @ =gTasks
- adds r4, r0, r1
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080BAC94
- ldrh r1, [r4, 0xA]
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _080BAC00
- subs r0, r1, 0x1
- strh r0, [r4, 0xA]
- b _080BACA2
- .align 2, 0
-_080BABFC: .4byte gTasks
-_080BAC00:
- ldrb r0, [r4, 0x8]
- bl duplicate_obj_of_side_rel2move_in_transparent_mode
- strh r0, [r4, 0x14]
- lsls r0, 16
- cmp r0, 0
- blt _080BAC7E
- ldr r6, _080BAC8C @ =gSprites
- movs r1, 0x14
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r3, r1, r6
- movs r2, 0x8
- ldrsh r0, [r4, r2]
- movs r2, 0x2
- cmp r0, 0
- beq _080BAC28
- movs r2, 0x1
-_080BAC28:
- lsls r2, 2
- ldrb r1, [r3, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- orrs r0, r2
- strb r0, [r3, 0x5]
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- ldrh r1, [r4, 0xE]
- strh r1, [r0, 0x2E]
- movs r2, 0x14
- ldrsh r1, [r4, r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- strh r5, [r0, 0x30]
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- movs r1, 0x5
- strh r1, [r0, 0x32]
- movs r2, 0x14
- ldrsh r1, [r4, r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r6, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, _080BAC90 @ =sub_80BACA8
- str r1, [r0]
- ldrh r0, [r4, 0x12]
- adds r0, 0x1
- strh r0, [r4, 0x12]
-_080BAC7E:
- ldrh r0, [r4, 0x10]
- subs r0, 0x1
- strh r0, [r4, 0x10]
- ldrh r0, [r4, 0xC]
- strh r0, [r4, 0xA]
- b _080BACA2
- .align 2, 0
-_080BAC8C: .4byte gSprites
-_080BAC90: .4byte sub_80BACA8
-_080BAC94:
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080BACA2
- adds r0, r2, 0
- bl DestroyAnimVisualTask
-_080BACA2:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80BABD0
-
- thumb_func_start sub_80BACA8
-sub_80BACA8: @ 80BACA8
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x2E]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _080BACBC
- subs r0, r1, 0x1
- strh r0, [r4, 0x2E]
- b _080BACE0
-_080BACBC:
- ldr r3, _080BACE8 @ =gTasks
- movs r0, 0x32
- ldrsh r1, [r4, r0]
- lsls r1, 1
- movs r0, 0x30
- ldrsh r2, [r4, r0]
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r3, 0x8
- adds r1, r3
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- adds r0, r4, 0
- bl obj_delete_but_dont_free_vram
-_080BACE0:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080BACE8: .4byte gTasks
- thumb_func_end sub_80BACA8
-
- thumb_func_start sub_80BACEC
-sub_80BACEC: @ 80BACEC
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x14
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- movs r7, 0
- ldr r0, _080BAE20 @ =gUnknown_2022984
- strh r7, [r0]
- ldr r0, _080BAE24 @ =gUnknown_2022986
- strh r7, [r0]
- ldr r1, _080BAE28 @ =0x00003f3f
- movs r0, 0x48
- bl SetGpuReg
- ldr r1, _080BAE2C @ =0x00003f3d
- movs r0, 0x4A
- bl SetGpuReg
- movs r1, 0x80
- lsls r1, 8
- movs r0, 0
- bl SetGpuRegBits
- ldr r1, _080BAE30 @ =0x00003f42
- movs r0, 0x50
- bl SetGpuReg
- ldr r1, _080BAE34 @ =0x00000c08
- movs r0, 0x52
- bl SetGpuReg
- movs r0, 0xA
- bl GetGpuReg
- add r4, sp, 0x10
- strh r0, [r4]
- ldrb r1, [r4]
- movs r0, 0x4
- negs r0, r0
- mov r8, r0
- ands r0, r1
- strb r0, [r4]
- mov r2, sp
- adds r2, 0x11
- ldrb r1, [r2]
- movs r0, 0x3F
- ands r0, r1
- strb r0, [r2]
- ldrh r1, [r4]
- movs r0, 0xA
- bl SetGpuReg
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _080BAD7A
- ldrb r1, [r4]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r4]
- ldrh r1, [r4]
- movs r0, 0xA
- bl SetGpuReg
-_080BAD7A:
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _080BADFE
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _080BADFE
- ldr r5, _080BAE38 @ =gBattleAnimAttacker
- ldrb r0, [r5]
- bl GetBattlerPosition
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- beq _080BADAA
- ldrb r0, [r5]
- bl GetBattlerPosition
- lsls r0, 24
- cmp r0, 0
- bne _080BADFE
-_080BADAA:
- ldrb r0, [r5]
- movs r6, 0x2
- eors r0, r6
- bl IsBattlerSpriteVisible
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080BADFE
- ldr r3, _080BAE3C @ =gSprites
- ldr r1, _080BAE40 @ =gBattlerSpriteIds
- ldrb r0, [r5]
- eors r0, r6
- adds r0, r1
- ldrb r0, [r0]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r3
- ldrb r3, [r2, 0x5]
- lsls r1, r3, 28
- lsrs r1, 30
- subs r1, 0x1
- movs r0, 0x3
- ands r1, r0
- lsls r1, 2
- movs r0, 0xD
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2, 0x5]
- ldrb r1, [r4]
- mov r0, r8
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r4]
- ldrh r1, [r4]
- movs r0, 0xA
- bl SetGpuReg
- movs r7, 0x1
-_080BADFE:
- ldr r4, _080BAE38 @ =gBattleAnimAttacker
- ldrb r0, [r4]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080BAE4C
- ldr r1, _080BAE44 @ =gBattlerPartyIndexes
- ldrb r0, [r4]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _080BAE48 @ =gEnemyParty
- b _080BAE5C
- .align 2, 0
-_080BAE20: .4byte gUnknown_2022984
-_080BAE24: .4byte gUnknown_2022986
-_080BAE28: .4byte 0x00003f3f
-_080BAE2C: .4byte 0x00003f3d
-_080BAE30: .4byte 0x00003f42
-_080BAE34: .4byte 0x00000c08
-_080BAE38: .4byte gBattleAnimAttacker
-_080BAE3C: .4byte gSprites
-_080BAE40: .4byte gBattlerSpriteIds
-_080BAE44: .4byte gBattlerPartyIndexes
-_080BAE48: .4byte gEnemyParty
-_080BAE4C:
- ldr r1, _080BAF0C @ =gBattlerPartyIndexes
- ldrb r0, [r4]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _080BAF10 @ =gPlayerParty
-_080BAE5C:
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r4, r0, 16
- movs r0, 0
- bl GetAnimBankSpriteId
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- ldr r0, _080BAF14 @ =gBattleAnimAttacker
- ldrb r0, [r0]
- adds r1, r5, 0
- adds r2, r4, 0
- bl sub_8076E34
- lsls r0, 24
- lsrs r4, r0, 24
- mov r0, sp
- bl sub_80752A0
- mov r0, sp
- ldrb r0, [r0, 0x9]
- ldr r1, _080BAF18 @ =gFile_graphics_battle_anims_masks_curse_tilemap
- bl sub_807543C
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _080BAEAC
- mov r0, sp
- ldrb r0, [r0, 0x8]
- ldr r1, [sp, 0x4]
- movs r2, 0
- movs r3, 0
- bl sub_80730C0
-_080BAEAC:
- mov r0, sp
- ldrb r0, [r0, 0x9]
- ldr r1, _080BAF1C @ =gFile_graphics_battle_anims_masks_curse_sheet
- mov r2, sp
- ldrh r2, [r2, 0xA]
- bl sub_80753B4
- ldr r0, _080BAF20 @ =gUnknown_83E7CC8
- mov r1, sp
- ldrb r1, [r1, 0x8]
- lsls r1, 4
- adds r1, 0x1
- movs r2, 0x2
- bl LoadPalette
- ldr r2, _080BAF24 @ =gBattle_BG1_X
- ldr r0, _080BAF28 @ =gSprites
- lsls r1, r5, 4
- adds r1, r5
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r1, 0x20]
- negs r0, r0
- adds r0, 0x20
- strh r0, [r2]
- ldr r2, _080BAF2C @ =gBattle_BG1_Y
- ldrh r0, [r1, 0x22]
- negs r0, r0
- adds r0, 0x20
- strh r0, [r2]
- ldr r1, _080BAF30 @ =gTasks
- mov r2, r9
- lsls r0, r2, 2
- add r0, r9
- lsls r0, 3
- adds r0, r1
- strh r4, [r0, 0x8]
- strh r7, [r0, 0x14]
- ldr r1, _080BAF34 @ =sub_80BAF38
- str r1, [r0]
- add sp, 0x14
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080BAF0C: .4byte gBattlerPartyIndexes
-_080BAF10: .4byte gPlayerParty
-_080BAF14: .4byte gBattleAnimAttacker
-_080BAF18: .4byte gFile_graphics_battle_anims_masks_curse_tilemap
-_080BAF1C: .4byte gFile_graphics_battle_anims_masks_curse_sheet
-_080BAF20: .4byte gUnknown_83E7CC8
-_080BAF24: .4byte gBattle_BG1_X
-_080BAF28: .4byte gSprites
-_080BAF2C: .4byte gBattle_BG1_Y
-_080BAF30: .4byte gTasks
-_080BAF34: .4byte sub_80BAF38
- thumb_func_end sub_80BACEC
-
- thumb_func_start sub_80BAF38
-sub_80BAF38: @ 80BAF38
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x14
- lsls r0, 24
- lsrs r0, 24
- adds r6, r0, 0
- ldr r1, _080BB068 @ =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r5, r0, r1
- ldrh r0, [r5, 0x1C]
- adds r0, 0x4
- movs r1, 0
- mov r8, r1
- strh r0, [r5, 0x1C]
- ldr r7, _080BB06C @ =gBattle_BG1_Y
- ldrh r2, [r7]
- subs r1, r2, 0x4
- strh r1, [r7]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x40
- bne _080BB05A
- mov r0, r8
- strh r0, [r5, 0x1C]
- adds r0, r2, 0
- adds r0, 0x3C
- strh r0, [r7]
- ldrh r0, [r5, 0x1E]
- adds r0, 0x1
- strh r0, [r5, 0x1E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- bne _080BB05A
- movs r0, 0
- bl sub_8073128
- ldr r0, _080BB070 @ =gUnknown_2022984
- mov r1, r8
- strh r1, [r0]
- ldr r0, _080BB074 @ =gUnknown_2022986
- strh r1, [r0]
- ldr r4, _080BB078 @ =0x00003f3f
- movs r0, 0x48
- adds r1, r4, 0
- bl SetGpuReg
- movs r0, 0x4A
- adds r1, r4, 0
- bl SetGpuReg
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _080BAFCA
- movs r0, 0xA
- bl GetGpuReg
- add r1, sp, 0x10
- strh r0, [r1]
- ldrb r2, [r1]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- ldrh r1, [r1]
- movs r0, 0xA
- bl SetGpuReg
-_080BAFCA:
- movs r0, 0
- bl GetGpuReg
- adds r1, r0, 0
- movs r2, 0x80
- lsls r2, 8
- adds r0, r2, 0
- eors r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0
- bl SetGpuReg
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- movs r0, 0
- bl GetAnimBankSpriteId
- ldr r4, _080BB07C @ =gSprites
- movs r0, 0x8
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySprite
- mov r0, sp
- bl sub_80752A0
- mov r0, sp
- ldrb r0, [r0, 0x9]
- bl sub_8075358
- movs r1, 0x14
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- bne _080BB050
- ldr r2, _080BB080 @ =gBattlerSpriteIds
- ldr r0, _080BB084 @ =gBattleAnimAttacker
- ldrb r1, [r0]
- movs r0, 0x2
- eors r0, r1
- adds r0, r2
- ldrb r0, [r0]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r4
- ldrb r3, [r2, 0x5]
- lsls r1, r3, 28
- lsrs r1, 30
- adds r1, 0x1
- movs r0, 0x3
- ands r1, r0
- lsls r1, 2
- movs r0, 0xD
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2, 0x5]
-_080BB050:
- mov r2, r8
- strh r2, [r7]
- adds r0, r6, 0
- bl DestroyAnimVisualTask
-_080BB05A:
- add sp, 0x14
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080BB068: .4byte gTasks
-_080BB06C: .4byte gBattle_BG1_Y
-_080BB070: .4byte gUnknown_2022984
-_080BB074: .4byte gUnknown_2022986
-_080BB078: .4byte 0x00003f3f
-_080BB07C: .4byte gSprites
-_080BB080: .4byte gBattlerSpriteIds
-_080BB084: .4byte gBattleAnimAttacker
- thumb_func_end sub_80BAF38
-
- thumb_func_start sub_80BB088
-sub_80BB088: @ 80BB088
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r4, _080BB0C8 @ =gUnknown_20399B4
- movs r0, 0x18
- bl AllocZeroed
- str r0, [r4]
- movs r2, 0
- ldr r3, _080BB0CC @ =gBattleAnimArgs
-_080BB09C:
- ldr r1, [r4]
- lsls r0, r2, 1
- adds r1, 0x4
- adds r1, r0
- adds r0, r3
- ldrh r0, [r0]
- strh r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x7
- bls _080BB09C
- ldr r0, _080BB0D0 @ =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, _080BB0D4 @ =sub_80BB0D8
- str r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080BB0C8: .4byte gUnknown_20399B4
-_080BB0CC: .4byte gBattleAnimArgs
-_080BB0D0: .4byte gTasks
-_080BB0D4: .4byte sub_80BB0D8
- thumb_func_end sub_80BB088
-
- thumb_func_start sub_80BB0D8
-sub_80BB0D8: @ 80BB0D8
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, _080BB0F0 @ =gUnknown_20399B4
- ldr r1, [r0]
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _080BB0F8
- ldr r0, _080BB0F4 @ =gBattleAnimAttacker
- b _080BB0FA
- .align 2, 0
-_080BB0F0: .4byte gUnknown_20399B4
-_080BB0F4: .4byte gBattleAnimAttacker
-_080BB0F8:
- ldr r0, _080BB230 @ =gBattleAnimTarget
-_080BB0FA:
- ldrb r0, [r0]
- strb r0, [r1]
- ldr r4, _080BB234 @ =gUnknown_20399B4
- ldr r2, [r4]
- ldrb r0, [r2]
- movs r1, 0x2
- eors r0, r1
- strb r0, [r2, 0x1]
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _080BB12A
- ldr r1, [r4]
- movs r2, 0xA
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _080BB130
- ldrb r0, [r1, 0x1]
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- bne _080BB130
-_080BB12A:
- ldr r1, [r4]
- movs r0, 0
- strh r0, [r1, 0xA]
-_080BB130:
- ldr r0, _080BB238 @ =gUnknown_2022984
- movs r1, 0
- strh r1, [r0]
- ldr r0, _080BB23C @ =gUnknown_2022986
- strh r1, [r0]
- ldr r1, _080BB240 @ =0x00003f3f
- movs r0, 0x48
- bl SetGpuReg
- ldr r1, _080BB244 @ =0x00003f3d
- movs r0, 0x4A
- bl SetGpuReg
- movs r1, 0x80
- lsls r1, 8
- movs r0, 0
- bl SetGpuRegBits
- ldr r1, _080BB248 @ =0x00003f42
- movs r0, 0x50
- bl SetGpuReg
- movs r1, 0x80
- lsls r1, 5
- movs r0, 0x52
- bl SetGpuReg
- movs r0, 0x1
- movs r1, 0x4
- movs r2, 0
- bl SetAnimBgAttribute
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl SetAnimBgAttribute
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _080BB18E
- movs r0, 0x1
- movs r1, 0x3
- movs r2, 0x1
- bl SetAnimBgAttribute
-_080BB18E:
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _080BB20A
- ldr r4, _080BB234 @ =gUnknown_20399B4
- ldr r1, [r4]
- movs r2, 0xA
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _080BB20A
- ldrb r0, [r1]
- bl GetBattlerPosition
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- beq _080BB1C0
- ldr r0, [r4]
- ldrb r0, [r0]
- bl GetBattlerPosition
- lsls r0, 24
- cmp r0, 0
- bne _080BB20A
-_080BB1C0:
- ldr r0, [r4]
- ldrb r0, [r0, 0x1]
- bl IsBattlerSpriteVisible
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x1
- bne _080BB20A
- ldr r3, _080BB24C @ =gSprites
- ldr r1, _080BB250 @ =gBattlerSpriteIds
- ldr r0, [r4]
- ldrb r0, [r0, 0x1]
- adds r0, r1
- ldrb r0, [r0]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r3
- ldrb r3, [r2, 0x5]
- lsls r1, r3, 28
- lsrs r1, 30
- subs r1, 0x1
- movs r0, 0x3
- ands r1, r0
- lsls r1, 2
- movs r0, 0xD
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2, 0x5]
- movs r0, 0x1
- movs r1, 0x4
- movs r2, 0x1
- bl SetAnimBgAttribute
- ldr r0, [r4]
- strb r5, [r0, 0x2]
-_080BB20A:
- ldr r4, _080BB234 @ =gUnknown_20399B4
- ldr r0, [r4]
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080BB25C
- ldr r1, _080BB254 @ =gBattlerPartyIndexes
- ldr r0, [r4]
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _080BB258 @ =gEnemyParty
- b _080BB26E
- .align 2, 0
-_080BB230: .4byte gBattleAnimTarget
-_080BB234: .4byte gUnknown_20399B4
-_080BB238: .4byte gUnknown_2022984
-_080BB23C: .4byte gUnknown_2022986
-_080BB240: .4byte 0x00003f3f
-_080BB244: .4byte 0x00003f3d
-_080BB248: .4byte 0x00003f42
-_080BB24C: .4byte gSprites
-_080BB250: .4byte gBattlerSpriteIds
-_080BB254: .4byte gBattlerPartyIndexes
-_080BB258: .4byte gEnemyParty
-_080BB25C:
- ldr r1, _080BB290 @ =gBattlerPartyIndexes
- ldr r0, [r4]
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _080BB294 @ =gPlayerParty
-_080BB26E:
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- ldr r1, [r4]
- strh r0, [r1, 0x14]
- ldr r0, _080BB298 @ =gTasks
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r0
- ldr r0, _080BB29C @ =sub_80BB2A0
- str r0, [r1]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080BB290: .4byte gBattlerPartyIndexes
-_080BB294: .4byte gPlayerParty
-_080BB298: .4byte gTasks
-_080BB29C: .4byte sub_80BB2A0
- thumb_func_end sub_80BB0D8
-
- thumb_func_start sub_80BB2A0
-sub_80BB2A0: @ 80BB2A0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x10
- lsls r0, 24
- lsrs r5, r0, 24
- movs r0, 0
- mov r8, r0
- ldr r6, _080BB300 @ =gBattlerSpriteIds
- ldr r4, _080BB304 @ =gUnknown_20399B4
- ldr r2, [r4]
- ldrb r0, [r2]
- adds r1, r0, r6
- ldrb r1, [r1]
- ldrh r2, [r2, 0x14]
- bl sub_8076E34
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r2, [r4]
- movs r1, 0xA
- ldrsh r0, [r2, r1]
- cmp r0, 0
- beq _080BB2E2
- ldrb r0, [r2, 0x1]
- adds r1, r0, r6
- ldrb r1, [r1]
- ldrh r2, [r2, 0x14]
- bl sub_8076E34
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
-_080BB2E2:
- mov r0, sp
- bl sub_80752A0
- ldr r0, [r4]
- movs r4, 0x4
- ldrsh r0, [r0, r4]
- cmp r0, 0
- bne _080BB30C
- mov r0, sp
- ldrb r0, [r0, 0x9]
- ldr r1, _080BB308 @ =gFile_graphics_battle_anims_masks_stat_tilemap_1_tilemap
- bl sub_807543C
- b _080BB316
- .align 2, 0
-_080BB300: .4byte gBattlerSpriteIds
-_080BB304: .4byte gUnknown_20399B4
-_080BB308: .4byte gFile_graphics_battle_anims_masks_stat_tilemap_1_tilemap
-_080BB30C:
- mov r0, sp
- ldrb r0, [r0, 0x9]
- ldr r1, _080BB354 @ =gFile_graphics_battle_anims_masks_stat_tilemap_2_tilemap
- bl sub_807543C
-_080BB316:
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _080BB32E
- mov r0, sp
- ldrb r0, [r0, 0x8]
- ldr r1, [sp, 0x4]
- movs r2, 0
- movs r3, 0
- bl sub_80730C0
-_080BB32E:
- mov r0, sp
- ldrb r0, [r0, 0x9]
- ldr r1, _080BB358 @ =gFile_graphics_battle_anims_masks_stat_sheet
- mov r2, sp
- ldrh r2, [r2, 0xA]
- bl sub_80753B4
- ldr r0, _080BB35C @ =gUnknown_20399B4
- ldr r0, [r0]
- movs r1, 0x6
- ldrsh r0, [r0, r1]
- cmp r0, 0x6
- bhi _080BB3C4
- lsls r0, 2
- ldr r1, _080BB360 @ =_080BB364
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080BB354: .4byte gFile_graphics_battle_anims_masks_stat_tilemap_2_tilemap
-_080BB358: .4byte gFile_graphics_battle_anims_masks_stat_sheet
-_080BB35C: .4byte gUnknown_20399B4
-_080BB360: .4byte _080BB364
- .align 2, 0
-_080BB364:
- .4byte _080BB380
- .4byte _080BB388
- .4byte _080BB390
- .4byte _080BB398
- .4byte _080BB3A0
- .4byte _080BB3A8
- .4byte _080BB3B0
-_080BB380:
- ldr r0, _080BB384 @ =gFile_graphics_battle_anims_masks_stat2_palette
- b _080BB3B2
- .align 2, 0
-_080BB384: .4byte gFile_graphics_battle_anims_masks_stat2_palette
-_080BB388:
- ldr r0, _080BB38C @ =gFile_graphics_battle_anims_masks_stat1_palette
- b _080BB3B2
- .align 2, 0
-_080BB38C: .4byte gFile_graphics_battle_anims_masks_stat1_palette
-_080BB390:
- ldr r0, _080BB394 @ =gFile_graphics_battle_anims_masks_stat3_palette
- b _080BB3B2
- .align 2, 0
-_080BB394: .4byte gFile_graphics_battle_anims_masks_stat3_palette
-_080BB398:
- ldr r0, _080BB39C @ =gFile_graphics_battle_anims_masks_stat4_palette
- b _080BB3B2
- .align 2, 0
-_080BB39C: .4byte gFile_graphics_battle_anims_masks_stat4_palette
-_080BB3A0:
- ldr r0, _080BB3A4 @ =gFile_graphics_battle_anims_masks_stat6_palette
- b _080BB3B2
- .align 2, 0
-_080BB3A4: .4byte gFile_graphics_battle_anims_masks_stat6_palette
-_080BB3A8:
- ldr r0, _080BB3AC @ =gFile_graphics_battle_anims_masks_stat7_palette
- b _080BB3B2
- .align 2, 0
-_080BB3AC: .4byte gFile_graphics_battle_anims_masks_stat7_palette
-_080BB3B0:
- ldr r0, _080BB3C0 @ =gFile_graphics_battle_anims_masks_stat8_palette
-_080BB3B2:
- mov r1, sp
- ldrb r1, [r1, 0x8]
- lsls r1, 4
- movs r2, 0x20
- bl LoadCompressedPalette
- b _080BB3D2
- .align 2, 0
-_080BB3C0: .4byte gFile_graphics_battle_anims_masks_stat8_palette
-_080BB3C4:
- ldr r0, _080BB3FC @ =gFile_graphics_battle_anims_masks_stat5_palette
- mov r1, sp
- ldrb r1, [r1, 0x8]
- lsls r1, 4
- movs r2, 0x20
- bl LoadCompressedPalette
-_080BB3D2:
- ldr r3, _080BB400 @ =gBattle_BG1_X
- movs r2, 0
- strh r2, [r3]
- ldr r0, _080BB404 @ =gBattle_BG1_Y
- strh r2, [r0]
- ldr r1, _080BB408 @ =gUnknown_20399B4
- ldr r0, [r1]
- movs r4, 0x4
- ldrsh r0, [r0, r4]
- adds r4, r1, 0
- cmp r0, 0x1
- bne _080BB414
- movs r0, 0x40
- strh r0, [r3]
- ldr r2, _080BB40C @ =gTasks
- lsls r3, r5, 2
- adds r0, r3, r5
- lsls r0, 3
- adds r0, r2
- ldr r1, _080BB410 @ =0x0000fffd
- b _080BB420
- .align 2, 0
-_080BB3FC: .4byte gFile_graphics_battle_anims_masks_stat5_palette
-_080BB400: .4byte gBattle_BG1_X
-_080BB404: .4byte gBattle_BG1_Y
-_080BB408: .4byte gUnknown_20399B4
-_080BB40C: .4byte gTasks
-_080BB410: .4byte 0x0000fffd
-_080BB414:
- ldr r2, _080BB43C @ =gTasks
- lsls r3, r5, 2
- adds r0, r3, r5
- lsls r0, 3
- adds r0, r2
- movs r1, 0x3
-_080BB420:
- strh r1, [r0, 0xA]
- ldr r0, [r4]
- movs r1, 0xC
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080BB440
- adds r0, r3, r5
- lsls r0, 3
- adds r0, r2
- movs r1, 0xA
- strh r1, [r0, 0x10]
- movs r1, 0x14
- b _080BB44C
- .align 2, 0
-_080BB43C: .4byte gTasks
-_080BB440:
- adds r0, r3, r5
- lsls r0, 3
- adds r0, r2
- movs r1, 0xD
- strh r1, [r0, 0x10]
- movs r1, 0x1E
-_080BB44C:
- strh r1, [r0, 0x12]
- adds r1, r3, r5
- lsls r1, 3
- adds r1, r2
- strh r7, [r1, 0x8]
- ldr r3, [r4]
- ldrh r0, [r3, 0xA]
- strh r0, [r1, 0xC]
- mov r4, r8
- strh r4, [r1, 0xE]
- ldrb r0, [r3, 0x2]
- strh r0, [r1, 0x14]
- ldr r2, _080BB490 @ =gBattlerSpriteIds
- ldrb r0, [r3, 0x1]
- adds r0, r2
- ldrb r0, [r0]
- strh r0, [r1, 0x16]
- ldr r0, _080BB494 @ =sub_80BB4B8
- str r0, [r1]
- movs r1, 0x4
- ldrsh r0, [r3, r1]
- cmp r0, 0
- bne _080BB498
- movs r0, 0x40
- negs r0, r0
- bl sub_8073B08
- adds r1, r0, 0
- lsls r1, 24
- asrs r1, 24
- movs r0, 0xE8
- bl PlaySE12WithPanning
- b _080BB4AC
- .align 2, 0
-_080BB490: .4byte gBattlerSpriteIds
-_080BB494: .4byte sub_80BB4B8
-_080BB498:
- movs r0, 0x40
- negs r0, r0
- bl sub_8073B08
- adds r1, r0, 0
- lsls r1, 24
- asrs r1, 24
- movs r0, 0xEE
- bl PlaySE12WithPanning
-_080BB4AC:
- add sp, 0x10
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80BB2A0
-
- thumb_func_start sub_80BB4B8
-sub_80BB4B8: @ 80BB4B8
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r2, _080BB4E4 @ =gBattle_BG1_Y
- ldr r1, _080BB4E8 @ =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r5, r0, r1
- ldrh r0, [r5, 0xA]
- ldrh r1, [r2]
- adds r0, r1
- strh r0, [r2]
- movs r0, 0x26
- ldrsh r2, [r5, r0]
- cmp r2, 0x1
- beq _080BB52E
- cmp r2, 0x1
- bgt _080BB4EC
- cmp r2, 0
- beq _080BB4F6
- b _080BB644
- .align 2, 0
-_080BB4E4: .4byte gBattle_BG1_Y
-_080BB4E8: .4byte gTasks
-_080BB4EC:
- cmp r2, 0x2
- beq _080BB544
- cmp r2, 0x3
- beq _080BB582
- b _080BB644
-_080BB4F6:
- ldrh r0, [r5, 0x1E]
- adds r1, r0, 0x1
- strh r1, [r5, 0x1E]
- lsls r0, 16
- cmp r0, 0
- bgt _080BB504
- b _080BB644
-_080BB504:
- strh r2, [r5, 0x1E]
- ldrh r1, [r5, 0x20]
- adds r1, 0x1
- strh r1, [r5, 0x20]
- movs r0, 0x10
- subs r0, r1
- lsls r0, 8
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- movs r2, 0x20
- ldrsh r1, [r5, r2]
- movs r2, 0x10
- ldrsh r0, [r5, r2]
- cmp r1, r0
- beq _080BB52C
- b _080BB644
-_080BB52C:
- b _080BB57A
-_080BB52E:
- ldrh r0, [r5, 0x1C]
- adds r0, 0x1
- strh r0, [r5, 0x1C]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x12
- ldrsh r1, [r5, r2]
- cmp r0, r1
- beq _080BB542
- b _080BB644
-_080BB542:
- b _080BB57A
-_080BB544:
- ldrh r0, [r5, 0x1E]
- adds r1, r0, 0x1
- strh r1, [r5, 0x1E]
- lsls r0, 16
- cmp r0, 0
- ble _080BB644
- movs r0, 0
- strh r0, [r5, 0x1E]
- ldrh r1, [r5, 0x20]
- subs r1, 0x1
- strh r1, [r5, 0x20]
- movs r0, 0x10
- subs r0, r1
- lsls r0, 8
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- movs r1, 0x20
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _080BB644
- movs r0, 0
- bl sub_8073128
-_080BB57A:
- ldrh r0, [r5, 0x26]
- adds r0, 0x1
- strh r0, [r5, 0x26]
- b _080BB644
-_080BB582:
- ldr r0, _080BB64C @ =gUnknown_2022984
- movs r1, 0
- strh r1, [r0]
- ldr r0, _080BB650 @ =gUnknown_2022986
- strh r1, [r0]
- ldr r4, _080BB654 @ =0x00003f3f
- movs r0, 0x48
- adds r1, r4, 0
- bl SetGpuReg
- movs r0, 0x4A
- adds r1, r4, 0
- bl SetGpuReg
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _080BB5B2
- movs r0, 0x1
- movs r1, 0x3
- movs r2, 0
- bl SetAnimBgAttribute
-_080BB5B2:
- movs r0, 0
- bl GetGpuReg
- adds r1, r0, 0
- movs r2, 0x80
- lsls r2, 8
- adds r0, r2, 0
- eors r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0
- bl SetGpuReg
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x8
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, _080BB658 @ =gSprites
- adds r0, r4
- bl DestroySprite
- movs r1, 0xC
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _080BB606
- movs r2, 0xE
- ldrsh r1, [r5, r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySprite
-_080BB606:
- movs r1, 0x14
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- bne _080BB632
- movs r2, 0x16
- ldrsh r0, [r5, r2]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r4
- ldrb r3, [r2, 0x5]
- lsls r1, r3, 28
- lsrs r1, 30
- adds r1, 0x1
- movs r0, 0x3
- ands r1, r0
- lsls r1, 2
- movs r0, 0xD
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2, 0x5]
-_080BB632:
- ldr r4, _080BB65C @ =gUnknown_20399B4
- ldr r0, [r4]
- bl Free
- movs r0, 0
- str r0, [r4]
- adds r0, r6, 0
- bl DestroyAnimVisualTask
-_080BB644:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080BB64C: .4byte gUnknown_2022984
-_080BB650: .4byte gUnknown_2022986
-_080BB654: .4byte 0x00003f3f
-_080BB658: .4byte gSprites
-_080BB65C: .4byte gUnknown_20399B4
- thumb_func_end sub_80BB4B8
-
- thumb_func_start sub_80BB660
-sub_80BB660: @ 80BB660
- push {r4-r6,lr}
- sub sp, 0xC
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0x1
- movs r3, 0x1
- bl sub_8075CB8
- adds r6, r0, 0
- movs r1, 0
- bl sub_80BB790
- ldr r0, _080BB6C0 @ =gTasks
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- adds r4, r0
- lsrs r0, r6, 16
- movs r5, 0
- strh r0, [r4, 0x24]
- str r5, [sp]
- str r5, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_8075BE8
- adds r6, r0, 0
- ldr r1, _080BB6C4 @ =0x0000ffff
- ands r6, r1
- adds r0, r6, 0
- bl sub_80BB790
- strh r6, [r4, 0x26]
- strh r5, [r4, 0x8]
- strh r5, [r4, 0xA]
- ldr r0, _080BB6C8 @ =sub_80BB6CC
- str r0, [r4]
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080BB6C0: .4byte gTasks
-_080BB6C4: .4byte 0x0000ffff
-_080BB6C8: .4byte sub_80BB6CC
- thumb_func_end sub_80BB660
-
- thumb_func_start sub_80BB6CC
-sub_80BB6CC: @ 80BB6CC
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, _080BB6F0 @ =gTasks
- adds r4, r0, r1
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- cmp r1, 0x1
- beq _080BB710
- cmp r1, 0x1
- bgt _080BB6F4
- cmp r1, 0
- beq _080BB6FA
- b _080BB78A
- .align 2, 0
-_080BB6F0: .4byte gTasks
-_080BB6F4:
- cmp r1, 0x2
- beq _080BB784
- b _080BB78A
-_080BB6FA:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x6
- ble _080BB78A
- strh r1, [r4, 0xA]
- movs r0, 0x10
- strh r0, [r4, 0xC]
- b _080BB778
-_080BB710:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _080BB78A
- movs r0, 0
- strh r0, [r4, 0xA]
- ldrh r0, [r4, 0xC]
- subs r0, 0x1
- strh r0, [r4, 0xC]
- movs r5, 0
- movs r6, 0x1
-_080BB72C:
- movs r1, 0x26
- ldrsh r0, [r4, r1]
- asrs r0, r5
- ands r0, r6
- cmp r0, 0
- beq _080BB746
- lsls r0, r5, 20
- lsrs r0, 16
- ldrb r2, [r4, 0xC]
- movs r1, 0x10
- ldr r3, _080BB780 @ =0x0000ffff
- bl BlendPalette
-_080BB746:
- movs r1, 0x24
- ldrsh r0, [r4, r1]
- asrs r0, r5
- ands r0, r6
- cmp r0, 0
- beq _080BB766
- lsls r0, r5, 20
- movs r1, 0x80
- lsls r1, 17
- adds r0, r1
- lsrs r0, 16
- ldrb r2, [r4, 0xC]
- movs r1, 0x10
- movs r3, 0
- bl BlendPalette
-_080BB766:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0xF
- bls _080BB72C
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080BB78A
-_080BB778:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080BB78A
- .align 2, 0
-_080BB780: .4byte 0x0000ffff
-_080BB784:
- adds r0, r2, 0
- bl DestroyAnimVisualTask
-_080BB78A:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80BB6CC
-
- thumb_func_start sub_80BB790
-sub_80BB790: @ 80BB790
- push {r4-r6,lr}
- adds r3, r0, 0
- lsls r1, 16
- lsrs r6, r1, 16
- movs r2, 0
-_080BB79A:
- movs r0, 0x1
- ands r0, r3
- lsrs r4, r3, 1
- adds r5, r2, 0x1
- cmp r0, 0
- beq _080BB7C6
- lsls r0, r2, 20
- lsrs r2, r0, 16
- adds r0, r2, 0
- adds r0, 0x10
- cmp r2, r0
- bge _080BB7C6
- ldr r1, _080BB7D8 @ =gPlttBufferFaded
- adds r3, r0, 0
-_080BB7B6:
- lsls r0, r2, 1
- adds r0, r1
- strh r6, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, r3
- blt _080BB7B6
-_080BB7C6:
- adds r3, r4, 0
- lsls r0, r5, 16
- lsrs r2, r0, 16
- cmp r2, 0x1F
- bls _080BB79A
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080BB7D8: .4byte gPlttBufferFaded
- thumb_func_end sub_80BB790
-
- thumb_func_start sub_80BB7DC
-sub_80BB7DC: @ 80BB7DC
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r4, 0
- movs r2, 0
- ldr r0, _080BB824 @ =gBattleAnimAttacker
- ldrb r3, [r0]
- movs r5, 0x1
-_080BB7EC:
- cmp r3, r2
- beq _080BB7FA
- adds r1, r2, 0
- adds r1, 0x10
- adds r0, r5, 0
- lsls r0, r1
- orrs r4, r0
-_080BB7FA:
- adds r2, 0x1
- cmp r2, 0x3
- bls _080BB7EC
- movs r2, 0x5
- ldr r0, _080BB828 @ =gBattleAnimArgs
- adds r1, r0, 0
- adds r1, 0x8
-_080BB808:
- ldrh r0, [r1]
- strh r0, [r1, 0x2]
- subs r1, 0x2
- subs r2, 0x1
- cmp r2, 0
- bne _080BB808
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80BAA4C
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080BB824: .4byte gBattleAnimAttacker
-_080BB828: .4byte gBattleAnimArgs
- thumb_func_end sub_80BB7DC
-
- thumb_func_start sub_80BB82C
-sub_80BB82C: @ 80BB82C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r0, 0
- bl sub_8075458
- ldr r0, _080BB894 @ =sub_80BB8A4
- movs r1, 0x5
- bl CreateTask
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r4, _080BB898 @ =gBattleAnimArgs
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080BB868
- ldr r0, _080BB89C @ =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080BB868
- ldrh r0, [r4]
- negs r0, r0
- strh r0, [r4]
- ldrh r0, [r4, 0x2]
- negs r0, r0
- strh r0, [r4, 0x2]
-_080BB868:
- ldr r0, _080BB8A0 @ =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r2, _080BB898 @ =gBattleAnimArgs
- ldrh r0, [r2]
- strh r0, [r1, 0xA]
- ldrh r0, [r2, 0x2]
- strh r0, [r1, 0xC]
- ldrh r0, [r2, 0x6]
- strh r0, [r1, 0xE]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- adds r0, r6, 0
- bl DestroyAnimVisualTask
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080BB894: .4byte sub_80BB8A4
-_080BB898: .4byte gBattleAnimArgs
-_080BB89C: .4byte gBattleAnimAttacker
-_080BB8A0: .4byte gTasks
- thumb_func_end sub_80BB82C
-
- thumb_func_start sub_80BB8A4
-sub_80BB8A4: @ 80BB8A4
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _080BB910 @ =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldrh r3, [r1, 0xA]
- ldrh r0, [r1, 0x1C]
- adds r3, r0
- movs r4, 0
- mov r12, r4
- strh r3, [r1, 0x1C]
- ldrh r2, [r1, 0xC]
- ldrh r7, [r1, 0x1E]
- adds r2, r7
- strh r2, [r1, 0x1E]
- ldr r6, _080BB914 @ =gBattle_BG3_X
- lsls r0, r3, 16
- asrs r0, 24
- ldrh r4, [r6]
- adds r0, r4
- strh r0, [r6]
- ldr r4, _080BB918 @ =gBattle_BG3_Y
- lsls r0, r2, 16
- asrs r0, 24
- ldrh r7, [r4]
- adds r0, r7
- strh r0, [r4]
- movs r0, 0xFF
- ands r3, r0
- strh r3, [r1, 0x1C]
- ands r2, r0
- strh r2, [r1, 0x1E]
- ldr r0, _080BB91C @ =gBattleAnimArgs
- movs r3, 0xE
- ldrsh r2, [r0, r3]
- movs r7, 0xE
- ldrsh r0, [r1, r7]
- cmp r2, r0
- bne _080BB90A
- mov r0, r12
- strh r0, [r6]
- strh r0, [r4]
- movs r0, 0x1
- bl sub_8075458
- adds r0, r5, 0
- bl DestroyTask
-_080BB90A:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080BB910: .4byte gTasks
-_080BB914: .4byte gBattle_BG3_X
-_080BB918: .4byte gBattle_BG3_Y
-_080BB91C: .4byte gBattleAnimArgs
- thumb_func_end sub_80BB8A4
-
- thumb_func_start sub_80BB920
-sub_80BB920: @ 80BB920
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _080BB944 @ =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- ldr r1, _080BB948 @ =gBattleAnimArgs
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0xE]
- adds r0, r4, 0
- bl DestroyAnimVisualTask
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080BB944: .4byte gBattleAnimAttacker
-_080BB948: .4byte gBattleAnimArgs
- thumb_func_end sub_80BB920
-
- thumb_func_start sub_80BB94C
-sub_80BB94C: @ 80BB94C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _080BB970 @ =gBattleAnimTarget
- ldrb r0, [r0]
- bl GetBattlerSide
- ldr r1, _080BB974 @ =gBattleAnimArgs
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0xE]
- adds r0, r4, 0
- bl DestroyAnimVisualTask
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080BB970: .4byte gBattleAnimTarget
-_080BB974: .4byte gBattleAnimArgs
- thumb_func_end sub_80BB94C
-
- thumb_func_start sub_80BB978
-sub_80BB978: @ 80BB978
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r5, _080BB9A4 @ =gBattleAnimArgs
- movs r4, 0
- ldr r0, _080BB9A8 @ =gBattleAnimAttacker
- ldrb r2, [r0]
- movs r0, 0x2
- ldr r1, _080BB9AC @ =gBattleAnimTarget
- eors r0, r2
- ldrb r1, [r1]
- cmp r0, r1
- bne _080BB994
- movs r4, 0x1
-_080BB994:
- strh r4, [r5, 0xE]
- adds r0, r3, 0
- bl DestroyAnimVisualTask
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080BB9A4: .4byte gBattleAnimArgs
-_080BB9A8: .4byte gBattleAnimAttacker
-_080BB9AC: .4byte gBattleAnimTarget
- thumb_func_end sub_80BB978
-
- thumb_func_start sub_80BB9B0
-sub_80BB9B0: @ 80BB9B0
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- ldr r6, _080BBA10 @ =gSprites
-_080BB9BA:
- ldr r0, _080BBA14 @ =gBattleAnimAttacker
- ldrb r0, [r0]
- cmp r4, r0
- beq _080BB9F8
- lsls r0, r4, 24
- lsrs r0, 24
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _080BB9F8
- ldr r0, _080BBA18 @ =gBattlerSpriteIds
- adds r0, r4, r0
- ldrb r0, [r0]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r6
- ldr r1, _080BBA1C @ =gBattleAnimArgs
- adds r2, 0x3E
- movs r0, 0x1
- ldrb r3, [r1]
- ands r3, r0
- lsls r3, 2
- ldrb r0, [r2]
- movs r7, 0x5
- negs r7, r7
- adds r1, r7, 0
- ands r0, r1
- orrs r0, r3
- strb r0, [r2]
-_080BB9F8:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x3
- bls _080BB9BA
- adds r0, r5, 0
- bl DestroyAnimVisualTask
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080BBA10: .4byte gSprites
-_080BBA14: .4byte gBattleAnimAttacker
-_080BBA18: .4byte gBattlerSpriteIds
-_080BBA1C: .4byte gBattleAnimArgs
- thumb_func_end sub_80BB9B0
-
- thumb_func_start sub_80BBA20
-sub_80BBA20: @ 80BBA20
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x24
- ldr r1, [sp, 0x44]
- ldr r4, [sp, 0x48]
- ldr r5, [sp, 0x4C]
- ldr r6, [sp, 0x50]
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- lsls r2, 16
- lsrs r2, 16
- str r2, [sp, 0x14]
- lsls r3, 24
- lsrs r7, r3, 24
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- lsls r4, 24
- lsrs r4, 24
- str r4, [sp, 0x18]
- lsls r5, 24
- lsrs r5, 24
- str r5, [sp, 0x1C]
- lsls r6, 24
- lsrs r6, 24
- mov r10, r6
- movs r0, 0
- str r0, [sp, 0x20]
- movs r0, 0x2
- adds r6, r7, 0
- eors r6, r0
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _080BBA82
- mov r1, r8
- cmp r1, 0
- beq _080BBA86
- adds r0, r6, 0
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- bne _080BBA86
-_080BBA82:
- movs r2, 0
- mov r8, r2
-_080BBA86:
- ldr r0, _080BBB20 @ =gUnknown_2022984
- movs r1, 0
- strh r1, [r0]
- ldr r0, _080BBB24 @ =gUnknown_2022986
- strh r1, [r0]
- ldr r1, _080BBB28 @ =0x00003f3f
- movs r0, 0x48
- bl SetGpuReg
- ldr r1, _080BBB2C @ =0x00003f3d
- movs r0, 0x4A
- bl SetGpuReg
- movs r1, 0x80
- lsls r1, 8
- movs r0, 0
- bl SetGpuRegBits
- ldr r1, _080BBB30 @ =0x00003f42
- movs r0, 0x50
- bl SetGpuReg
- movs r1, 0x80
- lsls r1, 5
- movs r0, 0x52
- bl SetGpuReg
- movs r0, 0xA
- bl GetGpuReg
- add r4, sp, 0x10
- strh r0, [r4]
- ldrb r1, [r4]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- strb r0, [r4]
- mov r2, sp
- adds r2, 0x11
- ldrb r1, [r2]
- movs r0, 0x3F
- ands r0, r1
- strb r0, [r2]
- ldrb r0, [r2]
- movs r1, 0x20
- orrs r0, r1
- strb r0, [r2]
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _080BBAFC
- ldrb r0, [r4]
- movs r1, 0xD
- negs r1, r1
- ands r1, r0
- movs r0, 0x4
- orrs r1, r0
- strb r1, [r4]
-_080BBAFC:
- ldrh r1, [r4]
- movs r0, 0xA
- bl SetGpuReg
- adds r0, r7, 0
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080BBB3C
- ldr r1, _080BBB34 @ =gBattlerPartyIndexes
- lsls r0, r7, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _080BBB38 @ =gEnemyParty
- b _080BBB4A
- .align 2, 0
-_080BBB20: .4byte gUnknown_2022984
-_080BBB24: .4byte gUnknown_2022986
-_080BBB28: .4byte 0x00003f3f
-_080BBB2C: .4byte 0x00003f3d
-_080BBB30: .4byte 0x00003f42
-_080BBB34: .4byte gBattlerPartyIndexes
-_080BBB38: .4byte gEnemyParty
-_080BBB3C:
- ldr r1, _080BBC10 @ =gBattlerPartyIndexes
- lsls r0, r7, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _080BBC14 @ =gPlayerParty
-_080BBB4A:
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r5, _080BBC18 @ =gBattlerSpriteIds
- adds r0, r7, r5
- ldrb r1, [r0]
- adds r0, r7, 0
- adds r2, r4, 0
- bl sub_8076E34
- lsls r0, 24
- lsrs r7, r0, 24
- mov r0, r8
- cmp r0, 0
- beq _080BBB80
- adds r0, r6, r5
- ldrb r1, [r0]
- adds r0, r6, 0
- adds r2, r4, 0
- bl sub_8076E34
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x20]
-_080BBB80:
- mov r0, sp
- bl sub_80752A0
- mov r0, sp
- ldrb r0, [r0, 0x9]
- ldr r1, [sp, 0x58]
- bl sub_807543C
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _080BBBA8
- mov r0, sp
- ldrb r0, [r0, 0x8]
- ldr r1, [sp, 0x4]
- movs r2, 0
- movs r3, 0
- bl sub_80730C0
-_080BBBA8:
- mov r0, sp
- ldrb r0, [r0, 0x9]
- mov r1, sp
- ldrh r2, [r1, 0xA]
- ldr r1, [sp, 0x54]
- bl sub_80753B4
- mov r0, sp
- ldrb r1, [r0, 0x8]
- lsls r1, 4
- ldr r0, [sp, 0x5C]
- movs r2, 0x20
- bl LoadCompressedPalette
- ldr r0, _080BBC1C @ =gBattle_BG1_X
- movs r1, 0
- strh r1, [r0]
- ldr r0, _080BBC20 @ =gBattle_BG1_Y
- strh r1, [r0]
- ldr r1, _080BBC24 @ =gTasks
- mov r2, r9
- lsls r0, r2, 2
- add r0, r9
- lsls r0, 3
- adds r0, r1
- mov r1, sp
- ldrh r1, [r1, 0x14]
- strh r1, [r0, 0xA]
- mov r2, sp
- ldrh r2, [r2, 0x18]
- strh r2, [r0, 0x10]
- mov r1, r10
- strh r1, [r0, 0x12]
- mov r2, sp
- ldrh r2, [r2, 0x1C]
- strh r2, [r0, 0x14]
- strh r7, [r0, 0x8]
- mov r1, r8
- strh r1, [r0, 0xC]
- mov r2, sp
- ldrh r2, [r2, 0x20]
- strh r2, [r0, 0xE]
- ldr r1, _080BBC28 @ =sub_80BBC2C
- str r1, [r0]
- add sp, 0x24
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080BBC10: .4byte gBattlerPartyIndexes
-_080BBC14: .4byte gPlayerParty
-_080BBC18: .4byte gBattlerSpriteIds
-_080BBC1C: .4byte gBattle_BG1_X
-_080BBC20: .4byte gBattle_BG1_Y
-_080BBC24: .4byte gTasks
-_080BBC28: .4byte sub_80BBC2C
- thumb_func_end sub_80BBA20
-
- thumb_func_start sub_80BBC2C
-sub_80BBC2C: @ 80BBC2C
- push {r4-r6,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, _080BBC68 @ =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r3, r0, r1
- movs r0, 0xA
- ldrsh r2, [r3, r0]
- adds r5, r1, 0
- cmp r2, 0
- bge _080BBC4A
- negs r2, r2
-_080BBC4A:
- ldrh r0, [r3, 0x22]
- adds r4, r0, r2
- strh r4, [r3, 0x22]
- movs r1, 0xA
- ldrsh r0, [r3, r1]
- cmp r0, 0
- bge _080BBC70
- ldr r2, _080BBC6C @ =gBattle_BG1_Y
- lsls r1, r4, 16
- asrs r1, 24
- ldrh r0, [r2]
- subs r0, r1
- strh r0, [r2]
- b _080BBC7C
- .align 2, 0
-_080BBC68: .4byte gTasks
-_080BBC6C: .4byte gBattle_BG1_Y
-_080BBC70:
- ldr r1, _080BBCA0 @ =gBattle_BG1_Y
- lsls r0, r4, 16
- asrs r0, 24
- ldrh r2, [r1]
- adds r0, r2
- strh r0, [r1]
-_080BBC7C:
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r5, r0, r5
- ldrh r1, [r5, 0x22]
- movs r0, 0xFF
- ands r0, r1
- movs r2, 0
- strh r0, [r5, 0x22]
- movs r3, 0x26
- ldrsh r0, [r5, r3]
- cmp r0, 0x1
- beq _080BBCE6
- cmp r0, 0x1
- bgt _080BBCA4
- cmp r0, 0
- beq _080BBCAA
- b _080BBDD8
- .align 2, 0
-_080BBCA0: .4byte gBattle_BG1_Y
-_080BBCA4:
- cmp r0, 0x2
- beq _080BBD00
- b _080BBDD8
-_080BBCAA:
- ldrh r0, [r5, 0x1E]
- adds r1, r0, 0x1
- strh r1, [r5, 0x1E]
- lsls r0, 16
- asrs r0, 16
- movs r3, 0x14
- ldrsh r1, [r5, r3]
- cmp r0, r1
- bge _080BBCBE
- b _080BBDD8
-_080BBCBE:
- strh r2, [r5, 0x1E]
- ldrh r1, [r5, 0x20]
- adds r1, 0x1
- strh r1, [r5, 0x20]
- movs r0, 0x10
- subs r0, r1
- lsls r0, 8
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- movs r0, 0x20
- ldrsh r1, [r5, r0]
- movs r2, 0x10
- ldrsh r0, [r5, r2]
- cmp r1, r0
- bne _080BBDD8
- b _080BBCF8
-_080BBCE6:
- ldrh r0, [r5, 0x1C]
- adds r0, 0x1
- strh r0, [r5, 0x1C]
- lsls r0, 16
- asrs r0, 16
- movs r3, 0x12
- ldrsh r1, [r5, r3]
- cmp r0, r1
- bne _080BBDD8
-_080BBCF8:
- ldrh r0, [r5, 0x26]
- adds r0, 0x1
- strh r0, [r5, 0x26]
- b _080BBDD8
-_080BBD00:
- ldrh r0, [r5, 0x1E]
- adds r1, r0, 0x1
- strh r1, [r5, 0x1E]
- lsls r0, 16
- asrs r0, 16
- movs r3, 0x14
- ldrsh r1, [r5, r3]
- cmp r0, r1
- blt _080BBDD8
- strh r2, [r5, 0x1E]
- ldrh r1, [r5, 0x20]
- subs r1, 0x1
- strh r1, [r5, 0x20]
- movs r0, 0x10
- subs r0, r1
- lsls r0, 8
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- movs r0, 0x20
- ldrsh r4, [r5, r0]
- cmp r4, 0
- bne _080BBDD8
- movs r0, 0
- bl sub_8073128
- ldr r0, _080BBDE0 @ =gUnknown_2022984
- strh r4, [r0]
- ldr r0, _080BBDE4 @ =gUnknown_2022986
- strh r4, [r0]
- ldr r4, _080BBDE8 @ =0x00003f3f
- movs r0, 0x48
- adds r1, r4, 0
- bl SetGpuReg
- movs r0, 0x4A
- adds r1, r4, 0
- bl SetGpuReg
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _080BBD7E
- movs r0, 0xA
- bl GetGpuReg
- mov r1, sp
- strh r0, [r1]
- mov r2, sp
- ldrb r1, [r2]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- mov r0, sp
- ldrh r1, [r0]
- movs r0, 0xA
- bl SetGpuReg
-_080BBD7E:
- movs r0, 0
- bl GetGpuReg
- adds r1, r0, 0
- movs r2, 0x80
- lsls r2, 8
- adds r0, r2, 0
- eors r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0
- bl SetGpuReg
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- movs r3, 0x8
- ldrsh r1, [r5, r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, _080BBDEC @ =gSprites
- adds r0, r4
- bl DestroySprite
- movs r1, 0xC
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _080BBDD2
- movs r2, 0xE
- ldrsh r1, [r5, r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySprite
-_080BBDD2:
- adds r0, r6, 0
- bl DestroyAnimVisualTask
-_080BBDD8:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080BBDE0: .4byte gUnknown_2022984
-_080BBDE4: .4byte gUnknown_2022986
-_080BBDE8: .4byte 0x00003f3f
-_080BBDEC: .4byte gSprites
- thumb_func_end sub_80BBC2C
-
- thumb_func_start sub_80BBDF0
-sub_80BBDF0: @ 80BBDF0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080BBE08 @ =gBattleAnimArgs
- ldr r1, _080BBE0C @ =gBattleTerrain
- ldrb r1, [r1]
- strh r1, [r2]
- bl DestroyAnimVisualTask
- pop {r0}
- bx r0
- .align 2, 0
-_080BBE08: .4byte gBattleAnimArgs
-_080BBE0C: .4byte gBattleTerrain
- thumb_func_end sub_80BBDF0
-
- thumb_func_start sub_80BBE10
-sub_80BBE10: @ 80BBE10
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x80
- lsls r0, 6
- bl AllocZeroed
- ldr r1, _080BBE38 @ =gMonSpritesGfxPtr
- ldr r1, [r1]
- movs r2, 0xBE
- lsls r2, 1
- adds r1, r2
- str r0, [r1]
- adds r0, r4, 0
- bl DestroyAnimVisualTask
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080BBE38: .4byte gMonSpritesGfxPtr
- thumb_func_end sub_80BBE10
-
- thumb_func_start sub_80BBE3C
-sub_80BBE3C: @ 80BBE3C
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r6, _080BBE68 @ =gMonSpritesGfxPtr
- ldr r0, [r6]
- movs r5, 0xBE
- lsls r5, 1
- adds r0, r5
- ldr r0, [r0]
- bl Free
- ldr r0, [r6]
- adds r0, r5
- movs r1, 0
- str r1, [r0]
- adds r0, r4, 0
- bl DestroyAnimVisualTask
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080BBE68: .4byte gMonSpritesGfxPtr
- thumb_func_end sub_80BBE3C
-
- thumb_func_start sub_80BBE6C
-sub_80BBE6C: @ 80BBE6C
- push {r4,r5,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- ldr r0, _080BBEAC @ =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080BBEB0
- str r4, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_8075BE8
- adds r1, r0, 0
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080BBEC8
- movs r2, 0x1
-_080BBE9E:
- lsrs r1, 1
- adds r4, 0x1
- adds r0, r1, 0
- ands r0, r2
- cmp r0, 0
- beq _080BBE9E
- b _080BBEC8
- .align 2, 0
-_080BBEAC: .4byte gBattleAnimArgs
-_080BBEB0:
- cmp r0, 0x1
- bne _080BBEBC
- ldr r0, _080BBEB8 @ =gBattleAnimAttacker
- b _080BBEC2
- .align 2, 0
-_080BBEB8: .4byte gBattleAnimAttacker
-_080BBEBC:
- cmp r0, 0x2
- bne _080BBEC8
- ldr r0, _080BBEF8 @ =gBattleAnimTarget
-_080BBEC2:
- ldrb r0, [r0]
- adds r4, r0, 0
- adds r4, 0x10
-_080BBEC8:
- ldr r0, _080BBEFC @ =gMonSpritesGfxPtr
- ldr r1, [r0]
- ldr r0, _080BBF00 @ =gBattleAnimArgs
- movs r2, 0x2
- ldrsh r0, [r0, r2]
- movs r2, 0xBE
- lsls r2, 1
- adds r1, r2
- ldr r1, [r1]
- lsls r0, 5
- adds r0, r1
- lsls r1, r4, 5
- ldr r2, _080BBF04 @ =gPlttBufferUnfaded
- adds r1, r2
- movs r2, 0x20
- bl memcpy
- adds r0, r5, 0
- bl DestroyAnimVisualTask
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080BBEF8: .4byte gBattleAnimTarget
-_080BBEFC: .4byte gMonSpritesGfxPtr
-_080BBF00: .4byte gBattleAnimArgs
-_080BBF04: .4byte gPlttBufferUnfaded
- thumb_func_end sub_80BBE6C
-
- thumb_func_start sub_80BBF08
-sub_80BBF08: @ 80BBF08
- push {r4,r5,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- ldr r0, _080BBF48 @ =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080BBF4C
- str r4, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_8075BE8
- adds r1, r0, 0
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080BBF64
- movs r2, 0x1
-_080BBF3A:
- lsrs r1, 1
- adds r4, 0x1
- adds r0, r1, 0
- ands r0, r2
- cmp r0, 0
- beq _080BBF3A
- b _080BBF64
- .align 2, 0
-_080BBF48: .4byte gBattleAnimArgs
-_080BBF4C:
- cmp r0, 0x1
- bne _080BBF58
- ldr r0, _080BBF54 @ =gBattleAnimAttacker
- b _080BBF5E
- .align 2, 0
-_080BBF54: .4byte gBattleAnimAttacker
-_080BBF58:
- cmp r0, 0x2
- bne _080BBF64
- ldr r0, _080BBF94 @ =gBattleAnimTarget
-_080BBF5E:
- ldrb r0, [r0]
- adds r4, r0, 0
- adds r4, 0x10
-_080BBF64:
- lsls r0, r4, 5
- ldr r1, _080BBF98 @ =gPlttBufferUnfaded
- adds r0, r1
- ldr r1, _080BBF9C @ =gMonSpritesGfxPtr
- ldr r2, [r1]
- ldr r1, _080BBFA0 @ =gBattleAnimArgs
- movs r3, 0x2
- ldrsh r1, [r1, r3]
- movs r3, 0xBE
- lsls r3, 1
- adds r2, r3
- ldr r2, [r2]
- lsls r1, 5
- adds r1, r2
- movs r2, 0x20
- bl memcpy
- adds r0, r5, 0
- bl DestroyAnimVisualTask
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080BBF94: .4byte gBattleAnimTarget
-_080BBF98: .4byte gPlttBufferUnfaded
-_080BBF9C: .4byte gMonSpritesGfxPtr
-_080BBFA0: .4byte gBattleAnimArgs
- thumb_func_end sub_80BBF08
-
- thumb_func_start sub_80BBFA4
-sub_80BBFA4: @ 80BBFA4
- push {r4,r5,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- ldr r0, _080BBFE4 @ =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080BBFE8
- str r4, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_8075BE8
- adds r1, r0, 0
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080BC000
- movs r2, 0x1
-_080BBFD6:
- lsrs r1, 1
- adds r4, 0x1
- adds r0, r1, 0
- ands r0, r2
- cmp r0, 0
- beq _080BBFD6
- b _080BC000
- .align 2, 0
-_080BBFE4: .4byte gBattleAnimArgs
-_080BBFE8:
- cmp r0, 0x1
- bne _080BBFF4
- ldr r0, _080BBFF0 @ =gBattleAnimAttacker
- b _080BBFFA
- .align 2, 0
-_080BBFF0: .4byte gBattleAnimAttacker
-_080BBFF4:
- cmp r0, 0x2
- bne _080BC000
- ldr r0, _080BC020 @ =gBattleAnimTarget
-_080BBFFA:
- ldrb r0, [r0]
- adds r4, r0, 0
- adds r4, 0x10
-_080BC000:
- lsls r1, r4, 5
- ldr r0, _080BC024 @ =gPlttBufferUnfaded
- adds r0, r1, r0
- ldr r2, _080BC028 @ =gPlttBufferFaded
- adds r1, r2
- movs r2, 0x20
- bl memcpy
- adds r0, r5, 0
- bl DestroyAnimVisualTask
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080BC020: .4byte gBattleAnimTarget
-_080BC024: .4byte gPlttBufferUnfaded
-_080BC028: .4byte gPlttBufferFaded
- thumb_func_end sub_80BBFA4
-
- thumb_func_start sub_80BC02C
-sub_80BC02C: @ 80BC02C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl IsContest
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _080BC04C
- ldr r1, _080BC048 @ =gBattleAnimArgs
- movs r0, 0x1
- strh r0, [r1, 0xE]
- b _080BC050
- .align 2, 0
-_080BC048: .4byte gBattleAnimArgs
-_080BC04C:
- ldr r0, _080BC05C @ =gBattleAnimArgs
- strh r1, [r0, 0xE]
-_080BC050:
- adds r0, r4, 0
- bl DestroyAnimVisualTask
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080BC05C: .4byte gBattleAnimArgs
- thumb_func_end sub_80BC02C
-
- thumb_func_start sub_80BC060
-sub_80BC060: @ 80BC060
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080BC080 @ =gBattleAnimAttacker
- ldr r1, _080BC084 @ =gBattlerTarget
- ldrb r1, [r1]
- strb r1, [r2]
- ldr r2, _080BC088 @ =gBattleAnimTarget
- ldr r1, _080BC08C @ =gEffectBattler
- ldrb r1, [r1]
- strb r1, [r2]
- bl DestroyAnimVisualTask
- pop {r0}
- bx r0
- .align 2, 0
-_080BC080: .4byte gBattleAnimAttacker
-_080BC084: .4byte gBattlerTarget
-_080BC088: .4byte gBattleAnimTarget
-_080BC08C: .4byte gEffectBattler
- thumb_func_end sub_80BC060
-
- thumb_func_start sub_80BC090
-sub_80BC090: @ 80BC090
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _080BC0B8 @ =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- adds r4, r0, 0
- ldr r0, _080BC0BC @ =gBattleAnimTarget
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r4, 24
- lsls r0, 24
- cmp r4, r0
- bne _080BC0C4
- ldr r1, _080BC0C0 @ =gBattleAnimArgs
- movs r0, 0x1
- b _080BC0C8
- .align 2, 0
-_080BC0B8: .4byte gBattleAnimAttacker
-_080BC0BC: .4byte gBattleAnimTarget
-_080BC0C0: .4byte gBattleAnimArgs
-_080BC0C4:
- ldr r1, _080BC0D8 @ =gBattleAnimArgs
- movs r0, 0
-_080BC0C8:
- strh r0, [r1, 0xE]
- adds r0, r5, 0
- bl DestroyAnimVisualTask
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080BC0D8: .4byte gBattleAnimArgs
- thumb_func_end sub_80BC090
-
- thumb_func_start sub_80BC0DC
-sub_80BC0DC: @ 80BC0DC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080BC0F4 @ =gBattleAnimTarget
- ldr r1, _080BC0F8 @ =gBattlerTarget
- ldrb r1, [r1]
- strb r1, [r2]
- bl DestroyAnimVisualTask
- pop {r0}
- bx r0
- .align 2, 0
-_080BC0F4: .4byte gBattleAnimTarget
-_080BC0F8: .4byte gBattlerTarget
- thumb_func_end sub_80BC0DC
-
- thumb_func_start sub_80BC0FC
-sub_80BC0FC: @ 80BC0FC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080BC11C @ =gBattleAnimAttacker
- ldr r1, _080BC120 @ =gBattlerAttacker
- ldrb r1, [r1]
- strb r1, [r2]
- ldr r2, _080BC124 @ =gBattleAnimTarget
- ldr r1, _080BC128 @ =gEffectBattler
- ldrb r1, [r1]
- strb r1, [r2]
- bl DestroyAnimVisualTask
- pop {r0}
- bx r0
- .align 2, 0
-_080BC11C: .4byte gBattleAnimAttacker
-_080BC120: .4byte gBattlerAttacker
-_080BC124: .4byte gBattleAnimTarget
-_080BC128: .4byte gEffectBattler
- thumb_func_end sub_80BC0FC
-
- thumb_func_start sub_80BC12C
-sub_80BC12C: @ 80BC12C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _080BC144
- adds r0, r4, 0
- bl DestroyAnimVisualTask
- b _080BC180
-_080BC144:
- ldr r0, _080BC188 @ =gTasks
- lsls r3, r4, 2
- adds r3, r4
- lsls r3, 3
- adds r3, r0
- ldr r0, _080BC18C @ =gBattleSpritesDataPtr
- ldr r4, [r0]
- ldr r2, _080BC190 @ =gBattleAnimAttacker
- ldrb r0, [r2]
- ldr r1, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- lsls r0, 31
- lsrs r0, 31
- strh r0, [r3, 0x8]
- ldrb r1, [r2]
- ldr r0, [r4]
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1]
- movs r2, 0x1
- orrs r0, r2
- strb r0, [r1]
- ldr r0, _080BC194 @ =sub_80BC19C
- str r0, [r3]
- ldr r1, _080BC198 @ =gUnknown_2037EE2
- ldrb r0, [r1]
- subs r0, 0x1
- strb r0, [r1]
-_080BC180:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080BC188: .4byte gTasks
-_080BC18C: .4byte gBattleSpritesDataPtr
-_080BC190: .4byte gBattleAnimAttacker
-_080BC194: .4byte sub_80BC19C
-_080BC198: .4byte gUnknown_2037EE2
- thumb_func_end sub_80BC12C
-
- thumb_func_start sub_80BC19C
-sub_80BC19C: @ 80BC19C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080BC1E8 @ =gBattleAnimArgs
- movs r2, 0xE
- ldrsh r1, [r0, r2]
- movs r0, 0x80
- lsls r0, 5
- cmp r1, r0
- bne _080BC1E0
- ldr r0, _080BC1EC @ =gBattleSpritesDataPtr
- ldr r1, [r0]
- ldr r0, _080BC1F0 @ =gBattleAnimAttacker
- ldrb r3, [r0]
- ldr r0, [r1]
- lsls r3, 2
- adds r3, r0
- ldr r1, _080BC1F4 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldrb r0, [r0, 0x8]
- movs r1, 0x1
- ands r1, r0
- ldrb r2, [r3]
- movs r0, 0x2
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- adds r0, r4, 0
- bl DestroyTask
-_080BC1E0:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080BC1E8: .4byte gBattleAnimArgs
-_080BC1EC: .4byte gBattleSpritesDataPtr
-_080BC1F0: .4byte gBattleAnimAttacker
-_080BC1F4: .4byte gTasks
- thumb_func_end sub_80BC19C
-
- thumb_func_start SetAnimBgAttribute
-SetAnimBgAttribute: @ 80BC1F8
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- lsls r2, 24
- lsrs r4, r2, 24
- cmp r6, 0x3
- bls _080BC20C
- b _080BC2FE
-_080BC20C:
- ldr r0, _080BC228 @ =gUnknown_83E7CCA
- adds r0, r6, r0
- ldrb r0, [r0]
- bl GetGpuReg
- ldr r1, _080BC22C @ =gUnknown_20399B8
- strh r0, [r1]
- cmp r5, 0x6
- bhi _080BC2F0
- lsls r0, r5, 2
- ldr r1, _080BC230 @ =_080BC234
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080BC228: .4byte gUnknown_83E7CCA
-_080BC22C: .4byte gUnknown_20399B8
-_080BC230: .4byte _080BC234
- .align 2, 0
-_080BC234:
- .4byte _080BC250
- .4byte _080BC264
- .4byte _080BC27C
- .4byte _080BC294
- .4byte _080BC2AC
- .4byte _080BC2C8
- .4byte _080BC2DC
-_080BC250:
- ldr r2, _080BC260 @ =gUnknown_20399B8
- lsls r3, r4, 6
- ldrb r1, [r2, 0x1]
- movs r0, 0x3F
- ands r0, r1
- orrs r0, r3
- strb r0, [r2, 0x1]
- b _080BC2F0
- .align 2, 0
-_080BC260: .4byte gUnknown_20399B8
-_080BC264:
- ldr r3, _080BC278 @ =gUnknown_20399B8
- movs r0, 0x1
- adds r1, r4, 0
- ands r1, r0
- lsls r1, 5
- ldrb r2, [r3, 0x1]
- movs r0, 0x21
- negs r0, r0
- b _080BC2EA
- .align 2, 0
-_080BC278: .4byte gUnknown_20399B8
-_080BC27C:
- ldr r3, _080BC290 @ =gUnknown_20399B8
- movs r0, 0x1
- adds r1, r4, 0
- ands r1, r0
- lsls r1, 6
- ldrb r2, [r3]
- movs r0, 0x41
- negs r0, r0
- b _080BC2BA
- .align 2, 0
-_080BC290: .4byte gUnknown_20399B8
-_080BC294:
- ldr r3, _080BC2A8 @ =gUnknown_20399B8
- movs r0, 0x3
- adds r1, r4, 0
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r3]
- movs r0, 0xD
- negs r0, r0
- b _080BC2BA
- .align 2, 0
-_080BC2A8: .4byte gUnknown_20399B8
-_080BC2AC:
- ldr r3, _080BC2C4 @ =gUnknown_20399B8
- movs r0, 0x3
- adds r1, r4, 0
- ands r1, r0
- ldrb r2, [r3]
- movs r0, 0x4
- negs r0, r0
-_080BC2BA:
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- b _080BC2F0
- .align 2, 0
-_080BC2C4: .4byte gUnknown_20399B8
-_080BC2C8:
- ldr r2, _080BC2D8 @ =gUnknown_20399B8
- lsls r3, r4, 7
- ldrb r1, [r2]
- movs r0, 0x7F
- ands r0, r1
- orrs r0, r3
- strb r0, [r2]
- b _080BC2F0
- .align 2, 0
-_080BC2D8: .4byte gUnknown_20399B8
-_080BC2DC:
- ldr r3, _080BC304 @ =gUnknown_20399B8
- movs r0, 0x1F
- adds r1, r4, 0
- ands r1, r0
- ldrb r2, [r3, 0x1]
- movs r0, 0x20
- negs r0, r0
-_080BC2EA:
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0x1]
-_080BC2F0:
- ldr r0, _080BC308 @ =gUnknown_83E7CCA
- adds r0, r6, r0
- ldrb r0, [r0]
- ldr r1, _080BC304 @ =gUnknown_20399B8
- ldrh r1, [r1]
- bl SetGpuReg
-_080BC2FE:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080BC304: .4byte gUnknown_20399B8
-_080BC308: .4byte gUnknown_83E7CCA
- thumb_func_end SetAnimBgAttribute
-
- thumb_func_start sub_80BC30C
-sub_80BC30C: @ 80BC30C
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- cmp r2, 0x3
- bhi _080BC394
- ldr r0, _080BC338 @ =gUnknown_83E7CCE
- adds r0, r2, r0
- ldrb r0, [r0]
- bl GetGpuReg
- mov r1, sp
- strh r0, [r1]
- cmp r4, 0x6
- bhi _080BC394
- lsls r0, r4, 2
- ldr r1, _080BC33C @ =_080BC340
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080BC338: .4byte gUnknown_83E7CCE
-_080BC33C: .4byte _080BC340
- .align 2, 0
-_080BC340:
- .4byte _080BC35C
- .4byte _080BC364
- .4byte _080BC36C
- .4byte _080BC374
- .4byte _080BC37C
- .4byte _080BC384
- .4byte _080BC38C
-_080BC35C:
- ldr r0, [sp]
- lsls r0, 16
- lsrs r0, 30
- b _080BC396
-_080BC364:
- ldr r0, [sp]
- lsls r0, 18
- lsrs r0, 31
- b _080BC396
-_080BC36C:
- ldr r0, [sp]
- lsls r0, 25
- lsrs r0, 31
- b _080BC396
-_080BC374:
- ldr r0, [sp]
- lsls r0, 28
- lsrs r0, 30
- b _080BC396
-_080BC37C:
- ldr r0, [sp]
- lsls r0, 30
- lsrs r0, 30
- b _080BC396
-_080BC384:
- ldr r0, [sp]
- lsls r0, 24
- lsrs r0, 31
- b _080BC396
-_080BC38C:
- ldr r0, [sp]
- lsls r0, 19
- lsrs r0, 27
- b _080BC396
-_080BC394:
- movs r0, 0
-_080BC396:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80BC30C
-
- thumb_func_start HandleIntroSlide
-HandleIntroSlide: @ 80BC3A0
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080BC3B8 @ =gBattleTypeFlags
- ldr r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080BC3C0
- ldr r0, _080BC3BC @ =sub_80BCC4C
- b _080BC3E8
- .align 2, 0
-_080BC3B8: .4byte gBattleTypeFlags
-_080BC3BC: .4byte sub_80BCC4C
-_080BC3C0:
- movs r0, 0x80
- lsls r0, 5
- ands r1, r0
- cmp r1, 0
- beq _080BC3E0
- ldr r0, _080BC3D8 @ =gGameVersion
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _080BC3E0
- movs r4, 0x3
- ldr r0, _080BC3DC @ =task00_battle_intro_80BC6C8
- b _080BC3E8
- .align 2, 0
-_080BC3D8: .4byte gGameVersion
-_080BC3DC: .4byte task00_battle_intro_80BC6C8
-_080BC3E0:
- ldr r1, _080BC414 @ =gUnknown_83E7CD4
- lsls r0, r4, 2
- adds r0, r1
- ldr r0, [r0]
-_080BC3E8:
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _080BC418 @ =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- movs r0, 0
- strh r0, [r1, 0x8]
- strh r4, [r1, 0xA]
- strh r0, [r1, 0xC]
- strh r0, [r1, 0xE]
- strh r0, [r1, 0x10]
- strh r0, [r1, 0x12]
- strh r0, [r1, 0x14]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080BC414: .4byte gUnknown_83E7CD4
-_080BC418: .4byte gTasks
- thumb_func_end HandleIntroSlide
-
- thumb_func_start sub_80BC41C
-sub_80BC41C: @ 80BC41C
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- ldr r0, _080BC468 @ =gBattle_BG1_X
- movs r1, 0
- strh r1, [r0]
- ldr r0, _080BC46C @ =gBattle_BG1_Y
- strh r1, [r0]
- ldr r0, _080BC470 @ =gBattle_BG2_X
- strh r1, [r0]
- ldr r0, _080BC474 @ =gBattle_BG2_Y
- strh r1, [r0]
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- ldr r4, _080BC478 @ =0x00003f3f
- movs r0, 0x48
- adds r1, r4, 0
- bl SetGpuReg
- movs r0, 0x4A
- adds r1, r4, 0
- bl SetGpuReg
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080BC468: .4byte gBattle_BG1_X
-_080BC46C: .4byte gBattle_BG1_Y
-_080BC470: .4byte gBattle_BG2_X
-_080BC474: .4byte gBattle_BG2_Y
-_080BC478: .4byte 0x00003f3f
- thumb_func_end sub_80BC41C
-
- thumb_func_start task_battle_intro_80BC47C
-task_battle_intro_80BC47C: @ 80BC47C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, _080BC4B4 @ =gBattle_BG1_X
- ldrh r0, [r1]
- adds r0, 0x6
- strh r0, [r1]
- ldr r1, _080BC4B8 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r2, 0x8
- ldrsh r0, [r0, r2]
- mov r8, r1
- cmp r0, 0x4
- bls _080BC4A8
- b _080BC6BA
-_080BC4A8:
- lsls r0, 2
- ldr r1, _080BC4BC @ =_080BC4C0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080BC4B4: .4byte gBattle_BG1_X
-_080BC4B8: .4byte gTasks
-_080BC4BC: .4byte _080BC4C0
- .align 2, 0
-_080BC4C0:
- .4byte _080BC4D4
- .4byte _080BC504
- .4byte _080BC52C
- .4byte _080BC574
- .4byte _080BC6B4
-_080BC4D4:
- ldr r0, _080BC4EC @ =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080BC4F0
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- add r0, r8
- movs r1, 0x10
- b _080BC4FA
- .align 2, 0
-_080BC4EC: .4byte gBattleTypeFlags
-_080BC4F0:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- add r0, r8
- movs r1, 0x1
-_080BC4FA:
- strh r1, [r0, 0xC]
- ldrh r1, [r0, 0x8]
- adds r1, 0x1
- strh r1, [r0, 0x8]
- b _080BC6BA
-_080BC504:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- mov r3, r8
- adds r1, r0, r3
- ldrh r0, [r1, 0xC]
- subs r0, 0x1
- strh r0, [r1, 0xC]
- lsls r0, 16
- cmp r0, 0
- beq _080BC51C
- b _080BC6BA
-_080BC51C:
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- movs r0, 0x48
- movs r1, 0x3F
- bl SetGpuReg
- b _080BC6BA
-_080BC52C:
- ldr r1, _080BC568 @ =gUnknown_2022986
- ldrh r0, [r1]
- subs r0, 0xFF
- strh r0, [r1]
- movs r1, 0xFF
- lsls r1, 8
- ands r0, r1
- movs r1, 0xC0
- lsls r1, 6
- cmp r0, r1
- beq _080BC544
- b _080BC6BA
-_080BC544:
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- add r1, r8
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- movs r0, 0xF0
- strh r0, [r1, 0xC]
- movs r0, 0x20
- strh r0, [r1, 0xE]
- ldr r2, _080BC56C @ =gIntroSlideFlags
- ldrh r1, [r2]
- ldr r0, _080BC570 @ =0x0000fffe
- ands r0, r1
- strh r0, [r2]
- b _080BC6BA
- .align 2, 0
-_080BC568: .4byte gUnknown_2022986
-_080BC56C: .4byte gIntroSlideFlags
-_080BC570: .4byte 0x0000fffe
-_080BC574:
- lsls r0, r4, 2
- adds r1, r0, r4
- lsls r1, 3
- mov r5, r8
- adds r2, r1, r5
- ldrh r3, [r2, 0xE]
- movs r5, 0xE
- ldrsh r1, [r2, r5]
- mov r12, r0
- cmp r1, 0
- beq _080BC590
- subs r0, r3, 0x1
- strh r0, [r2, 0xE]
- b _080BC5BE
-_080BC590:
- movs r1, 0xA
- ldrsh r0, [r2, r1]
- cmp r0, 0x1
- bne _080BC5B0
- ldr r2, _080BC5A8 @ =gBattle_BG1_Y
- ldrh r1, [r2]
- ldr r0, _080BC5AC @ =0x0000ffb0
- cmp r1, r0
- beq _080BC5BE
- subs r0, r1, 0x2
- b _080BC5BC
- .align 2, 0
-_080BC5A8: .4byte gBattle_BG1_Y
-_080BC5AC: .4byte 0x0000ffb0
-_080BC5B0:
- ldr r2, _080BC690 @ =gBattle_BG1_Y
- ldrh r1, [r2]
- ldr r0, _080BC694 @ =0x0000ffc8
- cmp r1, r0
- beq _080BC5BE
- subs r0, r1, 0x1
-_080BC5BC:
- strh r0, [r2]
-_080BC5BE:
- ldr r2, _080BC698 @ =gUnknown_2022986
- ldrh r1, [r2]
- movs r0, 0xFF
- lsls r0, 8
- ands r0, r1
- cmp r0, 0
- beq _080BC5D2
- ldr r3, _080BC69C @ =0xfffffc04
- adds r0, r1, r3
- strh r0, [r2]
-_080BC5D2:
- mov r5, r12
- adds r0, r5, r4
- lsls r0, 3
- mov r2, r8
- adds r1, r0, r2
- ldrh r2, [r1, 0xC]
- movs r3, 0xC
- ldrsh r0, [r1, r3]
- cmp r0, 0
- beq _080BC5EA
- subs r0, r2, 0x2
- strh r0, [r1, 0xC]
-_080BC5EA:
- movs r3, 0
- ldr r5, _080BC6A0 @ =gScanlineEffect
- mov r9, r5
- ldr r7, _080BC6A4 @ =gScanlineEffectRegBuffers
- mov r6, r9
- adds r5, r1, 0
-_080BC5F6:
- lsls r2, r3, 1
- ldrb r1, [r6, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- adds r2, r0
- adds r2, r7
- ldrh r0, [r5, 0xC]
- strh r0, [r2]
- adds r3, 0x1
- cmp r3, 0x4F
- ble _080BC5F6
- cmp r3, 0x9F
- bgt _080BC63A
- ldr r7, _080BC6A4 @ =gScanlineEffectRegBuffers
- ldr r6, _080BC6A0 @ =gScanlineEffect
- ldr r1, _080BC6A8 @ =gTasks
- mov r2, r12
- adds r0, r2, r4
- lsls r0, 3
- adds r5, r0, r1
-_080BC620:
- lsls r2, r3, 1
- ldrb r1, [r6, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- adds r2, r0
- adds r2, r7
- ldrh r0, [r5, 0xC]
- negs r0, r0
- strh r0, [r2]
- adds r3, 0x1
- cmp r3, 0x9F
- ble _080BC620
-_080BC63A:
- mov r3, r12
- adds r0, r3, r4
- lsls r0, 3
- mov r5, r8
- adds r1, r0, r5
- movs r0, 0xC
- ldrsh r2, [r1, r0]
- cmp r2, 0
- bne _080BC6BA
- movs r0, 0x3
- mov r3, r9
- strb r0, [r3, 0x15]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- str r2, [sp]
- ldr r1, _080BC6AC @ =0x0600e000
- ldr r2, _080BC6B0 @ =0x05000200
- mov r0, sp
- bl CpuSet
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0
- bl SetBgAttribute
- movs r0, 0x2
- movs r1, 0x1
- movs r2, 0
- bl SetBgAttribute
- movs r1, 0x9C
- lsls r1, 8
- movs r0, 0xA
- bl SetGpuReg
- movs r1, 0xBC
- lsls r1, 7
- movs r0, 0xC
- bl SetGpuReg
- b _080BC6BA
- .align 2, 0
-_080BC690: .4byte gBattle_BG1_Y
-_080BC694: .4byte 0x0000ffc8
-_080BC698: .4byte gUnknown_2022986
-_080BC69C: .4byte 0xfffffc04
-_080BC6A0: .4byte gScanlineEffect
-_080BC6A4: .4byte gScanlineEffectRegBuffers
-_080BC6A8: .4byte gTasks
-_080BC6AC: .4byte 0x0600e000
-_080BC6B0: .4byte 0x05000200
-_080BC6B4:
- adds r0, r4, 0
- bl sub_80BC41C
-_080BC6BA:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end task_battle_intro_80BC47C
-
- thumb_func_start task00_battle_intro_80BC6C8
-task00_battle_intro_80BC6C8: @ 80BC6C8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _080BC6F4 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r2, 0xA
- ldrsh r0, [r0, r2]
- adds r2, r1, 0
- cmp r0, 0x3
- beq _080BC708
- cmp r0, 0x3
- bgt _080BC6F8
- cmp r0, 0x2
- beq _080BC6FC
- b _080BC710
- .align 2, 0
-_080BC6F4: .4byte gTasks
-_080BC6F8:
- cmp r0, 0x4
- bne _080BC710
-_080BC6FC:
- ldr r1, _080BC704 @ =gBattle_BG1_X
- ldrh r0, [r1]
- adds r0, 0x8
- b _080BC70E
- .align 2, 0
-_080BC704: .4byte gBattle_BG1_X
-_080BC708:
- ldr r1, _080BC74C @ =gBattle_BG1_X
- ldrh r0, [r1]
- adds r0, 0x6
-_080BC70E:
- strh r0, [r1]
-_080BC710:
- lsls r0, r5, 2
- adds r1, r0, r5
- lsls r1, 3
- adds r4, r1, r2
- movs r3, 0xA
- ldrsh r1, [r4, r3]
- adds r6, r0, 0
- cmp r1, 0x4
- bne _080BC774
- ldr r7, _080BC750 @ =gBattle_BG1_Y
- ldrh r0, [r4, 0x14]
- bl Cos2
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- bge _080BC736
- ldr r1, _080BC754 @ =0x000001ff
- adds r0, r1
-_080BC736:
- asrs r0, 9
- subs r0, 0x8
- strh r0, [r7]
- ldrh r1, [r4, 0x14]
- movs r2, 0x14
- ldrsh r0, [r4, r2]
- cmp r0, 0xB3
- bgt _080BC758
- adds r0, r1, 0x4
- b _080BC75A
- .align 2, 0
-_080BC74C: .4byte gBattle_BG1_X
-_080BC750: .4byte gBattle_BG1_Y
-_080BC754: .4byte 0x000001ff
-_080BC758:
- adds r0, r1, 0x6
-_080BC75A:
- strh r0, [r4, 0x14]
- ldr r2, _080BC790 @ =gTasks
- adds r0, r6, r5
- lsls r0, 3
- adds r3, r0, r2
- movs r0, 0x14
- ldrsh r1, [r3, r0]
- movs r0, 0xB4
- lsls r0, 1
- cmp r1, r0
- bne _080BC774
- movs r0, 0
- strh r0, [r3, 0x14]
-_080BC774:
- adds r0, r6, r5
- lsls r0, 3
- adds r0, r2
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- cmp r0, 0x4
- bls _080BC784
- b _080BC9AA
-_080BC784:
- lsls r0, 2
- ldr r1, _080BC794 @ =_080BC798
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080BC790: .4byte gTasks
-_080BC794: .4byte _080BC798
- .align 2, 0
-_080BC798:
- .4byte _080BC7AC
- .4byte _080BC7DC
- .4byte _080BC808
- .4byte _080BC858
- .4byte _080BC9A4
-_080BC7AC:
- ldr r1, _080BC7C8 @ =gTasks
- adds r0, r6, r5
- lsls r0, 3
- adds r2, r0, r1
- movs r3, 0x10
- strh r3, [r2, 0x10]
- ldr r0, _080BC7CC @ =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080BC7D0
- strh r3, [r2, 0xC]
- b _080BC7D4
- .align 2, 0
-_080BC7C8: .4byte gTasks
-_080BC7CC: .4byte gBattleTypeFlags
-_080BC7D0:
- movs r0, 0x1
- strh r0, [r2, 0xC]
-_080BC7D4:
- ldrh r0, [r2, 0x8]
- adds r0, 0x1
- strh r0, [r2, 0x8]
- b _080BC9AA
-_080BC7DC:
- ldr r0, _080BC804 @ =gTasks
- adds r1, r6, r5
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0xC]
- subs r0, 0x1
- strh r0, [r1, 0xC]
- lsls r0, 16
- cmp r0, 0
- beq _080BC7F2
- b _080BC9AA
-_080BC7F2:
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- movs r0, 0x48
- movs r1, 0x3F
- bl SetGpuReg
- b _080BC9AA
- .align 2, 0
-_080BC804: .4byte gTasks
-_080BC808:
- ldr r1, _080BC848 @ =gUnknown_2022986
- ldrh r0, [r1]
- subs r0, 0xFF
- strh r0, [r1]
- movs r1, 0xFF
- lsls r1, 8
- ands r0, r1
- movs r1, 0xC0
- lsls r1, 6
- cmp r0, r1
- beq _080BC820
- b _080BC9AA
-_080BC820:
- ldr r0, _080BC84C @ =gTasks
- adds r1, r6, r5
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- movs r0, 0xF0
- strh r0, [r1, 0xC]
- movs r0, 0x20
- strh r0, [r1, 0xE]
- movs r0, 0x1
- strh r0, [r1, 0x12]
- ldr r2, _080BC850 @ =gIntroSlideFlags
- ldrh r1, [r2]
- ldr r0, _080BC854 @ =0x0000fffe
- ands r0, r1
- strh r0, [r2]
- b _080BC9AA
- .align 2, 0
-_080BC848: .4byte gUnknown_2022986
-_080BC84C: .4byte gTasks
-_080BC850: .4byte gIntroSlideFlags
-_080BC854: .4byte 0x0000fffe
-_080BC858:
- ldr r0, _080BC890 @ =gTasks
- adds r1, r6, r5
- lsls r1, 3
- adds r1, r0
- ldrh r2, [r1, 0xE]
- movs r3, 0xE
- ldrsh r0, [r1, r3]
- cmp r0, 0
- beq _080BC898
- subs r0, r2, 0x1
- strh r0, [r1, 0xE]
- lsls r0, 16
- cmp r0, 0
- bne _080BC8B8
- ldr r1, _080BC894 @ =0x00001842
- movs r0, 0x50
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0xF
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- b _080BC8B8
- .align 2, 0
-_080BC890: .4byte gTasks
-_080BC894: .4byte 0x00001842
-_080BC898:
- ldrh r2, [r1, 0x10]
- movs r0, 0x1F
- ands r0, r2
- cmp r0, 0
- beq _080BC8B8
- ldrh r0, [r1, 0x12]
- subs r0, 0x1
- strh r0, [r1, 0x12]
- lsls r0, 16
- cmp r0, 0
- bne _080BC8B8
- adds r0, r2, 0
- adds r0, 0xFF
- strh r0, [r1, 0x10]
- movs r0, 0x4
- strh r0, [r1, 0x12]
-_080BC8B8:
- ldr r2, _080BC988 @ =gUnknown_2022986
- ldrh r1, [r2]
- movs r0, 0xFF
- lsls r0, 8
- ands r0, r1
- cmp r0, 0
- beq _080BC8CC
- ldr r3, _080BC98C @ =0xfffffc04
- adds r0, r1, r3
- strh r0, [r2]
-_080BC8CC:
- ldr r0, _080BC990 @ =gTasks
- adds r1, r6, r5
- lsls r1, 3
- adds r1, r0
- ldrh r2, [r1, 0xC]
- movs r3, 0xC
- ldrsh r0, [r1, r3]
- cmp r0, 0
- beq _080BC8E2
- subs r0, r2, 0x2
- strh r0, [r1, 0xC]
-_080BC8E2:
- movs r3, 0
- ldr r0, _080BC994 @ =gScanlineEffect
- mov r8, r0
- ldr r2, _080BC998 @ =gScanlineEffectRegBuffers
- mov r12, r2
- mov r7, r8
- adds r4, r1, 0
-_080BC8F0:
- lsls r2, r3, 1
- ldrb r1, [r7, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- adds r2, r0
- add r2, r12
- ldrh r0, [r4, 0xC]
- strh r0, [r2]
- adds r3, 0x1
- cmp r3, 0x4F
- ble _080BC8F0
- cmp r3, 0x9F
- bgt _080BC934
- ldr r0, _080BC998 @ =gScanlineEffectRegBuffers
- mov r12, r0
- ldr r7, _080BC994 @ =gScanlineEffect
- ldr r1, _080BC990 @ =gTasks
- adds r0, r6, r5
- lsls r0, 3
- adds r4, r0, r1
-_080BC91A:
- lsls r2, r3, 1
- ldrb r1, [r7, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- adds r2, r0
- add r2, r12
- ldrh r0, [r4, 0xC]
- negs r0, r0
- strh r0, [r2]
- adds r3, 0x1
- cmp r3, 0x9F
- ble _080BC91A
-_080BC934:
- ldr r1, _080BC990 @ =gTasks
- adds r0, r6, r5
- lsls r0, 3
- adds r1, r0, r1
- movs r3, 0xC
- ldrsh r2, [r1, r3]
- cmp r2, 0
- bne _080BC9AA
- movs r0, 0x3
- mov r3, r8
- strb r0, [r3, 0x15]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- str r2, [sp]
- ldr r1, _080BC99C @ =0x0600e000
- ldr r2, _080BC9A0 @ =0x05000200
- mov r0, sp
- bl CpuSet
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0
- bl SetBgAttribute
- movs r0, 0x2
- movs r1, 0x1
- movs r2, 0
- bl SetBgAttribute
- movs r1, 0x9C
- lsls r1, 8
- movs r0, 0xA
- bl SetGpuReg
- movs r1, 0xBC
- lsls r1, 7
- movs r0, 0xC
- bl SetGpuReg
- b _080BC9AA
- .align 2, 0
-_080BC988: .4byte gUnknown_2022986
-_080BC98C: .4byte 0xfffffc04
-_080BC990: .4byte gTasks
-_080BC994: .4byte gScanlineEffect
-_080BC998: .4byte gScanlineEffectRegBuffers
-_080BC99C: .4byte 0x0600e000
-_080BC9A0: .4byte 0x05000200
-_080BC9A4:
- adds r0, r5, 0
- bl sub_80BC41C
-_080BC9AA:
- ldr r0, _080BC9D0 @ =gTasks
- adds r1, r6, r5
- lsls r1, 3
- adds r1, r0
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- cmp r0, 0x4
- beq _080BC9C2
- ldrh r1, [r1, 0x10]
- movs r0, 0x52
- bl SetGpuReg
-_080BC9C2:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080BC9D0: .4byte gTasks
- thumb_func_end task00_battle_intro_80BC6C8
-
- thumb_func_start task_battle_intro_anim
-task_battle_intro_anim: @ 80BC9D4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _080BCA08 @ =gBattle_BG1_X
- ldrh r0, [r1]
- adds r0, 0x8
- strh r0, [r1]
- ldr r1, _080BCA0C @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r2, 0x8
- ldrsh r0, [r0, r2]
- adds r4, r1, 0
- cmp r0, 0x4
- bls _080BC9FE
- b _080BCC22
-_080BC9FE:
- lsls r0, 2
- ldr r1, _080BCA10 @ =_080BCA14
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080BCA08: .4byte gBattle_BG1_X
-_080BCA0C: .4byte gTasks
-_080BCA10: .4byte _080BCA14
- .align 2, 0
-_080BCA14:
- .4byte _080BCA28
- .4byte _080BCA7C
- .4byte _080BCAA8
- .4byte _080BCAF8
- .4byte _080BCC1C
-_080BCA28:
- ldr r1, _080BCA60 @ =0x00001842
- movs r0, 0x50
- bl SetGpuReg
- ldr r4, _080BCA64 @ =0x00000808
- movs r0, 0x52
- adds r1, r4, 0
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- ldr r1, _080BCA68 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r2, r0, r1
- strh r4, [r2, 0x10]
- ldr r0, _080BCA6C @ =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080BCA70
- movs r0, 0x10
- b _080BCA72
- .align 2, 0
-_080BCA60: .4byte 0x00001842
-_080BCA64: .4byte 0x00000808
-_080BCA68: .4byte gTasks
-_080BCA6C: .4byte gBattleTypeFlags
-_080BCA70:
- movs r0, 0x1
-_080BCA72:
- strh r0, [r2, 0xC]
- ldrh r0, [r2, 0x8]
- adds r0, 0x1
- strh r0, [r2, 0x8]
- b _080BCC22
-_080BCA7C:
- ldr r0, _080BCAA4 @ =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0xC]
- subs r0, 0x1
- strh r0, [r1, 0xC]
- lsls r0, 16
- cmp r0, 0
- beq _080BCA94
- b _080BCC22
-_080BCA94:
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- movs r0, 0x48
- movs r1, 0x3F
- bl SetGpuReg
- b _080BCC22
- .align 2, 0
-_080BCAA4: .4byte gTasks
-_080BCAA8:
- ldr r1, _080BCAE8 @ =gUnknown_2022986
- ldrh r0, [r1]
- subs r0, 0xFF
- strh r0, [r1]
- movs r1, 0xFF
- lsls r1, 8
- ands r0, r1
- movs r1, 0xC0
- lsls r1, 6
- cmp r0, r1
- beq _080BCAC0
- b _080BCC22
-_080BCAC0:
- ldr r0, _080BCAEC @ =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- movs r0, 0xF0
- strh r0, [r1, 0xC]
- movs r0, 0x20
- strh r0, [r1, 0xE]
- movs r0, 0x1
- strh r0, [r1, 0x12]
- ldr r2, _080BCAF0 @ =gIntroSlideFlags
- ldrh r1, [r2]
- ldr r0, _080BCAF4 @ =0x0000fffe
- ands r0, r1
- strh r0, [r2]
- b _080BCC22
- .align 2, 0
-_080BCAE8: .4byte gUnknown_2022986
-_080BCAEC: .4byte gTasks
-_080BCAF0: .4byte gIntroSlideFlags
-_080BCAF4: .4byte 0x0000fffe
-_080BCAF8:
- lsls r0, r5, 2
- adds r1, r0, r5
- lsls r1, 3
- adds r2, r1, r4
- ldrh r3, [r2, 0xE]
- movs r6, 0xE
- ldrsh r1, [r2, r6]
- mov r12, r0
- cmp r1, 0
- beq _080BCB12
- subs r0, r3, 0x1
- strh r0, [r2, 0xE]
- b _080BCB32
-_080BCB12:
- ldrh r1, [r2, 0x10]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0
- beq _080BCB32
- ldrh r0, [r2, 0x12]
- subs r0, 0x1
- strh r0, [r2, 0x12]
- lsls r0, 16
- cmp r0, 0
- bne _080BCB32
- adds r0, r1, 0
- adds r0, 0xFF
- strh r0, [r2, 0x10]
- movs r0, 0x6
- strh r0, [r2, 0x12]
-_080BCB32:
- ldr r2, _080BCC00 @ =gUnknown_2022986
- ldrh r1, [r2]
- movs r0, 0xFF
- lsls r0, 8
- ands r0, r1
- cmp r0, 0
- beq _080BCB46
- ldr r3, _080BCC04 @ =0xfffffc04
- adds r0, r1, r3
- strh r0, [r2]
-_080BCB46:
- mov r6, r12
- adds r0, r6, r5
- lsls r0, 3
- adds r1, r0, r4
- ldrh r2, [r1, 0xC]
- movs r3, 0xC
- ldrsh r0, [r1, r3]
- cmp r0, 0
- beq _080BCB5C
- subs r0, r2, 0x2
- strh r0, [r1, 0xC]
-_080BCB5C:
- movs r3, 0
- ldr r6, _080BCC08 @ =gScanlineEffect
- mov r8, r6
- ldr r7, _080BCC0C @ =gScanlineEffectRegBuffers
- adds r4, r1, 0
-_080BCB66:
- lsls r2, r3, 1
- ldrb r1, [r6, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- adds r2, r0
- adds r2, r7
- ldrh r0, [r4, 0xC]
- strh r0, [r2]
- adds r3, 0x1
- cmp r3, 0x4F
- ble _080BCB66
- cmp r3, 0x9F
- bgt _080BCBAA
- ldr r7, _080BCC0C @ =gScanlineEffectRegBuffers
- ldr r6, _080BCC08 @ =gScanlineEffect
- ldr r1, _080BCC10 @ =gTasks
- mov r2, r12
- adds r0, r2, r5
- lsls r0, 3
- adds r4, r0, r1
-_080BCB90:
- lsls r2, r3, 1
- ldrb r1, [r6, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- adds r2, r0
- adds r2, r7
- ldrh r0, [r4, 0xC]
- negs r0, r0
- strh r0, [r2]
- adds r3, 0x1
- cmp r3, 0x9F
- ble _080BCB90
-_080BCBAA:
- ldr r1, _080BCC10 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r1, r0, r1
- movs r3, 0xC
- ldrsh r2, [r1, r3]
- cmp r2, 0
- bne _080BCC22
- movs r0, 0x3
- mov r6, r8
- strb r0, [r6, 0x15]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- str r2, [sp]
- ldr r1, _080BCC14 @ =0x0600e000
- ldr r2, _080BCC18 @ =0x05000200
- mov r0, sp
- bl CpuSet
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0
- bl SetBgAttribute
- movs r0, 0x2
- movs r1, 0x1
- movs r2, 0
- bl SetBgAttribute
- movs r1, 0x9C
- lsls r1, 8
- movs r0, 0xA
- bl SetGpuReg
- movs r1, 0xBC
- lsls r1, 7
- movs r0, 0xC
- bl SetGpuReg
- b _080BCC22
- .align 2, 0
-_080BCC00: .4byte gUnknown_2022986
-_080BCC04: .4byte 0xfffffc04
-_080BCC08: .4byte gScanlineEffect
-_080BCC0C: .4byte gScanlineEffectRegBuffers
-_080BCC10: .4byte gTasks
-_080BCC14: .4byte 0x0600e000
-_080BCC18: .4byte 0x05000200
-_080BCC1C:
- adds r0, r5, 0
- bl sub_80BC41C
-_080BCC22:
- ldr r0, _080BCC48 @ =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- cmp r0, 0x4
- beq _080BCC3C
- ldrh r1, [r1, 0x10]
- movs r0, 0x52
- bl SetGpuReg
-_080BCC3C:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080BCC48: .4byte gTasks
- thumb_func_end task_battle_intro_anim
-
- thumb_func_start sub_80BCC4C
-sub_80BCC4C: @ 80BCC4C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, _080BCC98 @ =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r7, r0, r1
- movs r1, 0x8
- ldrsh r0, [r7, r1]
- cmp r0, 0x1
- ble _080BCCC2
- movs r2, 0x10
- ldrsh r0, [r7, r2]
- cmp r0, 0
- bne _080BCCC2
- ldr r2, _080BCC9C @ =gBattle_BG1_X
- ldrh r1, [r2]
- movs r0, 0x80
- lsls r0, 8
- ands r0, r1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0
- bne _080BCC8A
- cmp r1, 0x4F
- bhi _080BCCA4
-_080BCC8A:
- adds r0, r1, 0x3
- strh r0, [r2]
- ldr r1, _080BCCA0 @ =gBattle_BG2_X
- ldrh r0, [r1]
- subs r0, 0x3
- strh r0, [r1]
- b _080BCCC2
- .align 2, 0
-_080BCC98: .4byte gTasks
-_080BCC9C: .4byte gBattle_BG1_X
-_080BCCA0: .4byte gBattle_BG2_X
-_080BCCA4:
- str r5, [sp]
- ldr r1, _080BCCE4 @ =0x0600e000
- ldr r4, _080BCCE8 @ =0x05000200
- mov r0, sp
- adds r2, r4, 0
- bl CpuSet
- str r5, [sp, 0x4]
- add r0, sp, 0x4
- ldr r1, _080BCCEC @ =0x0600f000
- adds r2, r4, 0
- bl CpuSet
- movs r0, 0x1
- strh r0, [r7, 0x10]
-_080BCCC2:
- ldr r0, _080BCCF0 @ =gTasks
- lsls r2, r6, 2
- adds r1, r2, r6
- lsls r1, 3
- adds r1, r0
- movs r3, 0x8
- ldrsh r1, [r1, r3]
- mov r9, r0
- adds r5, r2, 0
- cmp r1, 0x4
- bls _080BCCDA
- b _080BCEE6
-_080BCCDA:
- lsls r0, r1, 2
- ldr r1, _080BCCF4 @ =_080BCCF8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080BCCE4: .4byte 0x0600e000
-_080BCCE8: .4byte 0x05000200
-_080BCCEC: .4byte 0x0600f000
-_080BCCF0: .4byte gTasks
-_080BCCF4: .4byte _080BCCF8
- .align 2, 0
-_080BCCF8:
- .4byte _080BCD0C
- .4byte _080BCD1E
- .4byte _080BCDC4
- .4byte _080BCE08
- .4byte _080BCEE0
-_080BCD0C:
- adds r0, r5, r6
- lsls r0, 3
- add r0, r9
- movs r1, 0x20
- strh r1, [r0, 0xC]
- ldrh r1, [r0, 0x8]
- adds r1, 0x1
- strh r1, [r0, 0x8]
- b _080BCEE6
-_080BCD1E:
- adds r0, r5, r6
- lsls r0, 3
- mov r2, r9
- adds r1, r0, r2
- ldrh r0, [r1, 0xC]
- subs r0, 0x1
- strh r0, [r1, 0xC]
- lsls r0, 16
- cmp r0, 0
- beq _080BCD34
- b _080BCEE6
-_080BCD34:
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- ldr r4, _080BCDB4 @ =gSprites
- ldr r5, _080BCDB8 @ =gBattleStruct
- ldr r0, [r5]
- adds r0, 0x7D
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- ldrb r3, [r1, 0x1]
- movs r2, 0xD
- negs r2, r2
- adds r0, r2, 0
- ands r0, r3
- movs r3, 0x8
- mov r9, r3
- mov r3, r9
- orrs r0, r3
- strb r0, [r1, 0x1]
- ldr r3, [r5]
- adds r0, r3, 0
- adds r0, 0x7D
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- movs r1, 0x1C
- adds r1, r4
- mov r8, r1
- add r0, r8
- ldr r6, _080BCDBC @ =sub_801182C
- str r6, [r0]
- adds r3, 0x7E
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r1, [r0, 0x1]
- ands r2, r1
- mov r3, r9
- orrs r2, r3
- strb r2, [r0, 0x1]
- ldr r0, [r5]
- adds r0, 0x7E
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r8
- str r6, [r0]
- movs r0, 0x48
- movs r1, 0x3F
- bl SetGpuReg
- ldr r1, _080BCDC0 @ =0x00003f06
- movs r0, 0x4A
- bl SetGpuReg
- b _080BCEE6
- .align 2, 0
-_080BCDB4: .4byte gSprites
-_080BCDB8: .4byte gBattleStruct
-_080BCDBC: .4byte sub_801182C
-_080BCDC0: .4byte 0x00003f06
-_080BCDC4:
- ldr r1, _080BCDFC @ =gUnknown_2022986
- ldrh r0, [r1]
- subs r0, 0xFF
- strh r0, [r1]
- movs r1, 0xFF
- lsls r1, 8
- ands r0, r1
- movs r1, 0xC0
- lsls r1, 6
- cmp r0, r1
- beq _080BCDDC
- b _080BCEE6
-_080BCDDC:
- adds r1, r5, r6
- lsls r1, 3
- add r1, r9
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- movs r0, 0xF0
- strh r0, [r1, 0xC]
- movs r0, 0x20
- strh r0, [r1, 0xE]
- ldr r2, _080BCE00 @ =gIntroSlideFlags
- ldrh r1, [r2]
- ldr r0, _080BCE04 @ =0x0000fffe
- ands r0, r1
- strh r0, [r2]
- b _080BCEE6
- .align 2, 0
-_080BCDFC: .4byte gUnknown_2022986
-_080BCE00: .4byte gIntroSlideFlags
-_080BCE04: .4byte 0x0000fffe
-_080BCE08:
- ldr r2, _080BCECC @ =gUnknown_2022986
- ldrh r1, [r2]
- movs r0, 0xFF
- lsls r0, 8
- ands r0, r1
- cmp r0, 0
- beq _080BCE1C
- ldr r3, _080BCED0 @ =0xfffffc04
- adds r0, r1, r3
- strh r0, [r2]
-_080BCE1C:
- adds r0, r5, r6
- lsls r0, 3
- mov r2, r9
- adds r1, r0, r2
- ldrh r2, [r1, 0xC]
- movs r3, 0xC
- ldrsh r0, [r1, r3]
- cmp r0, 0
- beq _080BCE32
- subs r0, r2, 0x2
- strh r0, [r1, 0xC]
-_080BCE32:
- movs r3, 0
- ldr r0, _080BCED4 @ =gScanlineEffect
- mov r12, r0
- ldr r2, _080BCED8 @ =gScanlineEffectRegBuffers
- mov r8, r2
- mov r7, r12
- adds r4, r1, 0
-_080BCE40:
- lsls r2, r3, 1
- ldrb r1, [r7, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- adds r2, r0
- add r2, r8
- ldrh r0, [r4, 0xC]
- strh r0, [r2]
- adds r3, 0x1
- cmp r3, 0x4F
- ble _080BCE40
- cmp r3, 0x9F
- bgt _080BCE84
- ldr r0, _080BCED8 @ =gScanlineEffectRegBuffers
- mov r8, r0
- ldr r7, _080BCED4 @ =gScanlineEffect
- ldr r1, _080BCEDC @ =gTasks
- adds r0, r5, r6
- lsls r0, 3
- adds r4, r0, r1
-_080BCE6A:
- lsls r2, r3, 1
- ldrb r1, [r7, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- adds r2, r0
- add r2, r8
- ldrh r0, [r4, 0xC]
- negs r0, r0
- strh r0, [r2]
- adds r3, 0x1
- cmp r3, 0x9F
- ble _080BCE6A
-_080BCE84:
- adds r0, r5, r6
- lsls r0, 3
- mov r2, r9
- adds r1, r0, r2
- movs r3, 0xC
- ldrsh r0, [r1, r3]
- cmp r0, 0
- bne _080BCEE6
- movs r0, 0x3
- mov r2, r12
- strb r0, [r2, 0x15]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0
- bl SetBgAttribute
- movs r0, 0x2
- movs r1, 0x1
- movs r2, 0
- bl SetBgAttribute
- movs r1, 0x9C
- lsls r1, 8
- movs r0, 0xA
- bl SetGpuReg
- movs r1, 0xBC
- lsls r1, 7
- movs r0, 0xC
- bl SetGpuReg
- b _080BCEE6
- .align 2, 0
-_080BCECC: .4byte gUnknown_2022986
-_080BCED0: .4byte 0xfffffc04
-_080BCED4: .4byte gScanlineEffect
-_080BCED8: .4byte gScanlineEffectRegBuffers
-_080BCEDC: .4byte gTasks
-_080BCEE0:
- adds r0, r6, 0
- bl sub_80BC41C
-_080BCEE6:
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80BCC4C
-
- thumb_func_start sub_80BCEF4
-sub_80BCEF4: @ 80BCEF4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- str r0, [sp]
- adds r6, r2, 0
- adds r4, r3, 0
- ldr r0, [sp, 0x24]
- ldr r7, [sp, 0x28]
- ldr r2, [sp, 0x2C]
- mov r9, r2
- ldr r5, [sp, 0x30]
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- lsls r6, 24
- lsrs r6, 24
- lsls r4, 24
- lsrs r4, 24
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- lsls r5, 16
- lsrs r5, 16
- adds r0, r4, 0
- bl GetBattlerAtPosition
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080BCFC4 @ =gMonSpritesGfxPtr
- ldr r2, [r1]
- lsls r4, 2
- adds r2, 0x4
- adds r2, r4
- ldr r1, _080BCFC8 @ =gBattleMonForms
- adds r0, r1
- ldrb r1, [r0]
- lsls r1, 11
- ldr r0, [r2]
- adds r0, r1
- movs r2, 0x80
- lsls r2, 3
- adds r1, r7, 0
- bl CpuSet
- ldr r1, [sp]
- lsls r0, r1, 24
- lsrs r0, 24
- movs r2, 0x80
- lsls r2, 5
- adds r1, r7, 0
- adds r3, r5, 0
- bl LoadBgTiles
- adds r0, r6, 0
- adds r0, 0x8
- cmp r6, r0
- bge _080BCFA0
- mov r12, r0
- mov r2, r8
- lsls r7, r2, 1
-_080BCF72:
- mov r1, r8
- adds r2, r1, 0
- adds r2, 0x8
- adds r4, r6, 0x1
- cmp r1, r2
- bge _080BCF9A
- mov r0, r10
- lsls r3, r0, 12
- lsls r0, r6, 6
- add r0, r9
- adds r6, r7, r0
- subs r1, r2, r1
-_080BCF8A:
- adds r0, r5, 0
- orrs r0, r3
- strh r0, [r6]
- adds r5, 0x1
- adds r6, 0x2
- subs r1, 0x1
- cmp r1, 0
- bne _080BCF8A
-_080BCF9A:
- adds r6, r4, 0
- cmp r6, r12
- blt _080BCF72
-_080BCFA0:
- ldr r1, [sp]
- lsls r0, r1, 24
- lsrs r0, 24
- movs r2, 0x80
- lsls r2, 4
- mov r1, r9
- movs r3, 0
- bl LoadBgTilemap
- 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
-_080BCFC4: .4byte gMonSpritesGfxPtr
-_080BCFC8: .4byte gBattleMonForms
- thumb_func_end sub_80BCEF4
-
- thumb_func_start sub_80BCFCC
-sub_80BCFCC: @ 80BCFCC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- ldr r4, [sp, 0x24]
- ldr r5, [sp, 0x28]
- mov r8, r5
- ldr r5, [sp, 0x2C]
- ldr r6, [sp, 0x30]
- mov r9, r6
- lsls r0, 24
- lsrs r0, 24
- mov r12, r0
- lsls r1, 24
- lsls r2, 24
- lsls r3, 24
- lsls r4, 24
- lsrs r4, 24
- mov r10, r4
- mov r7, r8
- lsls r7, 16
- lsrs r6, r7, 16
- lsls r5, 24
- lsrs r5, 24
- mov r0, r9
- lsls r0, 24
- mov r9, r0
- ldr r4, _080BD090 @ =0x040000d4
- ldr r0, _080BD094 @ =gMonSpritesGfxPtr
- ldr r0, [r0]
- lsrs r2, 22
- adds r0, 0x4
- adds r0, r2
- lsrs r3, 13
- ldr r0, [r0]
- adds r0, r3
- str r0, [r4]
- movs r0, 0xC0
- lsls r0, 19
- adds r6, r0
- str r6, [r4, 0x4]
- ldr r0, _080BD098 @ =0x80000400
- str r0, [r4, 0x8]
- ldr r0, [r4, 0x8]
- adds r2, r7, 0
- lsrs r2, 21
- mov r6, r9
- lsrs r6, 15
- subs r4, r2, r6
- lsrs r0, r1, 24
- adds r1, r0, 0
- adds r1, 0x8
- cmp r0, r1
- bge _080BD080
- mov r9, r1
- mov r7, r12
- lsls r7, 1
- mov r8, r7
- lsls r5, 11
- str r5, [sp]
-_080BD048:
- mov r2, r12
- adds r3, r2, 0
- adds r3, 0x8
- adds r5, r0, 0x1
- cmp r2, r3
- bge _080BD07A
- mov r1, r10
- lsls r6, r1, 12
- lsls r0, 6
- movs r7, 0xC0
- lsls r7, 19
- adds r0, r7
- ldr r1, [sp]
- adds r0, r1, r0
- mov r7, r8
- adds r1, r7, r0
- subs r2, r3, r2
-_080BD06A:
- adds r0, r4, 0
- orrs r0, r6
- strh r0, [r1]
- adds r4, 0x1
- adds r1, 0x2
- subs r2, 0x1
- cmp r2, 0
- bne _080BD06A
-_080BD07A:
- adds r0, r5, 0
- cmp r0, r9
- blt _080BD048
-_080BD080:
- 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
-_080BD090: .4byte 0x040000d4
-_080BD094: .4byte gMonSpritesGfxPtr
-_080BD098: .4byte 0x80000400
- thumb_func_end sub_80BCFCC
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/bug.s b/asm/bug.s
deleted file mode 100644
index de99118a2..000000000
--- a/asm/bug.s
+++ /dev/null
@@ -1,829 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_80B3FAC
-sub_80B3FAC: @ 80B3FAC
- push {r4-r6,lr}
- adds r6, r0, 0
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _080B3FD8
- adds r0, r6, 0
- movs r1, 0x2
- bl StartSpriteAffineAnim
- ldr r0, _080B3FD4 @ =gBattleAnimArgs
- ldrh r1, [r0, 0x4]
- negs r1, r1
- strh r1, [r0, 0x4]
- ldrh r1, [r0]
- negs r1, r1
- strh r1, [r0]
- b _080B4008
- .align 2, 0
-_080B3FD4: .4byte gBattleAnimArgs
-_080B3FD8:
- ldr r0, _080B406C @ =gBattleAnimTarget
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _080B4008
- adds r0, r6, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
- ldr r1, _080B4070 @ =gBattleAnimArgs
- ldrh r0, [r1, 0x2]
- negs r0, r0
- strh r0, [r1, 0x2]
- ldrh r0, [r1, 0x4]
- negs r0, r0
- strh r0, [r1, 0x4]
- ldrh r0, [r1, 0x6]
- negs r0, r0
- strh r0, [r1, 0x6]
- ldrh r0, [r1]
- negs r0, r0
- strh r0, [r1]
-_080B4008:
- ldr r5, _080B406C @ =gBattleAnimTarget
- ldrb r0, [r5]
- movs r1, 0x2
- bl sub_8074844
- lsls r0, 24
- ldr r4, _080B4070 @ =gBattleAnimArgs
- lsrs r0, 24
- ldrh r1, [r4]
- adds r0, r1
- strh r0, [r6, 0x20]
- ldrb r0, [r5]
- movs r1, 0x3
- bl sub_8074844
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x2]
- adds r0, r1
- strh r0, [r6, 0x22]
- ldrh r0, [r4, 0x8]
- strh r0, [r6, 0x2E]
- ldrb r0, [r5]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x4]
- adds r0, r1
- strh r0, [r6, 0x32]
- ldrb r0, [r5]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r4, [r4, 0x6]
- adds r0, r4
- strh r0, [r6, 0x36]
- ldr r0, _080B4074 @ =StartAnimLinearTranslation
- str r0, [r6, 0x1C]
- ldr r1, _080B4078 @ =DestroyAnimSprite
- adds r0, r6, 0
- bl StoreSpriteCallbackInData6
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B406C: .4byte gBattleAnimTarget
-_080B4070: .4byte gBattleAnimArgs
-_080B4074: .4byte StartAnimLinearTranslation
-_080B4078: .4byte DestroyAnimSprite
- thumb_func_end sub_80B3FAC
-
- thumb_func_start sub_80B407C
-sub_80B407C: @ 80B407C
- push {r4-r6,lr}
- adds r6, r0, 0
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _080B40A0
- ldr r1, _080B409C @ =gBattleAnimArgs
- ldrh r0, [r1]
- negs r0, r0
- strh r0, [r1]
- adds r0, r6, 0
- movs r1, 0x2
- bl StartSpriteAffineAnim
- b _080B40BC
- .align 2, 0
-_080B409C: .4byte gBattleAnimArgs
-_080B40A0:
- ldr r0, _080B4118 @ =gBattleAnimTarget
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _080B40BC
- ldr r0, _080B411C @ =gBattleAnimArgs
- ldrh r1, [r0, 0x2]
- negs r1, r1
- strh r1, [r0, 0x2]
- ldrh r1, [r0]
- negs r1, r1
- strh r1, [r0]
-_080B40BC:
- ldr r5, _080B4118 @ =gBattleAnimTarget
- ldrb r0, [r5]
- movs r1, 0x2
- bl sub_8074844
- lsls r0, 24
- ldr r4, _080B411C @ =gBattleAnimArgs
- lsrs r0, 24
- ldrh r1, [r4]
- adds r0, r1
- strh r0, [r6, 0x20]
- ldrb r0, [r5]
- movs r1, 0x3
- bl sub_8074844
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x2]
- adds r0, r1
- strh r0, [r6, 0x22]
- ldrh r0, [r4, 0x4]
- strh r0, [r6, 0x2E]
- ldrb r0, [r5]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r6, 0x32]
- ldrb r0, [r5]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r6, 0x36]
- ldr r0, _080B4120 @ =StartAnimLinearTranslation
- str r0, [r6, 0x1C]
- ldr r1, _080B4124 @ =DestroyAnimSprite
- adds r0, r6, 0
- bl StoreSpriteCallbackInData6
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B4118: .4byte gBattleAnimTarget
-_080B411C: .4byte gBattleAnimArgs
-_080B4120: .4byte StartAnimLinearTranslation
-_080B4124: .4byte DestroyAnimSprite
- thumb_func_end sub_80B407C
-
- thumb_func_start sub_80B4128
-sub_80B4128: @ 80B4128
- push {r4,r5,lr}
- adds r5, r0, 0
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _080B4144
- ldr r0, _080B4184 @ =gBattleAnimArgs
- movs r2, 0x4
- ldrsh r1, [r0, r2]
- lsrs r2, r1, 31
- adds r1, r2
- asrs r1, 1
- strh r1, [r0, 0x4]
-_080B4144:
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_8075160
- ldr r1, _080B4184 @ =gBattleAnimArgs
- ldrh r0, [r1, 0x4]
- strh r0, [r5, 0x2E]
- ldrh r0, [r5, 0x20]
- strh r0, [r5, 0x30]
- ldrh r0, [r5, 0x22]
- strh r0, [r5, 0x34]
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _080B418C
- ldr r4, _080B4188 @ =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x32]
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x36]
- b _080B419E
- .align 2, 0
-_080B4184: .4byte gBattleAnimArgs
-_080B4188: .4byte gBattleAnimTarget
-_080B418C:
- ldr r0, _080B41B4 @ =gBattleAnimTarget
- ldrb r0, [r0]
- adds r2, r5, 0
- adds r2, 0x32
- adds r3, r5, 0
- adds r3, 0x36
- movs r1, 0x1
- bl sub_8076D9C
-_080B419E:
- adds r0, r5, 0
- bl sub_8075678
- ldr r0, _080B41B8 @ =gBattleAnimArgs
- ldrh r0, [r0, 0x6]
- strh r0, [r5, 0x38]
- ldr r0, _080B41BC @ =sub_80B41C0
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B41B4: .4byte gBattleAnimTarget
-_080B41B8: .4byte gBattleAnimArgs
-_080B41BC: .4byte sub_80B41C0
- thumb_func_end sub_80B4128
-
- thumb_func_start sub_80B41C0
-sub_80B41C0: @ 80B41C0
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80755E0
- lsls r0, 24
- cmp r0, 0
- beq _080B41D6
- adds r0, r4, 0
- bl DestroyAnimSprite
- b _080B41F2
-_080B41D6:
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- movs r2, 0x38
- ldrsh r1, [r4, r2]
- bl Sin
- ldrh r1, [r4, 0x24]
- adds r0, r1
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x3A]
- adds r0, 0xD
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x3A]
-_080B41F2:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80B41C0
-
- thumb_func_start sub_80B41F8
-sub_80B41F8: @ 80B41F8
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _080B4228 @ =gBattleAnimTarget
- ldrb r0, [r0]
- adds r2, r4, 0
- adds r2, 0x20
- adds r3, r4, 0
- adds r3, 0x22
- movs r1, 0
- bl sub_8076D9C
- ldr r0, _080B422C @ =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080B4234
- ldr r0, _080B4230 @ =gBattleAnimArgs
- ldrh r1, [r4, 0x20]
- ldrh r2, [r0]
- subs r1, r2
- strh r1, [r4, 0x20]
- b _080B4240
- .align 2, 0
-_080B4228: .4byte gBattleAnimTarget
-_080B422C: .4byte gBattleAnimAttacker
-_080B4230: .4byte gBattleAnimArgs
-_080B4234:
- ldr r1, _080B4268 @ =gBattleAnimArgs
- ldrh r0, [r1]
- ldrh r2, [r4, 0x20]
- adds r0, r2
- strh r0, [r4, 0x20]
- adds r0, r1, 0
-_080B4240:
- ldrh r0, [r0, 0x2]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
- ldr r0, _080B426C @ =gBattleAnimTarget
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _080B425C
- ldrh r0, [r4, 0x22]
- adds r0, 0x8
- strh r0, [r4, 0x22]
-_080B425C:
- ldr r0, _080B4270 @ =sub_80B4274
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B4268: .4byte gBattleAnimArgs
-_080B426C: .4byte gBattleAnimTarget
-_080B4270: .4byte sub_80B4274
- thumb_func_end sub_80B41F8
-
- thumb_func_start sub_80B4274
-sub_80B4274: @ 80B4274
- push {lr}
- adds r3, r0, 0
- ldrh r0, [r3, 0x2E]
- adds r0, 0x1
- strh r0, [r3, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- bne _080B42A8
- movs r0, 0
- strh r0, [r3, 0x2E]
- movs r0, 0x3E
- adds r0, r3
- mov r12, r0
- ldrb r2, [r0]
- lsls r0, r2, 29
- lsrs r0, 31
- movs r1, 0x1
- eors r1, r0
- lsls r1, 2
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- mov r1, r12
- strb r0, [r1]
-_080B42A8:
- ldrh r0, [r3, 0x30]
- adds r0, 0x1
- strh r0, [r3, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x33
- bne _080B42BC
- adds r0, r3, 0
- bl DestroyAnimSprite
-_080B42BC:
- pop {r0}
- bx r0
- thumb_func_end sub_80B4274
-
- thumb_func_start sub_80B42C0
-sub_80B42C0: @ 80B42C0
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0xFD
- lsls r1, 6
- movs r0, 0x50
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0x10
- bl SetGpuReg
- movs r0, 0x10
- strh r0, [r4, 0x2E]
- ldr r0, _080B42E4 @ =sub_80B42E8
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B42E4: .4byte sub_80B42E8
- thumb_func_end sub_80B42C0
-
- thumb_func_start sub_80B42E8
-sub_80B42E8: @ 80B42E8
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x32]
- movs r2, 0x32
- ldrsh r0, [r4, r2]
- cmp r0, 0x13
- bgt _080B42FC
- adds r0, r1, 0x1
- strh r0, [r4, 0x32]
- b _080B433A
-_080B42FC:
- ldrh r1, [r4, 0x30]
- adds r0, r1, 0x1
- strh r0, [r4, 0x30]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080B433A
- ldrh r1, [r4, 0x2E]
- subs r1, 0x1
- strh r1, [r4, 0x2E]
- movs r0, 0x10
- subs r0, r1
- lsls r0, 8
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080B433A
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r0, _080B4340 @ =sub_80B4344
- str r0, [r4, 0x1C]
-_080B433A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B4340: .4byte sub_80B4344
- thumb_func_end sub_80B42E8
-
- thumb_func_start sub_80B4344
-sub_80B4344: @ 80B4344
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- adds r0, r4, 0
- bl DestroyAnimSprite
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80B4344
-
- thumb_func_start sub_80B4364
-sub_80B4364: @ 80B4364
- push {r4-r7,lr}
- sub sp, 0x4
- adds r7, r0, 0
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _080B4384
- ldr r1, _080B4380 @ =gBattleAnimArgs
- ldrh r0, [r1, 0x4]
- negs r0, r0
- strh r0, [r1, 0x4]
- b _080B43A6
- .align 2, 0
-_080B4380: .4byte gBattleAnimArgs
-_080B4384:
- ldr r0, _080B4480 @ =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080B43A6
- ldr r1, _080B4484 @ =gBattleAnimArgs
- ldrh r0, [r1, 0x4]
- negs r0, r0
- strh r0, [r1, 0x4]
- ldrh r0, [r1, 0x2]
- negs r0, r0
- strh r0, [r1, 0x2]
- ldrh r0, [r1, 0x6]
- negs r0, r0
- strh r0, [r1, 0x6]
-_080B43A6:
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _080B43F6
- ldr r0, _080B4480 @ =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- adds r4, r0, 0
- ldr r5, _080B4488 @ =gBattleAnimTarget
- ldrb r0, [r5]
- bl GetBattlerSide
- lsls r4, 24
- lsls r0, 24
- cmp r4, r0
- bne _080B43F6
- ldrb r0, [r5]
- bl GetBattlerPosition
- lsls r0, 24
- cmp r0, 0
- beq _080B43E4
- ldrb r0, [r5]
- bl GetBattlerPosition
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080B43F6
-_080B43E4:
- ldr r0, _080B4484 @ =gBattleAnimArgs
- movs r2, 0x4
- ldrsh r1, [r0, r2]
- negs r1, r1
- strh r1, [r0, 0x4]
- movs r2, 0
- ldrsh r1, [r0, r2]
- negs r1, r1
- strh r1, [r0]
-_080B43F6:
- adds r0, r7, 0
- movs r1, 0x1
- bl sub_8075160
- ldr r5, _080B4488 @ =gBattleAnimTarget
- ldrb r0, [r5]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- adds r4, r0, 0
- lsls r4, 24
- ldr r6, _080B4484 @ =gBattleAnimArgs
- lsrs r4, 24
- ldrh r0, [r6, 0x4]
- adds r4, r0
- lsls r4, 16
- lsrs r4, 16
- ldrb r0, [r5]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldrh r2, [r6, 0x6]
- adds r1, r2
- lsls r1, 16
- ldrh r2, [r7, 0x20]
- lsls r0, r4, 16
- asrs r0, 16
- subs r0, r2
- lsls r0, 16
- asrs r0, 16
- ldrh r2, [r7, 0x22]
- lsrs r5, r1, 16
- asrs r1, 16
- subs r1, r2
- lsls r1, 16
- asrs r1, 16
- bl sub_8075B30
- lsls r0, 16
- movs r1, 0xC0
- lsls r1, 24
- adds r0, r1
- lsrs r0, 16
- movs r3, 0x80
- lsls r3, 1
- str r0, [sp]
- adds r0, r7, 0
- movs r1, 0
- adds r2, r3, 0
- bl sub_8075A1C
- ldrh r0, [r6, 0x8]
- strh r0, [r7, 0x2E]
- strh r4, [r7, 0x32]
- strh r5, [r7, 0x36]
- ldr r0, _080B448C @ =StartAnimLinearTranslation
- str r0, [r7, 0x1C]
- ldr r1, _080B4490 @ =DestroyAnimSprite
- adds r0, r7, 0
- bl StoreSpriteCallbackInData6
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B4480: .4byte gBattleAnimAttacker
-_080B4484: .4byte gBattleAnimArgs
-_080B4488: .4byte gBattleAnimTarget
-_080B448C: .4byte StartAnimLinearTranslation
-_080B4490: .4byte DestroyAnimSprite
- thumb_func_end sub_80B4364
-
- thumb_func_start sub_80B4494
-sub_80B4494: @ 80B4494
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r1, 0x1
- bl sub_8075160
- ldr r0, _080B4500 @ =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080B44B4
- ldr r1, _080B4504 @ =gBattleAnimArgs
- ldrh r0, [r1, 0x4]
- negs r0, r0
- strh r0, [r1, 0x4]
-_080B44B4:
- ldr r4, _080B4504 @ =gBattleAnimArgs
- ldrh r0, [r4, 0x8]
- strh r0, [r6, 0x2E]
- ldr r5, _080B4508 @ =gBattleAnimTarget
- ldrb r0, [r5]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x4]
- adds r0, r1
- strh r0, [r6, 0x32]
- ldrb r0, [r5]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x6]
- adds r0, r1
- strh r0, [r6, 0x36]
- ldrh r0, [r4, 0xA]
- strh r0, [r6, 0x38]
- adds r0, r6, 0
- bl sub_8075068
- ldr r0, _080B450C @ =sub_80B4510
- str r0, [r6, 0x1C]
- adds r2, r6, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B4500: .4byte gBattleAnimAttacker
-_080B4504: .4byte gBattleAnimArgs
-_080B4508: .4byte gBattleAnimTarget
-_080B450C: .4byte sub_80B4510
- thumb_func_end sub_80B4494
-
- thumb_func_start sub_80B4510
-sub_80B4510: @ 80B4510
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x14
- adds r4, r0, 0
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x5
- negs r1, r1
- ands r1, r0
- strb r1, [r2]
- adds r0, r4, 0
- bl AnimateBallThrow
- lsls r0, 24
- cmp r0, 0
- beq _080B453C
- adds r0, r4, 0
- bl DestroyAnimSprite
- b _080B45CC
-_080B453C:
- movs r0, 0x2E
- adds r0, r4
- mov r8, r0
- ldrh r7, [r4, 0x20]
- ldrh r5, [r4, 0x24]
- ldrh r1, [r4, 0x22]
- mov r12, r1
- ldrh r6, [r4, 0x26]
- mov r2, r8
- add r1, sp, 0x4
- movs r3, 0x7
-_080B4552:
- ldrh r0, [r2]
- strh r0, [r1]
- adds r2, 0x2
- adds r1, 0x2
- subs r3, 0x1
- cmp r3, 0
- bge _080B4552
- adds r0, r7, r5
- lsls r0, 16
- lsrs r5, r0, 16
- mov r2, r12
- adds r0, r2, r6
- lsls r0, 16
- lsrs r6, r0, 16
- adds r0, r4, 0
- bl AnimateBallThrow
- lsls r0, 24
- cmp r0, 0
- bne _080B45CC
- ldrh r0, [r4, 0x24]
- ldrh r1, [r4, 0x20]
- adds r0, r1
- lsls r1, r5, 16
- asrs r1, 16
- subs r0, r1
- lsls r0, 16
- asrs r0, 16
- ldrh r1, [r4, 0x26]
- ldrh r2, [r4, 0x22]
- adds r1, r2
- lsls r2, r6, 16
- asrs r2, 16
- subs r1, r2
- lsls r1, 16
- asrs r1, 16
- bl sub_8075B30
- lsls r0, 16
- movs r1, 0xC0
- lsls r1, 24
- adds r0, r1
- lsrs r0, 16
- movs r3, 0x80
- lsls r3, 1
- str r0, [sp]
- adds r0, r4, 0
- movs r1, 0
- adds r2, r3, 0
- bl sub_8075A1C
- add r2, sp, 0x4
- mov r1, r8
- movs r3, 0x7
-_080B45BE:
- ldrh r0, [r2]
- strh r0, [r1]
- adds r2, 0x2
- adds r1, 0x2
- subs r3, 0x1
- cmp r3, 0
- bge _080B45BE
-_080B45CC:
- add sp, 0x14
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80B4510
-
- thumb_func_start sub_80B45D8
-sub_80B45D8: @ 80B45D8
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, _080B45EC @ =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080B45F4
- ldr r4, _080B45F0 @ =gBattleAnimAttacker
- b _080B45F6
- .align 2, 0
-_080B45EC: .4byte gBattleAnimArgs
-_080B45F0: .4byte gBattleAnimAttacker
-_080B45F4:
- ldr r4, _080B4628 @ =gBattleAnimTarget
-_080B45F6:
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x12
- strh r0, [r5, 0x22]
- ldr r1, _080B462C @ =move_anim_8074EE0
- adds r0, r5, 0
- bl StoreSpriteCallbackInData6
- ldr r0, _080B4630 @ =sub_8074F50
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B4628: .4byte gBattleAnimTarget
-_080B462C: .4byte move_anim_8074EE0
-_080B4630: .4byte sub_8074F50
- thumb_func_end sub_80B45D8
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/dark.s b/asm/dark.s
deleted file mode 100644
index cbc4060c3..000000000
--- a/asm/dark.s
+++ /dev/null
@@ -1,2323 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_80B78E0
-sub_80B78E0: @ 80B78E0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _080B791C @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, _080B7920 @ =gBattleAnimArgs
- ldrh r1, [r1]
- strh r1, [r0, 0x8]
- ldr r1, _080B7924 @ =gBattleAnimAttacker
- ldrb r4, [r1]
- movs r1, 0x10
- strh r1, [r0, 0xA]
- movs r0, 0x52
- bl SetGpuReg
- adds r0, r4, 0
- bl sub_80768B0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080B792C
- ldr r1, _080B7928 @ =0x00003f42
- movs r0, 0x50
- bl SetGpuReg
- b _080B7934
- .align 2, 0
-_080B791C: .4byte gTasks
-_080B7920: .4byte gBattleAnimArgs
-_080B7924: .4byte gBattleAnimAttacker
-_080B7928: .4byte 0x00003f42
-_080B792C:
- ldr r1, _080B7948 @ =0x00003f44
- movs r0, 0x50
- bl SetGpuReg
-_080B7934:
- ldr r0, _080B794C @ =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, _080B7950 @ =sub_80B7954
- str r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B7948: .4byte 0x00003f44
-_080B794C: .4byte gTasks
-_080B7950: .4byte sub_80B7954
- thumb_func_end sub_80B78E0
-
- thumb_func_start sub_80B7954
-sub_80B7954: @ 80B7954
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r1, _080B79C0 @ =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r6, r0, r1
- ldrh r0, [r6, 0xA]
- lsrs r4, r0, 8
- lsls r0, 24
- lsrs r1, r0, 24
- movs r2, 0xC
- ldrsh r0, [r6, r2]
- ldrb r2, [r6, 0x8]
- cmp r0, r2
- bne _080B79D0
- adds r4, 0x1
- lsls r4, 24
- lsrs r4, 24
- subs r0, r1, 0x1
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r4, 8
- orrs r1, r0
- movs r5, 0
- strh r1, [r6, 0xA]
- ldrh r1, [r6, 0xA]
- movs r0, 0x52
- bl SetGpuReg
- strh r5, [r6, 0xC]
- cmp r4, 0x10
- bne _080B79D6
- ldr r2, _080B79C4 @ =gSprites
- ldr r1, _080B79C8 @ =gBattlerSpriteIds
- ldr r0, _080B79CC @ =gBattleAnimAttacker
- ldrb r0, [r0]
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- adds r0, r7, 0
- bl DestroyAnimVisualTask
- b _080B79D6
- .align 2, 0
-_080B79C0: .4byte gTasks
-_080B79C4: .4byte gSprites
-_080B79C8: .4byte gBattlerSpriteIds
-_080B79CC: .4byte gBattleAnimAttacker
-_080B79D0:
- ldrh r0, [r6, 0xC]
- adds r0, 0x1
- strh r0, [r6, 0xC]
-_080B79D6:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80B7954
-
- thumb_func_start sub_80B79DC
-sub_80B79DC: @ 80B79DC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080B7A08 @ =gTasks
- lsls r2, r0, 2
- adds r2, r0
- lsls r2, 3
- adds r2, r1
- ldr r0, _080B7A0C @ =gBattleAnimArgs
- ldrh r0, [r0]
- strh r0, [r2, 0x8]
- movs r1, 0x80
- lsls r1, 5
- strh r1, [r2, 0xA]
- ldr r0, _080B7A10 @ =sub_80B7A14
- str r0, [r2]
- movs r0, 0x52
- bl SetGpuReg
- pop {r0}
- bx r0
- .align 2, 0
-_080B7A08: .4byte gTasks
-_080B7A0C: .4byte gBattleAnimArgs
-_080B7A10: .4byte sub_80B7A14
- thumb_func_end sub_80B79DC
-
- thumb_func_start sub_80B7A14
-sub_80B7A14: @ 80B7A14
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r1, _080B7A70 @ =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r6, r0, r1
- ldrh r0, [r6, 0xA]
- lsrs r4, r0, 8
- lsls r0, 24
- lsrs r1, r0, 24
- movs r2, 0xC
- ldrsh r0, [r6, r2]
- ldrb r2, [r6, 0x8]
- cmp r0, r2
- bne _080B7A74
- subs r4, 0x1
- lsls r4, 24
- lsrs r4, 24
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r4, 8
- orrs r1, r0
- movs r5, 0
- strh r1, [r6, 0xA]
- ldrh r1, [r6, 0xA]
- movs r0, 0x52
- bl SetGpuReg
- strh r5, [r6, 0xC]
- cmp r4, 0
- bne _080B7A7A
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- adds r0, r7, 0
- bl DestroyAnimVisualTask
- b _080B7A7A
- .align 2, 0
-_080B7A70: .4byte gTasks
-_080B7A74:
- ldrh r0, [r6, 0xC]
- adds r0, 0x1
- strh r0, [r6, 0xC]
-_080B7A7A:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80B7A14
-
- thumb_func_start sub_80B7A80
-sub_80B7A80: @ 80B7A80
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r1, 0x80
- lsls r1, 5
- movs r0, 0x52
- bl SetGpuReg
- ldr r0, _080B7AAC @ =gBattleAnimAttacker
- ldrb r0, [r0]
- bl sub_80768B0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080B7AB4
- ldr r1, _080B7AB0 @ =0x00003f42
- movs r0, 0x50
- bl SetGpuReg
- b _080B7ABC
- .align 2, 0
-_080B7AAC: .4byte gBattleAnimAttacker
-_080B7AB0: .4byte 0x00003f42
-_080B7AB4:
- ldr r1, _080B7AC8 @ =0x00003f44
- movs r0, 0x50
- bl SetGpuReg
-_080B7ABC:
- adds r0, r4, 0
- bl DestroyAnimVisualTask
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B7AC8: .4byte 0x00003f44
- thumb_func_end sub_80B7A80
-
- thumb_func_start sub_80B7ACC
-sub_80B7ACC: @ 80B7ACC
- push {r4-r6,lr}
- adds r4, r0, 0
- ldr r6, _080B7B38 @ =gBattleAnimTarget
- ldrb r0, [r6]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x30]
- ldr r5, _080B7B3C @ =gBattleAnimAttacker
- ldrb r0, [r5]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x32]
- ldrb r0, [r6]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x34]
- ldrb r0, [r5]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x36]
- movs r0, 0x7E
- strh r0, [r4, 0x2E]
- adds r0, r4, 0
- bl InitSpriteDataForLinearTranslation
- ldrh r0, [r4, 0x30]
- negs r0, r0
- strh r0, [r4, 0x34]
- ldrh r0, [r4, 0x32]
- negs r0, r0
- strh r0, [r4, 0x36]
- ldr r0, _080B7B40 @ =0x0000ffd8
- strh r0, [r4, 0x3A]
- ldr r1, _080B7B44 @ =sub_80B7B48
- str r1, [r4, 0x1C]
- adds r0, r4, 0
- bl _call_via_r1
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B7B38: .4byte gBattleAnimTarget
-_080B7B3C: .4byte gBattleAnimAttacker
-_080B7B40: .4byte 0x0000ffd8
-_080B7B44: .4byte sub_80B7B48
- thumb_func_end sub_80B7ACC
-
- thumb_func_start sub_80B7B48
-sub_80B7B48: @ 80B7B48
- push {r4-r6,lr}
- adds r4, r0, 0
- ldrh r5, [r4, 0x30]
- ldrh r0, [r4, 0x34]
- adds r2, r5, r0
- strh r2, [r4, 0x34]
- ldrh r3, [r4, 0x32]
- ldrh r6, [r4, 0x36]
- adds r1, r3, r6
- strh r1, [r4, 0x36]
- lsls r0, r2, 16
- asrs r0, 24
- strh r0, [r4, 0x24]
- lsls r0, r1, 16
- asrs r0, 24
- strh r0, [r4, 0x26]
- movs r6, 0x3C
- ldrsh r0, [r4, r6]
- cmp r0, 0
- bne _080B7B8A
- adds r0, r2, r5
- strh r0, [r4, 0x34]
- adds r1, r3
- strh r1, [r4, 0x36]
- lsls r0, 16
- asrs r0, 24
- strh r0, [r4, 0x24]
- lsls r1, 16
- asrs r1, 24
- strh r1, [r4, 0x26]
- ldrh r0, [r4, 0x2E]
- subs r0, 0x1
- strh r0, [r4, 0x2E]
-_080B7B8A:
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- movs r2, 0x3A
- ldrsh r1, [r4, r2]
- bl Sin
- ldrh r6, [r4, 0x26]
- adds r0, r6
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x38]
- adds r0, 0x3
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x38]
- cmp r0, 0x7F
- ble _080B7BBA
- movs r0, 0
- strh r0, [r4, 0x38]
- ldrh r0, [r4, 0x3A]
- adds r0, 0x14
- strh r0, [r4, 0x3A]
- ldrh r0, [r4, 0x3C]
- adds r0, 0x1
- strh r0, [r4, 0x3C]
-_080B7BBA:
- ldrh r0, [r4, 0x2E]
- subs r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- cmp r0, 0
- bne _080B7BCC
- adds r0, r4, 0
- bl DestroyAnimSprite
-_080B7BCC:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80B7B48
-
- thumb_func_start sub_80B7BD4
-sub_80B7BD4: @ 80B7BD4
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, _080B7C08 @ =gBattleAnimArgs
- ldrh r0, [r5]
- ldrh r1, [r4, 0x20]
- adds r0, r1
- strh r0, [r4, 0x20]
- ldrh r0, [r5, 0x2]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
- ldrb r1, [r5, 0x4]
- adds r0, r4, 0
- bl StartSpriteAffineAnim
- ldrh r0, [r5, 0x6]
- strh r0, [r4, 0x2E]
- ldrh r0, [r5, 0x8]
- strh r0, [r4, 0x30]
- ldrh r0, [r5, 0xA]
- strh r0, [r4, 0x32]
- ldr r0, _080B7C0C @ =sub_80B7C10
- str r0, [r4, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B7C08: .4byte gBattleAnimArgs
-_080B7C0C: .4byte sub_80B7C10
- thumb_func_end sub_80B7BD4
-
- thumb_func_start sub_80B7C10
-sub_80B7C10: @ 80B7C10
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x2E]
- ldrh r1, [r2, 0x36]
- adds r0, r1
- strh r0, [r2, 0x36]
- ldrh r1, [r2, 0x30]
- ldrh r3, [r2, 0x38]
- adds r1, r3
- strh r1, [r2, 0x38]
- lsls r0, 16
- asrs r0, 24
- strh r0, [r2, 0x24]
- lsls r1, 16
- asrs r1, 24
- strh r1, [r2, 0x26]
- ldrh r0, [r2, 0x34]
- adds r0, 0x1
- strh r0, [r2, 0x34]
- lsls r0, 16
- asrs r0, 16
- movs r3, 0x32
- ldrsh r1, [r2, r3]
- cmp r0, r1
- bne _080B7C46
- ldr r0, _080B7C4C @ =sub_80B7C50
- str r0, [r2, 0x1C]
-_080B7C46:
- pop {r0}
- bx r0
- .align 2, 0
-_080B7C4C: .4byte sub_80B7C50
- thumb_func_end sub_80B7C10
-
- thumb_func_start sub_80B7C50
-sub_80B7C50: @ 80B7C50
- push {lr}
- adds r3, r0, 0
- ldrh r1, [r3, 0x36]
- ldrh r0, [r3, 0x2E]
- subs r1, r0
- strh r1, [r3, 0x36]
- ldrh r0, [r3, 0x38]
- ldrh r2, [r3, 0x30]
- subs r0, r2
- strh r0, [r3, 0x38]
- lsls r1, 16
- asrs r1, 24
- strh r1, [r3, 0x24]
- lsls r0, 16
- asrs r0, 24
- strh r0, [r3, 0x26]
- ldrh r0, [r3, 0x34]
- subs r0, 0x1
- strh r0, [r3, 0x34]
- lsls r0, 16
- cmp r0, 0
- bne _080B7C82
- adds r0, r3, 0
- bl move_anim_8074EE0
-_080B7C82:
- pop {r0}
- bx r0
- thumb_func_end sub_80B7C50
-
- thumb_func_start sub_80B7C88
-sub_80B7C88: @ 80B7C88
- push {r4-r7,lr}
- adds r4, r0, 0
- ldr r0, _080B7C9C @ =gBattleAnimArgs
- movs r2, 0
- ldrsh r1, [r0, r2]
- adds r3, r0, 0
- cmp r1, 0
- bne _080B7CA4
- ldr r0, _080B7CA0 @ =gBattleAnimAttacker
- b _080B7CA6
- .align 2, 0
-_080B7C9C: .4byte gBattleAnimArgs
-_080B7CA0: .4byte gBattleAnimAttacker
-_080B7CA4:
- ldr r0, _080B7CD4 @ =gBattleAnimTarget
-_080B7CA6:
- ldrb r5, [r0]
- movs r6, 0x14
- ldrh r2, [r4, 0x4]
- lsls r1, r2, 22
- lsrs r1, 22
- adds r1, 0x4
- ldr r7, _080B7CD8 @ =0x000003ff
- adds r0, r7, 0
- ands r1, r0
- ldr r0, _080B7CDC @ =0xfffffc00
- ands r0, r2
- orrs r0, r1
- strh r0, [r4, 0x4]
- movs r1, 0x2
- ldrsh r0, [r3, r1]
- cmp r0, 0x1
- beq _080B7D04
- cmp r0, 0x1
- bgt _080B7CE0
- cmp r0, 0
- beq _080B7CEA
- b _080B7D58
- .align 2, 0
-_080B7CD4: .4byte gBattleAnimTarget
-_080B7CD8: .4byte 0x000003ff
-_080B7CDC: .4byte 0xfffffc00
-_080B7CE0:
- cmp r0, 0x2
- beq _080B7D1E
- cmp r0, 0x3
- beq _080B7D36
- b _080B7D58
-_080B7CEA:
- adds r0, r5, 0
- movs r1, 0x5
- bl sub_8076B2C
- subs r0, 0x8
- strh r0, [r4, 0x20]
- adds r0, r5, 0
- movs r1, 0x2
- bl sub_8076B2C
- adds r0, 0x8
- strh r0, [r4, 0x22]
- b _080B7D58
-_080B7D04:
- adds r0, r5, 0
- movs r1, 0x5
- bl sub_8076B2C
- subs r0, 0xE
- strh r0, [r4, 0x20]
- adds r0, r5, 0
- movs r1, 0x2
- bl sub_8076B2C
- adds r0, 0x10
- strh r0, [r4, 0x22]
- b _080B7D58
-_080B7D1E:
- adds r0, r5, 0
- movs r1, 0x4
- bl sub_8076B2C
- adds r0, 0x8
- strh r0, [r4, 0x20]
- adds r0, r5, 0
- movs r1, 0x2
- bl sub_8076B2C
- adds r0, 0x8
- b _080B7D4C
-_080B7D36:
- adds r0, r5, 0
- movs r1, 0x4
- bl sub_8076B2C
- adds r0, 0xE
- strh r0, [r4, 0x20]
- adds r0, r5, 0
- movs r1, 0x2
- bl sub_8076B2C
- adds r0, 0x10
-_080B7D4C:
- strh r0, [r4, 0x22]
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
- movs r6, 0xEC
-_080B7D58:
- movs r0, 0x20
- strh r0, [r4, 0x2E]
- lsls r0, r6, 24
- asrs r0, 24
- ldrh r2, [r4, 0x20]
- adds r0, r2
- strh r0, [r4, 0x32]
- ldrh r0, [r4, 0x22]
- adds r0, 0xC
- strh r0, [r4, 0x36]
- ldr r0, _080B7D80 @ =0x0000fff4
- strh r0, [r4, 0x38]
- adds r0, r4, 0
- bl sub_8075068
- ldr r0, _080B7D84 @ =sub_80B7D88
- str r0, [r4, 0x1C]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B7D80: .4byte 0x0000fff4
-_080B7D84: .4byte sub_80B7D88
- thumb_func_end sub_80B7C88
-
- thumb_func_start sub_80B7D88
-sub_80B7D88: @ 80B7D88
- push {r4,lr}
- adds r4, r0, 0
- bl AnimateBallThrow
- lsls r0, 24
- cmp r0, 0
- beq _080B7D9C
- adds r0, r4, 0
- bl move_anim_8074EE0
-_080B7D9C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80B7D88
-
- thumb_func_start sub_80B7DA4
-sub_80B7DA4: @ 80B7DA4
- push {r4-r7,lr}
- sub sp, 0x1C
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _080B7E08 @ =gTasks
- adds r5, r1, r0
- ldr r4, _080B7E0C @ =gBattleAnimAttacker
- ldrb r0, [r4]
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x1F
- movs r6, 0
- strh r0, [r5, 0x16]
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8076B2C
- subs r0, 0x7
- strh r0, [r5, 0x14]
- ldrh r1, [r5, 0x16]
- strh r1, [r5, 0x12]
- strh r0, [r5, 0x10]
- subs r1, r0
- lsls r1, 8
- strh r1, [r5, 0x22]
- ldrb r0, [r4]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- subs r1, 0x20
- strh r1, [r5, 0x24]
- adds r0, 0x20
- strh r0, [r5, 0x26]
- ldrb r0, [r4]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _080B7E14
- ldr r0, _080B7E10 @ =0x0000fff4
- b _080B7E16
- .align 2, 0
-_080B7E08: .4byte gTasks
-_080B7E0C: .4byte gBattleAnimAttacker
-_080B7E10: .4byte 0x0000fff4
-_080B7E14:
- ldr r0, _080B7E60 @ =0x0000ffc0
-_080B7E16:
- strh r0, [r5, 0x18]
- ldr r0, _080B7E64 @ =gBattleAnimAttacker
- ldrb r0, [r0]
- bl sub_80768B0
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0xE]
- cmp r0, 0x1
- bne _080B7E78
- add r4, sp, 0xC
- adds r0, r4, 0
- bl sub_80752A0
- ldr r0, _080B7E68 @ =gBattle_BG1_Y
- ldrh r0, [r0]
- strh r0, [r5, 0x1C]
- ldr r1, _080B7E6C @ =0x00003f42
- movs r0, 0x50
- bl SetGpuReg
- ldrb r1, [r4, 0x8]
- lsls r1, 4
- movs r0, 0
- movs r2, 0x20
- bl FillPalette
- ldr r0, _080B7E70 @ =0x04000016
- str r0, [sp]
- movs r7, 0x2
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _080B7EA8
- ldr r1, _080B7E74 @ =gBattle_BG2_X
- b _080B7EA2
- .align 2, 0
-_080B7E60: .4byte 0x0000ffc0
-_080B7E64: .4byte gBattleAnimAttacker
-_080B7E68: .4byte gBattle_BG1_Y
-_080B7E6C: .4byte 0x00003f42
-_080B7E70: .4byte 0x04000016
-_080B7E74: .4byte gBattle_BG2_X
-_080B7E78:
- ldr r0, _080B7F30 @ =gBattle_BG2_Y
- ldrh r0, [r0]
- strh r0, [r5, 0x1C]
- ldr r1, _080B7F34 @ =0x00003f44
- movs r0, 0x50
- bl SetGpuReg
- movs r0, 0
- movs r1, 0x90
- movs r2, 0x20
- bl FillPalette
- ldr r0, _080B7F38 @ =0x0400001a
- str r0, [sp]
- movs r7, 0x4
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _080B7EA8
- ldr r1, _080B7F3C @ =gBattle_BG1_X
-_080B7EA2:
- ldrh r0, [r1]
- adds r0, 0xF0
- strh r0, [r1]
-_080B7EA8:
- ldr r0, _080B7F40 @ =0xa2600001
- str r0, [sp, 0x4]
- mov r2, sp
- movs r1, 0
- movs r0, 0x1
- strb r0, [r2, 0x8]
- mov r0, sp
- strb r1, [r0, 0x9]
- strh r1, [r5, 0x1E]
- movs r0, 0x10
- strh r0, [r5, 0x20]
- strh r1, [r5, 0x8]
- strh r1, [r5, 0xA]
- strh r1, [r5, 0xC]
- movs r0, 0x3
- bl sub_80B856C
- movs r3, 0
- ldr r4, _080B7F44 @ =gScanlineEffectRegBuffers
- movs r0, 0xF0
- lsls r0, 3
- adds r6, r4, r0
-_080B7ED4:
- lsls r1, r3, 1
- adds r2, r1, r4
- ldrh r0, [r5, 0x1C]
- strh r0, [r2]
- adds r1, r6
- ldrh r0, [r5, 0x1C]
- strh r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x6F
- bls _080B7ED4
- ldr r0, [sp]
- ldr r1, [sp, 0x4]
- ldr r2, [sp, 0x8]
- bl ScanlineEffect_SetParams
- movs r0, 0x3F
- eors r7, r0
- movs r1, 0xFC
- lsls r1, 6
- adds r0, r1, 0
- orrs r7, r0
- movs r0, 0x4A
- adds r1, r7, 0
- bl SetGpuReg
- ldr r1, _080B7F48 @ =0x00003f3f
- movs r0, 0x48
- bl SetGpuReg
- ldr r2, _080B7F4C @ =gUnknown_2022984
- ldrh r0, [r5, 0x24]
- lsls r0, 8
- ldrh r1, [r5, 0x26]
- orrs r0, r1
- strh r0, [r2]
- ldr r1, _080B7F50 @ =gUnknown_2022986
- movs r0, 0xA0
- strh r0, [r1]
- ldr r0, _080B7F54 @ =sub_80B7F58
- str r0, [r5]
- add sp, 0x1C
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B7F30: .4byte gBattle_BG2_Y
-_080B7F34: .4byte 0x00003f44
-_080B7F38: .4byte 0x0400001a
-_080B7F3C: .4byte gBattle_BG1_X
-_080B7F40: .4byte 0xa2600001
-_080B7F44: .4byte gScanlineEffectRegBuffers
-_080B7F48: .4byte 0x00003f3f
-_080B7F4C: .4byte gUnknown_2022984
-_080B7F50: .4byte gUnknown_2022986
-_080B7F54: .4byte sub_80B7F58
- thumb_func_end sub_80B7DA4
-
- thumb_func_start sub_80B7F58
-sub_80B7F58: @ 80B7F58
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, _080B7F7C @ =gTasks
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x4
- bls _080B7F72
- b _080B806A
-_080B7F72:
- lsls r0, 2
- ldr r1, _080B7F80 @ =_080B7F84
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080B7F7C: .4byte gTasks
-_080B7F80: .4byte _080B7F84
- .align 2, 0
-_080B7F84:
- .4byte _080B7F98
- .4byte _080B7FFA
- .4byte _080B8014
- .4byte _080B8050
- .4byte _080B8064
-_080B7F98:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _080B806A
- movs r0, 0
- strh r0, [r4, 0xA]
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080B7FC8
- ldrh r1, [r4, 0x1E]
- movs r2, 0x1E
- ldrsh r0, [r4, r2]
- cmp r0, 0xC
- beq _080B7FD6
- adds r0, r1, 0x1
- strh r0, [r4, 0x1E]
- b _080B7FD6
-_080B7FC8:
- ldrh r1, [r4, 0x20]
- movs r2, 0x20
- ldrsh r0, [r4, r2]
- cmp r0, 0x8
- beq _080B7FD6
- subs r0, r1, 0x1
- strh r0, [r4, 0x20]
-_080B7FD6:
- ldrh r1, [r4, 0x20]
- lsls r1, 8
- ldrh r0, [r4, 0x1E]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- movs r1, 0x1E
- ldrsh r0, [r4, r1]
- cmp r0, 0xC
- bne _080B806A
- movs r2, 0x20
- ldrsh r0, [r4, r2]
- cmp r0, 0x8
- bne _080B806A
- b _080B8056
-_080B7FFA:
- ldrh r0, [r4, 0x10]
- subs r0, 0x8
- strh r0, [r4, 0x10]
- adds r0, r4, 0
- bl sub_80B843C
- movs r0, 0x10
- ldrsh r1, [r4, r0]
- movs r2, 0x18
- ldrsh r0, [r4, r2]
- cmp r1, r0
- bge _080B806A
- b _080B8056
-_080B8014:
- ldrh r0, [r4, 0x10]
- subs r0, 0x8
- strh r0, [r4, 0x10]
- adds r0, r4, 0
- bl sub_80B843C
- ldrh r1, [r4, 0x24]
- adds r1, 0x4
- strh r1, [r4, 0x24]
- ldrh r0, [r4, 0x26]
- subs r2, r0, 0x4
- strh r2, [r4, 0x26]
- lsls r1, 16
- lsls r0, r2, 16
- cmp r1, r0
- blt _080B8036
- strh r2, [r4, 0x24]
-_080B8036:
- ldr r3, _080B804C @ =gUnknown_2022984
- ldrh r2, [r4, 0x24]
- lsls r0, r2, 8
- ldrh r1, [r4, 0x26]
- orrs r0, r1
- strh r0, [r3]
- lsls r2, 16
- lsls r1, 16
- cmp r2, r1
- bne _080B806A
- b _080B8056
- .align 2, 0
-_080B804C: .4byte gUnknown_2022984
-_080B8050:
- ldr r1, _080B8060 @ =gScanlineEffect
- movs r0, 0x3
- strb r0, [r1, 0x15]
-_080B8056:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080B806A
- .align 2, 0
-_080B8060: .4byte gScanlineEffect
-_080B8064:
- adds r0, r2, 0
- bl DestroyAnimVisualTask
-_080B806A:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80B7F58
-
- thumb_func_start sub_80B8070
-sub_80B8070: @ 80B8070
- push {r4-r7,lr}
- sub sp, 0x1C
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, _080B8098 @ =gTasks
- adds r5, r0, r1
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0x4
- bls _080B808C
- b _080B829E
-_080B808C:
- lsls r0, 2
- ldr r1, _080B809C @ =_080B80A0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080B8098: .4byte gTasks
-_080B809C: .4byte _080B80A0
- .align 2, 0
-_080B80A0:
- .4byte _080B80B4
- .4byte _080B8138
- .4byte _080B817C
- .4byte _080B81E8
- .4byte _080B8250
-_080B80B4:
- bl IsContest
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080B80F0
- ldr r0, _080B80E4 @ =gUnknown_2022984
- movs r1, 0
- strh r1, [r0]
- ldr r0, _080B80E8 @ =gUnknown_2022986
- strh r1, [r0]
- ldr r4, _080B80EC @ =0x00003f3f
- movs r0, 0x48
- adds r1, r4, 0
- bl SetGpuReg
- movs r0, 0x4A
- adds r1, r4, 0
- bl SetGpuReg
- adds r0, r6, 0
- bl DestroyAnimVisualTask
- b _080B829E
- .align 2, 0
-_080B80E4: .4byte gUnknown_2022984
-_080B80E8: .4byte gUnknown_2022986
-_080B80EC: .4byte 0x00003f3f
-_080B80F0:
- ldr r0, _080B8110 @ =gBattleAnimTarget
- ldrb r0, [r0]
- bl sub_80768B0
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0xE]
- cmp r0, 0x1
- bne _080B811C
- ldr r1, _080B8114 @ =0x00003f42
- movs r0, 0x50
- bl SetGpuReg
- ldr r1, _080B8118 @ =gBattle_BG2_X
- b _080B8126
- .align 2, 0
-_080B8110: .4byte gBattleAnimTarget
-_080B8114: .4byte 0x00003f42
-_080B8118: .4byte gBattle_BG2_X
-_080B811C:
- ldr r1, _080B8130 @ =0x00003f44
- movs r0, 0x50
- bl SetGpuReg
- ldr r1, _080B8134 @ =gBattle_BG1_X
-_080B8126:
- ldrh r0, [r1]
- adds r0, 0xF0
- strh r0, [r1]
- b _080B823C
- .align 2, 0
-_080B8130: .4byte 0x00003f44
-_080B8134: .4byte gBattle_BG1_X
-_080B8138:
- movs r1, 0xE
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- bne _080B8160
- mov r0, sp
- bl sub_80752A0
- ldr r0, _080B815C @ =gBattle_BG1_Y
- ldrh r0, [r0]
- strh r0, [r5, 0x1C]
- mov r0, sp
- ldrb r1, [r0, 0x8]
- lsls r1, 4
- movs r0, 0
- movs r2, 0x20
- bl FillPalette
- b _080B8170
- .align 2, 0
-_080B815C: .4byte gBattle_BG1_Y
-_080B8160:
- ldr r0, _080B8178 @ =gBattle_BG2_Y
- ldrh r0, [r0]
- strh r0, [r5, 0x1C]
- movs r0, 0
- movs r1, 0x90
- movs r2, 0x20
- bl FillPalette
-_080B8170:
- movs r0, 0x3
- bl sub_80B856C
- b _080B823C
- .align 2, 0
-_080B8178: .4byte gBattle_BG2_Y
-_080B817C:
- ldr r4, _080B81C8 @ =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x1F
- movs r6, 0
- strh r0, [r5, 0x16]
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8076B2C
- subs r0, 0x7
- strh r0, [r5, 0x14]
- ldrh r1, [r5, 0x16]
- subs r1, r0
- lsls r1, 8
- strh r1, [r5, 0x22]
- ldrb r0, [r4]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- subs r1, r0, 0x4
- strh r1, [r5, 0x24]
- adds r0, 0x4
- strh r0, [r5, 0x26]
- ldrb r0, [r4]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _080B81D0
- ldr r0, _080B81CC @ =0x0000fff4
- b _080B81D2
- .align 2, 0
-_080B81C8: .4byte gBattleAnimTarget
-_080B81CC: .4byte 0x0000fff4
-_080B81D0:
- ldr r0, _080B81E4 @ =0x0000ffc0
-_080B81D2:
- strh r0, [r5, 0x18]
- ldrh r0, [r5, 0x18]
- strh r0, [r5, 0x10]
- strh r0, [r5, 0x12]
- movs r0, 0xC
- strh r0, [r5, 0x1E]
- movs r0, 0x8
- strh r0, [r5, 0x20]
- b _080B823C
- .align 2, 0
-_080B81E4: .4byte 0x0000ffc0
-_080B81E8:
- movs r1, 0xE
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- bne _080B81F8
- ldr r0, _080B81F4 @ =0x04000016
- b _080B81FA
- .align 2, 0
-_080B81F4: .4byte 0x04000016
-_080B81F8:
- ldr r0, _080B8244 @ =0x0400001a
-_080B81FA:
- str r0, [sp, 0x10]
- movs r3, 0
- add r4, sp, 0x10
- ldr r6, _080B8248 @ =gScanlineEffectRegBuffers
- movs r0, 0xF0
- lsls r0, 3
- adds r7, r6, r0
-_080B8208:
- lsls r1, r3, 1
- adds r2, r1, r6
- ldrh r0, [r5, 0x1C]
- adds r0, 0x9F
- subs r0, r3
- strh r0, [r2]
- adds r1, r7
- ldrh r0, [r5, 0x1C]
- adds r0, 0x9F
- subs r0, r3
- strh r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x6F
- bls _080B8208
- ldr r1, _080B824C @ =0xa2600001
- str r1, [r4, 0x4]
- movs r2, 0
- movs r0, 0x1
- strb r0, [r4, 0x8]
- strb r2, [r4, 0x9]
- ldr r0, [sp, 0x10]
- ldr r2, [r4, 0x8]
- bl ScanlineEffect_SetParams
-_080B823C:
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- b _080B829E
- .align 2, 0
-_080B8244: .4byte 0x0400001a
-_080B8248: .4byte gScanlineEffectRegBuffers
-_080B824C: .4byte 0xa2600001
-_080B8250:
- movs r1, 0xE
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- bne _080B8268
- ldr r1, _080B8264 @ =0x00003f3d
- movs r0, 0x4A
- bl SetGpuReg
- b _080B8270
- .align 2, 0
-_080B8264: .4byte 0x00003f3d
-_080B8268:
- ldr r1, _080B82A8 @ =0x00003f3b
- movs r0, 0x4A
- bl SetGpuReg
-_080B8270:
- ldr r1, _080B82AC @ =0x00003f3f
- movs r0, 0x48
- bl SetGpuReg
- ldr r2, _080B82B0 @ =gUnknown_2022984
- ldrh r0, [r5, 0x24]
- lsls r0, 8
- ldrh r1, [r5, 0x26]
- orrs r0, r1
- strh r0, [r2]
- ldr r1, _080B82B4 @ =gUnknown_2022986
- movs r0, 0xA0
- strh r0, [r1]
- movs r0, 0
- strh r0, [r5, 0x8]
- strh r0, [r5, 0xA]
- strh r0, [r5, 0xC]
- ldr r1, _080B82B8 @ =0x0000080c
- movs r0, 0x52
- bl SetGpuReg
- ldr r0, _080B82BC @ =sub_80B82C0
- str r0, [r5]
-_080B829E:
- add sp, 0x1C
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B82A8: .4byte 0x00003f3b
-_080B82AC: .4byte 0x00003f3f
-_080B82B0: .4byte gUnknown_2022984
-_080B82B4: .4byte gUnknown_2022986
-_080B82B8: .4byte 0x0000080c
-_080B82BC: .4byte sub_80B82C0
- thumb_func_end sub_80B8070
-
- thumb_func_start sub_80B82C0
-sub_80B82C0: @ 80B82C0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _080B82E4 @ =gTasks
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x4
- bls _080B82DA
- b _080B842A
-_080B82DA:
- lsls r0, 2
- ldr r1, _080B82E8 @ =_080B82EC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080B82E4: .4byte gTasks
-_080B82E8: .4byte _080B82EC
- .align 2, 0
-_080B82EC:
- .4byte _080B8300
- .4byte _080B832C
- .4byte _080B8394
- .4byte _080B83F6
- .4byte _080B8408
-_080B8300:
- ldrh r0, [r4, 0x12]
- adds r0, 0x8
- strh r0, [r4, 0x12]
- lsls r0, 16
- asrs r0, 16
- ldrh r2, [r4, 0x16]
- movs r3, 0x16
- ldrsh r1, [r4, r3]
- cmp r0, r1
- blt _080B8316
- strh r2, [r4, 0x12]
-_080B8316:
- adds r0, r4, 0
- bl sub_80B843C
- movs r0, 0x12
- ldrsh r1, [r4, r0]
- movs r2, 0x16
- ldrsh r0, [r4, r2]
- cmp r1, r0
- beq _080B832A
- b _080B842A
-_080B832A:
- b _080B83FC
-_080B832C:
- movs r3, 0x26
- ldrsh r0, [r4, r3]
- movs r2, 0x24
- ldrsh r1, [r4, r2]
- subs r0, r1
- cmp r0, 0x3F
- bgt _080B8348
- ldrh r0, [r4, 0x24]
- subs r0, 0x4
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x26]
- adds r0, 0x4
- strh r0, [r4, 0x26]
- b _080B834C
-_080B8348:
- movs r0, 0x1
- strh r0, [r4, 0xA]
-_080B834C:
- ldr r2, _080B8390 @ =gUnknown_2022984
- ldrh r0, [r4, 0x24]
- lsls r0, 8
- ldrh r1, [r4, 0x26]
- orrs r0, r1
- strh r0, [r2]
- ldrh r0, [r4, 0x10]
- adds r0, 0x8
- strh r0, [r4, 0x10]
- lsls r0, 16
- asrs r0, 16
- ldrh r2, [r4, 0x14]
- movs r3, 0x14
- ldrsh r1, [r4, r3]
- cmp r0, r1
- blt _080B836E
- strh r2, [r4, 0x10]
-_080B836E:
- adds r0, r4, 0
- bl sub_80B843C
- movs r0, 0x10
- ldrsh r1, [r4, r0]
- movs r2, 0x14
- ldrsh r0, [r4, r2]
- cmp r1, r0
- bne _080B842A
- movs r3, 0xA
- ldrsh r0, [r4, r3]
- cmp r0, 0
- beq _080B842A
- movs r0, 0
- strh r0, [r4, 0xA]
- b _080B83FC
- .align 2, 0
-_080B8390: .4byte gUnknown_2022984
-_080B8394:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _080B842A
- movs r0, 0
- strh r0, [r4, 0xA]
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080B83C4
- ldrh r1, [r4, 0x1E]
- movs r2, 0x1E
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _080B83D2
- subs r0, r1, 0x1
- strh r0, [r4, 0x1E]
- b _080B83D2
-_080B83C4:
- ldrh r1, [r4, 0x20]
- movs r3, 0x20
- ldrsh r0, [r4, r3]
- cmp r0, 0xF
- bgt _080B83D2
- adds r0, r1, 0x1
- strh r0, [r4, 0x20]
-_080B83D2:
- ldrh r1, [r4, 0x20]
- lsls r1, 8
- ldrh r0, [r4, 0x1E]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- movs r1, 0x1E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080B842A
- movs r2, 0x20
- ldrsh r0, [r4, r2]
- cmp r0, 0x10
- bne _080B842A
- b _080B83FC
-_080B83F6:
- ldr r1, _080B8404 @ =gScanlineEffect
- movs r0, 0x3
- strb r0, [r1, 0x15]
-_080B83FC:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080B842A
- .align 2, 0
-_080B8404: .4byte gScanlineEffect
-_080B8408:
- ldr r0, _080B8430 @ =gUnknown_2022984
- movs r1, 0
- strh r1, [r0]
- ldr r0, _080B8434 @ =gUnknown_2022986
- strh r1, [r0]
- ldr r4, _080B8438 @ =0x00003f3f
- movs r0, 0x48
- adds r1, r4, 0
- bl SetGpuReg
- movs r0, 0x4A
- adds r1, r4, 0
- bl SetGpuReg
- adds r0, r5, 0
- bl DestroyAnimVisualTask
-_080B842A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B8430: .4byte gUnknown_2022984
-_080B8434: .4byte gUnknown_2022986
-_080B8438: .4byte 0x00003f3f
- thumb_func_end sub_80B82C0
-
- thumb_func_start sub_80B843C
-sub_80B843C: @ 80B843C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- ldrh r0, [r6, 0x12]
- ldrh r4, [r6, 0x10]
- subs r0, r4
- lsls r0, 16
- asrs r1, r0, 16
- cmp r1, 0
- beq _080B8530
- movs r2, 0x22
- ldrsh r0, [r6, r2]
- bl __divsi3
- mov r8, r0
- movs r3, 0x14
- ldrsh r0, [r6, r3]
- lsls r5, r0, 8
- lsls r0, r4, 16
- movs r4, 0
- cmp r0, 0
- ble _080B849C
- ldr r0, _080B8528 @ =gScanlineEffectRegBuffers
- mov r12, r0
- ldr r7, _080B852C @ =gScanlineEffect
-_080B8470:
- lsls r2, r4, 16
- asrs r2, 16
- lsls r3, r2, 1
- ldrb r1, [r7, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- adds r3, r0
- add r3, r12
- adds r1, r2, 0
- subs r1, 0x9F
- ldrh r0, [r6, 0x1C]
- subs r0, r1
- strh r0, [r3]
- adds r2, 0x1
- lsls r2, 16
- lsrs r4, r2, 16
- asrs r2, 16
- movs r1, 0x10
- ldrsh r0, [r6, r1]
- cmp r2, r0
- blt _080B8470
-_080B849C:
- ldrh r4, [r6, 0x10]
- lsls r3, r4, 16
- asrs r1, r3, 16
- movs r2, 0x12
- ldrsh r0, [r6, r2]
- cmp r1, r0
- bgt _080B84E6
- ldr r0, _080B8528 @ =gScanlineEffectRegBuffers
- mov r12, r0
- ldr r7, _080B852C @ =gScanlineEffect
-_080B84B0:
- asrs r4, r3, 16
- cmp r4, 0
- blt _080B84D2
- asrs r1, r5, 8
- subs r1, r4
- lsls r3, r4, 1
- ldrb r2, [r7, 0x14]
- lsls r0, r2, 4
- subs r0, r2
- lsls r0, 7
- adds r3, r0
- add r3, r12
- lsls r1, 16
- asrs r1, 16
- ldrh r2, [r6, 0x1C]
- adds r1, r2
- strh r1, [r3]
-_080B84D2:
- add r5, r8
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- lsls r3, r4, 16
- asrs r1, r3, 16
- movs r2, 0x12
- ldrsh r0, [r6, r2]
- cmp r1, r0
- ble _080B84B0
-_080B84E6:
- movs r3, 0x1C
- ldrsh r0, [r6, r3]
- adds r0, 0x9F
- lsls r2, r4, 16
- asrs r1, r2, 16
- subs r5, r0, r1
- movs r3, 0x16
- ldrsh r0, [r6, r3]
- cmp r1, r0
- bge _080B855E
- ldr r7, _080B8528 @ =gScanlineEffectRegBuffers
- ldr r4, _080B852C @ =gScanlineEffect
-_080B84FE:
- asrs r3, r2, 16
- cmp r3, 0
- blt _080B8516
- lsls r2, r3, 1
- ldrb r1, [r4, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- adds r2, r0
- adds r2, r7
- strh r5, [r2]
- subs r5, 0x1
-_080B8516:
- adds r0, r3, 0x1
- lsls r2, r0, 16
- asrs r1, r2, 16
- movs r3, 0x16
- ldrsh r0, [r6, r3]
- cmp r1, r0
- blt _080B84FE
- b _080B855E
- .align 2, 0
-_080B8528: .4byte gScanlineEffectRegBuffers
-_080B852C: .4byte gScanlineEffect
-_080B8530:
- movs r1, 0x1C
- ldrsh r0, [r6, r1]
- adds r5, r0, 0
- adds r5, 0x9F
- movs r4, 0
- ldr r3, _080B8568 @ =gScanlineEffectRegBuffers
- movs r2, 0xF0
- lsls r2, 3
- adds r6, r3, r2
-_080B8542:
- lsls r0, r4, 16
- asrs r0, 16
- lsls r2, r0, 1
- adds r1, r2, r3
- strh r5, [r1]
- adds r2, r6
- strh r5, [r2]
- subs r5, 0x1
- adds r0, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- asrs r0, 16
- cmp r0, 0x6F
- ble _080B8542
-_080B855E:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B8568: .4byte gScanlineEffectRegBuffers
- thumb_func_end sub_80B843C
-
- thumb_func_start sub_80B856C
-sub_80B856C: @ 80B856C
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r0, 24
- movs r4, 0
- ldr r7, _080B85B4 @ =gSprites
- movs r1, 0x3
- ands r0, r1
- lsls r5, r0, 2
- movs r0, 0xD
- negs r0, r0
- adds r6, r0, 0
-_080B8582:
- lsls r0, r4, 24
- lsrs r0, 24
- bl GetAnimBankSpriteId
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- beq _080B85A2
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r7
- ldrb r0, [r1, 0x5]
- ands r0, r6
- orrs r0, r5
- strb r0, [r1, 0x5]
-_080B85A2:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x3
- bls _080B8582
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B85B4: .4byte gSprites
- thumb_func_end sub_80B856C
-
- thumb_func_start sub_80B85B8
-sub_80B85B8: @ 80B85B8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- ldr r6, _080B8658 @ =gBattleAnimAttacker
- ldrb r0, [r6]
- bl sub_80768B0
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- eors r0, r1
- negs r1, r0
- orrs r1, r0
- lsrs r4, r1, 31
- ldrb r0, [r6]
- adds r1, r4, 0
- bl sub_8072E48
- ldr r0, _080B865C @ =gSprites
- mov r9, r0
- ldr r0, _080B8660 @ =gBattlerSpriteIds
- mov r8, r0
- ldrb r0, [r6]
- add r0, r8
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- add r1, r9
- adds r1, 0x3E
- ldrb r2, [r1]
- movs r7, 0x5
- negs r7, r7
- adds r0, r7, 0
- ands r0, r2
- strb r0, [r1]
- ldrb r0, [r6]
- movs r5, 0x2
- eors r0, r5
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _080B8642
- ldrb r0, [r6]
- eors r0, r5
- movs r1, 0x1
- eors r4, r1
- adds r1, r4, 0
- bl sub_8072E48
- ldrb r0, [r6]
- eors r0, r5
- add r0, r8
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r9
- adds r0, 0x3E
- ldrb r2, [r0]
- adds r1, r7, 0
- ands r1, r2
- strb r1, [r0]
-_080B8642:
- mov r0, r10
- bl DestroyAnimVisualTask
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B8658: .4byte gBattleAnimAttacker
-_080B865C: .4byte gSprites
-_080B8660: .4byte gBattlerSpriteIds
- thumb_func_end sub_80B85B8
-
- thumb_func_start sub_80B8664
-sub_80B8664: @ 80B8664
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r4, _080B86AC @ =gBattleAnimAttacker
- ldrb r0, [r4]
- bl sub_80768B0
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- eors r0, r1
- negs r1, r0
- orrs r1, r0
- lsrs r5, r1, 31
- adds r0, r5, 0
- bl sub_8073128
- ldrb r1, [r4]
- movs r0, 0x2
- eors r0, r1
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _080B86A0
- movs r0, 0x1
- eors r5, r0
- adds r0, r5, 0
- bl sub_8073128
-_080B86A0:
- adds r0, r6, 0
- bl DestroyAnimVisualTask
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B86AC: .4byte gBattleAnimAttacker
- thumb_func_end sub_80B8664
-
- thumb_func_start sub_80B86B0
-sub_80B86B0: @ 80B86B0
- push {r4,lr}
- adds r4, r0, 0
- ldr r1, _080B86E0 @ =gBattleAnimArgs
- ldrh r0, [r1]
- ldrh r2, [r4, 0x20]
- adds r0, r2
- strh r0, [r4, 0x20]
- ldrh r0, [r1, 0x2]
- ldrh r2, [r4, 0x22]
- adds r0, r2
- strh r0, [r4, 0x22]
- ldrb r1, [r1, 0x4]
- adds r0, r4, 0
- bl StartSpriteAnim
- ldr r0, _080B86E4 @ =sub_8074F6C
- str r0, [r4, 0x1C]
- ldr r1, _080B86E8 @ =DestroyAnimSprite
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B86E0: .4byte gBattleAnimArgs
-_080B86E4: .4byte sub_8074F6C
-_080B86E8: .4byte DestroyAnimSprite
- thumb_func_end sub_80B86B0
-
- thumb_func_start sub_80B86EC
-sub_80B86EC: @ 80B86EC
- push {r4-r7,lr}
- sub sp, 0x10
- lsls r0, 24
- lsrs r7, r0, 24
- movs r6, 0
- ldr r0, _080B87EC @ =gUnknown_2022984
- strh r6, [r0]
- ldr r0, _080B87F0 @ =gUnknown_2022986
- strh r6, [r0]
- ldr r1, _080B87F4 @ =0x00003f3f
- movs r0, 0x48
- bl SetGpuReg
- ldr r1, _080B87F8 @ =0x00003f3d
- movs r0, 0x4A
- bl SetGpuReg
- movs r1, 0x80
- lsls r1, 8
- movs r0, 0
- bl SetGpuRegBits
- ldr r1, _080B87FC @ =0x00003f42
- movs r0, 0x50
- bl SetGpuReg
- ldr r1, _080B8800 @ =0x00000c08
- movs r0, 0x52
- bl SetGpuReg
- movs r0, 0x1
- movs r1, 0x4
- movs r2, 0
- bl SetAnimBgAttribute
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl SetAnimBgAttribute
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _080B8750
- movs r0, 0x1
- movs r1, 0x3
- movs r2, 0x1
- bl SetAnimBgAttribute
-_080B8750:
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _080B87CA
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _080B87CA
- ldr r4, _080B8804 @ =gBattleAnimAttacker
- ldrb r0, [r4]
- bl GetBattlerPosition
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- beq _080B8780
- ldrb r0, [r4]
- bl GetBattlerPosition
- lsls r0, 24
- cmp r0, 0
- bne _080B87CA
-_080B8780:
- ldrb r0, [r4]
- movs r5, 0x2
- eors r0, r5
- bl IsBattlerSpriteVisible
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080B87CA
- ldr r3, _080B8808 @ =gSprites
- ldr r1, _080B880C @ =gBattlerSpriteIds
- ldrb r0, [r4]
- eors r0, r5
- adds r0, r1
- ldrb r0, [r0]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r3
- ldrb r3, [r2, 0x5]
- lsls r1, r3, 28
- lsrs r1, 30
- subs r1, 0x1
- movs r0, 0x3
- ands r1, r0
- lsls r1, 2
- movs r0, 0xD
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2, 0x5]
- movs r0, 0x1
- movs r1, 0x4
- movs r2, 0x1
- bl SetAnimBgAttribute
- movs r6, 0x1
-_080B87CA:
- ldr r4, _080B8804 @ =gBattleAnimAttacker
- ldrb r0, [r4]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080B8818
- ldr r1, _080B8810 @ =gBattlerPartyIndexes
- ldrb r0, [r4]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _080B8814 @ =gEnemyParty
- b _080B8828
- .align 2, 0
-_080B87EC: .4byte gUnknown_2022984
-_080B87F0: .4byte gUnknown_2022986
-_080B87F4: .4byte 0x00003f3f
-_080B87F8: .4byte 0x00003f3d
-_080B87FC: .4byte 0x00003f42
-_080B8800: .4byte 0x00000c08
-_080B8804: .4byte gBattleAnimAttacker
-_080B8808: .4byte gSprites
-_080B880C: .4byte gBattlerSpriteIds
-_080B8810: .4byte gBattlerPartyIndexes
-_080B8814: .4byte gEnemyParty
-_080B8818:
- ldr r1, _080B88B8 @ =gBattlerPartyIndexes
- ldrb r0, [r4]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _080B88BC @ =gPlayerParty
-_080B8828:
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r5, r0, 16
- movs r0, 0
- bl GetAnimBankSpriteId
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _080B88C0 @ =gBattleAnimAttacker
- ldrb r0, [r0]
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_8076E34
- lsls r0, 24
- lsrs r5, r0, 24
- mov r0, sp
- bl sub_80752A0
- mov r0, sp
- ldrb r0, [r0, 0x9]
- ldr r1, _080B88C4 @ =gFile_graphics_battle_anims_masks_metal_shine_tilemap
- bl sub_807543C
- mov r0, sp
- ldrb r0, [r0, 0x9]
- ldr r1, _080B88C8 @ =gFile_graphics_battle_anims_masks_metal_shine_sheet
- mov r2, sp
- ldrh r2, [r2, 0xA]
- bl sub_80753B4
- ldr r0, _080B88CC @ =gFile_graphics_battle_anims_masks_metal_shine_palette
- mov r1, sp
- ldrb r1, [r1, 0x8]
- lsls r1, 4
- movs r2, 0x20
- bl LoadCompressedPalette
- ldr r2, _080B88D0 @ =gBattle_BG1_X
- ldr r0, _080B88D4 @ =gSprites
- lsls r1, r4, 4
- adds r1, r4
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r1, 0x20]
- negs r0, r0
- adds r0, 0x60
- strh r0, [r2]
- ldr r2, _080B88D8 @ =gBattle_BG1_Y
- ldrh r0, [r1, 0x22]
- negs r0, r0
- adds r0, 0x20
- strh r0, [r2]
- ldrb r0, [r1, 0x5]
- lsrs r0, 4
- adds r0, 0x10
- adds r1, r0, 0
- ldr r2, _080B88DC @ =gBattleAnimArgs
- movs r3, 0x2
- ldrsh r0, [r2, r3]
- cmp r0, 0
- bne _080B88E0
- adds r0, r1, 0
- movs r1, 0
- bl sub_8075B48
- b _080B88EC
- .align 2, 0
-_080B88B8: .4byte gBattlerPartyIndexes
-_080B88BC: .4byte gPlayerParty
-_080B88C0: .4byte gBattleAnimAttacker
-_080B88C4: .4byte gFile_graphics_battle_anims_masks_metal_shine_tilemap
-_080B88C8: .4byte gFile_graphics_battle_anims_masks_metal_shine_sheet
-_080B88CC: .4byte gFile_graphics_battle_anims_masks_metal_shine_palette
-_080B88D0: .4byte gBattle_BG1_X
-_080B88D4: .4byte gSprites
-_080B88D8: .4byte gBattle_BG1_Y
-_080B88DC: .4byte gBattleAnimArgs
-_080B88E0:
- lsls r0, r1, 4
- ldrh r3, [r2, 0x4]
- movs r1, 0x10
- movs r2, 0xB
- bl BlendPalette
-_080B88EC:
- ldr r1, _080B8914 @ =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- strh r5, [r0, 0x8]
- ldr r2, _080B8918 @ =gBattleAnimArgs
- ldrh r1, [r2]
- strh r1, [r0, 0xA]
- ldrh r1, [r2, 0x2]
- strh r1, [r0, 0xC]
- ldrh r1, [r2, 0x4]
- strh r1, [r0, 0xE]
- strh r6, [r0, 0x14]
- ldr r1, _080B891C @ =sub_80B8920
- str r1, [r0]
- add sp, 0x10
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B8914: .4byte gTasks
-_080B8918: .4byte gBattleAnimArgs
-_080B891C: .4byte sub_80B8920
- thumb_func_end sub_80B86EC
-
- thumb_func_start sub_80B8920
-sub_80B8920: @ 80B8920
- push {r4-r6,lr}
- sub sp, 0x10
- lsls r0, 24
- lsrs r0, 24
- adds r6, r0, 0
- ldr r1, _080B89E8 @ =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r4, r0, r1
- ldrh r0, [r4, 0x1C]
- adds r0, 0x4
- movs r5, 0
- strh r0, [r4, 0x1C]
- ldr r2, _080B89EC @ =gBattle_BG1_X
- ldrh r3, [r2]
- subs r1, r3, 0x4
- strh r1, [r2]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x80
- beq _080B894E
- b _080B8A5E
-_080B894E:
- strh r5, [r4, 0x1C]
- adds r0, r3, 0
- adds r0, 0x7C
- strh r0, [r2]
- ldrh r0, [r4, 0x1E]
- adds r0, 0x1
- strh r0, [r4, 0x1E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- bne _080B89FC
- movs r0, 0
- bl GetAnimBankSpriteId
- lsls r0, 24
- lsrs r0, 24
- ldr r5, _080B89F0 @ =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- ldrb r0, [r1, 0x5]
- lsrs r0, 4
- adds r0, 0x10
- adds r1, r0, 0
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _080B8990
- adds r0, r1, 0
- movs r1, 0x1
- bl sub_8075B48
-_080B8990:
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- bl DestroySprite
- mov r0, sp
- bl sub_80752A0
- mov r0, sp
- ldrb r0, [r0, 0x9]
- bl sub_8075358
- movs r1, 0x14
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- bne _080B8A5E
- ldr r2, _080B89F4 @ =gBattlerSpriteIds
- ldr r0, _080B89F8 @ =gBattleAnimAttacker
- ldrb r1, [r0]
- movs r0, 0x2
- eors r0, r1
- adds r0, r2
- ldrb r0, [r0]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r5
- ldrb r3, [r2, 0x5]
- lsls r1, r3, 28
- lsrs r1, 30
- adds r1, 0x1
- movs r0, 0x3
- ands r1, r0
- lsls r1, 2
- movs r0, 0xD
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2, 0x5]
- b _080B8A5E
- .align 2, 0
-_080B89E8: .4byte gTasks
-_080B89EC: .4byte gBattle_BG1_X
-_080B89F0: .4byte gSprites
-_080B89F4: .4byte gBattlerSpriteIds
-_080B89F8: .4byte gBattleAnimAttacker
-_080B89FC:
- cmp r0, 0x3
- bne _080B8A5E
- ldr r0, _080B8A68 @ =gUnknown_2022984
- strh r5, [r0]
- ldr r0, _080B8A6C @ =gUnknown_2022986
- strh r5, [r0]
- ldr r4, _080B8A70 @ =0x00003f3f
- movs r0, 0x48
- adds r1, r4, 0
- bl SetGpuReg
- movs r0, 0x4A
- adds r1, r4, 0
- bl SetGpuReg
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _080B8A2E
- movs r0, 0x1
- movs r1, 0x3
- movs r2, 0
- bl SetAnimBgAttribute
-_080B8A2E:
- movs r0, 0
- bl GetGpuReg
- adds r1, r0, 0
- movs r2, 0x80
- lsls r2, 8
- adds r0, r2, 0
- eors r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0
- bl SetGpuReg
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- adds r0, r6, 0
- bl DestroyAnimVisualTask
-_080B8A5E:
- add sp, 0x10
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B8A68: .4byte gUnknown_2022984
-_080B8A6C: .4byte gUnknown_2022986
-_080B8A70: .4byte 0x00003f3f
- thumb_func_end sub_80B8920
-
- thumb_func_start sub_80B8A74
-sub_80B8A74: @ 80B8A74
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- ldr r0, _080B8A94 @ =gBattleAnimArgs
- movs r2, 0
- ldrsh r1, [r0, r2]
- adds r2, r0, 0
- cmp r1, 0x7
- bhi _080B8AD8
- lsls r0, r1, 2
- ldr r1, _080B8A98 @ =_080B8A9C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080B8A94: .4byte gBattleAnimArgs
-_080B8A98: .4byte _080B8A9C
- .align 2, 0
-_080B8A9C:
- .4byte _080B8ABC
- .4byte _080B8ABC
- .4byte _080B8ABC
- .4byte _080B8ABC
- .4byte _080B8AC8
- .4byte _080B8ACC
- .4byte _080B8AD0
- .4byte _080B8AD4
-_080B8ABC:
- ldrb r0, [r2]
- bl GetAnimBankSpriteId
- lsls r0, 24
- lsrs r2, r0, 24
- b _080B8ADA
-_080B8AC8:
- movs r4, 0
- b _080B8AE0
-_080B8ACC:
- movs r4, 0x2
- b _080B8AE0
-_080B8AD0:
- movs r4, 0x1
- b _080B8AE0
-_080B8AD4:
- movs r4, 0x3
- b _080B8AE0
-_080B8AD8:
- movs r2, 0xFF
-_080B8ADA:
- movs r0, 0
- cmp r0, 0
- beq _080B8B06
-_080B8AE0:
- adds r0, r4, 0
- bl GetBattlerAtPosition
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _080B8B04
- ldr r0, _080B8B00 @ =gBattlerSpriteIds
- adds r0, r4, r0
- ldrb r2, [r0]
- b _080B8B06
- .align 2, 0
-_080B8B00: .4byte gBattlerSpriteIds
-_080B8B04:
- movs r2, 0xFF
-_080B8B06:
- cmp r2, 0xFF
- beq _080B8B22
- ldr r1, _080B8B30 @ =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0, 0x5]
- lsrs r0, 4
- adds r0, 0x10
- ldr r1, _080B8B34 @ =gBattleAnimArgs
- ldrb r1, [r1, 0x2]
- bl sub_8075B48
-_080B8B22:
- adds r0, r5, 0
- bl DestroyAnimVisualTask
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B8B30: .4byte gSprites
-_080B8B34: .4byte gBattleAnimArgs
- thumb_func_end sub_80B8A74
-
- thumb_func_start sub_80B8B38
-sub_80B8B38: @ 80B8B38
- push {lr}
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r2, _080B8B64 @ =gAnimMoveTurn
- ldrb r0, [r2]
- cmp r0, 0x1
- bhi _080B8B4C
- ldr r1, _080B8B68 @ =gBattleAnimArgs
- movs r0, 0
- strh r0, [r1, 0xE]
-_080B8B4C:
- ldrb r0, [r2]
- cmp r0, 0x2
- bne _080B8B58
- ldr r1, _080B8B68 @ =gBattleAnimArgs
- movs r0, 0x1
- strh r0, [r1, 0xE]
-_080B8B58:
- adds r0, r3, 0
- bl DestroyAnimVisualTask
- pop {r0}
- bx r0
- .align 2, 0
-_080B8B64: .4byte gAnimMoveTurn
-_080B8B68: .4byte gBattleAnimArgs
- thumb_func_end sub_80B8B38
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/dragon.s b/asm/dragon.s
deleted file mode 100644
index bd01691f1..000000000
--- a/asm/dragon.s
+++ /dev/null
@@ -1,835 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_80B725C
-sub_80B725C: @ 80B725C
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, _080B72A4 @ =gBattleAnimAttacker
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
- ldrb r0, [r4]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080B72AC
- ldr r2, _080B72A8 @ =gBattleAnimArgs
- ldrh r0, [r5, 0x20]
- ldrh r1, [r2]
- subs r0, r1
- strh r0, [r5, 0x20]
- ldrh r0, [r2, 0x6]
- negs r0, r0
- strh r0, [r2, 0x6]
- ldrh r0, [r2, 0x8]
- negs r0, r0
- strh r0, [r2, 0x8]
- adds r1, r2, 0
- b _080B72B6
- .align 2, 0
-_080B72A4: .4byte gBattleAnimAttacker
-_080B72A8: .4byte gBattleAnimArgs
-_080B72AC:
- ldr r1, _080B72EC @ =gBattleAnimArgs
- ldrh r0, [r1]
- ldrh r2, [r5, 0x20]
- adds r0, r2
- strh r0, [r5, 0x20]
-_080B72B6:
- ldrh r0, [r1, 0x2]
- ldrh r2, [r5, 0x22]
- adds r0, r2
- strh r0, [r5, 0x22]
- ldrh r0, [r1, 0x4]
- strh r0, [r5, 0x2E]
- ldrh r0, [r1, 0x6]
- strh r0, [r5, 0x30]
- ldrh r0, [r1, 0x8]
- strh r0, [r5, 0x34]
- ldrh r0, [r1, 0xA]
- strh r0, [r5, 0x38]
- adds r2, r5, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r1, _080B72F0 @ =move_anim_8074EE0
- adds r0, r5, 0
- bl StoreSpriteCallbackInData6
- ldr r0, _080B72F4 @ =sub_8074E70
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B72EC: .4byte gBattleAnimArgs
-_080B72F0: .4byte move_anim_8074EE0
-_080B72F4: .4byte sub_8074E70
- thumb_func_end sub_80B725C
-
- thumb_func_start sub_80B72F8
-sub_80B72F8: @ 80B72F8
- push {r4,r5,lr}
- adds r5, r0, 0
- bl sub_8074FCC
- ldr r4, _080B7350 @ =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x32]
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x36]
- ldr r0, _080B7354 @ =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080B735C
- ldr r2, _080B7358 @ =gBattleAnimArgs
- ldrh r0, [r5, 0x20]
- ldrh r1, [r2, 0x2]
- subs r0, r1
- strh r0, [r5, 0x20]
- ldrh r0, [r5, 0x22]
- adds r1, r0
- strh r1, [r5, 0x22]
- ldrh r0, [r5, 0x32]
- ldrh r1, [r2, 0x4]
- subs r0, r1
- strh r0, [r5, 0x32]
- ldrh r0, [r2, 0x6]
- ldrh r1, [r5, 0x36]
- adds r0, r1
- strh r0, [r5, 0x36]
- b _080B7386
- .align 2, 0
-_080B7350: .4byte gBattleAnimTarget
-_080B7354: .4byte gBattleAnimAttacker
-_080B7358: .4byte gBattleAnimArgs
-_080B735C:
- ldr r1, _080B73A0 @ =gBattleAnimArgs
- ldrh r0, [r1]
- ldrh r2, [r5, 0x20]
- adds r0, r2
- strh r0, [r5, 0x20]
- ldrh r0, [r1, 0x2]
- ldrh r2, [r5, 0x22]
- adds r0, r2
- strh r0, [r5, 0x22]
- ldrh r0, [r1, 0x4]
- ldrh r2, [r5, 0x32]
- adds r0, r2
- strh r0, [r5, 0x32]
- ldrh r0, [r1, 0x6]
- ldrh r1, [r5, 0x36]
- adds r0, r1
- strh r0, [r5, 0x36]
- adds r0, r5, 0
- movs r1, 0x1
- bl StartSpriteAnim
-_080B7386:
- ldr r0, _080B73A0 @ =gBattleAnimArgs
- ldrh r0, [r0, 0x8]
- strh r0, [r5, 0x2E]
- ldr r0, _080B73A4 @ =StartAnimLinearTranslation
- str r0, [r5, 0x1C]
- ldr r1, _080B73A8 @ =move_anim_8074EE0
- adds r0, r5, 0
- bl StoreSpriteCallbackInData6
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B73A0: .4byte gBattleAnimArgs
-_080B73A4: .4byte StartAnimLinearTranslation
-_080B73A8: .4byte move_anim_8074EE0
- thumb_func_end sub_80B72F8
-
- thumb_func_start sub_80B73AC
-sub_80B73AC: @ 80B73AC
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, _080B73C0 @ =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080B73C8
- ldr r4, _080B73C4 @ =gBattleAnimAttacker
- b _080B73CA
- .align 2, 0
-_080B73C0: .4byte gBattleAnimArgs
-_080B73C4: .4byte gBattleAnimAttacker
-_080B73C8:
- ldr r4, _080B740C @ =gBattleAnimTarget
-_080B73CA:
- ldrb r0, [r4]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
- ldr r4, _080B7410 @ =gBattleAnimArgs
- movs r0, 0x2
- ldrsh r1, [r4, r0]
- adds r0, r5, 0
- bl sub_8074FF8
- ldrh r0, [r4, 0x4]
- ldrh r1, [r5, 0x22]
- adds r0, r1
- strh r0, [r5, 0x22]
- ldr r0, _080B7414 @ =sub_8074F6C
- str r0, [r5, 0x1C]
- ldr r1, _080B7418 @ =move_anim_8074EE0
- adds r0, r5, 0
- bl StoreSpriteCallbackInData6
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B740C: .4byte gBattleAnimTarget
-_080B7410: .4byte gBattleAnimArgs
-_080B7414: .4byte sub_8074F6C
-_080B7418: .4byte move_anim_8074EE0
- thumb_func_end sub_80B73AC
-
- thumb_func_start sub_80B741C
-sub_80B741C: @ 80B741C
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _080B7444 @ =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080B7436
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
-_080B7436:
- adds r0, r4, 0
- bl sub_80B72F8
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B7444: .4byte gBattleAnimAttacker
- thumb_func_end sub_80B741C
-
- thumb_func_start sub_80B7448
-sub_80B7448: @ 80B7448
- push {r4-r7,lr}
- adds r6, r0, 0
- ldr r4, _080B749C @ =gBattleAnimAttacker
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- movs r5, 0
- strh r0, [r6, 0x20]
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r6, 0x22]
- strh r5, [r6, 0x36]
- movs r0, 0x1
- strh r0, [r6, 0x38]
- ldr r0, _080B74A0 @ =gBattleAnimArgs
- ldrh r0, [r0]
- strh r0, [r6, 0x3A]
- ldr r4, _080B74A4 @ =gBattlerAttacker
- ldrb r0, [r4]
- movs r1, 0
- bl sub_8076B2C
- lsls r7, r0, 16
- lsrs r5, r7, 16
- ldrb r0, [r4]
- movs r1, 0x1
- bl sub_8076B2C
- lsls r1, r0, 16
- lsrs r0, r1, 16
- cmp r5, r0
- bls _080B74A8
- lsrs r0, r7, 17
- b _080B74AA
- .align 2, 0
-_080B749C: .4byte gBattleAnimAttacker
-_080B74A0: .4byte gBattleAnimArgs
-_080B74A4: .4byte gBattlerAttacker
-_080B74A8:
- lsrs r0, r1, 17
-_080B74AA:
- strh r0, [r6, 0x3C]
- movs r1, 0x3A
- ldrsh r0, [r6, r1]
- movs r2, 0x3C
- ldrsh r1, [r6, r2]
- bl Cos
- strh r0, [r6, 0x24]
- movs r1, 0x3A
- ldrsh r0, [r6, r1]
- movs r2, 0x3C
- ldrsh r1, [r6, r2]
- bl Sin
- strh r0, [r6, 0x26]
- ldr r0, _080B74D4 @ =sub_80B74D8
- str r0, [r6, 0x1C]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B74D4: .4byte sub_80B74D8
- thumb_func_end sub_80B7448
-
- thumb_func_start sub_80B74D8
-sub_80B74D8: @ 80B74D8
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0x2E
- ldrsh r5, [r4, r0]
- cmp r5, 0
- beq _080B74EA
- cmp r5, 0x1
- beq _080B7556
- b _080B75DA
-_080B74EA:
- ldrh r0, [r4, 0x3A]
- ldrh r1, [r4, 0x38]
- subs r0, r1
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x3A]
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- movs r2, 0x3C
- ldrsh r1, [r4, r2]
- bl Cos
- strh r0, [r4, 0x24]
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- movs r2, 0x3C
- ldrsh r1, [r4, r2]
- bl Sin
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x36]
- adds r0, 0x1
- strh r0, [r4, 0x36]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5
- ble _080B753C
- strh r5, [r4, 0x36]
- ldrh r1, [r4, 0x38]
- movs r2, 0x38
- ldrsh r0, [r4, r2]
- cmp r0, 0xF
- bgt _080B753C
- adds r0, r1, 0x1
- strh r0, [r4, 0x38]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xF
- ble _080B753C
- movs r0, 0x10
- strh r0, [r4, 0x38]
-_080B753C:
- ldrh r0, [r4, 0x34]
- adds r0, 0x1
- strh r0, [r4, 0x34]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3C
- ble _080B75DA
- movs r0, 0
- strh r0, [r4, 0x34]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- b _080B75DA
-_080B7556:
- ldrh r0, [r4, 0x3A]
- ldrh r1, [r4, 0x38]
- subs r0, r1
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x3A]
- ldrh r1, [r4, 0x3C]
- movs r2, 0x3C
- ldrsh r0, [r4, r2]
- cmp r0, 0x95
- bgt _080B757E
- adds r0, r1, 0
- adds r0, 0x8
- strh r0, [r4, 0x3C]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x95
- ble _080B757E
- movs r0, 0x96
- strh r0, [r4, 0x3C]
-_080B757E:
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- movs r2, 0x3C
- ldrsh r1, [r4, r2]
- bl Cos
- strh r0, [r4, 0x24]
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- movs r2, 0x3C
- ldrsh r1, [r4, r2]
- bl Sin
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x36]
- adds r0, 0x1
- strh r0, [r4, 0x36]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5
- ble _080B75C6
- movs r0, 0
- strh r0, [r4, 0x36]
- ldrh r1, [r4, 0x38]
- movs r2, 0x38
- ldrsh r0, [r4, r2]
- cmp r0, 0xF
- bgt _080B75C6
- adds r0, r1, 0x1
- strh r0, [r4, 0x38]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xF
- ble _080B75C6
- movs r0, 0x10
- strh r0, [r4, 0x38]
-_080B75C6:
- ldrh r0, [r4, 0x34]
- adds r0, 0x1
- strh r0, [r4, 0x34]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- ble _080B75DA
- adds r0, r4, 0
- bl DestroyAnimSprite
-_080B75DA:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80B74D8
-
- thumb_func_start sub_80B75E0
-sub_80B75E0: @ 80B75E0
- push {r4-r6,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _080B760C @ =gTasks
- adds r4, r1, r0
- ldr r0, _080B7610 @ =gBattleAnimAttacker
- ldrb r0, [r0]
- bl sub_80768B0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080B761C
- ldr r0, _080B7614 @ =0x04000014
- str r0, [sp]
- ldr r0, _080B7618 @ =gBattle_BG1_X
- b _080B7622
- .align 2, 0
-_080B760C: .4byte gTasks
-_080B7610: .4byte gBattleAnimAttacker
-_080B7614: .4byte 0x04000014
-_080B7618: .4byte gBattle_BG1_X
-_080B761C:
- ldr r0, _080B7698 @ =0x04000018
- str r0, [sp]
- ldr r0, _080B769C @ =gBattle_BG2_X
-_080B7622:
- ldrh r0, [r0]
- strh r0, [r4, 0xC]
- ldr r0, _080B76A0 @ =0xa2600001
- str r0, [sp, 0x4]
- mov r1, sp
- movs r5, 0
- movs r0, 0x1
- strb r0, [r1, 0x8]
- mov r0, sp
- strb r5, [r0, 0x9]
- ldr r0, _080B76A4 @ =gBattleAnimAttacker
- ldrb r0, [r0]
- bl sub_807492C
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- subs r1, 0x20
- strh r1, [r4, 0xE]
- adds r0, 0x20
- strh r0, [r4, 0x10]
- cmp r1, 0
- bge _080B7652
- strh r5, [r4, 0xE]
-_080B7652:
- ldrh r3, [r4, 0xE]
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- cmp r3, r0
- bgt _080B7680
- ldr r5, _080B76A8 @ =gScanlineEffectRegBuffers
- movs r0, 0xF0
- lsls r0, 3
- adds r6, r5, r0
-_080B7664:
- lsls r1, r3, 1
- adds r2, r1, r5
- ldrh r0, [r4, 0xC]
- strh r0, [r2]
- adds r1, r6
- ldrh r0, [r4, 0xC]
- strh r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- cmp r3, r0
- ble _080B7664
-_080B7680:
- ldr r0, [sp]
- ldr r1, [sp, 0x4]
- ldr r2, [sp, 0x8]
- bl ScanlineEffect_SetParams
- ldr r0, _080B76AC @ =sub_80B76B0
- str r0, [r4]
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B7698: .4byte 0x04000018
-_080B769C: .4byte gBattle_BG2_X
-_080B76A0: .4byte 0xa2600001
-_080B76A4: .4byte gBattleAnimAttacker
-_080B76A8: .4byte gScanlineEffectRegBuffers
-_080B76AC: .4byte sub_80B76B0
- thumb_func_end sub_80B75E0
-
- thumb_func_start sub_80B76B0
-sub_80B76B0: @ 80B76B0
- push {lr}
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 3
- ldr r1, _080B76D4 @ =gTasks
- adds r2, r0, r1
- movs r1, 0x8
- ldrsh r0, [r2, r1]
- cmp r0, 0x4
- bhi _080B7766
- lsls r0, 2
- ldr r1, _080B76D8 @ =_080B76DC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080B76D4: .4byte gTasks
-_080B76D8: .4byte _080B76DC
- .align 2, 0
-_080B76DC:
- .4byte _080B76F0
- .4byte _080B7712
- .4byte _080B7722
- .4byte _080B774E
- .4byte _080B7760
-_080B76F0:
- ldrh r0, [r2, 0x16]
- adds r0, 0x1
- strh r0, [r2, 0x16]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _080B7746
- movs r0, 0
- strh r0, [r2, 0x16]
- ldrh r0, [r2, 0x14]
- adds r0, 0x1
- strh r0, [r2, 0x14]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- bne _080B7746
- b _080B7740
-_080B7712:
- ldrh r0, [r2, 0xA]
- adds r0, 0x1
- strh r0, [r2, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3C
- ble _080B7746
- b _080B7740
-_080B7722:
- ldrh r0, [r2, 0x16]
- adds r0, 0x1
- strh r0, [r2, 0x16]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _080B7746
- movs r0, 0
- strh r0, [r2, 0x16]
- ldrh r0, [r2, 0x14]
- subs r0, 0x1
- strh r0, [r2, 0x14]
- lsls r0, 16
- cmp r0, 0
- bne _080B7746
-_080B7740:
- ldrh r0, [r2, 0x8]
- adds r0, 0x1
- strh r0, [r2, 0x8]
-_080B7746:
- adds r0, r2, 0
- bl sub_80B776C
- b _080B7766
-_080B774E:
- ldr r1, _080B775C @ =gScanlineEffect
- movs r0, 0x3
- strb r0, [r1, 0x15]
- ldrh r0, [r2, 0x8]
- adds r0, 0x1
- strh r0, [r2, 0x8]
- b _080B7766
- .align 2, 0
-_080B775C: .4byte gScanlineEffect
-_080B7760:
- adds r0, r3, 0
- bl DestroyAnimVisualTask
-_080B7766:
- pop {r0}
- bx r0
- thumb_func_end sub_80B76B0
-
- thumb_func_start sub_80B776C
-sub_80B776C: @ 80B776C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- ldrh r3, [r5, 0x12]
- ldrh r4, [r5, 0xE]
- movs r1, 0x10
- ldrsh r0, [r5, r1]
- cmp r4, r0
- bgt _080B77C2
- ldr r7, _080B77D8 @ =gScanlineEffectRegBuffers
- mov r12, r7
- ldr r0, _080B77DC @ =gSineTable
- mov r8, r0
- ldr r6, _080B77E0 @ =gScanlineEffect
-_080B778A:
- lsls r2, r4, 1
- ldrb r1, [r6, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- adds r2, r0
- add r2, r12
- lsls r0, r3, 1
- add r0, r8
- movs r7, 0
- ldrsh r1, [r0, r7]
- movs r7, 0x14
- ldrsh r0, [r5, r7]
- muls r0, r1
- asrs r0, 7
- ldrh r1, [r5, 0xC]
- adds r0, r1
- strh r0, [r2]
- adds r3, 0x8
- movs r0, 0xFF
- ands r3, r0
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- movs r7, 0x10
- ldrsh r0, [r5, r7]
- cmp r4, r0
- ble _080B778A
-_080B77C2:
- ldrh r0, [r5, 0x12]
- adds r0, 0x9
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r5, 0x12]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B77D8: .4byte gScanlineEffectRegBuffers
-_080B77DC: .4byte gSineTable
-_080B77E0: .4byte gScanlineEffect
- thumb_func_end sub_80B776C
-
- thumb_func_start sub_80B77E4
-sub_80B77E4: @ 80B77E4
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r4, r0, 0
- ldr r5, _080B7884 @ =gBattleAnimArgs
- movs r0, 0x4
- ldrsh r1, [r5, r0]
- lsls r0, r1, 1
- adds r0, r1
- movs r1, 0x5
- bl __divsi3
- adds r6, r0, 0
- ldr r1, _080B7888 @ =gBattleAnimAttacker
- mov r8, r1
- ldrb r0, [r1]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x20]
- mov r2, r8
- ldrb r0, [r2]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r3, [r5, 0x8]
- adds r0, r3
- strh r0, [r4, 0x22]
- movs r1, 0x2
- ldrsh r0, [r5, r1]
- movs r2, 0x4
- ldrsh r1, [r5, r2]
- bl Cos
- strh r0, [r4, 0x30]
- movs r3, 0x2
- ldrsh r0, [r5, r3]
- lsls r6, 16
- asrs r6, 16
- adds r1, r6, 0
- bl Sin
- strh r0, [r4, 0x32]
- ldrh r1, [r4, 0x30]
- ldrh r2, [r5]
- adds r3, r2, 0
- muls r3, r1
- adds r1, r3, 0
- ldrh r3, [r4, 0x20]
- adds r1, r3
- strh r1, [r4, 0x20]
- adds r1, r2, 0
- muls r1, r0
- adds r0, r1, 0
- ldrh r2, [r4, 0x22]
- adds r0, r2
- strh r0, [r4, 0x22]
- ldrh r0, [r5, 0x6]
- strh r0, [r4, 0x34]
- ldr r0, _080B788C @ =sub_80B7894
- str r0, [r4, 0x1C]
- adds r4, 0x2E
- ldr r2, _080B7890 @ =gUnknown_20399A4
- movs r1, 0x6
-_080B786C:
- ldrh r0, [r4]
- strh r0, [r2]
- adds r4, 0x2
- adds r2, 0x2
- subs r1, 0x1
- cmp r1, 0
- bge _080B786C
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B7884: .4byte gBattleAnimArgs
-_080B7888: .4byte gBattleAnimAttacker
-_080B788C: .4byte sub_80B7894
-_080B7890: .4byte gUnknown_20399A4
- thumb_func_end sub_80B77E4
-
- thumb_func_start sub_80B7894
-sub_80B7894: @ 80B7894
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x30]
- ldrh r1, [r4, 0x36]
- adds r0, r1
- strh r0, [r4, 0x36]
- ldrh r0, [r4, 0x32]
- ldrh r2, [r4, 0x38]
- adds r0, r2
- strh r0, [r4, 0x38]
- movs r1, 0x36
- ldrsh r0, [r4, r1]
- movs r1, 0xA
- bl __divsi3
- strh r0, [r4, 0x24]
- movs r2, 0x38
- ldrsh r0, [r4, r2]
- movs r1, 0xA
- bl __divsi3
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x34
- ldrsh r1, [r4, r2]
- cmp r0, r1
- ble _080B78D8
- adds r0, r4, 0
- bl DestroyAnimSprite
-_080B78D8:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80B7894
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/electric.s b/asm/electric.s
index d020459d5..fa92c096a 100644
--- a/asm/electric.s
+++ b/asm/electric.s
@@ -110,7 +110,7 @@ sub_80ADC9C: @ 80ADC9C
cmp r0, 0
beq _080ADCB2
adds r0, r2, 0
- bl move_anim_8074EE0
+ bl DestroySpriteAndMatrix
_080ADCB2:
pop {r0}
bx r0
@@ -173,18 +173,18 @@ _080ADD1C:
strh r0, [r5, 0x32]
ldrh r0, [r2, 0x8]
strh r0, [r5, 0x34]
- ldr r1, _080ADD44 @ =move_anim_8074EE0
+ ldr r1, _080ADD44 @ =DestroySpriteAndMatrix
adds r0, r5, 0
bl StoreSpriteCallbackInData6
- ldr r0, _080ADD48 @ =sub_8074A80
+ ldr r0, _080ADD48 @ =TranslateSpriteInCircleOverDuration
str r0, [r5, 0x1C]
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_080ADD40: .4byte gBattleAnimArgs
-_080ADD44: .4byte move_anim_8074EE0
-_080ADD48: .4byte sub_8074A80
+_080ADD44: .4byte DestroySpriteAndMatrix
+_080ADD48: .4byte TranslateSpriteInCircleOverDuration
thumb_func_end sub_80ADCB8
thumb_func_start sub_80ADD4C
@@ -315,7 +315,7 @@ _080ADE02:
cmp r0, 0
beq _080ADE66
adds r0, r4, 0
- bl sub_8076884
+ bl GetBattlerSpriteBGPriority
lsls r0, 24
lsrs r0, 24
adds r0, 0x1
@@ -370,7 +370,7 @@ sub_80ADEB0: @ 80ADEB0
push {r4-r6,lr}
adds r4, r0, 0
movs r1, 0x1
- bl sub_8075160
+ bl InitSpritePosToAnimAttacker
ldr r5, _080ADF24 @ =gBattleAnimArgs
ldrh r0, [r5, 0x6]
strh r0, [r4, 0x2E]
@@ -392,7 +392,7 @@ sub_80ADEB0: @ 80ADEB0
lsrs r0, 24
strh r0, [r4, 0x36]
adds r0, r4, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimLinearTranslation
ldrh r0, [r5, 0x4]
strh r0, [r4, 0x38]
ldrh r0, [r5, 0xA]
@@ -432,7 +432,7 @@ _080ADF34: .4byte sub_80ADF38
sub_80ADF38: @ 80ADF38
push {r4,lr}
adds r4, r0, 0
- bl sub_80755E0
+ bl AnimTranslateLinear
lsls r0, 24
cmp r0, 0
bne _080ADFA2
@@ -743,7 +743,7 @@ sub_80AE1A0: @ 80AE1A0
push {r4,r5,lr}
adds r4, r0, 0
movs r1, 0
- bl sub_8075114
+ bl InitSpritePosToAnimTarget
ldrh r2, [r4, 0x4]
lsls r1, r2, 22
lsrs r1, 22
@@ -788,7 +788,7 @@ _080AE1FA:
ldr r0, _080AE214 @ =gBattleAnimArgs
ldrh r0, [r0, 0x4]
strh r0, [r4, 0x2E]
- ldr r0, _080AE218 @ =sub_8074C44
+ ldr r0, _080AE218 @ =WaitAnimForDuration
str r0, [r4, 0x1C]
ldr r1, _080AE21C @ =DestroyAnimSprite
adds r0, r4, 0
@@ -798,7 +798,7 @@ _080AE1FA:
bx r0
.align 2, 0
_080AE214: .4byte gBattleAnimArgs
-_080AE218: .4byte sub_8074C44
+_080AE218: .4byte WaitAnimForDuration
_080AE21C: .4byte DestroyAnimSprite
thumb_func_end sub_80AE1A0
@@ -1142,7 +1142,7 @@ sub_80AE470: @ 80AE470
ands r0, r5
orrs r0, r1
strh r0, [r6, 0x4]
- ldr r1, _080AE4EC @ =gUnknown_2037EE2
+ ldr r1, _080AE4EC @ =gAnimVisualTaskCount
ldrb r0, [r1]
adds r0, 0x1
strb r0, [r1]
@@ -1160,7 +1160,7 @@ _080AE4DC: .4byte gUnknown_83E60B8
_080AE4E0: .4byte gSprites
_080AE4E4: .4byte 0x000003ff
_080AE4E8: .4byte 0xfffffc00
-_080AE4EC: .4byte gUnknown_2037EE2
+_080AE4EC: .4byte gAnimVisualTaskCount
_080AE4F0: .4byte sub_80AE4F4
thumb_func_end sub_80AE470
@@ -1344,11 +1344,11 @@ sub_80AE5BC: @ 80AE5BC
strh r0, [r4, 0x36]
strh r6, [r4, 0x38]
adds r0, r4, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimLinearTranslation
ldr r1, _080AE6B4 @ =sub_80AE704
adds r0, r4, 0
bl StoreSpriteCallbackInData6
- ldr r0, _080AE6B8 @ =sub_8074F6C
+ ldr r0, _080AE6B8 @ =RunStoredCallbackWhenAnimEnds
str r0, [r4, 0x1C]
ldrh r0, [r5, 0x1A]
adds r0, 0x1
@@ -1390,7 +1390,7 @@ _080AE6A8: .4byte gUnknown_83E6120
_080AE6AC: .4byte gSprites
_080AE6B0: .4byte gUnknown_83E60D0
_080AE6B4: .4byte sub_80AE704
-_080AE6B8: .4byte sub_8074F6C
+_080AE6B8: .4byte RunStoredCallbackWhenAnimEnds
_080AE6BC:
movs r1, 0x16
ldrsh r0, [r5, r1]
@@ -1408,7 +1408,7 @@ _080AE6CA:
sub_80AE6D0: @ 80AE6D0
push {r4,lr}
adds r4, r0, 0
- bl sub_80755E0
+ bl AnimTranslateLinear
lsls r0, 24
cmp r0, 0
beq _080AE6F8
@@ -1476,18 +1476,18 @@ _080AE73A:
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
- ldr r1, _080AE76C @ =move_anim_8074EE0
+ ldr r1, _080AE76C @ =DestroySpriteAndMatrix
adds r0, r5, 0
bl StoreSpriteCallbackInData6
- ldr r0, _080AE770 @ =sub_8074F50
+ ldr r0, _080AE770 @ =RunStoredCallbackWhenAffineAnimEnds
str r0, [r5, 0x1C]
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_080AE768: .4byte gBattleAnimTarget
-_080AE76C: .4byte move_anim_8074EE0
-_080AE770: .4byte sub_8074F50
+_080AE76C: .4byte DestroySpriteAndMatrix
+_080AE770: .4byte RunStoredCallbackWhenAffineAnimEnds
thumb_func_end sub_80AE71C
thumb_func_start sub_80AE774
@@ -1527,7 +1527,7 @@ _080AE792:
ldr r1, _080AE7D4 @ =DestroyAnimSprite
adds r0, r5, 0
bl StoreSpriteCallbackInData6
- ldr r0, _080AE7D8 @ =sub_8074F6C
+ ldr r0, _080AE7D8 @ =RunStoredCallbackWhenAnimEnds
str r0, [r5, 0x1C]
pop {r4,r5}
pop {r0}
@@ -1536,7 +1536,7 @@ _080AE792:
_080AE7CC: .4byte gBattleAnimTarget
_080AE7D0: .4byte gBattleAnimArgs
_080AE7D4: .4byte DestroyAnimSprite
-_080AE7D8: .4byte sub_8074F6C
+_080AE7D8: .4byte RunStoredCallbackWhenAnimEnds
thumb_func_end sub_80AE774
thumb_func_start sub_80AE7DC
@@ -1559,7 +1559,7 @@ sub_80AE7DC: @ 80AE7DC
lsrs r0, 24
strh r0, [r5, 0x22]
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x3A]
@@ -1632,7 +1632,7 @@ _080AE864:
cmp r0, r1
bls _080AE894
adds r0, r4, 0
- bl move_anim_8074EE0
+ bl DestroySpriteAndMatrix
_080AE894:
pop {r4}
pop {r0}
@@ -1672,7 +1672,7 @@ _080AE8D2:
b _080AEA04
_080AE8D4:
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r0, 24
movs r6, 0
@@ -2203,7 +2203,7 @@ _080AECC4:
cmp r0, 0
beq _080AECD8
adds r0, r5, 0
- bl move_anim_8074EE0
+ bl DestroySpriteAndMatrix
_080AECD8:
pop {r4,r5}
pop {r0}
@@ -2279,12 +2279,12 @@ _080AED20:
movs r0, 0xC
strh r0, [r5, 0x1E]
subs r0, 0x4C
- bl sub_8073A44
+ bl BattleAnimAdjustPanning
lsls r0, 24
asrs r0, 24
strh r0, [r5, 0x20]
movs r0, 0x3F
- bl sub_8073A44
+ bl BattleAnimAdjustPanning
lsls r0, 24
asrs r0, 24
strh r0, [r5, 0x22]
diff --git a/asm/fighting.s b/asm/fighting.s
index 81785b16b..89168ced6 100644
--- a/asm/fighting.s
+++ b/asm/fighting.s
@@ -13,14 +13,14 @@ unc_080B08A0: @ 80B08A0
movs r0, 0
ldrsh r1, [r5, r0]
adds r0, r4, 0
- bl sub_8074FF8
+ bl SetAnimSpriteInitialXOffset
ldrh r0, [r5, 0x2]
ldrh r1, [r4, 0x22]
adds r0, r1
strh r0, [r4, 0x22]
movs r0, 0xF
strh r0, [r4, 0x2E]
- ldr r0, _080B08D4 @ =sub_8074C44
+ ldr r0, _080B08D4 @ =WaitAnimForDuration
str r0, [r4, 0x1C]
ldr r1, _080B08D8 @ =DestroyAnimSprite
adds r0, r4, 0
@@ -30,7 +30,7 @@ unc_080B08A0: @ 80B08A0
bx r0
.align 2, 0
_080B08D0: .4byte gBattleAnimArgs
-_080B08D4: .4byte sub_8074C44
+_080B08D4: .4byte WaitAnimForDuration
_080B08D8: .4byte DestroyAnimSprite
thumb_func_end unc_080B08A0
@@ -110,19 +110,19 @@ sub_80B0954: @ 80B0954
bne _080B0978
adds r0, r5, 0
movs r1, 0x1
- bl sub_8075160
+ bl InitSpritePosToAnimAttacker
b _080B0980
.align 2, 0
_080B0974: .4byte gBattleAnimArgs
_080B0978:
adds r0, r5, 0
movs r1, 0x1
- bl sub_8075114
+ bl InitSpritePosToAnimTarget
_080B0980:
ldr r0, _080B0998 @ =gBattleAnimArgs
ldrh r0, [r0, 0x4]
strh r0, [r5, 0x2E]
- ldr r0, _080B099C @ =sub_8074C44
+ ldr r0, _080B099C @ =WaitAnimForDuration
str r0, [r5, 0x1C]
ldr r1, _080B09A0 @ =DestroyAnimSprite
adds r0, r5, 0
@@ -132,7 +132,7 @@ _080B0980:
bx r0
.align 2, 0
_080B0998: .4byte gBattleAnimArgs
-_080B099C: .4byte sub_8074C44
+_080B099C: .4byte WaitAnimForDuration
_080B09A0: .4byte DestroyAnimSprite
thumb_func_end sub_80B0954
@@ -188,7 +188,7 @@ _080B09E8:
strh r0, [r5, 0x22]
mov r0, r8
movs r1, 0x1
- bl sub_8076B2C
+ bl GetBattlerSpriteCoordAttr
lsls r0, 16
asrs r1, r0, 16
lsrs r0, 31
@@ -197,7 +197,7 @@ _080B09E8:
lsrs r6, r1, 16
mov r0, r8
movs r1, 0
- bl sub_8076B2C
+ bl GetBattlerSpriteCoordAttr
lsls r0, 16
asrs r0, 16
cmp r0, 0
@@ -267,7 +267,7 @@ _080B0A9C:
mov r1, r9
ldrh r0, [r1, 0x2]
strh r0, [r5, 0x2E]
- ldr r0, _080B0B1C @ =gUnknown_83E7C08
+ ldr r0, _080B0B1C @ =gBasicHitSplatSpriteTemplate
movs r2, 0x20
ldrsh r1, [r5, r2]
movs r3, 0x22
@@ -315,7 +315,7 @@ _080B0B00:
_080B0B10: .4byte gBattleAnimTarget
_080B0B14: .4byte gBattlerPositions
_080B0B18: .4byte 0xfff00000
-_080B0B1C: .4byte gUnknown_83E7C08
+_080B0B1C: .4byte gBasicHitSplatSpriteTemplate
_080B0B20: .4byte gSprites
_080B0B24: .4byte SpriteCallbackDummy
_080B0B28: .4byte sub_80B0B2C
@@ -371,7 +371,7 @@ sub_80B0B80: @ 80B0B80
push {r4,lr}
adds r4, r0, 0
movs r1, 0x1
- bl sub_8075114
+ bl InitSpritePosToAnimTarget
movs r0, 0x1E
strh r0, [r4, 0x2E]
ldr r0, _080B0BA0 @ =gBattleAnimArgs
@@ -480,7 +480,7 @@ sub_80B0C28: @ 80B0C28
_080B0C54:
adds r0, r6, 0
movs r1, 0x1
- bl sub_8075114
+ bl InitSpritePosToAnimTarget
ldr r0, _080B0CA4 @ =gBattleAnimAttacker
ldrb r0, [r0]
bl GetBattlerSide
@@ -505,7 +505,7 @@ _080B0C72:
strh r0, [r6, 0x34]
strh r0, [r6, 0x36]
adds r0, r6, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimLinearTranslation
ldrh r0, [r4, 0xA]
strh r0, [r6, 0x38]
ldrh r0, [r4, 0x8]
@@ -527,7 +527,7 @@ _080B0CB0: .4byte sub_80B0CB4
sub_80B0CB4: @ 80B0CB4
push {r4,lr}
adds r4, r0, 0
- bl sub_80755E0
+ bl AnimTranslateLinear
lsls r0, 24
cmp r0, 0
bne _080B0CE0
@@ -559,14 +559,14 @@ sub_80B0CEC: @ 80B0CEC
push {r4,r5,lr}
adds r4, r0, 0
movs r1, 0x1
- bl sub_8075114
+ bl InitSpritePosToAnimTarget
ldr r5, _080B0D18 @ =gBattleAnimArgs
ldrb r1, [r5, 0x4]
adds r0, r4, 0
bl StartSpriteAnim
ldrh r0, [r5, 0x6]
strh r0, [r4, 0x2E]
- ldr r0, _080B0D1C @ =sub_8074C44
+ ldr r0, _080B0D1C @ =WaitAnimForDuration
str r0, [r4, 0x1C]
ldr r1, _080B0D20 @ =sub_80B0D24
adds r0, r4, 0
@@ -576,7 +576,7 @@ sub_80B0CEC: @ 80B0CEC
bx r0
.align 2, 0
_080B0D18: .4byte gBattleAnimArgs
-_080B0D1C: .4byte sub_8074C44
+_080B0D1C: .4byte WaitAnimForDuration
_080B0D20: .4byte sub_80B0D24
thumb_func_end sub_80B0CEC
@@ -594,7 +594,7 @@ sub_80B0D24: @ 80B0D24
strb r0, [r2]
movs r0, 0x14
strh r0, [r4, 0x2E]
- ldr r0, _080B0D50 @ =sub_8074C44
+ ldr r0, _080B0D50 @ =WaitAnimForDuration
str r0, [r4, 0x1C]
ldr r1, _080B0D54 @ =DestroyAnimSprite
adds r0, r4, 0
@@ -603,7 +603,7 @@ sub_80B0D24: @ 80B0D24
pop {r0}
bx r0
.align 2, 0
-_080B0D50: .4byte sub_8074C44
+_080B0D50: .4byte WaitAnimForDuration
_080B0D54: .4byte DestroyAnimSprite
thumb_func_end sub_80B0D24
@@ -612,7 +612,7 @@ sub_80B0D58: @ 80B0D58
push {r4,lr}
adds r4, r0, 0
movs r1, 0x1
- bl sub_8075114
+ bl InitSpritePosToAnimTarget
ldr r0, _080B0D74 @ =gBattleAnimArgs
ldrh r0, [r0, 0x4]
strh r0, [r4, 0x2E]
@@ -674,14 +674,14 @@ sub_80B0DD4: @ 80B0DD4
push {lr}
movs r1, 0xF
strh r1, [r0, 0x2E]
- ldr r1, _080B0DE8 @ =sub_8074C44
+ ldr r1, _080B0DE8 @ =WaitAnimForDuration
str r1, [r0, 0x1C]
ldr r1, _080B0DEC @ =DestroyAnimSprite
bl StoreSpriteCallbackInData6
pop {r0}
bx r0
.align 2, 0
-_080B0DE8: .4byte sub_8074C44
+_080B0DE8: .4byte WaitAnimForDuration
_080B0DEC: .4byte DestroyAnimSprite
thumb_func_end sub_80B0DD4
@@ -695,7 +695,7 @@ sub_80B0DF0: @ 80B0DF0
bne _080B0E1C
adds r0, r4, 0
movs r1, 0x1
- bl sub_8075114
+ bl InitSpritePosToAnimTarget
ldr r1, _080B0E18 @ =gBattleAnimArgs
ldrh r0, [r1, 0x4]
strh r0, [r4, 0x30]
@@ -1052,7 +1052,7 @@ sub_80B107C: @ 80B107C
strh r0, [r5, 0x22]
ldr r0, _080B10D0 @ =gBattleAnimAttacker
ldrb r0, [r0]
- bl sub_8076884
+ bl GetBattlerSpriteBGPriority
movs r1, 0x3
ands r1, r0
lsls r1, 2
@@ -1072,7 +1072,7 @@ _080B10D4: .4byte gBattleAnimTarget
_080B10D8:
ldr r0, _080B1110 @ =gBattleAnimTarget
ldrb r0, [r0]
- bl sub_8076884
+ bl GetBattlerSpriteBGPriority
movs r1, 0x3
ands r1, r0
lsls r1, 2
@@ -1140,8 +1140,8 @@ sub_80B111C: @ 80B111C
lsrs r0, 24
strh r0, [r4, 0x36]
adds r0, r4, 0
- bl obj_translate_based_on_private_1_2_3_4
- ldr r1, _080B1180 @ =move_anim_8074EE0
+ bl InitAnimLinearTranslation
+ ldr r1, _080B1180 @ =DestroySpriteAndMatrix
adds r0, r4, 0
bl StoreSpriteCallbackInData6
ldr r0, _080B1184 @ =sub_807563C
@@ -1151,7 +1151,7 @@ _080B1178:
pop {r0}
bx r0
.align 2, 0
-_080B1180: .4byte move_anim_8074EE0
+_080B1180: .4byte DestroySpriteAndMatrix
_080B1184: .4byte sub_807563C
thumb_func_end sub_80B111C
@@ -1171,7 +1171,7 @@ sub_80B1188: @ 80B1188
adds r1, r5, 0
adds r1, 0x38
lsls r2, 8
- bl sub_80765C0
+ bl StorePointerInVars
ldrh r0, [r4, 0x2]
strh r0, [r5, 0x3A]
ldrh r2, [r5, 0x4]
@@ -1214,7 +1214,7 @@ sub_80B11E4: @ 80B11E4
ldrsh r0, [r7, r2]
movs r2, 0x38
ldrsh r1, [r7, r2]
- bl sub_80765C8
+ bl LoadPointerFromVars
adds r4, r0, 0
movs r1, 0x3A
ldrsh r0, [r7, r1]
@@ -1224,7 +1224,7 @@ sub_80B11E4: @ 80B11E4
adds r1, r7, 0
adds r1, 0x38
adds r2, r4, 0
- bl sub_80765C0
+ bl StorePointerInVars
asrs r4, 8
strh r4, [r7, 0x22]
lsls r4, 16
@@ -1369,7 +1369,7 @@ _080B132C:
ldr r0, _080B1368 @ =gBattleAnimTarget
_080B1332:
ldrb r0, [r0]
- bl sub_8076884
+ bl GetBattlerSpriteBGPriority
movs r1, 0x3
ands r1, r0
lsls r1, 2
@@ -1431,7 +1431,7 @@ _080B138C:
lsrs r0, 24
strh r0, [r5, 0x36]
adds r0, r5, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimLinearTranslation
ldr r1, _080B13CC @ =DestroyAnimSprite
adds r0, r5, 0
bl StoreSpriteCallbackInData6
@@ -1546,14 +1546,14 @@ sub_80B1484: @ 80B1484
bne _080B14A0
adds r0, r4, 0
movs r1, 0
- bl sub_8075160
+ bl InitSpritePosToAnimAttacker
b _080B14A8
.align 2, 0
_080B149C: .4byte gBattleAnimArgs
_080B14A0:
adds r0, r4, 0
movs r1, 0
- bl sub_8075114
+ bl InitSpritePosToAnimTarget
_080B14A8:
bl IsContest
lsls r0, 24
@@ -1574,7 +1574,7 @@ _080B14BC:
movs r1, 0x1
bl StartSpriteAnim
_080B14D2:
- ldr r0, _080B14E8 @ =sub_8074F6C
+ ldr r0, _080B14E8 @ =RunStoredCallbackWhenAnimEnds
str r0, [r4, 0x1C]
ldr r1, _080B14EC @ =DestroyAnimSprite
adds r0, r4, 0
@@ -1584,7 +1584,7 @@ _080B14D2:
bx r0
.align 2, 0
_080B14E4: .4byte gBattleAnimAttacker
-_080B14E8: .4byte sub_8074F6C
+_080B14E8: .4byte RunStoredCallbackWhenAnimEnds
_080B14EC: .4byte DestroyAnimSprite
thumb_func_end sub_80B1484
diff --git a/asm/fire.s b/asm/fire.s
index d838039ac..efdfc8315 100644
--- a/asm/fire.s
+++ b/asm/fire.s
@@ -24,7 +24,7 @@ sub_80AC90C: @ 80AC90C
ldr r1, _080AC944 @ =DestroyAnimSprite
adds r0, r4, 0
bl StoreSpriteCallbackInData6
- ldr r1, _080AC948 @ =sub_8074AE0
+ ldr r1, _080AC948 @ =TranslateSpriteInGrowingCircleOverDuration
str r1, [r4, 0x1C]
adds r0, r4, 0
bl _call_via_r1
@@ -34,7 +34,7 @@ sub_80AC90C: @ 80AC90C
.align 2, 0
_080AC940: .4byte gBattleAnimArgs
_080AC944: .4byte DestroyAnimSprite
-_080AC948: .4byte sub_8074AE0
+_080AC948: .4byte TranslateSpriteInGrowingCircleOverDuration
thumb_func_end sub_80AC90C
thumb_func_start sub_80AC94C
@@ -45,7 +45,7 @@ sub_80AC94C: @ 80AC94C
movs r0, 0
ldrsh r1, [r5, r0]
adds r0, r4, 0
- bl sub_8074FF8
+ bl SetAnimSpriteInitialXOffset
ldrh r0, [r5, 0x2]
ldrh r1, [r4, 0x22]
adds r0, r1
@@ -56,7 +56,7 @@ sub_80AC94C: @ 80AC94C
strh r0, [r4, 0x30]
ldrh r0, [r5, 0x6]
strh r0, [r4, 0x32]
- ldr r0, _080AC988 @ =sub_8074D00
+ ldr r0, _080AC988 @ =TranslateSpriteLinearFixedPoint
str r0, [r4, 0x1C]
ldr r1, _080AC98C @ =DestroyAnimSprite
adds r0, r4, 0
@@ -66,7 +66,7 @@ sub_80AC94C: @ 80AC94C
bx r0
.align 2, 0
_080AC984: .4byte gBattleAnimArgs
-_080AC988: .4byte sub_8074D00
+_080AC988: .4byte TranslateSpriteLinearFixedPoint
_080AC98C: .4byte DestroyAnimSprite
thumb_func_end sub_80AC94C
@@ -74,7 +74,7 @@ _080AC98C: .4byte DestroyAnimSprite
sub_80AC990: @ 80AC990
push {r4,lr}
adds r4, r0, 0
- bl sub_8074FCC
+ bl SetSpriteCoordsToAnimAttackerCoords
ldr r0, _080AC9C4 @ =gBattleAnimAttacker
ldrb r0, [r0]
bl GetBattlerSide
@@ -212,7 +212,7 @@ _080ACA92:
cmp r1, r0
bne _080ACAA4
adds r0, r2, 0
- bl move_anim_8074EE0
+ bl DestroySpriteAndMatrix
_080ACAA4:
pop {r0}
bx r0
@@ -222,7 +222,7 @@ _080ACAA4:
sub_80ACAA8: @ 80ACAA8
push {r4,lr}
adds r4, r0, 0
- bl sub_8074FCC
+ bl SetSpriteCoordsToAnimAttackerCoords
ldr r0, _080ACACC @ =gBattleAnimAttacker
ldrb r0, [r0]
bl GetBattlerSide
@@ -348,7 +348,7 @@ _080ACB9C:
b _080ACBAA
_080ACBA4:
adds r0, r4, 0
- bl move_anim_8074EE0
+ bl DestroySpriteAndMatrix
_080ACBAA:
pop {r4}
pop {r0}
@@ -449,7 +449,7 @@ sub_80ACC60: @ 80ACC60
push {r4,lr}
adds r4, r0, 0
movs r1, 0x1
- bl sub_8075160
+ bl InitSpritePosToAnimAttacker
ldr r0, _080ACC80 @ =gBattleAnimArgs
ldrh r0, [r0, 0x4]
movs r1, 0
@@ -497,7 +497,7 @@ sub_80ACC88: @ 80ACC88
lsrs r0, 24
strh r0, [r5, 0x36]
adds r0, r5, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimLinearTranslation
ldr r0, _080ACCDC @ =sub_80ACCE0
str r0, [r5, 0x1C]
_080ACCD2:
@@ -513,7 +513,7 @@ _080ACCDC: .4byte sub_80ACCE0
sub_80ACCE0: @ 80ACCE0
push {r4-r6,lr}
adds r6, r0, 0
- bl sub_80755E0
+ bl AnimTranslateLinear
lsls r0, 24
cmp r0, 0
beq _080ACD28
@@ -634,7 +634,7 @@ sub_80ACDA8: @ 80ACDA8
ldr r1, _080ACDE0 @ =DestroyAnimSprite
adds r0, r4, 0
bl StoreSpriteCallbackInData6
- ldr r0, _080ACDE4 @ =sub_8074CD0
+ ldr r0, _080ACDE4 @ =TranslateSpriteLinear
str r0, [r4, 0x1C]
pop {r4}
pop {r0}
@@ -642,7 +642,7 @@ sub_80ACDA8: @ 80ACDA8
.align 2, 0
_080ACDDC: .4byte gBattleAnimArgs
_080ACDE0: .4byte DestroyAnimSprite
-_080ACDE4: .4byte sub_8074CD0
+_080ACDE4: .4byte TranslateSpriteLinear
thumb_func_end sub_80ACDA8
thumb_func_start sub_80ACDE8
@@ -650,7 +650,7 @@ sub_80ACDE8: @ 80ACDE8
push {r4,lr}
adds r4, r0, 0
movs r1, 0x1
- bl sub_8075160
+ bl InitSpritePosToAnimAttacker
ldr r1, _080ACE1C @ =gBattleAnimArgs
ldrh r0, [r1, 0x4]
strh r0, [r4, 0x30]
@@ -662,7 +662,7 @@ sub_80ACDE8: @ 80ACDE8
movs r1, 0x4
orrs r0, r1
strb r0, [r2]
- ldr r0, _080ACE20 @ =sub_8074C44
+ ldr r0, _080ACE20 @ =WaitAnimForDuration
str r0, [r4, 0x1C]
ldr r1, _080ACE24 @ =sub_80ACE28
adds r0, r4, 0
@@ -672,7 +672,7 @@ sub_80ACDE8: @ 80ACDE8
bx r0
.align 2, 0
_080ACE1C: .4byte gBattleAnimArgs
-_080ACE20: .4byte sub_8074C44
+_080ACE20: .4byte WaitAnimForDuration
_080ACE24: .4byte sub_80ACE28
thumb_func_end sub_80ACDE8
@@ -753,7 +753,7 @@ sub_80ACEA4: @ 80ACEA4
ldr r0, _080ACF04 @ =gTasks
adds r4, r0
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r0, 24
movs r5, 0
@@ -923,7 +923,7 @@ _080AD00C:
ldrh r0, [r4, 0x26]
lsls r0, 24
lsrs r0, 24
- bl sub_8076440
+ bl SetBattlerSpriteYOffsetFromYScale
ldr r2, _080AD030 @ =gSprites
movs r0, 0x26
ldrsh r1, [r4, r0]
@@ -1635,7 +1635,7 @@ _080AD556:
_080AD55C:
adds r0, r5, 0
movs r1, 0
- bl sub_8075160
+ bl InitSpritePosToAnimAttacker
ldr r4, _080AD584 @ =gBattleAnimArgs
ldrb r1, [r4, 0x4]
adds r0, r5, 0
@@ -1659,7 +1659,7 @@ _080AD58E:
strh r0, [r5, 0x36]
ldr r0, _080AD5B0 @ =gBattleAnimTarget
ldrb r0, [r0]
- bl sub_8076884
+ bl GetBattlerSpriteBGPriority
movs r1, 0x3
ands r1, r0
lsls r1, 2
@@ -1787,7 +1787,7 @@ _080AD68C: .4byte sub_80AD690
sub_80AD690: @ 80AD690
push {r4,lr}
adds r4, r0, 0
- bl sub_80755E0
+ bl AnimTranslateLinear
lsls r0, 24
cmp r0, 0
bne _080AD6E8
@@ -1889,7 +1889,7 @@ _080AD70C:
bls _080AD780
ldr r0, _080AD77C @ =gBattleAnimTarget
ldrb r0, [r0]
- bl sub_8076884
+ bl GetBattlerSpriteBGPriority
movs r1, 0x3
ands r1, r0
lsls r1, 2
@@ -1906,7 +1906,7 @@ _080AD77C: .4byte gBattleAnimTarget
_080AD780:
ldr r0, _080AD7A4 @ =gBattleAnimTarget
ldrb r0, [r0]
- bl sub_8076884
+ bl GetBattlerSpriteBGPriority
lsls r0, 24
lsrs r0, 24
adds r0, 0x1
@@ -2005,12 +2005,12 @@ _080AD826:
adds r0, 0x1
strh r0, [r4, 0x22]
movs r0, 0x1
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x24]
movs r0, 0x3
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x26]
diff --git a/asm/flying.s b/asm/flying.s
deleted file mode 100644
index a776b54cb..000000000
--- a/asm/flying.s
+++ /dev/null
@@ -1,2945 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_80B18A0
-sub_80B18A0: @ 80B18A0
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- adds r0, 0xB
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x2E]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- movs r1, 0x4
- bl Sin
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x30]
- adds r0, 0x30
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 24
- negs r0, r0
- strh r0, [r4, 0x26]
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080B18DC
- adds r0, r4, 0
- bl DestroyAnimSprite
-_080B18DC:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80B18A0
-
- thumb_func_start sub_80B18E4
-sub_80B18E4: @ 80B18E4
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0
- bl sub_8075114
- ldrh r0, [r4, 0x22]
- adds r0, 0x14
- strh r0, [r4, 0x22]
- movs r0, 0xBF
- strh r0, [r4, 0x30]
- ldr r1, _080B1908 @ =sub_80B190C
- str r1, [r4, 0x1C]
- adds r0, r4, 0
- bl _call_via_r1
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B1908: .4byte sub_80B190C
- thumb_func_end sub_80B18E4
-
- thumb_func_start sub_80B190C
-sub_80B190C: @ 80B190C
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- movs r1, 0x20
- bl Sin
- strh r0, [r4, 0x24]
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- movs r1, 0x8
- bl Cos
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x30]
- adds r0, 0x5
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x47
- bne _080B1946
- adds r0, r4, 0
- bl DestroyAnimSprite
-_080B1946:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80B190C
-
- thumb_func_start sub_80B194C
-sub_80B194C: @ 80B194C
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080B197C @ =gTasks
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- adds r4, r1
- ldr r1, _080B1980 @ =gBattleAnimArgs
- ldrh r0, [r1, 0x2]
- strh r0, [r4, 0x8]
- ldrh r0, [r1]
- strh r0, [r4, 0xA]
- ldr r0, _080B1984 @ =0x00002719
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0xC]
- ldr r0, _080B1988 @ =sub_80B198C
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B197C: .4byte gTasks
-_080B1980: .4byte gBattleAnimArgs
-_080B1984: .4byte 0x00002719
-_080B1988: .4byte sub_80B198C
- thumb_func_end sub_80B194C
-
- thumb_func_start sub_80B198C
-sub_80B198C: @ 80B198C
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r2, _080B1A0C @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r3, r0, r2
- ldrh r0, [r3, 0x1C]
- adds r1, r0, 0x1
- strh r1, [r3, 0x1C]
- lsls r0, 16
- asrs r0, 16
- movs r4, 0xA
- ldrsh r1, [r3, r4]
- adds r7, r2, 0
- cmp r0, r1
- bne _080B19EA
- movs r0, 0
- strh r0, [r3, 0x1C]
- ldrb r0, [r3, 0xC]
- ldr r2, _080B1A10 @ =gPlttBufferFaded
- lsls r0, 4
- movs r3, 0x84
- lsls r3, 1
- adds r1, r0, r3
- lsls r1, 1
- adds r1, r2
- ldrh r6, [r1]
- movs r4, 0x7
- mov r12, r0
- ldr r0, _080B1A14 @ =0x00000107
- add r0, r12
- lsls r0, 1
- adds r3, r0, r2
-_080B19D2:
- ldrh r0, [r3]
- strh r0, [r1]
- subs r3, 0x2
- subs r1, 0x2
- subs r4, 0x1
- cmp r4, 0
- bgt _080B19D2
- ldr r0, _080B1A18 @ =0x00000101
- add r0, r12
- lsls r0, 1
- adds r0, r2
- strh r6, [r0]
-_080B19EA:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r7
- ldrh r1, [r0, 0x8]
- subs r1, 0x1
- strh r1, [r0, 0x8]
- lsls r1, 16
- cmp r1, 0
- bne _080B1A04
- adds r0, r5, 0
- bl DestroyAnimVisualTask
-_080B1A04:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B1A0C: .4byte gTasks
-_080B1A10: .4byte gPlttBufferFaded
-_080B1A14: .4byte 0x00000107
-_080B1A18: .4byte 0x00000101
- thumb_func_end sub_80B198C
-
- thumb_func_start sub_80B1A1C
-sub_80B1A1C: @ 80B1A1C
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r1, 0x1
- bl sub_8075160
- ldr r0, _080B1A88 @ =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080B1A3C
- ldr r1, _080B1A8C @ =gBattleAnimArgs
- ldrh r0, [r1, 0x4]
- negs r0, r0
- strh r0, [r1, 0x4]
-_080B1A3C:
- ldr r4, _080B1A8C @ =gBattleAnimArgs
- ldrh r0, [r4, 0x8]
- strh r0, [r6, 0x2E]
- ldrh r0, [r6, 0x20]
- strh r0, [r6, 0x30]
- ldr r5, _080B1A90 @ =gBattleAnimTarget
- ldrb r0, [r5]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x4]
- adds r0, r1
- strh r0, [r6, 0x32]
- ldrh r0, [r6, 0x22]
- strh r0, [r6, 0x34]
- ldrb r0, [r5]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r4, [r4, 0x6]
- adds r0, r4
- strh r0, [r6, 0x36]
- adds r0, r6, 0
- bl obj_translate_based_on_private_1_2_3_4
- ldr r0, _080B1A94 @ =sub_8074F50
- str r0, [r6, 0x1C]
- ldr r1, _080B1A98 @ =sub_80B1A9C
- adds r0, r6, 0
- bl StoreSpriteCallbackInData6
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B1A88: .4byte gBattleAnimAttacker
-_080B1A8C: .4byte gBattleAnimArgs
-_080B1A90: .4byte gBattleAnimTarget
-_080B1A94: .4byte sub_8074F50
-_080B1A98: .4byte sub_80B1A9C
- thumb_func_end sub_80B1A1C
-
- thumb_func_start sub_80B1A9C
-sub_80B1A9C: @ 80B1A9C
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80755E0
- lsls r0, 24
- cmp r0, 0
- beq _080B1AB0
- adds r0, r4, 0
- bl DestroyAnimSprite
-_080B1AB0:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80B1A9C
-
- thumb_func_start sub_80B1AB8
-sub_80B1AB8: @ 80B1AB8
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, _080B1B54 @ =gBattleAnimAttacker
- ldrb r0, [r4]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080B1AE4
- ldr r1, _080B1B58 @ =gBattleAnimArgs
- ldrh r0, [r1]
- negs r0, r0
- strh r0, [r1]
- ldrh r0, [r1, 0x2]
- negs r0, r0
- strh r0, [r1, 0x2]
- ldrh r0, [r1, 0x4]
- negs r0, r0
- strh r0, [r1, 0x4]
- ldrh r0, [r1, 0x6]
- negs r0, r0
- strh r0, [r1, 0x6]
-_080B1AE4:
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _080B1AFC
- ldr r0, _080B1B58 @ =gBattleAnimArgs
- ldrh r1, [r0, 0x2]
- negs r1, r1
- strh r1, [r0, 0x2]
- ldrh r1, [r0, 0x6]
- negs r1, r1
- strh r1, [r0, 0x6]
-_080B1AFC:
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- ldr r2, _080B1B58 @ =gBattleAnimArgs
- ldrh r1, [r2]
- ldrh r3, [r5, 0x20]
- adds r1, r3
- strh r1, [r5, 0x20]
- lsrs r0, 24
- ldrh r1, [r2, 0x2]
- adds r0, r1
- strh r0, [r5, 0x22]
- ldrh r0, [r2, 0x8]
- strh r0, [r5, 0x2E]
- movs r3, 0xC
- ldrsh r0, [r2, r3]
- cmp r0, 0
- bne _080B1B60
- ldr r4, _080B1B5C @ =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x32]
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x36]
- b _080B1B72
- .align 2, 0
-_080B1B54: .4byte gBattleAnimAttacker
-_080B1B58: .4byte gBattleAnimArgs
-_080B1B5C: .4byte gBattleAnimTarget
-_080B1B60:
- ldr r0, _080B1BA0 @ =gBattleAnimTarget
- ldrb r0, [r0]
- adds r2, r5, 0
- adds r2, 0x32
- adds r3, r5, 0
- adds r3, 0x36
- movs r1, 0x1
- bl sub_8076D9C
-_080B1B72:
- ldr r4, _080B1BA4 @ =gBattleAnimArgs
- ldrh r0, [r4, 0x4]
- ldrh r1, [r5, 0x32]
- adds r0, r1
- strh r0, [r5, 0x32]
- ldrh r0, [r4, 0x6]
- ldrh r3, [r5, 0x36]
- adds r0, r3
- strh r0, [r5, 0x36]
- ldr r0, _080B1BA8 @ =StartAnimLinearTranslation
- str r0, [r5, 0x1C]
- ldr r1, _080B1BAC @ =DestroyAnimSprite
- adds r0, r5, 0
- bl StoreSpriteCallbackInData6
- ldrb r1, [r4, 0xA]
- adds r0, r5, 0
- bl SeekSpriteAnim
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B1BA0: .4byte gBattleAnimTarget
-_080B1BA4: .4byte gBattleAnimArgs
-_080B1BA8: .4byte StartAnimLinearTranslation
-_080B1BAC: .4byte DestroyAnimSprite
- thumb_func_end sub_80B1AB8
-
- thumb_func_start sub_80B1BB0
-sub_80B1BB0: @ 80B1BB0
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl sub_8075160
- ldr r1, _080B1BEC @ =gBattleAnimArgs
- ldrh r0, [r1, 0x4]
- strh r0, [r4, 0x2E]
- ldrh r0, [r1, 0x6]
- strh r0, [r4, 0x30]
- ldr r0, _080B1BF0 @ =sub_80B1BF8
- str r0, [r4, 0x1C]
- movs r0, 0
- bl GetAnimBankSpriteId
- ldr r2, _080B1BF4 @ =gSprites
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B1BEC: .4byte gBattleAnimArgs
-_080B1BF0: .4byte sub_80B1BF8
-_080B1BF4: .4byte gSprites
- thumb_func_end sub_80B1BB0
-
- thumb_func_start sub_80B1BF8
-sub_80B1BF8: @ 80B1BF8
- push {lr}
- adds r2, r0, 0
- ldrh r1, [r2, 0x2E]
- movs r3, 0x2E
- ldrsh r0, [r2, r3]
- cmp r0, 0
- ble _080B1C0C
- subs r0, r1, 0x1
- strh r0, [r2, 0x2E]
- b _080B1C1E
-_080B1C0C:
- ldrh r0, [r2, 0x30]
- ldrh r1, [r2, 0x32]
- adds r0, r1
- strh r0, [r2, 0x32]
- lsls r0, 16
- asrs r0, 24
- ldrh r1, [r2, 0x26]
- subs r1, r0
- strh r1, [r2, 0x26]
-_080B1C1E:
- movs r3, 0x22
- ldrsh r0, [r2, r3]
- movs r3, 0x26
- ldrsh r1, [r2, r3]
- adds r0, r1
- movs r1, 0x20
- negs r1, r1
- cmp r0, r1
- bge _080B1C36
- adds r0, r2, 0
- bl DestroyAnimSprite
-_080B1C36:
- pop {r0}
- bx r0
- thumb_func_end sub_80B1BF8
-
- thumb_func_start sub_80B1C3C
-sub_80B1C3C: @ 80B1C3C
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, _080B1C64 @ =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080B1C6C
- movs r0, 0x88
- lsls r0, 1
- strh r0, [r5, 0x20]
- ldr r0, _080B1C68 @ =0x0000ffe0
- strh r0, [r5, 0x22]
- adds r0, r5, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
- b _080B1C72
- .align 2, 0
-_080B1C64: .4byte gBattleAnimAttacker
-_080B1C68: .4byte 0x0000ffe0
-_080B1C6C:
- ldr r0, _080B1CB0 @ =0x0000ffe0
- strh r0, [r5, 0x20]
- strh r0, [r5, 0x22]
-_080B1C72:
- ldr r0, _080B1CB4 @ =gBattleAnimArgs
- ldrh r0, [r0]
- strh r0, [r5, 0x2E]
- ldrh r0, [r5, 0x20]
- strh r0, [r5, 0x30]
- ldr r4, _080B1CB8 @ =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x32]
- ldrh r0, [r5, 0x22]
- strh r0, [r5, 0x34]
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x36]
- adds r0, r5, 0
- bl obj_translate_based_on_private_1_2_3_4
- ldr r0, _080B1CBC @ =sub_80B1CC0
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B1CB0: .4byte 0x0000ffe0
-_080B1CB4: .4byte gBattleAnimArgs
-_080B1CB8: .4byte gBattleAnimTarget
-_080B1CBC: .4byte sub_80B1CC0
- thumb_func_end sub_80B1C3C
-
- thumb_func_start sub_80B1CC0
-sub_80B1CC0: @ 80B1CC0
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x1
- strh r0, [r4, 0x2E]
- adds r0, r4, 0
- bl sub_80755E0
- ldrh r1, [r4, 0x34]
- lsrs r0, r1, 8
- cmp r0, 0xC8
- bls _080B1CE8
- ldrh r0, [r4, 0x24]
- ldrh r2, [r4, 0x20]
- adds r0, r2
- strh r0, [r4, 0x20]
- movs r0, 0
- strh r0, [r4, 0x24]
- movs r0, 0xFF
- ands r0, r1
- strh r0, [r4, 0x34]
-_080B1CE8:
- movs r1, 0x20
- ldrsh r0, [r4, r1]
- movs r2, 0x24
- ldrsh r1, [r4, r2]
- adds r0, r1
- adds r0, 0x20
- movs r1, 0x98
- lsls r1, 1
- cmp r0, r1
- bhi _080B1D0A
- movs r1, 0x22
- ldrsh r0, [r4, r1]
- movs r2, 0x26
- ldrsh r1, [r4, r2]
- adds r0, r1
- cmp r0, 0xA0
- ble _080B1D30
-_080B1D0A:
- movs r0, 0
- bl GetAnimBankSpriteId
- ldr r2, _080B1D38 @ =gSprites
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- adds r1, 0x3E
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- adds r0, r4, 0
- bl DestroyAnimSprite
-_080B1D30:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B1D38: .4byte gSprites
- thumb_func_end sub_80B1CC0
-
- thumb_func_start sub_80B1D3C
-sub_80B1D3C: @ 80B1D3C
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- subs r1, r0, 0x1
- strh r1, [r4, 0x2E]
- lsls r0, 16
- cmp r0, 0
- bgt _080B1D7C
- ldrb r0, [r4, 0x1]
- lsls r0, 30
- lsrs r0, 30
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080B1D6E
- ldrb r0, [r4, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- ldrb r1, [r4, 0x1]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x1]
-_080B1D6E:
- adds r0, r4, 0
- bl DestroySprite
- ldr r1, _080B1D84 @ =gUnknown_2037EE2
- ldrb r0, [r1]
- subs r0, 0x1
- strb r0, [r1]
-_080B1D7C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B1D84: .4byte gUnknown_2037EE2
- thumb_func_end sub_80B1D3C
-
- thumb_func_start sub_80B1D88
-sub_80B1D88: @ 80B1D88
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r7, r0, 0
- adds r5, r7, 0
- adds r5, 0x2E
- ldr r0, _080B1DA8 @ =gBattleAnimArgs
- ldrh r1, [r0, 0xE]
- movs r0, 0x80
- lsls r0, 1
- ands r0, r1
- cmp r0, 0
- beq _080B1DB0
- ldr r0, _080B1DAC @ =gBattleAnimAttacker
- b _080B1DB2
- .align 2, 0
-_080B1DA8: .4byte gBattleAnimArgs
-_080B1DAC: .4byte gBattleAnimAttacker
-_080B1DB0:
- ldr r0, _080B1E5C @ =gBattleAnimTarget
-_080B1DB2:
- ldrb r6, [r0]
- adds r0, r6, 0
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _080B1DC8
- ldr r1, _080B1E60 @ =gBattleAnimArgs
- ldrh r0, [r1]
- negs r0, r0
- strh r0, [r1]
-_080B1DC8:
- adds r0, r6, 0
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- ldr r4, _080B1E60 @ =gBattleAnimArgs
- lsrs r0, 24
- ldrh r1, [r4]
- adds r0, r1
- strh r0, [r7, 0x20]
- adds r0, r6, 0
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- ldrh r1, [r4, 0x2]
- lsrs r0, 24
- adds r1, r0, r1
- strh r1, [r7, 0x22]
- lsls r1, 8
- strh r1, [r5, 0x8]
- ldrh r1, [r4, 0xC]
- adds r0, r1
- lsls r0, 1
- ldrh r2, [r5, 0xE]
- movs r1, 0x1
- ands r1, r2
- orrs r1, r0
- strh r1, [r5, 0xE]
- ldrb r0, [r5]
- movs r2, 0x4
- mov r8, r2
- mov r1, r8
- orrs r0, r1
- strb r0, [r5]
- ldrh r0, [r4, 0x4]
- ldrb r1, [r4, 0x4]
- strh r1, [r5, 0x2]
- lsls r0, 16
- lsrs r0, 24
- strh r0, [r5, 0xA]
- ldrh r0, [r4, 0x6]
- strh r0, [r5, 0x4]
- ldrh r0, [r4, 0x8]
- strh r0, [r5, 0x6]
- ldrh r0, [r4, 0xA]
- strh r0, [r5, 0xC]
- subs r1, 0x40
- lsls r1, 16
- lsrs r1, 16
- cmp r1, 0x7F
- bhi _080B1EBE
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _080B1E64
- adds r0, r6, 0
- bl sub_8076884
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x1
- movs r1, 0x3
- ands r0, r1
- lsls r0, 2
- ldrb r2, [r7, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r7, 0x5]
- b _080B1E7C
- .align 2, 0
-_080B1E5C: .4byte gBattleAnimTarget
-_080B1E60: .4byte gBattleAnimArgs
-_080B1E64:
- adds r0, r6, 0
- bl sub_8076884
- movs r1, 0x3
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r7, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r7, 0x5]
-_080B1E7C:
- ldrb r1, [r5, 0xE]
- movs r4, 0x2
- negs r4, r4
- adds r0, r4, 0
- ands r0, r1
- strb r0, [r5, 0xE]
- movs r2, 0x4
- ldrsh r0, [r5, r2]
- movs r1, 0x80
- lsls r1, 8
- ands r0, r1
- cmp r0, 0
- bne _080B1F1E
- adds r3, r7, 0
- adds r3, 0x3F
- ldrb r2, [r3]
- lsls r0, r2, 31
- lsrs r0, 31
- movs r1, 0x1
- eors r1, r0
- adds r0, r4, 0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- lsls r0, 31
- lsrs r0, 31
- adds r1, r7, 0
- adds r1, 0x2A
- strb r0, [r1]
- ldrb r0, [r3]
- movs r1, 0x4
- orrs r0, r1
- b _080B1F16
-_080B1EBE:
- adds r0, r6, 0
- bl sub_8076884
- movs r1, 0x3
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r7, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r7, 0x5]
- ldrb r0, [r5, 0xE]
- movs r4, 0x1
- orrs r0, r4
- strb r0, [r5, 0xE]
- movs r1, 0x4
- ldrsh r0, [r5, r1]
- movs r1, 0x80
- lsls r1, 8
- ands r0, r1
- cmp r0, 0
- beq _080B1F1E
- adds r3, r7, 0
- adds r3, 0x3F
- ldrb r2, [r3]
- lsls r1, r2, 31
- lsrs r1, 31
- movs r0, 0x1
- eors r1, r0
- ands r1, r4
- movs r0, 0x2
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- lsls r0, 31
- lsrs r0, 31
- adds r1, r7, 0
- adds r1, 0x2A
- strb r0, [r1]
- ldrb r0, [r3]
- mov r2, r8
- orrs r0, r2
-_080B1F16:
- movs r1, 0x11
- negs r1, r1
- ands r0, r1
- strb r0, [r3]
-_080B1F1E:
- ldrh r1, [r5, 0x2]
- lsrs r1, 6
- lsls r1, 4
- ldrb r2, [r5]
- movs r0, 0xF
- ands r0, r2
- orrs r0, r1
- strb r0, [r5]
- ldr r3, _080B1F88 @ =gSineTable
- ldrh r0, [r5, 0x2]
- lsls r0, 1
- adds r0, r3
- movs r2, 0
- ldrsh r1, [r0, r2]
- ldrb r0, [r5, 0xC]
- muls r0, r1
- asrs r0, 8
- strh r0, [r7, 0x24]
- ldrb r2, [r7, 0x3]
- lsls r2, 26
- lsrs r2, 27
- movs r1, 0x24
- ldrsh r0, [r7, r1]
- negs r0, r0
- asrs r0, 1
- ldrb r5, [r5, 0xA]
- adds r0, r5
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 1
- adds r1, r3
- ldrh r4, [r1]
- ldr r1, _080B1F8C @ =gOamMatrices
- lsls r2, 3
- adds r2, r1
- adds r0, 0x40
- lsls r0, 1
- adds r0, r3
- ldrh r0, [r0]
- strh r0, [r2, 0x6]
- strh r0, [r2]
- strh r4, [r2, 0x2]
- lsls r0, r4, 16
- asrs r0, 16
- negs r0, r0
- strh r0, [r2, 0x4]
- ldr r0, _080B1F90 @ =sub_80B1F94
- str r0, [r7, 0x1C]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B1F88: .4byte gSineTable
-_080B1F8C: .4byte gOamMatrices
-_080B1F90: .4byte sub_80B1F94
- thumb_func_end sub_80B1D88
-
- thumb_func_start sub_80B1F94
-sub_80B1F94: @ 80B1F94
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r5, r0, 0
- movs r6, 0
- adds r4, r5, 0
- adds r4, 0x2E
- ldrb r2, [r4]
- movs r7, 0x1
- movs r0, 0x1
- mov r9, r0
- ands r0, r2
- cmp r0, 0
- beq _080B1FCE
- ldrb r0, [r4, 0x1]
- adds r1, r0, 0
- adds r1, 0xFF
- strb r1, [r4, 0x1]
- lsls r0, 24
- cmp r0, 0
- beq _080B1FC2
- b _080B24AA
-_080B1FC2:
- movs r0, 0x2
- negs r0, r0
- ands r0, r2
- strb r0, [r4]
- strb r6, [r4, 0x1]
- b _080B24AA
-_080B1FCE:
- ldrh r0, [r4, 0x2]
- lsrs r1, r0, 6
- mov r12, r0
- cmp r1, 0x1
- bne _080B1FDA
- b _080B20FE
-_080B1FDA:
- cmp r1, 0x1
- bgt _080B1FE4
- cmp r1, 0
- beq _080B1FF2
- b _080B23F0
-_080B1FE4:
- cmp r1, 0x2
- bne _080B1FEA
- b _080B21F2
-_080B1FEA:
- cmp r1, 0x3
- bne _080B1FF0
- b _080B22E6
-_080B1FF0:
- b _080B23F0
-_080B1FF2:
- lsls r1, r2, 24
- lsrs r0, r1, 28
- cmp r0, 0x1
- bne _080B2006
- movs r0, 0x8
- orrs r0, r2
- orrs r0, r7
- strb r0, [r4]
- strb r6, [r4, 0x1]
- b _080B20F4
-_080B2006:
- lsrs r0, r1, 28
- cmp r0, 0x3
- bne _080B2028
- lsls r0, r2, 30
- lsrs r0, 31
- movs r1, 0x1
- eors r0, r1
- ands r0, r7
- lsls r0, 1
- movs r1, 0x3
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- orrs r1, r7
- strb r1, [r4]
- strb r6, [r4, 0x1]
- b _080B20F4
-_080B2028:
- movs r0, 0x8
- ands r0, r2
- cmp r0, 0
- beq _080B20F4
- adds r3, r5, 0
- adds r3, 0x3F
- ldrb r2, [r3]
- lsls r1, r2, 31
- lsrs r1, 31
- movs r6, 0x1
- eors r1, r6
- ands r1, r7
- movs r0, 0x2
- negs r0, r0
- mov r8, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- lsls r0, 31
- lsrs r0, 31
- adds r1, r5, 0
- adds r1, 0x2A
- strb r0, [r1]
- ldrb r0, [r3]
- movs r1, 0x4
- orrs r0, r1
- movs r1, 0x11
- negs r1, r1
- ands r0, r1
- strb r0, [r3]
- ldrb r1, [r4]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080B20E6
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _080B20B6
- ldrb r1, [r4, 0xE]
- mov r0, r9
- ands r0, r1
- cmp r0, 0
- bne _080B209C
- ldrb r2, [r5, 0x5]
- lsls r1, r2, 28
- lsrs r1, 30
- subs r1, 0x1
- movs r0, 0x3
- ands r1, r0
- lsls r1, 2
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r5, 0x5]
- b _080B20D4
-_080B209C:
- ldrb r2, [r5, 0x5]
- lsls r1, r2, 28
- lsrs r1, 30
- adds r1, 0x1
- movs r0, 0x3
- ands r1, r0
- lsls r1, 2
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r5, 0x5]
- b _080B20D4
-_080B20B6:
- ldrb r1, [r4, 0xE]
- mov r0, r9
- ands r0, r1
- cmp r0, 0
- bne _080B20CA
- adds r1, r5, 0
- adds r1, 0x43
- ldrb r0, [r1]
- subs r0, 0xC
- b _080B20D2
-_080B20CA:
- adds r1, r5, 0
- adds r1, 0x43
- ldrb r0, [r1]
- adds r0, 0xC
-_080B20D2:
- strb r0, [r1]
-_080B20D4:
- ldrb r2, [r4, 0xE]
- lsls r0, r2, 31
- lsrs r0, 31
- eors r0, r6
- ands r0, r7
- mov r1, r8
- ands r1, r2
- orrs r1, r0
- strb r1, [r4, 0xE]
-_080B20E6:
- ldrb r1, [r4]
- movs r0, 0x9
- negs r0, r0
- ands r0, r1
- strb r0, [r4]
- ldrh r1, [r4, 0x2]
- mov r12, r1
-_080B20F4:
- ldrb r1, [r4]
- movs r0, 0xF
- ands r0, r1
- strb r0, [r4]
- b _080B23F0
-_080B20FE:
- lsls r1, r2, 24
- lsrs r0, r1, 28
- cmp r0, 0
- bne _080B210C
- movs r0, 0x8
- orrs r0, r2
- b _080B2114
-_080B210C:
- lsrs r0, r1, 28
- cmp r0, 0x2
- bne _080B211C
- adds r0, r2, 0
-_080B2114:
- orrs r0, r7
- strb r0, [r4]
- strb r6, [r4, 0x1]
- b _080B21E8
-_080B211C:
- movs r0, 0x8
- ands r0, r2
- cmp r0, 0
- beq _080B21E8
- adds r3, r5, 0
- adds r3, 0x3F
- ldrb r2, [r3]
- lsls r1, r2, 31
- lsrs r1, 31
- movs r6, 0x1
- eors r1, r6
- ands r1, r7
- movs r0, 0x2
- negs r0, r0
- mov r8, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- lsls r0, 31
- lsrs r0, 31
- adds r1, r5, 0
- adds r1, 0x2A
- strb r0, [r1]
- ldrb r0, [r3]
- movs r1, 0x4
- orrs r0, r1
- movs r1, 0x11
- negs r1, r1
- ands r0, r1
- strb r0, [r3]
- ldrb r1, [r4]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080B21DA
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _080B21AA
- ldrb r1, [r4, 0xE]
- mov r0, r9
- ands r0, r1
- cmp r0, 0
- bne _080B2190
- ldrb r2, [r5, 0x5]
- lsls r1, r2, 28
- lsrs r1, 30
- subs r1, 0x1
- movs r0, 0x3
- ands r1, r0
- lsls r1, 2
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r5, 0x5]
- b _080B21C8
-_080B2190:
- ldrb r2, [r5, 0x5]
- lsls r1, r2, 28
- lsrs r1, 30
- adds r1, 0x1
- movs r0, 0x3
- ands r1, r0
- lsls r1, 2
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r5, 0x5]
- b _080B21C8
-_080B21AA:
- ldrb r1, [r4, 0xE]
- mov r0, r9
- ands r0, r1
- cmp r0, 0
- bne _080B21BE
- adds r1, r5, 0
- adds r1, 0x43
- ldrb r0, [r1]
- subs r0, 0xC
- b _080B21C6
-_080B21BE:
- adds r1, r5, 0
- adds r1, 0x43
- ldrb r0, [r1]
- adds r0, 0xC
-_080B21C6:
- strb r0, [r1]
-_080B21C8:
- ldrb r2, [r4, 0xE]
- lsls r0, r2, 31
- lsrs r0, 31
- eors r0, r6
- ands r0, r7
- mov r1, r8
- ands r1, r2
- orrs r1, r0
- strb r1, [r4, 0xE]
-_080B21DA:
- ldrb r1, [r4]
- movs r0, 0x9
- negs r0, r0
- ands r0, r1
- strb r0, [r4]
- ldrh r1, [r4, 0x2]
- mov r12, r1
-_080B21E8:
- ldrb r0, [r4]
- movs r1, 0xF
- ands r1, r0
- movs r0, 0x10
- b _080B23EC
-_080B21F2:
- lsls r1, r2, 24
- lsrs r0, r1, 28
- cmp r0, 0x3
- bne _080B2200
- movs r0, 0x8
- orrs r0, r2
- b _080B2208
-_080B2200:
- lsrs r0, r1, 28
- cmp r0, 0x1
- bne _080B2210
- adds r0, r2, 0
-_080B2208:
- orrs r0, r7
- strb r0, [r4]
- strb r6, [r4, 0x1]
- b _080B22DC
-_080B2210:
- movs r0, 0x8
- ands r0, r2
- cmp r0, 0
- beq _080B22DC
- adds r3, r5, 0
- adds r3, 0x3F
- ldrb r2, [r3]
- lsls r1, r2, 31
- lsrs r1, 31
- movs r6, 0x1
- eors r1, r6
- ands r1, r7
- movs r0, 0x2
- negs r0, r0
- mov r8, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- lsls r0, 31
- lsrs r0, 31
- adds r1, r5, 0
- adds r1, 0x2A
- strb r0, [r1]
- ldrb r0, [r3]
- movs r1, 0x4
- orrs r0, r1
- movs r1, 0x11
- negs r1, r1
- ands r0, r1
- strb r0, [r3]
- ldrb r1, [r4]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080B22CE
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _080B229E
- ldrb r1, [r4, 0xE]
- mov r0, r9
- ands r0, r1
- cmp r0, 0
- bne _080B2284
- ldrb r2, [r5, 0x5]
- lsls r1, r2, 28
- lsrs r1, 30
- subs r1, 0x1
- movs r0, 0x3
- ands r1, r0
- lsls r1, 2
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r5, 0x5]
- b _080B22BC
-_080B2284:
- ldrb r2, [r5, 0x5]
- lsls r1, r2, 28
- lsrs r1, 30
- adds r1, 0x1
- movs r0, 0x3
- ands r1, r0
- lsls r1, 2
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r5, 0x5]
- b _080B22BC
-_080B229E:
- ldrb r1, [r4, 0xE]
- mov r0, r9
- ands r0, r1
- cmp r0, 0
- bne _080B22B2
- adds r1, r5, 0
- adds r1, 0x43
- ldrb r0, [r1]
- subs r0, 0xC
- b _080B22BA
-_080B22B2:
- adds r1, r5, 0
- adds r1, 0x43
- ldrb r0, [r1]
- adds r0, 0xC
-_080B22BA:
- strb r0, [r1]
-_080B22BC:
- ldrb r2, [r4, 0xE]
- lsls r0, r2, 31
- lsrs r0, 31
- eors r0, r6
- ands r0, r7
- mov r1, r8
- ands r1, r2
- orrs r1, r0
- strb r1, [r4, 0xE]
-_080B22CE:
- ldrb r1, [r4]
- movs r0, 0x9
- negs r0, r0
- ands r0, r1
- strb r0, [r4]
- ldrh r1, [r4, 0x2]
- mov r12, r1
-_080B22DC:
- ldrb r0, [r4]
- movs r1, 0xF
- ands r1, r0
- movs r0, 0x20
- b _080B23EC
-_080B22E6:
- lsls r1, r2, 24
- lsrs r0, r1, 28
- cmp r0, 0x2
- bne _080B22F6
- movs r0, 0x8
- orrs r0, r2
- strb r0, [r4]
- b _080B23E4
-_080B22F6:
- lsrs r0, r1, 28
- cmp r0, 0
- bne _080B2318
- lsls r0, r2, 30
- lsrs r0, 31
- movs r1, 0x1
- eors r0, r1
- ands r0, r7
- lsls r0, 1
- movs r1, 0x3
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- orrs r1, r7
- strb r1, [r4]
- strb r6, [r4, 0x1]
- b _080B23E4
-_080B2318:
- movs r0, 0x8
- ands r0, r2
- cmp r0, 0
- beq _080B23E4
- adds r3, r5, 0
- adds r3, 0x3F
- ldrb r2, [r3]
- lsls r1, r2, 31
- lsrs r1, 31
- movs r6, 0x1
- eors r1, r6
- ands r1, r7
- movs r0, 0x2
- negs r0, r0
- mov r8, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- lsls r0, 31
- lsrs r0, 31
- adds r1, r5, 0
- adds r1, 0x2A
- strb r0, [r1]
- ldrb r0, [r3]
- movs r1, 0x4
- orrs r0, r1
- movs r1, 0x11
- negs r1, r1
- ands r0, r1
- strb r0, [r3]
- ldrb r1, [r4]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080B23D6
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _080B23A6
- ldrb r1, [r4, 0xE]
- mov r0, r9
- ands r0, r1
- cmp r0, 0
- bne _080B238C
- ldrb r2, [r5, 0x5]
- lsls r1, r2, 28
- lsrs r1, 30
- subs r1, 0x1
- movs r0, 0x3
- ands r1, r0
- lsls r1, 2
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r5, 0x5]
- b _080B23C4
-_080B238C:
- ldrb r2, [r5, 0x5]
- lsls r1, r2, 28
- lsrs r1, 30
- adds r1, 0x1
- movs r0, 0x3
- ands r1, r0
- lsls r1, 2
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r5, 0x5]
- b _080B23C4
-_080B23A6:
- ldrb r1, [r4, 0xE]
- mov r0, r9
- ands r0, r1
- cmp r0, 0
- bne _080B23BA
- adds r1, r5, 0
- adds r1, 0x43
- ldrb r0, [r1]
- subs r0, 0xC
- b _080B23C2
-_080B23BA:
- adds r1, r5, 0
- adds r1, 0x43
- ldrb r0, [r1]
- adds r0, 0xC
-_080B23C2:
- strb r0, [r1]
-_080B23C4:
- ldrb r2, [r4, 0xE]
- lsls r0, r2, 31
- lsrs r0, 31
- eors r0, r6
- ands r0, r7
- mov r1, r8
- ands r1, r2
- orrs r1, r0
- strb r1, [r4, 0xE]
-_080B23D6:
- ldrb r1, [r4]
- movs r0, 0x9
- negs r0, r0
- ands r0, r1
- strb r0, [r4]
- ldrh r1, [r4, 0x2]
- mov r12, r1
-_080B23E4:
- ldrb r0, [r4]
- movs r1, 0xF
- ands r1, r0
- movs r0, 0x30
-_080B23EC:
- orrs r1, r0
- strb r1, [r4]
-_080B23F0:
- ldrb r1, [r4]
- lsls r1, 30
- lsrs r1, 31
- adds r0, r4, 0
- adds r0, 0xC
- adds r0, r1
- ldrb r1, [r0]
- ldr r3, _080B2478 @ =gSineTable
- mov r2, r12
- lsls r0, r2, 1
- adds r0, r3
- movs r2, 0
- ldrsh r0, [r0, r2]
- muls r0, r1
- asrs r0, 8
- strh r0, [r5, 0x24]
- ldrb r2, [r5, 0x3]
- lsls r2, 26
- lsrs r2, 27
- movs r1, 0x24
- ldrsh r0, [r5, r1]
- negs r0, r0
- asrs r0, 1
- ldrb r1, [r4, 0xA]
- adds r0, r1
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 1
- adds r1, r3
- ldrh r6, [r1]
- ldr r1, _080B247C @ =gOamMatrices
- lsls r2, 3
- adds r2, r1
- adds r0, 0x40
- lsls r0, 1
- adds r0, r3
- ldrh r0, [r0]
- strh r0, [r2, 0x6]
- strh r0, [r2]
- strh r6, [r2, 0x2]
- lsls r0, r6, 16
- asrs r0, 16
- negs r0, r0
- strh r0, [r2, 0x4]
- ldrh r0, [r4, 0x6]
- ldrh r2, [r4, 0x8]
- adds r0, r2
- strh r0, [r4, 0x8]
- lsls r0, 16
- lsrs r0, 24
- strh r0, [r5, 0x22]
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- movs r1, 0x80
- lsls r1, 8
- ands r0, r1
- cmp r0, 0
- beq _080B2480
- ldrh r0, [r4, 0x4]
- subs r1, 0x1
- ands r1, r0
- ldrh r0, [r4, 0x2]
- subs r0, r1
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x2]
- b _080B2490
- .align 2, 0
-_080B2478: .4byte gSineTable
-_080B247C: .4byte gOamMatrices
-_080B2480:
- ldrh r0, [r4, 0x4]
- ldr r1, _080B24B8 @ =0x00007fff
- ands r1, r0
- ldrh r2, [r4, 0x2]
- adds r1, r2
- movs r0, 0xFF
- ands r1, r0
- strh r1, [r4, 0x2]
-_080B2490:
- movs r0, 0x22
- ldrsh r1, [r5, r0]
- movs r2, 0x26
- ldrsh r0, [r5, r2]
- adds r1, r0
- ldrh r0, [r4, 0xE]
- lsrs r0, 1
- cmp r1, r0
- blt _080B24AA
- movs r0, 0
- strh r0, [r5, 0x2E]
- ldr r0, _080B24BC @ =sub_80B1D3C
- str r0, [r5, 0x1C]
-_080B24AA:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B24B8: .4byte 0x00007fff
-_080B24BC: .4byte sub_80B1D3C
- thumb_func_end sub_80B1F94
-
- thumb_func_start sub_80B24C0
-sub_80B24C0: @ 80B24C0
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r0, _080B2508 @ =gBattleAnimTarget
- ldrb r0, [r0]
- bl sub_8076884
- movs r1, 0x3
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r4, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r4, 0x5]
- ldr r5, _080B250C @ =gBattleAnimAttacker
- ldrb r0, [r5]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x20]
- ldrb r0, [r5]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x22]
- ldr r0, _080B2510 @ =sub_8075DF4
- str r0, [r4, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B2508: .4byte gBattleAnimTarget
-_080B250C: .4byte gBattleAnimAttacker
-_080B2510: .4byte sub_8075DF4
- thumb_func_end sub_80B24C0
-
- thumb_func_start sub_80B2514
-sub_80B2514: @ 80B2514
- push {r4-r7,lr}
- adds r4, r0, 0
- ldr r5, _080B2554 @ =gBattleAnimArgs
- ldrh r0, [r5]
- strh r0, [r4, 0x30]
- ldrh r0, [r5, 0x2]
- strh r0, [r4, 0x32]
- ldrh r0, [r5, 0x4]
- strh r0, [r4, 0x34]
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _080B25C4
- ldr r0, _080B2558 @ =gBattlerPositions
- ldr r1, _080B255C @ =gBattleAnimTarget
- ldrb r2, [r1]
- adds r0, r2, r0
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080B2560
- adds r0, r2, 0
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r5, [r5, 0x6]
- adds r0, r5
- b _080B256E
- .align 2, 0
-_080B2554: .4byte gBattleAnimArgs
-_080B2558: .4byte gBattlerPositions
-_080B255C: .4byte gBattleAnimTarget
-_080B2560:
- adds r0, r2, 0
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x28
-_080B256E:
- strh r0, [r4, 0x3C]
- ldr r0, _080B259C @ =gBattleAnimArgs
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- cmp r0, 0
- beq _080B25A4
- ldr r0, _080B25A0 @ =gBattleAnimTarget
- ldrb r0, [r0]
- bl sub_8076884
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x1
- movs r1, 0x3
- ands r0, r1
- lsls r0, 2
- ldrb r2, [r4, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r4, 0x5]
- b _080B25D8
- .align 2, 0
-_080B259C: .4byte gBattleAnimArgs
-_080B25A0: .4byte gBattleAnimTarget
-_080B25A4:
- ldr r0, _080B25C0 @ =gBattleAnimTarget
- ldrb r0, [r0]
- bl sub_8076884
- movs r1, 0x3
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r4, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r4, 0x5]
- b _080B25D8
- .align 2, 0
-_080B25C0: .4byte gBattleAnimTarget
-_080B25C4:
- ldr r0, _080B267C @ =gBattleAnimTarget
- ldrb r0, [r0]
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r5, [r5, 0x6]
- adds r0, r5
- strh r0, [r4, 0x3C]
-_080B25D8:
- ldr r5, _080B2680 @ =gSineTable
- ldrh r3, [r4, 0x30]
- movs r1, 0xFF
- ands r1, r3
- lsls r0, r1, 1
- adds r0, r5
- ldrh r0, [r0]
- movs r2, 0
- strh r0, [r4, 0x36]
- adds r1, 0x40
- lsls r1, 1
- adds r1, r5
- ldrh r0, [r1]
- negs r0, r0
- strh r0, [r4, 0x38]
- strh r2, [r4, 0x3A]
- strh r2, [r4, 0x26]
- strh r2, [r4, 0x24]
- ldrb r0, [r4, 0x3]
- lsls r0, 26
- lsrs r6, r0, 27
- lsls r3, 16
- lsrs r3, 24
- strh r3, [r4, 0x30]
- bl Random
- lsls r0, 16
- asrs r7, r0, 16
- movs r0, 0x80
- lsls r0, 8
- ands r0, r7
- cmp r0, 0
- beq _080B2622
- ldrh r1, [r4, 0x30]
- movs r0, 0xFF
- subs r0, r1
- strh r0, [r4, 0x30]
-_080B2622:
- movs r0, 0x30
- ldrsh r1, [r4, r0]
- lsls r0, r1, 1
- adds r0, r5
- ldrh r0, [r0]
- ldr r3, _080B2684 @ =gOamMatrices
- lsls r2, r6, 3
- adds r2, r3
- adds r1, 0x40
- lsls r1, 1
- adds r1, r5
- ldrh r1, [r1]
- strh r1, [r2, 0x6]
- strh r1, [r2]
- strh r0, [r2, 0x2]
- lsls r0, 16
- asrs r0, 16
- negs r0, r0
- strh r0, [r2, 0x4]
- adds r3, r4, 0
- adds r3, 0x3F
- ldrb r0, [r3]
- movs r1, 0x4
- orrs r0, r1
- movs r1, 0x11
- negs r1, r1
- ands r0, r1
- strb r0, [r3]
- movs r0, 0x1
- ands r0, r7
- cmp r0, 0
- beq _080B2672
- adds r2, r4, 0
- adds r2, 0x2A
- movs r1, 0x1
- movs r0, 0x1
- strb r0, [r2]
- ldrb r0, [r3]
- orrs r0, r1
- strb r0, [r3]
-_080B2672:
- ldr r0, _080B2688 @ =sub_80B268C
- str r0, [r4, 0x1C]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B267C: .4byte gBattleAnimTarget
-_080B2680: .4byte gSineTable
-_080B2684: .4byte gOamMatrices
-_080B2688: .4byte sub_80B268C
- thumb_func_end sub_80B2514
-
- thumb_func_start sub_80B268C
-sub_80B268C: @ 80B268C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x10
- adds r4, r0, 0
- adds r5, r4, 0
- adds r5, 0x2E
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- movs r1, 0
- mov r8, r1
- movs r7, 0
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- ble _080B2770
- movs r2, 0x36
- ldrsh r1, [r4, r2]
- movs r2, 0x3A
- ldrsh r0, [r4, r2]
- muls r0, r1
- asrs r6, r0, 8
- strh r6, [r4, 0x24]
- movs r0, 0x38
- ldrsh r1, [r4, r0]
- movs r2, 0x3A
- ldrsh r0, [r4, r2]
- muls r0, r1
- asrs r3, r0, 8
- strh r3, [r4, 0x26]
- ldrh r2, [r4, 0x34]
- movs r1, 0xFF
- adds r0, r1, 0
- ands r0, r2
- ldrh r2, [r4, 0x3A]
- adds r0, r2
- strh r0, [r4, 0x3A]
- ldrh r2, [r4, 0x32]
- lsls r0, 16
- asrs r0, 16
- ands r1, r2
- cmp r0, r1
- blt _080B2770
- ldrh r0, [r4, 0x20]
- adds r0, r6
- strh r0, [r4, 0x20]
- ldrh r0, [r4, 0x22]
- adds r0, r3
- strh r0, [r4, 0x22]
- strh r7, [r4, 0x24]
- strh r7, [r4, 0x26]
- mov r0, sp
- adds r1, r5, 0
- movs r2, 0x10
- bl memcpy
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0x10
- bl memset
- ldrh r0, [r4, 0x22]
- lsls r0, 8
- strh r0, [r5, 0x8]
- mov r0, sp
- ldrh r0, [r0, 0x6]
- lsrs r1, r0, 8
- strh r1, [r5, 0x6]
- strh r7, [r5, 0x2]
- mov r0, sp
- ldrh r0, [r0, 0x2]
- strh r0, [r5, 0xA]
- adds r0, r4, 0
- adds r0, 0x2A
- ldrb r0, [r0]
- cmp r0, 0
- beq _080B2740
- movs r0, 0x8
- ands r1, r0
- cmp r1, 0
- beq _080B2738
- ldr r0, _080B2734 @ =0x00008001
- b _080B274E
- .align 2, 0
-_080B2734: .4byte 0x00008001
-_080B2738:
- ldr r0, _080B273C @ =0x00008002
- b _080B274E
- .align 2, 0
-_080B273C: .4byte 0x00008002
-_080B2740:
- movs r0, 0x8
- ands r1, r0
- cmp r1, 0
- beq _080B274C
- movs r0, 0x1
- b _080B274E
-_080B274C:
- movs r0, 0x2
-_080B274E:
- strh r0, [r5, 0x4]
- mov r0, sp
- ldrh r0, [r0, 0x4]
- lsrs r0, 8
- strb r0, [r5, 0xC]
- subs r0, 0x2
- strb r0, [r5, 0xD]
- mov r0, sp
- ldrh r1, [r0, 0xE]
- lsls r1, 1
- ldrh r2, [r5, 0xE]
- movs r0, 0x1
- ands r0, r2
- orrs r0, r1
- strh r0, [r5, 0xE]
- ldr r0, _080B277C @ =sub_80B1F94
- str r0, [r4, 0x1C]
-_080B2770:
- add sp, 0x10
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B277C: .4byte sub_80B1F94
- thumb_func_end sub_80B268C
-
- thumb_func_start sub_80B2780
-sub_80B2780: @ 80B2780
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, _080B2798 @ =gBattleAnimArgs
- movs r1, 0x4
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080B279C
- adds r0, r5, 0
- movs r1, 0
- bl sub_8075160
- b _080B27A4
- .align 2, 0
-_080B2798: .4byte gBattleAnimArgs
-_080B279C:
- adds r0, r5, 0
- movs r1, 0
- bl sub_8075114
-_080B27A4:
- ldr r4, _080B280C @ =gBattleAnimArgs
- movs r2, 0x4
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _080B27BC
- ldr r0, _080B2810 @ =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080B27D2
-_080B27BC:
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- bne _080B27D8
- ldr r0, _080B2814 @ =gBattleAnimTarget
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _080B27D8
-_080B27D2:
- ldrh r0, [r5, 0x20]
- adds r0, 0x8
- strh r0, [r5, 0x20]
-_080B27D8:
- ldr r4, _080B280C @ =gBattleAnimArgs
- ldrb r1, [r4, 0x8]
- adds r0, r5, 0
- bl SeekSpriteAnim
- ldrh r0, [r5, 0x20]
- subs r0, 0x20
- strh r0, [r5, 0x20]
- ldr r0, _080B2818 @ =0x00000ccc
- strh r0, [r5, 0x30]
- ldrh r1, [r4, 0x8]
- movs r0, 0xC
- adds r2, r0, 0
- muls r2, r1
- adds r0, r2, 0
- ldrh r2, [r5, 0x24]
- adds r0, r2
- strh r0, [r5, 0x24]
- strh r1, [r5, 0x2E]
- ldrh r0, [r4, 0x6]
- strh r0, [r5, 0x3C]
- ldr r0, _080B281C @ =sub_80B2820
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B280C: .4byte gBattleAnimArgs
-_080B2810: .4byte gBattleAnimAttacker
-_080B2814: .4byte gBattleAnimTarget
-_080B2818: .4byte 0x00000ccc
-_080B281C: .4byte sub_80B2820
- thumb_func_end sub_80B2780
-
- thumb_func_start sub_80B2820
-sub_80B2820: @ 80B2820
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 24
- ldrh r1, [r4, 0x24]
- adds r0, r1
- movs r1, 0
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x6
- bne _080B284A
- strh r1, [r4, 0x2E]
- strh r1, [r4, 0x24]
- adds r0, r4, 0
- bl StartSpriteAnim
-_080B284A:
- ldrh r0, [r4, 0x3C]
- subs r0, 0x1
- strh r0, [r4, 0x3C]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _080B2862
- adds r0, r4, 0
- bl DestroyAnimSprite
-_080B2862:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80B2820
-
- thumb_func_start sub_80B2868
-sub_80B2868: @ 80B2868
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r0, 24
- adds r6, r0, 0
- ldr r1, _080B2900 @ =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r7, r0, r1
- ldrh r0, [r7, 0x8]
- movs r1, 0x1F
- ands r0, r1
- cmp r0, 0
- bne _080B28E2
- ldr r1, _080B2904 @ =gUnknown_2037EE2
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- movs r1, 0x8
- ldrsh r0, [r7, r1]
- movs r5, 0xD
- negs r5, r5
- adds r1, r5, 0
- bl Sin
- ldr r4, _080B2908 @ =gBattleAnimArgs
- strh r0, [r4]
- movs r1, 0x8
- ldrsh r0, [r7, r1]
- adds r1, r5, 0
- bl Cos
- strh r0, [r4, 0x2]
- movs r0, 0x1
- strh r0, [r4, 0x4]
- movs r0, 0x3
- strh r0, [r4, 0x6]
- ldr r0, _080B290C @ =gUnknown_83E7C98
- mov r8, r0
- ldr r5, _080B2910 @ =gBattleAnimTarget
- ldrb r0, [r5]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldrb r0, [r5]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- mov r0, r8
- adds r1, r4, 0
- movs r3, 0x3
- bl CreateSpriteAndAnimate
-_080B28E2:
- ldrh r0, [r7, 0x8]
- adds r0, 0x8
- strh r0, [r7, 0x8]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xFF
- ble _080B28F6
- adds r0, r6, 0
- bl DestroyAnimVisualTask
-_080B28F6:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B2900: .4byte gTasks
-_080B2904: .4byte gUnknown_2037EE2
-_080B2908: .4byte gBattleAnimArgs
-_080B290C: .4byte gUnknown_83E7C98
-_080B2910: .4byte gBattleAnimTarget
- thumb_func_end sub_80B2868
-
- thumb_func_start sub_80B2914
-sub_80B2914: @ 80B2914
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080B2926
- cmp r0, 0x1
- beq _080B2958
- b _080B296C
-_080B2926:
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8075160
- movs r0, 0
- bl GetAnimBankSpriteId
- ldr r2, _080B2954 @ =gSprites
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- b _080B296C
- .align 2, 0
-_080B2954: .4byte gSprites
-_080B2958:
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080B296C
- adds r0, r4, 0
- bl DestroyAnimSprite
-_080B296C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80B2914
-
- thumb_func_start sub_80B2974
-sub_80B2974: @ 80B2974
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _080B29AC
- cmp r0, 0x1
- bgt _080B298A
- cmp r0, 0
- beq _080B2990
- b _080B29FE
-_080B298A:
- cmp r0, 0x2
- beq _080B29C0
- b _080B29FE
-_080B2990:
- ldr r0, _080B29A8 @ =gBattleAnimTarget
- ldrb r0, [r0]
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x22]
- negs r0, r0
- subs r0, 0x20
- strh r0, [r4, 0x26]
- b _080B29B8
- .align 2, 0
-_080B29A8: .4byte gBattleAnimTarget
-_080B29AC:
- ldrh r0, [r4, 0x26]
- adds r0, 0xA
- strh r0, [r4, 0x26]
- lsls r0, 16
- cmp r0, 0
- blt _080B29FE
-_080B29B8:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- b _080B29FE
-_080B29C0:
- ldrh r0, [r4, 0x26]
- subs r0, 0xA
- strh r0, [r4, 0x26]
- movs r2, 0x22
- ldrsh r0, [r4, r2]
- movs r2, 0x26
- ldrsh r1, [r4, r2]
- adds r0, r1
- movs r1, 0x20
- negs r1, r1
- cmp r0, r1
- bge _080B29FE
- movs r0, 0
- bl GetAnimBankSpriteId
- ldr r2, _080B2A04 @ =gSprites
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- adds r1, 0x3E
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- adds r0, r4, 0
- bl DestroyAnimSprite
-_080B29FE:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B2A04: .4byte gSprites
- thumb_func_end sub_80B2974
-
- thumb_func_start sub_80B2A08
-sub_80B2A08: @ 80B2A08
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl sub_8075160
- ldr r1, _080B2A44 @ =gBattleAnimArgs
- ldrh r0, [r1, 0x4]
- strh r0, [r4, 0x2E]
- ldrh r0, [r1, 0x6]
- strh r0, [r4, 0x30]
- ldr r0, _080B2A48 @ =sub_80B2A50
- str r0, [r4, 0x1C]
- movs r0, 0
- bl GetAnimBankSpriteId
- ldr r2, _080B2A4C @ =gSprites
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B2A44: .4byte gBattleAnimArgs
-_080B2A48: .4byte sub_80B2A50
-_080B2A4C: .4byte gSprites
- thumb_func_end sub_80B2A08
-
- thumb_func_start sub_80B2A50
-sub_80B2A50: @ 80B2A50
- push {lr}
- adds r2, r0, 0
- ldrh r1, [r2, 0x2E]
- movs r3, 0x2E
- ldrsh r0, [r2, r3]
- cmp r0, 0
- ble _080B2A64
- subs r0, r1, 0x1
- strh r0, [r2, 0x2E]
- b _080B2AA8
-_080B2A64:
- movs r1, 0x22
- ldrsh r0, [r2, r1]
- movs r3, 0x26
- ldrsh r1, [r2, r3]
- adds r0, r1
- movs r1, 0x20
- negs r1, r1
- cmp r0, r1
- ble _080B2A8A
- ldrh r0, [r2, 0x30]
- ldrh r1, [r2, 0x32]
- adds r0, r1
- strh r0, [r2, 0x32]
- lsls r0, 16
- asrs r0, 24
- ldrh r1, [r2, 0x26]
- subs r1, r0
- strh r1, [r2, 0x26]
- b _080B2AA8
-_080B2A8A:
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r3]
- ldrh r0, [r2, 0x34]
- adds r1, r0, 0x1
- strh r1, [r2, 0x34]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- ble _080B2AA8
- ldr r0, _080B2AAC @ =sub_80B2AB0
- str r0, [r2, 0x1C]
-_080B2AA8:
- pop {r0}
- bx r0
- .align 2, 0
-_080B2AAC: .4byte sub_80B2AB0
- thumb_func_end sub_80B2A50
-
- thumb_func_start sub_80B2AB0
-sub_80B2AB0: @ 80B2AB0
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x32]
- lsls r0, 16
- asrs r0, 24
- ldrh r1, [r2, 0x26]
- adds r0, r1
- strh r0, [r2, 0x26]
- movs r3, 0x22
- ldrsh r0, [r2, r3]
- movs r3, 0x26
- ldrsh r1, [r2, r3]
- adds r0, r1
- movs r1, 0x20
- negs r1, r1
- cmp r0, r1
- ble _080B2AE0
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r1, [r3]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r3]
-_080B2AE0:
- movs r1, 0x26
- ldrsh r0, [r2, r1]
- cmp r0, 0
- ble _080B2AEE
- adds r0, r2, 0
- bl DestroyAnimSprite
-_080B2AEE:
- pop {r0}
- bx r0
- thumb_func_end sub_80B2AB0
-
- thumb_func_start sub_80B2AF4
-sub_80B2AF4: @ 80B2AF4
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _080B2B08
- cmp r0, 0x1
- beq _080B2B60
- b _080B2BCC
-_080B2B08:
- ldr r0, _080B2B18 @ =gBattleAnimArgs
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0
- bne _080B2B20
- ldr r4, _080B2B1C @ =gBattleAnimAttacker
- b _080B2B22
- .align 2, 0
-_080B2B18: .4byte gBattleAnimArgs
-_080B2B1C: .4byte gBattleAnimAttacker
-_080B2B20:
- ldr r4, _080B2B5C @ =gBattleAnimTarget
-_080B2B22:
- ldrb r0, [r4]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
- movs r0, 0
- movs r3, 0x80
- lsls r3, 2
- strh r3, [r5, 0x30]
- movs r2, 0x80
- lsls r2, 1
- str r0, [sp]
- adds r0, r5, 0
- movs r1, 0
- bl sub_8075A1C
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
- b _080B2BCC
- .align 2, 0
-_080B2B5C: .4byte gBattleAnimTarget
-_080B2B60:
- movs r1, 0x32
- ldrsh r0, [r5, r1]
- cmp r0, 0xB
- bgt _080B2B6E
- ldrh r0, [r5, 0x30]
- subs r0, 0x28
- b _080B2B72
-_080B2B6E:
- ldrh r0, [r5, 0x30]
- adds r0, 0x28
-_080B2B72:
- strh r0, [r5, 0x30]
- ldrh r0, [r5, 0x32]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r5, 0x32]
- movs r2, 0x80
- lsls r2, 1
- movs r0, 0x30
- ldrsh r3, [r5, r0]
- str r1, [sp]
- adds r0, r5, 0
- bl sub_8075A1C
- ldrb r1, [r5, 0x3]
- lsls r1, 26
- lsrs r1, 27
- movs r0, 0xF4
- lsls r0, 6
- ldr r2, _080B2BD4 @ =gOamMatrices
- lsls r1, 3
- adds r1, r2
- movs r2, 0x6
- ldrsh r1, [r1, r2]
- bl __divsi3
- adds r1, r0, 0x1
- cmp r1, 0x80
- ble _080B2BAC
- movs r1, 0x80
-_080B2BAC:
- movs r0, 0x40
- subs r0, r1
- lsrs r1, r0, 31
- adds r0, r1
- asrs r1, r0, 1
- strh r1, [r5, 0x26]
- movs r1, 0x32
- ldrsh r0, [r5, r1]
- cmp r0, 0x18
- bne _080B2BCC
- adds r0, r5, 0
- bl sub_8075AD8
- adds r0, r5, 0
- bl DestroyAnimSprite
-_080B2BCC:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B2BD4: .4byte gOamMatrices
- thumb_func_end sub_80B2AF4
-
- thumb_func_start sub_80B2BD8
-sub_80B2BD8: @ 80B2BD8
- push {r4,r5,lr}
- adds r5, r0, 0
- bl Random
- ldr r4, _080B2BFC @ =0x000001ff
- ands r4, r0
- bl Random
- movs r1, 0x7F
- ands r1, r0
- movs r0, 0x1
- ands r0, r4
- cmp r0, 0
- beq _080B2C00
- movs r2, 0xB8
- lsls r2, 2
- adds r0, r4, r2
- b _080B2C08
- .align 2, 0
-_080B2BFC: .4byte 0x000001ff
-_080B2C00:
- movs r2, 0xB8
- lsls r2, 2
- adds r0, r2, 0
- subs r0, r4
-_080B2C08:
- strh r0, [r5, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080B2C1C
- movs r2, 0xE0
- lsls r2, 2
- adds r0, r2, 0
- adds r0, r1, r0
- b _080B2C24
-_080B2C1C:
- movs r2, 0xE0
- lsls r2, 2
- adds r0, r2, 0
- subs r0, r1
-_080B2C24:
- strh r0, [r5, 0x30]
- ldr r2, _080B2C4C @ =gBattleAnimArgs
- ldrh r0, [r2]
- strh r0, [r5, 0x32]
- lsls r0, 16
- cmp r0, 0
- beq _080B2C40
- ldrb r0, [r5, 0x3]
- movs r1, 0x3F
- negs r1, r1
- ands r1, r0
- movs r0, 0x10
- orrs r1, r0
- strb r1, [r5, 0x3]
-_080B2C40:
- movs r1, 0x2
- ldrsh r0, [r2, r1]
- cmp r0, 0
- bne _080B2C54
- ldr r4, _080B2C50 @ =gBattleAnimAttacker
- b _080B2C56
- .align 2, 0
-_080B2C4C: .4byte gBattleAnimArgs
-_080B2C50: .4byte gBattleAnimAttacker
-_080B2C54:
- ldr r4, _080B2C80 @ =gBattleAnimTarget
-_080B2C56:
- ldrb r0, [r4]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x20
- strh r0, [r5, 0x22]
- ldr r0, _080B2C84 @ =sub_80B2C88
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B2C80: .4byte gBattleAnimTarget
-_080B2C84: .4byte sub_80B2C88
- thumb_func_end sub_80B2BD8
-
- thumb_func_start sub_80B2C88
-sub_80B2C88: @ 80B2C88
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080B2CA0
- ldrh r3, [r4, 0x2E]
- lsls r0, r3, 16
- asrs r0, 24
- ldrh r1, [r4, 0x24]
- adds r0, r1
- b _080B2CAA
-_080B2CA0:
- ldrh r3, [r4, 0x2E]
- lsls r1, r3, 16
- asrs r1, 24
- ldrh r0, [r4, 0x24]
- subs r0, r1
-_080B2CAA:
- strh r0, [r4, 0x24]
- ldrh r2, [r4, 0x30]
- lsls r1, r2, 16
- asrs r1, 24
- ldrh r0, [r4, 0x26]
- subs r0, r1
- strh r0, [r4, 0x26]
- strh r3, [r4, 0x2E]
- adds r0, r2, 0
- subs r0, 0x20
- strh r0, [r4, 0x30]
- lsls r0, r3, 16
- cmp r0, 0
- bge _080B2CCA
- movs r0, 0
- strh r0, [r4, 0x2E]
-_080B2CCA:
- ldrh r0, [r4, 0x34]
- adds r0, 0x1
- strh r0, [r4, 0x34]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1F
- bne _080B2CDE
- adds r0, r4, 0
- bl DestroyAnimSprite
-_080B2CDE:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80B2C88
-
- thumb_func_start sub_80B2CE4
-sub_80B2CE4: @ 80B2CE4
- movs r1, 0
- strh r1, [r0, 0x3A]
- movs r1, 0x40
- strh r1, [r0, 0x3C]
- ldr r1, _080B2CF4 @ =sub_80B2CF8
- str r1, [r0, 0x1C]
- bx lr
- .align 2, 0
-_080B2CF4: .4byte sub_80B2CF8
- thumb_func_end sub_80B2CE4
-
- thumb_func_start sub_80B2CF8
-sub_80B2CF8: @ 80B2CF8
- push {lr}
- adds r3, r0, 0
- movs r0, 0x2E
- ldrsh r1, [r3, r0]
- cmp r1, 0
- beq _080B2D0A
- cmp r1, 0x1
- beq _080B2D58
- b _080B2D5E
-_080B2D0A:
- ldrh r0, [r3, 0x30]
- adds r0, 0x1
- strh r0, [r3, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x8
- ble _080B2D5E
- strh r1, [r3, 0x30]
- movs r1, 0x3E
- adds r1, r3
- mov r12, r1
- ldrb r2, [r1]
- lsls r0, r2, 29
- lsrs r0, 31
- movs r1, 0x1
- eors r1, r0
- lsls r1, 2
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- mov r1, r12
- strb r0, [r1]
- ldrh r0, [r3, 0x32]
- adds r0, 0x1
- strh r0, [r3, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5
- ble _080B2D5E
- ldrb r1, [r1]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080B2D5E
- ldrh r0, [r3, 0x2E]
- adds r0, 0x1
- strh r0, [r3, 0x2E]
- b _080B2D5E
-_080B2D58:
- adds r0, r3, 0
- bl DestroyAnimSprite
-_080B2D5E:
- pop {r0}
- bx r0
- thumb_func_end sub_80B2CF8
-
- thumb_func_start sub_80B2D64
-sub_80B2D64: @ 80B2D64
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x4
- mov r8, r0
- ldrh r4, [r0, 0x20]
- ldrh r5, [r0, 0x22]
- ldr r6, _080B2E18 @ =gBattleAnimAttacker
- ldrb r0, [r6]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- mov r1, r8
- strh r0, [r1, 0x20]
- ldrb r0, [r6]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- adds r6, r0, 0
- lsls r6, 24
- lsrs r6, 24
- mov r2, r8
- strh r6, [r2, 0x22]
- ldrh r0, [r2, 0x20]
- mov r9, r0
- mov r1, r9
- lsls r0, r1, 4
- strh r0, [r2, 0x36]
- lsls r0, r6, 4
- strh r0, [r2, 0x38]
- lsls r4, 16
- asrs r4, 16
- movs r1, 0x20
- ldrsh r0, [r2, r1]
- subs r0, r4, r0
- lsls r0, 4
- movs r1, 0xC
- bl __divsi3
- mov r2, r8
- strh r0, [r2, 0x3A]
- lsls r5, 16
- asrs r5, 16
- movs r1, 0x22
- ldrsh r0, [r2, r1]
- subs r0, r5, r0
- lsls r0, 4
- movs r1, 0xC
- bl __divsi3
- mov r2, r8
- strh r0, [r2, 0x3C]
- mov r0, r9
- subs r4, r0
- lsls r4, 16
- asrs r4, 16
- subs r5, r6
- lsls r5, 16
- asrs r5, 16
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8075B30
- lsls r0, 16
- movs r1, 0xC0
- lsls r1, 24
- adds r0, r1
- lsrs r0, 16
- movs r3, 0x80
- lsls r3, 1
- str r0, [sp]
- mov r0, r8
- movs r1, 0x1
- adds r2, r3, 0
- bl sub_8075A1C
- ldr r0, _080B2E1C @ =sub_80B2E20
- mov r2, r8
- str r0, [r2, 0x1C]
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B2E18: .4byte gBattleAnimAttacker
-_080B2E1C: .4byte sub_80B2E20
- thumb_func_end sub_80B2D64
-
- thumb_func_start sub_80B2E20
-sub_80B2E20: @ 80B2E20
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x3A]
- ldrh r1, [r2, 0x36]
- adds r0, r1
- strh r0, [r2, 0x36]
- ldrh r1, [r2, 0x3C]
- ldrh r3, [r2, 0x38]
- adds r1, r3
- strh r1, [r2, 0x38]
- lsls r0, 16
- asrs r0, 20
- strh r0, [r2, 0x20]
- lsls r1, 16
- asrs r3, r1, 20
- strh r3, [r2, 0x22]
- adds r0, 0x2D
- lsls r0, 16
- movs r1, 0xA5
- lsls r1, 17
- cmp r0, r1
- bhi _080B2E5A
- adds r1, r3, 0
- cmp r1, 0x9D
- bgt _080B2E5A
- movs r0, 0x2D
- negs r0, r0
- cmp r1, r0
- bge _080B2E60
-_080B2E5A:
- adds r0, r2, 0
- bl move_anim_8074EE0
-_080B2E60:
- pop {r0}
- bx r0
- thumb_func_end sub_80B2E20
-
- thumb_func_start sub_80B2E64
-sub_80B2E64: @ 80B2E64
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080B2E94 @ =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080B2E9C
- movs r0, 0
- bl GetAnimBankSpriteId
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080B2E98 @ =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- b _080B2EBA
- .align 2, 0
-_080B2E94: .4byte gBattleAnimArgs
-_080B2E98: .4byte gSprites
-_080B2E9C:
- movs r0, 0
- bl GetAnimBankSpriteId
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080B2EC8 @ =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- adds r1, 0x3E
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
-_080B2EBA:
- strb r0, [r1]
- adds r0, r4, 0
- bl DestroyAnimVisualTask
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B2EC8: .4byte gSprites
- thumb_func_end sub_80B2E64
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/ghost.s b/asm/ghost.s
deleted file mode 100644
index 194f728fe..000000000
--- a/asm/ghost.s
+++ /dev/null
@@ -1,4054 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_80B5268
-sub_80B5268: @ 80B5268
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl sub_8075160
- ldr r0, _080B52C4 @ =gBattleAnimArgs
- ldrh r0, [r0, 0x4]
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x20]
- strh r0, [r4, 0x30]
- ldr r5, _080B52C8 @ =gBattleAnimTarget
- ldrb r0, [r5]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x32]
- ldrh r0, [r4, 0x22]
- strh r0, [r4, 0x34]
- ldrb r0, [r5]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x36]
- adds r0, r4, 0
- bl sub_8075678
- ldr r0, _080B52CC @ =sub_80B52D0
- str r0, [r4, 0x1C]
- movs r0, 0x10
- strh r0, [r4, 0x3A]
- movs r1, 0xFD
- lsls r1, 6
- movs r0, 0x50
- bl SetGpuReg
- ldrh r1, [r4, 0x3A]
- movs r0, 0x52
- bl SetGpuReg
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B52C4: .4byte gBattleAnimArgs
-_080B52C8: .4byte gBattleAnimTarget
-_080B52CC: .4byte sub_80B52D0
- thumb_func_end sub_80B5268
-
- thumb_func_start sub_80B52D0
-sub_80B52D0: @ 80B52D0
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80B53C0
- adds r0, r4, 0
- bl sub_80755E0
- lsls r0, 24
- cmp r0, 0
- beq _080B52F0
- ldr r0, _080B52EC @ =sub_80B5344
- str r0, [r4, 0x1C]
- b _080B533A
- .align 2, 0
-_080B52EC: .4byte sub_80B5344
-_080B52F0:
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- movs r1, 0xA
- bl Sin
- ldrh r1, [r4, 0x24]
- adds r0, r1
- strh r0, [r4, 0x24]
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- movs r1, 0xF
- bl Cos
- ldrh r1, [r4, 0x26]
- adds r0, r1
- strh r0, [r4, 0x26]
- ldrh r2, [r4, 0x38]
- adds r0, r2, 0x5
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x38]
- ldrh r0, [r4, 0x38]
- lsls r2, 16
- asrs r2, 16
- cmp r2, 0
- beq _080B5328
- cmp r2, 0xC4
- ble _080B533A
-_080B5328:
- lsls r0, 16
- cmp r0, 0
- ble _080B533A
- ldr r0, _080B5340 @ =gUnknown_2037F24
- movs r1, 0
- ldrsb r1, [r0, r1]
- movs r0, 0xBD
- bl PlaySE12WithPanning
-_080B533A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B5340: .4byte gUnknown_2037F24
- thumb_func_end sub_80B52D0
-
- thumb_func_start sub_80B5344
-sub_80B5344: @ 80B5344
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x1
- strh r0, [r4, 0x2E]
- adds r0, r4, 0
- bl sub_80755E0
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- movs r1, 0xA
- bl Sin
- ldrh r1, [r4, 0x24]
- adds r0, r1
- strh r0, [r4, 0x24]
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- movs r1, 0xF
- bl Cos
- ldrh r1, [r4, 0x26]
- adds r0, r1
- strh r0, [r4, 0x26]
- ldrh r2, [r4, 0x38]
- adds r0, r2, 0x5
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x38]
- ldrh r0, [r4, 0x38]
- lsls r2, 16
- asrs r2, 16
- cmp r2, 0
- beq _080B538A
- cmp r2, 0xC4
- ble _080B5396
-_080B538A:
- lsls r0, 16
- cmp r0, 0
- ble _080B5396
- movs r0, 0xBD
- bl PlaySE
-_080B5396:
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080B53B4
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r0, _080B53B0 @ =sub_8074F88
- str r0, [r4, 0x1C]
- b _080B53BA
- .align 2, 0
-_080B53B0: .4byte sub_8074F88
-_080B53B4:
- adds r0, r4, 0
- bl sub_80B53C0
-_080B53BA:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80B5344
-
- thumb_func_start sub_80B53C0
-sub_80B53C0: @ 80B53C0
- push {r4,lr}
- adds r4, r0, 0
- ldrh r2, [r4, 0x3A]
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- cmp r0, 0xFF
- ble _080B53E4
- adds r0, r2, 0x1
- strh r0, [r4, 0x3A]
- lsls r0, 16
- ldr r1, _080B53E0 @ =0x010d0000
- cmp r0, r1
- bne _080B544A
- movs r0, 0
- b _080B5448
- .align 2, 0
-_080B53E0: .4byte 0x010d0000
-_080B53E4:
- ldrh r1, [r4, 0x3C]
- adds r3, r1, 0x1
- strh r3, [r4, 0x3C]
- movs r0, 0xFF
- ands r0, r1
- cmp r0, 0
- bne _080B544A
- ldr r1, _080B5408 @ =0xffffff00
- ands r1, r3
- strh r1, [r4, 0x3C]
- movs r0, 0x80
- lsls r0, 1
- ands r0, r1
- cmp r0, 0
- beq _080B540C
- adds r0, r2, 0x1
- b _080B540E
- .align 2, 0
-_080B5408: .4byte 0xffffff00
-_080B540C:
- subs r0, r2, 0x1
-_080B540E:
- strh r0, [r4, 0x3A]
- ldrh r0, [r4, 0x3A]
- movs r1, 0x10
- subs r1, r0
- lsls r1, 8
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- movs r2, 0x3A
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _080B5430
- cmp r0, 0x10
- bne _080B543C
-_080B5430:
- ldrh r0, [r4, 0x3C]
- movs r2, 0x80
- lsls r2, 1
- adds r1, r2, 0
- eors r0, r1
- strh r0, [r4, 0x3C]
-_080B543C:
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080B544A
- movs r0, 0x80
- lsls r0, 1
-_080B5448:
- strh r0, [r4, 0x3A]
-_080B544A:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80B53C0
-
- thumb_func_start sub_80B5450
-sub_80B5450: @ 80B5450
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl sub_8075114
- ldr r1, _080B546C @ =sub_80B5470
- str r1, [r4, 0x1C]
- adds r0, r4, 0
- bl _call_via_r1
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B546C: .4byte sub_80B5470
- thumb_func_end sub_80B5450
-
- thumb_func_start sub_80B5470
-sub_80B5470: @ 80B5470
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- movs r1, 0x20
- bl Sin
- strh r0, [r4, 0x24]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- movs r1, 0x8
- bl Cos
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x2E]
- subs r0, 0x41
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x82
- bhi _080B54A4
- ldrb r0, [r4, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r0
- movs r0, 0x8
- b _080B54AE
-_080B54A4:
- ldrb r0, [r4, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r0
- movs r0, 0x4
-_080B54AE:
- orrs r1, r0
- strb r1, [r4, 0x5]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x13
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x32]
- adds r0, 0x50
- strh r0, [r4, 0x32]
- lsls r0, 16
- asrs r0, 24
- ldrh r1, [r4, 0x26]
- adds r0, r1
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x3C]
- adds r0, 0x1
- strh r0, [r4, 0x3C]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3D
- bne _080B54E0
- adds r0, r4, 0
- bl DestroyAnimSprite
-_080B54E0:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80B5470
-
- thumb_func_start sub_80B54E8
-sub_80B54E8: @ 80B54E8
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- movs r1, 0xFD
- lsls r1, 6
- movs r0, 0x50
- bl SetGpuReg
- movs r1, 0x80
- lsls r1, 5
- movs r0, 0x52
- bl SetGpuReg
- movs r0, 0
- bl GetAnimBankSpriteId
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0x1
- bl PrepareBattlerSpriteForRotScale
- adds r0, r4, 0
- movs r1, 0x80
- movs r2, 0x80
- movs r3, 0
- bl SetSpriteRotScale
- ldr r1, _080B5560 @ =gSprites
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r0, r1
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- ldr r1, _080B5564 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r2, 0
- movs r1, 0x80
- strh r1, [r0, 0x8]
- ldr r1, _080B5568 @ =gBattleAnimArgs
- ldrh r1, [r1]
- strh r1, [r0, 0xA]
- strh r2, [r0, 0xC]
- movs r1, 0x10
- strh r1, [r0, 0xE]
- ldr r1, _080B556C @ =sub_80B5570
- str r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B5560: .4byte gSprites
-_080B5564: .4byte gTasks
-_080B5568: .4byte gBattleAnimArgs
-_080B556C: .4byte sub_80B5570
- thumb_func_end sub_80B54E8
-
- thumb_func_start sub_80B5570
-sub_80B5570: @ 80B5570
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080B55C0 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- ldrh r0, [r4, 0x1C]
- adds r0, 0x1
- strh r0, [r4, 0x1C]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- bne _080B55B8
- movs r0, 0
- strh r0, [r4, 0x1C]
- ldrh r1, [r4, 0xC]
- adds r1, 0x1
- strh r1, [r4, 0xC]
- ldrh r0, [r4, 0xE]
- subs r0, 0x1
- strh r0, [r4, 0xE]
- lsls r0, 8
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- cmp r0, 0x9
- bne _080B55B8
- ldr r0, _080B55C4 @ =sub_80B55C8
- str r0, [r4]
-_080B55B8:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B55C0: .4byte gTasks
-_080B55C4: .4byte sub_80B55C8
- thumb_func_end sub_80B5570
-
- thumb_func_start sub_80B55C8
-sub_80B55C8: @ 80B55C8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- ldr r1, _080B55EC @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- ldrh r1, [r4, 0xA]
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- cmp r0, 0
- ble _080B55F0
- subs r0, r1, 0x1
- strh r0, [r4, 0xA]
- b _080B5634
- .align 2, 0
-_080B55EC: .4byte gTasks
-_080B55F0:
- movs r0, 0
- bl GetAnimBankSpriteId
- lsls r0, 24
- lsrs r1, r0, 24
- ldrh r0, [r4, 0x8]
- adds r0, 0x8
- strh r0, [r4, 0x8]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xFF
- bgt _080B5618
- movs r0, 0x8
- ldrsh r2, [r4, r0]
- adds r0, r1, 0
- adds r1, r2, 0
- movs r3, 0
- bl SetSpriteRotScale
- b _080B5634
-_080B5618:
- adds r0, r1, 0
- bl ResetSpriteRotScale
- adds r0, r5, 0
- bl DestroyAnimVisualTask
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
-_080B5634:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80B55C8
-
- thumb_func_start sub_80B563C
-sub_80B563C: @ 80B563C
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x4
- adds r4, r0, 0
- ldrh r5, [r4, 0x20]
- ldrh r6, [r4, 0x22]
- ldr r0, _080B56D8 @ =gBattleAnimAttacker
- mov r8, r0
- ldrb r0, [r0]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- mov r9, r1
- strh r0, [r4, 0x20]
- mov r1, r8
- ldrb r0, [r1]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x22]
- mov r1, r9
- strh r1, [r4, 0x2E]
- ldr r2, _080B56DC @ =gBattleAnimArgs
- ldrh r1, [r2]
- strh r1, [r4, 0x30]
- ldrh r1, [r2, 0x2]
- strh r1, [r4, 0x32]
- ldrh r1, [r2, 0x4]
- strh r1, [r4, 0x34]
- ldrh r1, [r4, 0x20]
- lsls r1, 4
- strh r1, [r4, 0x36]
- lsls r0, 4
- strh r0, [r4, 0x38]
- lsls r5, 16
- asrs r5, 16
- movs r1, 0x20
- ldrsh r0, [r4, r1]
- subs r5, r0
- lsls r5, 4
- movs r0, 0
- ldrsh r1, [r2, r0]
- lsls r1, 1
- adds r0, r5, 0
- str r2, [sp]
- bl __divsi3
- strh r0, [r4, 0x3A]
- lsls r6, 16
- asrs r6, 16
- movs r1, 0x22
- ldrsh r0, [r4, r1]
- subs r6, r0
- lsls r6, 4
- ldr r2, [sp]
- movs r0, 0
- ldrsh r1, [r2, r0]
- lsls r1, 1
- adds r0, r6, 0
- bl __divsi3
- strh r0, [r4, 0x3C]
- ldr r0, _080B56E0 @ =sub_80B56E4
- str r0, [r4, 0x1C]
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B56D8: .4byte gBattleAnimAttacker
-_080B56DC: .4byte gBattleAnimArgs
-_080B56E0: .4byte sub_80B56E4
- thumb_func_end sub_80B563C
-
- thumb_func_start sub_80B56E4
-sub_80B56E4: @ 80B56E4
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- beq _080B572E
- cmp r0, 0x1
- bgt _080B56FA
- cmp r0, 0
- beq _080B5704
- b _080B57F2
-_080B56FA:
- cmp r0, 0x2
- beq _080B5798
- cmp r0, 0x3
- beq _080B57EC
- b _080B57F2
-_080B5704:
- ldrh r0, [r5, 0x3A]
- ldrh r2, [r5, 0x36]
- adds r0, r2
- strh r0, [r5, 0x36]
- ldrh r1, [r5, 0x3C]
- ldrh r2, [r5, 0x38]
- adds r1, r2
- strh r1, [r5, 0x38]
- lsls r0, 16
- asrs r0, 20
- strh r0, [r5, 0x20]
- lsls r1, 16
- asrs r1, 20
- strh r1, [r5, 0x22]
- ldrh r0, [r5, 0x30]
- subs r0, 0x1
- strh r0, [r5, 0x30]
- lsls r0, 16
- cmp r0, 0
- bgt _080B57F2
- b _080B57DE
-_080B572E:
- ldrh r0, [r5, 0x32]
- subs r0, 0x1
- strh r0, [r5, 0x32]
- lsls r0, 16
- cmp r0, 0
- bgt _080B57F2
- ldr r4, _080B5794 @ =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x30]
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x32]
- ldrh r0, [r5, 0x20]
- lsls r0, 4
- strh r0, [r5, 0x36]
- ldrh r0, [r5, 0x22]
- lsls r0, 4
- strh r0, [r5, 0x38]
- movs r1, 0x30
- ldrsh r0, [r5, r1]
- movs r2, 0x20
- ldrsh r1, [r5, r2]
- subs r0, r1
- lsls r0, 4
- movs r2, 0x34
- ldrsh r1, [r5, r2]
- bl __divsi3
- strh r0, [r5, 0x3A]
- movs r1, 0x32
- ldrsh r0, [r5, r1]
- movs r2, 0x22
- ldrsh r1, [r5, r2]
- subs r0, r1
- lsls r0, 4
- movs r2, 0x34
- ldrsh r1, [r5, r2]
- bl __divsi3
- strh r0, [r5, 0x3C]
- b _080B57DE
- .align 2, 0
-_080B5794: .4byte gBattleAnimTarget
-_080B5798:
- ldrh r0, [r5, 0x3A]
- ldrh r1, [r5, 0x36]
- adds r0, r1
- strh r0, [r5, 0x36]
- ldrh r1, [r5, 0x3C]
- ldrh r2, [r5, 0x38]
- adds r1, r2
- strh r1, [r5, 0x38]
- lsls r0, 16
- asrs r0, 20
- strh r0, [r5, 0x20]
- lsls r1, 16
- asrs r1, 20
- strh r1, [r5, 0x22]
- ldrh r0, [r5, 0x34]
- subs r0, 0x1
- strh r0, [r5, 0x34]
- lsls r0, 16
- cmp r0, 0
- bgt _080B57F2
- ldr r4, _080B57E8 @ =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
-_080B57DE:
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
- b _080B57F2
- .align 2, 0
-_080B57E8: .4byte gBattleAnimTarget
-_080B57EC:
- adds r0, r5, 0
- bl move_anim_8074EE0
-_080B57F2:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80B56E4
-
- thumb_func_start sub_80B57F8
-sub_80B57F8: @ 80B57F8
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl sub_8075114
- ldr r0, _080B580C @ =sub_80B5810
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B580C: .4byte sub_80B5810
- thumb_func_end sub_80B57F8
-
- thumb_func_start sub_80B5810
-sub_80B5810: @ 80B5810
- push {r4-r6,lr}
- adds r3, r0, 0
- movs r5, 0
- movs r6, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080B58A6
- adds r1, r3, 0
- adds r1, 0x3E
- ldrb r2, [r1]
- movs r0, 0x4
- ands r0, r2
- adds r4, r1, 0
- cmp r0, 0
- bne _080B583A
- movs r0, 0x4
- orrs r0, r2
- strb r0, [r4]
-_080B583A:
- movs r1, 0x2E
- ldrsh r0, [r3, r1]
- cmp r0, 0
- beq _080B584A
- cmp r0, 0x1
- beq _080B5854
- movs r6, 0x1
- b _080B585E
-_080B584A:
- movs r1, 0x30
- ldrsh r0, [r3, r1]
- cmp r0, 0x2
- bne _080B585E
- b _080B5862
-_080B5854:
- movs r1, 0x30
- ldrsh r0, [r3, r1]
- cmp r0, 0x4
- bne _080B585E
- movs r5, 0x1
-_080B585E:
- cmp r5, 0
- beq _080B5894
-_080B5862:
- ldrb r2, [r4]
- lsls r0, r2, 29
- lsrs r0, 31
- movs r1, 0x1
- eors r1, r0
- lsls r1, 2
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r4]
- ldrh r0, [r3, 0x32]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r3, 0x32]
- strh r1, [r3, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5
- bne _080B58A6
- strh r1, [r3, 0x32]
- ldrh r0, [r3, 0x2E]
- adds r0, 0x1
- strh r0, [r3, 0x2E]
- b _080B58A6
-_080B5894:
- cmp r6, 0
- beq _080B58A0
- adds r0, r3, 0
- bl DestroyAnimSprite
- b _080B58A6
-_080B58A0:
- ldrh r0, [r3, 0x30]
- adds r0, 0x1
- strh r0, [r3, 0x30]
-_080B58A6:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80B5810
-
- thumb_func_start sub_80B58AC
-sub_80B58AC: @ 80B58AC
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, _080B58D8 @ =gTasks
- adds r5, r0, r1
- movs r0, 0x1
- bl duplicate_obj_of_side_rel2move_in_transparent_mode
- movs r6, 0
- movs r1, 0
- strh r0, [r5, 0x8]
- lsls r0, 16
- cmp r0, 0
- bge _080B58DC
- adds r0, r4, 0
- bl DestroyAnimVisualTask
- b _080B59B8
- .align 2, 0
-_080B58D8: .4byte gTasks
-_080B58DC:
- strh r1, [r5, 0xA]
- movs r0, 0xF
- strh r0, [r5, 0xC]
- movs r0, 0x2
- strh r0, [r5, 0xE]
- strh r1, [r5, 0x10]
- movs r1, 0xFD
- lsls r1, 6
- movs r0, 0x50
- bl SetGpuReg
- ldrh r1, [r5, 0xE]
- lsls r1, 8
- ldrh r0, [r5, 0xC]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- ldr r4, _080B5944 @ =gSprites
- movs r0, 0x8
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x50
- strh r1, [r0, 0x2E]
- ldr r0, _080B5948 @ =gBattleAnimTarget
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _080B5950
- movs r0, 0x8
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldr r1, _080B594C @ =0x0000ff70
- strh r1, [r0, 0x30]
- movs r0, 0x8
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x70
- b _080B596E
- .align 2, 0
-_080B5944: .4byte gSprites
-_080B5948: .4byte gBattleAnimTarget
-_080B594C: .4byte 0x0000ff70
-_080B5950:
- movs r0, 0x8
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x90
- strh r1, [r0, 0x30]
- movs r0, 0x8
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldr r1, _080B59C0 @ =0x0000ff90
-_080B596E:
- strh r1, [r0, 0x32]
- ldr r4, _080B59C4 @ =gSprites
- movs r0, 0x8
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r2, 0
- strh r2, [r0, 0x34]
- movs r0, 0x8
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- strh r2, [r0, 0x36]
- movs r0, 0x8
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldr r1, _080B59C8 @ =SpriteCallbackDummy
- bl StoreSpriteCallbackInData6
- movs r0, 0x8
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r4, 0x1C
- adds r0, r4
- ldr r1, _080B59CC @ =sub_8074D00
- str r1, [r0]
- ldr r0, _080B59D0 @ =sub_80B59D4
- str r0, [r5]
-_080B59B8:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B59C0: .4byte 0x0000ff90
-_080B59C4: .4byte gSprites
-_080B59C8: .4byte SpriteCallbackDummy
-_080B59CC: .4byte sub_8074D00
-_080B59D0: .4byte sub_80B59D4
- thumb_func_end sub_80B58AC
-
- thumb_func_start sub_80B59D4
-sub_80B59D4: @ 80B59D4
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, _080B59F8 @ =gTasks
- adds r4, r0, r1
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _080B5A78
- cmp r0, 0x1
- bgt _080B59FC
- cmp r0, 0
- beq _080B5A02
- b _080B5AA4
- .align 2, 0
-_080B59F8: .4byte gTasks
-_080B59FC:
- cmp r0, 0x2
- beq _080B5A9E
- b _080B5AA4
-_080B5A02:
- ldrh r1, [r4, 0xA]
- adds r1, 0x1
- strh r1, [r4, 0xA]
- movs r0, 0x3
- ands r0, r1
- strh r0, [r4, 0x12]
- cmp r0, 0x1
- bne _080B5A20
- ldrh r1, [r4, 0xC]
- movs r2, 0xC
- ldrsh r0, [r4, r2]
- cmp r0, 0
- ble _080B5A20
- subs r0, r1, 0x1
- strh r0, [r4, 0xC]
-_080B5A20:
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- cmp r0, 0x3
- bne _080B5A36
- ldrh r1, [r4, 0xE]
- movs r2, 0xE
- ldrsh r0, [r4, r2]
- cmp r0, 0xF
- bgt _080B5A36
- adds r0, r1, 0x1
- strh r0, [r4, 0xE]
-_080B5A36:
- ldrh r1, [r4, 0xE]
- lsls r1, 8
- ldrh r0, [r4, 0xC]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- ldr r1, [r4, 0xC]
- movs r0, 0x80
- lsls r0, 13
- cmp r1, r0
- bne _080B5AA4
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0x50
- ble _080B5AA4
- movs r2, 0x8
- ldrsh r1, [r4, r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080B5A74 @ =gSprites
- adds r0, r1
- bl obj_delete_but_dont_free_vram
- movs r0, 0x1
- strh r0, [r4, 0x10]
- b _080B5AA4
- .align 2, 0
-_080B5A74: .4byte gSprites
-_080B5A78:
- ldrh r0, [r4, 0x14]
- adds r0, 0x1
- strh r0, [r4, 0x14]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _080B5AA4
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- ldrh r0, [r4, 0x10]
- adds r0, 0x1
- strh r0, [r4, 0x10]
- b _080B5AA4
-_080B5A9E:
- adds r0, r2, 0
- bl DestroyAnimVisualTask
-_080B5AA4:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80B59D4
-
- thumb_func_start sub_80B5AAC
-sub_80B5AAC: @ 80B5AAC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r2, _080B5ACC @ =gTasks
- adds r1, r2
- movs r2, 0
- strh r2, [r1, 0x26]
- ldr r2, _080B5AD0 @ =sub_80B5AD4
- str r2, [r1]
- bl _call_via_r2
- pop {r0}
- bx r0
- .align 2, 0
-_080B5ACC: .4byte gTasks
-_080B5AD0: .4byte sub_80B5AD4
- thumb_func_end sub_80B5AAC
-
- thumb_func_start sub_80B5AD4
-sub_80B5AD4: @ 80B5AD4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, _080B5B0C @ =gTasks
- adds r5, r0, r1
- ldr r0, _080B5B10 @ =gBattleAnimTarget
- ldrb r0, [r0]
- bl sub_80768B0
- lsls r0, 24
- lsrs r6, r0, 24
- movs r1, 0x26
- ldrsh r0, [r5, r1]
- cmp r0, 0x4
- bls _080B5B00
- b _080B5D22
-_080B5B00:
- lsls r0, 2
- ldr r1, _080B5B14 @ =_080B5B18
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080B5B0C: .4byte gTasks
-_080B5B10: .4byte gBattleAnimTarget
-_080B5B14: .4byte _080B5B18
- .align 2, 0
-_080B5B18:
- .4byte _080B5B2C
- .4byte _080B5C2C
- .4byte _080B5C70
- .4byte _080B5CD8
- .4byte _080B5D04
-_080B5B2C:
- ldr r7, _080B5B64 @ =0x00002771
- adds r0, r7, 0
- bl AllocSpritePalette
- lsls r0, 24
- lsrs r0, 24
- movs r2, 0
- mov r8, r2
- strh r0, [r5, 0x24]
- cmp r0, 0xFF
- beq _080B5B5A
- cmp r0, 0xF
- beq _080B5B5A
- movs r0, 0x1
- bl duplicate_obj_of_side_rel2move_in_transparent_mode
- strh r0, [r5, 0x8]
- lsls r0, 16
- cmp r0, 0
- bge _080B5B68
- adds r0, r7, 0
- bl FreeSpritePaletteByTag
-_080B5B5A:
- adds r0, r4, 0
- bl DestroyAnimVisualTask
- b _080B5D28
- .align 2, 0
-_080B5B64: .4byte 0x00002771
-_080B5B68:
- ldr r4, _080B5C14 @ =gSprites
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- ldrh r2, [r5, 0x24]
- lsls r2, 4
- ldrb r3, [r1, 0x5]
- movs r0, 0xF
- ands r0, r3
- orrs r0, r2
- strb r0, [r1, 0x5]
- movs r2, 0x8
- ldrsh r0, [r5, r2]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- ldrb r2, [r1, 0x1]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x1]
- movs r0, 0x8
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r1, [r0, 0x5]
- movs r2, 0xC
- orrs r1, r2
- strb r1, [r0, 0x5]
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r4
- ldr r0, _080B5C18 @ =gBattleSpritesDataPtr
- ldr r1, [r0]
- ldr r0, _080B5C1C @ =gBattleAnimTarget
- ldrb r0, [r0]
- ldr r1, [r1]
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- lsls r1, 31
- adds r2, 0x3E
- lsrs r1, 31
- lsls r1, 2
- ldrb r3, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2]
- mov r2, r8
- strh r2, [r5, 0xA]
- strh r2, [r5, 0xC]
- movs r0, 0x10
- strh r0, [r5, 0xE]
- movs r0, 0x1
- bl GetAnimBankSpriteId
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
- movs r0, 0x22
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r0, [r0, 0x5]
- lsrs r0, 4
- adds r0, 0x10
- lsls r0, 4
- strh r0, [r5, 0x10]
- cmp r6, 0x1
- bne _080B5C20
- movs r1, 0x80
- lsls r1, 2
- b _080B5C24
- .align 2, 0
-_080B5C14: .4byte gSprites
-_080B5C18: .4byte gBattleSpritesDataPtr
-_080B5C1C: .4byte gBattleAnimTarget
-_080B5C20:
- movs r1, 0x80
- lsls r1, 3
-_080B5C24:
- movs r0, 0
- bl ClearGpuRegBits
- b _080B5D22
-_080B5C2C:
- movs r1, 0x24
- ldrsh r0, [r5, r1]
- adds r0, 0x10
- lsls r0, 4
- strh r0, [r5, 0x24]
- movs r2, 0x10
- ldrsh r0, [r5, r2]
- lsls r0, 1
- ldr r1, _080B5C60 @ =gPlttBufferUnfaded
- adds r0, r1
- movs r2, 0x24
- ldrsh r1, [r5, r2]
- lsls r1, 1
- ldr r2, _080B5C64 @ =gPlttBufferFaded
- adds r1, r2
- ldr r2, _080B5C68 @ =0x04000008
- bl CpuSet
- ldrh r0, [r5, 0x10]
- ldr r3, _080B5C6C @ =0x00003c0d
- movs r1, 0x10
- movs r2, 0xA
- bl BlendPalette
- b _080B5D22
- .align 2, 0
-_080B5C60: .4byte gPlttBufferUnfaded
-_080B5C64: .4byte gPlttBufferFaded
-_080B5C68: .4byte 0x04000008
-_080B5C6C: .4byte 0x00003c0d
-_080B5C70:
- ldr r2, _080B5CAC @ =gSprites
- movs r0, 0x22
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x26]
- ldrh r0, [r0, 0x22]
- adds r1, r0
- subs r1, 0x20
- lsls r1, 16
- lsrs r2, r1, 16
- cmp r1, 0
- bge _080B5C90
- movs r2, 0
-_080B5C90:
- cmp r6, 0x1
- bne _080B5CB0
- lsls r0, r2, 24
- lsrs r0, 24
- adds r1, r2, 0
- adds r1, 0x40
- lsls r1, 24
- lsrs r1, 24
- movs r2, 0
- str r2, [sp]
- movs r2, 0x4
- str r2, [sp, 0x4]
- str r6, [sp, 0x8]
- b _080B5CC8
- .align 2, 0
-_080B5CAC: .4byte gSprites
-_080B5CB0:
- lsls r0, r2, 24
- lsrs r0, 24
- adds r1, r2, 0
- adds r1, 0x40
- lsls r1, 24
- lsrs r1, 24
- movs r2, 0
- str r2, [sp]
- movs r2, 0x8
- str r2, [sp, 0x4]
- movs r2, 0x1
- str r2, [sp, 0x8]
-_080B5CC8:
- movs r2, 0x2
- movs r3, 0x6
- bl ScanlineEffect_InitWave
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x1C]
- b _080B5D22
-_080B5CD8:
- cmp r6, 0x1
- bne _080B5CEC
- ldr r1, _080B5CE8 @ =0x00003f42
- movs r0, 0x50
- bl SetGpuReg
- b _080B5CF4
- .align 2, 0
-_080B5CE8: .4byte 0x00003f42
-_080B5CEC:
- ldr r1, _080B5D00 @ =0x00003f44
- movs r0, 0x50
- bl SetGpuReg
-_080B5CF4:
- movs r1, 0x80
- lsls r1, 5
- movs r0, 0x52
- bl SetGpuReg
- b _080B5D22
- .align 2, 0
-_080B5D00: .4byte 0x00003f44
-_080B5D04:
- cmp r6, 0x1
- bne _080B5D14
- movs r1, 0x80
- lsls r1, 2
- movs r0, 0
- bl SetGpuRegBits
- b _080B5D1E
-_080B5D14:
- movs r1, 0x80
- lsls r1, 3
- movs r0, 0
- bl SetGpuRegBits
-_080B5D1E:
- ldr r0, _080B5D34 @ =sub_80B5D38
- str r0, [r5]
-_080B5D22:
- ldrh r0, [r5, 0x26]
- adds r0, 0x1
- strh r0, [r5, 0x26]
-_080B5D28:
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B5D34: .4byte sub_80B5D38
- thumb_func_end sub_80B5AD4
-
- thumb_func_start sub_80B5D38
-sub_80B5D38: @ 80B5D38
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _080B5DC0 @ =gTasks
- adds r4, r0, r1
- ldrh r1, [r4, 0xA]
- adds r1, 0x1
- strh r1, [r4, 0xA]
- movs r0, 0x1
- ands r0, r1
- strh r0, [r4, 0x12]
- cmp r0, 0
- bne _080B5D70
- ldr r1, _080B5DC4 @ =gSineTable
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- lsls r0, 1
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r1, 0x12
- bl __divsi3
- strh r0, [r4, 0xC]
-_080B5D70:
- movs r2, 0x12
- ldrsh r0, [r4, r2]
- cmp r0, 0x1
- bne _080B5D92
- ldr r1, _080B5DC4 @ =gSineTable
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- lsls r0, 1
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r1, 0x12
- bl __divsi3
- movs r1, 0x10
- subs r1, r0
- strh r1, [r4, 0xE]
-_080B5D92:
- ldrh r1, [r4, 0xE]
- lsls r1, 8
- ldrh r0, [r4, 0xC]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- cmp r0, 0x80
- bne _080B5DBA
- movs r0, 0
- strh r0, [r4, 0x26]
- ldr r1, _080B5DC8 @ =sub_80B5DCC
- str r1, [r4]
- adds r0, r5, 0
- bl _call_via_r1
-_080B5DBA:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B5DC0: .4byte gTasks
-_080B5DC4: .4byte gSineTable
-_080B5DC8: .4byte sub_80B5DCC
- thumb_func_end sub_80B5D38
-
- thumb_func_start sub_80B5DCC
-sub_80B5DCC: @ 80B5DCC
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _080B5DFC @ =gTasks
- adds r4, r0, r1
- ldr r0, _080B5E00 @ =gBattleAnimTarget
- ldrb r0, [r0]
- bl sub_80768B0
- lsls r0, 24
- lsrs r6, r0, 24
- movs r1, 0x26
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _080B5E38
- cmp r0, 0x1
- bgt _080B5E04
- cmp r0, 0
- beq _080B5E0A
- b _080B5EB4
- .align 2, 0
-_080B5DFC: .4byte gTasks
-_080B5E00: .4byte gBattleAnimTarget
-_080B5E04:
- cmp r0, 0x2
- beq _080B5E4C
- b _080B5EB4
-_080B5E0A:
- ldr r1, _080B5E28 @ =gScanlineEffect
- movs r0, 0x3
- strb r0, [r1, 0x15]
- movs r0, 0x1
- bl GetAnimBankSpriteId
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x24]
- cmp r6, 0x1
- bne _080B5E2C
- movs r1, 0x80
- lsls r1, 2
- b _080B5E30
- .align 2, 0
-_080B5E28: .4byte gScanlineEffect
-_080B5E2C:
- movs r1, 0x80
- lsls r1, 3
-_080B5E30:
- movs r0, 0
- bl ClearGpuRegBits
- b _080B5EB4
-_080B5E38:
- ldrh r0, [r4, 0x10]
- ldr r3, _080B5E48 @ =0x00003c0d
- movs r1, 0x10
- movs r2, 0
- bl BlendPalette
- b _080B5EB4
- .align 2, 0
-_080B5E48: .4byte 0x00003c0d
-_080B5E4C:
- ldr r3, _080B5E9C @ =gSprites
- movs r0, 0x24
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- bl obj_delete_but_dont_free_vram
- ldr r0, _080B5EA0 @ =0x00002771
- bl FreeSpritePaletteByTag
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- cmp r6, 0x1
- bne _080B5EA4
- movs r1, 0x80
- lsls r1, 2
- movs r0, 0
- bl SetGpuRegBits
- b _080B5EAE
- .align 2, 0
-_080B5E9C: .4byte gSprites
-_080B5EA0: .4byte 0x00002771
-_080B5EA4:
- movs r1, 0x80
- lsls r1, 3
- movs r0, 0
- bl SetGpuRegBits
-_080B5EAE:
- adds r0, r5, 0
- bl DestroyAnimVisualTask
-_080B5EB4:
- ldrh r0, [r4, 0x26]
- adds r0, 0x1
- strh r0, [r4, 0x26]
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80B5DCC
-
- thumb_func_start sub_80B5EC0
-sub_80B5EC0: @ 80B5EC0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r7, r0, 0
- ldr r0, _080B5EFC @ =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080B5F08
- ldr r4, _080B5F00 @ =gBattleAnimAttacker
- ldrb r0, [r4]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r6, r0, 24
- ldrb r0, [r4]
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 8
- movs r2, 0xE0
- lsls r2, 13
- adds r0, r2
- lsrs r5, r0, 16
- ldr r4, _080B5F04 @ =gBattleAnimTarget
- b _080B5F2C
- .align 2, 0
-_080B5EFC: .4byte gBattleAnimArgs
-_080B5F00: .4byte gBattleAnimAttacker
-_080B5F04: .4byte gBattleAnimTarget
-_080B5F08:
- ldr r4, _080B5FD0 @ =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r6, r0, 24
- ldrb r0, [r4]
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 8
- movs r2, 0xE0
- lsls r2, 13
- adds r0, r2
- lsrs r5, r0, 16
- ldr r4, _080B5FD4 @ =gBattleAnimAttacker
-_080B5F2C:
- ldrb r0, [r4]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- ldrb r0, [r4]
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 8
- movs r1, 0xE0
- lsls r1, 13
- adds r0, r1
- lsrs r0, 16
- mov r9, r0
- mov r8, r5
- mov r2, r9
- subs r4, r2, r5
- lsls r4, 16
- lsrs r4, 16
- lsls r0, r6, 4
- strh r0, [r7, 0x2E]
- lsls r0, r5, 4
- strh r0, [r7, 0x30]
- mov r1, r10
- subs r0, r1, r6
- lsls r0, 4
- ldr r5, _080B5FD8 @ =gBattleAnimArgs
- movs r2, 0x2
- ldrsh r1, [r5, r2]
- bl __divsi3
- strh r0, [r7, 0x32]
- lsls r4, 16
- asrs r4, 12
- movs r0, 0x2
- ldrsh r1, [r5, r0]
- adds r0, r4, 0
- bl __divsi3
- strh r0, [r7, 0x34]
- ldrh r0, [r5, 0x2]
- strh r0, [r7, 0x36]
- mov r1, r10
- strh r1, [r7, 0x38]
- mov r2, r9
- strh r2, [r7, 0x3A]
- movs r1, 0x36
- ldrsh r0, [r7, r1]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- strh r0, [r7, 0x3C]
- ldrb r1, [r7, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- movs r1, 0x8
- orrs r0, r1
- strb r0, [r7, 0x5]
- strh r6, [r7, 0x20]
- mov r2, r8
- strh r2, [r7, 0x22]
- ldr r0, _080B5FDC @ =sub_80B5FE0
- str r0, [r7, 0x1C]
- adds r2, r7, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B5FD0: .4byte gBattleAnimTarget
-_080B5FD4: .4byte gBattleAnimAttacker
-_080B5FD8: .4byte gBattleAnimArgs
-_080B5FDC: .4byte sub_80B5FE0
- thumb_func_end sub_80B5EC0
-
- thumb_func_start sub_80B5FE0
-sub_80B5FE0: @ 80B5FE0
- push {r4,lr}
- adds r2, r0, 0
- ldrh r3, [r2, 0x36]
- movs r1, 0x36
- ldrsh r0, [r2, r1]
- cmp r0, 0
- beq _080B6018
- ldrh r0, [r2, 0x32]
- ldrh r4, [r2, 0x2E]
- adds r0, r4
- strh r0, [r2, 0x2E]
- ldrh r1, [r2, 0x34]
- ldrh r4, [r2, 0x30]
- adds r1, r4
- strh r1, [r2, 0x30]
- lsls r0, 16
- asrs r0, 20
- strh r0, [r2, 0x20]
- lsls r1, 16
- asrs r1, 20
- strh r1, [r2, 0x22]
- subs r0, r3, 0x1
- strh r0, [r2, 0x36]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- bne _080B6018
- strh r0, [r2, 0x2E]
-_080B6018:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80B5FE0
-
- thumb_func_start sub_80B6020
-sub_80B6020: @ 80B6020
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _080B6170 @ =gTasks
- adds r1, r0
- str r1, [sp]
- movs r1, 0xFD
- lsls r1, 6
- movs r0, 0x50
- bl SetGpuReg
- movs r1, 0x80
- lsls r1, 5
- movs r0, 0x52
- bl SetGpuReg
- movs r0, 0
- ldr r1, [sp]
- strh r0, [r1, 0x12]
- strh r0, [r1, 0x14]
- strh r0, [r1, 0x16]
- strh r0, [r1, 0x18]
- movs r0, 0x10
- strh r0, [r1, 0x1A]
- ldr r2, _080B6174 @ =gBattleAnimArgs
- ldrh r0, [r2]
- strh r0, [r1, 0x1C]
- ldr r4, _080B6178 @ =gBattleAnimAttacker
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_8076B2C
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x8]
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _080B6090
- b _080B618C
-_080B6090:
- movs r4, 0
-_080B6092:
- lsls r1, r4, 16
- asrs r3, r1, 16
- ldr r0, _080B6178 @ =gBattleAnimAttacker
- ldrb r2, [r0]
- str r1, [sp, 0x10]
- cmp r3, r2
- beq _080B615E
- movs r0, 0x2
- eors r2, r0
- cmp r3, r2
- beq _080B615E
- lsls r0, r4, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _080B615E
- ldr r6, [sp, 0x4]
- ldr r3, [sp, 0x8]
- lsls r0, r3, 16
- asrs r7, r0, 16
- ldr r0, _080B617C @ =gUnknown_83E7668
- adds r1, r6, 0
- adds r2, r7, 0
- movs r3, 0x37
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- cmp r0, 0x40
- beq _080B615E
- adds r0, r4, 0
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- adds r0, r4, 0
- movs r1, 0x3
- bl sub_8076B2C
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- mov r0, r8
- lsls r5, r0, 4
- add r5, r8
- lsls r5, 2
- ldr r1, _080B6180 @ =gSprites
- adds r4, r5, r1
- lsls r0, r6, 4
- strh r0, [r4, 0x2E]
- lsls r0, r7, 4
- strh r0, [r4, 0x30]
- mov r2, r10
- subs r0, r2, r6
- lsls r0, 4
- ldr r3, _080B6174 @ =gBattleAnimArgs
- movs r2, 0x2
- ldrsh r1, [r3, r2]
- bl __divsi3
- strh r0, [r4, 0x32]
- mov r3, r9
- lsls r0, r3, 16
- asrs r0, 16
- subs r0, r7
- lsls r0, 4
- ldr r2, _080B6174 @ =gBattleAnimArgs
- movs r3, 0x2
- ldrsh r1, [r2, r3]
- bl __divsi3
- strh r0, [r4, 0x34]
- ldr r1, _080B6174 @ =gBattleAnimArgs
- ldrh r0, [r1, 0x2]
- strh r0, [r4, 0x36]
- mov r2, r10
- strh r2, [r4, 0x38]
- mov r3, r9
- strh r3, [r4, 0x3A]
- ldr r0, _080B6184 @ =gSprites + 0x1C
- adds r5, r0
- ldr r0, _080B6188 @ =sub_80B5FE0
- str r0, [r5]
- ldr r2, [sp]
- movs r3, 0x20
- ldrsh r1, [r2, r3]
- adds r1, 0xD
- lsls r1, 1
- adds r0, r2, 0
- adds r0, 0x8
- adds r0, r1
- mov r1, r8
- strh r1, [r0]
- ldrh r0, [r2, 0x20]
- adds r0, 0x1
- strh r0, [r2, 0x20]
-_080B615E:
- ldr r2, [sp, 0x10]
- movs r3, 0x80
- lsls r3, 9
- adds r0, r2, r3
- lsrs r4, r0, 16
- asrs r0, 16
- cmp r0, 0x3
- ble _080B6092
- b _080B6210
- .align 2, 0
-_080B6170: .4byte gTasks
-_080B6174: .4byte gBattleAnimArgs
-_080B6178: .4byte gBattleAnimAttacker
-_080B617C: .4byte gUnknown_83E7668
-_080B6180: .4byte gSprites
-_080B6184: .4byte gSprites + 0x1C
-_080B6188: .4byte sub_80B5FE0
-_080B618C:
- ldr r0, _080B6228 @ =gUnknown_83E7668
- ldr r7, [sp, 0x4]
- ldr r2, [sp, 0x8]
- lsls r1, r2, 16
- asrs r1, 16
- str r1, [sp, 0xC]
- adds r1, r7, 0
- ldr r2, [sp, 0xC]
- movs r3, 0x37
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- cmp r0, 0x40
- beq _080B6210
- movs r3, 0x30
- mov r10, r3
- movs r0, 0x28
- mov r9, r0
- ldr r6, _080B622C @ =gSprites
- mov r1, r8
- lsls r5, r1, 4
- add r5, r8
- lsls r5, 2
- adds r4, r5, r6
- lsls r0, r7, 4
- strh r0, [r4, 0x2E]
- ldr r2, [sp, 0xC]
- lsls r0, r2, 4
- strh r0, [r4, 0x30]
- subs r0, r3, r7
- lsls r0, 4
- ldr r3, _080B6230 @ =gBattleAnimArgs
- movs r2, 0x2
- ldrsh r1, [r3, r2]
- bl __divsi3
- strh r0, [r4, 0x32]
- mov r3, r9
- ldr r1, [sp, 0xC]
- subs r0, r3, r1
- lsls r0, 4
- ldr r2, _080B6230 @ =gBattleAnimArgs
- movs r3, 0x2
- ldrsh r1, [r2, r3]
- bl __divsi3
- strh r0, [r4, 0x34]
- ldr r1, _080B6230 @ =gBattleAnimArgs
- ldrh r0, [r1, 0x2]
- strh r0, [r4, 0x36]
- mov r2, r10
- strh r2, [r4, 0x38]
- mov r3, r9
- strh r3, [r4, 0x3A]
- adds r6, 0x1C
- adds r5, r6
- ldr r0, _080B6234 @ =sub_80B5FE0
- str r0, [r5]
- mov r1, r8
- ldr r0, [sp]
- strh r1, [r0, 0x22]
- movs r0, 0x1
- ldr r2, [sp]
- strh r0, [r2, 0x20]
-_080B6210:
- ldr r0, _080B6238 @ =sub_80B623C
- ldr r3, [sp]
- str r0, [r3]
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B6228: .4byte gUnknown_83E7668
-_080B622C: .4byte gSprites
-_080B6230: .4byte gBattleAnimArgs
-_080B6234: .4byte sub_80B5FE0
-_080B6238: .4byte sub_80B623C
- thumb_func_end sub_80B6020
-
- thumb_func_start sub_80B623C
-sub_80B623C: @ 80B623C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _080B6260 @ =gTasks
- adds r4, r0, r1
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- cmp r1, 0x1
- beq _080B62F2
- cmp r1, 0x1
- bgt _080B6264
- cmp r1, 0
- beq _080B6272
- b _080B63AE
- .align 2, 0
-_080B6260: .4byte gTasks
-_080B6264:
- cmp r1, 0x2
- bne _080B626A
- b _080B6384
-_080B626A:
- cmp r1, 0x3
- bne _080B6270
- b _080B6398
-_080B6270:
- b _080B63AE
-_080B6272:
- movs r2, 0x14
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _080B62D8
- ldrh r0, [r4, 0x12]
- adds r0, 0x1
- strh r0, [r4, 0x12]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _080B62D8
- strh r1, [r4, 0x12]
- ldrh r0, [r4, 0x16]
- adds r0, 0x1
- strh r0, [r4, 0x16]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080B62A8
- ldrh r1, [r4, 0x18]
- movs r2, 0x18
- ldrsh r0, [r4, r2]
- cmp r0, 0xF
- bgt _080B62B6
- adds r0, r1, 0x1
- strh r0, [r4, 0x18]
- b _080B62B6
-_080B62A8:
- ldrh r1, [r4, 0x1A]
- movs r2, 0x1A
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _080B62B6
- subs r0, r1, 0x1
- strh r0, [r4, 0x1A]
-_080B62B6:
- ldrh r1, [r4, 0x1A]
- lsls r1, 8
- ldrh r0, [r4, 0x18]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- movs r1, 0x16
- ldrsh r0, [r4, r1]
- cmp r0, 0x17
- ble _080B62D8
- movs r0, 0
- strh r0, [r4, 0x16]
- movs r0, 0x1
- strh r0, [r4, 0x14]
-_080B62D8:
- ldrh r1, [r4, 0x1C]
- movs r2, 0x1C
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _080B62E8
- subs r0, r1, 0x1
- strh r0, [r4, 0x1C]
- b _080B63AE
-_080B62E8:
- movs r1, 0x14
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080B63AE
- b _080B6390
-_080B62F2:
- ldrh r0, [r4, 0x12]
- adds r0, 0x1
- strh r0, [r4, 0x12]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _080B63AE
- movs r0, 0
- strh r0, [r4, 0x12]
- ldrh r0, [r4, 0x16]
- adds r0, 0x1
- strh r0, [r4, 0x16]
- ands r0, r1
- lsls r0, 16
- cmp r0, 0
- beq _080B6322
- ldrh r1, [r4, 0x18]
- movs r2, 0x18
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _080B6330
- subs r0, r1, 0x1
- strh r0, [r4, 0x18]
- b _080B6330
-_080B6322:
- ldrh r1, [r4, 0x1A]
- movs r2, 0x1A
- ldrsh r0, [r4, r2]
- cmp r0, 0xF
- bgt _080B6330
- adds r0, r1, 0x1
- strh r0, [r4, 0x1A]
-_080B6330:
- ldrh r1, [r4, 0x1A]
- lsls r1, 8
- ldrh r0, [r4, 0x18]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- ldr r1, [r4, 0x18]
- movs r0, 0x80
- lsls r0, 13
- cmp r1, r0
- bne _080B63AE
- movs r5, 0
- b _080B6374
-_080B6350:
- adds r1, r5, 0
- adds r1, 0xD
- lsls r1, 1
- adds r0, r4, 0
- adds r0, 0x8
- adds r0, r1
- movs r2, 0
- ldrsh r1, [r0, r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080B6380 @ =gSprites
- adds r0, r1
- bl DestroySprite
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
-_080B6374:
- movs r1, 0x20
- ldrsh r0, [r4, r1]
- cmp r5, r0
- blt _080B6350
- b _080B6390
- .align 2, 0
-_080B6380: .4byte gSprites
-_080B6384:
- ldrh r0, [r4, 0x12]
- adds r0, 0x1
- strh r0, [r4, 0x12]
- lsls r0, 16
- cmp r0, 0
- ble _080B63AE
-_080B6390:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080B63AE
-_080B6398:
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- adds r0, r5, 0
- bl DestroyAnimVisualTask
-_080B63AE:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80B623C
-
- thumb_func_start sub_80B63B4
-sub_80B63B4: @ 80B63B4
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, _080B6400 @ =gUnknown_2022984
- movs r1, 0
- strh r1, [r0]
- ldr r0, _080B6404 @ =gUnknown_2022986
- strh r1, [r0]
- ldr r1, _080B6408 @ =0x00003f3f
- movs r0, 0x48
- bl SetGpuReg
- ldr r1, _080B640C @ =0x00003f1f
- movs r0, 0x4A
- bl SetGpuReg
- movs r0, 0x50
- movs r1, 0xC8
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0x10
- bl SetGpuReg
- ldr r0, _080B6410 @ =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _080B63FC
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _080B6414
-_080B63FC:
- movs r6, 0x28
- b _080B6416
- .align 2, 0
-_080B6400: .4byte gUnknown_2022984
-_080B6404: .4byte gUnknown_2022986
-_080B6408: .4byte 0x00003f3f
-_080B640C: .4byte 0x00003f1f
-_080B6410: .4byte gBattleAnimAttacker
-_080B6414:
- movs r6, 0xC8
-_080B6416:
- ldr r1, _080B6454 @ =gUnknown_2022984
- lsls r3, r6, 16
- asrs r2, r3, 16
- lsls r0, r2, 8
- orrs r0, r2
- strh r0, [r1]
- ldr r1, _080B6458 @ =gUnknown_2022986
- movs r5, 0x28
- ldr r0, _080B645C @ =0x00002828
- strh r0, [r1]
- lsrs r3, 16
- movs r1, 0xF0
- subs r1, r2
- movs r4, 0x48
- ldr r2, _080B6460 @ =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r2
- strh r3, [r0, 0xA]
- strh r1, [r0, 0xC]
- strh r5, [r0, 0xE]
- strh r4, [r0, 0x10]
- strh r6, [r0, 0x12]
- strh r5, [r0, 0x14]
- ldr r1, _080B6464 @ =sub_80B6468
- str r1, [r0]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B6454: .4byte gUnknown_2022984
-_080B6458: .4byte gUnknown_2022986
-_080B645C: .4byte 0x00002828
-_080B6460: .4byte gTasks
-_080B6464: .4byte sub_80B6468
- thumb_func_end sub_80B63B4
-
- thumb_func_start sub_80B6468
-sub_80B6468: @ 80B6468
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080B6588 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- ldrh r1, [r4, 0x8]
- adds r0, r1, 0x1
- strh r0, [r4, 0x8]
- ldrh r5, [r4, 0xA]
- ldrh r7, [r4, 0xC]
- ldrh r0, [r4, 0xE]
- mov r10, r0
- ldrh r2, [r4, 0x10]
- str r2, [sp, 0xC]
- ldrh r0, [r4, 0x12]
- ldrh r2, [r4, 0x14]
- mov r8, r2
- lsls r1, 16
- asrs r6, r1, 16
- cmp r6, 0xF
- ble _080B64A4
- b _080B6594
-_080B64A4:
- lsls r0, 16
- asrs r0, 16
- bl __floatsidf
- str r0, [sp, 0x10]
- str r1, [sp, 0x14]
- lsls r0, r5, 16
- asrs r0, 16
- bl __floatsidf
- ldr r2, _080B658C @ =0x3fb00000
- ldr r3, _080B658C+4 @ =0x00000000
- bl __muldf3
- adds r5, r1, 0
- adds r4, r0, 0
- adds r0, r6, 0
- bl __floatsidf
- str r0, [sp, 0x18]
- str r1, [sp, 0x1C]
- adds r1, r5, 0
- adds r0, r4, 0
- ldr r2, [sp, 0x18]
- ldr r3, [sp, 0x1C]
- bl __muldf3
- adds r3, r1, 0
- adds r2, r0, 0
- ldr r0, [sp, 0x10]
- ldr r1, [sp, 0x14]
- bl __subdf3
- bl __fixunsdfsi
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- lsls r0, r7, 16
- asrs r0, 16
- bl __floatsidf
- ldr r2, _080B658C @ =0x3fb00000
- ldr r3, _080B658C+4 @ =0x00000000
- bl __muldf3
- ldr r2, [sp, 0x18]
- ldr r3, [sp, 0x1C]
- bl __muldf3
- adds r3, r1, 0
- adds r2, r0, 0
- ldr r0, [sp, 0x10]
- ldr r1, [sp, 0x14]
- bl __adddf3
- bl __fixunsdfsi
- lsls r0, 16
- lsrs r7, r0, 16
- mov r1, r8
- lsls r0, r1, 16
- asrs r0, 16
- bl __floatsidf
- adds r5, r1, 0
- adds r4, r0, 0
- mov r2, r10
- lsls r0, r2, 16
- asrs r0, 16
- bl __floatsidf
- ldr r2, _080B658C @ =0x3fb00000
- ldr r3, _080B658C+4 @ =0x00000000
- bl __muldf3
- ldr r2, [sp, 0x18]
- ldr r3, [sp, 0x1C]
- bl __muldf3
- adds r3, r1, 0
- adds r2, r0, 0
- adds r1, r5, 0
- adds r0, r4, 0
- bl __subdf3
- bl __fixunsdfsi
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r1, [sp, 0xC]
- lsls r0, r1, 16
- asrs r0, 16
- bl __floatsidf
- ldr r2, _080B658C @ =0x3fb00000
- ldr r3, _080B658C+4 @ =0x00000000
- bl __muldf3
- ldr r2, [sp, 0x18]
- ldr r3, [sp, 0x1C]
- bl __muldf3
- adds r3, r1, 0
- adds r2, r0, 0
- adds r1, r5, 0
- adds r0, r4, 0
- bl __adddf3
- bl __fixunsdfsi
- lsls r0, 16
- lsrs r5, r0, 16
- b _080B65C2
- .align 2, 0
-_080B6588: .4byte gTasks
-_080B658C: .double 0.0625
-_080B6594:
- movs r2, 0
- mov r9, r2
- movs r7, 0xF0
- movs r6, 0
- movs r5, 0x70
- str r6, [sp]
- str r6, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0
- movs r3, 0
- bl sub_8075BE8
- lsls r0, 16
- lsrs r0, 16
- str r6, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, _080B65E4 @ =sub_80B65F0
- str r0, [r4]
-_080B65C2:
- ldr r1, _080B65E8 @ =gUnknown_2022984
- mov r2, r9
- lsls r0, r2, 8
- orrs r7, r0
- strh r7, [r1]
- ldr r1, _080B65EC @ =gUnknown_2022986
- lsls r0, r6, 8
- orrs r5, r0
- strh r5, [r1]
- add sp, 0x20
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B65E4: .4byte sub_80B65F0
-_080B65E8: .4byte gUnknown_2022984
-_080B65EC: .4byte gUnknown_2022986
- thumb_func_end sub_80B6468
-
- thumb_func_start sub_80B65F0
-sub_80B65F0: @ 80B65F0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _080B663C @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _080B6636
- ldr r0, _080B6640 @ =gUnknown_2022984
- strh r1, [r0]
- ldr r0, _080B6644 @ =gUnknown_2022986
- strh r1, [r0]
- ldr r4, _080B6648 @ =0x00003f3f
- movs r0, 0x48
- adds r1, r4, 0
- bl SetGpuReg
- movs r0, 0x4A
- adds r1, r4, 0
- bl SetGpuReg
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- adds r0, r5, 0
- bl DestroyAnimVisualTask
-_080B6636:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B663C: .4byte gPaletteFade
-_080B6640: .4byte gUnknown_2022984
-_080B6644: .4byte gUnknown_2022986
-_080B6648: .4byte 0x00003f3f
- thumb_func_end sub_80B65F0
-
- thumb_func_start sub_80B664C
-sub_80B664C: @ 80B664C
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl sub_8075160
- ldr r0, _080B6678 @ =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _080B6680
- movs r2, 0x18
- ldr r3, _080B667C @ =0x0000fffe
- ldrb r0, [r4, 0x3]
- movs r1, 0x3F
- negs r1, r1
- ands r1, r0
- movs r0, 0x10
- orrs r1, r0
- strb r1, [r4, 0x3]
- b _080B6684
- .align 2, 0
-_080B6678: .4byte gBattleAnimAttacker
-_080B667C: .4byte 0x0000fffe
-_080B6680:
- ldr r2, _080B66A0 @ =0x0000ffe8
- movs r3, 0x2
-_080B6684:
- lsls r0, r2, 16
- asrs r0, 16
- ldrh r1, [r4, 0x20]
- adds r0, r1
- strh r0, [r4, 0x20]
- strh r3, [r4, 0x30]
- movs r0, 0x3C
- strh r0, [r4, 0x2E]
- ldr r0, _080B66A4 @ =sub_80B66A8
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B66A0: .4byte 0x0000ffe8
-_080B66A4: .4byte sub_80B66A8
- thumb_func_end sub_80B664C
-
- thumb_func_start sub_80B66A8
-sub_80B66A8: @ 80B66A8
- push {r4,lr}
- adds r3, r0, 0
- ldrh r1, [r3, 0x2E]
- movs r2, 0x2E
- ldrsh r0, [r3, r2]
- cmp r0, 0
- ble _080B66BA
- subs r0, r1, 0x1
- b _080B671E
-_080B66BA:
- ldrh r0, [r3, 0x30]
- ldrh r4, [r3, 0x24]
- adds r1, r0, r4
- strh r1, [r3, 0x24]
- adds r0, r1, 0x7
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xE
- bls _080B6720
- ldrh r0, [r3, 0x20]
- adds r0, r1
- strh r0, [r3, 0x20]
- movs r0, 0
- strh r0, [r3, 0x24]
- ldrh r2, [r3, 0x4]
- lsls r1, r2, 22
- lsrs r1, 22
- adds r1, 0x8
- ldr r4, _080B670C @ =0x000003ff
- adds r0, r4, 0
- ands r1, r0
- ldr r0, _080B6710 @ =0xfffffc00
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, 0x4]
- ldrh r0, [r3, 0x32]
- adds r0, 0x1
- strh r0, [r3, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- bne _080B671C
- movs r0, 0x1E
- strh r0, [r3, 0x2E]
- ldr r0, _080B6714 @ =sub_8074C44
- str r0, [r3, 0x1C]
- ldr r1, _080B6718 @ =sub_80B6728
- adds r0, r3, 0
- bl StoreSpriteCallbackInData6
- b _080B6720
- .align 2, 0
-_080B670C: .4byte 0x000003ff
-_080B6710: .4byte 0xfffffc00
-_080B6714: .4byte sub_8074C44
-_080B6718: .4byte sub_80B6728
-_080B671C:
- movs r0, 0x28
-_080B671E:
- strh r0, [r3, 0x2E]
-_080B6720:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80B66A8
-
- thumb_func_start sub_80B6728
-sub_80B6728: @ 80B6728
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0x2E
- ldrsh r5, [r4, r0]
- cmp r5, 0
- bne _080B6752
- movs r1, 0xFD
- lsls r1, 6
- movs r0, 0x50
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0x10
- bl SetGpuReg
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- strh r5, [r4, 0x30]
- strh r5, [r4, 0x32]
- b _080B6796
-_080B6752:
- ldrh r1, [r4, 0x30]
- movs r2, 0x30
- ldrsh r0, [r4, r2]
- cmp r0, 0x1
- bgt _080B6762
- adds r0, r1, 0x1
- strh r0, [r4, 0x30]
- b _080B6796
-_080B6762:
- movs r0, 0
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- movs r1, 0x10
- subs r1, r0
- lsls r0, 8
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0x10
- bne _080B6796
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r0, _080B679C @ =sub_80B67A0
- str r0, [r4, 0x1C]
-_080B6796:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B679C: .4byte sub_80B67A0
- thumb_func_end sub_80B6728
-
- thumb_func_start sub_80B67A0
-sub_80B67A0: @ 80B67A0
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- ldr r0, _080B67CC @ =gUnknown_2022984
- movs r1, 0
- strh r1, [r0]
- ldr r0, _080B67D0 @ =gUnknown_2022986
- strh r1, [r0]
- adds r0, r4, 0
- bl DestroyAnimSprite
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B67CC: .4byte gUnknown_2022984
-_080B67D0: .4byte gUnknown_2022986
- thumb_func_end sub_80B67A0
-
- thumb_func_start sub_80B67D4
-sub_80B67D4: @ 80B67D4
- push {r4-r7,lr}
- adds r5, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- movs r1, 0xC
- bl Sin
- strh r0, [r5, 0x24]
- ldr r0, _080B683C @ =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080B67F8
- ldrh r0, [r5, 0x24]
- negs r0, r0
- strh r0, [r5, 0x24]
-_080B67F8:
- ldrh r0, [r5, 0x2E]
- adds r0, 0x6
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r5, 0x2E]
- movs r1, 0x80
- lsls r1, 1
- adds r0, r1, 0
- ldrh r1, [r5, 0x30]
- adds r0, r1
- strh r0, [r5, 0x30]
- lsls r0, 16
- asrs r0, 24
- negs r0, r0
- strh r0, [r5, 0x26]
- ldrh r0, [r5, 0x3C]
- adds r0, 0x1
- strh r0, [r5, 0x3C]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- bne _080B6844
- ldr r0, _080B6840 @ =0x0000050b
- strh r0, [r5, 0x3A]
- movs r1, 0xFD
- lsls r1, 6
- movs r0, 0x50
- bl SetGpuReg
- ldrh r1, [r5, 0x3A]
- movs r0, 0x52
- bl SetGpuReg
- b _080B689C
- .align 2, 0
-_080B683C: .4byte gBattleAnimAttacker
-_080B6840: .4byte 0x0000050b
-_080B6844:
- cmp r0, 0x1E
- ble _080B689C
- ldrh r0, [r5, 0x32]
- adds r0, 0x1
- strh r0, [r5, 0x32]
- ldrh r1, [r5, 0x3A]
- lsls r0, r1, 16
- asrs r0, 24
- lsls r0, 16
- movs r6, 0xFF
- ands r6, r1
- movs r1, 0x80
- lsls r1, 9
- adds r0, r1
- lsrs r7, r0, 16
- cmp r7, 0x10
- bls _080B6868
- movs r7, 0x10
-_080B6868:
- subs r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r0, 0
- bge _080B6874
- movs r6, 0
-_080B6874:
- lsls r4, r7, 8
- orrs r4, r6
- lsls r1, r4, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- strh r4, [r5, 0x3A]
- cmp r7, 0x10
- bne _080B689C
- cmp r6, 0
- bne _080B689C
- adds r2, r5, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r0, _080B68A4 @ =sub_80B68A8
- str r0, [r5, 0x1C]
-_080B689C:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B68A4: .4byte sub_80B68A8
- thumb_func_end sub_80B67D4
-
- thumb_func_start sub_80B68A8
-sub_80B68A8: @ 80B68A8
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- adds r0, r4, 0
- bl DestroyAnimSprite
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80B68A8
-
- thumb_func_start sub_80B68C8
-sub_80B68C8: @ 80B68C8
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r0, _080B6960 @ =gTasks
- adds r4, r0
- movs r6, 0
- strh r6, [r4, 0x8]
- movs r0, 0x10
- mov r8, r0
- mov r0, r8
- strh r0, [r4, 0xA]
- ldr r5, _080B6964 @ =gBattleAnimAttacker
- ldrb r0, [r5]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x1A]
- ldrb r0, [r5]
- bl sub_807492C
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x1C]
- ldrb r0, [r5]
- movs r1, 0x1
- bl sub_8076B2C
- lsls r0, 16
- asrs r1, r0, 16
- lsrs r0, 31
- adds r1, r0
- asrs r1, 1
- adds r1, 0x8
- strh r1, [r4, 0x1E]
- strh r6, [r4, 0x16]
- ldrb r0, [r5]
- bl sub_8076884
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x12]
- ldrb r0, [r5]
- bl GetBattlerSpriteSubpriority
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x2
- strh r0, [r4, 0x14]
- strh r6, [r4, 0xE]
- mov r0, r8
- strh r0, [r4, 0x10]
- movs r1, 0xFD
- lsls r1, 6
- movs r0, 0x50
- bl SetGpuReg
- movs r1, 0x80
- lsls r1, 5
- movs r0, 0x52
- bl SetGpuReg
- strh r6, [r4, 0x18]
- ldr r0, _080B6968 @ =sub_80B696C
- str r0, [r4]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B6960: .4byte gTasks
-_080B6964: .4byte gBattleAnimAttacker
-_080B6968: .4byte sub_80B696C
- thumb_func_end sub_80B68C8
-
- thumb_func_start sub_80B696C
-sub_80B696C: @ 80B696C
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- ldr r1, _080B6990 @ =gTasks
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x5
- bls _080B6986
- b _080B6AF2
-_080B6986:
- lsls r0, 2
- ldr r1, _080B6994 @ =_080B6998
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080B6990: .4byte gTasks
-_080B6994: .4byte _080B6998
- .align 2, 0
-_080B6998:
- .4byte _080B69B0
- .4byte _080B6A20
- .4byte _080B6A62
- .4byte _080B6A76
- .4byte _080B6ACC
- .4byte _080B6ADC
-_080B69B0:
- movs r6, 0
-_080B69B2:
- movs r2, 0x1A
- ldrsh r1, [r4, r2]
- movs r0, 0x1C
- ldrsh r2, [r4, r0]
- ldrb r3, [r4, 0x14]
- ldr r0, _080B6A14 @ =gUnknown_83E76E0
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x40
- beq _080B6A06
- ldr r1, _080B6A18 @ =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r5, r0, r1
- strh r7, [r5, 0x2E]
- ldr r0, _080B6A1C @ =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- movs r1, 0
- lsls r0, 24
- cmp r0, 0
- bne _080B69E8
- movs r1, 0x1
-_080B69E8:
- strh r1, [r5, 0x30]
- movs r0, 0x2A
- muls r0, r6
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r5, 0x32]
- ldrh r0, [r4, 0x1E]
- strh r0, [r5, 0x34]
- lsls r0, r6, 1
- adds r0, r6
- lsls r0, 1
- strh r0, [r5, 0x38]
- ldrh r0, [r4, 0x16]
- adds r0, 0x1
- strh r0, [r4, 0x16]
-_080B6A06:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x5
- bls _080B69B2
- b _080B6AD4
- .align 2, 0
-_080B6A14: .4byte gUnknown_83E76E0
-_080B6A18: .4byte gSprites
-_080B6A1C: .4byte gBattleAnimAttacker
-_080B6A20:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080B6A3E
- ldrh r1, [r4, 0xE]
- movs r2, 0xE
- ldrsh r0, [r4, r2]
- cmp r0, 0xD
- bgt _080B6A4C
- adds r0, r1, 0x1
- strh r0, [r4, 0xE]
- b _080B6A4C
-_080B6A3E:
- ldrh r1, [r4, 0x10]
- movs r2, 0x10
- ldrsh r0, [r4, r2]
- cmp r0, 0x4
- ble _080B6A4C
- subs r0, r1, 0x1
- strh r0, [r4, 0x10]
-_080B6A4C:
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- ldrh r2, [r4, 0xE]
- ldrh r1, [r4, 0x10]
- cmp r0, 0xE
- bne _080B6ABC
- cmp r1, 0x4
- bne _080B6ABC
- movs r0, 0
- strh r0, [r4, 0xA]
- b _080B6AB6
-_080B6A62:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1E
- ble _080B6AF2
- movs r0, 0
- strh r0, [r4, 0xA]
- b _080B6AD4
-_080B6A76:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080B6A94
- ldrh r1, [r4, 0xE]
- movs r2, 0xE
- ldrsh r0, [r4, r2]
- cmp r0, 0
- ble _080B6AA2
- subs r0, r1, 0x1
- strh r0, [r4, 0xE]
- b _080B6AA2
-_080B6A94:
- ldrh r1, [r4, 0x10]
- movs r2, 0x10
- ldrsh r0, [r4, r2]
- cmp r0, 0xF
- bgt _080B6AA2
- adds r0, r1, 0x1
- strh r0, [r4, 0x10]
-_080B6AA2:
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- ldrh r2, [r4, 0xE]
- ldrh r1, [r4, 0x10]
- cmp r0, 0
- bne _080B6ABC
- cmp r1, 0x10
- bne _080B6ABC
- movs r0, 0x1
- strh r0, [r4, 0x18]
-_080B6AB6:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080B6ABC:
- lsls r1, 8
- orrs r1, r2
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- b _080B6AF2
-_080B6ACC:
- movs r2, 0x16
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _080B6AF2
-_080B6AD4:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080B6AF2
-_080B6ADC:
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- adds r0, r7, 0
- bl DestroyAnimVisualTask
-_080B6AF2:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80B696C
-
- thumb_func_start sub_80B6AF8
-sub_80B6AF8: @ 80B6AF8
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080B6B0A
- ldrh r0, [r4, 0x32]
- adds r0, 0x2
- b _080B6B0E
-_080B6B0A:
- ldrh r0, [r4, 0x32]
- subs r0, 0x2
-_080B6B0E:
- strh r0, [r4, 0x32]
- ldrh r1, [r4, 0x32]
- movs r0, 0xFF
- ands r0, r1
- strh r0, [r4, 0x32]
- movs r2, 0x32
- ldrsh r0, [r4, r2]
- movs r2, 0x34
- ldrsh r1, [r4, r2]
- bl Sin
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x32]
- subs r0, 0x41
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x7E
- bhi _080B6B50
- ldr r2, _080B6B4C @ =gTasks
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrh r1, [r0, 0x12]
- adds r1, 0x1
- movs r0, 0x3
- ands r1, r0
- b _080B6B64
- .align 2, 0
-_080B6B4C: .4byte gTasks
-_080B6B50:
- ldr r2, _080B6BB8 @ =gTasks
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r2, 0x3
- ldrb r1, [r0, 0x12]
- ands r1, r2
-_080B6B64:
- lsls r1, 2
- ldrb r2, [r4, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r4, 0x5]
- ldrh r0, [r4, 0x38]
- adds r0, 0x1
- strh r0, [r4, 0x38]
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- lsls r0, 3
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x3A]
- movs r2, 0x3A
- ldrsh r0, [r4, r2]
- movs r1, 0x7
- bl Sin
- strh r0, [r4, 0x26]
- ldr r2, _080B6BB8 @ =gTasks
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r1, r0, r2
- movs r2, 0x18
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _080B6BB2
- ldrh r0, [r1, 0x16]
- subs r0, 0x1
- strh r0, [r1, 0x16]
- adds r0, r4, 0
- bl DestroySprite
-_080B6BB2:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B6BB8: .4byte gTasks
- thumb_func_end sub_80B6AF8
-
- thumb_func_start sub_80B6BBC
-sub_80B6BBC: @ 80B6BBC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r2, _080B6BDC @ =gTasks
- adds r1, r2
- movs r2, 0
- strh r2, [r1, 0x26]
- ldr r2, _080B6BE0 @ =sub_80B6BE4
- str r2, [r1]
- bl _call_via_r2
- pop {r0}
- bx r0
- .align 2, 0
-_080B6BDC: .4byte gTasks
-_080B6BE0: .4byte sub_80B6BE4
- thumb_func_end sub_80B6BBC
-
- thumb_func_start sub_80B6BE4
-sub_80B6BE4: @ 80B6BE4
- push {r4-r6,lr}
- sub sp, 0x1C
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _080B6C18 @ =gTasks
- adds r6, r1, r0
- ldr r0, _080B6C1C @ =gBattleAnimAttacker
- ldrb r0, [r0]
- bl sub_80768B0
- lsls r0, 24
- lsrs r4, r0, 24
- movs r1, 0x26
- ldrsh r0, [r6, r1]
- cmp r0, 0x7
- bls _080B6C0C
- b _080B6F1E
-_080B6C0C:
- lsls r0, 2
- ldr r1, _080B6C20 @ =_080B6C24
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080B6C18: .4byte gTasks
-_080B6C1C: .4byte gBattleAnimAttacker
-_080B6C20: .4byte _080B6C24
- .align 2, 0
-_080B6C24:
- .4byte _080B6C44
- .4byte _080B6CCC
- .4byte _080B6D28
- .4byte _080B6D8C
- .4byte _080B6E04
- .4byte _080B6E6C
- .4byte _080B6E82
- .4byte _080B6EEC
-_080B6C44:
- movs r0, 0x1
- movs r1, 0x4
- movs r2, 0x2
- bl SetAnimBgAttribute
- movs r0, 0x2
- movs r1, 0x4
- movs r2, 0x1
- bl SetAnimBgAttribute
- movs r0, 0
- strh r0, [r6, 0xA]
- strh r0, [r6, 0xC]
- movs r0, 0x10
- strh r0, [r6, 0xE]
- movs r0, 0
- bl GetAnimBankSpriteId
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r6, 0x10]
- ldr r3, _080B6CC8 @ =gSprites
- movs r2, 0x10
- ldrsh r1, [r6, r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrb r0, [r0, 0x5]
- lsls r0, 28
- lsrs r0, 30
- strh r0, [r6, 0x12]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrb r0, [r0, 0x5]
- lsrs r0, 4
- adds r0, 0x10
- lsls r0, 4
- strh r0, [r6, 0x14]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrb r2, [r0, 0x1]
- movs r1, 0xD
- negs r1, r1
- ands r1, r2
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0, 0x1]
- movs r0, 0x10
- ldrsh r1, [r6, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrb r1, [r0, 0x5]
- movs r2, 0xC
- orrs r1, r2
- strb r1, [r0, 0x5]
- movs r0, 0x80
- strh r0, [r6, 0x16]
- b _080B6F1E
- .align 2, 0
-_080B6CC8: .4byte gSprites
-_080B6CCC:
- ldrh r0, [r6, 0xA]
- adds r0, 0x1
- strh r0, [r6, 0xA]
- movs r5, 0x1
- ands r5, r0
- cmp r5, 0
- beq _080B6CDC
- b _080B6F24
-_080B6CDC:
- ldrh r0, [r6, 0x14]
- ldrb r2, [r6, 0xC]
- ldr r4, _080B6D08 @ =0x000066e0
- movs r1, 0x10
- adds r3, r4, 0
- bl BlendPalette
- ldrh r0, [r6, 0x16]
- ldrb r2, [r6, 0xC]
- movs r1, 0x10
- adds r3, r4, 0
- bl BlendPalette
- ldrh r1, [r6, 0xC]
- movs r2, 0xC
- ldrsh r0, [r6, r2]
- cmp r0, 0xB
- bgt _080B6D0C
- adds r0, r1, 0x1
- strh r0, [r6, 0xC]
- b _080B6F24
- .align 2, 0
-_080B6D08: .4byte 0x000066e0
-_080B6D0C:
- strh r5, [r6, 0xA]
- strh r5, [r6, 0xC]
- ldr r1, _080B6D24 @ =0x00003f44
- movs r0, 0x50
- bl SetGpuReg
- movs r1, 0x80
- lsls r1, 5
- movs r0, 0x52
- bl SetGpuReg
- b _080B6F1E
- .align 2, 0
-_080B6D24: .4byte 0x00003f44
-_080B6D28:
- movs r0, 0x2
- movs r1, 0x3
- movs r2, 0x1
- bl SetAnimBgAttribute
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl SetAnimBgAttribute
- ldr r0, _080B6D7C @ =gBattle_BG2_X
- movs r1, 0
- strh r1, [r0]
- ldr r4, _080B6D80 @ =gBattle_BG2_Y
- strh r1, [r4]
- movs r0, 0x18
- movs r1, 0
- bl SetGpuReg
- ldrh r1, [r4]
- movs r0, 0x1A
- bl SetGpuReg
- add r0, sp, 0xC
- movs r1, 0x2
- bl sub_80752C8
- add r0, sp, 0xC
- ldrb r0, [r0, 0x9]
- ldr r1, _080B6D84 @ =gFile_graphics_battle_anims_backgrounds_scary_face_sheet
- add r2, sp, 0xC
- ldrh r2, [r2, 0xA]
- bl sub_80753B4
- ldr r0, _080B6D88 @ =gFile_graphics_battle_anims_backgrounds_scary_face_palette
- add r1, sp, 0xC
- ldrb r1, [r1, 0x8]
- lsls r1, 4
- movs r2, 0x20
- bl LoadCompressedPalette
- b _080B6F1E
- .align 2, 0
-_080B6D7C: .4byte gBattle_BG2_X
-_080B6D80: .4byte gBattle_BG2_Y
-_080B6D84: .4byte gFile_graphics_battle_anims_backgrounds_scary_face_sheet
-_080B6D88: .4byte gFile_graphics_battle_anims_backgrounds_scary_face_palette
-_080B6D8C:
- add r0, sp, 0xC
- movs r1, 0x2
- bl sub_80752C8
- movs r0, 0x80
- lsls r0, 6
- bl AllocZeroed
- adds r1, r0, 0
- ldr r5, _080B6DFC @ =gMonSpritesGfxPtr
- ldr r0, [r5]
- movs r4, 0xBE
- lsls r4, 1
- adds r0, r4
- str r1, [r0]
- ldr r0, _080B6E00 @ =gFile_graphics_battle_anims_backgrounds_scary_face_player_tilemap
- bl LZDecompressWram
- add r0, sp, 0xC
- ldrb r0, [r0, 0x8]
- ldr r1, [r5]
- adds r1, r4
- ldr r1, [r1]
- movs r2, 0x80
- lsls r2, 1
- movs r3, 0
- bl sub_80730C0
- add r0, sp, 0xC
- ldrb r0, [r0, 0x9]
- ldr r1, [r5]
- adds r1, r4
- ldr r1, [r1]
- movs r2, 0x20
- str r2, [sp]
- str r2, [sp, 0x4]
- movs r2, 0x11
- str r2, [sp, 0x8]
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBufferRect_ChangePalette
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- ldr r0, [r5]
- adds r0, r4
- ldr r0, [r0]
- bl Free
- ldr r0, [r5]
- adds r0, r4
- movs r1, 0
- str r1, [r0]
- b _080B6F1E
- .align 2, 0
-_080B6DFC: .4byte gMonSpritesGfxPtr
-_080B6E00: .4byte gFile_graphics_battle_anims_backgrounds_scary_face_player_tilemap
-_080B6E04:
- ldrh r0, [r6, 0xA]
- adds r0, 0x1
- strh r0, [r6, 0xA]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080B6E14
- b _080B6F24
-_080B6E14:
- ldrh r1, [r6, 0xC]
- adds r1, 0x1
- strh r1, [r6, 0xC]
- ldrh r0, [r6, 0xE]
- subs r0, 0x1
- strh r0, [r6, 0xE]
- lsls r0, 8
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- movs r1, 0xE
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _080B6F24
- strh r0, [r6, 0xA]
- strh r0, [r6, 0xC]
- movs r0, 0x10
- strh r0, [r6, 0xE]
- ldr r1, _080B6E68 @ =0x00003f42
- movs r0, 0x50
- bl SetGpuReg
- movs r1, 0x80
- lsls r1, 5
- movs r0, 0x52
- bl SetGpuReg
- movs r0, 0x1
- movs r1, 0x4
- movs r2, 0x1
- bl SetAnimBgAttribute
- movs r0, 0x2
- movs r1, 0x4
- movs r2, 0x2
- bl SetAnimBgAttribute
- b _080B6F1E
- .align 2, 0
-_080B6E68: .4byte 0x00003f42
-_080B6E6C:
- cmp r4, 0x1
- bne _080B6E76
- movs r1, 0x80
- lsls r1, 2
- b _080B6E7A
-_080B6E76:
- movs r1, 0x80
- lsls r1, 3
-_080B6E7A:
- movs r0, 0
- bl ClearGpuRegBits
- b _080B6F1E
-_080B6E82:
- ldr r2, _080B6EC0 @ =gSprites
- movs r0, 0x10
- ldrsh r1, [r6, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x26]
- ldrh r0, [r0, 0x22]
- adds r1, r0
- subs r1, 0x20
- lsls r1, 16
- lsrs r2, r1, 16
- cmp r1, 0
- bge _080B6EA2
- movs r2, 0
-_080B6EA2:
- cmp r4, 0x1
- bne _080B6EC4
- lsls r0, r2, 24
- lsrs r0, 24
- adds r1, r2, 0
- adds r1, 0x40
- lsls r1, 24
- lsrs r1, 24
- movs r2, 0
- str r2, [sp]
- movs r2, 0x4
- str r2, [sp, 0x4]
- str r4, [sp, 0x8]
- b _080B6EDE
- .align 2, 0
-_080B6EC0: .4byte gSprites
-_080B6EC4:
- lsls r0, r2, 24
- lsrs r0, 24
- adds r1, r2, 0
- adds r1, 0x40
- lsls r1, 24
- lsrs r1, 24
- movs r2, 0
- str r2, [sp]
- movs r2, 0x8
- str r2, [sp, 0x4]
- movs r2, 0x1
- str r2, [sp, 0x8]
- movs r2, 0x4
-_080B6EDE:
- movs r3, 0x8
- bl ScanlineEffect_InitWave
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r6, 0x1C]
- b _080B6F1E
-_080B6EEC:
- ldrh r0, [r6, 0x16]
- ldr r3, _080B6F08 @ =0x000077ff
- movs r1, 0x10
- movs r2, 0xC
- bl BlendPalette
- cmp r4, 0x1
- bne _080B6F0C
- movs r1, 0x80
- lsls r1, 2
- movs r0, 0
- bl SetGpuRegBits
- b _080B6F16
- .align 2, 0
-_080B6F08: .4byte 0x000077ff
-_080B6F0C:
- movs r1, 0x80
- lsls r1, 3
- movs r0, 0
- bl SetGpuRegBits
-_080B6F16:
- ldr r0, _080B6F2C @ =sub_80B6F30
- str r0, [r6]
- movs r0, 0
- strh r0, [r6, 0x26]
-_080B6F1E:
- ldrh r0, [r6, 0x26]
- adds r0, 0x1
- strh r0, [r6, 0x26]
-_080B6F24:
- add sp, 0x1C
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B6F2C: .4byte sub_80B6F30
- thumb_func_end sub_80B6BE4
-
- thumb_func_start sub_80B6F30
-sub_80B6F30: @ 80B6F30
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _080B6FB8 @ =gTasks
- adds r4, r0, r1
- ldrh r1, [r4, 0xA]
- adds r1, 0x1
- strh r1, [r4, 0xA]
- movs r0, 0x1
- ands r0, r1
- strh r0, [r4, 0x18]
- cmp r0, 0
- bne _080B6F68
- ldr r1, _080B6FBC @ =gSineTable
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- lsls r0, 1
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r1, 0x12
- bl __divsi3
- strh r0, [r4, 0xC]
-_080B6F68:
- movs r2, 0x18
- ldrsh r0, [r4, r2]
- cmp r0, 0x1
- bne _080B6F8A
- ldr r1, _080B6FBC @ =gSineTable
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- lsls r0, 1
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r1, 0x12
- bl __divsi3
- movs r1, 0x10
- subs r1, r0
- strh r1, [r4, 0xE]
-_080B6F8A:
- ldrh r1, [r4, 0xE]
- lsls r1, 8
- ldrh r0, [r4, 0xC]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- cmp r0, 0x80
- bne _080B6FB2
- movs r0, 0
- strh r0, [r4, 0x26]
- ldr r1, _080B6FC0 @ =sub_80B6FC4
- str r1, [r4]
- adds r0, r5, 0
- bl _call_via_r1
-_080B6FB2:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B6FB8: .4byte gTasks
-_080B6FBC: .4byte gSineTable
-_080B6FC0: .4byte sub_80B6FC4
- thumb_func_end sub_80B6F30
-
- thumb_func_start sub_80B6FC4
-sub_80B6FC4: @ 80B6FC4
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- ldr r1, _080B6FE8 @ =gTasks
- adds r6, r0, r1
- movs r1, 0x26
- ldrsh r0, [r6, r1]
- cmp r0, 0x5
- bls _080B6FDE
- b _080B7148
-_080B6FDE:
- lsls r0, 2
- ldr r1, _080B6FEC @ =_080B6FF0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080B6FE8: .4byte gTasks
-_080B6FEC: .4byte _080B6FF0
- .align 2, 0
-_080B6FF0:
- .4byte _080B7008
- .4byte _080B7024
- .4byte _080B7044
- .4byte _080B707C
- .4byte _080B709C
- .4byte _080B70E8
-_080B7008:
- ldr r1, _080B701C @ =gScanlineEffect
- movs r0, 0x3
- strb r0, [r1, 0x15]
- ldrh r0, [r6, 0x16]
- ldr r3, _080B7020 @ =0x000066e0
- movs r1, 0x10
- movs r2, 0xC
- bl BlendPalette
- b _080B7148
- .align 2, 0
-_080B701C: .4byte gScanlineEffect
-_080B7020: .4byte 0x000066e0
-_080B7024:
- ldr r1, _080B7040 @ =0x00003f44
- movs r0, 0x50
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0x10
- bl SetGpuReg
- movs r1, 0
- movs r0, 0x10
- strh r0, [r6, 0xC]
- strh r1, [r6, 0xE]
- b _080B7148
- .align 2, 0
-_080B7040: .4byte 0x00003f44
-_080B7044:
- ldrh r1, [r6, 0xC]
- subs r1, 0x1
- strh r1, [r6, 0xC]
- ldrh r0, [r6, 0xE]
- adds r0, 0x1
- strh r0, [r6, 0xE]
- lsls r0, 8
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- movs r2, 0xE
- ldrsh r0, [r6, r2]
- cmp r0, 0xF
- ble _080B714E
- movs r0, 0x1
- movs r1, 0x4
- movs r2, 0x2
- bl SetAnimBgAttribute
- movs r0, 0x2
- movs r1, 0x4
- movs r2, 0x2
- bl SetAnimBgAttribute
- b _080B7148
-_080B707C:
- movs r0, 0x2
- bl sub_8075358
- movs r0, 0
- movs r1, 0x90
- movs r2, 0x20
- bl FillPalette
- movs r0, 0x2
- movs r1, 0x3
- movs r2, 0
- bl SetAnimBgAttribute
- movs r0, 0xC
- strh r0, [r6, 0xA]
- b _080B7148
-_080B709C:
- ldrh r0, [r6, 0x14]
- ldrb r2, [r6, 0xA]
- ldr r4, _080B70C8 @ =0x000066e0
- movs r1, 0x10
- adds r3, r4, 0
- bl BlendPalette
- ldrh r0, [r6, 0x16]
- ldrb r2, [r6, 0xA]
- movs r1, 0x10
- adds r3, r4, 0
- bl BlendPalette
- ldrh r0, [r6, 0xA]
- movs r2, 0xA
- ldrsh r1, [r6, r2]
- cmp r1, 0
- beq _080B70CC
- subs r0, 0x1
- strh r0, [r6, 0xA]
- b _080B714E
- .align 2, 0
-_080B70C8: .4byte 0x000066e0
-_080B70CC:
- strh r1, [r6, 0xA]
- ldr r1, _080B70E4 @ =0x00003f44
- movs r0, 0x50
- bl SetGpuReg
- movs r1, 0x80
- lsls r1, 5
- movs r0, 0x52
- bl SetGpuReg
- b _080B7148
- .align 2, 0
-_080B70E4: .4byte 0x00003f44
-_080B70E8:
- ldr r5, _080B7154 @ =gSprites
- movs r1, 0x10
- ldrsh r0, [r6, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- movs r0, 0x3
- ldrb r2, [r6, 0x12]
- ands r2, r0
- lsls r2, 2
- ldrb r4, [r1, 0x5]
- movs r3, 0xD
- negs r3, r3
- adds r0, r3, 0
- ands r0, r4
- orrs r0, r2
- strb r0, [r1, 0x5]
- movs r2, 0x10
- ldrsh r1, [r6, r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrb r1, [r0, 0x1]
- ands r3, r1
- strb r3, [r0, 0x1]
- movs r0, 0x1
- movs r1, 0x4
- movs r2, 0x1
- bl SetAnimBgAttribute
- movs r0, 0x2
- movs r1, 0x4
- movs r2, 0x1
- bl SetAnimBgAttribute
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- adds r0, r7, 0
- bl DestroyAnimVisualTask
-_080B7148:
- ldrh r0, [r6, 0x26]
- adds r0, 0x1
- strh r0, [r6, 0x26]
-_080B714E:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B7154: .4byte gSprites
- thumb_func_end sub_80B6FC4
-
- thumb_func_start sub_80B7158
-sub_80B7158: @ 80B7158
- adds r3, r0, 0
- adds r3, 0x3E
- ldrb r1, [r3]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r3]
- ldr r2, _080B719C @ =gBattlerSpriteIds
- ldr r1, _080B71A0 @ =gBattleAnimAttacker
- ldrb r1, [r1]
- adds r1, r2
- ldrb r1, [r1]
- strh r1, [r0, 0x38]
- movs r1, 0x80
- strh r1, [r0, 0x2E]
- movs r1, 0xA
- strh r1, [r0, 0x30]
- ldr r2, _080B71A4 @ =gBattleAnimArgs
- ldrh r1, [r2]
- strh r1, [r0, 0x32]
- ldrh r1, [r2, 0x2]
- strh r1, [r0, 0x34]
- ldr r1, _080B71A8 @ =sub_80B71B0
- str r1, [r0, 0x1C]
- ldr r2, _080B71AC @ =gSprites
- movs r3, 0x38
- ldrsh r1, [r0, r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x22]
- adds r1, 0x8
- strh r1, [r0, 0x22]
- bx lr
- .align 2, 0
-_080B719C: .4byte gBattlerSpriteIds
-_080B71A0: .4byte gBattleAnimAttacker
-_080B71A4: .4byte gBattleAnimArgs
-_080B71A8: .4byte sub_80B71B0
-_080B71AC: .4byte gSprites
- thumb_func_end sub_80B7158
-
- thumb_func_start sub_80B71B0
-sub_80B71B0: @ 80B71B0
- push {r4,r5,lr}
- adds r5, r0, 0
- ldrh r0, [r5, 0x34]
- movs r1, 0x34
- ldrsh r3, [r5, r1]
- cmp r3, 0
- beq _080B7218
- subs r0, 0x1
- strh r0, [r5, 0x34]
- movs r2, 0x2E
- ldrsh r0, [r5, r2]
- movs r2, 0x30
- ldrsh r1, [r5, r2]
- bl Sin
- ldr r4, _080B7210 @ =gSprites
- movs r1, 0x38
- ldrsh r2, [r5, r1]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r4
- strh r0, [r1, 0x24]
- movs r2, 0x2E
- ldrsh r0, [r5, r2]
- movs r2, 0x30
- ldrsh r1, [r5, r2]
- bl Cos
- movs r1, 0x38
- ldrsh r2, [r5, r1]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r4
- strh r0, [r1, 0x26]
- ldrh r0, [r5, 0x32]
- ldrh r2, [r5, 0x2E]
- adds r1, r0, r2
- strh r1, [r5, 0x2E]
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0xFF
- ble _080B724C
- ldr r2, _080B7214 @ =0xffffff00
- adds r0, r1, r2
- strh r0, [r5, 0x2E]
- b _080B724C
- .align 2, 0
-_080B7210: .4byte gSprites
-_080B7214: .4byte 0xffffff00
-_080B7218:
- ldr r2, _080B7254 @ =gSprites
- movs r0, 0x38
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strh r3, [r0, 0x24]
- movs r0, 0x38
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strh r3, [r0, 0x26]
- movs r0, 0x38
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x22]
- subs r1, 0x8
- strh r1, [r0, 0x22]
- ldr r0, _080B7258 @ =move_anim_8074EE0
- str r0, [r5, 0x1C]
-_080B724C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B7254: .4byte gSprites
-_080B7258: .4byte move_anim_8074EE0
- thumb_func_end sub_80B71B0
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/ground.s b/asm/ground.s
deleted file mode 100644
index 3df01daf8..000000000
--- a/asm/ground.s
+++ /dev/null
@@ -1,1787 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_80B8B6C
-sub_80B8B6C: @ 80B8B6C
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, _080B8BC4 @ =gBattleAnimAttacker
- ldrb r0, [r5]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x20]
- ldrb r0, [r5]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x22]
- movs r0, 0x14
- strh r0, [r4, 0x2E]
- ldr r5, _080B8BC8 @ =gBattleAnimTarget
- ldrb r0, [r5]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x32]
- ldrb r0, [r5]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x36]
- ldr r0, _080B8BCC @ =0x0000ffd8
- strh r0, [r4, 0x38]
- adds r0, r4, 0
- bl sub_8075068
- ldr r0, _080B8BD0 @ =sub_80B8BD4
- str r0, [r4, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B8BC4: .4byte gBattleAnimAttacker
-_080B8BC8: .4byte gBattleAnimTarget
-_080B8BCC: .4byte 0x0000ffd8
-_080B8BD0: .4byte sub_80B8BD4
- thumb_func_end sub_80B8B6C
-
- thumb_func_start sub_80B8BD4
-sub_80B8BD4: @ 80B8BD4
- push {r4,r5,lr}
- adds r5, r0, 0
- bl AnimateBallThrow
- lsls r0, 24
- cmp r0, 0
- beq _080B8C28
- ldrh r0, [r5, 0x24]
- ldrh r1, [r5, 0x20]
- adds r0, r1
- movs r1, 0
- strh r0, [r5, 0x20]
- ldrh r0, [r5, 0x26]
- ldrh r2, [r5, 0x22]
- adds r0, r2
- strh r0, [r5, 0x22]
- strh r1, [r5, 0x26]
- strh r1, [r5, 0x24]
- movs r0, 0x14
- strh r0, [r5, 0x2E]
- ldr r4, _080B8C30 @ =gBattleAnimAttacker
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x32]
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x36]
- movs r0, 0x28
- strh r0, [r5, 0x38]
- adds r0, r5, 0
- bl sub_8075068
- ldr r0, _080B8C34 @ =sub_80B8C38
- str r0, [r5, 0x1C]
-_080B8C28:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B8C30: .4byte gBattleAnimAttacker
-_080B8C34: .4byte sub_80B8C38
- thumb_func_end sub_80B8BD4
-
- thumb_func_start sub_80B8C38
-sub_80B8C38: @ 80B8C38
- push {r4,lr}
- adds r4, r0, 0
- bl AnimateBallThrow
- lsls r0, 24
- cmp r0, 0
- beq _080B8C4C
- adds r0, r4, 0
- bl DestroyAnimSprite
-_080B8C4C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80B8C38
-
- thumb_func_start sub_80B8C54
-sub_80B8C54: @ 80B8C54
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r1, 0x1
- bl sub_8075114
- ldr r0, _080B8CB4 @ =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080B8C74
- ldr r1, _080B8CB8 @ =gBattleAnimArgs
- ldrh r0, [r1, 0x4]
- negs r0, r0
- strh r0, [r1, 0x4]
-_080B8C74:
- ldr r4, _080B8CB8 @ =gBattleAnimArgs
- ldrh r0, [r4, 0x8]
- strh r0, [r6, 0x2E]
- ldr r5, _080B8CBC @ =gBattleAnimTarget
- ldrb r0, [r5]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x4]
- adds r0, r1
- strh r0, [r6, 0x32]
- ldrb r0, [r5]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r4, [r4, 0x6]
- adds r0, r4
- strh r0, [r6, 0x36]
- ldr r0, _080B8CC0 @ =StartAnimLinearTranslation
- str r0, [r6, 0x1C]
- ldr r1, _080B8CC4 @ =DestroyAnimSprite
- adds r0, r6, 0
- bl StoreSpriteCallbackInData6
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B8CB4: .4byte gBattleAnimAttacker
-_080B8CB8: .4byte gBattleAnimArgs
-_080B8CBC: .4byte gBattleAnimTarget
-_080B8CC0: .4byte StartAnimLinearTranslation
-_080B8CC4: .4byte DestroyAnimSprite
- thumb_func_end sub_80B8C54
-
- thumb_func_start sub_80B8CC8
-sub_80B8CC8: @ 80B8CC8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- movs r1, 0x1
- bl sub_8075160
- ldr r4, _080B8D48 @ =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8074844
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_8074844
- lsls r0, 24
- lsrs r7, r0, 24
- bl Random
- movs r4, 0x1F
- adds r5, r4, 0
- ands r5, r0
- bl Random
- ands r4, r0
- adds r1, r5, 0
- cmp r1, 0x10
- ble _080B8D10
- movs r0, 0x10
- subs r0, r1
- lsls r0, 16
- lsrs r5, r0, 16
-_080B8D10:
- lsls r0, r4, 16
- asrs r1, r0, 16
- cmp r1, 0x10
- ble _080B8D20
- movs r0, 0x10
- subs r0, r1
- lsls r0, 16
- lsrs r4, r0, 16
-_080B8D20:
- ldr r0, _080B8D4C @ =gBattleAnimArgs
- ldrh r0, [r0, 0x4]
- strh r0, [r6, 0x2E]
- mov r1, r8
- adds r0, r1, r5
- strh r0, [r6, 0x32]
- adds r0, r7, r4
- strh r0, [r6, 0x36]
- ldr r0, _080B8D50 @ =StartAnimLinearTranslation
- str r0, [r6, 0x1C]
- ldr r1, _080B8D54 @ =move_anim_8074EE0
- adds r0, r6, 0
- bl StoreSpriteCallbackInData6
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B8D48: .4byte gBattleAnimTarget
-_080B8D4C: .4byte gBattleAnimArgs
-_080B8D50: .4byte StartAnimLinearTranslation
-_080B8D54: .4byte move_anim_8074EE0
- thumb_func_end sub_80B8CC8
-
- thumb_func_start sub_80B8D58
-sub_80B8D58: @ 80B8D58
- push {r4-r6,lr}
- adds r5, r0, 0
- ldrh r2, [r5, 0x4]
- lsls r1, r2, 22
- lsrs r1, 22
- adds r1, 0x1
- ldr r3, _080B8DB8 @ =0x000003ff
- adds r0, r3, 0
- ands r1, r0
- ldr r0, _080B8DBC @ =0xfffffc00
- ands r0, r2
- orrs r0, r1
- strh r0, [r5, 0x4]
- ldr r6, _080B8DC0 @ =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _080B8DCC
- ldr r4, _080B8DC4 @ =gBattleAnimAttacker
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r2, [r6, 0x2]
- adds r0, r2
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r3, [r6, 0x4]
- adds r0, r3
- strh r0, [r5, 0x22]
- movs r1, 0x2
- ldrsh r0, [r6, r1]
- movs r2, 0x1
- negs r2, r2
- adds r1, r2, 0
- cmp r0, 0
- ble _080B8DB2
- movs r1, 0x1
-_080B8DB2:
- strh r1, [r5, 0x2E]
- ldr r0, _080B8DC8 @ =sub_80B8DE8
- b _080B8DDA
- .align 2, 0
-_080B8DB8: .4byte 0x000003ff
-_080B8DBC: .4byte 0xfffffc00
-_080B8DC0: .4byte gBattleAnimArgs
-_080B8DC4: .4byte gBattleAnimAttacker
-_080B8DC8: .4byte sub_80B8DE8
-_080B8DCC:
- ldrh r0, [r6, 0x2]
- strh r0, [r5, 0x20]
- ldrh r0, [r6, 0x4]
- strh r0, [r5, 0x22]
- negs r0, r0
- strh r0, [r5, 0x26]
- ldr r0, _080B8DE4 @ =sub_80B8E24
-_080B8DDA:
- str r0, [r5, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B8DE4: .4byte sub_80B8E24
- thumb_func_end sub_80B8D58
-
- thumb_func_start sub_80B8DE8
-sub_80B8DE8: @ 80B8DE8
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x30]
- adds r0, 0x1
- strh r0, [r2, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _080B8E06
- movs r0, 0
- strh r0, [r2, 0x30]
- ldrh r0, [r2, 0x2E]
- ldrh r1, [r2, 0x20]
- adds r0, r1
- strh r0, [r2, 0x20]
-_080B8E06:
- ldrh r0, [r2, 0x22]
- subs r0, 0x4
- strh r0, [r2, 0x22]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x4
- negs r1, r1
- cmp r0, r1
- bge _080B8E1E
- adds r0, r2, 0
- bl DestroyAnimSprite
-_080B8E1E:
- pop {r0}
- bx r0
- thumb_func_end sub_80B8DE8
-
- thumb_func_start sub_80B8E24
-sub_80B8E24: @ 80B8E24
- push {lr}
- adds r3, r0, 0
- movs r0, 0x2E
- ldrsh r1, [r3, r0]
- cmp r1, 0
- beq _080B8E36
- cmp r1, 0x1
- beq _080B8E4C
- b _080B8E8E
-_080B8E36:
- ldrh r0, [r3, 0x26]
- adds r0, 0x4
- strh r0, [r3, 0x26]
- lsls r0, 16
- cmp r0, 0
- blt _080B8E8E
- strh r1, [r3, 0x26]
- ldrh r0, [r3, 0x2E]
- adds r0, 0x1
- strh r0, [r3, 0x2E]
- b _080B8E8E
-_080B8E4C:
- ldrh r0, [r3, 0x30]
- adds r0, 0x1
- strh r0, [r3, 0x30]
- lsls r0, 16
- cmp r0, 0
- ble _080B8E8E
- movs r0, 0
- strh r0, [r3, 0x30]
- movs r1, 0x3E
- adds r1, r3
- mov r12, r1
- ldrb r2, [r1]
- lsls r0, r2, 29
- lsrs r0, 31
- movs r1, 0x1
- eors r1, r0
- lsls r1, 2
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- mov r1, r12
- strb r0, [r1]
- ldrh r0, [r3, 0x32]
- adds r0, 0x1
- strh r0, [r3, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xA
- bne _080B8E8E
- adds r0, r3, 0
- bl DestroyAnimSprite
-_080B8E8E:
- pop {r0}
- bx r0
- thumb_func_end sub_80B8E24
-
- thumb_func_start sub_80B8E94
-sub_80B8E94: @ 80B8E94
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, _080B8EB4 @ =gTasks
- adds r1, r0, r1
- ldr r0, _080B8EB8 @ =gBattleAnimArgs
- movs r3, 0
- ldrsh r0, [r0, r3]
- cmp r0, 0
- bne _080B8EC0
- ldr r0, _080B8EBC @ =sub_80B8ED4
- b _080B8EC2
- .align 2, 0
-_080B8EB4: .4byte gTasks
-_080B8EB8: .4byte gBattleAnimArgs
-_080B8EBC: .4byte sub_80B8ED4
-_080B8EC0:
- ldr r0, _080B8ED0 @ =sub_80B908C
-_080B8EC2:
- str r0, [r1]
- ldr r1, [r1]
- adds r0, r2, 0
- bl _call_via_r1
- pop {r0}
- bx r0
- .align 2, 0
-_080B8ED0: .4byte sub_80B908C
- thumb_func_end sub_80B8E94
-
- thumb_func_start sub_80B8ED4
-sub_80B8ED4: @ 80B8ED4
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, _080B8EF8 @ =gTasks
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x4
- bls _080B8EEE
- b _080B9082
-_080B8EEE:
- lsls r0, 2
- ldr r1, _080B8EFC @ =_080B8F00
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080B8EF8: .4byte gTasks
-_080B8EFC: .4byte _080B8F00
- .align 2, 0
-_080B8F00:
- .4byte _080B8F14
- .4byte _080B8F9C
- .4byte _080B8FAC
- .4byte _080B9050
- .4byte _080B9064
-_080B8F14:
- movs r0, 0
- bl GetAnimBankSpriteId
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x1C]
- ldr r0, _080B8F3C @ =gBattleAnimAttacker
- ldrb r0, [r0]
- bl sub_80768B0
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x1E]
- cmp r0, 0x1
- bne _080B8F48
- ldr r0, _080B8F40 @ =gBattle_BG1_X
- ldrh r0, [r0]
- strh r0, [r4, 0x20]
- ldr r0, _080B8F44 @ =gBattle_BG1_Y
- b _080B8F50
- .align 2, 0
-_080B8F3C: .4byte gBattleAnimAttacker
-_080B8F40: .4byte gBattle_BG1_X
-_080B8F44: .4byte gBattle_BG1_Y
-_080B8F48:
- ldr r0, _080B8F8C @ =gBattle_BG2_X
- ldrh r0, [r0]
- strh r0, [r4, 0x20]
- ldr r0, _080B8F90 @ =gBattle_BG2_Y
-_080B8F50:
- ldrh r0, [r0]
- strh r0, [r4, 0x22]
- ldr r0, _080B8F94 @ =gBattleAnimAttacker
- ldrb r0, [r0]
- bl sub_807492C
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- subs r1, 0x20
- strh r1, [r4, 0x24]
- adds r0, 0x20
- strh r0, [r4, 0x26]
- cmp r1, 0
- bge _080B8F72
- movs r0, 0
- strh r0, [r4, 0x24]
-_080B8F72:
- ldr r2, _080B8F98 @ =gSprites
- movs r3, 0x1C
- ldrsh r1, [r4, r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- b _080B9056
- .align 2, 0
-_080B8F8C: .4byte gBattle_BG2_X
-_080B8F90: .4byte gBattle_BG2_Y
-_080B8F94: .4byte gBattleAnimAttacker
-_080B8F98: .4byte gSprites
-_080B8F9C:
- ldrb r0, [r4, 0x1E]
- movs r2, 0x24
- ldrsh r1, [r4, r2]
- movs r3, 0x26
- ldrsh r2, [r4, r3]
- bl sub_80B92B8
- b _080B9056
-_080B8FAC:
- ldrh r0, [r4, 0xC]
- adds r0, 0x6
- movs r1, 0x7F
- ands r0, r1
- strh r0, [r4, 0xC]
- ldrh r0, [r4, 0x10]
- adds r0, 0x1
- strh r0, [r4, 0x10]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- ble _080B8FCE
- movs r0, 0
- strh r0, [r4, 0x10]
- ldrh r0, [r4, 0xE]
- adds r0, 0x1
- strh r0, [r4, 0xE]
-_080B8FCE:
- ldr r1, _080B8FF0 @ =gSineTable
- movs r2, 0xC
- ldrsh r0, [r4, r2]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- lsls r0, 16
- asrs r0, 20
- ldrh r3, [r4, 0xE]
- adds r2, r0, r3
- strh r2, [r4, 0x12]
- movs r1, 0x1E
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- bne _080B8FF8
- ldr r1, _080B8FF4 @ =gBattle_BG1_Y
- b _080B8FFA
- .align 2, 0
-_080B8FF0: .4byte gSineTable
-_080B8FF4: .4byte gBattle_BG1_Y
-_080B8FF8:
- ldr r1, _080B901C @ =gBattle_BG2_Y
-_080B8FFA:
- ldrh r0, [r4, 0x22]
- subs r0, r2
- strh r0, [r1]
- movs r2, 0x12
- ldrsh r0, [r4, r2]
- cmp r0, 0x3F
- ble _080B9082
- ldrh r0, [r4, 0x24]
- movs r1, 0x78
- subs r2, r1, r0
- strh r2, [r4, 0x12]
- movs r3, 0x1E
- ldrsh r0, [r4, r3]
- cmp r0, 0x1
- bne _080B9024
- ldr r1, _080B9020 @ =gBattle_BG1_Y
- b _080B9026
- .align 2, 0
-_080B901C: .4byte gBattle_BG2_Y
-_080B9020: .4byte gBattle_BG1_Y
-_080B9024:
- ldr r1, _080B9048 @ =gBattle_BG2_Y
-_080B9026:
- ldrh r0, [r4, 0x22]
- subs r0, r2
- strh r0, [r1]
- ldr r2, _080B904C @ =gSprites
- movs r1, 0x1C
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrh r2, [r1, 0x20]
- movs r3, 0x88
- lsls r3, 1
- adds r0, r3, 0
- subs r0, r2
- strh r0, [r1, 0x24]
- b _080B9056
- .align 2, 0
-_080B9048: .4byte gBattle_BG2_Y
-_080B904C: .4byte gSprites
-_080B9050:
- ldr r1, _080B9060 @ =gScanlineEffect
- movs r0, 0x3
- strb r0, [r1, 0x15]
-_080B9056:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080B9082
- .align 2, 0
-_080B9060: .4byte gScanlineEffect
-_080B9064:
- adds r0, r2, 0
- bl DestroyAnimVisualTask
- ldr r2, _080B9088 @ =gSprites
- movs r0, 0x1C
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_080B9082:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B9088: .4byte gSprites
- thumb_func_end sub_80B8ED4
-
- thumb_func_start sub_80B908C
-sub_80B908C: @ 80B908C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r0, 0
- bl GetAnimBankSpriteId
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080B90CC @ =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- adds r3, r1, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r3]
- movs r4, 0
- strh r4, [r1, 0x24]
- strh r4, [r1, 0x26]
- ldr r0, _080B90D0 @ =gBattleAnimAttacker
- ldrb r0, [r0]
- bl sub_80768B0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080B90D8
- ldr r0, _080B90D4 @ =gBattle_BG1_Y
- b _080B90DA
- .align 2, 0
-_080B90CC: .4byte gSprites
-_080B90D0: .4byte gBattleAnimAttacker
-_080B90D4: .4byte gBattle_BG1_Y
-_080B90D8:
- ldr r0, _080B90E8 @ =gBattle_BG2_Y
-_080B90DA:
- strh r4, [r0]
- adds r0, r5, 0
- bl DestroyAnimVisualTask
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B90E8: .4byte gBattle_BG2_Y
- thumb_func_end sub_80B908C
-
- thumb_func_start sub_80B90EC
-sub_80B90EC: @ 80B90EC
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, _080B910C @ =gTasks
- adds r1, r0, r1
- ldr r0, _080B9110 @ =gBattleAnimArgs
- movs r3, 0
- ldrsh r0, [r0, r3]
- cmp r0, 0
- bne _080B9118
- ldr r0, _080B9114 @ =sub_80B912C
- b _080B911A
- .align 2, 0
-_080B910C: .4byte gTasks
-_080B9110: .4byte gBattleAnimArgs
-_080B9114: .4byte sub_80B912C
-_080B9118:
- ldr r0, _080B9128 @ =sub_80B91B0
-_080B911A:
- str r0, [r1]
- ldr r1, [r1]
- adds r0, r2, 0
- bl _call_via_r1
- pop {r0}
- bx r0
- .align 2, 0
-_080B9128: .4byte sub_80B91B0
- thumb_func_end sub_80B90EC
-
- thumb_func_start sub_80B912C
-sub_80B912C: @ 80B912C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, _080B914C @ =gTasks
- adds r4, r0, r1
- movs r0, 0x8
- ldrsh r5, [r4, r0]
- cmp r5, 0
- beq _080B9150
- cmp r5, 0x1
- beq _080B91A4
- b _080B91AA
- .align 2, 0
-_080B914C: .4byte gTasks
-_080B9150:
- movs r0, 0
- bl GetAnimBankSpriteId
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x1C]
- ldr r3, _080B91A0 @ =gSprites
- movs r0, 0x1C
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- movs r0, 0x1C
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r5, [r0, 0x24]
- movs r1, 0x1C
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- ldrh r2, [r1, 0x22]
- movs r0, 0xA0
- subs r0, r2
- strh r0, [r1, 0x26]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080B91AA
- .align 2, 0
-_080B91A0: .4byte gSprites
-_080B91A4:
- adds r0, r2, 0
- bl DestroyAnimVisualTask
-_080B91AA:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80B912C
-
- thumb_func_start sub_80B91B0
-sub_80B91B0: @ 80B91B0
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, _080B91D4 @ =gTasks
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x4
- bhi _080B92B2
- lsls r0, 2
- ldr r1, _080B91D8 @ =_080B91DC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080B91D4: .4byte gTasks
-_080B91D8: .4byte _080B91DC
- .align 2, 0
-_080B91DC:
- .4byte _080B91F0
- .4byte _080B9244
- .4byte _080B9252
- .4byte _080B926C
- .4byte _080B92AC
-_080B91F0:
- movs r0, 0
- bl GetAnimBankSpriteId
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x1C]
- ldr r0, _080B9214 @ =gBattleAnimAttacker
- ldrb r0, [r0]
- bl sub_80768B0
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x1E]
- cmp r0, 0x1
- bne _080B921C
- ldr r0, _080B9218 @ =gBattle_BG1_X
- b _080B921E
- .align 2, 0
-_080B9214: .4byte gBattleAnimAttacker
-_080B9218: .4byte gBattle_BG1_X
-_080B921C:
- ldr r0, _080B923C @ =gBattle_BG2_X
-_080B921E:
- ldrh r0, [r0]
- strh r0, [r4, 0x20]
- ldr r0, _080B9240 @ =gBattleAnimAttacker
- ldrb r0, [r0]
- bl sub_807492C
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- subs r1, 0x20
- strh r1, [r4, 0x24]
- adds r0, 0x20
- strh r0, [r4, 0x26]
- b _080B929A
- .align 2, 0
-_080B923C: .4byte gBattle_BG2_X
-_080B9240: .4byte gBattleAnimAttacker
-_080B9244:
- ldrb r0, [r4, 0x1E]
- movs r1, 0x26
- ldrsh r2, [r4, r1]
- movs r1, 0
- bl sub_80B92B8
- b _080B929A
-_080B9252:
- ldr r2, _080B9268 @ =gSprites
- movs r0, 0x1C
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x60
- strh r1, [r0, 0x26]
- b _080B929A
- .align 2, 0
-_080B9268: .4byte gSprites
-_080B926C:
- ldr r2, _080B92A4 @ =gSprites
- movs r0, 0x1C
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x26]
- subs r1, 0x8
- strh r1, [r0, 0x26]
- movs r0, 0x1C
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x26
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080B92B2
- ldr r1, _080B92A8 @ =gScanlineEffect
- movs r0, 0x3
- strb r0, [r1, 0x15]
-_080B929A:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080B92B2
- .align 2, 0
-_080B92A4: .4byte gSprites
-_080B92A8: .4byte gScanlineEffect
-_080B92AC:
- adds r0, r2, 0
- bl DestroyAnimVisualTask
-_080B92B2:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80B91B0
-
- thumb_func_start sub_80B92B8
-sub_80B92B8: @ 80B92B8
- push {r4-r6,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 16
- lsrs r4, r2, 16
- cmp r0, 0x1
- bne _080B92DC
- ldr r0, _080B92D4 @ =gBattle_BG1_X
- ldrh r3, [r0]
- ldr r0, _080B92D8 @ =0x04000014
- b _080B92E2
- .align 2, 0
-_080B92D4: .4byte gBattle_BG1_X
-_080B92D8: .4byte 0x04000014
-_080B92DC:
- ldr r0, _080B9368 @ =gBattle_BG2_X
- ldrh r3, [r0]
- ldr r0, _080B936C @ =0x04000018
-_080B92E2:
- str r0, [sp]
- lsls r0, r1, 16
- cmp r0, 0
- bge _080B92EC
- movs r1, 0
-_080B92EC:
- lsls r2, r1, 16
- lsls r0, r4, 16
- asrs r4, r0, 16
- cmp r2, r0
- bge _080B9318
- ldr r5, _080B9370 @ =gScanlineEffectRegBuffers
- movs r0, 0xF0
- lsls r0, 3
- adds r6, r5, r0
-_080B92FE:
- asrs r2, 16
- lsls r1, r2, 1
- adds r0, r1, r5
- strh r3, [r0]
- adds r1, r6
- strh r3, [r1]
- adds r2, 0x1
- lsls r2, 16
- lsrs r1, r2, 16
- lsls r2, r1, 16
- asrs r0, r2, 16
- cmp r0, r4
- blt _080B92FE
-_080B9318:
- lsls r1, 16
- asrs r0, r1, 16
- cmp r0, 0x9F
- bgt _080B9346
- ldr r4, _080B9370 @ =gScanlineEffectRegBuffers
- lsls r0, r3, 16
- asrs r0, 16
- adds r3, r0, 0
- adds r3, 0xF0
- movs r0, 0xF0
- lsls r0, 3
- adds r5, r4, r0
-_080B9330:
- asrs r2, r1, 16
- lsls r1, r2, 1
- adds r0, r1, r4
- strh r3, [r0]
- adds r1, r5
- strh r3, [r1]
- adds r2, 0x1
- lsls r1, r2, 16
- asrs r0, r1, 16
- cmp r0, 0x9F
- ble _080B9330
-_080B9346:
- ldr r0, _080B9374 @ =0xa2600001
- str r0, [sp, 0x4]
- mov r1, sp
- movs r2, 0
- movs r0, 0x1
- strb r0, [r1, 0x8]
- mov r0, sp
- strb r2, [r0, 0x9]
- ldr r0, [sp]
- ldr r1, [sp, 0x4]
- ldr r2, [sp, 0x8]
- bl ScanlineEffect_SetParams
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B9368: .4byte gBattle_BG2_X
-_080B936C: .4byte 0x04000018
-_080B9370: .4byte gScanlineEffectRegBuffers
-_080B9374: .4byte 0xa2600001
- thumb_func_end sub_80B92B8
-
- thumb_func_start sub_80B9378
-sub_80B9378: @ 80B9378
- push {r4-r7,lr}
- adds r5, r0, 0
- ldr r0, _080B938C @ =gBattleAnimArgs
- movs r2, 0
- ldrsh r1, [r0, r2]
- adds r7, r0, 0
- cmp r1, 0
- bne _080B9394
- ldr r0, _080B9390 @ =gBattleAnimAttacker
- b _080B9396
- .align 2, 0
-_080B938C: .4byte gBattleAnimArgs
-_080B9390: .4byte gBattleAnimAttacker
-_080B9394:
- ldr r0, _080B93F8 @ =gBattleAnimTarget
-_080B9396:
- ldrb r4, [r0]
- movs r6, 0x18
- adds r1, r7, 0
- movs r2, 0x2
- ldrsh r0, [r1, r2]
- cmp r0, 0x1
- bne _080B93B2
- negs r0, r6
- lsls r0, 16
- lsrs r6, r0, 16
- movs r2, 0x4
- ldrsh r0, [r1, r2]
- negs r0, r0
- strh r0, [r1, 0x4]
-_080B93B2:
- adds r0, r4, 0
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- adds r0, r6
- strh r0, [r5, 0x20]
- adds r0, r4, 0
- bl sub_807492C
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x1E
- strh r0, [r5, 0x22]
- ldrh r1, [r7, 0xA]
- strh r1, [r5, 0x2E]
- ldrh r1, [r7, 0x4]
- ldrh r2, [r5, 0x20]
- adds r1, r2
- strh r1, [r5, 0x32]
- ldrh r1, [r7, 0x6]
- adds r0, r1
- strh r0, [r5, 0x36]
- ldrh r0, [r7, 0x8]
- strh r0, [r5, 0x38]
- adds r0, r5, 0
- bl sub_8075068
- ldr r0, _080B93FC @ =sub_80B9400
- str r0, [r5, 0x1C]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B93F8: .4byte gBattleAnimTarget
-_080B93FC: .4byte sub_80B9400
- thumb_func_end sub_80B9378
-
- thumb_func_start sub_80B9400
-sub_80B9400: @ 80B9400
- push {r4,lr}
- adds r4, r0, 0
- bl AnimateBallThrow
- lsls r0, 24
- cmp r0, 0
- beq _080B9414
- adds r0, r4, 0
- bl DestroyAnimSprite
-_080B9414:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80B9400
-
- thumb_func_start sub_80B941C
-sub_80B941C: @ 80B941C
- push {r4-r6,lr}
- adds r6, r0, 0
- ldr r0, _080B9430 @ =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080B9438
- ldr r0, _080B9434 @ =gBattleAnimAttacker
- b _080B943A
- .align 2, 0
-_080B9430: .4byte gBattleAnimArgs
-_080B9434: .4byte gBattleAnimAttacker
-_080B9438:
- ldr r0, _080B9498 @ =gBattleAnimTarget
-_080B943A:
- ldrb r5, [r0]
- adds r0, r5, 0
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080B949C @ =0x0000fff0
- adds r0, r2
- ldr r4, _080B94A0 @ =gBattleAnimArgs
- movs r3, 0x2
- ldrsh r1, [r4, r3]
- lsls r1, 5
- adds r0, r1
- strh r0, [r6, 0x20]
- adds r0, r5, 0
- bl sub_807492C
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x20
- strh r0, [r6, 0x22]
- ldrh r2, [r6, 0x4]
- lsls r1, r2, 22
- lsrs r1, 22
- movs r3, 0x2
- ldrsh r0, [r4, r3]
- lsls r0, 3
- adds r1, r0
- ldr r3, _080B94A4 @ =0x000003ff
- adds r0, r3, 0
- ands r1, r0
- ldr r0, _080B94A8 @ =0xfffffc00
- ands r0, r2
- orrs r0, r1
- strh r0, [r6, 0x4]
- ldr r1, _080B94AC @ =DestroyAnimSprite
- adds r0, r6, 0
- bl StoreSpriteCallbackInData6
- ldrh r0, [r4, 0x4]
- strh r0, [r6, 0x2E]
- ldr r0, _080B94B0 @ =sub_8074C44
- str r0, [r6, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B9498: .4byte gBattleAnimTarget
-_080B949C: .4byte 0x0000fff0
-_080B94A0: .4byte gBattleAnimArgs
-_080B94A4: .4byte 0x000003ff
-_080B94A8: .4byte 0xfffffc00
-_080B94AC: .4byte DestroyAnimSprite
-_080B94B0: .4byte sub_8074C44
- thumb_func_end sub_80B941C
-
- thumb_func_start sub_80B94B4
-sub_80B94B4: @ 80B94B4
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _080B94D8 @ =gTasks
- adds r4, r0, r1
- ldr r0, _080B94DC @ =gBattleAnimArgs
- ldrh r2, [r0, 0x2]
- movs r3, 0x2
- ldrsh r1, [r0, r3]
- adds r6, r0, 0
- cmp r1, 0
- beq _080B94E0
- adds r0, r2, 0x3
- b _080B94EC
- .align 2, 0
-_080B94D8: .4byte gTasks
-_080B94DC: .4byte gBattleAnimArgs
-_080B94E0:
- ldr r0, _080B950C @ =gAnimMovePower
- ldrh r0, [r0]
- movs r1, 0xA
- bl __udivsi3
- adds r0, 0x3
-_080B94EC:
- strh r0, [r4, 0x26]
- strh r0, [r4, 0x24]
- adds r1, r6, 0
- ldrh r0, [r1, 0x4]
- strh r0, [r4, 0xE]
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0x4
- beq _080B9518
- cmp r0, 0x5
- bne _080B9558
- ldr r0, _080B9510 @ =gBattle_BG3_X
- ldrh r0, [r0]
- strh r0, [r4, 0x22]
- ldr r0, _080B9514 @ =sub_80B9584
- b _080B9576
- .align 2, 0
-_080B950C: .4byte gAnimMovePower
-_080B9510: .4byte gBattle_BG3_X
-_080B9514: .4byte sub_80B9584
-_080B9518:
- movs r0, 0
- strh r0, [r4, 0x22]
- movs r5, 0
-_080B951E:
- lsls r0, r5, 24
- lsrs r0, 24
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _080B9548
- movs r3, 0x22
- ldrsh r0, [r4, r3]
- adds r0, 0x9
- lsls r0, 1
- adds r1, r4, 0
- adds r1, 0x8
- adds r1, r0
- ldr r0, _080B9554 @ =gBattlerSpriteIds
- adds r0, r5, r0
- ldrb r0, [r0]
- strh r0, [r1]
- ldrh r0, [r4, 0x22]
- adds r0, 0x1
- strh r0, [r4, 0x22]
-_080B9548:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x3
- bls _080B951E
- b _080B9574
- .align 2, 0
-_080B9554: .4byte gBattlerSpriteIds
-_080B9558:
- ldrb r0, [r6]
- bl GetAnimBankSpriteId
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x1A]
- cmp r0, 0xFF
- bne _080B9570
- adds r0, r5, 0
- bl DestroyAnimVisualTask
- b _080B9578
-_080B9570:
- movs r0, 0x1
- strh r0, [r4, 0x22]
-_080B9574:
- ldr r0, _080B9580 @ =sub_80B967C
-_080B9576:
- str r0, [r4]
-_080B9578:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B9580: .4byte sub_80B967C
- thumb_func_end sub_80B94B4
-
- thumb_func_start sub_80B9584
-sub_80B9584: @ 80B9584
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, _080B95A8 @ =gTasks
- adds r3, r0, r1
- movs r0, 0x8
- ldrsh r1, [r3, r0]
- cmp r1, 0x1
- beq _080B9608
- cmp r1, 0x1
- bgt _080B95AC
- cmp r1, 0
- beq _080B95B2
- b _080B9674
- .align 2, 0
-_080B95A8: .4byte gTasks
-_080B95AC:
- cmp r1, 0x2
- beq _080B9668
- b _080B9674
-_080B95B2:
- ldrh r0, [r3, 0xA]
- adds r0, 0x1
- strh r0, [r3, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _080B9674
- strh r1, [r3, 0xA]
- ldrh r1, [r3, 0xC]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080B95DC
- ldr r1, _080B95D8 @ =gBattle_BG3_X
- ldrh r0, [r3, 0x26]
- ldrh r2, [r3, 0x22]
- adds r0, r2
- strh r0, [r1]
- b _080B95E6
- .align 2, 0
-_080B95D8: .4byte gBattle_BG3_X
-_080B95DC:
- ldr r0, _080B9604 @ =gBattle_BG3_X
- ldrh r1, [r3, 0x22]
- ldrh r2, [r3, 0x26]
- subs r1, r2
- strh r1, [r0]
-_080B95E6:
- ldrh r0, [r3, 0xC]
- adds r0, 0x1
- strh r0, [r3, 0xC]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0xE
- ldrsh r1, [r3, r2]
- cmp r0, r1
- bne _080B9674
- movs r0, 0
- strh r0, [r3, 0xC]
- ldrh r0, [r3, 0x24]
- subs r0, 0x1
- strh r0, [r3, 0x24]
- b _080B965C
- .align 2, 0
-_080B9604: .4byte gBattle_BG3_X
-_080B9608:
- ldrh r0, [r3, 0xA]
- adds r0, 0x1
- strh r0, [r3, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _080B9674
- movs r0, 0
- strh r0, [r3, 0xA]
- ldrh r0, [r3, 0xC]
- ands r1, r0
- cmp r1, 0
- bne _080B9634
- ldr r1, _080B9630 @ =gBattle_BG3_X
- ldrh r0, [r3, 0x24]
- ldrh r2, [r3, 0x22]
- adds r0, r2
- strh r0, [r1]
- b _080B963E
- .align 2, 0
-_080B9630: .4byte gBattle_BG3_X
-_080B9634:
- ldr r0, _080B9664 @ =gBattle_BG3_X
- ldrh r1, [r3, 0x22]
- ldrh r2, [r3, 0x24]
- subs r1, r2
- strh r1, [r0]
-_080B963E:
- ldrh r0, [r3, 0xC]
- adds r0, 0x1
- strh r0, [r3, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- bne _080B9674
- movs r0, 0
- strh r0, [r3, 0xC]
- ldrh r0, [r3, 0x24]
- subs r0, 0x1
- strh r0, [r3, 0x24]
- lsls r0, 16
- cmp r0, 0
- bne _080B9674
-_080B965C:
- ldrh r0, [r3, 0x8]
- adds r0, 0x1
- strh r0, [r3, 0x8]
- b _080B9674
- .align 2, 0
-_080B9664: .4byte gBattle_BG3_X
-_080B9668:
- ldr r1, _080B9678 @ =gBattle_BG3_X
- ldrh r0, [r3, 0x22]
- strh r0, [r1]
- adds r0, r2, 0
- bl DestroyAnimVisualTask
-_080B9674:
- pop {r0}
- bx r0
- .align 2, 0
-_080B9678: .4byte gBattle_BG3_X
- thumb_func_end sub_80B9584
-
- thumb_func_start sub_80B967C
-sub_80B967C: @ 80B967C
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 3
- ldr r1, _080B96A0 @ =gTasks
- adds r4, r0, r1
- movs r0, 0x8
- ldrsh r5, [r4, r0]
- cmp r5, 0x1
- beq _080B96DC
- cmp r5, 0x1
- bgt _080B96A4
- cmp r5, 0
- beq _080B96AA
- b _080B9756
- .align 2, 0
-_080B96A0: .4byte gTasks
-_080B96A4:
- cmp r5, 0x2
- beq _080B9718
- b _080B9756
-_080B96AA:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _080B9756
- strh r5, [r4, 0xA]
- adds r0, r4, 0
- bl sub_80B9760
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0xE
- ldrsh r1, [r4, r2]
- cmp r0, r1
- bne _080B9756
- strh r5, [r4, 0xC]
- ldrh r0, [r4, 0x24]
- subs r0, 0x1
- strh r0, [r4, 0x24]
- b _080B9710
-_080B96DC:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- movs r5, 0
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _080B9756
- strh r5, [r4, 0xA]
- adds r0, r4, 0
- bl sub_80B9760
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- bne _080B9756
- strh r5, [r4, 0xC]
- ldrh r0, [r4, 0x24]
- subs r0, 0x1
- strh r0, [r4, 0x24]
- lsls r0, 16
- cmp r0, 0
- bne _080B9756
-_080B9710:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080B9756
-_080B9718:
- movs r2, 0
- movs r7, 0x22
- ldrsh r0, [r4, r7]
- cmp r2, r0
- bge _080B9750
- ldr r0, _080B975C @ =gSprites
- mov r12, r0
- adds r5, r4, 0
- adds r5, 0x8
- movs r6, 0
-_080B972C:
- adds r0, r2, 0
- adds r0, 0x9
- lsls r0, 1
- adds r0, r5, r0
- movs r7, 0
- ldrsh r1, [r0, r7]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r12
- strh r6, [r0, 0x24]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- movs r1, 0x22
- ldrsh r0, [r4, r1]
- cmp r2, r0
- blt _080B972C
-_080B9750:
- adds r0, r3, 0
- bl DestroyAnimVisualTask
-_080B9756:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B975C: .4byte gSprites
- thumb_func_end sub_80B967C
-
- thumb_func_start sub_80B9760
-sub_80B9760: @ 80B9760
- push {r4-r7,lr}
- adds r3, r0, 0
- ldrh r1, [r3, 0xC]
- movs r4, 0x1
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- bne _080B9788
- movs r0, 0x24
- ldrsh r1, [r3, r0]
- lsrs r0, r1, 31
- adds r1, r0
- asrs r1, 1
- ldrh r2, [r3, 0x24]
- adds r0, r4, 0
- ands r0, r2
- adds r1, r0
- lsls r1, 16
- lsrs r4, r1, 16
- b _080B9798
-_080B9788:
- movs r1, 0x24
- ldrsh r0, [r3, r1]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- negs r0, r0
- lsls r0, 16
- lsrs r4, r0, 16
-_080B9798:
- movs r2, 0
- movs r7, 0x22
- ldrsh r0, [r3, r7]
- cmp r2, r0
- bge _080B97CC
- ldr r6, _080B97D4 @ =gSprites
- adds r5, r3, 0
- adds r5, 0x8
-_080B97A8:
- adds r0, r2, 0
- adds r0, 0x9
- lsls r0, 1
- adds r0, r5, r0
- movs r7, 0
- ldrsh r1, [r0, r7]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- strh r4, [r0, 0x24]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- movs r1, 0x22
- ldrsh r0, [r3, r1]
- cmp r2, r0
- blt _080B97A8
-_080B97CC:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B97D4: .4byte gSprites
- thumb_func_end sub_80B9760
-
- thumb_func_start sub_80B97D8
-sub_80B97D8: @ 80B97D8
- push {lr}
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r3, _080B97F8 @ =gBattleAnimArgs
- movs r2, 0
- ldr r0, _080B97FC @ =gAnimMovePower
- ldrh r0, [r0]
- cmp r0, 0x63
- bls _080B97EC
- movs r2, 0x1
-_080B97EC:
- strh r2, [r3, 0x1E]
- adds r0, r1, 0
- bl DestroyAnimVisualTask
- pop {r0}
- bx r0
- .align 2, 0
-_080B97F8: .4byte gBattleAnimArgs
-_080B97FC: .4byte gAnimMovePower
- thumb_func_end sub_80B97D8
-
- thumb_func_start sub_80B9800
-sub_80B9800: @ 80B9800
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r2, _080B9818 @ =gBattleAnimArgs
- ldrh r1, [r2]
- movs r0, 0x1
- ands r0, r1
- adds r6, r2, 0
- cmp r0, 0
- beq _080B9820
- ldr r0, _080B981C @ =gBattleAnimTarget
- b _080B9822
- .align 2, 0
-_080B9818: .4byte gBattleAnimArgs
-_080B981C: .4byte gBattleAnimTarget
-_080B9820:
- ldr r0, _080B9890 @ =gBattleAnimAttacker
-_080B9822:
- ldrb r0, [r0]
- adds r5, r0, 0
- movs r1, 0
- ldrsh r0, [r6, r1]
- cmp r0, 0x1
- ble _080B9832
- movs r0, 0x2
- eors r5, r0
-_080B9832:
- ldr r0, _080B9894 @ =sub_80B98A8
- ldrb r1, [r6, 0x2]
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r0, _080B9898 @ =gTasks
- adds r4, r0
- adds r0, r5, 0
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x20
- subs r1, r0
- ldr r2, _080B989C @ =0x000001ff
- adds r0, r2, 0
- ands r1, r0
- strh r1, [r4, 0xA]
- adds r0, r5, 0
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x40
- subs r1, r0
- movs r0, 0xFF
- ands r1, r0
- strh r1, [r4, 0xC]
- ldr r2, _080B98A0 @ =gBattle_BG3_X
- ldrh r0, [r4, 0xA]
- strh r0, [r2]
- ldr r0, _080B98A4 @ =gBattle_BG3_Y
- strh r1, [r0]
- ldrh r0, [r6, 0x4]
- strh r0, [r4, 0xE]
- adds r0, r7, 0
- bl DestroyAnimVisualTask
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B9890: .4byte gBattleAnimAttacker
-_080B9894: .4byte sub_80B98A8
-_080B9898: .4byte gTasks
-_080B989C: .4byte 0x000001ff
-_080B98A0: .4byte gBattle_BG3_X
-_080B98A4: .4byte gBattle_BG3_Y
- thumb_func_end sub_80B9800
-
- thumb_func_start sub_80B98A8
-sub_80B98A8: @ 80B98A8
- push {r4,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 3
- ldr r1, _080B98D8 @ =gTasks
- adds r2, r0, r1
- ldr r0, _080B98DC @ =gBattleAnimArgs
- movs r4, 0xE
- ldrsh r1, [r0, r4]
- movs r4, 0xE
- ldrsh r0, [r2, r4]
- cmp r1, r0
- bne _080B98E8
- ldr r0, _080B98E0 @ =gBattle_BG3_X
- movs r1, 0
- strh r1, [r0]
- ldr r0, _080B98E4 @ =gBattle_BG3_Y
- strh r1, [r0]
- adds r0, r3, 0
- bl DestroyTask
- b _080B98F4
- .align 2, 0
-_080B98D8: .4byte gTasks
-_080B98DC: .4byte gBattleAnimArgs
-_080B98E0: .4byte gBattle_BG3_X
-_080B98E4: .4byte gBattle_BG3_Y
-_080B98E8:
- ldr r1, _080B98FC @ =gBattle_BG3_X
- ldrh r0, [r2, 0xA]
- strh r0, [r1]
- ldr r1, _080B9900 @ =gBattle_BG3_Y
- ldrh r0, [r2, 0xC]
- strh r0, [r1]
-_080B98F4:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B98FC: .4byte gBattle_BG3_X
-_080B9900: .4byte gBattle_BG3_Y
- thumb_func_end sub_80B98A8
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/ice.s b/asm/ice.s
index ab26d23e5..a2c8d0472 100644
--- a/asm/ice.s
+++ b/asm/ice.s
@@ -365,7 +365,7 @@ sub_80AF2F0: @ 80AF2F0
ldr r1, _080AF328 @ =DestroyAnimSprite
adds r0, r4, 0
bl StoreSpriteCallbackInData6
- ldr r1, _080AF32C @ =sub_8074AE0
+ ldr r1, _080AF32C @ =TranslateSpriteInGrowingCircleOverDuration
str r1, [r4, 0x1C]
adds r0, r4, 0
bl _call_via_r1
@@ -375,7 +375,7 @@ sub_80AF2F0: @ 80AF2F0
.align 2, 0
_080AF324: .4byte gBattleAnimArgs
_080AF328: .4byte DestroyAnimSprite
-_080AF32C: .4byte sub_8074AE0
+_080AF32C: .4byte TranslateSpriteInGrowingCircleOverDuration
thumb_func_end sub_80AF2F0
thumb_func_start sub_80AF330
@@ -383,7 +383,7 @@ sub_80AF330: @ 80AF330
push {r4,lr}
adds r4, r0, 0
movs r1, 0x1
- bl sub_8075160
+ bl InitSpritePosToAnimAttacker
ldr r0, _080AF364 @ =gBattleAnimTarget
ldrb r0, [r0]
movs r1, 0x2
@@ -452,7 +452,7 @@ sub_80AF3B8: @ 80AF3B8
bne _080AF3D4
adds r0, r4, 0
movs r1, 0x1
- bl sub_8075114
+ bl InitSpritePosToAnimTarget
b _080AF40A
.align 2, 0
_080AF3D0: .4byte gBattleAnimArgs
@@ -464,7 +464,7 @@ _080AF3D4:
adds r3, r4, 0
adds r3, 0x22
movs r1, 0x1
- bl sub_8076D9C
+ bl SetAverageBattlerPositions
ldr r0, _080AF420 @ =gBattleAnimAttacker
ldrb r0, [r0]
bl GetBattlerSide
@@ -487,7 +487,7 @@ _080AF40A:
ldr r1, _080AF424 @ =sub_80AF42C
adds r0, r4, 0
bl StoreSpriteCallbackInData6
- ldr r0, _080AF428 @ =sub_8074F50
+ ldr r0, _080AF428 @ =RunStoredCallbackWhenAffineAnimEnds
str r0, [r4, 0x1C]
pop {r4,r5}
pop {r0}
@@ -496,7 +496,7 @@ _080AF40A:
_080AF41C: .4byte gBattleAnimTarget
_080AF420: .4byte gBattleAnimAttacker
_080AF424: .4byte sub_80AF42C
-_080AF428: .4byte sub_8074F50
+_080AF428: .4byte RunStoredCallbackWhenAffineAnimEnds
thumb_func_end sub_80AF3B8
thumb_func_start sub_80AF42C
@@ -526,7 +526,7 @@ sub_80AF42C: @ 80AF42C
cmp r0, 0x14
bne _080AF462
adds r0, r3, 0
- bl move_anim_8074EE0
+ bl DestroySpriteAndMatrix
_080AF462:
pop {r0}
bx r0
@@ -538,7 +538,7 @@ sub_80AF468: @ 80AF468
sub sp, 0x10
adds r5, r0, 0
movs r1, 0x1
- bl sub_8075160
+ bl InitSpritePosToAnimAttacker
ldr r6, _080AF4B0 @ =gBattleAnimArgs
ldrh r0, [r6, 0x8]
strh r0, [r5, 0x2E]
@@ -577,7 +577,7 @@ _080AF4B8:
adds r3, r5, 0
adds r3, 0x36
movs r1, 0x1
- bl sub_8076D9C
+ bl SetAverageBattlerPositions
_080AF4CA:
ldr r0, _080AF4E8 @ =gBattleAnimAttacker
ldrb r0, [r0]
@@ -616,7 +616,7 @@ _080AF504:
cmp r4, 0
bge _080AF504
adds r0, r5, 0
- bl sub_8075804
+ bl InitAnimFastLinearTranslationWithSpeed
ldrh r0, [r5, 0x30]
movs r1, 0x1
eors r0, r1
@@ -628,7 +628,7 @@ _080AF526:
movs r0, 0x1
strh r0, [r5, 0x2E]
adds r0, r5, 0
- bl sub_807578C
+ bl AnimFastTranslateLinear
movs r0, 0x20
ldrsh r1, [r5, r0]
movs r2, 0x24
@@ -814,7 +814,7 @@ sub_80AF690: @ 80AF690
movs r0, 0x1
strh r0, [r4, 0x2E]
adds r0, r4, 0
- bl sub_807578C
+ bl AnimFastTranslateLinear
movs r1, 0x20
ldrsh r0, [r4, r1]
movs r2, 0x24
@@ -853,7 +853,7 @@ sub_80AF6D8: @ 80AF6D8
sub sp, 0x10
adds r5, r0, 0
movs r1, 0x1
- bl sub_8075160
+ bl InitSpritePosToAnimAttacker
ldr r1, _080AF71C @ =gBattleAnimArgs
ldrh r0, [r1, 0x8]
strh r0, [r5, 0x2E]
@@ -890,7 +890,7 @@ _080AF724:
adds r3, r5, 0
adds r3, 0x36
movs r1, 0x1
- bl sub_8076D9C
+ bl SetAverageBattlerPositions
_080AF736:
ldr r0, _080AF758 @ =gBattleAnimAttacker
ldrb r0, [r0]
@@ -921,7 +921,7 @@ _080AF76A:
adds r0, r1
strh r0, [r5, 0x36]
adds r0, r5, 0
- bl sub_8075804
+ bl InitAnimFastLinearTranslationWithSpeed
adds r7, r5, 0
adds r7, 0x2E
adds r2, r7, 0
@@ -946,7 +946,7 @@ _080AF79E:
movs r0, 0x1
strh r0, [r5, 0x2E]
adds r0, r5, 0
- bl sub_807578C
+ bl AnimFastTranslateLinear
movs r2, 0x20
ldrsh r1, [r5, r2]
movs r2, 0x24
@@ -1011,7 +1011,7 @@ _080AF818: .4byte sub_80AF81C
sub_80AF81C: @ 80AF81C
push {r4,lr}
adds r4, r0, 0
- bl sub_807578C
+ bl AnimFastTranslateLinear
movs r1, 0x2E
ldrsh r0, [r4, r1]
cmp r0, 0
@@ -1082,7 +1082,7 @@ sub_80AF88C: @ 80AF88C
bne _080AF8B0
adds r0, r4, 0
movs r1, 0
- bl sub_8075114
+ bl InitSpritePosToAnimTarget
b _080AF8E6
.align 2, 0
_080AF8AC: .4byte gBattleAnimArgs
@@ -1094,7 +1094,7 @@ _080AF8B0:
adds r3, r4, 0
adds r3, 0x22
movs r1, 0
- bl sub_8076D9C
+ bl SetAverageBattlerPositions
ldr r0, _080AF8F4 @ =gBattleAnimAttacker
ldrb r0, [r0]
bl GetBattlerSide
@@ -1152,7 +1152,7 @@ sub_80AF914: @ 80AF914
bne _080AF938
adds r0, r5, 0
movs r1, 0
- bl sub_8075160
+ bl InitSpritePosToAnimAttacker
b _080AF976
.align 2, 0
_080AF934: .4byte gBattleAnimArgs
@@ -1164,7 +1164,7 @@ _080AF938:
adds r3, r5, 0
adds r3, 0x22
movs r1, 0
- bl sub_8076D9C
+ bl SetAverageBattlerPositions
ldrb r0, [r4]
bl GetBattlerSide
lsls r0, 24
@@ -1200,7 +1200,7 @@ _080AF984:
bne _080AF996
adds r0, r5, 0
movs r1, 0
- bl sub_8075114
+ bl InitSpritePosToAnimTarget
b _080AF9D2
_080AF996:
ldr r4, _080AF9BC @ =gBattleAnimTarget
@@ -1210,7 +1210,7 @@ _080AF996:
adds r3, r5, 0
adds r3, 0x22
movs r1, 0
- bl sub_8076D9C
+ bl SetAverageBattlerPositions
ldrb r0, [r4]
bl GetBattlerSide
lsls r0, 24
@@ -1279,7 +1279,7 @@ _080AFA10:
adds r0, r1
strh r0, [r5, 0x36]
adds r0, r5, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimLinearTranslation
movs r0, 0x40
strh r0, [r5, 0x38]
ldr r1, _080AFA48 @ =sub_80AFA4C
@@ -1299,7 +1299,7 @@ _080AFA48: .4byte sub_80AFA4C
sub_80AFA4C: @ 80AFA4C
push {r4,lr}
adds r4, r0, 0
- bl sub_80755E0
+ bl AnimTranslateLinear
lsls r0, 24
cmp r0, 0
bne _080AFAD6
@@ -1328,7 +1328,7 @@ sub_80AFA4C: @ 80AFA4C
ldrh r0, [r4, 0x3C]
lsls r0, 24
lsrs r0, 24
- bl sub_8076884
+ bl GetBattlerSpriteBGPriority
movs r1, 0x3
ands r1, r0
lsls r1, 2
@@ -1343,7 +1343,7 @@ _080AFAA8:
ldrh r0, [r4, 0x3C]
lsls r0, 24
lsrs r0, 24
- bl sub_8076884
+ bl GetBattlerSpriteBGPriority
lsls r0, 24
lsrs r0, 24
adds r0, 0x1
@@ -1426,7 +1426,7 @@ _080AFB26:
mov r0, sp
ldrb r0, [r0, 0x9]
ldr r1, _080AFBB0 @ =gFile_graphics_battle_anims_backgrounds_fog_tilemap
- bl sub_807543C
+ bl AnimLoadCompressedBgTilemap
ldr r0, _080AFBB4 @ =gUnknown_83C2CE0
mov r1, sp
ldrb r1, [r1, 0x8]
@@ -1673,14 +1673,14 @@ sub_80AFD4C: @ 80AFD4C
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x22]
- ldr r0, _080AFD7C @ =sub_8075DF4
+ ldr r0, _080AFD7C @ =TranslateAnimSpriteToTargetMonLocation
str r0, [r4, 0x1C]
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_080AFD78: .4byte gBattleAnimAttacker
-_080AFD7C: .4byte sub_8075DF4
+_080AFD7C: .4byte TranslateAnimSpriteToTargetMonLocation
thumb_func_end sub_80AFD4C
thumb_func_start sub_80AFD80
@@ -1737,7 +1737,7 @@ _080AFDC2:
mov r0, sp
ldrb r0, [r0, 0x9]
ldr r1, _080AFE50 @ =gFile_graphics_battle_anims_backgrounds_fog_tilemap
- bl sub_807543C
+ bl AnimLoadCompressedBgTilemap
ldr r0, _080AFE54 @ =gUnknown_83C2CE0
mov r1, sp
ldrb r1, [r1, 0x8]
@@ -2015,7 +2015,7 @@ _080B0008:
cmp r0, 0
bne _080B0064
movs r0, 0x1
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
ldr r2, _080B00CC @ =gSprites
lsls r0, 24
lsrs r0, 24
@@ -2105,7 +2105,7 @@ _080B00F8:
adds r0, r6
strh r0, [r5, 0x36]
ldrb r0, [r4]
- bl sub_8076884
+ bl GetBattlerSpriteBGPriority
lsls r0, 24
lsrs r0, 16
ldrh r1, [r5, 0x3C]
@@ -2123,7 +2123,7 @@ _080B00F8:
strb r0, [r1]
_080B012C:
adds r0, r5, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimLinearTranslation
ldr r0, _080B0144 @ =sub_80B0148
str r0, [r5, 0x1C]
pop {r3}
@@ -2159,7 +2159,7 @@ _080B0168:
b _080B0380
_080B016A:
adds r0, r4, 0
- bl sub_80755E0
+ bl AnimTranslateLinear
ldr r1, _080B0194 @ =gSineTable
movs r2, 0x38
ldrsh r0, [r4, r2]
@@ -2251,13 +2251,13 @@ _080B0202:
ands r0, r1
strh r0, [r4, 0x38]
adds r0, r4, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimLinearTranslation
b _080B0380
.align 2, 0
_080B022C: .4byte gSineTable
_080B0230:
adds r0, r4, 0
- bl sub_80755E0
+ bl AnimTranslateLinear
ldr r1, _080B028C @ =gSineTable
movs r2, 0x38
ldrsh r0, [r4, r2]
@@ -2397,7 +2397,7 @@ _080B032A:
_080B0340: .4byte 0x0000fff0
_080B0344:
adds r0, r4, 0
- bl sub_80755E0
+ bl AnimTranslateLinear
lsls r0, 24
cmp r0, 0
beq _080B0380
@@ -2420,7 +2420,7 @@ _080B0344:
_080B0372:
adds r0, r4, 0
bl DestroySprite
- ldr r1, _080B0388 @ =gUnknown_2037EE2
+ ldr r1, _080B0388 @ =gAnimVisualTaskCount
ldrb r0, [r1]
subs r0, 0x1
strb r0, [r1]
@@ -2429,7 +2429,7 @@ _080B0380:
pop {r0}
bx r0
.align 2, 0
-_080B0388: .4byte gUnknown_2037EE2
+_080B0388: .4byte gAnimVisualTaskCount
thumb_func_end sub_80B0148
thumb_func_start sub_80B038C
@@ -2610,7 +2610,7 @@ _080B04D0: .4byte gUnknown_83E652C
_080B04D4:
adds r0, r5, 0
movs r1, 0x1
- bl sub_8076B2C
+ bl GetBattlerSpriteCoordAttr
lsls r0, 16
asrs r0, 16
movs r1, 0x6
@@ -2622,7 +2622,7 @@ _080B04D4:
lsrs r7, r1, 16
adds r0, r5, 0
movs r1, 0
- bl sub_8076B2C
+ bl GetBattlerSpriteCoordAttr
lsls r0, 16
asrs r0, 16
movs r1, 0x6
@@ -2634,7 +2634,7 @@ _080B04D4:
_080B050A:
adds r0, r5, 0
movs r1, 0x1
- bl sub_8076B2C
+ bl GetBattlerSpriteCoordAttr
lsls r0, 16
asrs r0, 16
movs r1, 0x6
@@ -2646,7 +2646,7 @@ _080B050A:
lsrs r7, r1, 16
adds r0, r5, 0
movs r1, 0
- bl sub_8076B2C
+ bl GetBattlerSpriteCoordAttr
lsls r0, 16
asrs r0, 16
movs r1, 0x6
@@ -2904,7 +2904,7 @@ _080B071A:
bl StartSpriteAffineAnim
adds r0, r5, 0
movs r1, 0x1
- bl sub_8075160
+ bl InitSpritePosToAnimAttacker
ldr r6, _080B0780 @ =gBattleAnimArgs
ldrh r0, [r6, 0x8]
strh r0, [r5, 0x2E]
@@ -2938,7 +2938,7 @@ _080B0742:
ldrh r0, [r6, 0xA]
strh r0, [r5, 0x38]
adds r0, r5, 0
- bl sub_8075068
+ bl InitAnimArcTranslation
ldr r0, _080B078C @ =sub_80B0790
str r0, [r5, 0x1C]
pop {r4-r6}
@@ -2956,14 +2956,14 @@ _080B078C: .4byte sub_80B0790
sub_80B0790: @ 80B0790
push {r4,lr}
adds r4, r0, 0
- bl AnimateBallThrow
+ bl TranslateAnimHorizontalArc
lsls r0, 24
cmp r0, 0
beq _080B07B2
adds r0, r4, 0
movs r1, 0x1
bl StartSpriteAnim
- ldr r0, _080B07B8 @ =sub_8074F6C
+ ldr r0, _080B07B8 @ =RunStoredCallbackWhenAnimEnds
str r0, [r4, 0x1C]
ldr r1, _080B07BC @ =DestroyAnimSprite
adds r0, r4, 0
@@ -2973,7 +2973,7 @@ _080B07B2:
pop {r0}
bx r0
.align 2, 0
-_080B07B8: .4byte sub_8074F6C
+_080B07B8: .4byte RunStoredCallbackWhenAnimEnds
_080B07BC: .4byte DestroyAnimSprite
thumb_func_end sub_80B0790
@@ -2994,7 +2994,7 @@ sub_80B07C0: @ 80B07C0
strh r0, [r4, 0x4]
adds r0, r4, 0
movs r1, 0x1
- bl sub_8075114
+ bl InitSpritePosToAnimTarget
bl Random
movs r5, 0xFF
ands r5, r0
diff --git a/asm/normal.s b/asm/normal.s
deleted file mode 100644
index 75c4dcf6e..000000000
--- a/asm/normal.s
+++ /dev/null
@@ -1,1978 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_80B9904
-sub_80B9904: @ 80B9904
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, _080B993C @ =gBattleAnimArgs
- ldrh r0, [r5]
- ldrh r1, [r4, 0x20]
- adds r0, r1
- strh r0, [r4, 0x20]
- ldrh r0, [r5, 0x2]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
- ldrh r0, [r5, 0x4]
- strh r0, [r4, 0x2E]
- ldr r0, _080B9940 @ =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _080B9944
- ldrh r0, [r5, 0x6]
- negs r0, r0
- strh r0, [r4, 0x30]
- movs r0, 0x1
- strh r0, [r4, 0x36]
- b _080B9952
- .align 2, 0
-_080B993C: .4byte gBattleAnimArgs
-_080B9940: .4byte gBattleAnimAttacker
-_080B9944:
- ldrh r0, [r5, 0x6]
- strh r0, [r4, 0x30]
- strh r1, [r4, 0x36]
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAnim
-_080B9952:
- ldr r0, _080B9968 @ =gBattleAnimArgs
- ldrh r0, [r0, 0x8]
- strh r0, [r4, 0x34]
- ldr r1, _080B996C @ =sub_80B9970
- str r1, [r4, 0x1C]
- adds r0, r4, 0
- bl _call_via_r1
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B9968: .4byte gBattleAnimArgs
-_080B996C: .4byte sub_80B9970
- thumb_func_end sub_80B9904
-
- thumb_func_start sub_80B9970
-sub_80B9970: @ 80B9970
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- movs r1, 0x1E
- bl Cos
- strh r0, [r4, 0x24]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- movs r1, 0xA
- bl Sin
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x2E]
- cmp r0, 0x7F
- bhi _080B99A2
- ldrb r0, [r4, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r0
- movs r0, 0x4
- orrs r1, r0
- strb r1, [r4, 0x5]
- b _080B99AA
-_080B99A2:
- ldrb r0, [r4, 0x5]
- movs r1, 0xC
- orrs r0, r1
- strb r0, [r4, 0x5]
-_080B99AA:
- ldrh r0, [r4, 0x30]
- ldrh r1, [r4, 0x2E]
- adds r0, r1
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x34
- ldrsh r1, [r4, r2]
- cmp r0, r1
- bne _080B99CE
- adds r0, r4, 0
- bl DestroyAnimSprite
-_080B99CE:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80B9970
-
- thumb_func_start sub_80B99D4
-sub_80B99D4: @ 80B99D4
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r0, 0
- ldr r4, _080B9A0C @ =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r4, r1]
- bl sub_80B9A14
- movs r1, 0x2
- ldrsb r1, [r4, r1]
- ldrb r2, [r4, 0x4]
- ldrb r3, [r4, 0x6]
- ldrh r4, [r4, 0x8]
- str r4, [sp]
- bl BeginNormalPaletteFade
- adds r2, r5, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r0, _080B9A10 @ =sub_80B9A5C
- str r0, [r5, 0x1C]
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B9A0C: .4byte gBattleAnimArgs
-_080B9A10: .4byte sub_80B9A5C
- thumb_func_end sub_80B99D4
-
- thumb_func_start sub_80B9A14
-sub_80B9A14: @ 80B9A14
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0xC
- lsls r0, 16
- lsrs r0, 16
- movs r4, 0x1
- mov r8, r0
- mov r1, r8
- ands r1, r4
- mov r8, r1
- lsls r0, 16
- asrs r1, r0, 17
- ands r1, r4
- asrs r2, r0, 18
- ands r2, r4
- asrs r3, r0, 19
- ands r3, r4
- asrs r6, r0, 20
- ands r6, r4
- asrs r5, r0, 21
- ands r5, r4
- asrs r0, 22
- ands r0, r4
- str r6, [sp]
- str r5, [sp, 0x4]
- str r0, [sp, 0x8]
- mov r0, r8
- bl sub_8075BE8
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80B9A14
-
- thumb_func_start sub_80B9A5C
-sub_80B9A5C: @ 80B9A5C
- push {lr}
- adds r2, r0, 0
- ldr r0, _080B9A78 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080B9A72
- adds r0, r2, 0
- bl DestroyAnimSprite
-_080B9A72:
- pop {r0}
- bx r0
- .align 2, 0
-_080B9A78: .4byte gPaletteFade
- thumb_func_end sub_80B9A5C
-
- thumb_func_start sub_80B9A7C
-sub_80B9A7C: @ 80B9A7C
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, _080B9AC8 @ =gBattleAnimArgs
- ldrh r0, [r4, 0x2]
- strh r0, [r5, 0x2E]
- strh r0, [r5, 0x30]
- ldrh r0, [r4, 0x4]
- strh r0, [r5, 0x32]
- ldrh r0, [r4, 0x6]
- strh r0, [r5, 0x34]
- ldrh r0, [r4, 0x8]
- strh r0, [r5, 0x36]
- ldrh r0, [r4, 0xA]
- strh r0, [r5, 0x38]
- ldrh r0, [r4, 0xC]
- strh r0, [r5, 0x3A]
- ldrh r0, [r4]
- strh r0, [r5, 0x3C]
- movs r1, 0x3C
- ldrsh r0, [r5, r1]
- bl sub_80B9A14
- ldrb r1, [r4, 0x8]
- ldrh r2, [r4, 0x6]
- bl BlendPalettes
- adds r2, r5, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r0, _080B9ACC @ =sub_80B9AD0
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B9AC8: .4byte gBattleAnimArgs
-_080B9ACC: .4byte sub_80B9AD0
- thumb_func_end sub_80B9A7C
-
- thumb_func_start sub_80B9AD0
-sub_80B9AD0: @ 80B9AD0
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x2E]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r0, 0
- ble _080B9AE4
- subs r0, r1, 0x1
- strh r0, [r4, 0x2E]
- b _080B9B54
-_080B9AE4:
- ldr r0, _080B9B00 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080B9B54
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080B9B08
- ldr r0, _080B9B04 @ =sub_80B9B5C
- str r0, [r4, 0x1C]
- b _080B9B54
- .align 2, 0
-_080B9B00: .4byte gPaletteFade
-_080B9B04: .4byte sub_80B9B5C
-_080B9B08:
- movs r2, 0x3C
- ldrsh r0, [r4, r2]
- bl sub_80B9A14
- adds r3, r0, 0
- ldrh r1, [r4, 0x30]
- movs r0, 0x80
- lsls r0, 1
- ands r0, r1
- cmp r0, 0
- beq _080B9B2E
- ldrh r1, [r4, 0x36]
- lsls r1, 24
- lsrs r1, 24
- ldrh r2, [r4, 0x34]
- adds r0, r3, 0
- bl BlendPalettes
- b _080B9B3C
-_080B9B2E:
- ldrh r1, [r4, 0x3A]
- lsls r1, 24
- lsrs r1, 24
- ldrh r2, [r4, 0x38]
- adds r0, r3, 0
- bl BlendPalettes
-_080B9B3C:
- ldrh r0, [r4, 0x30]
- movs r2, 0x80
- lsls r2, 1
- adds r1, r2, 0
- eors r0, r1
- strh r0, [r4, 0x30]
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x32]
- subs r0, 0x1
- strh r0, [r4, 0x32]
-_080B9B54:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80B9AD0
-
- thumb_func_start sub_80B9B5C
-sub_80B9B5C: @ 80B9B5C
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _080B9B88 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080B9B82
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- bl sub_80B9A14
- movs r1, 0
- movs r2, 0
- bl BlendPalettes
- adds r0, r4, 0
- bl DestroyAnimSprite
-_080B9B82:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B9B88: .4byte gPaletteFade
- thumb_func_end sub_80B9B5C
-
- thumb_func_start sub_80B9B8C
-sub_80B9B8C: @ 80B9B8C
- push {r4,lr}
- adds r4, r0, 0
- ldr r1, _080B9BD0 @ =gBattleAnimArgs
- ldrh r0, [r1]
- ldrh r2, [r4, 0x20]
- adds r0, r2
- movs r2, 0
- strh r0, [r4, 0x20]
- ldrh r0, [r1, 0x2]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
- strh r2, [r4, 0x2E]
- movs r0, 0xA
- strh r0, [r4, 0x30]
- movs r0, 0x8
- strh r0, [r4, 0x32]
- movs r0, 0x28
- strh r0, [r4, 0x34]
- movs r0, 0x70
- strh r0, [r4, 0x36]
- strh r2, [r4, 0x38]
- ldr r1, _080B9BD4 @ =move_anim_8074EE0
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- ldr r1, _080B9BD8 @ =sub_8074AE0
- str r1, [r4, 0x1C]
- adds r0, r4, 0
- bl _call_via_r1
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B9BD0: .4byte gBattleAnimArgs
-_080B9BD4: .4byte move_anim_8074EE0
-_080B9BD8: .4byte sub_8074AE0
- thumb_func_end sub_80B9B8C
-
- thumb_func_start sub_80B9BDC
-sub_80B9BDC: @ 80B9BDC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080B9C20 @ =gTasks
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- adds r4, r1
- ldr r3, _080B9C24 @ =gBattleAnimArgs
- ldrh r1, [r3]
- movs r5, 0
- strh r1, [r4, 0x8]
- ldrh r1, [r3, 0x2]
- strh r1, [r4, 0xA]
- ldrh r1, [r3, 0x4]
- strh r1, [r4, 0xC]
- ldrh r1, [r3, 0x6]
- strh r1, [r4, 0xE]
- ldrh r2, [r3, 0x8]
- strh r2, [r4, 0x10]
- ldrh r1, [r3, 0xA]
- strh r1, [r4, 0x12]
- strh r5, [r4, 0x18]
- lsls r2, 24
- lsrs r2, 24
- movs r1, 0
- bl sub_80B9C2C
- ldr r0, _080B9C28 @ =sub_80B9C7C
- str r0, [r4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B9C20: .4byte gTasks
-_080B9C24: .4byte gBattleAnimArgs
-_080B9C28: .4byte sub_80B9C7C
- thumb_func_end sub_80B9BDC
-
- thumb_func_start sub_80B9C2C
-sub_80B9C2C: @ 80B9C2C
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r1, 0
- adds r6, r2, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r5, 24
- lsrs r5, 24
- lsls r6, 24
- lsrs r6, 24
- ldr r1, _080B9C78 @ =gTasks
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- adds r4, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- bl sub_80B9A14
- movs r1, 0xA
- ldrsb r1, [r4, r1]
- ldrh r2, [r4, 0x12]
- str r2, [sp]
- adds r2, r5, 0
- adds r3, r6, 0
- bl BeginNormalPaletteFade
- ldrh r0, [r4, 0xC]
- subs r0, 0x1
- strh r0, [r4, 0xC]
- ldrh r0, [r4, 0x18]
- movs r1, 0x1
- eors r0, r1
- strh r0, [r4, 0x18]
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B9C78: .4byte gTasks
- thumb_func_end sub_80B9C2C
-
- thumb_func_start sub_80B9C7C
-sub_80B9C7C: @ 80B9C7C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- adds r4, r3, 0
- ldr r0, _080B9CB4 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080B9CDE
- ldr r1, _080B9CB8 @ =gTasks
- lsls r2, r3, 2
- adds r0, r2, r3
- lsls r0, 3
- adds r3, r0, r1
- movs r5, 0xC
- ldrsh r0, [r3, r5]
- adds r6, r1, 0
- adds r5, r2, 0
- cmp r0, 0
- ble _080B9CD8
- movs r1, 0x18
- ldrsh r0, [r3, r1]
- cmp r0, 0
- bne _080B9CBC
- ldrb r1, [r3, 0xE]
- ldrb r2, [r3, 0x10]
- b _080B9CC0
- .align 2, 0
-_080B9CB4: .4byte gPaletteFade
-_080B9CB8: .4byte gTasks
-_080B9CBC:
- ldrb r1, [r3, 0x10]
- ldrb r2, [r3, 0xE]
-_080B9CC0:
- adds r0, r5, r4
- lsls r0, 3
- adds r0, r6
- movs r3, 0xC
- ldrsh r0, [r0, r3]
- cmp r0, 0x1
- bne _080B9CD0
- movs r2, 0
-_080B9CD0:
- adds r0, r4, 0
- bl sub_80B9C2C
- b _080B9CDE
-_080B9CD8:
- adds r0, r4, 0
- bl DestroyAnimVisualTask
-_080B9CDE:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80B9C7C
-
- thumb_func_start sub_80B9CE4
-sub_80B9CE4: @ 80B9CE4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r5, 0
- ldr r3, _080B9D88 @ =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r3
- ldr r2, _080B9D8C @ =gBattleAnimArgs
- ldrh r1, [r2]
- strh r1, [r0, 0x8]
- ldrh r1, [r2, 0x2]
- strh r1, [r0, 0xA]
- ldrh r1, [r2, 0x4]
- strh r1, [r0, 0xC]
- ldrh r1, [r2, 0x6]
- strh r1, [r0, 0xE]
- ldrh r1, [r2, 0x8]
- strh r1, [r0, 0x10]
- ldrh r1, [r2, 0xA]
- strh r1, [r0, 0x12]
- strh r5, [r0, 0x18]
- movs r4, 0
- ldr r0, _080B9D90 @ =gBattlersCount
- ldrb r1, [r0]
- mov r9, r3
- mov r8, r2
- cmp r5, r1
- bge _080B9D4C
- ldr r0, _080B9D94 @ =gBattleAnimAttacker
- ldrb r3, [r0]
- ldr r7, _080B9D98 @ =gBattleAnimTarget
- movs r0, 0x1
- mov r12, r0
- adds r2, r1, 0
-_080B9D32:
- cmp r4, r3
- beq _080B9D46
- ldrb r1, [r7]
- cmp r4, r1
- beq _080B9D46
- adds r1, r4, 0
- adds r1, 0x10
- mov r0, r12
- lsls r0, r1
- orrs r5, r0
-_080B9D46:
- adds r4, 0x1
- cmp r4, r2
- blt _080B9D32
-_080B9D4C:
- mov r2, r8
- movs r1, 0
- ldrsh r0, [r2, r1]
- cmp r0, 0x1
- bne _080B9D5A
- movs r0, 0xE
- orrs r5, r0
-_080B9D5A:
- lsls r4, r6, 2
- adds r4, r6
- lsls r4, 3
- add r4, r9
- lsrs r0, r5, 16
- strh r0, [r4, 0x1A]
- movs r0, 0xFF
- ands r5, r0
- strh r5, [r4, 0x1C]
- ldrb r2, [r4, 0x10]
- adds r0, r6, 0
- movs r1, 0
- bl sub_80B9DA0
- ldr r0, _080B9D9C @ =sub_80B9DF0
- str r0, [r4]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B9D88: .4byte gTasks
-_080B9D8C: .4byte gBattleAnimArgs
-_080B9D90: .4byte gBattlersCount
-_080B9D94: .4byte gBattleAnimAttacker
-_080B9D98: .4byte gBattleAnimTarget
-_080B9D9C: .4byte sub_80B9DF0
- thumb_func_end sub_80B9CE4
-
- thumb_func_start sub_80B9DA0
-sub_80B9DA0: @ 80B9DA0
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r1, 0
- adds r3, r2, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r5, 24
- lsrs r5, 24
- lsls r3, 24
- lsrs r3, 24
- ldr r1, _080B9DEC @ =gTasks
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- adds r4, r1
- ldrh r0, [r4, 0x1A]
- lsls r0, 16
- ldrh r1, [r4, 0x1C]
- orrs r0, r1
- movs r1, 0xA
- ldrsb r1, [r4, r1]
- ldrh r2, [r4, 0x12]
- str r2, [sp]
- adds r2, r5, 0
- bl BeginNormalPaletteFade
- ldrh r0, [r4, 0xC]
- subs r0, 0x1
- strh r0, [r4, 0xC]
- ldrh r0, [r4, 0x18]
- movs r1, 0x1
- eors r0, r1
- strh r0, [r4, 0x18]
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B9DEC: .4byte gTasks
- thumb_func_end sub_80B9DA0
-
- thumb_func_start sub_80B9DF0
-sub_80B9DF0: @ 80B9DF0
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- adds r4, r3, 0
- ldr r0, _080B9E28 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080B9E52
- ldr r1, _080B9E2C @ =gTasks
- lsls r2, r3, 2
- adds r0, r2, r3
- lsls r0, 3
- adds r3, r0, r1
- movs r5, 0xC
- ldrsh r0, [r3, r5]
- adds r6, r1, 0
- adds r5, r2, 0
- cmp r0, 0
- ble _080B9E4C
- movs r1, 0x18
- ldrsh r0, [r3, r1]
- cmp r0, 0
- bne _080B9E30
- ldrb r1, [r3, 0xE]
- ldrb r2, [r3, 0x10]
- b _080B9E34
- .align 2, 0
-_080B9E28: .4byte gPaletteFade
-_080B9E2C: .4byte gTasks
-_080B9E30:
- ldrb r1, [r3, 0x10]
- ldrb r2, [r3, 0xE]
-_080B9E34:
- adds r0, r5, r4
- lsls r0, 3
- adds r0, r6
- movs r3, 0xC
- ldrsh r0, [r0, r3]
- cmp r0, 0x1
- bne _080B9E44
- movs r2, 0
-_080B9E44:
- adds r0, r4, 0
- bl sub_80B9DA0
- b _080B9E52
-_080B9E4C:
- adds r0, r4, 0
- bl DestroyAnimVisualTask
-_080B9E52:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80B9DF0
-
- thumb_func_start sub_80B9E58
-sub_80B9E58: @ 80B9E58
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080B9E9C @ =gTasks
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- adds r4, r1
- ldr r3, _080B9EA0 @ =gBattleAnimArgs
- ldrh r1, [r3]
- movs r5, 0
- strh r1, [r4, 0x8]
- ldrh r1, [r3, 0x2]
- strh r1, [r4, 0xA]
- ldrh r1, [r3, 0x4]
- strh r1, [r4, 0xC]
- ldrh r1, [r3, 0x6]
- strh r1, [r4, 0xE]
- ldrh r2, [r3, 0x8]
- strh r2, [r4, 0x10]
- ldrh r1, [r3, 0xA]
- strh r1, [r4, 0x12]
- strh r5, [r4, 0x18]
- lsls r2, 24
- lsrs r2, 24
- movs r1, 0
- bl sub_80B9EA8
- ldr r0, _080B9EA4 @ =sub_80B9F04
- str r0, [r4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B9E9C: .4byte gTasks
-_080B9EA0: .4byte gBattleAnimArgs
-_080B9EA4: .4byte sub_80B9F04
- thumb_func_end sub_80B9E58
-
- thumb_func_start sub_80B9EA8
-sub_80B9EA8: @ 80B9EA8
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r1, 0
- adds r6, r2, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r5, 24
- lsrs r5, 24
- lsls r6, 24
- lsrs r6, 24
- ldr r1, _080B9F00 @ =gTasks
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- adds r4, r1
- ldrh r0, [r4, 0x8]
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x10
- movs r2, 0x1
- lsls r2, r0
- movs r1, 0xA
- ldrsb r1, [r4, r1]
- ldrh r0, [r4, 0x12]
- str r0, [sp]
- adds r0, r2, 0
- adds r2, r5, 0
- adds r3, r6, 0
- bl BeginNormalPaletteFade
- ldrh r0, [r4, 0xC]
- subs r0, 0x1
- strh r0, [r4, 0xC]
- ldrh r0, [r4, 0x18]
- movs r1, 0x1
- eors r0, r1
- strh r0, [r4, 0x18]
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B9F00: .4byte gTasks
- thumb_func_end sub_80B9EA8
-
- thumb_func_start sub_80B9F04
-sub_80B9F04: @ 80B9F04
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- adds r4, r3, 0
- ldr r0, _080B9F3C @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080B9F66
- ldr r1, _080B9F40 @ =gTasks
- lsls r2, r3, 2
- adds r0, r2, r3
- lsls r0, 3
- adds r3, r0, r1
- movs r5, 0xC
- ldrsh r0, [r3, r5]
- adds r6, r1, 0
- adds r5, r2, 0
- cmp r0, 0
- ble _080B9F60
- movs r1, 0x18
- ldrsh r0, [r3, r1]
- cmp r0, 0
- bne _080B9F44
- ldrb r1, [r3, 0xE]
- ldrb r2, [r3, 0x10]
- b _080B9F48
- .align 2, 0
-_080B9F3C: .4byte gPaletteFade
-_080B9F40: .4byte gTasks
-_080B9F44:
- ldrb r1, [r3, 0x10]
- ldrb r2, [r3, 0xE]
-_080B9F48:
- adds r0, r5, r4
- lsls r0, 3
- adds r0, r6
- movs r3, 0xC
- ldrsh r0, [r0, r3]
- cmp r0, 0x1
- bne _080B9F58
- movs r2, 0
-_080B9F58:
- adds r0, r4, 0
- bl sub_80B9EA8
- b _080B9F66
-_080B9F60:
- adds r0, r4, 0
- bl DestroyAnimVisualTask
-_080B9F66:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80B9F04
-
- thumb_func_start sub_80B9F6C
-sub_80B9F6C: @ 80B9F6C
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080B9FCC @ =gTasks
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- adds r4, r1
- ldr r5, _080B9FD0 @ =gBattleAnimArgs
- ldrh r0, [r5, 0x2]
- strh r0, [r4, 0x8]
- ldrh r0, [r5, 0x2]
- strh r0, [r4, 0xA]
- ldrh r0, [r5, 0x4]
- strh r0, [r4, 0xC]
- ldrh r0, [r5, 0x6]
- strh r0, [r4, 0xE]
- ldrh r0, [r5, 0x8]
- strh r0, [r4, 0x10]
- ldrh r0, [r5, 0xA]
- strh r0, [r4, 0x12]
- ldrh r0, [r5, 0xC]
- strh r0, [r4, 0x14]
- ldrh r0, [r5]
- strh r0, [r4, 0x16]
- ldrh r0, [r5]
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x10
- movs r1, 0x1
- lsls r1, r0
- ldrb r3, [r5, 0x8]
- ldrh r0, [r5, 0x6]
- str r0, [sp]
- adds r0, r1, 0
- movs r1, 0
- adds r2, r3, 0
- bl BeginNormalPaletteFade
- ldr r0, _080B9FD4 @ =sub_80B9FD8
- str r0, [r4]
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B9FCC: .4byte gTasks
-_080B9FD0: .4byte gBattleAnimArgs
-_080B9FD4: .4byte sub_80B9FD8
- thumb_func_end sub_80B9F6C
-
- thumb_func_start sub_80B9FD8
-sub_80B9FD8: @ 80B9FD8
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _080B9FFC @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- ldrh r1, [r4, 0x8]
- movs r2, 0x8
- ldrsh r0, [r4, r2]
- cmp r0, 0
- ble _080BA000
- subs r0, r1, 0x1
- strh r0, [r4, 0x8]
- b _080BA084
- .align 2, 0
-_080B9FFC: .4byte gTasks
-_080BA000:
- ldr r0, _080BA01C @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080BA084
- movs r3, 0xC
- ldrsh r0, [r4, r3]
- cmp r0, 0
- bne _080BA024
- ldr r0, _080BA020 @ =sub_80BA090
- str r0, [r4]
- b _080BA084
- .align 2, 0
-_080BA01C: .4byte gPaletteFade
-_080BA020: .4byte sub_80BA090
-_080BA024:
- ldrh r0, [r4, 0x16]
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x10
- movs r2, 0x1
- lsls r2, r0
- ldrh r1, [r4, 0xA]
- movs r0, 0x80
- lsls r0, 1
- ands r0, r1
- cmp r0, 0
- beq _080BA052
- ldrb r3, [r4, 0x10]
- ldrh r0, [r4, 0xE]
- str r0, [sp]
- adds r0, r2, 0
- movs r1, 0
- adds r2, r3, 0
- bl BeginNormalPaletteFade
- b _080BA062
-_080BA052:
- ldrb r3, [r4, 0x14]
- ldrh r0, [r4, 0x12]
- str r0, [sp]
- adds r0, r2, 0
- movs r1, 0
- adds r2, r3, 0
- bl BeginNormalPaletteFade
-_080BA062:
- ldr r0, _080BA08C @ =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0xA]
- movs r3, 0x80
- lsls r3, 1
- adds r2, r3, 0
- eors r0, r2
- strh r0, [r1, 0xA]
- movs r2, 0xFF
- ands r0, r2
- strh r0, [r1, 0x8]
- ldrh r0, [r1, 0xC]
- subs r0, 0x1
- strh r0, [r1, 0xC]
-_080BA084:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080BA08C: .4byte gTasks
- thumb_func_end sub_80B9FD8
-
- thumb_func_start sub_80BA090
-sub_80BA090: @ 80BA090
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080BA0E0 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _080BA0D6
- ldr r1, _080BA0E4 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldrh r0, [r0, 0x16]
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x10
- movs r1, 0x1
- lsls r1, r0
- str r5, [sp]
- adds r0, r1, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl BeginNormalPaletteFade
- adds r0, r4, 0
- bl DestroyAnimVisualTask
-_080BA0D6:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080BA0E0: .4byte gPaletteFade
-_080BA0E4: .4byte gTasks
- thumb_func_end sub_80BA090
-
- thumb_func_start sub_80BA0E8
-sub_80BA0E8: @ 80BA0E8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r2, 0
- ldr r0, _080BA160 @ =gBattleAnimAttacker
- ldrb r6, [r0]
- ldr r0, _080BA164 @ =gBattleAnimTarget
- ldrb r7, [r0]
- ldr r4, _080BA168 @ =gBattleAnimArgs
- ldrh r1, [r4]
- movs r5, 0x80
- lsls r5, 1
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _080BA122
- str r2, [sp]
- str r2, [sp, 0x4]
- str r2, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0
- movs r3, 0
- bl sub_8075BE8
- adds r2, r0, 0
-_080BA122:
- ldrh r1, [r4, 0x2]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _080BA134
- movs r0, 0x80
- lsls r0, 9
- lsls r0, r6
- orrs r2, r0
-_080BA134:
- ldrh r1, [r4, 0x4]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _080BA146
- movs r0, 0x80
- lsls r0, 9
- lsls r0, r7
- orrs r2, r0
-_080BA146:
- adds r0, r2, 0
- bl InvertPlttBuffer
- mov r0, r8
- bl DestroyAnimVisualTask
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080BA160: .4byte gBattleAnimAttacker
-_080BA164: .4byte gBattleAnimTarget
-_080BA168: .4byte gBattleAnimArgs
- thumb_func_end sub_80BA0E8
-
- thumb_func_start sub_80BA16C
-sub_80BA16C: @ 80BA16C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r5, 0
- ldr r1, _080BA260 @ =gTasks
- lsls r0, 2
- add r0, r8
- lsls r0, 3
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080BA1AE
- ldr r1, _080BA264 @ =gBattleAnimArgs
- ldrh r0, [r1]
- strh r0, [r4, 0xC]
- ldrh r0, [r1, 0x2]
- strh r0, [r4, 0xE]
- ldrh r0, [r1, 0x4]
- strh r0, [r4, 0x10]
- ldrh r0, [r1, 0x6]
- strh r0, [r4, 0xA]
- ldrh r0, [r1, 0x8]
- strh r0, [r4, 0x12]
- ldrh r0, [r1, 0xA]
- strh r0, [r4, 0x14]
- ldrh r0, [r1, 0xC]
- strh r0, [r4, 0x16]
-_080BA1AE:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- ldr r0, _080BA268 @ =gBattleAnimAttacker
- ldrb r0, [r0]
- mov r9, r0
- ldr r0, _080BA26C @ =gBattleAnimTarget
- ldrb r0, [r0]
- mov r10, r0
- ldrh r1, [r4, 0xC]
- movs r7, 0x80
- lsls r7, 1
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- beq _080BA1D0
- ldr r5, _080BA270 @ =0x0000ffff
-_080BA1D0:
- movs r6, 0x1
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _080BA200
- ldr r2, _080BA274 @ =gSprites
- ldr r0, _080BA278 @ =gHealthboxSpriteIds
- add r0, r9
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x14
- adds r0, r2
- ldr r0, [r0]
- ldrh r0, [r0, 0x2]
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- adds r1, r6, 0
- lsls r1, r0
- lsls r1, 16
- orrs r5, r1
-_080BA200:
- ldrh r1, [r4, 0xE]
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- beq _080BA214
- adds r0, r6, 0
- mov r2, r9
- lsls r0, r2
- lsls r0, 16
- orrs r5, r0
-_080BA214:
- ldrh r1, [r4, 0x10]
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- beq _080BA228
- adds r0, r6, 0
- mov r1, r10
- lsls r0, r1
- lsls r0, 16
- orrs r5, r0
-_080BA228:
- movs r1, 0x12
- ldrsb r1, [r4, r1]
- movs r2, 0x14
- ldrsb r2, [r4, r2]
- movs r3, 0x16
- ldrsb r3, [r4, r3]
- adds r0, r5, 0
- bl TintPlttBuffer
- movs r2, 0x8
- ldrsh r1, [r4, r2]
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- cmp r1, r0
- bne _080BA252
- adds r0, r5, 0
- bl UnfadePlttBuffer
- mov r0, r8
- bl DestroyAnimVisualTask
-_080BA252:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080BA260: .4byte gTasks
-_080BA264: .4byte gBattleAnimArgs
-_080BA268: .4byte gBattleAnimAttacker
-_080BA26C: .4byte gBattleAnimTarget
-_080BA270: .4byte 0x0000ffff
-_080BA274: .4byte gSprites
-_080BA278: .4byte gHealthboxSpriteIds
- thumb_func_end sub_80BA16C
-
- thumb_func_start sub_80BA27C
-sub_80BA27C: @ 80BA27C
- push {r4,lr}
- adds r4, r0, 0
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r1, _080BA2B0 @ =gBattleAnimArgs
- ldrh r0, [r1]
- negs r0, r0
- strh r0, [r4, 0x2E]
- ldrh r0, [r1, 0x2]
- strh r0, [r4, 0x30]
- strh r0, [r4, 0x32]
- ldrh r0, [r1, 0x4]
- strh r0, [r4, 0x34]
- movs r2, 0x6
- ldrsh r0, [r1, r2]
- cmp r0, 0x1
- beq _080BA2C4
- cmp r0, 0x1
- bgt _080BA2B4
- cmp r0, 0
- beq _080BA2BA
- b _080BA2DC
- .align 2, 0
-_080BA2B0: .4byte gBattleAnimArgs
-_080BA2B4:
- cmp r0, 0x2
- beq _080BA2CC
- b _080BA2DC
-_080BA2BA:
- ldr r1, _080BA2C0 @ =gBattle_BG3_X
- b _080BA2CE
- .align 2, 0
-_080BA2C0: .4byte gBattle_BG3_X
-_080BA2C4:
- ldr r1, _080BA2C8 @ =gBattle_BG3_Y
- b _080BA2CE
- .align 2, 0
-_080BA2C8: .4byte gBattle_BG3_Y
-_080BA2CC:
- ldr r1, _080BA2D8 @ =gSpriteCoordOffsetX
-_080BA2CE:
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- b _080BA2E4
- .align 2, 0
-_080BA2D8: .4byte gSpriteCoordOffsetX
-_080BA2DC:
- ldr r1, _080BA314 @ =gSpriteCoordOffsetY
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
-_080BA2E4:
- movs r0, 0x3A
- ldrsh r1, [r4, r0]
- movs r2, 0x3C
- ldrsh r0, [r4, r2]
- lsls r0, 16
- orrs r1, r0
- ldrh r0, [r1]
- strh r0, [r4, 0x36]
- ldr r0, _080BA318 @ =gBattleAnimArgs
- ldrh r0, [r0, 0x6]
- strh r0, [r4, 0x38]
- subs r0, 0x2
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bhi _080BA308
- bl sub_80BA3CC
-_080BA308:
- ldr r0, _080BA31C @ =sub_80BA320
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080BA314: .4byte gSpriteCoordOffsetY
-_080BA318: .4byte gBattleAnimArgs
-_080BA31C: .4byte sub_80BA320
- thumb_func_end sub_80BA27C
-
- thumb_func_start sub_80BA320
-sub_80BA320: @ 80BA320
- push {r4-r7,lr}
- adds r3, r0, 0
- ldrh r1, [r3, 0x34]
- movs r2, 0x34
- ldrsh r0, [r3, r2]
- cmp r0, 0
- ble _080BA362
- subs r0, r1, 0x1
- strh r0, [r3, 0x34]
- ldrh r1, [r3, 0x30]
- movs r2, 0x30
- ldrsh r0, [r3, r2]
- cmp r0, 0
- ble _080BA342
- subs r0, r1, 0x1
- strh r0, [r3, 0x30]
- b _080BA3BA
-_080BA342:
- ldrh r0, [r3, 0x32]
- strh r0, [r3, 0x30]
- movs r0, 0x3A
- ldrsh r1, [r3, r0]
- movs r2, 0x3C
- ldrsh r0, [r3, r2]
- lsls r0, 16
- orrs r1, r0
- ldrh r0, [r3, 0x2E]
- ldrh r2, [r1]
- adds r0, r2
- strh r0, [r1]
- ldrh r0, [r3, 0x2E]
- negs r0, r0
- strh r0, [r3, 0x2E]
- b _080BA3BA
-_080BA362:
- movs r0, 0x3A
- ldrsh r1, [r3, r0]
- movs r2, 0x3C
- ldrsh r0, [r3, r2]
- lsls r0, 16
- orrs r1, r0
- ldrh r0, [r3, 0x36]
- strh r0, [r1]
- ldrh r0, [r3, 0x38]
- subs r0, 0x2
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bhi _080BA3B4
- movs r4, 0
- ldr r5, _080BA3C0 @ =gBattlersCount
- ldrb r0, [r5]
- cmp r4, r0
- bcs _080BA3B4
- ldr r2, _080BA3C4 @ =gSprites
- mov r12, r2
- ldr r6, _080BA3C8 @ =gBattlerSpriteIds
- movs r7, 0x3
- negs r7, r7
-_080BA392:
- adds r0, r4, r6
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- add r1, r12
- adds r1, 0x3E
- ldrb r2, [r1]
- adds r0, r7, 0
- ands r0, r2
- strb r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- ldrb r0, [r5]
- cmp r4, r0
- bcc _080BA392
-_080BA3B4:
- adds r0, r3, 0
- bl DestroyAnimSprite
-_080BA3BA:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080BA3C0: .4byte gBattlersCount
-_080BA3C4: .4byte gSprites
-_080BA3C8: .4byte gBattlerSpriteIds
- thumb_func_end sub_80BA320
-
- thumb_func_start sub_80BA3CC
-sub_80BA3CC: @ 80BA3CC
- push {r4-r6,lr}
- ldr r6, _080BA440 @ =gSprites
- ldr r4, _080BA444 @ =gBattlerSpriteIds
- ldr r5, _080BA448 @ =gBattleAnimAttacker
- ldrb r0, [r5]
- adds r0, r4
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- adds r1, 0x3E
- ldrb r3, [r1]
- movs r2, 0x3
- negs r2, r2
- adds r0, r2, 0
- ands r0, r3
- strb r0, [r1]
- ldr r3, _080BA44C @ =gBattleAnimTarget
- ldrb r0, [r3]
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- adds r0, 0x3E
- ldrb r1, [r0]
- ands r2, r1
- strb r2, [r0]
- ldr r0, _080BA450 @ =gBattleAnimArgs
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- cmp r0, 0x2
- bne _080BA454
- ldrb r0, [r5]
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x2
- orrs r1, r2
- strb r1, [r0]
- ldrb r0, [r3]
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- adds r0, 0x3E
- ldrb r1, [r0]
- b _080BA470
- .align 2, 0
-_080BA440: .4byte gSprites
-_080BA444: .4byte gBattlerSpriteIds
-_080BA448: .4byte gBattleAnimAttacker
-_080BA44C: .4byte gBattleAnimTarget
-_080BA450: .4byte gBattleAnimArgs
-_080BA454:
- cmp r0, 0
- bne _080BA45C
- ldrb r0, [r5]
- b _080BA45E
-_080BA45C:
- ldrb r0, [r3]
-_080BA45E:
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x2
-_080BA470:
- orrs r1, r2
- strb r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80BA3CC
-
- thumb_func_start sub_80BA47C
-sub_80BA47C: @ 80BA47C
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080BA4BC @ =gTasks
- lsls r2, r0, 2
- adds r2, r0
- lsls r2, 3
- adds r2, r1
- ldr r3, _080BA4C0 @ =gBattleAnimArgs
- ldrh r1, [r3]
- strh r1, [r2, 0x8]
- ldrh r1, [r3, 0x2]
- strh r1, [r2, 0xA]
- ldrh r1, [r3, 0x4]
- strh r1, [r2, 0xC]
- ldrh r1, [r3, 0x6]
- strh r1, [r2, 0xE]
- ldrh r1, [r3, 0x6]
- strh r1, [r2, 0x18]
- ldr r4, _080BA4C4 @ =gBattle_BG3_X
- ldrh r1, [r3]
- strh r1, [r4]
- ldr r4, _080BA4C8 @ =gBattle_BG3_Y
- ldrh r1, [r3, 0x2]
- strh r1, [r4]
- ldr r1, _080BA4CC @ =sub_80BA4D0
- str r1, [r2]
- bl _call_via_r1
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080BA4BC: .4byte gTasks
-_080BA4C0: .4byte gBattleAnimArgs
-_080BA4C4: .4byte gBattle_BG3_X
-_080BA4C8: .4byte gBattle_BG3_Y
-_080BA4CC: .4byte sub_80BA4D0
- thumb_func_end sub_80BA47C
-
- thumb_func_start sub_80BA4D0
-sub_80BA4D0: @ 80BA4D0
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _080BA500 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r3, r0, r1
- ldrh r2, [r3, 0xE]
- movs r4, 0xE
- ldrsh r0, [r3, r4]
- mov r12, r1
- cmp r0, 0
- bne _080BA556
- ldr r0, _080BA504 @ =gBattle_BG3_X
- ldrh r2, [r0]
- movs r7, 0x8
- ldrsh r1, [r3, r7]
- adds r6, r0, 0
- cmp r2, r1
- bne _080BA508
- ldrh r0, [r3, 0x8]
- negs r0, r0
- b _080BA50A
- .align 2, 0
-_080BA500: .4byte gTasks
-_080BA504: .4byte gBattle_BG3_X
-_080BA508:
- ldrh r0, [r3, 0x8]
-_080BA50A:
- strh r0, [r6]
- ldr r2, _080BA528 @ =gBattle_BG3_Y
- ldrh r3, [r2]
- lsls r1, r5, 2
- adds r0, r1, r5
- lsls r0, 3
- mov r7, r12
- adds r4, r0, r7
- movs r7, 0xA
- ldrsh r0, [r4, r7]
- cmn r3, r0
- bne _080BA52C
- movs r0, 0
- b _080BA530
- .align 2, 0
-_080BA528: .4byte gBattle_BG3_Y
-_080BA52C:
- ldrh r0, [r4, 0xA]
- negs r0, r0
-_080BA530:
- strh r0, [r2]
- adds r0, r1, r5
- lsls r0, 3
- add r0, r12
- ldrh r1, [r0, 0x18]
- strh r1, [r0, 0xE]
- ldrh r1, [r0, 0xC]
- subs r1, 0x1
- strh r1, [r0, 0xC]
- lsls r1, 16
- asrs r1, 16
- cmp r1, 0
- bne _080BA55A
- strh r1, [r6]
- strh r1, [r2]
- adds r0, r5, 0
- bl DestroyAnimVisualTask
- b _080BA55A
-_080BA556:
- subs r0, r2, 0x1
- strh r0, [r3, 0xE]
-_080BA55A:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80BA4D0
-
- thumb_func_start sub_80BA560
-sub_80BA560: @ 80BA560
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, _080BA580 @ =gBattleAnimArgs
- ldrb r1, [r4, 0x6]
- bl StartSpriteAffineAnim
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080BA584
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_8075160
- b _080BA58C
- .align 2, 0
-_080BA580: .4byte gBattleAnimArgs
-_080BA584:
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_8075114
-_080BA58C:
- ldr r0, _080BA5A0 @ =sub_8074F50
- str r0, [r5, 0x1C]
- ldr r1, _080BA5A4 @ =DestroyAnimSprite
- adds r0, r5, 0
- bl StoreSpriteCallbackInData6
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080BA5A0: .4byte sub_8074F50
-_080BA5A4: .4byte DestroyAnimSprite
- thumb_func_end sub_80BA560
-
- thumb_func_start sub_80BA5A8
-sub_80BA5A8: @ 80BA5A8
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, _080BA5C8 @ =gBattleAnimArgs
- ldrb r1, [r4, 0x6]
- bl StartSpriteAffineAnim
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080BA5CC
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_8075160
- b _080BA5D4
- .align 2, 0
-_080BA5C8: .4byte gBattleAnimArgs
-_080BA5CC:
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_8075114
-_080BA5D4:
- ldr r0, _080BA5EC @ =gBattleAnimArgs
- ldrh r0, [r0, 0x8]
- strh r0, [r5, 0x2E]
- ldr r0, _080BA5F0 @ =sub_8074F50
- str r0, [r5, 0x1C]
- ldr r1, _080BA5F4 @ =sub_80B1D3C
- adds r0, r5, 0
- bl StoreSpriteCallbackInData6
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080BA5EC: .4byte gBattleAnimArgs
-_080BA5F0: .4byte sub_8074F50
-_080BA5F4: .4byte sub_80B1D3C
- thumb_func_end sub_80BA5A8
-
- thumb_func_start sub_80BA5F8
-sub_80BA5F8: @ 80BA5F8
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _080BA628 @ =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080BA61C
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _080BA61C
- ldr r1, _080BA62C @ =gBattleAnimArgs
- ldrh r0, [r1, 0x2]
- negs r0, r0
- strh r0, [r1, 0x2]
-_080BA61C:
- adds r0, r4, 0
- bl sub_80BA560
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080BA628: .4byte gBattleAnimAttacker
-_080BA62C: .4byte gBattleAnimArgs
- thumb_func_end sub_80BA5F8
-
- thumb_func_start sub_80BA630
-sub_80BA630: @ 80BA630
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, _080BA668 @ =gBattleAnimArgs
- movs r0, 0x2
- ldrsh r1, [r5, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080BA64C
- bl Random
- movs r1, 0x3
- ands r1, r0
- strh r1, [r5, 0x2]
-_080BA64C:
- ldrb r1, [r5, 0x2]
- adds r0, r4, 0
- bl StartSpriteAffineAnim
- movs r1, 0
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _080BA66C
- adds r0, r4, 0
- movs r1, 0
- bl sub_8075160
- b _080BA674
- .align 2, 0
-_080BA668: .4byte gBattleAnimArgs
-_080BA66C:
- adds r0, r4, 0
- movs r1, 0
- bl sub_8075114
-_080BA674:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x30
- bl __umodsi3
- ldr r1, _080BA6B8 @ =0x0000ffe8
- adds r0, r1
- ldrh r1, [r4, 0x24]
- adds r0, r1
- strh r0, [r4, 0x24]
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x18
- bl __umodsi3
- ldr r1, _080BA6BC @ =0x0000fff4
- adds r0, r1
- ldrh r1, [r4, 0x26]
- adds r0, r1
- strh r0, [r4, 0x26]
- ldr r1, _080BA6C0 @ =move_anim_8074EE0
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- ldr r0, _080BA6C4 @ =sub_8074F50
- str r0, [r4, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080BA6B8: .4byte 0x0000ffe8
-_080BA6BC: .4byte 0x0000fff4
-_080BA6C0: .4byte move_anim_8074EE0
-_080BA6C4: .4byte sub_8074F50
- thumb_func_end sub_80BA630
-
- thumb_func_start sub_80BA6C8
-sub_80BA6C8: @ 80BA6C8
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, _080BA728 @ =gBattleAnimArgs
- ldrb r0, [r5]
- bl GetAnimBankSpriteId
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x2E]
- ldr r2, _080BA72C @ =gSprites
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x24]
- ldrh r0, [r0, 0x20]
- adds r1, r0
- strh r1, [r4, 0x20]
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x26]
- ldrh r0, [r0, 0x22]
- adds r1, r0
- strh r1, [r4, 0x22]
- ldrh r0, [r5, 0x2]
- strh r0, [r4, 0x24]
- ldrh r0, [r5, 0x4]
- strh r0, [r4, 0x26]
- ldrb r1, [r5, 0x6]
- adds r0, r4, 0
- bl StartSpriteAffineAnim
- ldr r1, _080BA730 @ =move_anim_8074EE0
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- ldr r0, _080BA734 @ =sub_8074F50
- str r0, [r4, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080BA728: .4byte gBattleAnimArgs
-_080BA72C: .4byte gSprites
-_080BA730: .4byte move_anim_8074EE0
-_080BA734: .4byte sub_8074F50
- thumb_func_end sub_80BA6C8
-
- thumb_func_start sub_80BA738
-sub_80BA738: @ 80BA738
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _080BA750 @ =gBattleAnimArgs
- movs r1, 0x4
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080BA754
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8075160
- b _080BA75C
- .align 2, 0
-_080BA750: .4byte gBattleAnimArgs
-_080BA754:
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8075114
-_080BA75C:
- ldr r0, _080BA774 @ =gBattleAnimArgs
- ldrh r0, [r0, 0x6]
- strh r0, [r4, 0x2E]
- ldr r1, _080BA778 @ =DestroyAnimSprite
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- ldr r0, _080BA77C @ =sub_8074C44
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080BA774: .4byte gBattleAnimArgs
-_080BA778: .4byte DestroyAnimSprite
-_080BA77C: .4byte sub_8074C44
- thumb_func_end sub_80BA738
-
- thumb_func_start sub_80BA780
-sub_80BA780: @ 80BA780
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, _080BA7A0 @ =gBattleAnimArgs
- ldrb r1, [r4, 0x6]
- bl StartSpriteAffineAnim
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080BA7A4
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_8075160
- b _080BA7AC
- .align 2, 0
-_080BA7A0: .4byte gBattleAnimArgs
-_080BA7A4:
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_8075114
-_080BA7AC:
- ldr r0, _080BA7B8 @ =sub_80BA7BC
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080BA7B8: .4byte sub_80BA7BC
- thumb_func_end sub_80BA780
-
- thumb_func_start sub_80BA7BC
-sub_80BA7BC: @ 80BA7BC
- push {lr}
- adds r3, r0, 0
- movs r0, 0x3E
- adds r0, r3
- mov r12, r0
- ldrb r2, [r0]
- lsls r0, r2, 29
- lsrs r0, 31
- movs r1, 0x1
- eors r1, r0
- lsls r1, 2
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- mov r1, r12
- strb r0, [r1]
- ldrh r0, [r3, 0x2E]
- adds r1, r0, 0x1
- strh r1, [r3, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xC
- ble _080BA7F2
- adds r0, r3, 0
- bl DestroyAnimSprite
-_080BA7F2:
- pop {r0}
- bx r0
- thumb_func_end sub_80BA7BC
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/poison.s b/asm/poison.s
index 770941be8..0028cf7d8 100644
--- a/asm/poison.s
+++ b/asm/poison.s
@@ -20,7 +20,7 @@ sub_80B1620: @ 80B1620
_080B1636:
adds r0, r5, 0
movs r1, 0x1
- bl sub_8075160
+ bl InitSpritePosToAnimAttacker
ldrh r0, [r4, 0x4]
strh r0, [r5, 0x2E]
ldr r4, _080B1678 @ =gBattleAnimTarget
@@ -39,7 +39,7 @@ _080B1636:
ldr r0, _080B167C @ =0x0000ffe2
strh r0, [r5, 0x38]
adds r0, r5, 0
- bl sub_8075068
+ bl InitAnimArcTranslation
ldr r0, _080B1680 @ =sub_80B1684
str r0, [r5, 0x1C]
pop {r4,r5}
@@ -56,7 +56,7 @@ _080B1680: .4byte sub_80B1684
sub_80B1684: @ 80B1684
push {r4,lr}
adds r4, r0, 0
- bl AnimateBallThrow
+ bl TranslateAnimHorizontalArc
lsls r0, 24
cmp r0, 0
beq _080B1698
@@ -84,7 +84,7 @@ sub_80B16A0: @ 80B16A0
_080B16B8:
adds r0, r4, 0
movs r1, 0x1
- bl sub_8075160
+ bl InitSpritePosToAnimAttacker
ldr r0, _080B1718 @ =gBattleAnimTarget
ldrb r0, [r0]
mov r6, sp
@@ -92,7 +92,7 @@ _080B16B8:
movs r1, 0x1
mov r2, sp
adds r3, r6, 0
- bl sub_8076D9C
+ bl SetAverageBattlerPositions
ldr r0, _080B171C @ =gBattleAnimAttacker
ldrb r0, [r0]
bl GetBattlerSide
@@ -117,7 +117,7 @@ _080B16E6:
ldr r0, _080B1720 @ =0x0000ffe2
strh r0, [r4, 0x38]
adds r0, r4, 0
- bl sub_8075068
+ bl InitAnimArcTranslation
ldr r0, _080B1724 @ =sub_80B1728
str r0, [r4, 0x1C]
add sp, 0x4
@@ -136,7 +136,7 @@ _080B1724: .4byte sub_80B1728
sub_80B1728: @ 80B1728
push {r4,lr}
adds r4, r0, 0
- bl AnimateBallThrow
+ bl TranslateAnimHorizontalArc
lsls r0, 24
cmp r0, 0
beq _080B173C
@@ -193,7 +193,7 @@ _080B1794: .4byte sub_80B1798
sub_80B1798: @ 80B1798
push {r4,lr}
adds r4, r0, 0
- bl sub_8074D00
+ bl TranslateSpriteLinearFixedPoint
ldrh r0, [r4, 0x30]
ldrh r1, [r4, 0x38]
subs r0, r1
@@ -225,7 +225,7 @@ sub_80B17C4: @ 80B17C4
adds r3, r4, 0
adds r3, 0x22
movs r1, 0x1
- bl sub_8076D9C
+ bl SetAverageBattlerPositions
ldr r0, _080B1828 @ =gBattleAnimAttacker
ldrb r0, [r0]
bl GetBattlerSide
@@ -280,7 +280,7 @@ sub_80B1838: @ 80B1838
bne _080B1854
adds r0, r4, 0
movs r1, 0x1
- bl sub_8075114
+ bl InitSpritePosToAnimTarget
b _080B188A
.align 2, 0
_080B1850: .4byte gBattleAnimArgs
@@ -292,7 +292,7 @@ _080B1854:
adds r3, r4, 0
adds r3, 0x22
movs r1, 0x1
- bl sub_8076D9C
+ bl SetAverageBattlerPositions
ldr r0, _080B1898 @ =gBattleAnimAttacker
ldrb r0, [r0]
bl GetBattlerSide
@@ -323,4 +323,40 @@ _080B1898: .4byte gBattleAnimAttacker
_080B189C: .4byte sub_80B18A0
thumb_func_end sub_80B1838
+ thumb_func_start sub_80B18A0
+sub_80B18A0: @ 80B18A0
+ push {r4,lr}
+ adds r4, r0, 0
+ ldrh r0, [r4, 0x2E]
+ adds r0, 0xB
+ movs r1, 0xFF
+ ands r0, r1
+ strh r0, [r4, 0x2E]
+ movs r1, 0x2E
+ ldrsh r0, [r4, r1]
+ movs r1, 0x4
+ bl Sin
+ strh r0, [r4, 0x24]
+ ldrh r0, [r4, 0x30]
+ adds r0, 0x30
+ strh r0, [r4, 0x30]
+ lsls r0, 16
+ asrs r0, 24
+ negs r0, r0
+ strh r0, [r4, 0x26]
+ adds r0, r4, 0
+ adds r0, 0x3F
+ ldrb r1, [r0]
+ movs r0, 0x20
+ ands r0, r1
+ cmp r0, 0
+ beq _080B18DC
+ adds r0, r4, 0
+ bl DestroyAnimSprite
+_080B18DC:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80B18A0
+
.align 2, 0 @ Don't pad with nop.
diff --git a/asm/pokeball.s b/asm/pokeball.s
index 1d01b5c7e..fa1f4eee0 100644
--- a/asm/pokeball.s
+++ b/asm/pokeball.s
@@ -290,7 +290,7 @@ _0804AB6C:
ldr r0, _0804ABC8 @ =0x0000ffd8
strh r0, [r4, 0x38]
adds r0, r4, 0
- bl sub_8075068
+ bl InitAnimArcTranslation
mov r0, sp
ldrh r0, [r0]
strh r0, [r4, 0x6]
@@ -328,7 +328,7 @@ SpriteCB_TestBallThrow: @ 804ABD4
push {r7}
sub sp, 0x4
adds r7, r0, 0
- bl AnimateBallThrow
+ bl TranslateAnimHorizontalArc
lsls r0, 24
cmp r0, 0
beq _0804AC74
@@ -1692,7 +1692,7 @@ SpriteCB_PlayerMonSendOut_1: @ 804B684
ldrh r0, [r4, 0x3A]
strh r0, [r4, 0x6]
adds r0, r4, 0
- bl sub_8075068
+ bl InitAnimArcTranslation
ldr r0, _0804B6D0 @ =SpriteCB_PlayerMonSendOut_2
str r0, [r4, 0x1C]
pop {r4}
@@ -1754,7 +1754,7 @@ SpriteCB_PlayerMonSendOut_2: @ 804B6D4
_0804B736:
ldrh r4, [r5, 0x2E]
adds r0, r5, 0
- bl sub_80755E0
+ bl AnimTranslateLinear
movs r1, 0x3A
ldrsh r0, [r5, r1]
movs r1, 0x3
@@ -1825,7 +1825,7 @@ _0804B78E:
b _0804B834
_0804B7C8:
adds r0, r5, 0
- bl AnimateBallThrow
+ bl TranslateAnimHorizontalArc
lsls r0, 24
cmp r0, 0
beq _0804B834
@@ -2580,13 +2580,13 @@ _0804BD80:
_0804BD84: .4byte SpriteCallbackDummy
thumb_func_end sub_804BD6C
- thumb_func_start DestroySpriteAndFreeResources_
-DestroySpriteAndFreeResources_: @ 804BD88
+ thumb_func_start DestroySpriteAndFreeResources2
+DestroySpriteAndFreeResources2: @ 804BD88
push {lr}
bl DestroySpriteAndFreeResources
pop {r0}
bx r0
- thumb_func_end DestroySpriteAndFreeResources_
+ thumb_func_end DestroySpriteAndFreeResources2
thumb_func_start sub_804BD94
sub_804BD94: @ 804BD94
diff --git a/asm/pokemon_jump_2.s b/asm/pokemon_jump_2.s
index 66bb3dc52..44598a330 100644
--- a/asm/pokemon_jump_2.s
+++ b/asm/pokemon_jump_2.s
@@ -6157,7 +6157,7 @@ sub_814A8B8: @ 814A8B8
movs r6, 0
cmp r6, r10
bge _0814A922
- ldr r0, _0814A938 @ =gUnknown_82349CC
+ ldr r0, _0814A938 @ =gMonFrontPicCoords
mov r9, r0
ldr r1, _0814A93C @ =gUnknown_203F3D8
mov r8, r1
@@ -6200,7 +6200,7 @@ _0814A922:
bx r0
.align 2, 0
_0814A934: .4byte gUnknown_846D9D4
-_0814A938: .4byte gUnknown_82349CC
+_0814A938: .4byte gMonFrontPicCoords
_0814A93C: .4byte gUnknown_203F3D8
thumb_func_end sub_814A8B8
diff --git a/asm/pokemon_summary_screen.s b/asm/pokemon_summary_screen.s
index 71e5cbfaf..f6f746313 100644
--- a/asm/pokemon_summary_screen.s
+++ b/asm/pokemon_summary_screen.s
@@ -10728,7 +10728,7 @@ sub_8139D90: @ 8139D90
lsls r0, 2
ldr r1, _08139DB8 @ =gSprites
adds r0, r1
- bl DestroySpriteAndFreeResources_
+ bl DestroySpriteAndFreeResources2
pop {r0}
bx r0
.align 2, 0
diff --git a/asm/psychic.s b/asm/psychic.s
deleted file mode 100644
index cff45fc8c..000000000
--- a/asm/psychic.s
+++ /dev/null
@@ -1,2180 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_80B2ECC
-sub_80B2ECC: @ 80B2ECC
- push {r4-r7,lr}
- adds r6, r0, 0
- ldr r0, _080B2F84 @ =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080B2EE8
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _080B2EFE
-_080B2EE8:
- ldrb r1, [r6, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- movs r1, 0x8
- orrs r0, r1
- strb r0, [r6, 0x5]
- adds r1, r6, 0
- adds r1, 0x43
- movs r0, 0xC8
- strb r0, [r1]
-_080B2EFE:
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _080B2F5A
- movs r0, 0x1
- bl GetBattlerAtPosition
- lsls r0, 24
- lsrs r4, r0, 24
- adds r7, r4, 0
- adds r0, r4, 0
- bl sub_80768B0
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- eors r0, r1
- negs r1, r0
- orrs r1, r0
- lsrs r5, r1, 31
- adds r0, r4, 0
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _080B2F3C
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8072E48
-_080B2F3C:
- movs r0, 0x2
- adds r4, r0, 0
- eors r4, r7
- adds r0, r4, 0
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _080B2F5A
- movs r0, 0x1
- eors r5, r0
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8072E48
-_080B2F5A:
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _080B2F90
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _080B2F90
- ldr r0, _080B2F84 @ =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _080B2F88
- movs r0, 0x48
- strh r0, [r6, 0x20]
- movs r0, 0x50
- b _080B2FCA
- .align 2, 0
-_080B2F84: .4byte gBattleAnimAttacker
-_080B2F88:
- movs r0, 0xB0
- strh r0, [r6, 0x20]
- movs r0, 0x28
- b _080B2FCA
-_080B2F90:
- ldr r5, _080B3000 @ =gBattleAnimAttacker
- ldrb r0, [r5]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080B2FA6
- ldr r1, _080B3004 @ =gBattleAnimArgs
- ldrh r0, [r1]
- negs r0, r0
- strh r0, [r1]
-_080B2FA6:
- ldrb r0, [r5]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- ldr r4, _080B3004 @ =gBattleAnimArgs
- lsrs r0, 24
- ldrh r1, [r4]
- adds r0, r1
- strh r0, [r6, 0x20]
- ldrb r0, [r5]
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r4, [r4, 0x2]
- adds r0, r4
-_080B2FCA:
- strh r0, [r6, 0x22]
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _080B2FDC
- ldrh r0, [r6, 0x22]
- adds r0, 0x9
- strh r0, [r6, 0x22]
-_080B2FDC:
- ldr r0, _080B3004 @ =gBattleAnimArgs
- ldrh r0, [r0, 0x4]
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 20
- movs r1, 0x80
- lsls r1, 1
- adds r0, r1
- strh r0, [r6, 0x2E]
- ldr r1, _080B3008 @ =sub_80B300C
- str r1, [r6, 0x1C]
- adds r0, r6, 0
- bl _call_via_r1
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B3000: .4byte gBattleAnimAttacker
-_080B3004: .4byte gBattleAnimArgs
-_080B3008: .4byte sub_80B300C
- thumb_func_end sub_80B2ECC
-
- thumb_func_start sub_80B300C
-sub_80B300C: @ 80B300C
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x34]
- movs r1, 0x10
- subs r1, r0
- lsls r1, 8
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- ldrh r1, [r4, 0x34]
- movs r2, 0x34
- ldrsh r0, [r4, r2]
- cmp r0, 0xD
- bne _080B3038
- ldr r0, _080B3034 @ =sub_80B3044
- str r0, [r4, 0x1C]
- b _080B303C
- .align 2, 0
-_080B3034: .4byte sub_80B3044
-_080B3038:
- adds r0, r1, 0x1
- strh r0, [r4, 0x34]
-_080B303C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80B300C
-
- thumb_func_start sub_80B3044
-sub_80B3044: @ 80B3044
- push {r4-r7,lr}
- adds r3, r0, 0
- ldrh r0, [r3, 0x30]
- adds r0, 0x1
- strh r0, [r3, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- bne _080B30A2
- movs r0, 0
- strh r0, [r3, 0x30]
- ldrh r4, [r3, 0x2E]
- ldr r1, _080B30A8 @ =gPlttBufferFaded
- adds r0, r4, 0
- adds r0, 0x8
- lsls r0, 1
- adds r0, r1
- ldrh r7, [r0]
- movs r5, 0x8
- adds r6, r1, 0
- adds r1, r4, 0x7
- lsls r0, r4, 1
- adds r0, r6
- adds r2, r0, 0
- adds r2, 0x10
- lsls r1, 1
- adds r1, r6
-_080B307A:
- ldrh r0, [r1]
- strh r0, [r2]
- subs r1, 0x2
- subs r2, 0x2
- subs r5, 0x1
- cmp r5, 0
- bgt _080B307A
- adds r0, r4, 0x1
- lsls r0, 1
- adds r0, r6
- strh r7, [r0]
- ldrh r0, [r3, 0x32]
- adds r0, 0x1
- strh r0, [r3, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x10
- bne _080B30A2
- ldr r0, _080B30AC @ =sub_80B30B0
- str r0, [r3, 0x1C]
-_080B30A2:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B30A8: .4byte gPlttBufferFaded
-_080B30AC: .4byte sub_80B30B0
- thumb_func_end sub_80B3044
-
- thumb_func_start sub_80B30B0
-sub_80B30B0: @ 80B30B0
- push {r4-r6,lr}
- adds r5, r0, 0
- ldrh r0, [r5, 0x34]
- movs r1, 0x10
- subs r1, r0
- lsls r1, 8
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- ldrh r0, [r5, 0x34]
- subs r0, 0x1
- strh r0, [r5, 0x34]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _080B3156
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _080B3146
- movs r0, 0x1
- bl GetBattlerAtPosition
- lsls r0, 24
- lsrs r4, r0, 24
- adds r6, r4, 0
- adds r0, r4, 0
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _080B3118
- ldr r2, _080B315C @ =gSprites
- ldr r0, _080B3160 @ =gBattlerSpriteIds
- adds r0, r4, r0
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
-_080B3118:
- movs r0, 0x2
- adds r4, r0, 0
- eors r4, r6
- adds r0, r4, 0
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _080B3146
- ldr r2, _080B315C @ =gSprites
- ldr r0, _080B3160 @ =gBattlerSpriteIds
- adds r0, r4, r0
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
-_080B3146:
- adds r2, r5, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r0, _080B3164 @ =sub_80B3168
- str r0, [r5, 0x1C]
-_080B3156:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B315C: .4byte gSprites
-_080B3160: .4byte gBattlerSpriteIds
-_080B3164: .4byte sub_80B3168
- thumb_func_end sub_80B30B0
-
- thumb_func_start sub_80B3168
-sub_80B3168: @ 80B3168
- push {r4-r6,lr}
- adds r6, r0, 0
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _080B31C0
- movs r0, 0x1
- bl GetBattlerAtPosition
- lsls r0, 24
- lsrs r0, 24
- adds r4, r0, 0
- bl sub_80768B0
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- eors r0, r1
- negs r1, r0
- orrs r1, r0
- lsrs r5, r1, 31
- adds r0, r4, 0
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _080B31A6
- adds r0, r5, 0
- bl sub_8073128
-_080B31A6:
- movs r0, 0x2
- eors r4, r0
- adds r0, r4, 0
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _080B31C0
- movs r0, 0x1
- eors r5, r0
- adds r0, r5, 0
- bl sub_8073128
-_080B31C0:
- ldr r0, _080B31CC @ =DestroyAnimSprite
- str r0, [r6, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B31CC: .4byte DestroyAnimSprite
- thumb_func_end sub_80B3168
-
- thumb_func_start sub_80B31D0
-sub_80B31D0: @ 80B31D0
- push {r4-r6,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080B325C
- ldr r5, _080B321C @ =gBattleAnimArgs
- movs r1, 0x6
- ldrsh r0, [r5, r1]
- movs r6, 0
- cmp r0, 0
- bne _080B31EA
- movs r6, 0x1
-_080B31EA:
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _080B3232
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _080B3232
- ldr r0, _080B3220 @ =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _080B3224
- ldrh r0, [r5]
- movs r1, 0x48
- subs r1, r0
- strh r1, [r4, 0x20]
- ldrh r0, [r5, 0x2]
- adds r0, 0x50
- strh r0, [r4, 0x22]
- b _080B3254
- .align 2, 0
-_080B321C: .4byte gBattleAnimArgs
-_080B3220: .4byte gBattleAnimAttacker
-_080B3224:
- ldrh r0, [r5]
- adds r0, 0xB0
- strh r0, [r4, 0x20]
- ldrh r0, [r5, 0x2]
- adds r0, 0x28
- strh r0, [r4, 0x22]
- b _080B3254
-_080B3232:
- ldr r0, _080B3248 @ =gBattleAnimArgs
- movs r1, 0x4
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080B324C
- adds r0, r4, 0
- adds r1, r6, 0
- bl sub_8075160
- b _080B3254
- .align 2, 0
-_080B3248: .4byte gBattleAnimArgs
-_080B324C:
- adds r0, r4, 0
- adds r1, r6, 0
- bl sub_8075114
-_080B3254:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- b _080B3270
-_080B325C:
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x30
- ands r0, r1
- cmp r0, 0
- beq _080B3270
- adds r0, r4, 0
- bl move_anim_8074EE0
-_080B3270:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80B31D0
-
- thumb_func_start sub_80B3278
-sub_80B3278: @ 80B3278
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, _080B32C0 @ =gBattleAnimAttacker
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
- ldrb r0, [r4]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080B32C8
- adds r0, r5, 0
- movs r1, 0x1
- bl StartSpriteAnim
- ldrh r0, [r5, 0x20]
- subs r0, 0x28
- strh r0, [r5, 0x20]
- ldrh r0, [r5, 0x22]
- adds r0, 0xA
- strh r0, [r5, 0x22]
- ldr r0, _080B32C4 @ =0x0000ffff
- b _080B32D6
- .align 2, 0
-_080B32C0: .4byte gBattleAnimAttacker
-_080B32C4: .4byte 0x0000ffff
-_080B32C8:
- ldrh r0, [r5, 0x20]
- adds r0, 0x28
- strh r0, [r5, 0x20]
- ldrh r0, [r5, 0x22]
- subs r0, 0xA
- strh r0, [r5, 0x22]
- movs r0, 0x1
-_080B32D6:
- strh r0, [r5, 0x30]
- ldr r1, _080B32EC @ =DestroyAnimSprite
- adds r0, r5, 0
- bl StoreSpriteCallbackInData6
- ldr r0, _080B32F0 @ =sub_8074F6C
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B32EC: .4byte DestroyAnimSprite
-_080B32F0: .4byte sub_8074F6C
- thumb_func_end sub_80B3278
-
- thumb_func_start sub_80B32F4
-sub_80B32F4: @ 80B32F4
- push {r4-r7,lr}
- adds r5, r0, 0
- ldr r6, _080B3378 @ =gBattleAnimAttacker
- ldrb r0, [r6]
- movs r1, 0x1
- bl sub_8076B2C
- lsls r0, 16
- asrs r1, r0, 16
- lsrs r0, 31
- adds r1, r0
- lsls r1, 15
- lsrs r4, r1, 16
- ldrb r0, [r6]
- movs r1, 0
- bl sub_8076B2C
- lsls r0, 16
- asrs r1, r0, 16
- lsrs r0, 31
- adds r1, r0
- asrs r1, 1
- negs r1, r1
- lsls r1, 16
- lsrs r7, r1, 16
- ldrb r0, [r6]
- bl GetBattlerSide
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080B333A
- lsls r0, r4, 16
- negs r0, r0
- lsrs r4, r0, 16
-_080B333A:
- ldrb r0, [r6]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- adds r0, r4
- strh r0, [r5, 0x20]
- ldrb r0, [r6]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- adds r0, r7
- strh r0, [r5, 0x22]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xF
- bgt _080B3366
- movs r0, 0x10
- strh r0, [r5, 0x22]
-_080B3366:
- ldr r1, _080B337C @ =sub_80B3384
- adds r0, r5, 0
- bl StoreSpriteCallbackInData6
- ldr r0, _080B3380 @ =sub_8074F6C
- str r0, [r5, 0x1C]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B3378: .4byte gBattleAnimAttacker
-_080B337C: .4byte sub_80B3384
-_080B3380: .4byte sub_8074F6C
- thumb_func_end sub_80B32F4
-
- thumb_func_start sub_80B3384
-sub_80B3384: @ 80B3384
- push {r4,lr}
- adds r4, r0, 0
- ldrb r1, [r4, 0x1]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r4, 0x1]
- ldr r0, _080B33B0 @ =gUnknown_83E6FF0
- str r0, [r4, 0x10]
- movs r0, 0
- strh r0, [r4, 0x2E]
- adds r0, r4, 0
- bl InitSpriteAffineAnim
- ldr r0, _080B33B4 @ =sub_80B33B8
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B33B0: .4byte gUnknown_83E6FF0
-_080B33B4: .4byte sub_80B33B8
- thumb_func_end sub_80B3384
-
- thumb_func_start sub_80B33B8
-sub_80B33B8: @ 80B33B8
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080B33CA
- cmp r0, 0x1
- beq _080B33F8
- b _080B3410
-_080B33CA:
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080B3410
- ldrb r0, [r4, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- ldrb r1, [r4, 0x1]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x1]
- movs r0, 0x12
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- b _080B3410
-_080B33F8:
- ldrh r0, [r4, 0x30]
- subs r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _080B3410
- adds r0, r4, 0
- bl DestroyAnimSprite
-_080B3410:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80B33B8
-
- thumb_func_start sub_80B3418
-sub_80B3418: @ 80B3418
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r0, _080B3448 @ =gTasks
- adds r4, r0
- movs r0, 0
- bl GetAnimBankSpriteId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- strh r1, [r4, 0x8]
- ldr r2, _080B344C @ =gUnknown_83E700C
- adds r0, r4, 0
- bl sub_80762D0
- ldr r0, _080B3450 @ =sub_80B3454
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B3448: .4byte gTasks
-_080B344C: .4byte gUnknown_83E700C
-_080B3450: .4byte sub_80B3454
- thumb_func_end sub_80B3418
-
- thumb_func_start sub_80B3454
-sub_80B3454: @ 80B3454
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, _080B347C @ =gTasks
- adds r0, r1
- bl sub_8076308
- lsls r0, 24
- cmp r0, 0
- bne _080B3474
- adds r0, r4, 0
- bl DestroyAnimVisualTask
-_080B3474:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B347C: .4byte gTasks
- thumb_func_end sub_80B3454
-
- thumb_func_start sub_80B3480
-sub_80B3480: @ 80B3480
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _080B34CC @ =gTasks
- adds r4, r1, r0
- movs r0, 0
- bl GetAnimBankSpriteId
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- strh r0, [r4, 0x8]
- strh r1, [r4, 0xA]
- strh r1, [r4, 0xC]
- ldr r0, _080B34D0 @ =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- movs r1, 0x8
- cmp r0, 0
- beq _080B34B4
- movs r1, 0x4
-_080B34B4:
- strh r1, [r4, 0xE]
- ldrb r1, [r4, 0x8]
- ldr r2, _080B34D4 @ =gUnknown_83E702C
- adds r0, r4, 0
- bl sub_80762D0
- ldr r0, _080B34D8 @ =sub_80B34DC
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B34CC: .4byte gTasks
-_080B34D0: .4byte gBattleAnimAttacker
-_080B34D4: .4byte gUnknown_83E702C
-_080B34D8: .4byte sub_80B34DC
- thumb_func_end sub_80B3480
-
- thumb_func_start sub_80B34DC
-sub_80B34DC: @ 80B34DC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _080B34FC @ =gTasks
- adds r4, r0, r1
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080B3500
- cmp r0, 0x1
- beq _080B351C
- b _080B357A
- .align 2, 0
-_080B34FC: .4byte gTasks
-_080B3500:
- adds r0, r4, 0
- bl sub_8076308
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x13
- ble _080B357A
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- b _080B357A
-_080B351C:
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080B3544
- ldr r2, _080B3540 @ =gSprites
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x26]
- subs r1, 0x8
- strh r1, [r0, 0x26]
- ldrh r0, [r4, 0xE]
- subs r0, 0x1
- strh r0, [r4, 0xE]
- b _080B357A
- .align 2, 0
-_080B3540: .4byte gSprites
-_080B3544:
- ldr r3, _080B3580 @ =gSprites
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- movs r1, 0x88
- lsls r1, 1
- strh r1, [r0, 0x20]
- ldrb r0, [r4, 0x8]
- bl ResetSpriteRotScale
- adds r0, r5, 0
- bl DestroyAnimVisualTask
-_080B357A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B3580: .4byte gSprites
- thumb_func_end sub_80B34DC
-
- thumb_func_start sub_80B3584
-sub_80B3584: @ 80B3584
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _080B360C @ =gTasks
- adds r5, r1, r0
- movs r1, 0
- movs r0, 0x10
- strh r0, [r5, 0xE]
- strh r1, [r5, 0x10]
- ldr r4, _080B3610 @ =gBattleAnimAttacker
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x24]
- ldrb r0, [r4]
- movs r1, 0x1
- bl sub_8076B2C
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x3
- bl __divsi3
- lsls r0, 16
- lsrs r6, r0, 16
- ldrb r0, [r4]
- movs r1, 0
- bl sub_8076B2C
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x3
- bl __divsi3
- lsls r0, 16
- lsrs r0, 16
- adds r1, r0, 0
- cmp r0, r6
- bcs _080B35EE
- adds r1, r6, 0
-_080B35EE:
- strh r1, [r5, 0x20]
- movs r1, 0xFD
- lsls r1, 6
- movs r0, 0x50
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0x10
- bl SetGpuReg
- ldr r0, _080B3614 @ =sub_80B3618
- str r0, [r5]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B360C: .4byte gTasks
-_080B3610: .4byte gBattleAnimAttacker
-_080B3614: .4byte sub_80B3618
- thumb_func_end sub_80B3584
-
- thumb_func_start sub_80B3618
-sub_80B3618: @ 80B3618
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _080B363C @ =gTasks
- adds r4, r0, r1
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- cmp r1, 0x1
- beq _080B3718
- cmp r1, 0x1
- bgt _080B3640
- cmp r1, 0
- beq _080B364E
- b _080B379E
- .align 2, 0
-_080B363C: .4byte gTasks
-_080B3640:
- cmp r1, 0x2
- bne _080B3646
- b _080B377A
-_080B3646:
- cmp r1, 0x3
- bne _080B364C
- b _080B3788
-_080B364C:
- b _080B379E
-_080B364E:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x8
- bgt _080B365E
- b _080B379E
-_080B365E:
- strh r1, [r4, 0xA]
- ldr r0, _080B369C @ =gUnknown_83E7044
- movs r2, 0x22
- ldrsh r1, [r4, r2]
- movs r3, 0x24
- ldrsh r2, [r4, r3]
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- movs r0, 0xC
- ldrsh r1, [r4, r0]
- adds r1, 0x8
- lsls r1, 1
- adds r0, r4, 0
- adds r0, 0x8
- adds r0, r1
- strh r2, [r0]
- cmp r2, 0x40
- beq _080B3702
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _080B36BC
- cmp r0, 0x1
- bgt _080B36A0
- cmp r0, 0
- beq _080B36AA
- b _080B3702
- .align 2, 0
-_080B369C: .4byte gUnknown_83E7044
-_080B36A0:
- cmp r0, 0x2
- beq _080B36D4
- cmp r0, 0x3
- beq _080B36EC
- b _080B3702
-_080B36AA:
- ldr r0, _080B36B8 @ =gSprites
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r4, 0x20]
- b _080B36FA
- .align 2, 0
-_080B36B8: .4byte gSprites
-_080B36BC:
- ldr r0, _080B36D0 @ =gSprites
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r4, 0x20]
- negs r0, r0
- strh r0, [r1, 0x24]
- ldrh r0, [r4, 0x20]
- b _080B3700
- .align 2, 0
-_080B36D0: .4byte gSprites
-_080B36D4:
- ldr r1, _080B36E8 @ =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- ldrh r1, [r4, 0x20]
- strh r1, [r0, 0x24]
- ldrh r1, [r4, 0x20]
- strh r1, [r0, 0x26]
- b _080B3702
- .align 2, 0
-_080B36E8: .4byte gSprites
-_080B36EC:
- ldr r0, _080B3714 @ =gSprites
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r4, 0x20]
- negs r0, r0
-_080B36FA:
- strh r0, [r1, 0x24]
- ldrh r0, [r4, 0x20]
- negs r0, r0
-_080B3700:
- strh r0, [r1, 0x26]
-_080B3702:
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5
- bne _080B379E
- b _080B377A
- .align 2, 0
-_080B3714: .4byte gSprites
-_080B3718:
- ldrh r0, [r4, 0xA]
- ands r1, r0
- cmp r1, 0
- beq _080B3728
- ldrh r0, [r4, 0xE]
- subs r0, 0x1
- strh r0, [r4, 0xE]
- b _080B372E
-_080B3728:
- ldrh r0, [r4, 0x10]
- adds r0, 0x1
- strh r0, [r4, 0x10]
-_080B372E:
- ldrh r1, [r4, 0x10]
- lsls r1, 8
- ldrh r0, [r4, 0xE]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x20
- bne _080B379E
- movs r5, 0x8
- adds r6, r4, 0
- adds r6, 0x8
-_080B3754:
- lsls r0, r5, 1
- adds r1, r6, r0
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0x40
- beq _080B3770
- adds r1, r0, 0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080B3784 @ =gSprites
- adds r0, r1
- bl DestroySprite
-_080B3770:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0xC
- bls _080B3754
-_080B377A:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080B379E
- .align 2, 0
-_080B3784: .4byte gSprites
-_080B3788:
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- adds r0, r5, 0
- bl DestroyAnimVisualTask
-_080B379E:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80B3618
-
- thumb_func_start sub_80B37A4
-sub_80B37A4: @ 80B37A4
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x30
- ldrsh r1, [r4, r0]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- subs r0, 0xA
- cmp r1, r0
- ble _080B37CE
- ldrh r0, [r4, 0x30]
- movs r1, 0x1
- ands r1, r0
- adds r3, r4, 0
- adds r3, 0x3E
- lsls r1, 2
- ldrb r2, [r3]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
-_080B37CE:
- movs r0, 0x30
- ldrsh r1, [r4, r0]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r1, r0
- bne _080B37E0
- adds r0, r4, 0
- bl DestroyAnimSprite
-_080B37E0:
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80B37A4
-
- thumb_func_start sub_80B37EC
-sub_80B37EC: @ 80B37EC
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r6, _080B3828 @ =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _080B3818
- ldr r4, _080B382C @ =gBattleAnimAttacker
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
-_080B3818:
- ldrh r0, [r6, 0x2]
- strh r0, [r5, 0x2E]
- ldr r0, _080B3830 @ =sub_80B37A4
- str r0, [r5, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B3828: .4byte gBattleAnimArgs
-_080B382C: .4byte gBattleAnimAttacker
-_080B3830: .4byte sub_80B37A4
- thumb_func_end sub_80B37EC
-
- thumb_func_start sub_80B3834
-sub_80B3834: @ 80B3834
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _080B3890 @ =gTasks
- adds r5, r1, r0
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _080B38D8
- ldr r0, _080B3894 @ =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0x1
- bne _080B38A4
- ldr r0, _080B3898 @ =0x0000fff6
- strh r0, [r5, 0x1C]
- ldr r4, _080B389C @ =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0x5
- bl sub_8076B2C
- subs r0, 0x8
- strh r0, [r5, 0x1E]
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8076B2C
- adds r0, 0x8
- strh r0, [r5, 0x20]
- ldr r4, _080B38A0 @ =gBattleAnimAttacker
- ldrb r0, [r4]
- movs r1, 0x5
- bl sub_8076B2C
- subs r0, 0x8
- strh r0, [r5, 0x22]
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8076B2C
- adds r0, 0x8
- b _080B3962
- .align 2, 0
-_080B3890: .4byte gTasks
-_080B3894: .4byte gBattleAnimArgs
-_080B3898: .4byte 0x0000fff6
-_080B389C: .4byte gBattleAnimTarget
-_080B38A0: .4byte gBattleAnimAttacker
-_080B38A4:
- movs r0, 0xA
- strh r0, [r5, 0x1C]
- ldr r4, _080B38D0 @ =gBattleAnimAttacker
- ldrb r0, [r4]
- movs r1, 0x4
- bl sub_8076B2C
- adds r0, 0x8
- strh r0, [r5, 0x1E]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_8076B2C
- subs r0, 0x8
- strh r0, [r5, 0x20]
- ldr r4, _080B38D4 @ =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0x4
- bl sub_8076B2C
- adds r0, 0x8
- b _080B3956
- .align 2, 0
-_080B38D0: .4byte gBattleAnimAttacker
-_080B38D4: .4byte gBattleAnimTarget
-_080B38D8:
- ldr r0, _080B391C @ =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0x1
- bne _080B392C
- ldr r0, _080B3920 @ =0x0000fff6
- strh r0, [r5, 0x1C]
- ldr r4, _080B3924 @ =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0x4
- bl sub_8076B2C
- adds r0, 0x8
- strh r0, [r5, 0x1E]
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8076B2C
- adds r0, 0x8
- strh r0, [r5, 0x20]
- ldr r4, _080B3928 @ =gBattleAnimAttacker
- ldrb r0, [r4]
- movs r1, 0x4
- bl sub_8076B2C
- adds r0, 0x8
- strh r0, [r5, 0x22]
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8076B2C
- adds r0, 0x8
- b _080B3962
- .align 2, 0
-_080B391C: .4byte gBattleAnimArgs
-_080B3920: .4byte 0x0000fff6
-_080B3924: .4byte gBattleAnimTarget
-_080B3928: .4byte gBattleAnimAttacker
-_080B392C:
- movs r0, 0xA
- strh r0, [r5, 0x1C]
- ldr r4, _080B3974 @ =gBattleAnimAttacker
- ldrb r0, [r4]
- movs r1, 0x5
- bl sub_8076B2C
- subs r0, 0x8
- strh r0, [r5, 0x1E]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_8076B2C
- subs r0, 0x8
- strh r0, [r5, 0x20]
- ldr r4, _080B3978 @ =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0x5
- bl sub_8076B2C
- subs r0, 0x8
-_080B3956:
- strh r0, [r5, 0x22]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_8076B2C
- subs r0, 0x8
-_080B3962:
- strh r0, [r5, 0x24]
- movs r0, 0x6
- strh r0, [r5, 0xA]
- ldr r0, _080B397C @ =sub_80B3980
- str r0, [r5]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B3974: .4byte gBattleAnimAttacker
-_080B3978: .4byte gBattleAnimTarget
-_080B397C: .4byte sub_80B3980
- thumb_func_end sub_80B3834
-
- thumb_func_start sub_80B3980
-sub_80B3980: @ 80B3980
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, _080B39A0 @ =gTasks
- adds r5, r0, r1
- movs r0, 0x8
- ldrsh r1, [r5, r0]
- cmp r1, 0
- beq _080B39A4
- cmp r1, 0x1
- beq _080B3A18
- b _080B3A2C
- .align 2, 0
-_080B39A0: .4byte gTasks
-_080B39A4:
- ldrh r0, [r5, 0xA]
- adds r0, 0x1
- strh r0, [r5, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x6
- ble _080B3A2C
- strh r1, [r5, 0xA]
- ldr r0, _080B3A10 @ =gUnknown_83E7114
- movs r2, 0x1E
- ldrsh r1, [r5, r2]
- movs r3, 0x20
- ldrsh r2, [r5, r3]
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _080B39F8
- ldr r0, _080B3A14 @ =gSprites
- lsls r4, r1, 4
- adds r4, r1
- lsls r4, 2
- adds r4, r0
- movs r0, 0x10
- strh r0, [r4, 0x2E]
- ldrh r0, [r5, 0x22]
- strh r0, [r4, 0x32]
- ldrh r0, [r5, 0x24]
- strh r0, [r4, 0x36]
- ldrh r0, [r5, 0x1C]
- strh r0, [r4, 0x38]
- adds r0, r4, 0
- bl sub_8075068
- ldrb r0, [r5, 0xC]
- movs r1, 0x3
- ands r1, r0
- adds r0, r4, 0
- bl StartSpriteAffineAnim
-_080B39F8:
- ldrh r0, [r5, 0xC]
- adds r0, 0x1
- strh r0, [r5, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xC
- bne _080B3A2C
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- b _080B3A2C
- .align 2, 0
-_080B3A10: .4byte gUnknown_83E7114
-_080B3A14: .4byte gSprites
-_080B3A18:
- ldrh r0, [r5, 0xA]
- adds r0, 0x1
- strh r0, [r5, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x11
- ble _080B3A2C
- adds r0, r2, 0
- bl DestroyAnimVisualTask
-_080B3A2C:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80B3980
-
- thumb_func_start sub_80B3A34
-sub_80B3A34: @ 80B3A34
- push {r4,lr}
- adds r4, r0, 0
- bl AnimateBallThrow
- lsls r0, 24
- cmp r0, 0
- beq _080B3A52
- ldrb r0, [r4, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- adds r0, r4, 0
- bl DestroySprite
-_080B3A52:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80B3A34
-
- thumb_func_start sub_80B3A58
-sub_80B3A58: @ 80B3A58
- push {r4-r6,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _080B3A90 @ =gTasks
- adds r4, r1, r0
- ldr r0, _080B3A94 @ =gBattleAnimTarget
- ldrb r0, [r0]
- bl sub_807492C
- lsls r0, 24
- lsrs r1, r0, 24
- adds r0, r1, 0
- subs r0, 0x20
- strh r0, [r4, 0x24]
- ldr r0, _080B3A98 @ =gBattleAnimArgs
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0x1
- beq _080B3AAE
- cmp r0, 0x1
- bgt _080B3A9C
- cmp r0, 0
- beq _080B3AA2
- b _080B3ACA
- .align 2, 0
-_080B3A90: .4byte gTasks
-_080B3A94: .4byte gBattleAnimTarget
-_080B3A98: .4byte gBattleAnimArgs
-_080B3A9C:
- cmp r0, 0x2
- beq _080B3ABA
- b _080B3ACA
-_080B3AA2:
- movs r0, 0x2
- strh r0, [r4, 0x1E]
- movs r0, 0x5
- strh r0, [r4, 0x20]
- movs r0, 0x40
- b _080B3AC2
-_080B3AAE:
- movs r0, 0x2
- strh r0, [r4, 0x1E]
- movs r0, 0x5
- strh r0, [r4, 0x20]
- movs r0, 0xC0
- b _080B3AC2
-_080B3ABA:
- movs r0, 0x4
- strh r0, [r4, 0x1E]
- strh r0, [r4, 0x20]
- movs r0, 0
-_080B3AC2:
- strh r0, [r4, 0x22]
- adds r0, r1, 0
- adds r0, 0x20
- strh r0, [r4, 0x26]
-_080B3ACA:
- movs r1, 0x24
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bge _080B3AD6
- movs r0, 0
- strh r0, [r4, 0x24]
-_080B3AD6:
- ldr r0, _080B3AF0 @ =gBattleAnimTarget
- ldrb r0, [r0]
- bl sub_80768B0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080B3AFC
- ldr r0, _080B3AF4 @ =gBattle_BG1_X
- ldrh r0, [r0]
- strh r0, [r4, 0x1C]
- ldr r0, _080B3AF8 @ =0x04000014
- b _080B3B04
- .align 2, 0
-_080B3AF0: .4byte gBattleAnimTarget
-_080B3AF4: .4byte gBattle_BG1_X
-_080B3AF8: .4byte 0x04000014
-_080B3AFC:
- ldr r0, _080B3B64 @ =gBattle_BG2_X
- ldrh r0, [r0]
- strh r0, [r4, 0x1C]
- ldr r0, _080B3B68 @ =0x04000018
-_080B3B04:
- str r0, [sp]
- ldrh r1, [r4, 0x24]
- lsls r3, r1, 16
- asrs r1, r3, 16
- movs r2, 0x24
- ldrsh r0, [r4, r2]
- adds r0, 0x40
- cmp r1, r0
- bgt _080B3B3E
- ldr r5, _080B3B6C @ =gScanlineEffectRegBuffers
- movs r0, 0xF0
- lsls r0, 3
- adds r6, r5, r0
-_080B3B1E:
- asrs r3, 16
- lsls r1, r3, 1
- adds r2, r1, r5
- ldrh r0, [r4, 0x1C]
- strh r0, [r2]
- adds r1, r6
- ldrh r0, [r4, 0x1C]
- strh r0, [r1]
- adds r3, 0x1
- lsls r3, 16
- asrs r1, r3, 16
- movs r2, 0x24
- ldrsh r0, [r4, r2]
- adds r0, 0x40
- cmp r1, r0
- ble _080B3B1E
-_080B3B3E:
- ldr r0, _080B3B70 @ =0xa2600001
- str r0, [sp, 0x4]
- mov r1, sp
- movs r2, 0
- movs r0, 0x1
- strb r0, [r1, 0x8]
- mov r0, sp
- strb r2, [r0, 0x9]
- ldr r0, [sp]
- ldr r1, [sp, 0x4]
- ldr r2, [sp, 0x8]
- bl ScanlineEffect_SetParams
- ldr r0, _080B3B74 @ =sub_80B3B78
- str r0, [r4]
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B3B64: .4byte gBattle_BG2_X
-_080B3B68: .4byte 0x04000018
-_080B3B6C: .4byte gScanlineEffectRegBuffers
-_080B3B70: .4byte 0xa2600001
-_080B3B74: .4byte sub_80B3B78
- thumb_func_end sub_80B3A58
-
- thumb_func_start sub_80B3B78
-sub_80B3B78: @ 80B3B78
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, _080B3BA0 @ =gTasks
- adds r5, r0, r1
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- beq _080B3C52
- cmp r0, 0x1
- bgt _080B3BA4
- cmp r0, 0
- beq _080B3BAA
- b _080B3C6A
- .align 2, 0
-_080B3BA0: .4byte gTasks
-_080B3BA4:
- cmp r0, 0x2
- beq _080B3C64
- b _080B3C6A
-_080B3BAA:
- ldrh r3, [r5, 0x22]
- ldrh r4, [r5, 0x24]
- movs r2, 0x24
- ldrsh r1, [r5, r2]
- movs r2, 0x26
- ldrsh r0, [r5, r2]
- cmp r1, r0
- bgt _080B3C42
- ldr r0, _080B3BF4 @ =gSineTable
- mov r9, r0
- movs r7, 0x3
- ldr r1, _080B3BF8 @ =gScanlineEffectRegBuffers
- mov r12, r1
- movs r2, 0xF0
- lsls r2, 3
- add r2, r12
- mov r8, r2
-_080B3BCC:
- lsls r2, r3, 16
- asrs r0, r2, 15
- add r0, r9
- movs r3, 0
- ldrsh r0, [r0, r3]
- movs r3, 0x20
- ldrsh r1, [r5, r3]
- asrs r0, r1
- lsls r0, 16
- lsrs r1, r0, 16
- asrs r3, r0, 16
- adds r6, r2, 0
- cmp r3, 0
- ble _080B3BFC
- ldrh r1, [r5, 0xA]
- adds r0, r7, 0
- ands r0, r1
- adds r0, r3, r0
- b _080B3C08
- .align 2, 0
-_080B3BF4: .4byte gSineTable
-_080B3BF8: .4byte gScanlineEffectRegBuffers
-_080B3BFC:
- cmp r3, 0
- bge _080B3C0C
- ldrh r1, [r5, 0xA]
- adds r0, r7, 0
- ands r0, r1
- subs r0, r3, r0
-_080B3C08:
- lsls r0, 16
- lsrs r1, r0, 16
-_080B3C0C:
- lsls r2, r4, 16
- asrs r2, 16
- lsls r3, r2, 1
- mov r0, r12
- adds r4, r3, r0
- ldrh r0, [r5, 0x1C]
- lsls r1, 16
- asrs r1, 16
- adds r0, r1, r0
- strh r0, [r4]
- add r3, r8
- ldrh r0, [r5, 0x1C]
- adds r1, r0
- strh r1, [r3]
- asrs r0, r6, 16
- ldrh r1, [r5, 0x1E]
- adds r0, r1
- lsls r0, 16
- lsrs r3, r0, 16
- adds r2, 0x1
- lsls r2, 16
- lsrs r4, r2, 16
- asrs r2, 16
- movs r1, 0x26
- ldrsh r0, [r5, r1]
- cmp r2, r0
- ble _080B3BCC
-_080B3C42:
- ldrh r0, [r5, 0xA]
- adds r0, 0x1
- strh r0, [r5, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x17
- ble _080B3C6A
- b _080B3C58
-_080B3C52:
- ldr r1, _080B3C60 @ =gScanlineEffect
- movs r0, 0x3
- strb r0, [r1, 0x15]
-_080B3C58:
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- b _080B3C6A
- .align 2, 0
-_080B3C60: .4byte gScanlineEffect
-_080B3C64:
- adds r0, r2, 0
- bl DestroyAnimVisualTask
-_080B3C6A:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80B3B78
-
- thumb_func_start sub_80B3C78
-sub_80B3C78: @ 80B3C78
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r4, r0, 24
- mov r8, r4
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, _080B3CAC @ =gTasks
- adds r7, r0, r1
- bl AllocOamMatrix
- lsls r0, 24
- lsrs r5, r0, 24
- mov r10, r5
- adds r6, r5, 0
- cmp r6, 0xFF
- bne _080B3CB0
- adds r0, r4, 0
- bl DestroyAnimVisualTask
- b _080B3D5A
- .align 2, 0
-_080B3CAC: .4byte gTasks
-_080B3CB0:
- ldr r1, _080B3CD4 @ =gBattleAnimArgs
- ldrb r0, [r1]
- bl duplicate_obj_of_side_rel2move_in_transparent_mode
- lsls r0, 16
- lsrs r1, r0, 16
- mov r9, r1
- asrs r0, 16
- cmp r0, 0
- bge _080B3CD8
- adds r0, r5, 0
- bl FreeOamMatrix
- mov r0, r8
- bl DestroyAnimVisualTask
- b _080B3D5A
- .align 2, 0
-_080B3CD4: .4byte gBattleAnimArgs
-_080B3CD8:
- ldr r2, _080B3D68 @ =gSprites
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- adds r0, r2, 0
- adds r0, 0x1C
- adds r0, r4, r0
- ldr r1, _080B3D6C @ =SpriteCallbackDummy
- str r1, [r0]
- adds r4, r2
- ldrb r0, [r4, 0x1]
- movs r1, 0x3
- orrs r0, r1
- strb r0, [r4, 0x1]
- movs r0, 0x1F
- ands r6, r0
- lsls r2, r6, 1
- ldrb r1, [r4, 0x3]
- movs r0, 0x3F
- negs r0, r0
- ands r0, r1
- orrs r0, r2
- strb r0, [r4, 0x3]
- adds r2, r4, 0
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2]
- adds r1, r4, 0
- adds r1, 0x43
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- mov r1, r9
- lsls r0, r1, 24
- lsrs r0, 24
- movs r2, 0x80
- lsls r2, 1
- adds r1, r2, 0
- movs r3, 0
- bl SetSpriteRotScale
- ldrb r3, [r4, 0x1]
- lsrs r1, r3, 6
- ldrb r2, [r4, 0x3]
- lsrs r2, 6
- lsls r3, 30
- lsrs r3, 30
- adds r0, r4, 0
- bl CalcCenterToCornerVec
- ldr r1, _080B3D70 @ =gBattleAnimArgs
- ldrb r0, [r1]
- bl GetAnimBankSpriteId
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r7, 0x22]
- mov r0, r10
- strh r0, [r7, 0x24]
- mov r1, r9
- strh r1, [r7, 0x26]
- ldr r0, _080B3D74 @ =sub_80B3D78
- str r0, [r7]
-_080B3D5A:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B3D68: .4byte gSprites
-_080B3D6C: .4byte SpriteCallbackDummy
-_080B3D70: .4byte gBattleAnimArgs
-_080B3D74: .4byte sub_80B3D78
- thumb_func_end sub_80B3C78
-
- thumb_func_start sub_80B3D78
-sub_80B3D78: @ 80B3D78
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _080B3D9C @ =gTasks
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _080B3DFC
- cmp r0, 0x1
- bgt _080B3DA0
- cmp r0, 0
- beq _080B3DAA
- b _080B3E7C
- .align 2, 0
-_080B3D9C: .4byte gTasks
-_080B3DA0:
- cmp r0, 0x2
- beq _080B3E4C
- cmp r0, 0x3
- beq _080B3E6C
- b _080B3E7C
-_080B3DAA:
- ldrh r0, [r4, 0xA]
- adds r0, 0x4
- strh r0, [r4, 0xA]
- ldr r1, _080B3DF8 @ =gSineTable
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- lsls r1, 16
- asrs r1, 17
- movs r2, 0x80
- lsls r2, 1
- adds r0, r2, 0
- subs r0, r1
- strh r0, [r4, 0xC]
- ldrh r0, [r4, 0x26]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0xC
- ldrsh r2, [r4, r1]
- adds r1, r2, 0
- movs r3, 0
- bl SetSpriteRotScale
- ldrh r0, [r4, 0x26]
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x22]
- lsls r1, 24
- lsrs r1, 24
- bl sub_8076494
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- cmp r0, 0x30
- bne _080B3E7C
- b _080B3E5E
- .align 2, 0
-_080B3DF8: .4byte gSineTable
-_080B3DFC:
- ldrh r0, [r4, 0xA]
- subs r0, 0x4
- strh r0, [r4, 0xA]
- ldr r1, _080B3E48 @ =gSineTable
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- lsls r1, 16
- asrs r1, 17
- movs r2, 0x80
- lsls r2, 1
- adds r0, r2, 0
- subs r0, r1
- strh r0, [r4, 0xC]
- ldrh r0, [r4, 0x26]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0xC
- ldrsh r2, [r4, r1]
- adds r1, r2, 0
- movs r3, 0
- bl SetSpriteRotScale
- ldrh r0, [r4, 0x26]
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x22]
- lsls r1, 24
- lsrs r1, 24
- bl sub_8076494
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _080B3E7C
- b _080B3E5E
- .align 2, 0
-_080B3E48: .4byte gSineTable
-_080B3E4C:
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080B3E68 @ =gSprites
- adds r0, r1
- bl obj_delete_but_dont_free_vram
-_080B3E5E:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080B3E7C
- .align 2, 0
-_080B3E68: .4byte gSprites
-_080B3E6C:
- ldrh r0, [r4, 0x24]
- lsls r0, 24
- lsrs r0, 24
- bl FreeOamMatrix
- adds r0, r5, 0
- bl DestroyAnimVisualTask
-_080B3E7C:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80B3D78
-
- thumb_func_start sub_80B3E84
-sub_80B3E84: @ 80B3E84
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- beq _080B3EFC
- cmp r0, 0x1
- bgt _080B3E9A
- cmp r0, 0
- beq _080B3EA4
- b _080B3FA4
-_080B3E9A:
- cmp r0, 0x2
- beq _080B3F2E
- cmp r0, 0x3
- beq _080B3F8E
- b _080B3FA4
-_080B3EA4:
- ldr r4, _080B3EF8 @ =gBattleAnimAttacker
- ldrb r0, [r4]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _080B3ED2
- ldrh r0, [r5, 0x22]
- adds r0, 0xC
- strh r0, [r5, 0x22]
-_080B3ED2:
- movs r0, 0x8
- strh r0, [r5, 0x30]
- movs r1, 0xFD
- lsls r1, 6
- movs r0, 0x50
- bl SetGpuReg
- ldrh r0, [r5, 0x30]
- movs r1, 0x10
- subs r1, r0
- lsls r1, 8
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- b _080B3F26
- .align 2, 0
-_080B3EF8: .4byte gBattleAnimAttacker
-_080B3EFC:
- adds r0, r5, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080B3FA4
- movs r0, 0x40
- negs r0, r0
- bl sub_8073A44
- adds r1, r0, 0
- lsls r1, 24
- asrs r1, 24
- movs r0, 0xC4
- bl PlaySE12WithPanning
- adds r0, r5, 0
- movs r1, 0x1
- bl ChangeSpriteAffineAnim
-_080B3F26:
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
- b _080B3FA4
-_080B3F2E:
- ldrh r0, [r5, 0x32]
- adds r1, r0, 0x1
- strh r1, [r5, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _080B3F72
- movs r0, 0
- strh r0, [r5, 0x32]
- ldrh r1, [r5, 0x30]
- subs r1, 0x1
- strh r1, [r5, 0x30]
- movs r0, 0x10
- subs r0, r1
- lsls r0, 8
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- movs r1, 0x30
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _080B3F72
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
- adds r2, r5, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
-_080B3F72:
- movs r0, 0xE0
- lsls r0, 2
- adds r2, r0, 0
- ldrh r1, [r5, 0x34]
- adds r2, r1
- lsls r1, r2, 16
- asrs r1, 24
- ldrh r0, [r5, 0x26]
- subs r0, r1
- strh r0, [r5, 0x26]
- movs r0, 0xFF
- ands r2, r0
- strh r2, [r5, 0x34]
- b _080B3FA4
-_080B3F8E:
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- adds r0, r5, 0
- bl DestroyAnimSprite
-_080B3FA4:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80B3E84
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/rock.s b/asm/rock.s
deleted file mode 100644
index c0da2bcfa..000000000
--- a/asm/rock.s
+++ /dev/null
@@ -1,1558 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_80B4634
-sub_80B4634: @ 80B4634
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r6, _080B46A0 @ =gBattleAnimArgs
- movs r1, 0x6
- ldrsh r0, [r6, r1]
- cmp r0, 0
- beq _080B4654
- ldr r0, _080B46A4 @ =gBattleAnimTarget
- ldrb r0, [r0]
- adds r2, r5, 0
- adds r2, 0x20
- adds r3, r5, 0
- adds r3, 0x22
- movs r1, 0
- bl sub_8076D9C
-_080B4654:
- ldrh r0, [r6]
- ldrh r1, [r5, 0x20]
- adds r0, r1
- movs r4, 0
- strh r0, [r5, 0x20]
- ldrh r0, [r5, 0x22]
- adds r0, 0xE
- strh r0, [r5, 0x22]
- ldrb r1, [r6, 0x2]
- adds r0, r5, 0
- bl StartSpriteAnim
- adds r0, r5, 0
- bl AnimateSprite
- strh r4, [r5, 0x2E]
- strh r4, [r5, 0x30]
- movs r0, 0x4
- strh r0, [r5, 0x32]
- movs r0, 0x10
- strh r0, [r5, 0x34]
- ldr r0, _080B46A8 @ =0x0000ffba
- strh r0, [r5, 0x36]
- ldrh r0, [r6, 0x4]
- strh r0, [r5, 0x38]
- ldr r1, _080B46AC @ =sub_80B46B4
- adds r0, r5, 0
- bl StoreSpriteCallbackInData6
- ldr r1, _080B46B0 @ =sub_8074BE4
- str r1, [r5, 0x1C]
- adds r0, r5, 0
- bl _call_via_r1
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B46A0: .4byte gBattleAnimArgs
-_080B46A4: .4byte gBattleAnimTarget
-_080B46A8: .4byte 0x0000ffba
-_080B46AC: .4byte sub_80B46B4
-_080B46B0: .4byte sub_8074BE4
- thumb_func_end sub_80B4634
-
- thumb_func_start sub_80B46B4
-sub_80B46B4: @ 80B46B4
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x38]
- ldrh r2, [r4, 0x20]
- adds r0, r1, r2
- strh r0, [r4, 0x20]
- movs r0, 0xC0
- strh r0, [r4, 0x2E]
- strh r1, [r4, 0x30]
- movs r0, 0x4
- strh r0, [r4, 0x32]
- movs r0, 0x20
- strh r0, [r4, 0x34]
- ldr r0, _080B46EC @ =0x0000ffe8
- strh r0, [r4, 0x36]
- ldr r1, _080B46F0 @ =move_anim_8074EE0
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- ldr r1, _080B46F4 @ =sub_8074BE4
- str r1, [r4, 0x1C]
- adds r0, r4, 0
- bl _call_via_r1
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B46EC: .4byte 0x0000ffe8
-_080B46F0: .4byte move_anim_8074EE0
-_080B46F4: .4byte sub_8074BE4
- thumb_func_end sub_80B46B4
-
- thumb_func_start sub_80B46F8
-sub_80B46F8: @ 80B46F8
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, _080B4720 @ =gBattleAnimArgs
- ldrb r1, [r4, 0xA]
- bl StartSpriteAnim
- adds r0, r5, 0
- bl AnimateSprite
- ldr r0, _080B4724 @ =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080B4728
- ldrh r0, [r5, 0x20]
- ldrh r1, [r4]
- subs r0, r1
- b _080B472E
- .align 2, 0
-_080B4720: .4byte gBattleAnimArgs
-_080B4724: .4byte gBattleAnimAttacker
-_080B4728:
- ldrh r0, [r4]
- ldrh r1, [r5, 0x20]
- adds r0, r1
-_080B472E:
- strh r0, [r5, 0x20]
- ldr r3, _080B4770 @ =gBattleAnimArgs
- ldrh r2, [r3, 0x2]
- ldrh r0, [r5, 0x22]
- adds r2, r0
- movs r4, 0
- strh r2, [r5, 0x22]
- ldrh r0, [r3, 0x8]
- strh r0, [r5, 0x2E]
- ldrh r0, [r5, 0x20]
- strh r0, [r5, 0x30]
- ldrh r1, [r3, 0x4]
- adds r0, r1
- strh r0, [r5, 0x32]
- strh r2, [r5, 0x34]
- ldrh r0, [r3, 0x6]
- adds r2, r0
- strh r2, [r5, 0x36]
- adds r0, r5, 0
- bl InitSpriteDataForLinearTranslation
- strh r4, [r5, 0x34]
- strh r4, [r5, 0x36]
- ldr r0, _080B4774 @ =sub_8074D00
- str r0, [r5, 0x1C]
- ldr r1, _080B4778 @ =move_anim_8074EE0
- adds r0, r5, 0
- bl StoreSpriteCallbackInData6
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B4770: .4byte gBattleAnimArgs
-_080B4774: .4byte sub_8074D00
-_080B4778: .4byte move_anim_8074EE0
- thumb_func_end sub_80B46F8
-
- thumb_func_start sub_80B477C
-sub_80B477C: @ 80B477C
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _080B4794 @ =gBattleAnimArgs
- movs r1, 0xC
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080B4798
- adds r0, r4, 0
- movs r1, 0
- bl sub_8075160
- b _080B47A0
- .align 2, 0
-_080B4794: .4byte gBattleAnimArgs
-_080B4798:
- adds r0, r4, 0
- movs r1, 0
- bl sub_8075114
-_080B47A0:
- ldr r1, _080B47BC @ =gBattleAnimArgs
- ldrh r0, [r1, 0x6]
- strh r0, [r4, 0x2E]
- ldrh r0, [r1, 0x4]
- strh r0, [r4, 0x30]
- ldrh r0, [r1, 0x8]
- strh r0, [r4, 0x32]
- ldrh r0, [r1, 0xA]
- strh r0, [r4, 0x34]
- ldr r0, _080B47C0 @ =sub_80B47C4
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B47BC: .4byte gBattleAnimArgs
-_080B47C0: .4byte sub_80B47C4
- thumb_func_end sub_80B477C
-
- thumb_func_start sub_80B47C4
-sub_80B47C4: @ 80B47C4
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x30]
- ldrh r1, [r4, 0x36]
- adds r0, r1
- strh r0, [r4, 0x36]
- lsls r0, 16
- asrs r0, 24
- negs r0, r0
- strh r0, [r4, 0x26]
- movs r2, 0x38
- ldrsh r0, [r4, r2]
- movs r2, 0x34
- ldrsh r1, [r4, r2]
- bl Sin
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x32]
- ldrh r1, [r4, 0x38]
- adds r0, r1
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x38]
- ldrh r0, [r4, 0x2E]
- subs r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _080B480A
- adds r0, r4, 0
- bl DestroyAnimSprite
-_080B480A:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80B47C4
-
- thumb_func_start do_boulder_dust
-do_boulder_dust: @ 80B4810
- push {r4-r6,lr}
- sub sp, 0x10
- lsls r0, 24
- lsrs r6, r0, 24
- movs r5, 0
- ldr r1, _080B48E4 @ =0x00003f42
- movs r0, 0x50
- bl SetGpuReg
- movs r1, 0x80
- lsls r1, 5
- movs r0, 0x52
- bl SetGpuReg
- movs r0, 0x1
- movs r1, 0x4
- movs r2, 0x1
- bl SetAnimBgAttribute
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl SetAnimBgAttribute
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _080B4854
- movs r0, 0x1
- movs r1, 0x3
- movs r2, 0x1
- bl SetAnimBgAttribute
-_080B4854:
- ldr r0, _080B48E8 @ =gBattle_BG1_X
- strh r5, [r0]
- ldr r4, _080B48EC @ =gBattle_BG1_Y
- strh r5, [r4]
- movs r0, 0x14
- movs r1, 0
- bl SetGpuReg
- ldrh r1, [r4]
- movs r0, 0x16
- bl SetGpuReg
- mov r0, sp
- bl sub_80752A0
- mov r0, sp
- ldrb r0, [r0, 0x9]
- ldr r1, _080B48F0 @ =gFile_graphics_battle_anims_backgrounds_sandstorm_brew_tilemap
- bl sub_807543C
- mov r0, sp
- ldrb r0, [r0, 0x9]
- ldr r1, _080B48F4 @ =gFile_graphics_battle_anims_backgrounds_sandstorm_brew_sheet
- mov r2, sp
- ldrh r2, [r2, 0xA]
- bl sub_80753B4
- ldr r0, _080B48F8 @ =gFile_graphics_battle_anims_sprites_261_palette
- mov r1, sp
- ldrb r1, [r1, 0x8]
- lsls r1, 4
- movs r2, 0x20
- bl LoadCompressedPalette
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _080B48B0
- mov r0, sp
- ldrb r0, [r0, 0x8]
- ldr r1, [sp, 0x4]
- movs r2, 0
- movs r3, 0
- bl sub_80730C0
-_080B48B0:
- ldr r0, _080B48FC @ =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- beq _080B48CA
- ldr r0, _080B4900 @ =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080B48CA
- movs r5, 0x1
-_080B48CA:
- ldr r0, _080B4904 @ =gTasks
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r0
- strh r5, [r1, 0x8]
- ldr r0, _080B4908 @ =sub_80B490C
- str r0, [r1]
- add sp, 0x10
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B48E4: .4byte 0x00003f42
-_080B48E8: .4byte gBattle_BG1_X
-_080B48EC: .4byte gBattle_BG1_Y
-_080B48F0: .4byte gFile_graphics_battle_anims_backgrounds_sandstorm_brew_tilemap
-_080B48F4: .4byte gFile_graphics_battle_anims_backgrounds_sandstorm_brew_sheet
-_080B48F8: .4byte gFile_graphics_battle_anims_sprites_261_palette
-_080B48FC: .4byte gBattleAnimArgs
-_080B4900: .4byte gBattleAnimAttacker
-_080B4904: .4byte gTasks
-_080B4908: .4byte sub_80B490C
- thumb_func_end do_boulder_dust
-
- thumb_func_start sub_80B490C
-sub_80B490C: @ 80B490C
- push {r4,r5,lr}
- sub sp, 0x10
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _080B4934 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r2, 0x8
- ldrsh r0, [r0, r2]
- adds r2, r1, 0
- cmp r0, 0
- bne _080B4940
- ldr r1, _080B4938 @ =gBattle_BG1_X
- ldr r3, _080B493C @ =0x0000fffa
- adds r0, r3, 0
- ldrh r3, [r1]
- adds r0, r3
- b _080B4946
- .align 2, 0
-_080B4934: .4byte gTasks
-_080B4938: .4byte gBattle_BG1_X
-_080B493C: .4byte 0x0000fffa
-_080B4940:
- ldr r1, _080B4974 @ =gBattle_BG1_X
- ldrh r0, [r1]
- adds r0, 0x6
-_080B4946:
- strh r0, [r1]
- ldr r1, _080B4978 @ =gBattle_BG1_Y
- ldr r3, _080B497C @ =0x0000ffff
- adds r0, r3, 0
- ldrh r3, [r1]
- adds r0, r3
- strh r0, [r1]
- lsls r1, r5, 2
- adds r0, r1, r5
- lsls r0, 3
- adds r0, r2
- movs r3, 0x20
- ldrsh r0, [r0, r3]
- adds r4, r1, 0
- cmp r0, 0x4
- bls _080B4968
- b _080B4A96
-_080B4968:
- lsls r0, 2
- ldr r1, _080B4980 @ =_080B4984
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080B4974: .4byte gBattle_BG1_X
-_080B4978: .4byte gBattle_BG1_Y
-_080B497C: .4byte 0x0000ffff
-_080B4980: .4byte _080B4984
- .align 2, 0
-_080B4984:
- .4byte _080B4998
- .4byte _080B49DA
- .4byte _080B49F4
- .4byte _080B4A36
- .4byte _080B4A58
-_080B4998:
- adds r0, r4, r5
- lsls r0, 3
- adds r4, r0, r2
- ldrh r0, [r4, 0x1C]
- adds r0, 0x1
- movs r5, 0
- strh r0, [r4, 0x1C]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- bne _080B4A96
- strh r5, [r4, 0x1C]
- ldrh r1, [r4, 0x1E]
- adds r1, 0x1
- strh r1, [r4, 0x1E]
- movs r0, 0x10
- subs r0, r1
- lsls r0, 8
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- movs r1, 0x1E
- ldrsh r0, [r4, r1]
- cmp r0, 0x7
- bne _080B4A96
- ldrh r0, [r4, 0x20]
- adds r0, 0x1
- strh r0, [r4, 0x20]
- strh r5, [r4, 0x1E]
- b _080B4A96
-_080B49DA:
- adds r0, r4, r5
- lsls r0, 3
- adds r1, r0, r2
- ldrh r0, [r1, 0x1E]
- adds r0, 0x1
- strh r0, [r1, 0x1E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x65
- bne _080B4A96
- movs r0, 0x7
- strh r0, [r1, 0x1E]
- b _080B4A4C
-_080B49F4:
- adds r0, r4, r5
- lsls r0, 3
- adds r4, r0, r2
- ldrh r0, [r4, 0x1C]
- adds r0, 0x1
- strh r0, [r4, 0x1C]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- bne _080B4A96
- movs r0, 0
- strh r0, [r4, 0x1C]
- ldrh r1, [r4, 0x1E]
- subs r1, 0x1
- strh r1, [r4, 0x1E]
- movs r0, 0x10
- subs r0, r1
- lsls r0, 8
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- movs r2, 0x1E
- ldrsh r1, [r4, r2]
- cmp r1, 0
- bne _080B4A96
- ldrh r0, [r4, 0x20]
- adds r0, 0x1
- strh r0, [r4, 0x20]
- strh r1, [r4, 0x1E]
- b _080B4A96
-_080B4A36:
- mov r0, sp
- bl sub_80752A0
- mov r0, sp
- ldrb r0, [r0, 0x9]
- bl sub_8075358
- ldr r0, _080B4A54 @ =gTasks
- adds r1, r4, r5
- lsls r1, 3
- adds r1, r0
-_080B4A4C:
- ldrh r0, [r1, 0x20]
- adds r0, 0x1
- strh r0, [r1, 0x20]
- b _080B4A96
- .align 2, 0
-_080B4A54: .4byte gTasks
-_080B4A58:
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _080B4A6C
- movs r0, 0x1
- movs r1, 0x3
- movs r2, 0
- bl SetAnimBgAttribute
-_080B4A6C:
- ldr r0, _080B4AA0 @ =gBattle_BG1_X
- movs r1, 0
- strh r1, [r0]
- ldr r0, _080B4AA4 @ =gBattle_BG1_Y
- strh r1, [r0]
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1
- movs r1, 0x4
- movs r2, 0x1
- bl SetAnimBgAttribute
- adds r0, r5, 0
- bl DestroyAnimVisualTask
-_080B4A96:
- add sp, 0x10
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B4AA0: .4byte gBattle_BG1_X
-_080B4AA4: .4byte gBattle_BG1_Y
- thumb_func_end sub_80B490C
-
- thumb_func_start sub_80B4AA8
-sub_80B4AA8: @ 80B4AA8
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _080B4B24
- ldr r4, _080B4AEC @ =gBattleAnimArgs
- movs r2, 0x6
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _080B4AF4
- ldr r0, _080B4AF0 @ =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080B4AF4
- movs r0, 0x98
- lsls r0, 1
- strh r0, [r5, 0x20]
- ldrh r0, [r4, 0x2]
- negs r0, r0
- strh r0, [r4, 0x2]
- movs r0, 0x1
- strh r0, [r5, 0x38]
- ldrb r1, [r5, 0x3]
- subs r0, 0x40
- ands r0, r1
- movs r1, 0x10
- orrs r0, r1
- strb r0, [r5, 0x3]
- b _080B4AF8
- .align 2, 0
-_080B4AEC: .4byte gBattleAnimArgs
-_080B4AF0: .4byte gBattleAnimAttacker
-_080B4AF4:
- ldr r0, _080B4B18 @ =0x0000ffc0
- strh r0, [r5, 0x20]
-_080B4AF8:
- ldr r4, _080B4B1C @ =gBattleAnimArgs
- ldrh r0, [r4]
- strh r0, [r5, 0x22]
- ldr r1, _080B4B20 @ =gUnknown_83E7470
- adds r0, r5, 0
- bl SetSubspriteTables
- ldrh r0, [r4, 0x2]
- strh r0, [r5, 0x30]
- ldrh r0, [r4, 0x4]
- strh r0, [r5, 0x32]
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
- b _080B4B80
- .align 2, 0
-_080B4B18: .4byte 0x0000ffc0
-_080B4B1C: .4byte gBattleAnimArgs
-_080B4B20: .4byte gUnknown_83E7470
-_080B4B24:
- ldrh r1, [r5, 0x30]
- ldrh r3, [r5, 0x34]
- adds r1, r3
- ldrh r2, [r5, 0x32]
- ldrh r0, [r5, 0x36]
- adds r2, r0
- lsls r0, r1, 16
- asrs r0, 24
- ldrh r3, [r5, 0x24]
- adds r0, r3
- strh r0, [r5, 0x24]
- lsls r0, r2, 16
- asrs r0, 24
- ldrh r3, [r5, 0x26]
- adds r0, r3
- strh r0, [r5, 0x26]
- movs r0, 0xFF
- ands r1, r0
- strh r1, [r5, 0x34]
- ands r2, r0
- strh r2, [r5, 0x36]
- movs r1, 0x38
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _080B4B6A
- movs r2, 0x20
- ldrsh r0, [r5, r2]
- movs r3, 0x24
- ldrsh r1, [r5, r3]
- adds r0, r1
- movs r1, 0x88
- lsls r1, 1
- cmp r0, r1
- ble _080B4B80
- b _080B4B7C
-_080B4B6A:
- movs r1, 0x20
- ldrsh r0, [r5, r1]
- movs r2, 0x24
- ldrsh r1, [r5, r2]
- adds r0, r1
- movs r1, 0x20
- negs r1, r1
- cmp r0, r1
- bge _080B4B80
-_080B4B7C:
- ldr r0, _080B4B88 @ =DestroyAnimSprite
- str r0, [r5, 0x1C]
-_080B4B80:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B4B88: .4byte DestroyAnimSprite
- thumb_func_end sub_80B4AA8
-
- thumb_func_start sub_80B4B8C
-sub_80B4B8C: @ 80B4B8C
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, _080B4BC4 @ =gBattleAnimArgs
- ldrb r1, [r5, 0x8]
- bl StartSpriteAnim
- adds r0, r4, 0
- movs r1, 0
- bl sub_8075160
- ldrh r0, [r5, 0x6]
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x20]
- strh r0, [r4, 0x32]
- ldrh r0, [r5, 0x4]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x36]
- ldr r0, _080B4BC8 @ =StartAnimLinearTranslation
- str r0, [r4, 0x1C]
- ldr r1, _080B4BCC @ =DestroyAnimSprite
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B4BC4: .4byte gBattleAnimArgs
-_080B4BC8: .4byte StartAnimLinearTranslation
-_080B4BCC: .4byte DestroyAnimSprite
- thumb_func_end sub_80B4B8C
-
- thumb_func_start sub_80B4BD0
-sub_80B4BD0: @ 80B4BD0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _080B4C50 @ =gTasks
- adds r6, r1, r0
- ldr r5, _080B4C54 @ =gBattleAnimAttacker
- ldrb r0, [r5]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- ldrb r0, [r5]
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 8
- movs r1, 0xC0
- lsls r1, 13
- adds r0, r1
- lsrs r7, r0, 16
- ldr r4, _080B4C58 @ =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- ldrb r0, [r4]
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 8
- movs r2, 0xC0
- lsls r2, 13
- adds r0, r2
- lsrs r0, 16
- mov r8, r0
- ldrb r1, [r5]
- movs r0, 0x2
- eors r0, r1
- ldrb r4, [r4]
- cmp r0, r4
- bne _080B4C40
- mov r8, r7
-_080B4C40:
- bl sub_80B4FB8
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x1
- bne _080B4C5C
- movs r0, 0x20
- b _080B4C62
- .align 2, 0
-_080B4C50: .4byte gTasks
-_080B4C54: .4byte gBattleAnimAttacker
-_080B4C58: .4byte gBattleAnimTarget
-_080B4C5C:
- lsls r1, r5, 3
- movs r0, 0x30
- subs r0, r1
-_080B4C62:
- strh r0, [r6, 0x18]
- movs r4, 0
- strh r4, [r6, 0x8]
- strh r4, [r6, 0x1E]
- strh r4, [r6, 0x1A]
- movs r0, 0x1
- strh r0, [r6, 0x20]
- movs r1, 0x18
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bge _080B4C7A
- adds r0, 0x7
-_080B4C7A:
- asrs r0, 3
- subs r0, 0x1
- strh r0, [r6, 0x1C]
- mov r2, r9
- lsls r0, r2, 3
- strh r0, [r6, 0xC]
- lsls r0, r7, 3
- strh r0, [r6, 0xE]
- mov r1, r10
- subs r0, r1, r2
- lsls r0, 3
- movs r2, 0x18
- ldrsh r1, [r6, r2]
- bl __divsi3
- strh r0, [r6, 0x10]
- mov r1, r8
- subs r0, r1, r7
- lsls r0, 3
- movs r2, 0x18
- ldrsh r1, [r6, r2]
- bl __divsi3
- strh r0, [r6, 0x12]
- strh r4, [r6, 0x14]
- strh r4, [r6, 0x16]
- movs r0, 0x40
- negs r0, r0
- bl sub_8073A44
- adds r4, r0, 0
- lsls r4, 24
- asrs r4, 8
- lsrs r4, 16
- movs r0, 0x3F
- bl sub_8073A44
- lsls r0, 24
- strh r4, [r6, 0x22]
- asrs r0, 24
- lsls r4, 16
- asrs r4, 16
- subs r0, r4
- movs r2, 0x18
- ldrsh r1, [r6, r2]
- bl __divsi3
- strh r0, [r6, 0x24]
- strh r5, [r6, 0xA]
- movs r0, 0
- bl GetAnimBankSpriteId
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r6, 0x26]
- ldr r0, _080B4CFC @ =sub_80B4D00
- str r0, [r6]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B4CFC: .4byte sub_80B4D00
- thumb_func_end sub_80B4BD0
-
- thumb_func_start sub_80B4D00
-sub_80B4D00: @ 80B4D00
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, _080B4D24 @ =gTasks
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x4
- bls _080B4D1A
- b _080B4E68
-_080B4D1A:
- lsls r0, 2
- ldr r1, _080B4D28 @ =_080B4D2C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080B4D24: .4byte gTasks
-_080B4D28: .4byte _080B4D2C
- .align 2, 0
-_080B4D2C:
- .4byte _080B4D40
- .4byte _080B4DA4
- .4byte _080B4DAC
- .4byte _080B4E08
- .4byte _080B4E5A
-_080B4D40:
- ldrh r2, [r4, 0x14]
- ldrh r0, [r4, 0x10]
- subs r2, r0
- strh r2, [r4, 0x14]
- ldrh r0, [r4, 0x16]
- ldrh r1, [r4, 0x12]
- subs r0, r1
- strh r0, [r4, 0x16]
- ldr r3, _080B4DA0 @ =gSprites
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- lsls r2, 16
- asrs r2, 19
- strh r2, [r0, 0x24]
- movs r1, 0x26
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- ldrh r0, [r4, 0x16]
- lsls r0, 16
- asrs r0, 19
- strh r0, [r1, 0x26]
- ldrh r0, [r4, 0x1A]
- adds r0, 0x1
- strh r0, [r4, 0x1A]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xA
- bne _080B4D90
- movs r0, 0x14
- strh r0, [r4, 0x1E]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080B4D90:
- ldrh r1, [r4, 0x22]
- lsls r1, 24
- asrs r1, 24
- movs r0, 0x9B
- bl PlaySE12WithPanning
- b _080B4E68
- .align 2, 0
-_080B4DA0: .4byte gSprites
-_080B4DA4:
- ldrh r0, [r4, 0x1E]
- subs r0, 0x1
- strh r0, [r4, 0x1E]
- b _080B4E4C
-_080B4DAC:
- ldrh r0, [r4, 0x1A]
- subs r0, 0x1
- strh r0, [r4, 0x1A]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- beq _080B4DCC
- ldrh r0, [r4, 0x10]
- ldrh r2, [r4, 0x14]
- adds r0, r2
- strh r0, [r4, 0x14]
- ldrh r0, [r4, 0x12]
- ldrh r1, [r4, 0x16]
- adds r0, r1
- strh r0, [r4, 0x16]
- b _080B4DD6
-_080B4DCC:
- strh r0, [r4, 0x14]
- strh r0, [r4, 0x16]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080B4DD6:
- ldr r2, _080B4E04 @ =gSprites
- movs r1, 0x26
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrh r0, [r4, 0x14]
- lsls r0, 16
- asrs r0, 19
- strh r0, [r1, 0x24]
- movs r1, 0x26
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrh r0, [r4, 0x16]
- lsls r0, 16
- asrs r0, 19
- strh r0, [r1, 0x26]
- b _080B4E68
- .align 2, 0
-_080B4E04: .4byte gSprites
-_080B4E08:
- ldrh r0, [r4, 0x10]
- ldrh r2, [r4, 0xC]
- adds r0, r2
- strh r0, [r4, 0xC]
- ldrh r0, [r4, 0x12]
- ldrh r1, [r4, 0xE]
- adds r0, r1
- strh r0, [r4, 0xE]
- ldrh r0, [r4, 0x1A]
- adds r0, 0x1
- strh r0, [r4, 0x1A]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x1C
- ldrsh r1, [r4, r2]
- cmp r0, r1
- blt _080B4E46
- movs r0, 0
- strh r0, [r4, 0x1A]
- adds r0, r4, 0
- bl sub_80B4E70
- ldrh r1, [r4, 0x24]
- ldrh r0, [r4, 0x22]
- adds r1, r0
- strh r1, [r4, 0x22]
- lsls r1, 24
- asrs r1, 24
- movs r0, 0xA8
- bl PlaySE12WithPanning
-_080B4E46:
- ldrh r0, [r4, 0x18]
- subs r0, 0x1
- strh r0, [r4, 0x18]
-_080B4E4C:
- lsls r0, 16
- cmp r0, 0
- bne _080B4E68
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080B4E68
-_080B4E5A:
- movs r1, 0x1E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080B4E68
- adds r0, r2, 0
- bl DestroyAnimVisualTask
-_080B4E68:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80B4D00
-
- thumb_func_start sub_80B4E70
-sub_80B4E70: @ 80B4E70
- push {r4-r7,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0xA]
- subs r0, 0x1
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- bhi _080B4F60
- lsls r0, 2
- ldr r1, _080B4E8C @ =_080B4E90
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080B4E8C: .4byte _080B4E90
- .align 2, 0
-_080B4E90:
- .4byte _080B4EA4
- .4byte _080B4EB0
- .4byte _080B4EB0
- .4byte _080B4EBC
- .4byte _080B4EC8
-_080B4EA4:
- ldr r3, _080B4EAC @ =gUnknown_83E74D8
- movs r5, 0
- b _080B4ECC
- .align 2, 0
-_080B4EAC: .4byte gUnknown_83E74D8
-_080B4EB0:
- ldr r3, _080B4EB8 @ =gUnknown_83E74F0
- movs r5, 0x50
- b _080B4ECC
- .align 2, 0
-_080B4EB8: .4byte gUnknown_83E74F0
-_080B4EBC:
- ldr r3, _080B4EC4 @ =gUnknown_83E74F0
- movs r5, 0x40
- b _080B4ECC
- .align 2, 0
-_080B4EC4: .4byte gUnknown_83E74F0
-_080B4EC8:
- ldr r3, _080B4F68 @ =gUnknown_83E74F0
- movs r5, 0x30
-_080B4ECC:
- ldrh r1, [r4, 0xC]
- lsls r1, 16
- asrs r1, 19
- lsls r1, 16
- lsrs r1, 16
- ldrh r2, [r4, 0xE]
- lsls r2, 16
- asrs r2, 19
- lsls r2, 16
- movs r6, 0x20
- ldrsh r0, [r4, r6]
- lsls r0, 2
- adds r1, r0
- lsls r1, 16
- lsrs r6, r1, 16
- asrs r1, 16
- lsrs r7, r2, 16
- asrs r2, 16
- adds r0, r3, 0
- movs r3, 0x23
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x40
- beq _080B4F58
- ldr r1, _080B4F6C @ =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- movs r1, 0x12
- strh r1, [r0, 0x2E]
- movs r2, 0x20
- ldrsh r1, [r4, r2]
- lsls r2, r1, 2
- adds r2, r1
- lsls r2, 2
- adds r2, r6, r2
- movs r6, 0xA
- ldrsh r3, [r4, r6]
- lsls r1, r3, 1
- adds r1, r3
- adds r2, r1
- strh r2, [r0, 0x32]
- strh r7, [r0, 0x36]
- movs r1, 0xA
- ldrsh r2, [r4, r1]
- lsls r2, 1
- movs r3, 0x10
- negs r3, r3
- adds r1, r3, 0
- subs r1, r2
- strh r1, [r0, 0x38]
- ldrh r3, [r0, 0x4]
- lsls r2, r3, 22
- lsrs r2, 22
- adds r2, r5
- ldr r5, _080B4F70 @ =0x000003ff
- adds r1, r5, 0
- ands r2, r1
- ldr r1, _080B4F74 @ =0xfffffc00
- ands r1, r3
- orrs r1, r2
- strh r1, [r0, 0x4]
- bl sub_8075068
- ldrh r0, [r4, 0x1E]
- adds r0, 0x1
- strh r0, [r4, 0x1E]
-_080B4F58:
- movs r6, 0x20
- ldrsh r0, [r4, r6]
- negs r0, r0
- strh r0, [r4, 0x20]
-_080B4F60:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B4F68: .4byte gUnknown_83E74F0
-_080B4F6C: .4byte gSprites
-_080B4F70: .4byte 0x000003ff
-_080B4F74: .4byte 0xfffffc00
- thumb_func_end sub_80B4E70
-
- thumb_func_start sub_80B4F78
-sub_80B4F78: @ 80B4F78
- push {r4,lr}
- adds r4, r0, 0
- bl AnimateBallThrow
- lsls r0, 24
- cmp r0, 0
- beq _080B4FAA
- ldr r0, _080B4FB0 @ =sub_80B4D00
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xFF
- beq _080B4FA4
- ldr r0, _080B4FB4 @ =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x1E]
- subs r0, 0x1
- strh r0, [r1, 0x1E]
-_080B4FA4:
- adds r0, r4, 0
- bl DestroySprite
-_080B4FAA:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B4FB0: .4byte sub_80B4D00
-_080B4FB4: .4byte gTasks
- thumb_func_end sub_80B4F78
-
- thumb_func_start sub_80B4FB8
-sub_80B4FB8: @ 80B4FB8
- push {lr}
- ldr r0, _080B4FE0 @ =gAnimDisableStructPtr
- ldr r0, [r0]
- ldrb r1, [r0, 0x11]
- lsrs r0, r1, 4
- lsls r1, 28
- lsrs r1, 28
- subs r0, r1
- lsls r0, 24
- lsrs r1, r0, 24
- movs r2, 0xFF
- lsls r2, 24
- adds r0, r2
- lsrs r0, 24
- cmp r0, 0x4
- bls _080B4FDA
- movs r1, 0x1
-_080B4FDA:
- adds r0, r1, 0
- pop {r1}
- bx r1
- .align 2, 0
-_080B4FE0: .4byte gAnimDisableStructPtr
- thumb_func_end sub_80B4FB8
-
- thumb_func_start sub_80B4FE4
-sub_80B4FE4: @ 80B4FE4
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, _080B501C @ =gBattleAnimArgs
- ldrb r1, [r5, 0x8]
- bl StartSpriteAnim
- ldrh r0, [r5]
- strh r0, [r4, 0x24]
- ldrh r0, [r5, 0x2]
- strh r0, [r4, 0x32]
- ldrh r0, [r4, 0x34]
- ldrh r1, [r5, 0x4]
- subs r0, r1
- strh r0, [r4, 0x34]
- movs r0, 0x3
- strh r0, [r4, 0x2E]
- ldrh r0, [r5, 0x6]
- strh r0, [r4, 0x30]
- ldr r0, _080B5020 @ =sub_80B5024
- str r0, [r4, 0x1C]
- adds r4, 0x3E
- ldrb r0, [r4]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B501C: .4byte gBattleAnimArgs
-_080B5020: .4byte sub_80B5024
- thumb_func_end sub_80B4FE4
-
- thumb_func_start sub_80B5024
-sub_80B5024: @ 80B5024
- push {lr}
- adds r2, r0, 0
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r1, 0x5
- negs r1, r1
- ands r1, r0
- strb r1, [r3]
- ldrh r1, [r2, 0x34]
- movs r3, 0x34
- ldrsh r0, [r2, r3]
- cmp r0, 0
- beq _080B505C
- ldrh r3, [r2, 0x32]
- adds r0, r1, r3
- strh r0, [r2, 0x26]
- ldrh r0, [r2, 0x2E]
- adds r1, r0
- strh r1, [r2, 0x34]
- adds r0, 0x1
- strh r0, [r2, 0x2E]
- lsls r1, 16
- cmp r1, 0
- ble _080B506E
- movs r0, 0
- strh r0, [r2, 0x34]
- b _080B506E
-_080B505C:
- ldrh r0, [r2, 0x30]
- subs r0, 0x1
- strh r0, [r2, 0x30]
- lsls r0, 16
- cmp r0, 0
- bne _080B506E
- adds r0, r2, 0
- bl DestroyAnimSprite
-_080B506E:
- pop {r0}
- bx r0
- thumb_func_end sub_80B5024
-
- thumb_func_start sub_80B5074
-sub_80B5074: @ 80B5074
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _080B509C @ =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080B5090
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
-_080B5090:
- adds r0, r4, 0
- bl sub_8075DF4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B509C: .4byte gBattleAnimAttacker
- thumb_func_end sub_80B5074
-
- thumb_func_start sub_80B50A0
-sub_80B50A0: @ 80B50A0
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, _080B50EC @ =gBattleAnimTarget
- ldrb r0, [r5]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x20]
- ldrb r0, [r5]
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080B50F0 @ =gBattleAnimArgs
- ldrh r3, [r2]
- ldrh r5, [r4, 0x20]
- adds r1, r3, r5
- strh r1, [r4, 0x20]
- ldrh r1, [r2, 0x2]
- adds r0, r1
- strh r0, [r4, 0x22]
- strh r3, [r4, 0x30]
- strh r1, [r4, 0x32]
- ldrh r0, [r2, 0x4]
- strh r0, [r4, 0x38]
- ldrb r1, [r2, 0x6]
- adds r0, r4, 0
- bl StartSpriteAnim
- ldr r0, _080B50F4 @ =sub_80B50F8
- str r0, [r4, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B50EC: .4byte gBattleAnimTarget
-_080B50F0: .4byte gBattleAnimArgs
-_080B50F4: .4byte sub_80B50F8
- thumb_func_end sub_80B50A0
-
- thumb_func_start sub_80B50F8
-sub_80B50F8: @ 80B50F8
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- adds r0, 0x8
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x30]
- ldrh r1, [r4, 0x34]
- adds r0, r1
- strh r0, [r4, 0x34]
- ldrh r0, [r4, 0x32]
- ldrh r2, [r4, 0x36]
- adds r0, r2
- strh r0, [r4, 0x36]
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- movs r1, 0x28
- bl __divsi3
- ldrh r1, [r4, 0x24]
- adds r1, r0
- strh r1, [r4, 0x24]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- movs r2, 0x38
- ldrsh r1, [r4, r2]
- bl Sin
- ldrh r1, [r4, 0x26]
- subs r1, r0
- strh r1, [r4, 0x26]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x8C
- ble _080B5142
- adds r0, r4, 0
- bl DestroyAnimSprite
-_080B5142:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80B50F8
-
- thumb_func_start sub_80B5148
-sub_80B5148: @ 80B5148
- push {lr}
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r2, _080B5180 @ =gAnimMoveDmg
- ldr r0, [r2]
- cmp r0, 0x20
- bgt _080B515C
- ldr r1, _080B5184 @ =gBattleAnimArgs
- movs r0, 0
- strh r0, [r1, 0xE]
-_080B515C:
- ldr r2, [r2]
- adds r0, r2, 0
- subs r0, 0x21
- cmp r0, 0x20
- bhi _080B516C
- ldr r1, _080B5184 @ =gBattleAnimArgs
- movs r0, 0x1
- strh r0, [r1, 0xE]
-_080B516C:
- cmp r2, 0x41
- ble _080B5176
- ldr r1, _080B5184 @ =gBattleAnimArgs
- movs r0, 0x2
- strh r0, [r1, 0xE]
-_080B5176:
- adds r0, r3, 0
- bl DestroyAnimVisualTask
- pop {r0}
- bx r0
- .align 2, 0
-_080B5180: .4byte gAnimMoveDmg
-_080B5184: .4byte gBattleAnimArgs
- thumb_func_end sub_80B5148
-
- thumb_func_start sub_80B5188
-sub_80B5188: @ 80B5188
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, _080B51E4 @ =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r5, r0, r1
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _080B51AA
- movs r0, 0
- bl sub_8075458
- movs r0, 0xC8
- strh r0, [r5, 0xA]
-_080B51AA:
- ldr r4, _080B51E8 @ =gBattle_BG3_Y
- movs r1, 0xA
- ldrsh r0, [r5, r1]
- movs r1, 0xA
- bl __divsi3
- ldrh r1, [r4]
- adds r1, r0
- strh r1, [r4]
- ldrh r0, [r5, 0xA]
- subs r0, 0x3
- strh r0, [r5, 0xA]
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0x78
- bne _080B51D6
- movs r0, 0x1
- bl sub_8075458
- adds r0, r6, 0
- bl DestroyAnimVisualTask
-_080B51D6:
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B51E4: .4byte gTasks
-_080B51E8: .4byte gBattle_BG3_Y
- thumb_func_end sub_80B5188
-
- thumb_func_start sub_80B51EC
-sub_80B51EC: @ 80B51EC
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- ldr r1, _080B5258 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080B5218
- movs r0, 0
- bl sub_8075458
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- ldr r0, _080B525C @ =gBattle_BG3_Y
- ldrh r0, [r0]
- strh r0, [r4, 0xC]
-_080B5218:
- ldrh r0, [r4, 0xA]
- adds r0, 0x50
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0xA]
- ldr r6, _080B525C @ =gBattle_BG3_Y
- movs r2, 0xA
- ldrsh r1, [r4, r2]
- movs r0, 0x4
- bl Cos
- ldrh r4, [r4, 0xC]
- adds r0, r4
- strh r0, [r6]
- ldr r0, _080B5260 @ =gBattleAnimArgs
- movs r2, 0xE
- ldrsh r1, [r0, r2]
- ldr r0, _080B5264 @ =0x00000fff
- cmp r1, r0
- bne _080B5250
- movs r0, 0
- strh r0, [r6]
- movs r0, 0x1
- bl sub_8075458
- adds r0, r5, 0
- bl DestroyAnimVisualTask
-_080B5250:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B5258: .4byte gTasks
-_080B525C: .4byte gBattle_BG3_Y
-_080B5260: .4byte gBattleAnimArgs
-_080B5264: .4byte 0x00000fff
- thumb_func_end sub_80B51EC
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/trade.s b/asm/trade.s
index 8e6131f9d..bd98dd698 100644
--- a/asm/trade.s
+++ b/asm/trade.s
@@ -9300,7 +9300,7 @@ _0805139C:
adds r1, r0
lsls r1, 2
adds r1, r3
- ldr r2, _08051410 @ =gUnknown_82349CC
+ ldr r2, _08051410 @ =gMonFrontPicCoords
adds r0, r4, 0
adds r0, 0xF0
ldrh r0, [r0]
@@ -9324,7 +9324,7 @@ _0805139C:
.align 2, 0
_08051408: .4byte gSprites
_0805140C: .4byte 0x0000ff4c
-_08051410: .4byte gUnknown_82349CC
+_08051410: .4byte gMonFrontPicCoords
_08051414:
ldr r5, [r7]
adds r6, r5, 0
@@ -10839,7 +10839,7 @@ _08052070:
adds r1, r0
lsls r1, 2
adds r1, r4
- ldr r3, _08052120 @ =gUnknown_82349CC
+ ldr r3, _08052120 @ =gMonFrontPicCoords
adds r2, 0xF2
ldrh r0, [r2]
lsls r0, 2
@@ -10906,7 +10906,7 @@ _08052070:
b _080522AC
.align 2, 0
_0805211C: .4byte gSprites
-_08052120: .4byte gUnknown_82349CC
+_08052120: .4byte gMonFrontPicCoords
_08052124: .4byte 0x000fffff
_08052128:
movs r1, 0xAA
@@ -11476,7 +11476,7 @@ _0805278C:
adds r1, r0
lsls r1, 2
adds r1, r3
- ldr r2, _08052800 @ =gUnknown_82349CC
+ ldr r2, _08052800 @ =gMonFrontPicCoords
adds r0, r4, 0
adds r0, 0xF0
ldrh r0, [r0]
@@ -11500,7 +11500,7 @@ _0805278C:
.align 2, 0
_080527F8: .4byte gSprites
_080527FC: .4byte 0x0000ff4c
-_08052800: .4byte gUnknown_82349CC
+_08052800: .4byte gMonFrontPicCoords
_08052804:
ldr r5, [r7]
adds r6, r5, 0
@@ -13064,7 +13064,7 @@ _080534CC:
adds r1, r0
lsls r1, 2
adds r1, r4
- ldr r3, _0805357C @ =gUnknown_82349CC
+ ldr r3, _0805357C @ =gMonFrontPicCoords
adds r2, 0xF2
ldrh r0, [r2]
lsls r0, 2
@@ -13131,7 +13131,7 @@ _080534CC:
b _08053708
.align 2, 0
_08053578: .4byte gSprites
-_0805357C: .4byte gUnknown_82349CC
+_0805357C: .4byte gMonFrontPicCoords
_08053580: .4byte 0x000fffff
_08053584:
movs r1, 0xAA
diff --git a/asm/water.s b/asm/water.s
index d40e8f594..a2918ec33 100644
--- a/asm/water.s
+++ b/asm/water.s
@@ -197,7 +197,7 @@ _080AAD10:
lsrs r0, 24
strh r0, [r6, 0x36]
adds r0, r6, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimLinearTranslation
ldr r0, _080AADAC @ =SpriteCallbackDummy
bl CreateInvisibleSpriteWithCallback
adds r4, r0, 0
@@ -273,7 +273,7 @@ sub_80AADB8: @ 80AADB8
movs r0, 0x1
strh r0, [r5, 0x2E]
adds r0, r5, 0
- bl sub_80755E0
+ bl AnimTranslateLinear
mov r1, r8
lsrs r6, r1, 8
movs r0, 0x2E
@@ -329,14 +329,14 @@ sub_80AAE40: @ 80AAE40
negs r1, r1
ands r1, r2
strb r1, [r3]
- ldr r1, _080AAE60 @ =sub_8074F6C
+ ldr r1, _080AAE60 @ =RunStoredCallbackWhenAnimEnds
str r1, [r0, 0x1C]
ldr r1, _080AAE64 @ =sub_80AAE68
bl StoreSpriteCallbackInData6
pop {r0}
bx r0
.align 2, 0
-_080AAE60: .4byte sub_8074F6C
+_080AAE60: .4byte RunStoredCallbackWhenAnimEnds
_080AAE64: .4byte sub_80AAE68
thumb_func_end sub_80AAE40
@@ -345,15 +345,15 @@ sub_80AAE68: @ 80AAE68
push {lr}
movs r1, 0xA
strh r1, [r0, 0x2E]
- ldr r1, _080AAE7C @ =sub_8074C44
+ ldr r1, _080AAE7C @ =WaitAnimForDuration
str r1, [r0, 0x1C]
- ldr r1, _080AAE80 @ =move_anim_8074EE0
+ ldr r1, _080AAE80 @ =DestroySpriteAndMatrix
bl StoreSpriteCallbackInData6
pop {r0}
bx r0
.align 2, 0
-_080AAE7C: .4byte sub_8074C44
-_080AAE80: .4byte move_anim_8074EE0
+_080AAE7C: .4byte WaitAnimForDuration
+_080AAE80: .4byte DestroySpriteAndMatrix
thumb_func_end sub_80AAE68
thumb_func_start sub_80AAE84
@@ -361,7 +361,7 @@ sub_80AAE84: @ 80AAE84
push {r4-r7,lr}
adds r5, r0, 0
movs r1, 0x1
- bl sub_8075160
+ bl InitSpritePosToAnimAttacker
ldr r0, _080AAEAC @ =gBattleAnimAttacker
ldrb r0, [r0]
bl GetBattlerSide
@@ -406,7 +406,7 @@ _080AAEBA:
adds r0, r7
strh r0, [r5, 0x36]
adds r0, r5, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimLinearTranslation
ldr r0, _080AAF18 @ =sub_80AAF1C
str r0, [r5, 0x1C]
adds r2, r5, 0
@@ -447,7 +447,7 @@ sub_80AAF1C: @ 80AAF1C
strb r0, [r2]
_080AAF3E:
adds r0, r4, 0
- bl sub_80755E0
+ bl AnimTranslateLinear
lsls r0, 24
cmp r0, 0
beq _080AAF50
@@ -569,7 +569,7 @@ sub_80AB024: @ 80AB024
push {r4,r5,lr}
adds r5, r0, 0
movs r1, 0x1
- bl sub_8075160
+ bl InitSpritePosToAnimAttacker
movs r0, 0x1E
strh r0, [r5, 0x2E]
ldrh r0, [r5, 0x20]
@@ -590,7 +590,7 @@ sub_80AB024: @ 80AB024
lsrs r0, 24
strh r0, [r5, 0x36]
adds r0, r5, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimLinearTranslation
movs r0, 0x2E
ldrsh r1, [r5, r0]
movs r0, 0xD2
@@ -634,7 +634,7 @@ _080AB0A8: .4byte sub_80AB0AC
sub_80AB0AC: @ 80AB0AC
push {r4,lr}
adds r4, r0, 0
- bl sub_80755E0
+ bl AnimTranslateLinear
lsls r0, 24
cmp r0, 0
beq _080AB0C0
@@ -861,7 +861,7 @@ _080AB256:
movs r7, 0x3
_080AB260:
adds r0, r6, 0
- bl sub_8075160
+ bl InitSpritePosToAnimAttacker
ldr r0, _080AB2B8 @ =gBattleAnimAttacker
ldrb r0, [r0]
bl GetBattlerSide
@@ -912,7 +912,7 @@ sub_80AB2CC: @ 80AB2CC
push {r4,lr}
adds r4, r0, 0
movs r1, 0x1
- bl sub_8075114
+ bl InitSpritePosToAnimTarget
ldr r0, _080AB2FC @ =gBattleAnimArgs
ldrh r1, [r0, 0x8]
strh r1, [r4, 0x2E]
@@ -948,14 +948,14 @@ sub_80AB308: @ 80AB308
beq _080AB324
adds r0, r4, 0
movs r1, 0x1
- bl sub_8075114
+ bl InitSpritePosToAnimTarget
b _080AB32C
.align 2, 0
_080AB320: .4byte gBattleAnimArgs
_080AB324:
adds r0, r4, 0
movs r1, 0x1
- bl sub_8075160
+ bl InitSpritePosToAnimAttacker
_080AB32C:
ldr r0, _080AB33C @ =gBattleAnimArgs
ldrh r0, [r0, 0x4]
@@ -1054,7 +1054,7 @@ sub_80AB38C: @ 80AB38C
mov r0, sp
ldrb r0, [r0, 0x9]
ldr r1, _080AB404 @ =gFile_graphics_unknown_unknown_E81D14_tilemap
- bl sub_807543C
+ bl AnimLoadCompressedBgTilemap
b _080AB42E
.align 2, 0
_080AB3FC: .4byte 0x00003f42
@@ -1064,7 +1064,7 @@ _080AB408:
mov r0, sp
ldrb r0, [r0, 0x9]
ldr r1, _080AB414 @ =gFile_graphics_unknown_unknown_E81FE4_tilemap
- bl sub_807543C
+ bl AnimLoadCompressedBgTilemap
b _080AB42E
.align 2, 0
_080AB414: .4byte gFile_graphics_unknown_unknown_E81FE4_tilemap
@@ -1084,7 +1084,7 @@ _080AB42E:
ldr r1, _080AB45C @ =gFile_graphics_battle_anims_backgrounds_water_sheet
mov r2, sp
ldrh r2, [r2, 0xA]
- bl sub_80753B4
+ bl AnimLoadCompressedBgGfx
ldr r0, _080AB460 @ =gBattleAnimArgs
movs r1, 0
ldrsh r0, [r0, r1]
@@ -1904,7 +1904,7 @@ sub_80ABA78: @ 80ABA78
strh r0, [r4, 0x4]
adds r0, r4, 0
movs r1, 0x1
- bl sub_8075114
+ bl InitSpritePosToAnimTarget
bl Random
movs r5, 0xFF
ands r5, r0
@@ -1991,7 +1991,7 @@ sub_80ABB28: @ 80ABB28
ldr r0, _080ABB78 @ =gTasks
adds r4, r0
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x26]
@@ -2138,7 +2138,7 @@ _080ABC66:
ldrh r0, [r4, 0x26]
lsls r0, 24
lsrs r0, 24
- bl sub_8076440
+ bl SetBattlerSpriteYOffsetFromYScale
ldr r2, _080ABC84 @ =gSprites
movs r0, 0x26
ldrsh r1, [r4, r0]
@@ -2727,7 +2727,7 @@ _080AC0AE:
ldr r1, [r0]
adds r0, r2, 0
bl _call_via_r1
- ldr r1, _080AC144 @ =gUnknown_2037EE2
+ ldr r1, _080AC144 @ =gAnimVisualTaskCount
ldrb r0, [r1]
adds r0, 0x1
strb r0, [r1]
@@ -2748,7 +2748,7 @@ _080AC0F8:
ldr r1, [r0]
adds r0, r2, 0
bl _call_via_r1
- ldr r1, _080AC144 @ =gUnknown_2037EE2
+ ldr r1, _080AC144 @ =gAnimVisualTaskCount
ldrb r0, [r1]
adds r0, 0x1
strb r0, [r1]
@@ -2769,7 +2769,7 @@ _080AC128:
.align 2, 0
_080AC13C: .4byte gBattleAnimArgs
_080AC140: .4byte sub_80B94B4
-_080AC144: .4byte gUnknown_2037EE2
+_080AC144: .4byte gAnimVisualTaskCount
_080AC148:
movs r2, 0x1A
ldrsh r0, [r4, r2]
@@ -3287,7 +3287,7 @@ sub_80AC504: @ 80AC504
strh r1, [r0, 0x36]
ldrh r1, [r6, 0x1A]
strh r1, [r0, 0x38]
- bl sub_8075068
+ bl InitAnimArcTranslation
adds r5, 0x1C
adds r4, r5
ldr r0, _080AC56C @ =sub_80AC570
@@ -3309,7 +3309,7 @@ _080AC56C: .4byte sub_80AC570
sub_80AC570: @ 80AC570
push {r4-r6,lr}
adds r6, r0, 0
- bl AnimateBallThrow
+ bl TranslateAnimHorizontalArc
lsls r0, 24
cmp r0, 0
beq _080AC5CA
@@ -3344,7 +3344,7 @@ sub_80AC570: @ 80AC570
mvns r1, r1
strh r1, [r6, 0x38]
adds r0, r6, 0
- bl sub_8075068
+ bl InitAnimArcTranslation
ldr r0, _080AC5D4 @ =sub_80AC5D8
str r0, [r6, 0x1C]
_080AC5CA:
@@ -3360,7 +3360,7 @@ _080AC5D4: .4byte sub_80AC5D8
sub_80AC5D8: @ 80AC5D8
push {r4-r6,lr}
adds r5, r0, 0
- bl AnimateBallThrow
+ bl TranslateAnimHorizontalArc
lsls r0, 24
cmp r0, 0
beq _080AC614
@@ -3498,7 +3498,7 @@ sub_80AC6D8: @ 80AC6D8
push {r4,r5,lr}
adds r4, r0, 0
movs r1, 0x1
- bl sub_8075160
+ bl InitSpritePosToAnimAttacker
ldr r5, _080AC714 @ =gBattleAnimTarget
ldrb r0, [r5]
movs r1, 0x2