diff options
Diffstat (limited to 'asm')
-rw-r--r-- | asm/battle_2.s | 40 | ||||
-rw-r--r-- | asm/battle_anim.s | 106 | ||||
-rw-r--r-- | asm/battle_anim_effects_1.s | 322 | ||||
-rw-r--r-- | asm/battle_anim_effects_2.s | 232 | ||||
-rw-r--r-- | asm/battle_anim_effects_3.s | 298 | ||||
-rw-r--r-- | asm/battle_anim_mons.s | 6343 | ||||
-rw-r--r-- | asm/battle_anim_sound_tasks.s | 927 | ||||
-rw-r--r-- | asm/battle_anim_special.s | 44 | ||||
-rw-r--r-- | asm/battle_anim_utility_funcs.s | 5133 | ||||
-rw-r--r-- | asm/bug.s | 829 | ||||
-rw-r--r-- | asm/dark.s | 2323 | ||||
-rw-r--r-- | asm/dragon.s | 835 | ||||
-rw-r--r-- | asm/electric.s | 60 | ||||
-rw-r--r-- | asm/fighting.s | 76 | ||||
-rw-r--r-- | asm/fire.s | 52 | ||||
-rw-r--r-- | asm/flying.s | 2945 | ||||
-rw-r--r-- | asm/ghost.s | 4054 | ||||
-rw-r--r-- | asm/ground.s | 1787 | ||||
-rw-r--r-- | asm/ice.s | 102 | ||||
-rw-r--r-- | asm/normal.s | 1978 | ||||
-rw-r--r-- | asm/poison.s | 58 | ||||
-rw-r--r-- | asm/pokeball.s | 16 | ||||
-rw-r--r-- | asm/pokemon_jump_2.s | 4 | ||||
-rw-r--r-- | asm/pokemon_summary_screen.s | 2 | ||||
-rw-r--r-- | asm/psychic.s | 2180 | ||||
-rw-r--r-- | asm/rock.s | 1558 | ||||
-rw-r--r-- | asm/trade.s | 16 | ||||
-rw-r--r-- | asm/water.s | 64 |
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. @@ -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 |