diff options
author | YamaArashi <shadow962@live.com> | 2016-12-17 12:24:33 -0800 |
---|---|---|
committer | YamaArashi <shadow962@live.com> | 2016-12-17 12:24:33 -0800 |
commit | 921dcdba34c72681ba4d84f0cfe36060d17bd187 (patch) | |
tree | 2093a5efb414ae8841bdaaddef84a9903d7f62d5 | |
parent | eef7a65815b0c12e1b82cff6b6d7d72404cef754 (diff) |
battle_anim.s
-rw-r--r-- | asm/battle_anim.s | 4729 | ||||
-rw-r--r-- | asm/rom_8077ABC.s (renamed from asm/rom_8074BAC.s) | 4720 | ||||
-rw-r--r-- | ld_script.txt | 3 |
3 files changed, 4731 insertions, 4721 deletions
diff --git a/asm/battle_anim.s b/asm/battle_anim.s new file mode 100644 index 000000000..b26392e61 --- /dev/null +++ b/asm/battle_anim.s @@ -0,0 +1,4729 @@ + .include "constants/gba_constants.inc" + .include "constants/species_constants.inc" + .include "asm/macros.inc" + + .syntax unified + + .text + + thumb_func_start sub_8075624 +sub_8075624: @ 8075624 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + ldr r0, _080756B8 @ =gUnknown_0202F7B0 + movs r1, 0 + strb r1, [r0] + ldr r0, _080756BC @ =gUnknown_0202F7B1 + strb r1, [r0] + ldr r0, _080756C0 @ =gUnknown_0202F7B2 + strb r1, [r0] + ldr r0, _080756C4 @ =gUnknown_0202F7B3 + strb r1, [r0] + ldr r0, _080756C8 @ =gUnknown_0202F7B4 + movs r1, 0 + str r1, [r0] + ldr r0, _080756CC @ =gUnknown_0202F7B8 + str r1, [r0] + ldr r0, _080756D0 @ =gUnknown_0202F7BC + movs r2, 0 + strh r1, [r0] + ldr r0, _080756D4 @ =gUnknown_0202F7BE + strb r2, [r0] + ldr r4, _080756D8 @ =gUnknown_0202F7C2 + ldr r5, _080756DC @ =gUnknown_0202F7C4 + ldr r6, _080756E0 @ =gUnknown_0202F7C5 + ldr r7, _080756E4 @ =gUnknown_0202F7C6 + ldr r0, _080756E8 @ =gUnknown_0202F7C8 + mov r12, r0 + ldr r1, _080756EC @ =gUnknown_0202F7C9 + mov r8, r1 + ldr r0, _080756F0 @ =gUnknown_0202F7D2 + mov r9, r0 + ldr r1, _080756F4 @ =0x0000ffff + adds r3, r1, 0 + ldr r1, _080756F8 @ =gUnknown_03004B10 + movs r2, 0x7 +_0807566E: + ldrh r0, [r1] + orrs r0, r3 + strh r0, [r1] + adds r1, 0x2 + subs r2, 0x1 + cmp r2, 0 + bge _0807566E + ldr r1, _080756FC @ =gUnknown_03004B00 + movs r2, 0 + adds r0, r1, 0 + adds r0, 0xE +_08075684: + strh r2, [r0] + subs r0, 0x2 + cmp r0, r1 + bge _08075684 + movs r1, 0 + movs r0, 0xFF + strb r0, [r4] + movs r0, 0x1 + negs r0, r0 + strb r0, [r4, 0x1] + strb r1, [r5] + strb r1, [r6] + movs r0, 0 + strh r1, [r7] + mov r1, r12 + strb r0, [r1] + mov r1, r8 + strb r0, [r1] + mov r1, r9 + strb r0, [r1] + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080756B8: .4byte gUnknown_0202F7B0 +_080756BC: .4byte gUnknown_0202F7B1 +_080756C0: .4byte gUnknown_0202F7B2 +_080756C4: .4byte gUnknown_0202F7B3 +_080756C8: .4byte gUnknown_0202F7B4 +_080756CC: .4byte gUnknown_0202F7B8 +_080756D0: .4byte gUnknown_0202F7BC +_080756D4: .4byte gUnknown_0202F7BE +_080756D8: .4byte gUnknown_0202F7C2 +_080756DC: .4byte gUnknown_0202F7C4 +_080756E0: .4byte gUnknown_0202F7C5 +_080756E4: .4byte gUnknown_0202F7C6 +_080756E8: .4byte gUnknown_0202F7C8 +_080756EC: .4byte gUnknown_0202F7C9 +_080756F0: .4byte gUnknown_0202F7D2 +_080756F4: .4byte 0x0000ffff +_080756F8: .4byte gUnknown_03004B10 +_080756FC: .4byte gUnknown_03004B00 + thumb_func_end sub_8075624 + + thumb_func_start move_anim_start_t1 +move_anim_start_t1: @ 8075700 + push {lr} + adds r1, r0, 0 + lsls r1, 16 + lsrs r1, 16 + ldr r2, _08075724 @ =gUnknown_0202F7C8 + ldr r0, _08075728 @ =gUnknown_02024C07 + ldrb r0, [r0] + strb r0, [r2] + ldr r2, _0807572C @ =gUnknown_0202F7C9 + ldr r0, _08075730 @ =gUnknown_02024C08 + ldrb r0, [r0] + strb r0, [r2] + ldr r0, _08075734 @ =gBattleAnims_Moves + movs r2, 0x1 + bl move_something + pop {r0} + bx r0 + .align 2, 0 +_08075724: .4byte gUnknown_0202F7C8 +_08075728: .4byte gUnknown_02024C07 +_0807572C: .4byte gUnknown_0202F7C9 +_08075730: .4byte gUnknown_02024C08 +_08075734: .4byte gBattleAnims_Moves + thumb_func_end move_anim_start_t1 + + thumb_func_start move_something +move_something: @ 8075738 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x4 + str r0, [sp] + lsls r1, 16 + lsrs r1, 16 + mov r8, r1 + lsls r2, 24 + lsrs r2, 24 + mov r9, r2 + bl sub_8076BE0 + lsls r0, 24 + cmp r0, 0 + bne _080757D8 + bl sub_8079E24 + movs r0, 0 + bl sub_8043EB4 + movs r4, 0 + mov r0, r8 + lsls r0, 2 + mov r10, r0 + ldr r6, _0807578C @ =gUnknown_02024A6A + movs r7, 0x64 + ldr r5, _08075790 @ =gUnknown_0202F7CA +_08075774: + lsls r0, r4, 24 + lsrs r0, 24 + bl battle_side_get_owner + lsls r0, 24 + cmp r0, 0 + beq _08075798 + ldrh r0, [r6] + muls r0, r7 + ldr r1, _08075794 @ =gEnemyParty + b _0807579E + .align 2, 0 +_0807578C: .4byte gUnknown_02024A6A +_08075790: .4byte gUnknown_0202F7CA +_08075794: .4byte gEnemyParty +_08075798: + ldrh r0, [r6] + muls r0, r7 + ldr r1, _080757C0 @ =gPlayerParty +_0807579E: + adds r0, r1 + movs r1, 0xB + bl GetMonData + strh r0, [r5] + adds r6, 0x2 + adds r5, 0x2 + adds r4, 0x1 + cmp r4, 0x3 + ble _08075774 + ldr r3, _080757C4 @ =gUnknown_0202F7C6 + ldr r5, _080757C8 @ =gUnknown_0202F7C2 + ldr r1, _080757CC @ =gUnknown_0202F7B1 + mov r12, r1 + ldr r7, _080757D0 @ =gUnknown_0202F7AC + ldr r6, _080757D4 @ =sub_80759D0 + b _080757FC + .align 2, 0 +_080757C0: .4byte gPlayerParty +_080757C4: .4byte gUnknown_0202F7C6 +_080757C8: .4byte gUnknown_0202F7C2 +_080757CC: .4byte gUnknown_0202F7B1 +_080757D0: .4byte gUnknown_0202F7AC +_080757D4: .4byte sub_80759D0 +_080757D8: + ldr r3, _08075808 @ =gUnknown_0202F7C6 + ldr r5, _0807580C @ =gUnknown_0202F7C2 + mov r0, r8 + lsls r0, 2 + mov r10, r0 + ldr r1, _08075810 @ =gUnknown_0202F7B1 + mov r12, r1 + ldr r7, _08075814 @ =gUnknown_0202F7AC + ldr r6, _08075818 @ =sub_80759D0 + ldr r2, _0807581C @ =0x02019348 + ldr r1, _08075820 @ =gUnknown_0202F7CA + movs r4, 0x3 +_080757F0: + ldrh r0, [r2] + strh r0, [r1] + adds r1, 0x2 + subs r4, 0x1 + cmp r4, 0 + bge _080757F0 +_080757FC: + mov r0, r9 + cmp r0, 0 + bne _08075824 + strh r0, [r3] + b _08075828 + .align 2, 0 +_08075808: .4byte gUnknown_0202F7C6 +_0807580C: .4byte gUnknown_0202F7C2 +_08075810: .4byte gUnknown_0202F7B1 +_08075814: .4byte gUnknown_0202F7AC +_08075818: .4byte sub_80759D0 +_0807581C: .4byte 0x02019348 +_08075820: .4byte gUnknown_0202F7CA +_08075824: + mov r1, r8 + strh r1, [r3] +_08075828: + ldr r1, _0807587C @ =gUnknown_03004B00 + movs r2, 0 + adds r0, r1, 0 + adds r0, 0xE +_08075830: + strh r2, [r0] + subs r0, 0x2 + cmp r0, r1 + bge _08075830 + movs r0, 0xFF + strb r0, [r5] + movs r0, 0x1 + negs r0, r0 + strb r0, [r5, 0x1] + ldr r0, [sp] + add r0, r10 + ldr r0, [r0] + ldr r1, _08075880 @ =gUnknown_0202F7A4 + str r0, [r1] + movs r0, 0x1 + mov r1, r12 + strb r0, [r1] + movs r0, 0 + ldr r1, _08075884 @ =gUnknown_0202F7B0 + strb r0, [r1] + str r6, [r7] + ldr r0, _08075888 @ =0x0000ffff + adds r2, r0, 0 + ldr r1, _0807588C @ =gUnknown_03004B10 + movs r4, 0x7 +_08075862: + ldrh r0, [r1] + orrs r0, r2 + strh r0, [r1] + adds r1, 0x2 + subs r4, 0x1 + cmp r4, 0 + bge _08075862 + mov r1, r9 + cmp r1, 0 + beq _080758AE + movs r4, 0 + ldr r2, _08075890 @ =gUnknown_081C7160 + b _08075896 + .align 2, 0 +_0807587C: .4byte gUnknown_03004B00 +_08075880: .4byte gUnknown_0202F7A4 +_08075884: .4byte gUnknown_0202F7B0 +_08075888: .4byte 0x0000ffff +_0807588C: .4byte gUnknown_03004B10 +_08075890: .4byte gUnknown_081C7160 +_08075894: + adds r4, 0x1 +_08075896: + lsls r0, r4, 1 + adds r0, r2 + ldrh r0, [r0] + ldr r1, _080758D0 @ =0x0000ffff + cmp r0, r1 + beq _080758AE + cmp r8, r0 + bne _08075894 + ldr r0, _080758D4 @ =gMPlay_BGM + movs r2, 0x80 + bl m4aMPlayVolumeControl +_080758AE: + ldr r0, _080758D8 @ =gUnknown_030042C4 + movs r1, 0 + strh r1, [r0] + ldr r0, _080758DC @ =gUnknown_03004240 + strh r1, [r0] + ldr r0, _080758E0 @ =gUnknown_03004200 + strh r1, [r0] + ldr r0, _080758E4 @ =gUnknown_03004244 + strh r1, [r0] + 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 +_080758D0: .4byte 0x0000ffff +_080758D4: .4byte gMPlay_BGM +_080758D8: .4byte gUnknown_030042C4 +_080758DC: .4byte gUnknown_03004240 +_080758E0: .4byte gUnknown_03004200 +_080758E4: .4byte gUnknown_03004244 + thumb_func_end move_something + + thumb_func_start move_anim_8072740 +move_anim_8072740: @ 80758E8 + push {r4,lr} + adds r4, r0, 0 + bl FreeSpriteOamMatrix + adds r0, r4, 0 + bl DestroySprite + ldr r1, _08075904 @ =gUnknown_0202F7B2 + ldrb r0, [r1] + subs r0, 0x1 + strb r0, [r1] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08075904: .4byte gUnknown_0202F7B2 + thumb_func_end move_anim_8072740 + + thumb_func_start move_anim_task_del +move_anim_task_del: @ 8075908 + push {lr} + lsls r0, 24 + lsrs r0, 24 + bl DestroyTask + ldr r1, _08075920 @ =gUnknown_0202F7B2 + ldrb r0, [r1] + subs r0, 0x1 + strb r0, [r1] + pop {r0} + bx r0 + .align 2, 0 +_08075920: .4byte gUnknown_0202F7B2 + thumb_func_end move_anim_task_del + + thumb_func_start move_anim_related_task_del +move_anim_related_task_del: @ 8075924 + push {lr} + lsls r0, 24 + lsrs r0, 24 + bl DestroyTask + ldr r1, _0807593C @ =gUnknown_0202F7B3 + ldrb r0, [r1] + subs r0, 0x1 + strb r0, [r1] + pop {r0} + bx r0 + .align 2, 0 +_0807593C: .4byte gUnknown_0202F7B3 + thumb_func_end move_anim_related_task_del + + thumb_func_start sub_8075940 +sub_8075940: @ 8075940 + push {r4,lr} + lsls r0, 16 + lsrs r3, r0, 16 + movs r2, 0 + ldr r4, _08075958 @ =0x0000ffff + ldr r1, _0807595C @ =gUnknown_03004B10 +_0807594C: + ldrh r0, [r1] + cmp r0, r4 + bne _08075960 + strh r3, [r1] + b _08075968 + .align 2, 0 +_08075958: .4byte 0x0000ffff +_0807595C: .4byte gUnknown_03004B10 +_08075960: + adds r1, 0x2 + adds r2, 0x1 + cmp r2, 0x7 + ble _0807594C +_08075968: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8075940 + + thumb_func_start sub_8075970 +sub_8075970: @ 8075970 + push {r4,lr} + lsls r0, 16 + lsrs r3, r0, 16 + movs r2, 0 + ldr r0, _0807598C @ =0x0000ffff + adds r4, r0, 0 + ldr r1, _08075990 @ =gUnknown_03004B10 +_0807597E: + ldrh r0, [r1] + cmp r0, r3 + bne _08075994 + orrs r0, r4 + strh r0, [r1] + b _0807599C + .align 2, 0 +_0807598C: .4byte 0x0000ffff +_08075990: .4byte gUnknown_03004B10 +_08075994: + adds r1, 0x2 + adds r2, 0x1 + cmp r2, 0x7 + ble _0807597E +_0807599C: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8075970 + + thumb_func_start move_anim_waiter +move_anim_waiter: @ 80759A4 + push {lr} + ldr r2, _080759BC @ =gUnknown_0202F7B0 + ldrb r1, [r2] + movs r0, 0 + ldrsb r0, [r2, r0] + cmp r0, 0 + bgt _080759C8 + ldr r0, _080759C0 @ =gUnknown_0202F7AC + ldr r1, _080759C4 @ =sub_80759D0 + str r1, [r0] + movs r0, 0 + b _080759CA + .align 2, 0 +_080759BC: .4byte gUnknown_0202F7B0 +_080759C0: .4byte gUnknown_0202F7AC +_080759C4: .4byte sub_80759D0 +_080759C8: + subs r0, r1, 0x1 +_080759CA: + strb r0, [r2] + pop {r0} + bx r0 + thumb_func_end move_anim_waiter + + thumb_func_start sub_80759D0 +sub_80759D0: @ 80759D0 + push {r4,lr} + ldr r4, _08075A00 @ =gUnknown_0837F4B8 +_080759D4: + ldr r0, _08075A04 @ =gUnknown_0202F7A4 + ldr r0, [r0] + ldrb r0, [r0] + lsls r0, 2 + adds r0, r4 + ldr r0, [r0] + bl _call_via_r0 + ldr r0, _08075A08 @ =gUnknown_0202F7B0 + ldrb r0, [r0] + lsls r0, 24 + asrs r0, 24 + cmp r0, 0 + bne _080759F8 + ldr r0, _08075A0C @ =gUnknown_0202F7B1 + ldrb r0, [r0] + cmp r0, 0 + bne _080759D4 +_080759F8: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08075A00: .4byte gUnknown_0837F4B8 +_08075A04: .4byte gUnknown_0202F7A4 +_08075A08: .4byte gUnknown_0202F7B0 +_08075A0C: .4byte gUnknown_0202F7B1 + thumb_func_end sub_80759D0 + + thumb_func_start ma00_load_graphics +ma00_load_graphics: @ 8075A10 + push {r4-r6,lr} + ldr r6, _08075A5C @ =gUnknown_0202F7A4 + ldr r0, [r6] + adds r1, r0, 0x1 + str r1, [r6] + ldrb r4, [r0, 0x1] + ldrb r0, [r1, 0x1] + lsls r0, 8 + orrs r4, r0 + lsls r5, r4, 3 + ldr r0, _08075A60 @ =gBattleAnimPicTable - (10000 * 8) + adds r0, r5, r0 + bl LoadCompressedObjectPic + ldr r0, _08075A64 @ =gBattleAnimPaletteTable - (10000 * 8) + adds r5, r0 + adds r0, r5, 0 + bl LoadCompressedObjectPalette + ldr r0, [r6] + adds r0, 0x2 + str r0, [r6] + ldr r0, _08075A68 @ =0xffffd8f0 + adds r4, r0 + lsls r4, 16 + lsrs r4, 16 + adds r0, r4, 0 + bl sub_8075940 + ldr r1, _08075A6C @ =gUnknown_0202F7B0 + movs r0, 0x1 + strb r0, [r1] + ldr r1, _08075A70 @ =gUnknown_0202F7AC + ldr r0, _08075A74 @ =move_anim_waiter + str r0, [r1] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_08075A5C: .4byte gUnknown_0202F7A4 +_08075A60: .4byte gBattleAnimPicTable - (10000 * 8) +_08075A64: .4byte gBattleAnimPaletteTable - (10000 * 8) +_08075A68: .4byte 0xffffd8f0 +_08075A6C: .4byte gUnknown_0202F7B0 +_08075A70: .4byte gUnknown_0202F7AC +_08075A74: .4byte move_anim_waiter + thumb_func_end ma00_load_graphics + + thumb_func_start ma01_080728D0 +ma01_080728D0: @ 8075A78 + push {r4-r6,lr} + ldr r6, _08075AB8 @ =gUnknown_0202F7A4 + ldr r0, [r6] + adds r1, r0, 0x1 + str r1, [r6] + ldrb r4, [r0, 0x1] + ldrb r0, [r1, 0x1] + lsls r0, 8 + orrs r4, r0 + ldr r1, _08075ABC @ =gBattleAnimPicTable + ldr r0, _08075AC0 @ =0xffffd8f0 + adds r4, r0 + lsls r0, r4, 3 + adds r0, r1 + ldrh r5, [r0, 0x6] + adds r0, r5, 0 + bl FreeSpriteTilesByTag + adds r0, r5, 0 + bl FreeSpritePaletteByTag + ldr r0, [r6] + adds r0, 0x2 + str r0, [r6] + lsls r4, 16 + lsrs r4, 16 + adds r0, r4, 0 + bl sub_8075970 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_08075AB8: .4byte gUnknown_0202F7A4 +_08075ABC: .4byte gBattleAnimPicTable +_08075AC0: .4byte 0xffffd8f0 + thumb_func_end ma01_080728D0 + + thumb_func_start ma02_instanciate_template +ma02_instanciate_template: @ 8075AC4 + push {r4-r7,lr} + ldr r5, _08075B2C @ =gUnknown_0202F7A4 + ldr r1, [r5] + adds r3, r1, 0x1 + str r3, [r5] + ldrb r2, [r1, 0x1] + ldrb r0, [r3, 0x1] + lsls r0, 8 + adds r2, r0 + ldrb r0, [r3, 0x2] + lsls r0, 16 + adds r2, r0 + ldrb r0, [r3, 0x3] + lsls r0, 24 + adds r7, r2, r0 + adds r0, r1, 0x5 + str r0, [r5] + ldrb r4, [r1, 0x5] + adds r0, r1, 0x6 + str r0, [r5] + ldrb r0, [r1, 0x6] + adds r1, 0x7 + str r1, [r5] + cmp r0, 0 + beq _08075B14 + adds r6, r5, 0 + ldr r5, _08075B30 @ =gUnknown_03004B00 + adds r3, r0, 0 +_08075AFC: + ldr r2, [r6] + ldrb r1, [r2] + ldrb r0, [r2, 0x1] + lsls r0, 8 + orrs r1, r0 + strh r1, [r5] + adds r2, 0x2 + str r2, [r6] + adds r5, 0x2 + subs r3, 0x1 + cmp r3, 0 + bne _08075AFC +_08075B14: + movs r0, 0x80 + ands r0, r4 + cmp r0, 0 + beq _08075B44 + movs r0, 0x80 + eors r4, r0 + cmp r4, 0x3F + bls _08075B34 + adds r0, r4, 0 + subs r0, 0x40 + b _08075B36 + .align 2, 0 +_08075B2C: .4byte gUnknown_0202F7A4 +_08075B30: .4byte gUnknown_03004B00 +_08075B34: + negs r0, r4 +_08075B36: + lsls r0, 24 + lsrs r4, r0, 24 + ldr r0, _08075B40 @ =gUnknown_0202F7C9 + b _08075B56 + .align 2, 0 +_08075B40: .4byte gUnknown_0202F7C9 +_08075B44: + cmp r4, 0x3F + bls _08075B4E + adds r0, r4, 0 + subs r0, 0x40 + b _08075B50 +_08075B4E: + negs r0, r4 +_08075B50: + lsls r0, 24 + lsrs r4, r0, 24 + ldr r0, _08075BAC @ =gUnknown_0202F7C8 +_08075B56: + ldrb r0, [r0] + bl sub_8079E90 + lsls r0, 24 + lsrs r0, 24 + lsls r1, r4, 24 + asrs r1, 24 + adds r0, r1 + lsls r0, 16 + lsrs r6, r0, 16 + lsls r0, r6, 16 + asrs r0, 16 + cmp r0, 0x2 + bgt _08075B74 + movs r6, 0x3 +_08075B74: + ldr r5, _08075BB0 @ =gUnknown_0202F7C9 + ldrb r0, [r5] + movs r1, 0x2 + bl sub_8077ABC + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldrb r0, [r5] + movs r1, 0x3 + bl sub_8077ABC + adds r2, r0, 0 + lsls r2, 24 + lsrs r2, 24 + lsls r3, r6, 24 + lsrs r3, 24 + adds r0, r7, 0 + adds r1, r4, 0 + bl CreateSpriteAndAnimate + ldr r1, _08075BB4 @ =gUnknown_0202F7B2 + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08075BAC: .4byte gUnknown_0202F7C8 +_08075BB0: .4byte gUnknown_0202F7C9 +_08075BB4: .4byte gUnknown_0202F7B2 + thumb_func_end ma02_instanciate_template + + thumb_func_start sub_8075BB8 +sub_8075BB8: @ 8075BB8 + push {r4-r7,lr} + ldr r4, _08075C28 @ =gUnknown_0202F7A4 + ldr r1, [r4] + adds r3, r1, 0x1 + str r3, [r4] + ldrb r2, [r1, 0x1] + ldrb r0, [r3, 0x1] + lsls r0, 8 + adds r2, r0 + ldrb r0, [r3, 0x2] + lsls r0, 16 + adds r2, r0 + ldrb r0, [r3, 0x3] + lsls r0, 24 + adds r6, r2, r0 + adds r0, r1, 0x5 + str r0, [r4] + ldrb r7, [r1, 0x5] + adds r0, r1, 0x6 + str r0, [r4] + ldrb r0, [r1, 0x6] + adds r1, 0x7 + str r1, [r4] + cmp r0, 0 + beq _08075C08 + adds r5, r4, 0 + ldr r4, _08075C2C @ =gUnknown_03004B00 + adds r3, r0, 0 +_08075BF0: + ldr r2, [r5] + ldrb r1, [r2] + ldrb r0, [r2, 0x1] + lsls r0, 8 + orrs r1, r0 + strh r1, [r4] + adds r2, 0x2 + str r2, [r5] + adds r4, 0x2 + subs r3, 0x1 + cmp r3, 0 + bne _08075BF0 +_08075C08: + adds r0, r6, 0 + adds r1, r7, 0 + bl CreateTask + lsls r0, 24 + lsrs r0, 24 + bl _call_via_r6 + ldr r1, _08075C30 @ =gUnknown_0202F7B2 + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08075C28: .4byte gUnknown_0202F7A4 +_08075C2C: .4byte gUnknown_03004B00 +_08075C30: .4byte gUnknown_0202F7B2 + thumb_func_end sub_8075BB8 + + thumb_func_start ma04_wait_countdown +ma04_wait_countdown: @ 8075C34 + push {r4,lr} + ldr r1, _08075C64 @ =gUnknown_0202F7A4 + ldr r0, [r1] + adds r2, r0, 0x1 + str r2, [r1] + ldr r3, _08075C68 @ =gUnknown_0202F7B0 + ldrb r0, [r0, 0x1] + strb r0, [r3] + lsls r0, 24 + cmp r0, 0 + bne _08075C52 + movs r4, 0x1 + negs r4, r4 + adds r0, r4, 0 + strb r0, [r3] +_08075C52: + adds r0, r2, 0x1 + str r0, [r1] + ldr r1, _08075C6C @ =gUnknown_0202F7AC + ldr r0, _08075C70 @ =move_anim_waiter + str r0, [r1] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08075C64: .4byte gUnknown_0202F7A4 +_08075C68: .4byte gUnknown_0202F7B0 +_08075C6C: .4byte gUnknown_0202F7AC +_08075C70: .4byte move_anim_waiter + thumb_func_end ma04_wait_countdown + + thumb_func_start sub_8075C74 +sub_8075C74: @ 8075C74 + push {lr} + ldr r0, _08075C8C @ =gUnknown_0202F7B2 + ldrb r2, [r0] + cmp r2, 0 + bne _08075C98 + ldr r0, _08075C90 @ =gUnknown_0202F7A4 + ldr r1, [r0] + adds r1, 0x1 + str r1, [r0] + ldr r0, _08075C94 @ =gUnknown_0202F7B0 + strb r2, [r0] + b _08075C9E + .align 2, 0 +_08075C8C: .4byte gUnknown_0202F7B2 +_08075C90: .4byte gUnknown_0202F7A4 +_08075C94: .4byte gUnknown_0202F7B0 +_08075C98: + ldr r1, _08075CA4 @ =gUnknown_0202F7B0 + movs r0, 0x1 + strb r0, [r1] +_08075C9E: + pop {r0} + bx r0 + .align 2, 0 +_08075CA4: .4byte gUnknown_0202F7B0 + thumb_func_end sub_8075C74 + + thumb_func_start nullsub_53 +nullsub_53: @ 8075CA8 + bx lr + thumb_func_end nullsub_53 + + thumb_func_start nullsub_88 +nullsub_88: @ 8075CAC + bx lr + thumb_func_end nullsub_88 + + thumb_func_start sub_8075CB0 +sub_8075CB0: @ 8075CB0 + push {r4-r7,lr} + mov r7, r8 + push {r7} + movs r0, 0 + mov r8, r0 + ldr r0, _08075CE0 @ =gUnknown_0202F7B2 + ldrb r0, [r0] + cmp r0, 0 + bne _08075CD8 + ldr r0, _08075CE4 @ =gUnknown_0202F7B3 + ldrb r0, [r0] + cmp r0, 0 + bne _08075CD8 + ldr r1, _08075CE8 @ =gUnknown_0202F7C2 + ldrb r0, [r1] + cmp r0, 0xFF + bne _08075CD8 + ldrb r0, [r1, 0x1] + cmp r0, 0xFF + beq _08075CF0 +_08075CD8: + ldr r1, _08075CEC @ =gUnknown_03004AF0 + movs r0, 0 + strh r0, [r1] + b _08075D0A + .align 2, 0 +_08075CE0: .4byte gUnknown_0202F7B2 +_08075CE4: .4byte gUnknown_0202F7B3 +_08075CE8: .4byte gUnknown_0202F7C2 +_08075CEC: .4byte gUnknown_03004AF0 +_08075CF0: + bl IsSEPlaying + lsls r0, 24 + cmp r0, 0 + beq _08075D28 + ldr r1, _08075D14 @ =gUnknown_03004AF0 + ldrh r0, [r1] + adds r0, 0x1 + strh r0, [r1] + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x5A + bhi _08075D1C +_08075D0A: + ldr r1, _08075D18 @ =gUnknown_0202F7B0 + movs r0, 0x1 + strb r0, [r1] + b _08075D8E + .align 2, 0 +_08075D14: .4byte gUnknown_03004AF0 +_08075D18: .4byte gUnknown_0202F7B0 +_08075D1C: + ldr r0, _08075D98 @ =gMPlay_SE1 + bl m4aMPlayStop + ldr r0, _08075D9C @ =gMPlay_SE2 + bl m4aMPlayStop +_08075D28: + ldr r1, _08075DA0 @ =gUnknown_03004AF0 + movs r0, 0 + strh r0, [r1] + movs r5, 0 + ldr r7, _08075DA4 @ =0x0000ffff + ldr r6, _08075DA8 @ =gBattleAnimPicTable + ldr r4, _08075DAC @ =gUnknown_03004B10 +_08075D36: + ldrh r0, [r4] + cmp r0, r7 + beq _08075D5A + lsls r0, 3 + adds r0, r6 + ldrh r0, [r0, 0x6] + bl FreeSpriteTilesByTag + ldrh r0, [r4] + lsls r0, 3 + adds r0, r6 + ldrh r0, [r0, 0x6] + bl FreeSpritePaletteByTag + ldrh r1, [r4] + adds r0, r7, 0 + orrs r0, r1 + strh r0, [r4] +_08075D5A: + adds r4, 0x2 + adds r5, 0x1 + cmp r5, 0x7 + ble _08075D36 + mov r1, r8 + cmp r1, 0 + bne _08075D8E + ldr r0, _08075DB0 @ =gMPlay_BGM + ldr r1, _08075DA4 @ =0x0000ffff + movs r2, 0x80 + lsls r2, 1 + bl m4aMPlayVolumeControl + bl sub_8076BE0 + lsls r0, 24 + cmp r0, 0 + bne _08075D88 + bl sub_8079E24 + movs r0, 0x1 + bl sub_8043EB4 +_08075D88: + ldr r0, _08075DB4 @ =gUnknown_0202F7B1 + mov r1, r8 + strb r1, [r0] +_08075D8E: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08075D98: .4byte gMPlay_SE1 +_08075D9C: .4byte gMPlay_SE2 +_08075DA0: .4byte gUnknown_03004AF0 +_08075DA4: .4byte 0x0000ffff +_08075DA8: .4byte gBattleAnimPicTable +_08075DAC: .4byte gUnknown_03004B10 +_08075DB0: .4byte gMPlay_BGM +_08075DB4: .4byte gUnknown_0202F7B1 + thumb_func_end sub_8075CB0 + + thumb_func_start ma09_play_sound +ma09_play_sound: @ 8075DB8 + push {r4,lr} + ldr r4, _08075DDC @ =gUnknown_0202F7A4 + ldr r0, [r4] + adds r1, r0, 0x1 + str r1, [r4] + ldrb r0, [r0, 0x1] + ldrb r1, [r1, 0x1] + lsls r1, 8 + orrs r0, r1 + bl PlaySE + ldr r0, [r4] + adds r0, 0x2 + str r0, [r4] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08075DDC: .4byte gUnknown_0202F7A4 + thumb_func_end ma09_play_sound + + thumb_func_start sub_8075DE0 +sub_8075DE0: @ 8075DE0 + push {r4-r7,lr} + ldr r0, _08075DF4 @ =gUnknown_0202F7A4 + ldr r2, [r0] + adds r1, r2, 0x1 + str r1, [r0] + ldrb r6, [r2, 0x1] + cmp r6, 0 + bne _08075DF8 + movs r6, 0x2 + b _08075E02 + .align 2, 0 +_08075DF4: .4byte gUnknown_0202F7A4 +_08075DF8: + cmp r6, 0x1 + bne _08075DFE + movs r6, 0x3 +_08075DFE: + cmp r6, 0 + beq _08075E06 +_08075E02: + cmp r6, 0x2 + bne _08075E10 +_08075E06: + ldr r0, _08075E0C @ =gUnknown_0202F7C8 + b _08075E12 + .align 2, 0 +_08075E0C: .4byte gUnknown_0202F7C8 +_08075E10: + ldr r0, _08075E44 @ =gUnknown_0202F7C9 +_08075E12: + ldrb r5, [r0] + adds r0, r5, 0 + bl b_side_obj__get_some_boolean + lsls r0, 24 + cmp r0, 0 + beq _08075ECE + adds r0, r5, 0 + bl battle_get_per_side_status + lsls r0, 24 + movs r1, 0xFF + lsls r1, 24 + adds r0, r1 + lsrs r0, 24 + cmp r0, 0x1 + bls _08075E3E + bl sub_8076BE0 + lsls r0, 24 + cmp r0, 0 + beq _08075E48 +_08075E3E: + movs r7, 0 + b _08075E4A + .align 2, 0 +_08075E44: .4byte gUnknown_0202F7C9 +_08075E48: + movs r7, 0x1 +_08075E4A: + adds r0, r5, 0 + adds r1, r7, 0 + bl sub_8076034 + ldr r0, _08075E98 @ =gUnknown_02024BE0 + adds r0, r5, r0 + ldrb r4, [r0] + ldr r0, _08075E9C @ =task_pA_ma0A_obj_to_bg_pal + movs r1, 0xA + bl CreateTask + lsls r0, 24 + lsrs r3, r0, 24 + ldr r1, _08075EA0 @ =gTasks + lsls r0, r3, 2 + adds r0, r3 + lsls r0, 3 + adds r2, r0, r1 + strh r4, [r2, 0x8] + ldr r1, _08075EA4 @ =gSprites + lsls r0, r4, 4 + adds r0, r4 + lsls r0, 2 + adds r0, r1 + ldrh r1, [r0, 0x24] + ldrh r4, [r0, 0x20] + adds r1, r4 + strh r1, [r2, 0xA] + ldrh r1, [r0, 0x26] + ldrh r0, [r0, 0x22] + adds r1, r0 + strh r1, [r2, 0xC] + cmp r7, 0 + bne _08075EB0 + ldr r0, _08075EA8 @ =gUnknown_030042C0 + ldrh r0, [r0] + strh r0, [r2, 0xE] + ldr r0, _08075EAC @ =gUnknown_030041B4 + b _08075EB8 + .align 2, 0 +_08075E98: .4byte gUnknown_02024BE0 +_08075E9C: .4byte task_pA_ma0A_obj_to_bg_pal +_08075EA0: .4byte gTasks +_08075EA4: .4byte gSprites +_08075EA8: .4byte gUnknown_030042C0 +_08075EAC: .4byte gUnknown_030041B4 +_08075EB0: + ldr r0, _08075F04 @ =gUnknown_03004288 + ldrh r0, [r0] + strh r0, [r2, 0xE] + ldr r0, _08075F08 @ =gUnknown_03004280 +_08075EB8: + ldrh r0, [r0] + strh r0, [r2, 0x10] + ldr r0, _08075F0C @ =gTasks + lsls r1, r3, 2 + adds r1, r3 + lsls r1, 3 + adds r1, r0 + strh r7, [r1, 0x12] + strh r5, [r1, 0x14] + ldr r0, _08075F10 @ =gUnknown_0202F7C2 + strb r3, [r0] +_08075ECE: + movs r0, 0x2 + eors r5, r0 + cmp r6, 0x1 + bls _08075F9A + adds r0, r5, 0 + bl b_side_obj__get_some_boolean + lsls r0, 24 + cmp r0, 0 + beq _08075F9A + adds r0, r5, 0 + bl battle_get_per_side_status + lsls r0, 24 + movs r1, 0xFF + lsls r1, 24 + adds r0, r1 + lsrs r0, 24 + cmp r0, 0x1 + bls _08075F00 + bl sub_8076BE0 + lsls r0, 24 + cmp r0, 0 + beq _08075F14 +_08075F00: + movs r7, 0 + b _08075F16 + .align 2, 0 +_08075F04: .4byte gUnknown_03004288 +_08075F08: .4byte gUnknown_03004280 +_08075F0C: .4byte gTasks +_08075F10: .4byte gUnknown_0202F7C2 +_08075F14: + movs r7, 0x1 +_08075F16: + adds r0, r5, 0 + adds r1, r7, 0 + bl sub_8076034 + ldr r0, _08075F64 @ =gUnknown_02024BE0 + adds r0, r5, r0 + ldrb r4, [r0] + ldr r0, _08075F68 @ =task_pA_ma0A_obj_to_bg_pal + movs r1, 0xA + bl CreateTask + lsls r0, 24 + lsrs r3, r0, 24 + ldr r1, _08075F6C @ =gTasks + lsls r0, r3, 2 + adds r0, r3 + lsls r0, 3 + adds r2, r0, r1 + strh r4, [r2, 0x8] + ldr r1, _08075F70 @ =gSprites + lsls r0, r4, 4 + adds r0, r4 + lsls r0, 2 + adds r0, r1 + ldrh r1, [r0, 0x24] + ldrh r4, [r0, 0x20] + adds r1, r4 + strh r1, [r2, 0xA] + ldrh r1, [r0, 0x26] + ldrh r0, [r0, 0x22] + adds r1, r0 + strh r1, [r2, 0xC] + cmp r7, 0 + bne _08075F7C + ldr r0, _08075F74 @ =gUnknown_030042C0 + ldrh r0, [r0] + strh r0, [r2, 0xE] + ldr r0, _08075F78 @ =gUnknown_030041B4 + b _08075F84 + .align 2, 0 +_08075F64: .4byte gUnknown_02024BE0 +_08075F68: .4byte task_pA_ma0A_obj_to_bg_pal +_08075F6C: .4byte gTasks +_08075F70: .4byte gSprites +_08075F74: .4byte gUnknown_030042C0 +_08075F78: .4byte gUnknown_030041B4 +_08075F7C: + ldr r0, _08075FA8 @ =gUnknown_03004288 + ldrh r0, [r0] + strh r0, [r2, 0xE] + ldr r0, _08075FAC @ =gUnknown_03004280 +_08075F84: + ldrh r0, [r0] + strh r0, [r2, 0x10] + ldr r0, _08075FB0 @ =gTasks + lsls r1, r3, 2 + adds r1, r3 + lsls r1, 3 + adds r1, r0 + strh r7, [r1, 0x12] + strh r5, [r1, 0x14] + ldr r0, _08075FB4 @ =gUnknown_0202F7C2 + strb r3, [r0, 0x1] +_08075F9A: + ldr r1, _08075FB8 @ =gUnknown_0202F7A4 + ldr r0, [r1] + adds r0, 0x1 + str r0, [r1] + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08075FA8: .4byte gUnknown_03004288 +_08075FAC: .4byte gUnknown_03004280 +_08075FB0: .4byte gTasks +_08075FB4: .4byte gUnknown_0202F7C2 +_08075FB8: .4byte gUnknown_0202F7A4 + thumb_func_end sub_8075DE0 + + thumb_func_start b_side_obj__get_some_boolean +b_side_obj__get_some_boolean: @ 8075FBC + push {r4,r5,lr} + lsls r0, 24 + lsrs r4, r0, 24 + adds r5, r4, 0 + bl sub_8076BE0 + lsls r0, 24 + cmp r0, 0 + beq _08075FDC + ldr r0, _08075FD8 @ =gUnknown_0202F7C8 + ldrb r0, [r0] + cmp r4, r0 + beq _0807601C + b _0807602C + .align 2, 0 +_08075FD8: .4byte gUnknown_0202F7C8 +_08075FDC: + adds r0, r4, 0 + bl sub_8078874 + lsls r0, 24 + cmp r0, 0 + beq _0807602C + bl sub_8076BE0 + lsls r0, 24 + cmp r0, 0 + bne _0807601C + lsls r0, r5, 2 + ldr r1, _08076020 @ =0x02017800 + adds r0, r1 + ldrb r1, [r0] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _0807601C + ldr r2, _08076024 @ =gSprites + ldr r0, _08076028 @ =gUnknown_02024BE0 + adds r0, r5, r0 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + adds r0, 0x3E + ldrb r0, [r0] + lsls r0, 29 + cmp r0, 0 + blt _0807602C +_0807601C: + movs r0, 0x1 + b _0807602E + .align 2, 0 +_08076020: .4byte 0x02017800 +_08076024: .4byte gSprites +_08076028: .4byte gUnknown_02024BE0 +_0807602C: + movs r0, 0 +_0807602E: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end b_side_obj__get_some_boolean + + thumb_func_start sub_8076034 +sub_8076034: @ 8076034 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x28 + lsls r0, 24 + lsrs r0, 24 + mov r9, r0 + lsls r1, 24 + cmp r1, 0 + beq _0807604E + b _08076220 +_0807604E: + add r4, sp, 0x10 + adds r0, r4, 0 + bl sub_8078914 + ldr r2, [sp, 0x10] + movs r3, 0x80 + lsls r3, 6 + add r6, sp, 0x1C + add r0, sp, 0x20 + mov r10, r0 + mov r1, r9 + lsls r1, 5 + str r1, [sp, 0x24] + movs r5, 0 + ldr r1, _08076194 @ =0x040000d4 + movs r4, 0x80 + lsls r4, 5 + mov r12, r6 + ldr r7, _08076198 @ =0x85000400 + movs r0, 0x85 + lsls r0, 24 + mov r8, r0 +_0807607A: + str r5, [sp, 0x1C] + mov r0, r12 + str r0, [r1] + str r2, [r1, 0x4] + str r7, [r1, 0x8] + ldr r0, [r1, 0x8] + adds r2, r4 + subs r3, r4 + cmp r3, r4 + bhi _0807607A + str r5, [sp, 0x1C] + str r6, [r1] + str r2, [r1, 0x4] + lsrs r0, r3, 2 + mov r2, r8 + orrs r0, r2 + str r0, [r1, 0x8] + ldr r0, [r1, 0x8] + add r0, sp, 0xC + movs r1, 0 + strb r1, [r0] + strb r1, [r0] + ldr r1, [sp, 0x14] + movs r0, 0xFF + mov r3, r10 + strh r0, [r3] + ldr r0, _08076194 @ =0x040000d4 + str r3, [r0] + str r1, [r0, 0x4] + ldr r1, _0807619C @ =0x81000800 + str r1, [r0, 0x8] + ldr r0, [r0, 0x8] + ldr r2, _080761A0 @ =REG_BG1CNT + ldrb r1, [r2] + movs r0, 0x4 + negs r0, r0 + ands r0, r1 + movs r1, 0x2 + orrs r0, r1 + strb r0, [r2] + ldrb r1, [r2, 0x1] + movs r0, 0x3F + ands r0, r1 + movs r1, 0x40 + orrs r0, r1 + strb r0, [r2, 0x1] + ldrb r1, [r2, 0x1] + movs r0, 0x21 + negs r0, r0 + ands r0, r1 + strb r0, [r2, 0x1] + ldr r0, _080761A4 @ =gUnknown_02024BE0 + add r0, r9 + ldrb r4, [r0] + ldr r5, _080761A8 @ =gUnknown_030042C0 + ldr r0, _080761AC @ =gSprites + lsls r1, r4, 4 + adds r1, r4 + lsls r1, 2 + adds r1, r0 + ldrh r0, [r1, 0x24] + ldrh r1, [r1, 0x20] + adds r0, r1 + negs r0, r0 + adds r0, 0x20 + strh r0, [r5] + bl sub_8076BE0 + lsls r0, 24 + cmp r0, 0 + beq _0807611C + ldr r0, _080761B0 @ =0x02019348 + ldrh r0, [r0] + bl sub_80AEB1C + lsls r0, 24 + cmp r0, 0 + beq _0807611C + ldrh r0, [r5] + subs r0, 0x1 + strh r0, [r5] +_0807611C: + ldr r3, _080761B4 @ =gUnknown_030041B4 + ldr r2, _080761AC @ =gSprites + lsls r1, r4, 4 + adds r1, r4 + lsls r1, 2 + adds r1, r2 + ldrh r0, [r1, 0x26] + ldrh r1, [r1, 0x22] + adds r0, r1 + negs r0, r0 + adds r0, 0x20 + strh r0, [r3] + ldr r0, _080761A4 @ =gUnknown_02024BE0 + add r0, r9 + 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] + ldr r1, _080761B8 @ =REG_BG1HOFS + ldr r0, _080761A8 @ =gUnknown_030042C0 + ldrh r0, [r0] + strh r0, [r1] + adds r1, 0x2 + ldrh r0, [r3] + strh r0, [r1] + ldr r4, _080761BC @ =gPlttBufferUnfaded + 0x200 + ldr r0, [sp, 0x24] + adds r4, r0, r4 + mov r2, sp + ldrb r1, [r2, 0x18] + lsls r1, 4 + adds r0, r4, 0 + movs r2, 0x20 + bl LoadPalette + mov r3, sp + ldrb r0, [r3, 0x18] + lsls r0, 5 + movs r1, 0xA0 + lsls r1, 19 + adds r0, r1 + ldr r1, _08076194 @ =0x040000d4 + str r4, [r1] + str r0, [r1, 0x4] + ldr r0, _080761C0 @ =0x84000008 + str r0, [r1, 0x8] + ldr r0, [r1, 0x8] + bl sub_8076BE0 + lsls r0, 24 + cmp r0, 0 + beq _080761C4 + movs r2, 0 + b _080761CE + .align 2, 0 +_08076194: .4byte 0x040000d4 +_08076198: .4byte 0x85000400 +_0807619C: .4byte 0x81000800 +_080761A0: .4byte REG_BG1CNT +_080761A4: .4byte gUnknown_02024BE0 +_080761A8: .4byte gUnknown_030042C0 +_080761AC: .4byte gSprites +_080761B0: .4byte 0x02019348 +_080761B4: .4byte gUnknown_030041B4 +_080761B8: .4byte REG_BG1HOFS +_080761BC: .4byte gPlttBufferUnfaded + 0x200 +_080761C0: .4byte 0x84000008 +_080761C4: + mov r0, r9 + bl battle_get_per_side_status + lsls r0, 24 + lsrs r2, r0, 24 +_080761CE: + mov r0, sp + ldrb r3, [r0, 0x18] + ldr r0, [sp, 0x10] + lsls r0, 16 + lsrs r0, 16 + str r0, [sp] + ldr r4, [sp, 0x14] + movs r1, 0xFA + lsls r1, 24 + adds r0, r4, r1 + cmp r0, 0 + bge _080761EA + ldr r1, _08076218 @ =0xfa0007ff + adds r0, r4, r1 +_080761EA: + asrs r0, 11 + lsls r0, 24 + lsrs r0, 24 + str r0, [sp, 0x4] + ldr r0, _0807621C @ =REG_BG1CNT + ldr r0, [r0] + lsls r0, 28 + lsrs r0, 30 + str r0, [sp, 0x8] + movs r0, 0 + movs r1, 0 + bl sub_80E4EF8 + bl sub_8076BE0 + lsls r0, 24 + cmp r0, 0 + bne _08076210 + b _08076338 +_08076210: + bl sub_8076380 + b _08076338 + .align 2, 0 +_08076218: .4byte 0xfa0007ff +_0807621C: .4byte REG_BG1CNT +_08076220: + ldr r3, _08076348 @ =0x06006000 + movs r5, 0x80 + lsls r5, 6 + add r6, sp, 0x1C + ldr r2, _0807634C @ =gSprites + mov r10, r2 + mov r0, r9 + lsls r0, 5 + str r0, [sp, 0x24] + movs r4, 0 + ldr r1, _08076350 @ =0x040000d4 + movs r2, 0x80 + lsls r2, 5 + mov r12, r6 + ldr r7, _08076354 @ =0x85000400 + movs r0, 0x85 + lsls r0, 24 + mov r8, r0 +_08076244: + str r4, [sp, 0x1C] + mov r0, r12 + str r0, [r1] + str r3, [r1, 0x4] + str r7, [r1, 0x8] + ldr r0, [r1, 0x8] + adds r3, r2 + subs r5, r2 + cmp r5, r2 + bhi _08076244 + str r4, [sp, 0x1C] + str r6, [r1] + str r3, [r1, 0x4] + lsrs r0, r5, 2 + mov r2, r8 + orrs r0, r2 + str r0, [r1, 0x8] + ldr r0, [r1, 0x8] + add r0, sp, 0xC + movs r1, 0 + strb r1, [r0] + strb r1, [r0] + ldr r1, _08076358 @ =0x0600f000 + movs r0, 0 + str r0, [sp, 0x1C] + ldr r5, _08076350 @ =0x040000d4 + str r6, [r5] + str r1, [r5, 0x4] + ldr r0, _0807635C @ =0x85000200 + str r0, [r5, 0x8] + ldr r0, [r5, 0x8] + ldr r6, _08076360 @ =REG_BG2CNT + ldrb r1, [r6] + movs r0, 0x4 + negs r0, r0 + ands r0, r1 + movs r1, 0x2 + orrs r0, r1 + strb r0, [r6] + ldrb r1, [r6, 0x1] + movs r0, 0x3F + ands r0, r1 + movs r1, 0x40 + orrs r0, r1 + strb r0, [r6, 0x1] + ldrb r1, [r6, 0x1] + movs r0, 0x21 + negs r0, r0 + ands r0, r1 + strb r0, [r6, 0x1] + ldr r2, _08076364 @ =gUnknown_02024BE0 + add r2, r9 + ldrb r4, [r2] + lsls r1, r4, 4 + adds r1, r4 + lsls r1, 2 + add r1, r10 + ldrh r0, [r1, 0x24] + ldrh r3, [r1, 0x20] + adds r0, r3 + negs r0, r0 + adds r0, 0x20 + ldr r3, _08076368 @ =gUnknown_03004288 + strh r0, [r3] + ldrh r0, [r1, 0x26] + ldrh r1, [r1, 0x22] + adds r0, r1 + negs r0, r0 + adds r0, 0x20 + ldr r1, _0807636C @ =gUnknown_03004280 + strh r0, [r1] + ldrb r1, [r2] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + add r0, r10 + adds r0, 0x3E + ldrb r1, [r0] + movs r2, 0x4 + orrs r1, r2 + strb r1, [r0] + ldr r1, _08076370 @ =REG_BG2HOFS + ldrh r0, [r3] + strh r0, [r1] + adds r1, 0x2 + ldr r2, _0807636C @ =gUnknown_03004280 + ldrh r0, [r2] + strh r0, [r1] + ldr r3, [sp, 0x24] + ldr r0, _08076374 @ =gPlttBufferUnfaded + 0x200 + adds r4, r3, r0 + adds r0, r4, 0 + movs r1, 0x90 + movs r2, 0x20 + bl LoadPalette + ldr r0, _08076378 @ =0x05000120 + str r4, [r5] + str r0, [r5, 0x4] + ldr r0, _0807637C @ =0x84000008 + str r0, [r5, 0x8] + ldr r0, [r5, 0x8] + mov r0, r9 + bl battle_get_per_side_status + adds r2, r0, 0 + lsls r2, 24 + lsrs r2, 24 + movs r0, 0xC0 + lsls r0, 7 + str r0, [sp] + movs r0, 0x1E + str r0, [sp, 0x4] + ldr r0, [r6] + lsls r0, 28 + lsrs r0, 30 + str r0, [sp, 0x8] + movs r0, 0 + movs r1, 0 + movs r3, 0x9 + bl sub_80E4EF8 +_08076338: + add sp, 0x28 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08076348: .4byte 0x06006000 +_0807634C: .4byte gSprites +_08076350: .4byte 0x040000d4 +_08076354: .4byte 0x85000400 +_08076358: .4byte 0x0600f000 +_0807635C: .4byte 0x85000200 +_08076360: .4byte REG_BG2CNT +_08076364: .4byte gUnknown_02024BE0 +_08076368: .4byte gUnknown_03004288 +_0807636C: .4byte gUnknown_03004280 +_08076370: .4byte REG_BG2HOFS +_08076374: .4byte gPlttBufferUnfaded + 0x200 +_08076378: .4byte 0x05000120 +_0807637C: .4byte 0x84000008 + thumb_func_end sub_8076034 + + thumb_func_start sub_8076380 +sub_8076380: @ 8076380 + push {r4-r7,lr} + sub sp, 0xC + ldr r0, _080763F8 @ =0x02019348 + ldrh r0, [r0] + bl sub_80AEB1C + lsls r0, 24 + cmp r0, 0 + beq _080763EE + mov r0, sp + bl sub_8078914 + ldr r6, [sp, 0x4] + movs r5, 0 + movs r0, 0x7 + mov r12, r0 + movs r7, 0 +_080763A2: + movs r4, 0 + adds r3, r7, r6 + mov r1, r12 + lsls r0, r1, 1 + adds r2, r0, r6 +_080763AC: + ldrh r1, [r3] + ldrh r0, [r2] + strh r0, [r3] + strh r1, [r2] + adds r3, 0x2 + subs r2, 0x2 + adds r4, 0x1 + cmp r4, 0x3 + ble _080763AC + movs r0, 0x20 + add r12, r0 + adds r7, 0x40 + adds r5, 0x1 + cmp r5, 0x7 + ble _080763A2 + movs r5, 0 + movs r1, 0x80 + lsls r1, 3 + adds r3, r1, 0 +_080763D2: + adds r2, r5, 0x1 + lsls r0, r5, 6 + adds r1, r0, r6 + movs r4, 0x7 +_080763DA: + ldrh r0, [r1] + eors r0, r3 + strh r0, [r1] + adds r1, 0x2 + subs r4, 0x1 + cmp r4, 0 + bge _080763DA + adds r5, r2, 0 + cmp r5, 0x7 + ble _080763D2 +_080763EE: + add sp, 0xC + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080763F8: .4byte 0x02019348 + thumb_func_end sub_8076380 + + thumb_func_start sub_80763FC +sub_80763FC: @ 80763FC + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + mov r12, r1 + adds r7, r2, 0 + lsls r0, 16 + lsrs r6, r0, 16 + lsls r3, 24 + movs r0, 0x40 + mov r9, r0 + cmp r3, 0 + bne _0807641A + movs r1, 0x20 + mov r9, r1 +_0807641A: + lsls r0, r6, 28 + lsrs r6, r0, 16 + movs r0, 0 + cmp r0, r9 + bcs _08076452 + ldr r1, _08076460 @ =0x00000fff + mov r8, r1 +_08076428: + movs r3, 0 + adds r5, r0, 0x1 + lsls r4, r0, 5 +_0807642E: + adds r1, r4, r3 + lsls r1, 1 + add r1, r12 + ldrh r2, [r1] + mov r0, r8 + ands r0, r2 + orrs r0, r6 + adds r0, r7 + strh r0, [r1] + adds r0, r3, 0x1 + lsls r0, 24 + lsrs r3, r0, 24 + cmp r3, 0x1F + bls _0807642E + lsls r0, r5, 24 + lsrs r0, 24 + cmp r0, r9 + bcc _08076428 +_08076452: + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08076460: .4byte 0x00000fff + thumb_func_end sub_80763FC + + thumb_func_start sub_8076464 +sub_8076464: @ 8076464 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x14 + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + add r5, sp, 0x4 + adds r0, r5, 0 + bl sub_8078914 + cmp r4, 0 + beq _0807648C + bl sub_8076BE0 + lsls r0, 24 + cmp r0, 0 + beq _080764F0 +_0807648C: + ldr r2, [sp, 0x4] + movs r3, 0x80 + lsls r3, 6 + add r5, sp, 0x10 + ldr r0, _080764E0 @ =gUnknown_030042C0 + mov r9, r0 + ldr r0, _080764E4 @ =gUnknown_030041B4 + mov r10, r0 + movs r6, 0 + ldr r1, _080764E8 @ =0x040000d4 + movs r4, 0x80 + lsls r4, 5 + mov r12, r5 + ldr r7, _080764EC @ =0x85000400 + movs r0, 0x85 + lsls r0, 24 + mov r8, r0 +_080764AE: + str r6, [sp, 0x10] + mov r0, r12 + str r0, [r1] + str r2, [r1, 0x4] + str r7, [r1, 0x8] + ldr r0, [r1, 0x8] + adds r2, r4 + subs r3, r4 + cmp r3, r4 + bhi _080764AE + str r6, [sp, 0x10] + str r5, [r1] + str r2, [r1, 0x4] + lsrs r0, r3, 2 + mov r2, r8 + orrs r0, r2 + str r0, [r1, 0x8] + ldr r0, [r1, 0x8] + mov r0, sp + movs r1, 0 + strb r1, [r0] + strb r1, [r0] + ldr r1, [sp, 0x8] + b _08076540 + .align 2, 0 +_080764E0: .4byte gUnknown_030042C0 +_080764E4: .4byte gUnknown_030041B4 +_080764E8: .4byte 0x040000d4 +_080764EC: .4byte 0x85000400 +_080764F0: + ldr r2, _08076568 @ =0x06006000 + movs r3, 0x80 + lsls r3, 6 + add r5, sp, 0x10 + ldr r0, _0807656C @ =gUnknown_03004288 + mov r9, r0 + ldr r0, _08076570 @ =gUnknown_03004280 + mov r10, r0 + movs r6, 0 + ldr r1, _08076574 @ =0x040000d4 + movs r4, 0x80 + lsls r4, 5 + mov r12, r5 + ldr r7, _08076578 @ =0x85000400 + movs r0, 0x85 + lsls r0, 24 + mov r8, r0 +_08076512: + str r6, [sp, 0x10] + mov r0, r12 + str r0, [r1] + str r2, [r1, 0x4] + str r7, [r1, 0x8] + ldr r0, [r1, 0x8] + adds r2, r4 + subs r3, r4 + cmp r3, r4 + bhi _08076512 + str r6, [sp, 0x10] + str r5, [r1] + str r2, [r1, 0x4] + lsrs r0, r3, 2 + mov r2, r8 + orrs r0, r2 + str r0, [r1, 0x8] + ldr r0, [r1, 0x8] + mov r0, sp + movs r1, 0 + strb r1, [r0] + strb r1, [r0] + ldr r1, _0807657C @ =0x0600f000 +_08076540: + movs r2, 0 + str r2, [sp, 0x10] + ldr r0, _08076574 @ =0x040000d4 + str r5, [r0] + str r1, [r0, 0x4] + ldr r1, _08076580 @ =0x85000200 + str r1, [r0, 0x8] + ldr r0, [r0, 0x8] + mov r0, r9 + strh r2, [r0] + mov r0, r10 + strh r2, [r0] + 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 +_08076568: .4byte 0x06006000 +_0807656C: .4byte gUnknown_03004288 +_08076570: .4byte gUnknown_03004280 +_08076574: .4byte 0x040000d4 +_08076578: .4byte 0x85000400 +_0807657C: .4byte 0x0600f000 +_08076580: .4byte 0x85000200 + thumb_func_end sub_8076464 + + thumb_func_start task_pA_ma0A_obj_to_bg_pal +task_pA_ma0A_obj_to_bg_pal: @ 8076584 + push {r4-r6,lr} + sub sp, 0xC + lsls r0, 24 + lsrs r0, 24 + ldr r2, _080765FC @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r5, r1, r2 + ldrb r4, [r5, 0x8] + ldrb r6, [r5, 0x14] + mov r0, sp + bl sub_8078914 + ldr r0, _08076600 @ =gSprites + lsls r1, r4, 4 + adds r1, r4 + lsls r1, 2 + adds r1, r0 + ldrh r2, [r1, 0x24] + ldrh r0, [r1, 0x20] + adds r2, r0 + ldrh r0, [r5, 0xA] + subs r0, r2 + lsls r0, 16 + lsrs r3, r0, 16 + ldrh r2, [r1, 0x26] + ldrh r1, [r1, 0x22] + adds r2, r1 + ldrh r0, [r5, 0xC] + subs r0, r2 + lsls r0, 16 + lsrs r2, r0, 16 + movs r1, 0x12 + ldrsh r0, [r5, r1] + cmp r0, 0 + bne _08076614 + ldr r1, _08076604 @ =gUnknown_030042C0 + lsls r0, r3, 16 + asrs r0, 16 + ldrh r3, [r5, 0xE] + adds r0, r3 + strh r0, [r1] + ldr r1, _08076608 @ =gUnknown_030041B4 + lsls r0, r2, 16 + asrs r0, 16 + ldrh r5, [r5, 0x10] + adds r0, r5 + strh r0, [r1] + lsls r2, r6, 5 + ldr r1, _0807660C @ =gPlttBufferFaded + 0x200 + adds r2, r1 + mov r0, sp + ldrb r0, [r0, 0x8] + lsls r0, 5 + ldr r3, _08076610 @ =0xfffffe00 + adds r1, r3 + adds r0, r1 + b _08076634 + .align 2, 0 +_080765FC: .4byte gTasks +_08076600: .4byte gSprites +_08076604: .4byte gUnknown_030042C0 +_08076608: .4byte gUnknown_030041B4 +_0807660C: .4byte gPlttBufferFaded + 0x200 +_08076610: .4byte 0xfffffe00 +_08076614: + ldr r1, _08076648 @ =gUnknown_03004288 + lsls r0, r3, 16 + asrs r0, 16 + ldrh r3, [r5, 0xE] + adds r0, r3 + strh r0, [r1] + ldr r1, _0807664C @ =gUnknown_03004280 + lsls r0, r2, 16 + asrs r0, 16 + ldrh r5, [r5, 0x10] + adds r0, r5 + strh r0, [r1] + lsls r2, r6, 5 + ldr r0, _08076650 @ =gPlttBufferFaded + 0x200 + adds r2, r0 + subs r0, 0xE0 +_08076634: + ldr r1, _08076654 @ =0x040000d4 + str r2, [r1] + str r0, [r1, 0x4] + ldr r0, _08076658 @ =0x84000008 + str r0, [r1, 0x8] + ldr r0, [r1, 0x8] + add sp, 0xC + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_08076648: .4byte gUnknown_03004288 +_0807664C: .4byte gUnknown_03004280 +_08076650: .4byte gPlttBufferFaded + 0x200 +_08076654: .4byte 0x040000d4 +_08076658: .4byte 0x84000008 + thumb_func_end task_pA_ma0A_obj_to_bg_pal + + thumb_func_start ma0B_0807324C +ma0B_0807324C: @ 807665C + push {r4,r5,lr} + ldr r0, _08076670 @ =gUnknown_0202F7A4 + ldr r2, [r0] + adds r1, r2, 0x1 + str r1, [r0] + ldrb r4, [r2, 0x1] + cmp r4, 0 + bne _08076674 + movs r4, 0x2 + b _0807667E + .align 2, 0 +_08076670: .4byte gUnknown_0202F7A4 +_08076674: + cmp r4, 0x1 + bne _0807667A + movs r4, 0x3 +_0807667A: + cmp r4, 0 + beq _08076682 +_0807667E: + cmp r4, 0x2 + bne _0807668C +_08076682: + ldr r0, _08076688 @ =gUnknown_0202F7C8 + b _0807668E + .align 2, 0 +_08076688: .4byte gUnknown_0202F7C8 +_0807668C: + ldr r0, _080766E4 @ =gUnknown_0202F7C9 +_0807668E: + ldrb r5, [r0] + ldr r3, _080766E8 @ =gUnknown_0202F7C2 + ldrb r0, [r3] + cmp r0, 0xFF + beq _080766B4 + ldr r2, _080766EC @ =gSprites + ldr r0, _080766F0 @ =gUnknown_02024BE0 + adds r0, r5, 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] +_080766B4: + cmp r4, 0x1 + bls _080766F4 + ldrb r0, [r3, 0x1] + cmp r0, 0xFF + beq _080766F4 + ldr r3, _080766EC @ =gSprites + ldr r2, _080766F0 @ =gUnknown_02024BE0 + movs r1, 0x2 + adds r0, r5, 0 + eors r0, r1 + adds r0, r2 + ldrb r1, [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] + b _080766F6 + .align 2, 0 +_080766E4: .4byte gUnknown_0202F7C9 +_080766E8: .4byte gUnknown_0202F7C2 +_080766EC: .4byte gSprites +_080766F0: .4byte gUnknown_02024BE0 +_080766F4: + movs r4, 0 +_080766F6: + ldr r0, _08076720 @ =sub_807672C + movs r1, 0x5 + bl CreateTask + lsls r0, 24 + lsrs r0, 24 + ldr r2, _08076724 @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + strh r4, [r1, 0x8] + strh r5, [r1, 0xC] + ldr r1, _08076728 @ =gUnknown_0202F7A4 + ldr r0, [r1] + adds r0, 0x1 + str r0, [r1] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08076720: .4byte sub_807672C +_08076724: .4byte gTasks +_08076728: .4byte gUnknown_0202F7A4 + thumb_func_end ma0B_0807324C + + thumb_func_start sub_807672C +sub_807672C: @ 807672C + push {r4-r6,lr} + lsls r0, 24 + lsrs r5, r0, 24 + ldr r1, _0807676C @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r1, r0, r1 + ldrh r0, [r1, 0xA] + adds r0, 0x1 + strh r0, [r1, 0xA] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + beq _080767B6 + ldrb r0, [r1, 0xC] + bl battle_get_per_side_status + lsls r0, 24 + movs r1, 0xFF + lsls r1, 24 + adds r0, r1 + lsrs r0, 24 + cmp r0, 0x1 + bls _08076768 + bl sub_8076BE0 + lsls r0, 24 + cmp r0, 0 + beq _08076770 +_08076768: + movs r4, 0 + b _08076772 + .align 2, 0 +_0807676C: .4byte gTasks +_08076770: + movs r4, 0x1 +_08076772: + ldr r6, _080767BC @ =gUnknown_0202F7C2 + ldrb r0, [r6] + cmp r0, 0xFF + beq _0807678A + adds r0, r4, 0 + bl sub_8076464 + ldrb r0, [r6] + bl DestroyTask + movs r0, 0xFF + strb r0, [r6] +_0807678A: + ldr r0, _080767C0 @ =gTasks + lsls r1, r5, 2 + adds r1, r5 + lsls r1, 3 + adds r1, r0 + movs r2, 0x8 + ldrsh r0, [r1, r2] + cmp r0, 0x1 + ble _080767B0 + movs r0, 0x1 + eors r4, r0 + adds r0, r4, 0 + bl sub_8076464 + ldrb r0, [r6, 0x1] + bl DestroyTask + movs r0, 0xFF + strb r0, [r6, 0x1] +_080767B0: + adds r0, r5, 0 + bl DestroyTask +_080767B6: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080767BC: .4byte gUnknown_0202F7C2 +_080767C0: .4byte gTasks + thumb_func_end sub_807672C + + thumb_func_start sub_80767C4 +sub_80767C4: @ 80767C4 + push {r4,r5,lr} + ldr r0, _080767D8 @ =gUnknown_0202F7A4 + ldr r2, [r0] + adds r1, r2, 0x1 + str r1, [r0] + ldrb r5, [r2, 0x1] + cmp r5, 0 + bne _080767DC + movs r5, 0x2 + b _080767E6 + .align 2, 0 +_080767D8: .4byte gUnknown_0202F7A4 +_080767DC: + cmp r5, 0x1 + bne _080767E2 + movs r5, 0x3 +_080767E2: + cmp r5, 0 + beq _080767EA +_080767E6: + cmp r5, 0x2 + bne _080767F4 +_080767EA: + ldr r0, _080767F0 @ =gUnknown_0202F7C8 + b _080767F6 + .align 2, 0 +_080767F0: .4byte gUnknown_0202F7C8 +_080767F4: + ldr r0, _08076828 @ =gUnknown_0202F7C9 +_080767F6: + ldrb r4, [r0] + adds r0, r4, 0 + bl b_side_obj__get_some_boolean + lsls r0, 24 + cmp r0, 0 + beq _08076850 + adds r0, r4, 0 + bl battle_get_per_side_status + lsls r0, 24 + movs r1, 0xFF + lsls r1, 24 + adds r0, r1 + lsrs r0, 24 + cmp r0, 0x1 + bls _08076822 + bl sub_8076BE0 + lsls r0, 24 + cmp r0, 0 + beq _0807682C +_08076822: + movs r1, 0 + b _0807682E + .align 2, 0 +_08076828: .4byte gUnknown_0202F7C9 +_0807682C: + movs r1, 0x1 +_0807682E: + adds r0, r4, 0 + bl sub_8076034 + ldr r2, _08076888 @ =gSprites + ldr r0, _0807688C @ =gUnknown_02024BE0 + 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] +_08076850: + movs r0, 0x2 + eors r4, r0 + cmp r5, 0x1 + bls _080768B4 + adds r0, r4, 0 + bl b_side_obj__get_some_boolean + lsls r0, 24 + cmp r0, 0 + beq _080768B4 + adds r0, r4, 0 + bl battle_get_per_side_status + lsls r0, 24 + movs r1, 0xFF + lsls r1, 24 + adds r0, r1 + lsrs r0, 24 + cmp r0, 0x1 + bls _08076882 + bl sub_8076BE0 + lsls r0, 24 + cmp r0, 0 + beq _08076890 +_08076882: + movs r1, 0 + b _08076892 + .align 2, 0 +_08076888: .4byte gSprites +_0807688C: .4byte gUnknown_02024BE0 +_08076890: + movs r1, 0x1 +_08076892: + adds r0, r4, 0 + bl sub_8076034 + ldr r2, _080768C4 @ =gSprites + ldr r0, _080768C8 @ =gUnknown_02024BE0 + 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] +_080768B4: + ldr r1, _080768CC @ =gUnknown_0202F7A4 + ldr r0, [r1] + adds r0, 0x1 + str r0, [r1] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080768C4: .4byte gSprites +_080768C8: .4byte gUnknown_02024BE0 +_080768CC: .4byte gUnknown_0202F7A4 + thumb_func_end sub_80767C4 + + thumb_func_start ma23_8073484 +ma23_8073484: @ 80768D0 + push {r4-r6,lr} + ldr r0, _080768E4 @ =gUnknown_0202F7A4 + ldr r2, [r0] + adds r1, r2, 0x1 + str r1, [r0] + ldrb r5, [r2, 0x1] + cmp r5, 0 + bne _080768E8 + movs r5, 0x2 + b _080768F2 + .align 2, 0 +_080768E4: .4byte gUnknown_0202F7A4 +_080768E8: + cmp r5, 0x1 + bne _080768EE + movs r5, 0x3 +_080768EE: + cmp r5, 0 + beq _080768F6 +_080768F2: + cmp r5, 0x2 + bne _08076900 +_080768F6: + ldr r0, _080768FC @ =gUnknown_0202F7C8 + b _08076902 + .align 2, 0 +_080768FC: .4byte gUnknown_0202F7C8 +_08076900: + ldr r0, _08076960 @ =gUnknown_0202F7C9 +_08076902: + ldrb r6, [r0] + adds r0, r6, 0 + bl b_side_obj__get_some_boolean + lsls r0, 24 + cmp r0, 0 + beq _0807692C + ldr r2, _08076964 @ =gSprites + ldr r0, _08076968 @ =gUnknown_02024BE0 + adds r0, r6, 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] +_0807692C: + cmp r5, 0x1 + bls _0807696C + movs r0, 0x2 + adds r4, r6, 0 + eors r4, r0 + adds r0, r4, 0 + bl b_side_obj__get_some_boolean + lsls r0, 24 + cmp r0, 0 + beq _0807696C + ldr r2, _08076964 @ =gSprites + ldr r0, _08076968 @ =gUnknown_02024BE0 + 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] + b _0807696E + .align 2, 0 +_08076960: .4byte gUnknown_0202F7C9 +_08076964: .4byte gSprites +_08076968: .4byte gUnknown_02024BE0 +_0807696C: + movs r5, 0 +_0807696E: + ldr r0, _08076998 @ =sub_80769A4 + movs r1, 0x5 + bl CreateTask + lsls r0, 24 + lsrs r0, 24 + ldr r2, _0807699C @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + strh r5, [r1, 0x8] + strh r6, [r1, 0xC] + ldr r1, _080769A0 @ =gUnknown_0202F7A4 + ldr r0, [r1] + adds r0, 0x1 + str r0, [r1] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_08076998: .4byte sub_80769A4 +_0807699C: .4byte gTasks +_080769A0: .4byte gUnknown_0202F7A4 + thumb_func_end ma23_8073484 + + thumb_func_start sub_80769A4 +sub_80769A4: @ 80769A4 + push {r4-r6,lr} + lsls r0, 24 + lsrs r6, r0, 24 + ldr r1, _080769E8 @ =gTasks + lsls r0, r6, 2 + adds r0, r6 + lsls r0, 3 + adds r1, r0, r1 + ldrh r0, [r1, 0xA] + adds r0, 0x1 + strh r0, [r1, 0xA] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + beq _08076A32 + ldrb r4, [r1, 0xC] + adds r0, r4, 0 + bl battle_get_per_side_status + lsls r0, 24 + movs r1, 0xFF + lsls r1, 24 + adds r0, r1 + lsrs r0, 24 + cmp r0, 0x1 + bls _080769E2 + bl sub_8076BE0 + lsls r0, 24 + cmp r0, 0 + beq _080769EC +_080769E2: + movs r5, 0 + b _080769EE + .align 2, 0 +_080769E8: .4byte gTasks +_080769EC: + movs r5, 0x1 +_080769EE: + adds r0, r4, 0 + bl b_side_obj__get_some_boolean + lsls r0, 24 + cmp r0, 0 + beq _08076A00 + adds r0, r5, 0 + bl sub_8076464 +_08076A00: + ldr r0, _08076A38 @ =gTasks + lsls r1, r6, 2 + adds r1, r6 + lsls r1, 3 + adds r1, r0 + movs r2, 0x8 + ldrsh r0, [r1, r2] + cmp r0, 0x1 + ble _08076A2C + movs r0, 0x2 + eors r4, r0 + adds r0, r4, 0 + bl b_side_obj__get_some_boolean + lsls r0, 24 + cmp r0, 0 + beq _08076A2C + movs r0, 0x1 + eors r5, r0 + adds r0, r5, 0 + bl sub_8076464 +_08076A2C: + adds r0, r6, 0 + bl DestroyTask +_08076A32: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_08076A38: .4byte gTasks + thumb_func_end sub_80769A4 + + thumb_func_start sub_8076A3C +sub_8076A3C: @ 8076A3C + push {r4,lr} + ldr r2, _08076A6C @ =gUnknown_0202F7A4 + ldr r0, [r2] + adds r1, r0, 0x1 + str r1, [r2] + ldrb r3, [r0, 0x1] + adds r0, r1, 0x1 + str r0, [r2] + ldrb r1, [r1, 0x1] + lsls r1, 8 + adds r0, 0x1 + str r0, [r2] + ldr r2, _08076A70 @ =REG_BLDCNT + movs r4, 0xFD + lsls r4, 6 + adds r0, r4, 0 + strh r0, [r2] + ldr r0, _08076A74 @ =REG_BLDALPHA + orrs r3, r1 + strh r3, [r0] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08076A6C: .4byte gUnknown_0202F7A4 +_08076A70: .4byte REG_BLDCNT +_08076A74: .4byte REG_BLDALPHA + thumb_func_end sub_8076A3C + + thumb_func_start sub_8076A78 +sub_8076A78: @ 8076A78 + ldr r2, _08076A98 @ =gUnknown_0202F7A4 + ldr r0, [r2] + adds r1, r0, 0x1 + str r1, [r2] + ldrb r3, [r0, 0x1] + adds r0, r1, 0x1 + str r0, [r2] + ldrb r1, [r1, 0x1] + lsls r1, 8 + adds r0, 0x1 + str r0, [r2] + ldr r0, _08076A9C @ =REG_BLDCNT + orrs r3, r1 + strh r3, [r0] + bx lr + .align 2, 0 +_08076A98: .4byte gUnknown_0202F7A4 +_08076A9C: .4byte REG_BLDCNT + thumb_func_end sub_8076A78 + + thumb_func_start sub_8076AA0 +sub_8076AA0: @ 8076AA0 + ldr r1, _08076AB4 @ =gUnknown_0202F7A4 + ldr r0, [r1] + adds r0, 0x1 + str r0, [r1] + ldr r0, _08076AB8 @ =REG_BLDCNT + movs r1, 0 + strh r1, [r0] + adds r0, 0x2 + strh r1, [r0] + bx lr + .align 2, 0 +_08076AB4: .4byte gUnknown_0202F7A4 +_08076AB8: .4byte REG_BLDCNT + thumb_func_end sub_8076AA0 + + thumb_func_start ma0E_call +ma0E_call: @ 8076ABC + push {r4,lr} + ldr r4, _08076AE8 @ =gUnknown_0202F7A4 + ldr r1, [r4] + adds r3, r1, 0x1 + str r3, [r4] + ldr r2, _08076AEC @ =gUnknown_0202F7A8 + adds r0, r1, 0x5 + str r0, [r2] + ldrb r1, [r1, 0x1] + ldrb r0, [r3, 0x1] + lsls r0, 8 + adds r1, r0 + ldrb r0, [r3, 0x2] + lsls r0, 16 + adds r1, r0 + ldrb r0, [r3, 0x3] + lsls r0, 24 + adds r1, r0 + str r1, [r4] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08076AE8: .4byte gUnknown_0202F7A4 +_08076AEC: .4byte gUnknown_0202F7A8 + thumb_func_end ma0E_call + + thumb_func_start sub_8076AF0 +sub_8076AF0: @ 8076AF0 + ldr r0, _08076AFC @ =gUnknown_0202F7A4 + ldr r1, _08076B00 @ =gUnknown_0202F7A8 + ldr r1, [r1] + str r1, [r0] + bx lr + .align 2, 0 +_08076AFC: .4byte gUnknown_0202F7A4 +_08076B00: .4byte gUnknown_0202F7A8 + thumb_func_end sub_8076AF0 + + thumb_func_start ma10_080736AC +ma10_080736AC: @ 8076B04 + push {r4,r5,lr} + ldr r5, _08076B30 @ =gUnknown_0202F7A4 + ldr r1, [r5] + adds r0, r1, 0x1 + str r0, [r5] + ldrb r2, [r1, 0x1] + adds r3, r0, 0x1 + str r3, [r5] + ldrb r4, [r0, 0x1] + ldrb r0, [r3, 0x1] + lsls r0, 8 + orrs r4, r0 + adds r1, 0x4 + str r1, [r5] + ldr r0, _08076B34 @ =gUnknown_03004B00 + lsls r2, 1 + adds r2, r0 + strh r4, [r2] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08076B30: .4byte gUnknown_0202F7A4 +_08076B34: .4byte gUnknown_03004B00 + thumb_func_end ma10_080736AC + + thumb_func_start ma11_if_else +ma11_if_else: @ 8076B38 + push {lr} + ldr r3, _08076B70 @ =gUnknown_0202F7A4 + ldr r2, [r3] + adds r0, r2, 0x1 + str r0, [r3] + ldr r0, _08076B74 @ =gUnknown_0202F7C4 + ldrb r1, [r0] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _08076B52 + adds r0, r2, 0x5 + str r0, [r3] +_08076B52: + ldr r2, [r3] + ldrb r1, [r2] + ldrb r0, [r2, 0x1] + lsls r0, 8 + adds r1, r0 + ldrb r0, [r2, 0x2] + lsls r0, 16 + adds r1, r0 + ldrb r0, [r2, 0x3] + lsls r0, 24 + adds r1, r0 + str r1, [r3] + pop {r0} + bx r0 + .align 2, 0 +_08076B70: .4byte gUnknown_0202F7A4 +_08076B74: .4byte gUnknown_0202F7C4 + thumb_func_end ma11_if_else + + thumb_func_start ma12_cond_if +ma12_cond_if: @ 8076B78 + push {r4,r5,lr} + ldr r5, _08076BA8 @ =gUnknown_0202F7A4 + ldr r4, [r5] + adds r2, r4, 0x1 + str r2, [r5] + ldrb r1, [r4, 0x1] + adds r3, r2, 0x1 + str r3, [r5] + ldr r0, _08076BAC @ =gUnknown_0202F7C4 + ldrb r0, [r0] + cmp r1, r0 + bne _08076BB0 + ldrb r1, [r2, 0x1] + ldrb r0, [r3, 0x1] + lsls r0, 8 + adds r1, r0 + ldrb r0, [r3, 0x2] + lsls r0, 16 + adds r1, r0 + ldrb r0, [r3, 0x3] + lsls r0, 24 + adds r1, r0 + str r1, [r5] + b _08076BB4 + .align 2, 0 +_08076BA8: .4byte gUnknown_0202F7A4 +_08076BAC: .4byte gUnknown_0202F7C4 +_08076BB0: + adds r0, r4, 0x6 + str r0, [r5] +_08076BB4: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end ma12_cond_if + + thumb_func_start sub_8076BBC +sub_8076BBC: @ 8076BBC + ldr r3, _08076BDC @ =gUnknown_0202F7A4 + ldr r0, [r3] + adds r2, r0, 0x1 + str r2, [r3] + ldrb r1, [r0, 0x1] + ldrb r0, [r2, 0x1] + lsls r0, 8 + adds r1, r0 + ldrb r0, [r2, 0x2] + lsls r0, 16 + adds r1, r0 + ldrb r0, [r2, 0x3] + lsls r0, 24 + adds r1, r0 + str r1, [r3] + bx lr + .align 2, 0 +_08076BDC: .4byte gUnknown_0202F7A4 + thumb_func_end sub_8076BBC + + thumb_func_start sub_8076BE0 +sub_8076BE0: @ 8076BE0 + push {lr} + ldr r0, _08076BF8 @ =gMain + ldr r1, _08076BFC @ =0x0000043d + adds r0, r1 + ldrb r1, [r0] + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _08076C00 + movs r0, 0 + b _08076C02 + .align 2, 0 +_08076BF8: .4byte gMain +_08076BFC: .4byte 0x0000043d +_08076C00: + movs r0, 0x1 +_08076C02: + pop {r1} + bx r1 + thumb_func_end sub_8076BE0 + + thumb_func_start ma14_load_background +ma14_load_background: @ 8076C08 + push {r4,lr} + ldr r1, _08076C3C @ =gUnknown_0202F7A4 + ldr r2, [r1] + adds r0, r2, 0x1 + str r0, [r1] + ldrb r4, [r2, 0x1] + adds r0, 0x1 + str r0, [r1] + ldr r0, _08076C40 @ =task_p5_load_battle_screen_elements + movs r1, 0x5 + bl CreateTask + lsls r0, 24 + lsrs r0, 24 + ldr r2, _08076C44 @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + strh r4, [r1, 0x8] + ldr r1, _08076C48 @ =gUnknown_0202F7C5 + movs r0, 0x1 + strb r0, [r1] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08076C3C: .4byte gUnknown_0202F7A4 +_08076C40: .4byte task_p5_load_battle_screen_elements +_08076C44: .4byte gTasks +_08076C48: .4byte gUnknown_0202F7C5 + thumb_func_end ma14_load_background + + thumb_func_start sub_8076C4C +sub_8076C4C: @ 8076C4C + push {r4-r7,lr} + mov r7, r8 + push {r7} + ldr r2, _08076C8C @ =gUnknown_0202F7A4 + ldr r1, [r2] + adds r0, r1, 0x1 + str r0, [r2] + ldrb r3, [r1, 0x1] + mov r8, r3 + ldrb r7, [r0, 0x1] + ldrb r6, [r0, 0x2] + adds r1, 0x4 + str r1, [r2] + ldr r0, _08076C90 @ =task_p5_load_battle_screen_elements + movs r1, 0x5 + bl CreateTask + lsls r0, 24 + lsrs r4, r0, 24 + adds r5, r4, 0 + bl sub_8076BE0 + lsls r0, 24 + cmp r0, 0 + beq _08076C98 + ldr r1, _08076C94 @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + strh r6, [r0, 0x8] + b _08076CCA + .align 2, 0 +_08076C8C: .4byte gUnknown_0202F7A4 +_08076C90: .4byte task_p5_load_battle_screen_elements +_08076C94: .4byte gTasks +_08076C98: + ldr r0, _08076CB4 @ =gUnknown_0202F7C9 + ldrb r0, [r0] + bl battle_side_get_owner + lsls r0, 24 + cmp r0, 0 + bne _08076CBC + ldr r1, _08076CB8 @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + strh r7, [r0, 0x8] + b _08076CCA + .align 2, 0 +_08076CB4: .4byte gUnknown_0202F7C9 +_08076CB8: .4byte gTasks +_08076CBC: + ldr r1, _08076CDC @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r0, r1 + mov r1, r8 + strh r1, [r0, 0x8] +_08076CCA: + ldr r1, _08076CE0 @ =gUnknown_0202F7C5 + movs r0, 0x1 + strb r0, [r1] + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08076CDC: .4byte gTasks +_08076CE0: .4byte gUnknown_0202F7C5 + thumb_func_end sub_8076C4C + + thumb_func_start task_p5_load_battle_screen_elements +task_p5_load_battle_screen_elements: @ 8076CE4 + push {r4-r7,lr} + sub sp, 0x4 + lsls r0, 24 + lsrs r5, r0, 24 + ldr r1, _08076D18 @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r4, r0, r1 + ldrh r6, [r4, 0x1C] + movs r0, 0x1C + ldrsh r3, [r4, r0] + adds r7, r1, 0 + cmp r3, 0 + bne _08076D1C + str r3, [sp] + movs r0, 0xE8 + movs r1, 0 + movs r2, 0 + movs r3, 0x10 + bl BeginHardwarePaletteFade + ldrh r0, [r4, 0x1C] + adds r0, 0x1 + strh r0, [r4, 0x1C] + b _08076DAC + .align 2, 0 +_08076D18: .4byte gTasks +_08076D1C: + ldr r2, _08076D38 @ =gPaletteFade + ldrb r1, [r2, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + bne _08076DAC + cmp r3, 0x1 + bne _08076D40 + adds r0, r6, 0x1 + strh r0, [r4, 0x1C] + ldr r1, _08076D3C @ =gUnknown_0202F7C5 + movs r0, 0x2 + strb r0, [r1] + b _08076D84 + .align 2, 0 +_08076D38: .4byte gPaletteFade +_08076D3C: .4byte gUnknown_0202F7C5 +_08076D40: + cmp r3, 0x2 + bne _08076D84 + ldrh r0, [r4, 0x8] + lsls r2, r0, 16 + asrs r1, r2, 16 + movs r0, 0x1 + negs r0, r0 + cmp r1, r0 + bne _08076D58 + bl dp01t_11_3_message_for_player_only + b _08076D5E +_08076D58: + lsrs r0, r2, 16 + bl sub_8076DB8 +_08076D5E: + movs r0, 0x1 + str r0, [sp] + movs r0, 0xE8 + movs r1, 0 + movs r2, 0x10 + movs r3, 0 + bl BeginHardwarePaletteFade + ldr r1, _08076D80 @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r0, r1 + ldrh r1, [r0, 0x1C] + adds r1, 0x1 + strh r1, [r0, 0x1C] + b _08076DAC + .align 2, 0 +_08076D80: .4byte gTasks +_08076D84: + ldrb r1, [r2, 0x7] + movs r0, 0x80 + ands r0, r1 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0 + bne _08076DAC + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r0, r7 + movs r1, 0x1C + ldrsh r0, [r0, r1] + cmp r0, 0x3 + bne _08076DAC + adds r0, r5, 0 + bl DestroyTask + ldr r0, _08076DB4 @ =gUnknown_0202F7C5 + strb r4, [r0] +_08076DAC: + add sp, 0x4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08076DB4: .4byte gUnknown_0202F7C5 + thumb_func_end task_p5_load_battle_screen_elements + + thumb_func_start sub_8076DB8 +sub_8076DB8: @ 8076DB8 + push {r4-r7,lr} + lsls r0, 16 + lsrs r6, r0, 16 + bl sub_8076BE0 + lsls r0, 24 + cmp r0, 0 + beq _08076E70 + ldr r7, _08076E54 @ =gBattleAnimBackgroundTable + lsls r0, r6, 1 + adds r0, r6 + lsls r4, r0, 2 + adds r0, r7, 0 + adds r0, 0x8 + adds r0, r4, r0 + ldr r5, [r0] + bl sub_8076BE0 + lsls r0, 24 + ldr r1, _08076E58 @ =0x02018000 + cmp r0, 0 + beq _08076DE8 + ldr r0, _08076E5C @ =0xffffc800 + adds r1, r0 +_08076DE8: + adds r0, r5, 0 + bl sub_800D238 + bl sub_80789BC + lsls r0, 24 + lsrs r5, r0, 24 + bl sub_8076BE0 + lsls r0, 24 + ldr r1, _08076E58 @ =0x02018000 + cmp r0, 0 + beq _08076E06 + ldr r0, _08076E5C @ =0xffffc800 + adds r1, r0 +_08076E06: + movs r2, 0x80 + lsls r2, 1 + adds r0, r5, 0 + movs r3, 0 + bl sub_80763FC + bl sub_8076BE0 + lsls r0, 24 + ldr r2, _08076E58 @ =0x02018000 + cmp r0, 0 + beq _08076E22 + ldr r0, _08076E5C @ =0xffffc800 + adds r2, r0 +_08076E22: + ldr r1, _08076E60 @ =0x0600d000 + ldr r0, _08076E64 @ =0x040000d4 + str r2, [r0] + str r1, [r0, 0x4] + ldr r1, _08076E68 @ =0x84000200 + str r1, [r0, 0x8] + ldr r0, [r0, 0x8] + adds r0, r4, r7 + ldr r0, [r0] + ldr r1, _08076E6C @ =0x06002000 + bl LZDecompressVram + adds r0, r7, 0x4 + adds r0, r4, r0 + ldr r4, [r0] + bl sub_80789BC + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 20 + adds r0, r4, 0 + movs r2, 0x20 + bl LoadCompressedPalette + b _08076E9E + .align 2, 0 +_08076E54: .4byte gBattleAnimBackgroundTable +_08076E58: .4byte 0x02018000 +_08076E5C: .4byte 0xffffc800 +_08076E60: .4byte 0x0600d000 +_08076E64: .4byte 0x040000d4 +_08076E68: .4byte 0x84000200 +_08076E6C: .4byte 0x06002000 +_08076E70: + ldr r5, _08076EA4 @ =gBattleAnimBackgroundTable + lsls r4, r6, 1 + adds r4, r6 + lsls r4, 2 + adds r0, r5, 0 + adds r0, 0x8 + adds r0, r4, r0 + ldr r0, [r0] + ldr r1, _08076EA8 @ =0x0600d000 + bl LZDecompressVram + adds r0, r4, r5 + ldr r0, [r0] + ldr r1, _08076EAC @ =0x06008000 + bl LZDecompressVram + adds r5, 0x4 + adds r4, r5 + ldr r0, [r4] + movs r1, 0x20 + movs r2, 0x20 + bl LoadCompressedPalette +_08076E9E: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08076EA4: .4byte gBattleAnimBackgroundTable +_08076EA8: .4byte 0x0600d000 +_08076EAC: .4byte 0x06008000 + thumb_func_end sub_8076DB8 + + thumb_func_start dp01t_11_3_message_for_player_only +dp01t_11_3_message_for_player_only: @ 8076EB0 + push {lr} + bl sub_8076BE0 + lsls r0, 24 + cmp r0, 0 + beq _08076EC2 + bl sub_80AB2AC + b _08076EC6 +_08076EC2: + bl sub_800D7B8 +_08076EC6: + pop {r0} + bx r0 + thumb_func_end dp01t_11_3_message_for_player_only + + thumb_func_start ma15_load_battle_screen_elements +ma15_load_battle_screen_elements: @ 8076ECC + push {lr} + ldr r1, _08076EFC @ =gUnknown_0202F7A4 + ldr r0, [r1] + adds r0, 0x1 + str r0, [r1] + ldr r0, _08076F00 @ =task_p5_load_battle_screen_elements + movs r1, 0x5 + bl CreateTask + lsls r0, 24 + lsrs r0, 24 + ldr r2, _08076F04 @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + ldr r0, _08076F08 @ =0x0000ffff + strh r0, [r1, 0x8] + ldr r1, _08076F0C @ =gUnknown_0202F7C5 + movs r0, 0x1 + strb r0, [r1] + pop {r0} + bx r0 + .align 2, 0 +_08076EFC: .4byte gUnknown_0202F7A4 +_08076F00: .4byte task_p5_load_battle_screen_elements +_08076F04: .4byte gTasks +_08076F08: .4byte 0x0000ffff +_08076F0C: .4byte gUnknown_0202F7C5 + thumb_func_end ma15_load_battle_screen_elements + + thumb_func_start ma16_wait_for_battle_screen_elements_s2 +ma16_wait_for_battle_screen_elements_s2: @ 8076F10 + push {lr} + ldr r0, _08076F28 @ =gUnknown_0202F7C5 + ldrb r0, [r0] + cmp r0, 0x2 + bne _08076F34 + ldr r1, _08076F2C @ =gUnknown_0202F7A4 + ldr r0, [r1] + adds r0, 0x1 + str r0, [r1] + ldr r1, _08076F30 @ =gUnknown_0202F7B0 + movs r0, 0 + b _08076F38 + .align 2, 0 +_08076F28: .4byte gUnknown_0202F7C5 +_08076F2C: .4byte gUnknown_0202F7A4 +_08076F30: .4byte gUnknown_0202F7B0 +_08076F34: + ldr r1, _08076F40 @ =gUnknown_0202F7B0 + movs r0, 0x1 +_08076F38: + strb r0, [r1] + pop {r0} + bx r0 + .align 2, 0 +_08076F40: .4byte gUnknown_0202F7B0 + thumb_func_end ma16_wait_for_battle_screen_elements_s2 + + thumb_func_start sub_8076F44 +sub_8076F44: @ 8076F44 + push {lr} + ldr r0, _08076F5C @ =gUnknown_0202F7C5 + ldrb r2, [r0] + cmp r2, 0 + bne _08076F68 + ldr r0, _08076F60 @ =gUnknown_0202F7A4 + ldr r1, [r0] + adds r1, 0x1 + str r1, [r0] + ldr r0, _08076F64 @ =gUnknown_0202F7B0 + strb r2, [r0] + b _08076F6E + .align 2, 0 +_08076F5C: .4byte gUnknown_0202F7C5 +_08076F60: .4byte gUnknown_0202F7A4 +_08076F64: .4byte gUnknown_0202F7B0 +_08076F68: + ldr r1, _08076F74 @ =gUnknown_0202F7B0 + movs r0, 0x1 + strb r0, [r1] +_08076F6E: + pop {r0} + bx r0 + .align 2, 0 +_08076F74: .4byte gUnknown_0202F7B0 + thumb_func_end sub_8076F44 + + thumb_func_start ma18_load_background_probably +ma18_load_background_probably: @ 8076F78 + push {r4,lr} + ldr r4, _08076F94 @ =gUnknown_0202F7A4 + ldr r1, [r4] + adds r0, r1, 0x1 + str r0, [r4] + ldrb r0, [r1, 0x1] + bl sub_8076DB8 + ldr r0, [r4] + adds r0, 0x1 + str r0, [r4] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08076F94: .4byte gUnknown_0202F7A4 + thumb_func_end ma18_load_background_probably + + thumb_func_start sub_8076F98 +sub_8076F98: @ 8076F98 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + bl sub_8076BE0 + lsls r0, 24 + cmp r0, 0 + bne _08076FDC + ldr r0, _08076FD4 @ =gUnknown_0202F7C8 + ldrb r2, [r0] + lsls r0, r2, 1 + adds r0, r2 + lsls r0, 2 + ldr r1, _08076FD8 @ =0x02017810 + adds r0, r1 + ldrb r1, [r0] + movs r0, 0x10 + ands r0, r1 + cmp r0, 0 + beq _08076FDC + adds r0, r2, 0 + bl battle_side_get_owner + lsls r0, 24 + movs r4, 0xC0 + cmp r0, 0 + beq _0807706E + movs r4, 0x3F + b _0807706E + .align 2, 0 +_08076FD4: .4byte gUnknown_0202F7C8 +_08076FD8: .4byte 0x02017810 +_08076FDC: + bl sub_8076BE0 + lsls r0, 24 + cmp r0, 0 + beq _08077004 + ldr r0, _08076FFC @ =gUnknown_0202F7C8 + ldr r1, _08077000 @ =gUnknown_0202F7C9 + ldrb r0, [r0] + ldrb r1, [r1] + cmp r0, r1 + bne _08077068 + cmp r0, 0x2 + bne _08077068 + cmp r4, 0x3F + beq _0807707A + b _08077068 + .align 2, 0 +_08076FFC: .4byte gUnknown_0202F7C8 +_08077000: .4byte gUnknown_0202F7C9 +_08077004: + ldr r0, _0807702C @ =gUnknown_0202F7C8 + ldrb r0, [r0] + bl battle_side_get_owner + lsls r0, 24 + cmp r0, 0 + bne _08077042 + ldr r0, _08077030 @ =gUnknown_0202F7C9 + ldrb r0, [r0] + bl battle_side_get_owner + lsls r0, 24 + cmp r0, 0 + bne _0807706E + lsls r0, r4, 24 + asrs r1, r0, 24 + cmp r1, 0x3F + bne _08077034 + movs r4, 0xC0 + b _0807706E + .align 2, 0 +_0807702C: .4byte gUnknown_0202F7C8 +_08077030: .4byte gUnknown_0202F7C9 +_08077034: + movs r0, 0x40 + negs r0, r0 + cmp r1, r0 + beq _0807706E + negs r0, r1 + lsls r0, 24 + b _0807706C +_08077042: + ldr r0, _08077064 @ =gUnknown_0202F7C9 + ldrb r0, [r0] + bl battle_side_get_owner + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _08077068 + lsls r0, r4, 24 + asrs r0, 24 + movs r1, 0x40 + negs r1, r1 + cmp r0, r1 + bne _0807706E + movs r4, 0x3F + b _0807706E + .align 2, 0 +_08077064: .4byte gUnknown_0202F7C9 +_08077068: + lsls r0, r4, 24 + negs r0, r0 +_0807706C: + lsrs r4, r0, 24 +_0807706E: + lsls r0, r4, 24 + asrs r0, 24 + cmp r0, 0x3F + ble _0807707A + movs r4, 0x3F + b _08077088 +_0807707A: + lsls r0, r4, 24 + asrs r0, 24 + movs r1, 0x40 + negs r1, r1 + cmp r0, r1 + bge _08077088 + movs r4, 0xC0 +_08077088: + lsls r0, r4, 24 + asrs r0, 24 + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_8076F98 + + thumb_func_start sub_8077094 +sub_8077094: @ 8077094 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + bl sub_8076BE0 + lsls r0, 24 + cmp r0, 0 + bne _080770D8 + ldr r0, _080770D0 @ =gUnknown_0202F7C8 + ldrb r2, [r0] + lsls r0, r2, 1 + adds r0, r2 + lsls r0, 2 + ldr r1, _080770D4 @ =0x02017810 + adds r0, r1 + ldrb r1, [r0] + movs r0, 0x10 + ands r0, r1 + cmp r0, 0 + beq _080770D8 + adds r0, r2, 0 + bl battle_side_get_owner + lsls r0, 24 + movs r4, 0xC0 + cmp r0, 0 + beq _080770F6 + movs r4, 0x3F + b _080770F6 + .align 2, 0 +_080770D0: .4byte gUnknown_0202F7C8 +_080770D4: .4byte 0x02017810 +_080770D8: + ldr r0, _08077100 @ =gUnknown_0202F7C8 + ldrb r0, [r0] + bl battle_side_get_owner + lsls r0, 24 + cmp r0, 0 + bne _080770F0 + bl sub_8076BE0 + lsls r0, 24 + cmp r0, 0 + beq _080770F6 +_080770F0: + lsls r0, r4, 24 + negs r0, r0 + lsrs r4, r0, 24 +_080770F6: + lsls r0, r4, 24 + asrs r0, 24 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_08077100: .4byte gUnknown_0202F7C8 + thumb_func_end sub_8077094 + + thumb_func_start sub_8077104 +sub_8077104: @ 8077104 + push {lr} + lsls r0, 16 + lsrs r1, r0, 16 + asrs r2, r0, 16 + cmp r2, 0x3F + ble _08077114 + movs r1, 0x3F + b _0807711E +_08077114: + movs r0, 0x40 + negs r0, r0 + cmp r2, r0 + bge _0807711E + ldr r1, _08077128 @ =0x0000ffc0 +_0807711E: + lsls r0, r1, 16 + asrs r0, 16 + pop {r1} + bx r1 + .align 2, 0 +_08077128: .4byte 0x0000ffc0 + thumb_func_end sub_8077104 + + thumb_func_start sub_807712C +sub_807712C: @ 807712C + push {lr} + lsls r2, 16 + lsrs r2, 16 + adds r3, r2, 0 + lsls r0, 16 + asrs r0, 16 + lsls r1, 16 + asrs r1, 16 + cmp r0, r1 + bge _0807714A + lsls r0, r2, 16 + asrs r0, 16 + cmp r0, 0 + bge _0807715A + b _08077158 +_0807714A: + cmp r0, r1 + ble _08077160 + lsls r0, r3, 16 + asrs r0, 16 + cmp r0, 0 + bge _08077158 + negs r0, r0 +_08077158: + negs r0, r0 +_0807715A: + lsls r0, 16 + lsrs r0, 16 + b _08077162 +_08077160: + movs r0, 0 +_08077162: + lsls r0, 16 + asrs r0, 16 + pop {r1} + bx r1 + thumb_func_end sub_807712C + + thumb_func_start ma19_08073BC8 +ma19_08073BC8: @ 807716C + push {r4,r5,lr} + ldr r5, _080771A0 @ =gUnknown_0202F7A4 + ldr r0, [r5] + adds r1, r0, 0x1 + str r1, [r5] + ldrb r4, [r0, 0x1] + ldrb r0, [r1, 0x1] + lsls r0, 8 + orrs r4, r0 + movs r0, 0x2 + ldrsb r0, [r1, r0] + bl sub_8076F98 + adds r1, r0, 0 + lsls r1, 24 + asrs r1, 24 + adds r0, r4, 0 + bl PlaySE12WithPanning + ldr r0, [r5] + adds r0, 0x3 + str r0, [r5] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080771A0: .4byte gUnknown_0202F7A4 + thumb_func_end ma19_08073BC8 + + thumb_func_start ma1A_8073C00 +ma1A_8073C00: @ 80771A4 + push {r4,lr} + ldr r4, _080771CC @ =gUnknown_0202F7A4 + ldr r1, [r4] + adds r0, r1, 0x1 + str r0, [r4] + movs r0, 0x1 + ldrsb r0, [r1, r0] + bl sub_8076F98 + lsls r0, 24 + asrs r0, 24 + bl SE12PanpotControl + ldr r0, [r4] + adds r0, 0x1 + str r0, [r4] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080771CC: .4byte gUnknown_0202F7A4 + thumb_func_end ma1A_8073C00 + + thumb_func_start ma1B_8073C2C +ma1B_8073C2C: @ 80771D0 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + ldr r0, _08077280 @ =gUnknown_0202F7A4 + mov r10, r0 + ldr r0, [r0] + adds r1, r0, 0x1 + mov r2, r10 + str r1, [r2] + ldrb r0, [r0, 0x1] + mov r9, r0 + ldrb r0, [r1, 0x1] + lsls r0, 8 + mov r2, r9 + orrs r2, r0 + mov r9, r2 + ldrb r4, [r1, 0x3] + ldrb r6, [r1, 0x4] + ldrb r7, [r1, 0x5] + movs r0, 0x2 + ldrsb r0, [r1, r0] + bl sub_8076F98 + adds r5, r0, 0 + lsls r5, 24 + lsrs r5, 24 + lsls r4, 24 + asrs r4, 24 + adds r0, r4, 0 + bl sub_8076F98 + mov r8, r0 + lsls r5, 24 + asrs r5, 24 + mov r0, r8 + lsls r0, 24 + asrs r0, 24 + mov r8, r0 + lsls r6, 24 + asrs r6, 24 + adds r0, r5, 0 + mov r1, r8 + adds r2, r6, 0 + bl sub_807712C + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r0, _08077284 @ =c3_08073CEC + movs r1, 0x1 + bl CreateTask + lsls r0, 24 + lsrs r0, 24 + ldr r2, _08077288 @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + strh r5, [r1, 0x8] + mov r2, r8 + strh r2, [r1, 0xA] + lsls r4, 24 + asrs r4, 24 + strh r4, [r1, 0xC] + strh r7, [r1, 0xE] + strh r5, [r1, 0x10] + mov r0, r9 + adds r1, r5, 0 + bl PlaySE12WithPanning + ldr r1, _0807728C @ =gUnknown_0202F7B3 + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + mov r1, r10 + ldr r0, [r1] + adds r0, 0x6 + str r0, [r1] + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08077280: .4byte gUnknown_0202F7A4 +_08077284: .4byte c3_08073CEC +_08077288: .4byte gTasks +_0807728C: .4byte gUnknown_0202F7B3 + thumb_func_end ma1B_8073C2C + + thumb_func_start c3_08073CEC +c3_08073CEC: @ 8077290 + push {r4-r7,lr} + lsls r0, 24 + lsrs r5, r0, 24 + movs r7, 0 + ldr r1, _080772D4 @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r2, r0, r1 + ldrh r0, [r2, 0x18] + adds r1, r0, 0x1 + strh r1, [r2, 0x18] + lsls r0, 16 + asrs r0, 16 + movs r3, 0xE + ldrsh r1, [r2, r3] + cmp r0, r1 + blt _08077314 + strh r7, [r2, 0x18] + ldrh r6, [r2, 0x8] + ldrh r3, [r2, 0xA] + movs r4, 0x10 + ldrsh r0, [r2, r4] + movs r4, 0xC + ldrsh r1, [r2, r4] + adds r0, r1 + lsls r0, 16 + lsrs r4, r0, 16 + strh r4, [r2, 0x10] + cmp r1, 0 + bne _080772D8 + lsls r2, r3, 16 + b _080772FC + .align 2, 0 +_080772D4: .4byte gTasks +_080772D8: + lsls r1, r6, 16 + lsls r0, r3, 16 + asrs r3, r0, 16 + adds r2, r0, 0 + cmp r1, r2 + bge _080772EE + lsls r0, r4, 16 + asrs r0, 16 + cmp r0, r3 + blt _080772F8 + b _080772FC +_080772EE: + lsls r0, r4, 16 + asrs r0, 16 + cmp r0, r3 + bgt _080772F8 + movs r7, 0x1 +_080772F8: + cmp r7, 0 + beq _0807730C +_080772FC: + lsrs r4, r2, 16 + adds r0, r5, 0 + bl DestroyTask + ldr r1, _0807731C @ =gUnknown_0202F7B3 + ldrb r0, [r1] + subs r0, 0x1 + strb r0, [r1] +_0807730C: + lsls r0, r4, 24 + asrs r0, 24 + bl SE12PanpotControl +_08077314: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0807731C: .4byte gUnknown_0202F7B3 + thumb_func_end c3_08073CEC + + thumb_func_start sub_8077320 +sub_8077320: @ 8077320 + push {r4-r6,lr} + mov r6, r10 + mov r5, r9 + mov r4, r8 + push {r4-r6} + ldr r0, _080773A4 @ =gUnknown_0202F7A4 + mov r9, r0 + ldr r0, [r0] + adds r1, r0, 0x1 + mov r2, r9 + str r1, [r2] + ldrb r0, [r0, 0x1] + mov r8, r0 + ldrb r0, [r1, 0x1] + lsls r0, 8 + mov r2, r8 + orrs r2, r0 + mov r8, r2 + ldrb r4, [r1, 0x2] + ldrb r5, [r1, 0x3] + ldrb r6, [r1, 0x4] + ldrb r1, [r1, 0x5] + mov r10, r1 + ldr r0, _080773A8 @ =c3_08073CEC + movs r1, 0x1 + bl CreateTask + lsls r0, 24 + lsrs r0, 24 + ldr r2, _080773AC @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + lsls r4, 24 + asrs r4, 24 + strh r4, [r1, 0x8] + lsls r5, 24 + asrs r5, 24 + strh r5, [r1, 0xA] + lsls r6, 24 + asrs r6, 24 + strh r6, [r1, 0xC] + mov r0, r10 + strh r0, [r1, 0xE] + strh r4, [r1, 0x10] + mov r0, r8 + adds r1, r4, 0 + bl PlaySE12WithPanning + ldr r1, _080773B0 @ =gUnknown_0202F7B3 + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + mov r1, r9 + ldr r0, [r1] + adds r0, 0x6 + str r0, [r1] + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080773A4: .4byte gUnknown_0202F7A4 +_080773A8: .4byte c3_08073CEC +_080773AC: .4byte gTasks +_080773B0: .4byte gUnknown_0202F7B3 + thumb_func_end sub_8077320 + + thumb_func_start sub_80773B4 +sub_80773B4: @ 80773B4 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + ldr r0, _08077464 @ =gUnknown_0202F7A4 + mov r10, r0 + ldr r0, [r0] + adds r1, r0, 0x1 + mov r2, r10 + str r1, [r2] + ldrb r0, [r0, 0x1] + mov r9, r0 + ldrb r0, [r1, 0x1] + lsls r0, 8 + mov r2, r9 + orrs r2, r0 + mov r9, r2 + ldrb r4, [r1, 0x3] + ldrb r0, [r1, 0x4] + mov r8, r0 + ldrb r7, [r1, 0x5] + movs r0, 0x2 + ldrsb r0, [r1, r0] + bl sub_8077094 + adds r6, r0, 0 + lsls r6, 24 + lsrs r6, 24 + lsls r4, 24 + asrs r4, 24 + adds r0, r4, 0 + bl sub_8077094 + adds r5, r0, 0 + lsls r5, 24 + lsrs r5, 24 + mov r1, r8 + lsls r1, 24 + asrs r1, 24 + mov r8, r1 + mov r0, r8 + bl sub_8077094 + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r0, _08077468 @ =c3_08073CEC + movs r1, 0x1 + bl CreateTask + lsls r0, 24 + lsrs r0, 24 + ldr r2, _0807746C @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + lsls r6, 24 + asrs r6, 24 + strh r6, [r1, 0x8] + lsls r5, 24 + asrs r5, 24 + strh r5, [r1, 0xA] + lsls r4, 24 + asrs r4, 24 + strh r4, [r1, 0xC] + strh r7, [r1, 0xE] + strh r6, [r1, 0x10] + mov r0, r9 + adds r1, r6, 0 + bl PlaySE12WithPanning + ldr r1, _08077470 @ =gUnknown_0202F7B3 + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + mov r2, r10 + ldr r0, [r2] + adds r0, 0x6 + str r0, [r2] + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08077464: .4byte gUnknown_0202F7A4 +_08077468: .4byte c3_08073CEC +_0807746C: .4byte gTasks +_08077470: .4byte gUnknown_0202F7B3 + thumb_func_end sub_80773B4 + + thumb_func_start ma1C_8073ED0 +ma1C_8073ED0: @ 8077474 + push {r4-r6,lr} + mov r6, r9 + mov r5, r8 + push {r5,r6} + ldr r6, _080774EC @ =gUnknown_0202F7A4 + ldr r0, [r6] + adds r1, r0, 0x1 + str r1, [r6] + ldrb r5, [r0, 0x1] + ldrb r0, [r1, 0x1] + lsls r0, 8 + orrs r5, r0 + ldrb r0, [r1, 0x3] + mov r8, r0 + ldrb r2, [r1, 0x4] + mov r9, r2 + movs r0, 0x2 + ldrsb r0, [r1, r0] + bl sub_8076F98 + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r0, _080774F0 @ =sub_80774FC + movs r1, 0x1 + bl CreateTask + lsls r0, 24 + lsrs r0, 24 + ldr r2, _080774F4 @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + strh r5, [r1, 0x8] + lsls r4, 24 + asrs r4, 24 + strh r4, [r1, 0xA] + mov r2, r8 + strh r2, [r1, 0xC] + mov r2, r9 + strh r2, [r1, 0xE] + mov r2, r8 + strh r2, [r1, 0x18] + ldr r1, [r1] + bl _call_via_r1 + ldr r1, _080774F8 @ =gUnknown_0202F7B3 + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + ldr r0, [r6] + adds r0, 0x5 + str r0, [r6] + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080774EC: .4byte gUnknown_0202F7A4 +_080774F0: .4byte sub_80774FC +_080774F4: .4byte gTasks +_080774F8: .4byte gUnknown_0202F7B3 + thumb_func_end ma1C_8073ED0 + + thumb_func_start sub_80774FC +sub_80774FC: @ 80774FC + push {r4,r5,lr} + lsls r0, 24 + lsrs r5, r0, 24 + ldr r1, _08077550 @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r2, r0, r1 + ldrh r0, [r2, 0x18] + adds r1, r0, 0x1 + strh r1, [r2, 0x18] + lsls r0, 16 + asrs r0, 16 + movs r3, 0xC + ldrsh r1, [r2, r3] + cmp r0, r1 + blt _0807754A + movs r0, 0 + strh r0, [r2, 0x18] + ldrh r0, [r2, 0x8] + ldrb r1, [r2, 0xA] + ldrh r4, [r2, 0xE] + subs r4, 0x1 + strh r4, [r2, 0xE] + lsls r4, 24 + lsrs r4, 24 + lsls r1, 24 + asrs r1, 24 + bl PlaySE12WithPanning + cmp r4, 0 + bne _0807754A + adds r0, r5, 0 + bl DestroyTask + ldr r1, _08077554 @ =gUnknown_0202F7B3 + ldrb r0, [r1] + subs r0, 0x1 + strb r0, [r1] +_0807754A: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08077550: .4byte gTasks +_08077554: .4byte gUnknown_0202F7B3 + thumb_func_end sub_80774FC + + thumb_func_start ma1D_08073FB4 +ma1D_08073FB4: @ 8077558 + push {r4-r6,lr} + mov r6, r8 + push {r6} + ldr r6, _080775BC @ =gUnknown_0202F7A4 + ldr r0, [r6] + adds r1, r0, 0x1 + str r1, [r6] + ldrb r5, [r0, 0x1] + ldrb r0, [r1, 0x1] + lsls r0, 8 + orrs r5, r0 + ldrb r0, [r1, 0x3] + mov r8, r0 + movs r0, 0x2 + ldrsb r0, [r1, r0] + bl sub_8076F98 + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r0, _080775C0 @ =sub_80775CC + movs r1, 0x1 + bl CreateTask + lsls r0, 24 + lsrs r0, 24 + ldr r2, _080775C4 @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + strh r5, [r1, 0x8] + lsls r4, 24 + asrs r4, 24 + strh r4, [r1, 0xA] + mov r0, r8 + strh r0, [r1, 0xC] + ldr r1, _080775C8 @ =gUnknown_0202F7B3 + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + ldr r0, [r6] + adds r0, 0x4 + str r0, [r6] + pop {r3} + mov r8, r3 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080775BC: .4byte gUnknown_0202F7A4 +_080775C0: .4byte sub_80775CC +_080775C4: .4byte gTasks +_080775C8: .4byte gUnknown_0202F7B3 + thumb_func_end ma1D_08073FB4 + + thumb_func_start sub_80775CC +sub_80775CC: @ 80775CC + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + ldr r1, _08077608 @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r2, r0, r1 + ldrh r0, [r2, 0xC] + subs r1, r0, 0x1 + strh r1, [r2, 0xC] + lsls r0, 16 + cmp r0, 0 + bgt _08077600 + ldrh r0, [r2, 0x8] + movs r1, 0xA + ldrsb r1, [r2, r1] + bl PlaySE12WithPanning + adds r0, r4, 0 + bl DestroyTask + ldr r1, _0807760C @ =gUnknown_0202F7B3 + ldrb r0, [r1] + subs r0, 0x1 + strb r0, [r1] +_08077600: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08077608: .4byte gTasks +_0807760C: .4byte gUnknown_0202F7B3 + thumb_func_end sub_80775CC + + thumb_func_start sub_8077610 +sub_8077610: @ 8077610 + push {r4-r6,lr} + ldr r4, _08077678 @ =gUnknown_0202F7A4 + ldr r1, [r4] + adds r3, r1, 0x1 + str r3, [r4] + ldrb r2, [r1, 0x1] + ldrb r0, [r3, 0x1] + lsls r0, 8 + adds r2, r0 + ldrb r0, [r3, 0x2] + lsls r0, 16 + adds r2, r0 + ldrb r0, [r3, 0x3] + lsls r0, 24 + adds r6, r2, r0 + adds r0, r1, 0x5 + str r0, [r4] + ldrb r0, [r1, 0x5] + adds r1, 0x6 + str r1, [r4] + cmp r0, 0 + beq _0807765A + adds r5, r4, 0 + ldr r4, _0807767C @ =gUnknown_03004B00 + adds r3, r0, 0 +_08077642: + ldr r2, [r5] + ldrb r1, [r2] + ldrb r0, [r2, 0x1] + lsls r0, 8 + orrs r1, r0 + strh r1, [r4] + adds r2, 0x2 + str r2, [r5] + adds r4, 0x2 + subs r3, 0x1 + cmp r3, 0 + bne _08077642 +_0807765A: + adds r0, r6, 0 + movs r1, 0x1 + bl CreateTask + lsls r0, 24 + lsrs r0, 24 + bl _call_via_r6 + ldr r1, _08077680 @ =gUnknown_0202F7B3 + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_08077678: .4byte gUnknown_0202F7A4 +_0807767C: .4byte gUnknown_03004B00 +_08077680: .4byte gUnknown_0202F7B3 + thumb_func_end sub_8077610 + + thumb_func_start ma20_wait_for_something +ma20_wait_for_something: @ 8077684 + push {r4,r5,lr} + ldr r0, _080776BC @ =gUnknown_0202F7B3 + ldrb r5, [r0] + cmp r5, 0 + bne _080776CC + bl IsSEPlaying + lsls r0, 24 + lsrs r1, r0, 24 + cmp r1, 0 + beq _080776E4 + ldr r4, _080776C0 @ =gUnknown_03004AF0 + ldrh r0, [r4] + adds r0, 0x1 + strh r0, [r4] + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x5A + bls _080776D2 + ldr r0, _080776C4 @ =gMPlay_SE1 + bl m4aMPlayStop + ldr r0, _080776C8 @ =gMPlay_SE2 + bl m4aMPlayStop + strh r5, [r4] + b _080776F6 + .align 2, 0 +_080776BC: .4byte gUnknown_0202F7B3 +_080776C0: .4byte gUnknown_03004AF0 +_080776C4: .4byte gMPlay_SE1 +_080776C8: .4byte gMPlay_SE2 +_080776CC: + ldr r1, _080776DC @ =gUnknown_03004AF0 + movs r0, 0 + strh r0, [r1] +_080776D2: + ldr r1, _080776E0 @ =gUnknown_0202F7B0 + movs r0, 0x1 + strb r0, [r1] + b _080776F6 + .align 2, 0 +_080776DC: .4byte gUnknown_03004AF0 +_080776E0: .4byte gUnknown_0202F7B0 +_080776E4: + ldr r0, _080776FC @ =gUnknown_03004AF0 + movs r2, 0 + strh r1, [r0] + ldr r1, _08077700 @ =gUnknown_0202F7A4 + ldr r0, [r1] + adds r0, 0x1 + str r0, [r1] + ldr r0, _08077704 @ =gUnknown_0202F7B0 + strb r2, [r0] +_080776F6: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080776FC: .4byte gUnknown_03004AF0 +_08077700: .4byte gUnknown_0202F7A4 +_08077704: .4byte gUnknown_0202F7B0 + thumb_func_end ma20_wait_for_something + + thumb_func_start ma21_08074164 +ma21_08074164: @ 8077708 + push {r4-r6,lr} + ldr r5, _08077748 @ =gUnknown_0202F7A4 + ldr r4, [r5] + adds r3, r4, 0x1 + str r3, [r5] + ldrb r2, [r4, 0x1] + ldrb r1, [r3, 0x1] + ldrb r0, [r3, 0x2] + lsls r0, 8 + orrs r1, r0 + ldr r0, _0807774C @ =gUnknown_03004B00 + lsls r2, 1 + adds r2, r0 + lsls r1, 16 + asrs r1, 16 + movs r6, 0 + ldrsh r0, [r2, r6] + cmp r1, r0 + bne _08077750 + ldrb r1, [r3, 0x3] + ldrb r0, [r3, 0x4] + lsls r0, 8 + adds r1, r0 + ldrb r0, [r3, 0x5] + lsls r0, 16 + adds r1, r0 + ldrb r0, [r3, 0x6] + lsls r0, 24 + adds r1, r0 + str r1, [r5] + b _08077756 + .align 2, 0 +_08077748: .4byte gUnknown_0202F7A4 +_0807774C: .4byte gUnknown_03004B00 +_08077750: + adds r0, r4, 0 + adds r0, 0x8 + str r0, [r5] +_08077756: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end ma21_08074164 + + thumb_func_start sub_807775C +sub_807775C: @ 807775C + push {r4,lr} + ldr r4, _0807778C @ =gUnknown_0202F7A4 + ldr r0, [r4] + adds r0, 0x1 + str r0, [r4] + bl sub_8076BE0 + lsls r0, 24 + cmp r0, 0 + beq _08077790 + ldr r2, [r4] + ldrb r1, [r2] + ldrb r0, [r2, 0x1] + lsls r0, 8 + adds r1, r0 + ldrb r0, [r2, 0x2] + lsls r0, 16 + adds r1, r0 + ldrb r0, [r2, 0x3] + lsls r0, 24 + adds r1, r0 + str r1, [r4] + b _08077796 + .align 2, 0 +_0807778C: .4byte gUnknown_0202F7A4 +_08077790: + ldr r0, [r4] + adds r0, 0x4 + str r0, [r4] +_08077796: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_807775C + + thumb_func_start sub_807779C +sub_807779C: @ 807779C + push {r4,lr} + ldr r0, _080777B0 @ =gUnknown_0202F7A4 + ldr r1, [r0] + ldrb r2, [r1, 0x1] + adds r1, 0x2 + str r1, [r0] + cmp r2, 0 + beq _080777B8 + ldr r0, _080777B4 @ =gUnknown_0202F7C9 + b _080777BA + .align 2, 0 +_080777B0: .4byte gUnknown_0202F7A4 +_080777B4: .4byte gUnknown_0202F7C9 +_080777B8: + ldr r0, _080777FC @ =gUnknown_0202F7C8 +_080777BA: + ldrb r0, [r0] + bl battle_get_per_side_status + lsls r0, 24 + lsrs r4, r0, 24 + bl sub_8076BE0 + lsls r0, 24 + cmp r0, 0 + bne _080777F4 + cmp r4, 0 + beq _080777D6 + cmp r4, 0x3 + bne _080777F4 +_080777D6: + ldr r3, _08077800 @ =REG_BG1CNT + ldrb r2, [r3] + movs r1, 0x4 + negs r1, r1 + adds r0, r1, 0 + ands r0, r2 + movs r2, 0x1 + orrs r0, r2 + strb r0, [r3] + ldr r2, _08077804 @ =REG_BG2CNT + ldrb r0, [r2] + ands r1, r0 + movs r0, 0x2 + orrs r1, r0 + strb r1, [r2] +_080777F4: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080777FC: .4byte gUnknown_0202F7C8 +_08077800: .4byte REG_BG1CNT +_08077804: .4byte REG_BG2CNT + thumb_func_end sub_807779C + + thumb_func_start sub_8077808 +sub_8077808: @ 8077808 + push {lr} + ldr r0, _08077840 @ =gUnknown_0202F7A4 + ldr r1, [r0] + adds r1, 0x1 + str r1, [r0] + bl sub_8076BE0 + lsls r0, 24 + cmp r0, 0 + bne _0807783A + ldr r3, _08077844 @ =REG_BG1CNT + ldrb r2, [r3] + movs r1, 0x4 + negs r1, r1 + adds r0, r1, 0 + ands r0, r2 + movs r2, 0x1 + orrs r0, r2 + strb r0, [r3] + ldr r2, _08077848 @ =REG_BG2CNT + ldrb r0, [r2] + ands r1, r0 + movs r0, 0x2 + orrs r1, r0 + strb r1, [r2] +_0807783A: + pop {r0} + bx r0 + .align 2, 0 +_08077840: .4byte gUnknown_0202F7A4 +_08077844: .4byte REG_BG1CNT +_08077848: .4byte REG_BG2CNT + thumb_func_end sub_8077808 + + thumb_func_start sub_807784C +sub_807784C: @ 807784C + push {r4-r7,lr} + ldr r1, _0807787C @ =gUnknown_0202F7A4 + ldr r0, [r1] + ldrb r6, [r0, 0x1] + adds r0, 0x2 + str r0, [r1] + ldr r7, _08077880 @ =gUnknown_0202F7C8 + ldrb r0, [r7] + bl battle_side_get_owner + adds r4, r0, 0 + ldr r5, _08077884 @ =gUnknown_0202F7C9 + ldrb r0, [r5] + bl battle_side_get_owner + lsls r4, 24 + lsls r0, 24 + cmp r4, r0 + beq _080778C2 + cmp r6, 0 + beq _08077888 + ldrb r0, [r5] + b _0807788A + .align 2, 0 +_0807787C: .4byte gUnknown_0202F7A4 +_08077880: .4byte gUnknown_0202F7C8 +_08077884: .4byte gUnknown_0202F7C9 +_08077888: + ldrb r0, [r7] +_0807788A: + bl battle_get_per_side_status + lsls r0, 24 + lsrs r4, r0, 24 + bl sub_8076BE0 + lsls r0, 24 + cmp r0, 0 + bne _080778C2 + cmp r4, 0 + beq _080778A4 + cmp r4, 0x3 + bne _080778C2 +_080778A4: + ldr r3, _080778C8 @ =REG_BG1CNT + ldrb r2, [r3] + movs r1, 0x4 + negs r1, r1 + adds r0, r1, 0 + ands r0, r2 + movs r2, 0x1 + orrs r0, r2 + strb r0, [r3] + ldr r2, _080778CC @ =REG_BG2CNT + ldrb r0, [r2] + ands r1, r0 + movs r0, 0x2 + orrs r1, r0 + strb r1, [r2] +_080778C2: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080778C8: .4byte REG_BG1CNT +_080778CC: .4byte REG_BG2CNT + thumb_func_end sub_807784C + + thumb_func_start ma2B_make_side_invisible +ma2B_make_side_invisible: @ 80778D0 + push {r4,lr} + ldr r4, _08077904 @ =gUnknown_0202F7A4 + ldr r0, [r4] + ldrb r0, [r0, 0x1] + bl obj_id_for_side_relative_to_move + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0xFF + beq _080778F8 + ldr r1, _08077908 @ =gSprites + lsls r0, r2, 4 + adds r0, r2 + lsls r0, 2 + adds r0, r1 + adds r0, 0x3E + ldrb r1, [r0] + movs r2, 0x4 + orrs r1, r2 + strb r1, [r0] +_080778F8: + ldr r0, [r4] + adds r0, 0x2 + str r0, [r4] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08077904: .4byte gUnknown_0202F7A4 +_08077908: .4byte gSprites + thumb_func_end ma2B_make_side_invisible + + thumb_func_start ma2C_make_side_visible +ma2C_make_side_visible: @ 807790C + push {r4,lr} + ldr r4, _08077944 @ =gUnknown_0202F7A4 + ldr r0, [r4] + ldrb r0, [r0, 0x1] + bl obj_id_for_side_relative_to_move + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0xFF + beq _08077936 + ldr r1, _08077948 @ =gSprites + lsls r0, r2, 4 + adds r0, r2 + lsls r0, 2 + adds r0, r1 + adds r0, 0x3E + ldrb r2, [r0] + movs r1, 0x5 + negs r1, r1 + ands r1, r2 + strb r1, [r0] +_08077936: + ldr r0, [r4] + adds r0, 0x2 + str r0, [r4] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08077944: .4byte gUnknown_0202F7A4 +_08077948: .4byte gSprites + thumb_func_end ma2C_make_side_visible + + thumb_func_start sub_807794C +sub_807794C: @ 807794C + push {r4-r7,lr} + ldr r1, _08077998 @ =gUnknown_0202F7A4 + ldr r0, [r1] + ldrb r7, [r0, 0x1] + adds r0, 0x2 + str r0, [r1] + bl sub_8076BE0 + lsls r0, 24 + cmp r0, 0 + bne _080779F6 + bl battle_type_is_double + lsls r0, 24 + cmp r0, 0 + beq _080779F6 + ldr r6, _0807799C @ =gUnknown_0202F7C8 + ldrb r0, [r6] + bl battle_side_get_owner + adds r4, r0, 0 + ldr r5, _080779A0 @ =gUnknown_0202F7C9 + ldrb r0, [r5] + bl battle_side_get_owner + lsls r4, 24 + lsls r0, 24 + cmp r4, r0 + bne _080779F6 + cmp r7, 0 + bne _080779A4 + ldrb r0, [r6] + bl battle_get_per_side_status_permutated + lsls r0, 24 + lsrs r4, r0, 24 + movs r0, 0 + b _080779B0 + .align 2, 0 +_08077998: .4byte gUnknown_0202F7A4 +_0807799C: .4byte gUnknown_0202F7C8 +_080779A0: .4byte gUnknown_0202F7C9 +_080779A4: + ldrb r0, [r5] + bl battle_get_per_side_status_permutated + lsls r0, 24 + lsrs r4, r0, 24 + movs r0, 0x1 +_080779B0: + bl obj_id_for_side_relative_to_move + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0xFF + beq _080779F6 + ldr r1, _080779EC @ =gSprites + lsls r0, r2, 4 + adds r0, r2 + lsls r0, 2 + adds r2, r0, r1 + adds r3, r2, 0 + adds r3, 0x3E + ldrb r1, [r3] + movs r0, 0x5 + negs r0, r0 + ands r0, r1 + strb r0, [r3] + cmp r4, 0x2 + bne _080779E0 + ldrb r0, [r2, 0x5] + movs r1, 0xC + orrs r0, r1 + strb r0, [r2, 0x5] +_080779E0: + cmp r4, 0x1 + bne _080779F0 + movs r0, 0 + bl sub_8076464 + b _080779F6 + .align 2, 0 +_080779EC: .4byte gSprites +_080779F0: + movs r0, 0x1 + bl sub_8076464 +_080779F6: + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_807794C + + thumb_func_start sub_80779FC +sub_80779FC: @ 80779FC + push {r4-r7,lr} + ldr r1, _08077A48 @ =gUnknown_0202F7A4 + ldr r0, [r1] + ldrb r7, [r0, 0x1] + adds r0, 0x2 + str r0, [r1] + bl sub_8076BE0 + lsls r0, 24 + cmp r0, 0 + bne _08077A88 + bl battle_type_is_double + lsls r0, 24 + cmp r0, 0 + beq _08077A88 + ldr r6, _08077A4C @ =gUnknown_0202F7C8 + ldrb r0, [r6] + bl battle_side_get_owner + adds r4, r0, 0 + ldr r5, _08077A50 @ =gUnknown_0202F7C9 + ldrb r0, [r5] + bl battle_side_get_owner + lsls r4, 24 + lsls r0, 24 + cmp r4, r0 + bne _08077A88 + cmp r7, 0 + bne _08077A54 + ldrb r0, [r6] + bl battle_get_per_side_status_permutated + lsls r0, 24 + lsrs r4, r0, 24 + movs r0, 0 + b _08077A60 + .align 2, 0 +_08077A48: .4byte gUnknown_0202F7A4 +_08077A4C: .4byte gUnknown_0202F7C8 +_08077A50: .4byte gUnknown_0202F7C9 +_08077A54: + ldrb r0, [r5] + bl battle_get_per_side_status_permutated + lsls r0, 24 + lsrs r4, r0, 24 + movs r0, 0x1 +_08077A60: + bl obj_id_for_side_relative_to_move + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0xFF + beq _08077A88 + cmp r4, 0x2 + bne _08077A88 + ldr r1, _08077A90 @ =gSprites + lsls r0, r2, 4 + adds r0, r2 + lsls r0, 2 + adds r0, r1 + ldrb r2, [r0, 0x5] + movs r1, 0xD + negs r1, r1 + ands r1, r2 + movs r2, 0x8 + orrs r1, r2 + strb r1, [r0, 0x5] +_08077A88: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08077A90: .4byte gSprites + thumb_func_end sub_80779FC + + thumb_func_start ma2F_stop_music +ma2F_stop_music: @ 8077A94 + push {lr} + ldr r0, _08077AB0 @ =gMPlay_SE1 + bl m4aMPlayStop + ldr r0, _08077AB4 @ =gMPlay_SE2 + bl m4aMPlayStop + ldr r1, _08077AB8 @ =gUnknown_0202F7A4 + ldr r0, [r1] + adds r0, 0x1 + str r0, [r1] + pop {r0} + bx r0 + .align 2, 0 +_08077AB0: .4byte gMPlay_SE1 +_08077AB4: .4byte gMPlay_SE2 +_08077AB8: .4byte gUnknown_0202F7A4 + thumb_func_end ma2F_stop_music + + .align 2, 0 @ Don't pad with nop. diff --git a/asm/rom_8074BAC.s b/asm/rom_8077ABC.s index 27f89abde..8a4f5595c 100644 --- a/asm/rom_8074BAC.s +++ b/asm/rom_8077ABC.s @@ -6,4726 +6,6 @@ .text - thumb_func_start sub_8075624 -sub_8075624: @ 8075624 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r0, _080756B8 @ =gUnknown_0202F7B0 - movs r1, 0 - strb r1, [r0] - ldr r0, _080756BC @ =gUnknown_0202F7B1 - strb r1, [r0] - ldr r0, _080756C0 @ =gUnknown_0202F7B2 - strb r1, [r0] - ldr r0, _080756C4 @ =gUnknown_0202F7B3 - strb r1, [r0] - ldr r0, _080756C8 @ =gUnknown_0202F7B4 - movs r1, 0 - str r1, [r0] - ldr r0, _080756CC @ =gUnknown_0202F7B8 - str r1, [r0] - ldr r0, _080756D0 @ =gUnknown_0202F7BC - movs r2, 0 - strh r1, [r0] - ldr r0, _080756D4 @ =gUnknown_0202F7BE - strb r2, [r0] - ldr r4, _080756D8 @ =gUnknown_0202F7C2 - ldr r5, _080756DC @ =gUnknown_0202F7C4 - ldr r6, _080756E0 @ =gUnknown_0202F7C5 - ldr r7, _080756E4 @ =gUnknown_0202F7C6 - ldr r0, _080756E8 @ =gUnknown_0202F7C8 - mov r12, r0 - ldr r1, _080756EC @ =gUnknown_0202F7C9 - mov r8, r1 - ldr r0, _080756F0 @ =gUnknown_0202F7D2 - mov r9, r0 - ldr r1, _080756F4 @ =0x0000ffff - adds r3, r1, 0 - ldr r1, _080756F8 @ =gUnknown_03004B10 - movs r2, 0x7 -_0807566E: - ldrh r0, [r1] - orrs r0, r3 - strh r0, [r1] - adds r1, 0x2 - subs r2, 0x1 - cmp r2, 0 - bge _0807566E - ldr r1, _080756FC @ =gUnknown_03004B00 - movs r2, 0 - adds r0, r1, 0 - adds r0, 0xE -_08075684: - strh r2, [r0] - subs r0, 0x2 - cmp r0, r1 - bge _08075684 - movs r1, 0 - movs r0, 0xFF - strb r0, [r4] - movs r0, 0x1 - negs r0, r0 - strb r0, [r4, 0x1] - strb r1, [r5] - strb r1, [r6] - movs r0, 0 - strh r1, [r7] - mov r1, r12 - strb r0, [r1] - mov r1, r8 - strb r0, [r1] - mov r1, r9 - strb r0, [r1] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080756B8: .4byte gUnknown_0202F7B0 -_080756BC: .4byte gUnknown_0202F7B1 -_080756C0: .4byte gUnknown_0202F7B2 -_080756C4: .4byte gUnknown_0202F7B3 -_080756C8: .4byte gUnknown_0202F7B4 -_080756CC: .4byte gUnknown_0202F7B8 -_080756D0: .4byte gUnknown_0202F7BC -_080756D4: .4byte gUnknown_0202F7BE -_080756D8: .4byte gUnknown_0202F7C2 -_080756DC: .4byte gUnknown_0202F7C4 -_080756E0: .4byte gUnknown_0202F7C5 -_080756E4: .4byte gUnknown_0202F7C6 -_080756E8: .4byte gUnknown_0202F7C8 -_080756EC: .4byte gUnknown_0202F7C9 -_080756F0: .4byte gUnknown_0202F7D2 -_080756F4: .4byte 0x0000ffff -_080756F8: .4byte gUnknown_03004B10 -_080756FC: .4byte gUnknown_03004B00 - thumb_func_end sub_8075624 - - thumb_func_start move_anim_start_t1 -move_anim_start_t1: @ 8075700 - push {lr} - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - ldr r2, _08075724 @ =gUnknown_0202F7C8 - ldr r0, _08075728 @ =gUnknown_02024C07 - ldrb r0, [r0] - strb r0, [r2] - ldr r2, _0807572C @ =gUnknown_0202F7C9 - ldr r0, _08075730 @ =gUnknown_02024C08 - ldrb r0, [r0] - strb r0, [r2] - ldr r0, _08075734 @ =gBattleAnims_Moves - movs r2, 0x1 - bl move_something - pop {r0} - bx r0 - .align 2, 0 -_08075724: .4byte gUnknown_0202F7C8 -_08075728: .4byte gUnknown_02024C07 -_0807572C: .4byte gUnknown_0202F7C9 -_08075730: .4byte gUnknown_02024C08 -_08075734: .4byte gBattleAnims_Moves - thumb_func_end move_anim_start_t1 - - thumb_func_start move_something -move_something: @ 8075738 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - str r0, [sp] - lsls r1, 16 - lsrs r1, 16 - mov r8, r1 - lsls r2, 24 - lsrs r2, 24 - mov r9, r2 - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - bne _080757D8 - bl sub_8079E24 - movs r0, 0 - bl sub_8043EB4 - movs r4, 0 - mov r0, r8 - lsls r0, 2 - mov r10, r0 - ldr r6, _0807578C @ =gUnknown_02024A6A - movs r7, 0x64 - ldr r5, _08075790 @ =gUnknown_0202F7CA -_08075774: - lsls r0, r4, 24 - lsrs r0, 24 - bl battle_side_get_owner - lsls r0, 24 - cmp r0, 0 - beq _08075798 - ldrh r0, [r6] - muls r0, r7 - ldr r1, _08075794 @ =gEnemyParty - b _0807579E - .align 2, 0 -_0807578C: .4byte gUnknown_02024A6A -_08075790: .4byte gUnknown_0202F7CA -_08075794: .4byte gEnemyParty -_08075798: - ldrh r0, [r6] - muls r0, r7 - ldr r1, _080757C0 @ =gPlayerParty -_0807579E: - adds r0, r1 - movs r1, 0xB - bl GetMonData - strh r0, [r5] - adds r6, 0x2 - adds r5, 0x2 - adds r4, 0x1 - cmp r4, 0x3 - ble _08075774 - ldr r3, _080757C4 @ =gUnknown_0202F7C6 - ldr r5, _080757C8 @ =gUnknown_0202F7C2 - ldr r1, _080757CC @ =gUnknown_0202F7B1 - mov r12, r1 - ldr r7, _080757D0 @ =gUnknown_0202F7AC - ldr r6, _080757D4 @ =sub_80759D0 - b _080757FC - .align 2, 0 -_080757C0: .4byte gPlayerParty -_080757C4: .4byte gUnknown_0202F7C6 -_080757C8: .4byte gUnknown_0202F7C2 -_080757CC: .4byte gUnknown_0202F7B1 -_080757D0: .4byte gUnknown_0202F7AC -_080757D4: .4byte sub_80759D0 -_080757D8: - ldr r3, _08075808 @ =gUnknown_0202F7C6 - ldr r5, _0807580C @ =gUnknown_0202F7C2 - mov r0, r8 - lsls r0, 2 - mov r10, r0 - ldr r1, _08075810 @ =gUnknown_0202F7B1 - mov r12, r1 - ldr r7, _08075814 @ =gUnknown_0202F7AC - ldr r6, _08075818 @ =sub_80759D0 - ldr r2, _0807581C @ =0x02019348 - ldr r1, _08075820 @ =gUnknown_0202F7CA - movs r4, 0x3 -_080757F0: - ldrh r0, [r2] - strh r0, [r1] - adds r1, 0x2 - subs r4, 0x1 - cmp r4, 0 - bge _080757F0 -_080757FC: - mov r0, r9 - cmp r0, 0 - bne _08075824 - strh r0, [r3] - b _08075828 - .align 2, 0 -_08075808: .4byte gUnknown_0202F7C6 -_0807580C: .4byte gUnknown_0202F7C2 -_08075810: .4byte gUnknown_0202F7B1 -_08075814: .4byte gUnknown_0202F7AC -_08075818: .4byte sub_80759D0 -_0807581C: .4byte 0x02019348 -_08075820: .4byte gUnknown_0202F7CA -_08075824: - mov r1, r8 - strh r1, [r3] -_08075828: - ldr r1, _0807587C @ =gUnknown_03004B00 - movs r2, 0 - adds r0, r1, 0 - adds r0, 0xE -_08075830: - strh r2, [r0] - subs r0, 0x2 - cmp r0, r1 - bge _08075830 - movs r0, 0xFF - strb r0, [r5] - movs r0, 0x1 - negs r0, r0 - strb r0, [r5, 0x1] - ldr r0, [sp] - add r0, r10 - ldr r0, [r0] - ldr r1, _08075880 @ =gUnknown_0202F7A4 - str r0, [r1] - movs r0, 0x1 - mov r1, r12 - strb r0, [r1] - movs r0, 0 - ldr r1, _08075884 @ =gUnknown_0202F7B0 - strb r0, [r1] - str r6, [r7] - ldr r0, _08075888 @ =0x0000ffff - adds r2, r0, 0 - ldr r1, _0807588C @ =gUnknown_03004B10 - movs r4, 0x7 -_08075862: - ldrh r0, [r1] - orrs r0, r2 - strh r0, [r1] - adds r1, 0x2 - subs r4, 0x1 - cmp r4, 0 - bge _08075862 - mov r1, r9 - cmp r1, 0 - beq _080758AE - movs r4, 0 - ldr r2, _08075890 @ =gUnknown_081C7160 - b _08075896 - .align 2, 0 -_0807587C: .4byte gUnknown_03004B00 -_08075880: .4byte gUnknown_0202F7A4 -_08075884: .4byte gUnknown_0202F7B0 -_08075888: .4byte 0x0000ffff -_0807588C: .4byte gUnknown_03004B10 -_08075890: .4byte gUnknown_081C7160 -_08075894: - adds r4, 0x1 -_08075896: - lsls r0, r4, 1 - adds r0, r2 - ldrh r0, [r0] - ldr r1, _080758D0 @ =0x0000ffff - cmp r0, r1 - beq _080758AE - cmp r8, r0 - bne _08075894 - ldr r0, _080758D4 @ =gMPlay_BGM - movs r2, 0x80 - bl m4aMPlayVolumeControl -_080758AE: - ldr r0, _080758D8 @ =gUnknown_030042C4 - movs r1, 0 - strh r1, [r0] - ldr r0, _080758DC @ =gUnknown_03004240 - strh r1, [r0] - ldr r0, _080758E0 @ =gUnknown_03004200 - strh r1, [r0] - ldr r0, _080758E4 @ =gUnknown_03004244 - strh r1, [r0] - 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 -_080758D0: .4byte 0x0000ffff -_080758D4: .4byte gMPlay_BGM -_080758D8: .4byte gUnknown_030042C4 -_080758DC: .4byte gUnknown_03004240 -_080758E0: .4byte gUnknown_03004200 -_080758E4: .4byte gUnknown_03004244 - thumb_func_end move_something - - thumb_func_start move_anim_8072740 -move_anim_8072740: @ 80758E8 - push {r4,lr} - adds r4, r0, 0 - bl FreeSpriteOamMatrix - adds r0, r4, 0 - bl DestroySprite - ldr r1, _08075904 @ =gUnknown_0202F7B2 - ldrb r0, [r1] - subs r0, 0x1 - strb r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08075904: .4byte gUnknown_0202F7B2 - thumb_func_end move_anim_8072740 - - thumb_func_start move_anim_task_del -move_anim_task_del: @ 8075908 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - ldr r1, _08075920 @ =gUnknown_0202F7B2 - ldrb r0, [r1] - subs r0, 0x1 - strb r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08075920: .4byte gUnknown_0202F7B2 - thumb_func_end move_anim_task_del - - thumb_func_start move_anim_related_task_del -move_anim_related_task_del: @ 8075924 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - ldr r1, _0807593C @ =gUnknown_0202F7B3 - ldrb r0, [r1] - subs r0, 0x1 - strb r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_0807593C: .4byte gUnknown_0202F7B3 - thumb_func_end move_anim_related_task_del - - thumb_func_start sub_8075940 -sub_8075940: @ 8075940 - push {r4,lr} - lsls r0, 16 - lsrs r3, r0, 16 - movs r2, 0 - ldr r4, _08075958 @ =0x0000ffff - ldr r1, _0807595C @ =gUnknown_03004B10 -_0807594C: - ldrh r0, [r1] - cmp r0, r4 - bne _08075960 - strh r3, [r1] - b _08075968 - .align 2, 0 -_08075958: .4byte 0x0000ffff -_0807595C: .4byte gUnknown_03004B10 -_08075960: - adds r1, 0x2 - adds r2, 0x1 - cmp r2, 0x7 - ble _0807594C -_08075968: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8075940 - - thumb_func_start sub_8075970 -sub_8075970: @ 8075970 - push {r4,lr} - lsls r0, 16 - lsrs r3, r0, 16 - movs r2, 0 - ldr r0, _0807598C @ =0x0000ffff - adds r4, r0, 0 - ldr r1, _08075990 @ =gUnknown_03004B10 -_0807597E: - ldrh r0, [r1] - cmp r0, r3 - bne _08075994 - orrs r0, r4 - strh r0, [r1] - b _0807599C - .align 2, 0 -_0807598C: .4byte 0x0000ffff -_08075990: .4byte gUnknown_03004B10 -_08075994: - adds r1, 0x2 - adds r2, 0x1 - cmp r2, 0x7 - ble _0807597E -_0807599C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8075970 - - thumb_func_start move_anim_waiter -move_anim_waiter: @ 80759A4 - push {lr} - ldr r2, _080759BC @ =gUnknown_0202F7B0 - ldrb r1, [r2] - movs r0, 0 - ldrsb r0, [r2, r0] - cmp r0, 0 - bgt _080759C8 - ldr r0, _080759C0 @ =gUnknown_0202F7AC - ldr r1, _080759C4 @ =sub_80759D0 - str r1, [r0] - movs r0, 0 - b _080759CA - .align 2, 0 -_080759BC: .4byte gUnknown_0202F7B0 -_080759C0: .4byte gUnknown_0202F7AC -_080759C4: .4byte sub_80759D0 -_080759C8: - subs r0, r1, 0x1 -_080759CA: - strb r0, [r2] - pop {r0} - bx r0 - thumb_func_end move_anim_waiter - - thumb_func_start sub_80759D0 -sub_80759D0: @ 80759D0 - push {r4,lr} - ldr r4, _08075A00 @ =gUnknown_0837F4B8 -_080759D4: - ldr r0, _08075A04 @ =gUnknown_0202F7A4 - ldr r0, [r0] - ldrb r0, [r0] - lsls r0, 2 - adds r0, r4 - ldr r0, [r0] - bl _call_via_r0 - ldr r0, _08075A08 @ =gUnknown_0202F7B0 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - bne _080759F8 - ldr r0, _08075A0C @ =gUnknown_0202F7B1 - ldrb r0, [r0] - cmp r0, 0 - bne _080759D4 -_080759F8: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08075A00: .4byte gUnknown_0837F4B8 -_08075A04: .4byte gUnknown_0202F7A4 -_08075A08: .4byte gUnknown_0202F7B0 -_08075A0C: .4byte gUnknown_0202F7B1 - thumb_func_end sub_80759D0 - - thumb_func_start ma00_load_graphics -ma00_load_graphics: @ 8075A10 - push {r4-r6,lr} - ldr r6, _08075A5C @ =gUnknown_0202F7A4 - ldr r0, [r6] - adds r1, r0, 0x1 - str r1, [r6] - ldrb r4, [r0, 0x1] - ldrb r0, [r1, 0x1] - lsls r0, 8 - orrs r4, r0 - lsls r5, r4, 3 - ldr r0, _08075A60 @ =gBattleAnimPicTable - (10000 * 8) - adds r0, r5, r0 - bl LoadCompressedObjectPic - ldr r0, _08075A64 @ =gBattleAnimPaletteTable - (10000 * 8) - adds r5, r0 - adds r0, r5, 0 - bl LoadCompressedObjectPalette - ldr r0, [r6] - adds r0, 0x2 - str r0, [r6] - ldr r0, _08075A68 @ =0xffffd8f0 - adds r4, r0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r4, 0 - bl sub_8075940 - ldr r1, _08075A6C @ =gUnknown_0202F7B0 - movs r0, 0x1 - strb r0, [r1] - ldr r1, _08075A70 @ =gUnknown_0202F7AC - ldr r0, _08075A74 @ =move_anim_waiter - str r0, [r1] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08075A5C: .4byte gUnknown_0202F7A4 -_08075A60: .4byte gBattleAnimPicTable - (10000 * 8) -_08075A64: .4byte gBattleAnimPaletteTable - (10000 * 8) -_08075A68: .4byte 0xffffd8f0 -_08075A6C: .4byte gUnknown_0202F7B0 -_08075A70: .4byte gUnknown_0202F7AC -_08075A74: .4byte move_anim_waiter - thumb_func_end ma00_load_graphics - - thumb_func_start ma01_080728D0 -ma01_080728D0: @ 8075A78 - push {r4-r6,lr} - ldr r6, _08075AB8 @ =gUnknown_0202F7A4 - ldr r0, [r6] - adds r1, r0, 0x1 - str r1, [r6] - ldrb r4, [r0, 0x1] - ldrb r0, [r1, 0x1] - lsls r0, 8 - orrs r4, r0 - ldr r1, _08075ABC @ =gBattleAnimPicTable - ldr r0, _08075AC0 @ =0xffffd8f0 - adds r4, r0 - lsls r0, r4, 3 - adds r0, r1 - ldrh r5, [r0, 0x6] - adds r0, r5, 0 - bl FreeSpriteTilesByTag - adds r0, r5, 0 - bl FreeSpritePaletteByTag - ldr r0, [r6] - adds r0, 0x2 - str r0, [r6] - lsls r4, 16 - lsrs r4, 16 - adds r0, r4, 0 - bl sub_8075970 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08075AB8: .4byte gUnknown_0202F7A4 -_08075ABC: .4byte gBattleAnimPicTable -_08075AC0: .4byte 0xffffd8f0 - thumb_func_end ma01_080728D0 - - thumb_func_start ma02_instanciate_template -ma02_instanciate_template: @ 8075AC4 - push {r4-r7,lr} - ldr r5, _08075B2C @ =gUnknown_0202F7A4 - ldr r1, [r5] - adds r3, r1, 0x1 - str r3, [r5] - ldrb r2, [r1, 0x1] - ldrb r0, [r3, 0x1] - lsls r0, 8 - adds r2, r0 - ldrb r0, [r3, 0x2] - lsls r0, 16 - adds r2, r0 - ldrb r0, [r3, 0x3] - lsls r0, 24 - adds r7, r2, r0 - adds r0, r1, 0x5 - str r0, [r5] - ldrb r4, [r1, 0x5] - adds r0, r1, 0x6 - str r0, [r5] - ldrb r0, [r1, 0x6] - adds r1, 0x7 - str r1, [r5] - cmp r0, 0 - beq _08075B14 - adds r6, r5, 0 - ldr r5, _08075B30 @ =gUnknown_03004B00 - adds r3, r0, 0 -_08075AFC: - ldr r2, [r6] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - strh r1, [r5] - adds r2, 0x2 - str r2, [r6] - adds r5, 0x2 - subs r3, 0x1 - cmp r3, 0 - bne _08075AFC -_08075B14: - movs r0, 0x80 - ands r0, r4 - cmp r0, 0 - beq _08075B44 - movs r0, 0x80 - eors r4, r0 - cmp r4, 0x3F - bls _08075B34 - adds r0, r4, 0 - subs r0, 0x40 - b _08075B36 - .align 2, 0 -_08075B2C: .4byte gUnknown_0202F7A4 -_08075B30: .4byte gUnknown_03004B00 -_08075B34: - negs r0, r4 -_08075B36: - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _08075B40 @ =gUnknown_0202F7C9 - b _08075B56 - .align 2, 0 -_08075B40: .4byte gUnknown_0202F7C9 -_08075B44: - cmp r4, 0x3F - bls _08075B4E - adds r0, r4, 0 - subs r0, 0x40 - b _08075B50 -_08075B4E: - negs r0, r4 -_08075B50: - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _08075BAC @ =gUnknown_0202F7C8 -_08075B56: - ldrb r0, [r0] - bl sub_8079E90 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r4, 24 - asrs r1, 24 - adds r0, r1 - lsls r0, 16 - lsrs r6, r0, 16 - lsls r0, r6, 16 - asrs r0, 16 - cmp r0, 0x2 - bgt _08075B74 - movs r6, 0x3 -_08075B74: - ldr r5, _08075BB0 @ =gUnknown_0202F7C9 - ldrb r0, [r5] - movs r1, 0x2 - bl sub_8077ABC - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldrb r0, [r5] - movs r1, 0x3 - bl sub_8077ABC - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - lsls r3, r6, 24 - lsrs r3, 24 - adds r0, r7, 0 - adds r1, r4, 0 - bl CreateSpriteAndAnimate - ldr r1, _08075BB4 @ =gUnknown_0202F7B2 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08075BAC: .4byte gUnknown_0202F7C8 -_08075BB0: .4byte gUnknown_0202F7C9 -_08075BB4: .4byte gUnknown_0202F7B2 - thumb_func_end ma02_instanciate_template - - thumb_func_start sub_8075BB8 -sub_8075BB8: @ 8075BB8 - push {r4-r7,lr} - ldr r4, _08075C28 @ =gUnknown_0202F7A4 - ldr r1, [r4] - adds r3, r1, 0x1 - str r3, [r4] - ldrb r2, [r1, 0x1] - ldrb r0, [r3, 0x1] - lsls r0, 8 - adds r2, r0 - ldrb r0, [r3, 0x2] - lsls r0, 16 - adds r2, r0 - ldrb r0, [r3, 0x3] - lsls r0, 24 - adds r6, r2, r0 - adds r0, r1, 0x5 - str r0, [r4] - ldrb r7, [r1, 0x5] - adds r0, r1, 0x6 - str r0, [r4] - ldrb r0, [r1, 0x6] - adds r1, 0x7 - str r1, [r4] - cmp r0, 0 - beq _08075C08 - adds r5, r4, 0 - ldr r4, _08075C2C @ =gUnknown_03004B00 - adds r3, r0, 0 -_08075BF0: - ldr r2, [r5] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - strh r1, [r4] - adds r2, 0x2 - str r2, [r5] - adds r4, 0x2 - subs r3, 0x1 - cmp r3, 0 - bne _08075BF0 -_08075C08: - adds r0, r6, 0 - adds r1, r7, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - bl _call_via_r6 - ldr r1, _08075C30 @ =gUnknown_0202F7B2 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08075C28: .4byte gUnknown_0202F7A4 -_08075C2C: .4byte gUnknown_03004B00 -_08075C30: .4byte gUnknown_0202F7B2 - thumb_func_end sub_8075BB8 - - thumb_func_start ma04_wait_countdown -ma04_wait_countdown: @ 8075C34 - push {r4,lr} - ldr r1, _08075C64 @ =gUnknown_0202F7A4 - ldr r0, [r1] - adds r2, r0, 0x1 - str r2, [r1] - ldr r3, _08075C68 @ =gUnknown_0202F7B0 - ldrb r0, [r0, 0x1] - strb r0, [r3] - lsls r0, 24 - cmp r0, 0 - bne _08075C52 - movs r4, 0x1 - negs r4, r4 - adds r0, r4, 0 - strb r0, [r3] -_08075C52: - adds r0, r2, 0x1 - str r0, [r1] - ldr r1, _08075C6C @ =gUnknown_0202F7AC - ldr r0, _08075C70 @ =move_anim_waiter - str r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08075C64: .4byte gUnknown_0202F7A4 -_08075C68: .4byte gUnknown_0202F7B0 -_08075C6C: .4byte gUnknown_0202F7AC -_08075C70: .4byte move_anim_waiter - thumb_func_end ma04_wait_countdown - - thumb_func_start sub_8075C74 -sub_8075C74: @ 8075C74 - push {lr} - ldr r0, _08075C8C @ =gUnknown_0202F7B2 - ldrb r2, [r0] - cmp r2, 0 - bne _08075C98 - ldr r0, _08075C90 @ =gUnknown_0202F7A4 - ldr r1, [r0] - adds r1, 0x1 - str r1, [r0] - ldr r0, _08075C94 @ =gUnknown_0202F7B0 - strb r2, [r0] - b _08075C9E - .align 2, 0 -_08075C8C: .4byte gUnknown_0202F7B2 -_08075C90: .4byte gUnknown_0202F7A4 -_08075C94: .4byte gUnknown_0202F7B0 -_08075C98: - ldr r1, _08075CA4 @ =gUnknown_0202F7B0 - movs r0, 0x1 - strb r0, [r1] -_08075C9E: - pop {r0} - bx r0 - .align 2, 0 -_08075CA4: .4byte gUnknown_0202F7B0 - thumb_func_end sub_8075C74 - - thumb_func_start nullsub_53 -nullsub_53: @ 8075CA8 - bx lr - thumb_func_end nullsub_53 - - thumb_func_start nullsub_88 -nullsub_88: @ 8075CAC - bx lr - thumb_func_end nullsub_88 - - thumb_func_start sub_8075CB0 -sub_8075CB0: @ 8075CB0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r0, 0 - mov r8, r0 - ldr r0, _08075CE0 @ =gUnknown_0202F7B2 - ldrb r0, [r0] - cmp r0, 0 - bne _08075CD8 - ldr r0, _08075CE4 @ =gUnknown_0202F7B3 - ldrb r0, [r0] - cmp r0, 0 - bne _08075CD8 - ldr r1, _08075CE8 @ =gUnknown_0202F7C2 - ldrb r0, [r1] - cmp r0, 0xFF - bne _08075CD8 - ldrb r0, [r1, 0x1] - cmp r0, 0xFF - beq _08075CF0 -_08075CD8: - ldr r1, _08075CEC @ =gUnknown_03004AF0 - movs r0, 0 - strh r0, [r1] - b _08075D0A - .align 2, 0 -_08075CE0: .4byte gUnknown_0202F7B2 -_08075CE4: .4byte gUnknown_0202F7B3 -_08075CE8: .4byte gUnknown_0202F7C2 -_08075CEC: .4byte gUnknown_03004AF0 -_08075CF0: - bl IsSEPlaying - lsls r0, 24 - cmp r0, 0 - beq _08075D28 - ldr r1, _08075D14 @ =gUnknown_03004AF0 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x5A - bhi _08075D1C -_08075D0A: - ldr r1, _08075D18 @ =gUnknown_0202F7B0 - movs r0, 0x1 - strb r0, [r1] - b _08075D8E - .align 2, 0 -_08075D14: .4byte gUnknown_03004AF0 -_08075D18: .4byte gUnknown_0202F7B0 -_08075D1C: - ldr r0, _08075D98 @ =gMPlay_SE1 - bl m4aMPlayStop - ldr r0, _08075D9C @ =gMPlay_SE2 - bl m4aMPlayStop -_08075D28: - ldr r1, _08075DA0 @ =gUnknown_03004AF0 - movs r0, 0 - strh r0, [r1] - movs r5, 0 - ldr r7, _08075DA4 @ =0x0000ffff - ldr r6, _08075DA8 @ =gBattleAnimPicTable - ldr r4, _08075DAC @ =gUnknown_03004B10 -_08075D36: - ldrh r0, [r4] - cmp r0, r7 - beq _08075D5A - lsls r0, 3 - adds r0, r6 - ldrh r0, [r0, 0x6] - bl FreeSpriteTilesByTag - ldrh r0, [r4] - lsls r0, 3 - adds r0, r6 - ldrh r0, [r0, 0x6] - bl FreeSpritePaletteByTag - ldrh r1, [r4] - adds r0, r7, 0 - orrs r0, r1 - strh r0, [r4] -_08075D5A: - adds r4, 0x2 - adds r5, 0x1 - cmp r5, 0x7 - ble _08075D36 - mov r1, r8 - cmp r1, 0 - bne _08075D8E - ldr r0, _08075DB0 @ =gMPlay_BGM - ldr r1, _08075DA4 @ =0x0000ffff - movs r2, 0x80 - lsls r2, 1 - bl m4aMPlayVolumeControl - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - bne _08075D88 - bl sub_8079E24 - movs r0, 0x1 - bl sub_8043EB4 -_08075D88: - ldr r0, _08075DB4 @ =gUnknown_0202F7B1 - mov r1, r8 - strb r1, [r0] -_08075D8E: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08075D98: .4byte gMPlay_SE1 -_08075D9C: .4byte gMPlay_SE2 -_08075DA0: .4byte gUnknown_03004AF0 -_08075DA4: .4byte 0x0000ffff -_08075DA8: .4byte gBattleAnimPicTable -_08075DAC: .4byte gUnknown_03004B10 -_08075DB0: .4byte gMPlay_BGM -_08075DB4: .4byte gUnknown_0202F7B1 - thumb_func_end sub_8075CB0 - - thumb_func_start ma09_play_sound -ma09_play_sound: @ 8075DB8 - push {r4,lr} - ldr r4, _08075DDC @ =gUnknown_0202F7A4 - ldr r0, [r4] - adds r1, r0, 0x1 - str r1, [r4] - ldrb r0, [r0, 0x1] - ldrb r1, [r1, 0x1] - lsls r1, 8 - orrs r0, r1 - bl PlaySE - ldr r0, [r4] - adds r0, 0x2 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08075DDC: .4byte gUnknown_0202F7A4 - thumb_func_end ma09_play_sound - - thumb_func_start sub_8075DE0 -sub_8075DE0: @ 8075DE0 - push {r4-r7,lr} - ldr r0, _08075DF4 @ =gUnknown_0202F7A4 - ldr r2, [r0] - adds r1, r2, 0x1 - str r1, [r0] - ldrb r6, [r2, 0x1] - cmp r6, 0 - bne _08075DF8 - movs r6, 0x2 - b _08075E02 - .align 2, 0 -_08075DF4: .4byte gUnknown_0202F7A4 -_08075DF8: - cmp r6, 0x1 - bne _08075DFE - movs r6, 0x3 -_08075DFE: - cmp r6, 0 - beq _08075E06 -_08075E02: - cmp r6, 0x2 - bne _08075E10 -_08075E06: - ldr r0, _08075E0C @ =gUnknown_0202F7C8 - b _08075E12 - .align 2, 0 -_08075E0C: .4byte gUnknown_0202F7C8 -_08075E10: - ldr r0, _08075E44 @ =gUnknown_0202F7C9 -_08075E12: - ldrb r5, [r0] - adds r0, r5, 0 - bl b_side_obj__get_some_boolean - lsls r0, 24 - cmp r0, 0 - beq _08075ECE - adds r0, r5, 0 - bl battle_get_per_side_status - lsls r0, 24 - movs r1, 0xFF - lsls r1, 24 - adds r0, r1 - lsrs r0, 24 - cmp r0, 0x1 - bls _08075E3E - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - beq _08075E48 -_08075E3E: - movs r7, 0 - b _08075E4A - .align 2, 0 -_08075E44: .4byte gUnknown_0202F7C9 -_08075E48: - movs r7, 0x1 -_08075E4A: - adds r0, r5, 0 - adds r1, r7, 0 - bl sub_8076034 - ldr r0, _08075E98 @ =gUnknown_02024BE0 - adds r0, r5, r0 - ldrb r4, [r0] - ldr r0, _08075E9C @ =task_pA_ma0A_obj_to_bg_pal - movs r1, 0xA - bl CreateTask - lsls r0, 24 - lsrs r3, r0, 24 - ldr r1, _08075EA0 @ =gTasks - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 3 - adds r2, r0, r1 - strh r4, [r2, 0x8] - ldr r1, _08075EA4 @ =gSprites - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r0, r1 - ldrh r1, [r0, 0x24] - ldrh r4, [r0, 0x20] - adds r1, r4 - strh r1, [r2, 0xA] - ldrh r1, [r0, 0x26] - ldrh r0, [r0, 0x22] - adds r1, r0 - strh r1, [r2, 0xC] - cmp r7, 0 - bne _08075EB0 - ldr r0, _08075EA8 @ =gUnknown_030042C0 - ldrh r0, [r0] - strh r0, [r2, 0xE] - ldr r0, _08075EAC @ =gUnknown_030041B4 - b _08075EB8 - .align 2, 0 -_08075E98: .4byte gUnknown_02024BE0 -_08075E9C: .4byte task_pA_ma0A_obj_to_bg_pal -_08075EA0: .4byte gTasks -_08075EA4: .4byte gSprites -_08075EA8: .4byte gUnknown_030042C0 -_08075EAC: .4byte gUnknown_030041B4 -_08075EB0: - ldr r0, _08075F04 @ =gUnknown_03004288 - ldrh r0, [r0] - strh r0, [r2, 0xE] - ldr r0, _08075F08 @ =gUnknown_03004280 -_08075EB8: - ldrh r0, [r0] - strh r0, [r2, 0x10] - ldr r0, _08075F0C @ =gTasks - lsls r1, r3, 2 - adds r1, r3 - lsls r1, 3 - adds r1, r0 - strh r7, [r1, 0x12] - strh r5, [r1, 0x14] - ldr r0, _08075F10 @ =gUnknown_0202F7C2 - strb r3, [r0] -_08075ECE: - movs r0, 0x2 - eors r5, r0 - cmp r6, 0x1 - bls _08075F9A - adds r0, r5, 0 - bl b_side_obj__get_some_boolean - lsls r0, 24 - cmp r0, 0 - beq _08075F9A - adds r0, r5, 0 - bl battle_get_per_side_status - lsls r0, 24 - movs r1, 0xFF - lsls r1, 24 - adds r0, r1 - lsrs r0, 24 - cmp r0, 0x1 - bls _08075F00 - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - beq _08075F14 -_08075F00: - movs r7, 0 - b _08075F16 - .align 2, 0 -_08075F04: .4byte gUnknown_03004288 -_08075F08: .4byte gUnknown_03004280 -_08075F0C: .4byte gTasks -_08075F10: .4byte gUnknown_0202F7C2 -_08075F14: - movs r7, 0x1 -_08075F16: - adds r0, r5, 0 - adds r1, r7, 0 - bl sub_8076034 - ldr r0, _08075F64 @ =gUnknown_02024BE0 - adds r0, r5, r0 - ldrb r4, [r0] - ldr r0, _08075F68 @ =task_pA_ma0A_obj_to_bg_pal - movs r1, 0xA - bl CreateTask - lsls r0, 24 - lsrs r3, r0, 24 - ldr r1, _08075F6C @ =gTasks - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 3 - adds r2, r0, r1 - strh r4, [r2, 0x8] - ldr r1, _08075F70 @ =gSprites - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r0, r1 - ldrh r1, [r0, 0x24] - ldrh r4, [r0, 0x20] - adds r1, r4 - strh r1, [r2, 0xA] - ldrh r1, [r0, 0x26] - ldrh r0, [r0, 0x22] - adds r1, r0 - strh r1, [r2, 0xC] - cmp r7, 0 - bne _08075F7C - ldr r0, _08075F74 @ =gUnknown_030042C0 - ldrh r0, [r0] - strh r0, [r2, 0xE] - ldr r0, _08075F78 @ =gUnknown_030041B4 - b _08075F84 - .align 2, 0 -_08075F64: .4byte gUnknown_02024BE0 -_08075F68: .4byte task_pA_ma0A_obj_to_bg_pal -_08075F6C: .4byte gTasks -_08075F70: .4byte gSprites -_08075F74: .4byte gUnknown_030042C0 -_08075F78: .4byte gUnknown_030041B4 -_08075F7C: - ldr r0, _08075FA8 @ =gUnknown_03004288 - ldrh r0, [r0] - strh r0, [r2, 0xE] - ldr r0, _08075FAC @ =gUnknown_03004280 -_08075F84: - ldrh r0, [r0] - strh r0, [r2, 0x10] - ldr r0, _08075FB0 @ =gTasks - lsls r1, r3, 2 - adds r1, r3 - lsls r1, 3 - adds r1, r0 - strh r7, [r1, 0x12] - strh r5, [r1, 0x14] - ldr r0, _08075FB4 @ =gUnknown_0202F7C2 - strb r3, [r0, 0x1] -_08075F9A: - ldr r1, _08075FB8 @ =gUnknown_0202F7A4 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08075FA8: .4byte gUnknown_03004288 -_08075FAC: .4byte gUnknown_03004280 -_08075FB0: .4byte gTasks -_08075FB4: .4byte gUnknown_0202F7C2 -_08075FB8: .4byte gUnknown_0202F7A4 - thumb_func_end sub_8075DE0 - - thumb_func_start b_side_obj__get_some_boolean -b_side_obj__get_some_boolean: @ 8075FBC - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - beq _08075FDC - ldr r0, _08075FD8 @ =gUnknown_0202F7C8 - ldrb r0, [r0] - cmp r4, r0 - beq _0807601C - b _0807602C - .align 2, 0 -_08075FD8: .4byte gUnknown_0202F7C8 -_08075FDC: - adds r0, r4, 0 - bl sub_8078874 - lsls r0, 24 - cmp r0, 0 - beq _0807602C - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - bne _0807601C - lsls r0, r5, 2 - ldr r1, _08076020 @ =0x02017800 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0807601C - ldr r2, _08076024 @ =gSprites - ldr r0, _08076028 @ =gUnknown_02024BE0 - adds r0, r5, r0 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r0, [r0] - lsls r0, 29 - cmp r0, 0 - blt _0807602C -_0807601C: - movs r0, 0x1 - b _0807602E - .align 2, 0 -_08076020: .4byte 0x02017800 -_08076024: .4byte gSprites -_08076028: .4byte gUnknown_02024BE0 -_0807602C: - movs r0, 0 -_0807602E: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end b_side_obj__get_some_boolean - - thumb_func_start sub_8076034 -sub_8076034: @ 8076034 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x28 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - lsls r1, 24 - cmp r1, 0 - beq _0807604E - b _08076220 -_0807604E: - add r4, sp, 0x10 - adds r0, r4, 0 - bl sub_8078914 - ldr r2, [sp, 0x10] - movs r3, 0x80 - lsls r3, 6 - add r6, sp, 0x1C - add r0, sp, 0x20 - mov r10, r0 - mov r1, r9 - lsls r1, 5 - str r1, [sp, 0x24] - movs r5, 0 - ldr r1, _08076194 @ =0x040000d4 - movs r4, 0x80 - lsls r4, 5 - mov r12, r6 - ldr r7, _08076198 @ =0x85000400 - movs r0, 0x85 - lsls r0, 24 - mov r8, r0 -_0807607A: - str r5, [sp, 0x1C] - mov r0, r12 - str r0, [r1] - str r2, [r1, 0x4] - str r7, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r2, r4 - subs r3, r4 - cmp r3, r4 - bhi _0807607A - str r5, [sp, 0x1C] - str r6, [r1] - str r2, [r1, 0x4] - lsrs r0, r3, 2 - mov r2, r8 - orrs r0, r2 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - add r0, sp, 0xC - movs r1, 0 - strb r1, [r0] - strb r1, [r0] - ldr r1, [sp, 0x14] - movs r0, 0xFF - mov r3, r10 - strh r0, [r3] - ldr r0, _08076194 @ =0x040000d4 - str r3, [r0] - str r1, [r0, 0x4] - ldr r1, _0807619C @ =0x81000800 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - ldr r2, _080761A0 @ =REG_BG1CNT - ldrb r1, [r2] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2] - ldrb r1, [r2, 0x1] - movs r0, 0x3F - ands r0, r1 - movs r1, 0x40 - orrs r0, r1 - strb r0, [r2, 0x1] - ldrb r1, [r2, 0x1] - movs r0, 0x21 - negs r0, r0 - ands r0, r1 - strb r0, [r2, 0x1] - ldr r0, _080761A4 @ =gUnknown_02024BE0 - add r0, r9 - ldrb r4, [r0] - ldr r5, _080761A8 @ =gUnknown_030042C0 - ldr r0, _080761AC @ =gSprites - lsls r1, r4, 4 - adds r1, r4 - lsls r1, 2 - adds r1, r0 - ldrh r0, [r1, 0x24] - ldrh r1, [r1, 0x20] - adds r0, r1 - negs r0, r0 - adds r0, 0x20 - strh r0, [r5] - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - beq _0807611C - ldr r0, _080761B0 @ =0x02019348 - ldrh r0, [r0] - bl sub_80AEB1C - lsls r0, 24 - cmp r0, 0 - beq _0807611C - ldrh r0, [r5] - subs r0, 0x1 - strh r0, [r5] -_0807611C: - ldr r3, _080761B4 @ =gUnknown_030041B4 - ldr r2, _080761AC @ =gSprites - lsls r1, r4, 4 - adds r1, r4 - lsls r1, 2 - adds r1, r2 - ldrh r0, [r1, 0x26] - ldrh r1, [r1, 0x22] - adds r0, r1 - negs r0, r0 - adds r0, 0x20 - strh r0, [r3] - ldr r0, _080761A4 @ =gUnknown_02024BE0 - add r0, r9 - 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] - ldr r1, _080761B8 @ =REG_BG1HOFS - ldr r0, _080761A8 @ =gUnknown_030042C0 - ldrh r0, [r0] - strh r0, [r1] - adds r1, 0x2 - ldrh r0, [r3] - strh r0, [r1] - ldr r4, _080761BC @ =gPlttBufferUnfaded + 0x200 - ldr r0, [sp, 0x24] - adds r4, r0, r4 - mov r2, sp - ldrb r1, [r2, 0x18] - lsls r1, 4 - adds r0, r4, 0 - movs r2, 0x20 - bl LoadPalette - mov r3, sp - ldrb r0, [r3, 0x18] - lsls r0, 5 - movs r1, 0xA0 - lsls r1, 19 - adds r0, r1 - ldr r1, _08076194 @ =0x040000d4 - str r4, [r1] - str r0, [r1, 0x4] - ldr r0, _080761C0 @ =0x84000008 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - beq _080761C4 - movs r2, 0 - b _080761CE - .align 2, 0 -_08076194: .4byte 0x040000d4 -_08076198: .4byte 0x85000400 -_0807619C: .4byte 0x81000800 -_080761A0: .4byte REG_BG1CNT -_080761A4: .4byte gUnknown_02024BE0 -_080761A8: .4byte gUnknown_030042C0 -_080761AC: .4byte gSprites -_080761B0: .4byte 0x02019348 -_080761B4: .4byte gUnknown_030041B4 -_080761B8: .4byte REG_BG1HOFS -_080761BC: .4byte gPlttBufferUnfaded + 0x200 -_080761C0: .4byte 0x84000008 -_080761C4: - mov r0, r9 - bl battle_get_per_side_status - lsls r0, 24 - lsrs r2, r0, 24 -_080761CE: - mov r0, sp - ldrb r3, [r0, 0x18] - ldr r0, [sp, 0x10] - lsls r0, 16 - lsrs r0, 16 - str r0, [sp] - ldr r4, [sp, 0x14] - movs r1, 0xFA - lsls r1, 24 - adds r0, r4, r1 - cmp r0, 0 - bge _080761EA - ldr r1, _08076218 @ =0xfa0007ff - adds r0, r4, r1 -_080761EA: - asrs r0, 11 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - ldr r0, _0807621C @ =REG_BG1CNT - ldr r0, [r0] - lsls r0, 28 - lsrs r0, 30 - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0 - bl sub_80E4EF8 - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - bne _08076210 - b _08076338 -_08076210: - bl sub_8076380 - b _08076338 - .align 2, 0 -_08076218: .4byte 0xfa0007ff -_0807621C: .4byte REG_BG1CNT -_08076220: - ldr r3, _08076348 @ =0x06006000 - movs r5, 0x80 - lsls r5, 6 - add r6, sp, 0x1C - ldr r2, _0807634C @ =gSprites - mov r10, r2 - mov r0, r9 - lsls r0, 5 - str r0, [sp, 0x24] - movs r4, 0 - ldr r1, _08076350 @ =0x040000d4 - movs r2, 0x80 - lsls r2, 5 - mov r12, r6 - ldr r7, _08076354 @ =0x85000400 - movs r0, 0x85 - lsls r0, 24 - mov r8, r0 -_08076244: - str r4, [sp, 0x1C] - mov r0, r12 - str r0, [r1] - str r3, [r1, 0x4] - str r7, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r3, r2 - subs r5, r2 - cmp r5, r2 - bhi _08076244 - str r4, [sp, 0x1C] - str r6, [r1] - str r3, [r1, 0x4] - lsrs r0, r5, 2 - mov r2, r8 - orrs r0, r2 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - add r0, sp, 0xC - movs r1, 0 - strb r1, [r0] - strb r1, [r0] - ldr r1, _08076358 @ =0x0600f000 - movs r0, 0 - str r0, [sp, 0x1C] - ldr r5, _08076350 @ =0x040000d4 - str r6, [r5] - str r1, [r5, 0x4] - ldr r0, _0807635C @ =0x85000200 - str r0, [r5, 0x8] - ldr r0, [r5, 0x8] - ldr r6, _08076360 @ =REG_BG2CNT - ldrb r1, [r6] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - movs r1, 0x2 - orrs r0, r1 - strb r0, [r6] - ldrb r1, [r6, 0x1] - movs r0, 0x3F - ands r0, r1 - movs r1, 0x40 - orrs r0, r1 - strb r0, [r6, 0x1] - ldrb r1, [r6, 0x1] - movs r0, 0x21 - negs r0, r0 - ands r0, r1 - strb r0, [r6, 0x1] - ldr r2, _08076364 @ =gUnknown_02024BE0 - add r2, r9 - ldrb r4, [r2] - lsls r1, r4, 4 - adds r1, r4 - lsls r1, 2 - add r1, r10 - ldrh r0, [r1, 0x24] - ldrh r3, [r1, 0x20] - adds r0, r3 - negs r0, r0 - adds r0, 0x20 - ldr r3, _08076368 @ =gUnknown_03004288 - strh r0, [r3] - ldrh r0, [r1, 0x26] - ldrh r1, [r1, 0x22] - adds r0, r1 - negs r0, r0 - adds r0, 0x20 - ldr r1, _0807636C @ =gUnknown_03004280 - strh r0, [r1] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r10 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - ldr r1, _08076370 @ =REG_BG2HOFS - ldrh r0, [r3] - strh r0, [r1] - adds r1, 0x2 - ldr r2, _0807636C @ =gUnknown_03004280 - ldrh r0, [r2] - strh r0, [r1] - ldr r3, [sp, 0x24] - ldr r0, _08076374 @ =gPlttBufferUnfaded + 0x200 - adds r4, r3, r0 - adds r0, r4, 0 - movs r1, 0x90 - movs r2, 0x20 - bl LoadPalette - ldr r0, _08076378 @ =0x05000120 - str r4, [r5] - str r0, [r5, 0x4] - ldr r0, _0807637C @ =0x84000008 - str r0, [r5, 0x8] - ldr r0, [r5, 0x8] - mov r0, r9 - bl battle_get_per_side_status - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - movs r0, 0xC0 - lsls r0, 7 - str r0, [sp] - movs r0, 0x1E - str r0, [sp, 0x4] - ldr r0, [r6] - lsls r0, 28 - lsrs r0, 30 - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0 - movs r3, 0x9 - bl sub_80E4EF8 -_08076338: - add sp, 0x28 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08076348: .4byte 0x06006000 -_0807634C: .4byte gSprites -_08076350: .4byte 0x040000d4 -_08076354: .4byte 0x85000400 -_08076358: .4byte 0x0600f000 -_0807635C: .4byte 0x85000200 -_08076360: .4byte REG_BG2CNT -_08076364: .4byte gUnknown_02024BE0 -_08076368: .4byte gUnknown_03004288 -_0807636C: .4byte gUnknown_03004280 -_08076370: .4byte REG_BG2HOFS -_08076374: .4byte gPlttBufferUnfaded + 0x200 -_08076378: .4byte 0x05000120 -_0807637C: .4byte 0x84000008 - thumb_func_end sub_8076034 - - thumb_func_start sub_8076380 -sub_8076380: @ 8076380 - push {r4-r7,lr} - sub sp, 0xC - ldr r0, _080763F8 @ =0x02019348 - ldrh r0, [r0] - bl sub_80AEB1C - lsls r0, 24 - cmp r0, 0 - beq _080763EE - mov r0, sp - bl sub_8078914 - ldr r6, [sp, 0x4] - movs r5, 0 - movs r0, 0x7 - mov r12, r0 - movs r7, 0 -_080763A2: - movs r4, 0 - adds r3, r7, r6 - mov r1, r12 - lsls r0, r1, 1 - adds r2, r0, r6 -_080763AC: - ldrh r1, [r3] - ldrh r0, [r2] - strh r0, [r3] - strh r1, [r2] - adds r3, 0x2 - subs r2, 0x2 - adds r4, 0x1 - cmp r4, 0x3 - ble _080763AC - movs r0, 0x20 - add r12, r0 - adds r7, 0x40 - adds r5, 0x1 - cmp r5, 0x7 - ble _080763A2 - movs r5, 0 - movs r1, 0x80 - lsls r1, 3 - adds r3, r1, 0 -_080763D2: - adds r2, r5, 0x1 - lsls r0, r5, 6 - adds r1, r0, r6 - movs r4, 0x7 -_080763DA: - ldrh r0, [r1] - eors r0, r3 - strh r0, [r1] - adds r1, 0x2 - subs r4, 0x1 - cmp r4, 0 - bge _080763DA - adds r5, r2, 0 - cmp r5, 0x7 - ble _080763D2 -_080763EE: - add sp, 0xC - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080763F8: .4byte 0x02019348 - thumb_func_end sub_8076380 - - thumb_func_start sub_80763FC -sub_80763FC: @ 80763FC - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - mov r12, r1 - adds r7, r2, 0 - lsls r0, 16 - lsrs r6, r0, 16 - lsls r3, 24 - movs r0, 0x40 - mov r9, r0 - cmp r3, 0 - bne _0807641A - movs r1, 0x20 - mov r9, r1 -_0807641A: - lsls r0, r6, 28 - lsrs r6, r0, 16 - movs r0, 0 - cmp r0, r9 - bcs _08076452 - ldr r1, _08076460 @ =0x00000fff - mov r8, r1 -_08076428: - movs r3, 0 - adds r5, r0, 0x1 - lsls r4, r0, 5 -_0807642E: - adds r1, r4, r3 - lsls r1, 1 - add r1, r12 - ldrh r2, [r1] - mov r0, r8 - ands r0, r2 - orrs r0, r6 - adds r0, r7 - strh r0, [r1] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x1F - bls _0807642E - lsls r0, r5, 24 - lsrs r0, 24 - cmp r0, r9 - bcc _08076428 -_08076452: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08076460: .4byte 0x00000fff - thumb_func_end sub_80763FC - - thumb_func_start sub_8076464 -sub_8076464: @ 8076464 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - add r5, sp, 0x4 - adds r0, r5, 0 - bl sub_8078914 - cmp r4, 0 - beq _0807648C - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - beq _080764F0 -_0807648C: - ldr r2, [sp, 0x4] - movs r3, 0x80 - lsls r3, 6 - add r5, sp, 0x10 - ldr r0, _080764E0 @ =gUnknown_030042C0 - mov r9, r0 - ldr r0, _080764E4 @ =gUnknown_030041B4 - mov r10, r0 - movs r6, 0 - ldr r1, _080764E8 @ =0x040000d4 - movs r4, 0x80 - lsls r4, 5 - mov r12, r5 - ldr r7, _080764EC @ =0x85000400 - movs r0, 0x85 - lsls r0, 24 - mov r8, r0 -_080764AE: - str r6, [sp, 0x10] - mov r0, r12 - str r0, [r1] - str r2, [r1, 0x4] - str r7, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r2, r4 - subs r3, r4 - cmp r3, r4 - bhi _080764AE - str r6, [sp, 0x10] - str r5, [r1] - str r2, [r1, 0x4] - lsrs r0, r3, 2 - mov r2, r8 - orrs r0, r2 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - mov r0, sp - movs r1, 0 - strb r1, [r0] - strb r1, [r0] - ldr r1, [sp, 0x8] - b _08076540 - .align 2, 0 -_080764E0: .4byte gUnknown_030042C0 -_080764E4: .4byte gUnknown_030041B4 -_080764E8: .4byte 0x040000d4 -_080764EC: .4byte 0x85000400 -_080764F0: - ldr r2, _08076568 @ =0x06006000 - movs r3, 0x80 - lsls r3, 6 - add r5, sp, 0x10 - ldr r0, _0807656C @ =gUnknown_03004288 - mov r9, r0 - ldr r0, _08076570 @ =gUnknown_03004280 - mov r10, r0 - movs r6, 0 - ldr r1, _08076574 @ =0x040000d4 - movs r4, 0x80 - lsls r4, 5 - mov r12, r5 - ldr r7, _08076578 @ =0x85000400 - movs r0, 0x85 - lsls r0, 24 - mov r8, r0 -_08076512: - str r6, [sp, 0x10] - mov r0, r12 - str r0, [r1] - str r2, [r1, 0x4] - str r7, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r2, r4 - subs r3, r4 - cmp r3, r4 - bhi _08076512 - str r6, [sp, 0x10] - str r5, [r1] - str r2, [r1, 0x4] - lsrs r0, r3, 2 - mov r2, r8 - orrs r0, r2 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - mov r0, sp - movs r1, 0 - strb r1, [r0] - strb r1, [r0] - ldr r1, _0807657C @ =0x0600f000 -_08076540: - movs r2, 0 - str r2, [sp, 0x10] - ldr r0, _08076574 @ =0x040000d4 - str r5, [r0] - str r1, [r0, 0x4] - ldr r1, _08076580 @ =0x85000200 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - mov r0, r9 - strh r2, [r0] - mov r0, r10 - strh r2, [r0] - 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 -_08076568: .4byte 0x06006000 -_0807656C: .4byte gUnknown_03004288 -_08076570: .4byte gUnknown_03004280 -_08076574: .4byte 0x040000d4 -_08076578: .4byte 0x85000400 -_0807657C: .4byte 0x0600f000 -_08076580: .4byte 0x85000200 - thumb_func_end sub_8076464 - - thumb_func_start task_pA_ma0A_obj_to_bg_pal -task_pA_ma0A_obj_to_bg_pal: @ 8076584 - push {r4-r6,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080765FC @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r5, r1, r2 - ldrb r4, [r5, 0x8] - ldrb r6, [r5, 0x14] - mov r0, sp - bl sub_8078914 - ldr r0, _08076600 @ =gSprites - lsls r1, r4, 4 - adds r1, r4 - lsls r1, 2 - adds r1, r0 - ldrh r2, [r1, 0x24] - ldrh r0, [r1, 0x20] - adds r2, r0 - ldrh r0, [r5, 0xA] - subs r0, r2 - lsls r0, 16 - lsrs r3, r0, 16 - ldrh r2, [r1, 0x26] - ldrh r1, [r1, 0x22] - adds r2, r1 - ldrh r0, [r5, 0xC] - subs r0, r2 - lsls r0, 16 - lsrs r2, r0, 16 - movs r1, 0x12 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _08076614 - ldr r1, _08076604 @ =gUnknown_030042C0 - lsls r0, r3, 16 - asrs r0, 16 - ldrh r3, [r5, 0xE] - adds r0, r3 - strh r0, [r1] - ldr r1, _08076608 @ =gUnknown_030041B4 - lsls r0, r2, 16 - asrs r0, 16 - ldrh r5, [r5, 0x10] - adds r0, r5 - strh r0, [r1] - lsls r2, r6, 5 - ldr r1, _0807660C @ =gPlttBufferFaded + 0x200 - adds r2, r1 - mov r0, sp - ldrb r0, [r0, 0x8] - lsls r0, 5 - ldr r3, _08076610 @ =0xfffffe00 - adds r1, r3 - adds r0, r1 - b _08076634 - .align 2, 0 -_080765FC: .4byte gTasks -_08076600: .4byte gSprites -_08076604: .4byte gUnknown_030042C0 -_08076608: .4byte gUnknown_030041B4 -_0807660C: .4byte gPlttBufferFaded + 0x200 -_08076610: .4byte 0xfffffe00 -_08076614: - ldr r1, _08076648 @ =gUnknown_03004288 - lsls r0, r3, 16 - asrs r0, 16 - ldrh r3, [r5, 0xE] - adds r0, r3 - strh r0, [r1] - ldr r1, _0807664C @ =gUnknown_03004280 - lsls r0, r2, 16 - asrs r0, 16 - ldrh r5, [r5, 0x10] - adds r0, r5 - strh r0, [r1] - lsls r2, r6, 5 - ldr r0, _08076650 @ =gPlttBufferFaded + 0x200 - adds r2, r0 - subs r0, 0xE0 -_08076634: - ldr r1, _08076654 @ =0x040000d4 - str r2, [r1] - str r0, [r1, 0x4] - ldr r0, _08076658 @ =0x84000008 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08076648: .4byte gUnknown_03004288 -_0807664C: .4byte gUnknown_03004280 -_08076650: .4byte gPlttBufferFaded + 0x200 -_08076654: .4byte 0x040000d4 -_08076658: .4byte 0x84000008 - thumb_func_end task_pA_ma0A_obj_to_bg_pal - - thumb_func_start ma0B_0807324C -ma0B_0807324C: @ 807665C - push {r4,r5,lr} - ldr r0, _08076670 @ =gUnknown_0202F7A4 - ldr r2, [r0] - adds r1, r2, 0x1 - str r1, [r0] - ldrb r4, [r2, 0x1] - cmp r4, 0 - bne _08076674 - movs r4, 0x2 - b _0807667E - .align 2, 0 -_08076670: .4byte gUnknown_0202F7A4 -_08076674: - cmp r4, 0x1 - bne _0807667A - movs r4, 0x3 -_0807667A: - cmp r4, 0 - beq _08076682 -_0807667E: - cmp r4, 0x2 - bne _0807668C -_08076682: - ldr r0, _08076688 @ =gUnknown_0202F7C8 - b _0807668E - .align 2, 0 -_08076688: .4byte gUnknown_0202F7C8 -_0807668C: - ldr r0, _080766E4 @ =gUnknown_0202F7C9 -_0807668E: - ldrb r5, [r0] - ldr r3, _080766E8 @ =gUnknown_0202F7C2 - ldrb r0, [r3] - cmp r0, 0xFF - beq _080766B4 - ldr r2, _080766EC @ =gSprites - ldr r0, _080766F0 @ =gUnknown_02024BE0 - adds r0, r5, 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] -_080766B4: - cmp r4, 0x1 - bls _080766F4 - ldrb r0, [r3, 0x1] - cmp r0, 0xFF - beq _080766F4 - ldr r3, _080766EC @ =gSprites - ldr r2, _080766F0 @ =gUnknown_02024BE0 - movs r1, 0x2 - adds r0, r5, 0 - eors r0, r1 - adds r0, r2 - ldrb r1, [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] - b _080766F6 - .align 2, 0 -_080766E4: .4byte gUnknown_0202F7C9 -_080766E8: .4byte gUnknown_0202F7C2 -_080766EC: .4byte gSprites -_080766F0: .4byte gUnknown_02024BE0 -_080766F4: - movs r4, 0 -_080766F6: - ldr r0, _08076720 @ =sub_807672C - movs r1, 0x5 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08076724 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r4, [r1, 0x8] - strh r5, [r1, 0xC] - ldr r1, _08076728 @ =gUnknown_0202F7A4 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08076720: .4byte sub_807672C -_08076724: .4byte gTasks -_08076728: .4byte gUnknown_0202F7A4 - thumb_func_end ma0B_0807324C - - thumb_func_start sub_807672C -sub_807672C: @ 807672C - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _0807676C @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r1, r0, r1 - ldrh r0, [r1, 0xA] - adds r0, 0x1 - strh r0, [r1, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - beq _080767B6 - ldrb r0, [r1, 0xC] - bl battle_get_per_side_status - lsls r0, 24 - movs r1, 0xFF - lsls r1, 24 - adds r0, r1 - lsrs r0, 24 - cmp r0, 0x1 - bls _08076768 - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - beq _08076770 -_08076768: - movs r4, 0 - b _08076772 - .align 2, 0 -_0807676C: .4byte gTasks -_08076770: - movs r4, 0x1 -_08076772: - ldr r6, _080767BC @ =gUnknown_0202F7C2 - ldrb r0, [r6] - cmp r0, 0xFF - beq _0807678A - adds r0, r4, 0 - bl sub_8076464 - ldrb r0, [r6] - bl DestroyTask - movs r0, 0xFF - strb r0, [r6] -_0807678A: - ldr r0, _080767C0 @ =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - movs r2, 0x8 - ldrsh r0, [r1, r2] - cmp r0, 0x1 - ble _080767B0 - movs r0, 0x1 - eors r4, r0 - adds r0, r4, 0 - bl sub_8076464 - ldrb r0, [r6, 0x1] - bl DestroyTask - movs r0, 0xFF - strb r0, [r6, 0x1] -_080767B0: - adds r0, r5, 0 - bl DestroyTask -_080767B6: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080767BC: .4byte gUnknown_0202F7C2 -_080767C0: .4byte gTasks - thumb_func_end sub_807672C - - thumb_func_start sub_80767C4 -sub_80767C4: @ 80767C4 - push {r4,r5,lr} - ldr r0, _080767D8 @ =gUnknown_0202F7A4 - ldr r2, [r0] - adds r1, r2, 0x1 - str r1, [r0] - ldrb r5, [r2, 0x1] - cmp r5, 0 - bne _080767DC - movs r5, 0x2 - b _080767E6 - .align 2, 0 -_080767D8: .4byte gUnknown_0202F7A4 -_080767DC: - cmp r5, 0x1 - bne _080767E2 - movs r5, 0x3 -_080767E2: - cmp r5, 0 - beq _080767EA -_080767E6: - cmp r5, 0x2 - bne _080767F4 -_080767EA: - ldr r0, _080767F0 @ =gUnknown_0202F7C8 - b _080767F6 - .align 2, 0 -_080767F0: .4byte gUnknown_0202F7C8 -_080767F4: - ldr r0, _08076828 @ =gUnknown_0202F7C9 -_080767F6: - ldrb r4, [r0] - adds r0, r4, 0 - bl b_side_obj__get_some_boolean - lsls r0, 24 - cmp r0, 0 - beq _08076850 - adds r0, r4, 0 - bl battle_get_per_side_status - lsls r0, 24 - movs r1, 0xFF - lsls r1, 24 - adds r0, r1 - lsrs r0, 24 - cmp r0, 0x1 - bls _08076822 - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - beq _0807682C -_08076822: - movs r1, 0 - b _0807682E - .align 2, 0 -_08076828: .4byte gUnknown_0202F7C9 -_0807682C: - movs r1, 0x1 -_0807682E: - adds r0, r4, 0 - bl sub_8076034 - ldr r2, _08076888 @ =gSprites - ldr r0, _0807688C @ =gUnknown_02024BE0 - 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] -_08076850: - movs r0, 0x2 - eors r4, r0 - cmp r5, 0x1 - bls _080768B4 - adds r0, r4, 0 - bl b_side_obj__get_some_boolean - lsls r0, 24 - cmp r0, 0 - beq _080768B4 - adds r0, r4, 0 - bl battle_get_per_side_status - lsls r0, 24 - movs r1, 0xFF - lsls r1, 24 - adds r0, r1 - lsrs r0, 24 - cmp r0, 0x1 - bls _08076882 - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - beq _08076890 -_08076882: - movs r1, 0 - b _08076892 - .align 2, 0 -_08076888: .4byte gSprites -_0807688C: .4byte gUnknown_02024BE0 -_08076890: - movs r1, 0x1 -_08076892: - adds r0, r4, 0 - bl sub_8076034 - ldr r2, _080768C4 @ =gSprites - ldr r0, _080768C8 @ =gUnknown_02024BE0 - 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] -_080768B4: - ldr r1, _080768CC @ =gUnknown_0202F7A4 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080768C4: .4byte gSprites -_080768C8: .4byte gUnknown_02024BE0 -_080768CC: .4byte gUnknown_0202F7A4 - thumb_func_end sub_80767C4 - - thumb_func_start ma23_8073484 -ma23_8073484: @ 80768D0 - push {r4-r6,lr} - ldr r0, _080768E4 @ =gUnknown_0202F7A4 - ldr r2, [r0] - adds r1, r2, 0x1 - str r1, [r0] - ldrb r5, [r2, 0x1] - cmp r5, 0 - bne _080768E8 - movs r5, 0x2 - b _080768F2 - .align 2, 0 -_080768E4: .4byte gUnknown_0202F7A4 -_080768E8: - cmp r5, 0x1 - bne _080768EE - movs r5, 0x3 -_080768EE: - cmp r5, 0 - beq _080768F6 -_080768F2: - cmp r5, 0x2 - bne _08076900 -_080768F6: - ldr r0, _080768FC @ =gUnknown_0202F7C8 - b _08076902 - .align 2, 0 -_080768FC: .4byte gUnknown_0202F7C8 -_08076900: - ldr r0, _08076960 @ =gUnknown_0202F7C9 -_08076902: - ldrb r6, [r0] - adds r0, r6, 0 - bl b_side_obj__get_some_boolean - lsls r0, 24 - cmp r0, 0 - beq _0807692C - ldr r2, _08076964 @ =gSprites - ldr r0, _08076968 @ =gUnknown_02024BE0 - adds r0, r6, 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] -_0807692C: - cmp r5, 0x1 - bls _0807696C - movs r0, 0x2 - adds r4, r6, 0 - eors r4, r0 - adds r0, r4, 0 - bl b_side_obj__get_some_boolean - lsls r0, 24 - cmp r0, 0 - beq _0807696C - ldr r2, _08076964 @ =gSprites - ldr r0, _08076968 @ =gUnknown_02024BE0 - 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] - b _0807696E - .align 2, 0 -_08076960: .4byte gUnknown_0202F7C9 -_08076964: .4byte gSprites -_08076968: .4byte gUnknown_02024BE0 -_0807696C: - movs r5, 0 -_0807696E: - ldr r0, _08076998 @ =sub_80769A4 - movs r1, 0x5 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0807699C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r5, [r1, 0x8] - strh r6, [r1, 0xC] - ldr r1, _080769A0 @ =gUnknown_0202F7A4 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08076998: .4byte sub_80769A4 -_0807699C: .4byte gTasks -_080769A0: .4byte gUnknown_0202F7A4 - thumb_func_end ma23_8073484 - - thumb_func_start sub_80769A4 -sub_80769A4: @ 80769A4 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, _080769E8 @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r1, r0, r1 - ldrh r0, [r1, 0xA] - adds r0, 0x1 - strh r0, [r1, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - beq _08076A32 - ldrb r4, [r1, 0xC] - adds r0, r4, 0 - bl battle_get_per_side_status - lsls r0, 24 - movs r1, 0xFF - lsls r1, 24 - adds r0, r1 - lsrs r0, 24 - cmp r0, 0x1 - bls _080769E2 - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - beq _080769EC -_080769E2: - movs r5, 0 - b _080769EE - .align 2, 0 -_080769E8: .4byte gTasks -_080769EC: - movs r5, 0x1 -_080769EE: - adds r0, r4, 0 - bl b_side_obj__get_some_boolean - lsls r0, 24 - cmp r0, 0 - beq _08076A00 - adds r0, r5, 0 - bl sub_8076464 -_08076A00: - ldr r0, _08076A38 @ =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r0 - movs r2, 0x8 - ldrsh r0, [r1, r2] - cmp r0, 0x1 - ble _08076A2C - movs r0, 0x2 - eors r4, r0 - adds r0, r4, 0 - bl b_side_obj__get_some_boolean - lsls r0, 24 - cmp r0, 0 - beq _08076A2C - movs r0, 0x1 - eors r5, r0 - adds r0, r5, 0 - bl sub_8076464 -_08076A2C: - adds r0, r6, 0 - bl DestroyTask -_08076A32: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08076A38: .4byte gTasks - thumb_func_end sub_80769A4 - - thumb_func_start sub_8076A3C -sub_8076A3C: @ 8076A3C - push {r4,lr} - ldr r2, _08076A6C @ =gUnknown_0202F7A4 - ldr r0, [r2] - adds r1, r0, 0x1 - str r1, [r2] - ldrb r3, [r0, 0x1] - adds r0, r1, 0x1 - str r0, [r2] - ldrb r1, [r1, 0x1] - lsls r1, 8 - adds r0, 0x1 - str r0, [r2] - ldr r2, _08076A70 @ =REG_BLDCNT - movs r4, 0xFD - lsls r4, 6 - adds r0, r4, 0 - strh r0, [r2] - ldr r0, _08076A74 @ =REG_BLDALPHA - orrs r3, r1 - strh r3, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08076A6C: .4byte gUnknown_0202F7A4 -_08076A70: .4byte REG_BLDCNT -_08076A74: .4byte REG_BLDALPHA - thumb_func_end sub_8076A3C - - thumb_func_start sub_8076A78 -sub_8076A78: @ 8076A78 - ldr r2, _08076A98 @ =gUnknown_0202F7A4 - ldr r0, [r2] - adds r1, r0, 0x1 - str r1, [r2] - ldrb r3, [r0, 0x1] - adds r0, r1, 0x1 - str r0, [r2] - ldrb r1, [r1, 0x1] - lsls r1, 8 - adds r0, 0x1 - str r0, [r2] - ldr r0, _08076A9C @ =REG_BLDCNT - orrs r3, r1 - strh r3, [r0] - bx lr - .align 2, 0 -_08076A98: .4byte gUnknown_0202F7A4 -_08076A9C: .4byte REG_BLDCNT - thumb_func_end sub_8076A78 - - thumb_func_start sub_8076AA0 -sub_8076AA0: @ 8076AA0 - ldr r1, _08076AB4 @ =gUnknown_0202F7A4 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - ldr r0, _08076AB8 @ =REG_BLDCNT - movs r1, 0 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - bx lr - .align 2, 0 -_08076AB4: .4byte gUnknown_0202F7A4 -_08076AB8: .4byte REG_BLDCNT - thumb_func_end sub_8076AA0 - - thumb_func_start ma0E_call -ma0E_call: @ 8076ABC - push {r4,lr} - ldr r4, _08076AE8 @ =gUnknown_0202F7A4 - ldr r1, [r4] - adds r3, r1, 0x1 - str r3, [r4] - ldr r2, _08076AEC @ =gUnknown_0202F7A8 - adds r0, r1, 0x5 - str r0, [r2] - ldrb r1, [r1, 0x1] - ldrb r0, [r3, 0x1] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r3, 0x2] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r3, 0x3] - lsls r0, 24 - adds r1, r0 - str r1, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08076AE8: .4byte gUnknown_0202F7A4 -_08076AEC: .4byte gUnknown_0202F7A8 - thumb_func_end ma0E_call - - thumb_func_start sub_8076AF0 -sub_8076AF0: @ 8076AF0 - ldr r0, _08076AFC @ =gUnknown_0202F7A4 - ldr r1, _08076B00 @ =gUnknown_0202F7A8 - ldr r1, [r1] - str r1, [r0] - bx lr - .align 2, 0 -_08076AFC: .4byte gUnknown_0202F7A4 -_08076B00: .4byte gUnknown_0202F7A8 - thumb_func_end sub_8076AF0 - - thumb_func_start ma10_080736AC -ma10_080736AC: @ 8076B04 - push {r4,r5,lr} - ldr r5, _08076B30 @ =gUnknown_0202F7A4 - ldr r1, [r5] - adds r0, r1, 0x1 - str r0, [r5] - ldrb r2, [r1, 0x1] - adds r3, r0, 0x1 - str r3, [r5] - ldrb r4, [r0, 0x1] - ldrb r0, [r3, 0x1] - lsls r0, 8 - orrs r4, r0 - adds r1, 0x4 - str r1, [r5] - ldr r0, _08076B34 @ =gUnknown_03004B00 - lsls r2, 1 - adds r2, r0 - strh r4, [r2] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08076B30: .4byte gUnknown_0202F7A4 -_08076B34: .4byte gUnknown_03004B00 - thumb_func_end ma10_080736AC - - thumb_func_start ma11_if_else -ma11_if_else: @ 8076B38 - push {lr} - ldr r3, _08076B70 @ =gUnknown_0202F7A4 - ldr r2, [r3] - adds r0, r2, 0x1 - str r0, [r3] - ldr r0, _08076B74 @ =gUnknown_0202F7C4 - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08076B52 - adds r0, r2, 0x5 - str r0, [r3] -_08076B52: - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - adds r1, r0 - str r1, [r3] - pop {r0} - bx r0 - .align 2, 0 -_08076B70: .4byte gUnknown_0202F7A4 -_08076B74: .4byte gUnknown_0202F7C4 - thumb_func_end ma11_if_else - - thumb_func_start ma12_cond_if -ma12_cond_if: @ 8076B78 - push {r4,r5,lr} - ldr r5, _08076BA8 @ =gUnknown_0202F7A4 - ldr r4, [r5] - adds r2, r4, 0x1 - str r2, [r5] - ldrb r1, [r4, 0x1] - adds r3, r2, 0x1 - str r3, [r5] - ldr r0, _08076BAC @ =gUnknown_0202F7C4 - ldrb r0, [r0] - cmp r1, r0 - bne _08076BB0 - ldrb r1, [r2, 0x1] - ldrb r0, [r3, 0x1] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r3, 0x2] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r3, 0x3] - lsls r0, 24 - adds r1, r0 - str r1, [r5] - b _08076BB4 - .align 2, 0 -_08076BA8: .4byte gUnknown_0202F7A4 -_08076BAC: .4byte gUnknown_0202F7C4 -_08076BB0: - adds r0, r4, 0x6 - str r0, [r5] -_08076BB4: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end ma12_cond_if - - thumb_func_start sub_8076BBC -sub_8076BBC: @ 8076BBC - ldr r3, _08076BDC @ =gUnknown_0202F7A4 - ldr r0, [r3] - adds r2, r0, 0x1 - str r2, [r3] - ldrb r1, [r0, 0x1] - ldrb r0, [r2, 0x1] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - adds r1, r0 - str r1, [r3] - bx lr - .align 2, 0 -_08076BDC: .4byte gUnknown_0202F7A4 - thumb_func_end sub_8076BBC - - thumb_func_start sub_8076BE0 -sub_8076BE0: @ 8076BE0 - push {lr} - ldr r0, _08076BF8 @ =gMain - ldr r1, _08076BFC @ =0x0000043d - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08076C00 - movs r0, 0 - b _08076C02 - .align 2, 0 -_08076BF8: .4byte gMain -_08076BFC: .4byte 0x0000043d -_08076C00: - movs r0, 0x1 -_08076C02: - pop {r1} - bx r1 - thumb_func_end sub_8076BE0 - - thumb_func_start ma14_load_background -ma14_load_background: @ 8076C08 - push {r4,lr} - ldr r1, _08076C3C @ =gUnknown_0202F7A4 - ldr r2, [r1] - adds r0, r2, 0x1 - str r0, [r1] - ldrb r4, [r2, 0x1] - adds r0, 0x1 - str r0, [r1] - ldr r0, _08076C40 @ =task_p5_load_battle_screen_elements - movs r1, 0x5 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08076C44 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r4, [r1, 0x8] - ldr r1, _08076C48 @ =gUnknown_0202F7C5 - movs r0, 0x1 - strb r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08076C3C: .4byte gUnknown_0202F7A4 -_08076C40: .4byte task_p5_load_battle_screen_elements -_08076C44: .4byte gTasks -_08076C48: .4byte gUnknown_0202F7C5 - thumb_func_end ma14_load_background - - thumb_func_start sub_8076C4C -sub_8076C4C: @ 8076C4C - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r2, _08076C8C @ =gUnknown_0202F7A4 - ldr r1, [r2] - adds r0, r1, 0x1 - str r0, [r2] - ldrb r3, [r1, 0x1] - mov r8, r3 - ldrb r7, [r0, 0x1] - ldrb r6, [r0, 0x2] - adds r1, 0x4 - str r1, [r2] - ldr r0, _08076C90 @ =task_p5_load_battle_screen_elements - movs r1, 0x5 - bl CreateTask - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - beq _08076C98 - ldr r1, _08076C94 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - strh r6, [r0, 0x8] - b _08076CCA - .align 2, 0 -_08076C8C: .4byte gUnknown_0202F7A4 -_08076C90: .4byte task_p5_load_battle_screen_elements -_08076C94: .4byte gTasks -_08076C98: - ldr r0, _08076CB4 @ =gUnknown_0202F7C9 - ldrb r0, [r0] - bl battle_side_get_owner - lsls r0, 24 - cmp r0, 0 - bne _08076CBC - ldr r1, _08076CB8 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - strh r7, [r0, 0x8] - b _08076CCA - .align 2, 0 -_08076CB4: .4byte gUnknown_0202F7C9 -_08076CB8: .4byte gTasks -_08076CBC: - ldr r1, _08076CDC @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - mov r1, r8 - strh r1, [r0, 0x8] -_08076CCA: - ldr r1, _08076CE0 @ =gUnknown_0202F7C5 - movs r0, 0x1 - strb r0, [r1] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08076CDC: .4byte gTasks -_08076CE0: .4byte gUnknown_0202F7C5 - thumb_func_end sub_8076C4C - - thumb_func_start task_p5_load_battle_screen_elements -task_p5_load_battle_screen_elements: @ 8076CE4 - push {r4-r7,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _08076D18 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - ldrh r6, [r4, 0x1C] - movs r0, 0x1C - ldrsh r3, [r4, r0] - adds r7, r1, 0 - cmp r3, 0 - bne _08076D1C - str r3, [sp] - movs r0, 0xE8 - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginHardwarePaletteFade - ldrh r0, [r4, 0x1C] - adds r0, 0x1 - strh r0, [r4, 0x1C] - b _08076DAC - .align 2, 0 -_08076D18: .4byte gTasks -_08076D1C: - ldr r2, _08076D38 @ =gPaletteFade - ldrb r1, [r2, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08076DAC - cmp r3, 0x1 - bne _08076D40 - adds r0, r6, 0x1 - strh r0, [r4, 0x1C] - ldr r1, _08076D3C @ =gUnknown_0202F7C5 - movs r0, 0x2 - strb r0, [r1] - b _08076D84 - .align 2, 0 -_08076D38: .4byte gPaletteFade -_08076D3C: .4byte gUnknown_0202F7C5 -_08076D40: - cmp r3, 0x2 - bne _08076D84 - ldrh r0, [r4, 0x8] - lsls r2, r0, 16 - asrs r1, r2, 16 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _08076D58 - bl dp01t_11_3_message_for_player_only - b _08076D5E -_08076D58: - lsrs r0, r2, 16 - bl sub_8076DB8 -_08076D5E: - movs r0, 0x1 - str r0, [sp] - movs r0, 0xE8 - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginHardwarePaletteFade - ldr r1, _08076D80 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r0, 0x1C] - adds r1, 0x1 - strh r1, [r0, 0x1C] - b _08076DAC - .align 2, 0 -_08076D80: .4byte gTasks -_08076D84: - ldrb r1, [r2, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _08076DAC - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r7 - movs r1, 0x1C - ldrsh r0, [r0, r1] - cmp r0, 0x3 - bne _08076DAC - adds r0, r5, 0 - bl DestroyTask - ldr r0, _08076DB4 @ =gUnknown_0202F7C5 - strb r4, [r0] -_08076DAC: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08076DB4: .4byte gUnknown_0202F7C5 - thumb_func_end task_p5_load_battle_screen_elements - - thumb_func_start sub_8076DB8 -sub_8076DB8: @ 8076DB8 - push {r4-r7,lr} - lsls r0, 16 - lsrs r6, r0, 16 - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - beq _08076E70 - ldr r7, _08076E54 @ =gBattleAnimBackgroundTable - lsls r0, r6, 1 - adds r0, r6 - lsls r4, r0, 2 - adds r0, r7, 0 - adds r0, 0x8 - adds r0, r4, r0 - ldr r5, [r0] - bl sub_8076BE0 - lsls r0, 24 - ldr r1, _08076E58 @ =0x02018000 - cmp r0, 0 - beq _08076DE8 - ldr r0, _08076E5C @ =0xffffc800 - adds r1, r0 -_08076DE8: - adds r0, r5, 0 - bl sub_800D238 - bl sub_80789BC - lsls r0, 24 - lsrs r5, r0, 24 - bl sub_8076BE0 - lsls r0, 24 - ldr r1, _08076E58 @ =0x02018000 - cmp r0, 0 - beq _08076E06 - ldr r0, _08076E5C @ =0xffffc800 - adds r1, r0 -_08076E06: - movs r2, 0x80 - lsls r2, 1 - adds r0, r5, 0 - movs r3, 0 - bl sub_80763FC - bl sub_8076BE0 - lsls r0, 24 - ldr r2, _08076E58 @ =0x02018000 - cmp r0, 0 - beq _08076E22 - ldr r0, _08076E5C @ =0xffffc800 - adds r2, r0 -_08076E22: - ldr r1, _08076E60 @ =0x0600d000 - ldr r0, _08076E64 @ =0x040000d4 - str r2, [r0] - str r1, [r0, 0x4] - ldr r1, _08076E68 @ =0x84000200 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - adds r0, r4, r7 - ldr r0, [r0] - ldr r1, _08076E6C @ =0x06002000 - bl LZDecompressVram - adds r0, r7, 0x4 - adds r0, r4, r0 - ldr r4, [r0] - bl sub_80789BC - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 20 - adds r0, r4, 0 - movs r2, 0x20 - bl LoadCompressedPalette - b _08076E9E - .align 2, 0 -_08076E54: .4byte gBattleAnimBackgroundTable -_08076E58: .4byte 0x02018000 -_08076E5C: .4byte 0xffffc800 -_08076E60: .4byte 0x0600d000 -_08076E64: .4byte 0x040000d4 -_08076E68: .4byte 0x84000200 -_08076E6C: .4byte 0x06002000 -_08076E70: - ldr r5, _08076EA4 @ =gBattleAnimBackgroundTable - lsls r4, r6, 1 - adds r4, r6 - lsls r4, 2 - adds r0, r5, 0 - adds r0, 0x8 - adds r0, r4, r0 - ldr r0, [r0] - ldr r1, _08076EA8 @ =0x0600d000 - bl LZDecompressVram - adds r0, r4, r5 - ldr r0, [r0] - ldr r1, _08076EAC @ =0x06008000 - bl LZDecompressVram - adds r5, 0x4 - adds r4, r5 - ldr r0, [r4] - movs r1, 0x20 - movs r2, 0x20 - bl LoadCompressedPalette -_08076E9E: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08076EA4: .4byte gBattleAnimBackgroundTable -_08076EA8: .4byte 0x0600d000 -_08076EAC: .4byte 0x06008000 - thumb_func_end sub_8076DB8 - - thumb_func_start dp01t_11_3_message_for_player_only -dp01t_11_3_message_for_player_only: @ 8076EB0 - push {lr} - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - beq _08076EC2 - bl sub_80AB2AC - b _08076EC6 -_08076EC2: - bl sub_800D7B8 -_08076EC6: - pop {r0} - bx r0 - thumb_func_end dp01t_11_3_message_for_player_only - - thumb_func_start ma15_load_battle_screen_elements -ma15_load_battle_screen_elements: @ 8076ECC - push {lr} - ldr r1, _08076EFC @ =gUnknown_0202F7A4 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - ldr r0, _08076F00 @ =task_p5_load_battle_screen_elements - movs r1, 0x5 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08076F04 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, _08076F08 @ =0x0000ffff - strh r0, [r1, 0x8] - ldr r1, _08076F0C @ =gUnknown_0202F7C5 - movs r0, 0x1 - strb r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08076EFC: .4byte gUnknown_0202F7A4 -_08076F00: .4byte task_p5_load_battle_screen_elements -_08076F04: .4byte gTasks -_08076F08: .4byte 0x0000ffff -_08076F0C: .4byte gUnknown_0202F7C5 - thumb_func_end ma15_load_battle_screen_elements - - thumb_func_start ma16_wait_for_battle_screen_elements_s2 -ma16_wait_for_battle_screen_elements_s2: @ 8076F10 - push {lr} - ldr r0, _08076F28 @ =gUnknown_0202F7C5 - ldrb r0, [r0] - cmp r0, 0x2 - bne _08076F34 - ldr r1, _08076F2C @ =gUnknown_0202F7A4 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - ldr r1, _08076F30 @ =gUnknown_0202F7B0 - movs r0, 0 - b _08076F38 - .align 2, 0 -_08076F28: .4byte gUnknown_0202F7C5 -_08076F2C: .4byte gUnknown_0202F7A4 -_08076F30: .4byte gUnknown_0202F7B0 -_08076F34: - ldr r1, _08076F40 @ =gUnknown_0202F7B0 - movs r0, 0x1 -_08076F38: - strb r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08076F40: .4byte gUnknown_0202F7B0 - thumb_func_end ma16_wait_for_battle_screen_elements_s2 - - thumb_func_start sub_8076F44 -sub_8076F44: @ 8076F44 - push {lr} - ldr r0, _08076F5C @ =gUnknown_0202F7C5 - ldrb r2, [r0] - cmp r2, 0 - bne _08076F68 - ldr r0, _08076F60 @ =gUnknown_0202F7A4 - ldr r1, [r0] - adds r1, 0x1 - str r1, [r0] - ldr r0, _08076F64 @ =gUnknown_0202F7B0 - strb r2, [r0] - b _08076F6E - .align 2, 0 -_08076F5C: .4byte gUnknown_0202F7C5 -_08076F60: .4byte gUnknown_0202F7A4 -_08076F64: .4byte gUnknown_0202F7B0 -_08076F68: - ldr r1, _08076F74 @ =gUnknown_0202F7B0 - movs r0, 0x1 - strb r0, [r1] -_08076F6E: - pop {r0} - bx r0 - .align 2, 0 -_08076F74: .4byte gUnknown_0202F7B0 - thumb_func_end sub_8076F44 - - thumb_func_start ma18_load_background_probably -ma18_load_background_probably: @ 8076F78 - push {r4,lr} - ldr r4, _08076F94 @ =gUnknown_0202F7A4 - ldr r1, [r4] - adds r0, r1, 0x1 - str r0, [r4] - ldrb r0, [r1, 0x1] - bl sub_8076DB8 - ldr r0, [r4] - adds r0, 0x1 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08076F94: .4byte gUnknown_0202F7A4 - thumb_func_end ma18_load_background_probably - - thumb_func_start sub_8076F98 -sub_8076F98: @ 8076F98 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - bne _08076FDC - ldr r0, _08076FD4 @ =gUnknown_0202F7C8 - ldrb r2, [r0] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - ldr r1, _08076FD8 @ =0x02017810 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08076FDC - adds r0, r2, 0 - bl battle_side_get_owner - lsls r0, 24 - movs r4, 0xC0 - cmp r0, 0 - beq _0807706E - movs r4, 0x3F - b _0807706E - .align 2, 0 -_08076FD4: .4byte gUnknown_0202F7C8 -_08076FD8: .4byte 0x02017810 -_08076FDC: - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - beq _08077004 - ldr r0, _08076FFC @ =gUnknown_0202F7C8 - ldr r1, _08077000 @ =gUnknown_0202F7C9 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bne _08077068 - cmp r0, 0x2 - bne _08077068 - cmp r4, 0x3F - beq _0807707A - b _08077068 - .align 2, 0 -_08076FFC: .4byte gUnknown_0202F7C8 -_08077000: .4byte gUnknown_0202F7C9 -_08077004: - ldr r0, _0807702C @ =gUnknown_0202F7C8 - ldrb r0, [r0] - bl battle_side_get_owner - lsls r0, 24 - cmp r0, 0 - bne _08077042 - ldr r0, _08077030 @ =gUnknown_0202F7C9 - ldrb r0, [r0] - bl battle_side_get_owner - lsls r0, 24 - cmp r0, 0 - bne _0807706E - lsls r0, r4, 24 - asrs r1, r0, 24 - cmp r1, 0x3F - bne _08077034 - movs r4, 0xC0 - b _0807706E - .align 2, 0 -_0807702C: .4byte gUnknown_0202F7C8 -_08077030: .4byte gUnknown_0202F7C9 -_08077034: - movs r0, 0x40 - negs r0, r0 - cmp r1, r0 - beq _0807706E - negs r0, r1 - lsls r0, 24 - b _0807706C -_08077042: - ldr r0, _08077064 @ =gUnknown_0202F7C9 - ldrb r0, [r0] - bl battle_side_get_owner - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08077068 - lsls r0, r4, 24 - asrs r0, 24 - movs r1, 0x40 - negs r1, r1 - cmp r0, r1 - bne _0807706E - movs r4, 0x3F - b _0807706E - .align 2, 0 -_08077064: .4byte gUnknown_0202F7C9 -_08077068: - lsls r0, r4, 24 - negs r0, r0 -_0807706C: - lsrs r4, r0, 24 -_0807706E: - lsls r0, r4, 24 - asrs r0, 24 - cmp r0, 0x3F - ble _0807707A - movs r4, 0x3F - b _08077088 -_0807707A: - lsls r0, r4, 24 - asrs r0, 24 - movs r1, 0x40 - negs r1, r1 - cmp r0, r1 - bge _08077088 - movs r4, 0xC0 -_08077088: - lsls r0, r4, 24 - asrs r0, 24 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8076F98 - - thumb_func_start sub_8077094 -sub_8077094: @ 8077094 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - bne _080770D8 - ldr r0, _080770D0 @ =gUnknown_0202F7C8 - ldrb r2, [r0] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - ldr r1, _080770D4 @ =0x02017810 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080770D8 - adds r0, r2, 0 - bl battle_side_get_owner - lsls r0, 24 - movs r4, 0xC0 - cmp r0, 0 - beq _080770F6 - movs r4, 0x3F - b _080770F6 - .align 2, 0 -_080770D0: .4byte gUnknown_0202F7C8 -_080770D4: .4byte 0x02017810 -_080770D8: - ldr r0, _08077100 @ =gUnknown_0202F7C8 - ldrb r0, [r0] - bl battle_side_get_owner - lsls r0, 24 - cmp r0, 0 - bne _080770F0 - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - beq _080770F6 -_080770F0: - lsls r0, r4, 24 - negs r0, r0 - lsrs r4, r0, 24 -_080770F6: - lsls r0, r4, 24 - asrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08077100: .4byte gUnknown_0202F7C8 - thumb_func_end sub_8077094 - - thumb_func_start sub_8077104 -sub_8077104: @ 8077104 - push {lr} - lsls r0, 16 - lsrs r1, r0, 16 - asrs r2, r0, 16 - cmp r2, 0x3F - ble _08077114 - movs r1, 0x3F - b _0807711E -_08077114: - movs r0, 0x40 - negs r0, r0 - cmp r2, r0 - bge _0807711E - ldr r1, _08077128 @ =0x0000ffc0 -_0807711E: - lsls r0, r1, 16 - asrs r0, 16 - pop {r1} - bx r1 - .align 2, 0 -_08077128: .4byte 0x0000ffc0 - thumb_func_end sub_8077104 - - thumb_func_start sub_807712C -sub_807712C: @ 807712C - push {lr} - lsls r2, 16 - lsrs r2, 16 - adds r3, r2, 0 - lsls r0, 16 - asrs r0, 16 - lsls r1, 16 - asrs r1, 16 - cmp r0, r1 - bge _0807714A - lsls r0, r2, 16 - asrs r0, 16 - cmp r0, 0 - bge _0807715A - b _08077158 -_0807714A: - cmp r0, r1 - ble _08077160 - lsls r0, r3, 16 - asrs r0, 16 - cmp r0, 0 - bge _08077158 - negs r0, r0 -_08077158: - negs r0, r0 -_0807715A: - lsls r0, 16 - lsrs r0, 16 - b _08077162 -_08077160: - movs r0, 0 -_08077162: - lsls r0, 16 - asrs r0, 16 - pop {r1} - bx r1 - thumb_func_end sub_807712C - - thumb_func_start ma19_08073BC8 -ma19_08073BC8: @ 807716C - push {r4,r5,lr} - ldr r5, _080771A0 @ =gUnknown_0202F7A4 - ldr r0, [r5] - adds r1, r0, 0x1 - str r1, [r5] - ldrb r4, [r0, 0x1] - ldrb r0, [r1, 0x1] - lsls r0, 8 - orrs r4, r0 - movs r0, 0x2 - ldrsb r0, [r1, r0] - bl sub_8076F98 - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 24 - adds r0, r4, 0 - bl PlaySE12WithPanning - ldr r0, [r5] - adds r0, 0x3 - str r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080771A0: .4byte gUnknown_0202F7A4 - thumb_func_end ma19_08073BC8 - - thumb_func_start ma1A_8073C00 -ma1A_8073C00: @ 80771A4 - push {r4,lr} - ldr r4, _080771CC @ =gUnknown_0202F7A4 - ldr r1, [r4] - adds r0, r1, 0x1 - str r0, [r4] - movs r0, 0x1 - ldrsb r0, [r1, r0] - bl sub_8076F98 - lsls r0, 24 - asrs r0, 24 - bl SE12PanpotControl - ldr r0, [r4] - adds r0, 0x1 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080771CC: .4byte gUnknown_0202F7A4 - thumb_func_end ma1A_8073C00 - - thumb_func_start ma1B_8073C2C -ma1B_8073C2C: @ 80771D0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r0, _08077280 @ =gUnknown_0202F7A4 - mov r10, r0 - ldr r0, [r0] - adds r1, r0, 0x1 - mov r2, r10 - str r1, [r2] - ldrb r0, [r0, 0x1] - mov r9, r0 - ldrb r0, [r1, 0x1] - lsls r0, 8 - mov r2, r9 - orrs r2, r0 - mov r9, r2 - ldrb r4, [r1, 0x3] - ldrb r6, [r1, 0x4] - ldrb r7, [r1, 0x5] - movs r0, 0x2 - ldrsb r0, [r1, r0] - bl sub_8076F98 - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r4, 24 - asrs r4, 24 - adds r0, r4, 0 - bl sub_8076F98 - mov r8, r0 - lsls r5, 24 - asrs r5, 24 - mov r0, r8 - lsls r0, 24 - asrs r0, 24 - mov r8, r0 - lsls r6, 24 - asrs r6, 24 - adds r0, r5, 0 - mov r1, r8 - adds r2, r6, 0 - bl sub_807712C - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _08077284 @ =c3_08073CEC - movs r1, 0x1 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08077288 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r5, [r1, 0x8] - mov r2, r8 - strh r2, [r1, 0xA] - lsls r4, 24 - asrs r4, 24 - strh r4, [r1, 0xC] - strh r7, [r1, 0xE] - strh r5, [r1, 0x10] - mov r0, r9 - adds r1, r5, 0 - bl PlaySE12WithPanning - ldr r1, _0807728C @ =gUnknown_0202F7B3 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - mov r1, r10 - ldr r0, [r1] - adds r0, 0x6 - str r0, [r1] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08077280: .4byte gUnknown_0202F7A4 -_08077284: .4byte c3_08073CEC -_08077288: .4byte gTasks -_0807728C: .4byte gUnknown_0202F7B3 - thumb_func_end ma1B_8073C2C - - thumb_func_start c3_08073CEC -c3_08073CEC: @ 8077290 - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r7, 0 - ldr r1, _080772D4 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r2, r0, r1 - ldrh r0, [r2, 0x18] - adds r1, r0, 0x1 - strh r1, [r2, 0x18] - lsls r0, 16 - asrs r0, 16 - movs r3, 0xE - ldrsh r1, [r2, r3] - cmp r0, r1 - blt _08077314 - strh r7, [r2, 0x18] - ldrh r6, [r2, 0x8] - ldrh r3, [r2, 0xA] - movs r4, 0x10 - ldrsh r0, [r2, r4] - movs r4, 0xC - ldrsh r1, [r2, r4] - adds r0, r1 - lsls r0, 16 - lsrs r4, r0, 16 - strh r4, [r2, 0x10] - cmp r1, 0 - bne _080772D8 - lsls r2, r3, 16 - b _080772FC - .align 2, 0 -_080772D4: .4byte gTasks -_080772D8: - lsls r1, r6, 16 - lsls r0, r3, 16 - asrs r3, r0, 16 - adds r2, r0, 0 - cmp r1, r2 - bge _080772EE - lsls r0, r4, 16 - asrs r0, 16 - cmp r0, r3 - blt _080772F8 - b _080772FC -_080772EE: - lsls r0, r4, 16 - asrs r0, 16 - cmp r0, r3 - bgt _080772F8 - movs r7, 0x1 -_080772F8: - cmp r7, 0 - beq _0807730C -_080772FC: - lsrs r4, r2, 16 - adds r0, r5, 0 - bl DestroyTask - ldr r1, _0807731C @ =gUnknown_0202F7B3 - ldrb r0, [r1] - subs r0, 0x1 - strb r0, [r1] -_0807730C: - lsls r0, r4, 24 - asrs r0, 24 - bl SE12PanpotControl -_08077314: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0807731C: .4byte gUnknown_0202F7B3 - thumb_func_end c3_08073CEC - - thumb_func_start sub_8077320 -sub_8077320: @ 8077320 - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - ldr r0, _080773A4 @ =gUnknown_0202F7A4 - mov r9, r0 - ldr r0, [r0] - adds r1, r0, 0x1 - mov r2, r9 - str r1, [r2] - ldrb r0, [r0, 0x1] - mov r8, r0 - ldrb r0, [r1, 0x1] - lsls r0, 8 - mov r2, r8 - orrs r2, r0 - mov r8, r2 - ldrb r4, [r1, 0x2] - ldrb r5, [r1, 0x3] - ldrb r6, [r1, 0x4] - ldrb r1, [r1, 0x5] - mov r10, r1 - ldr r0, _080773A8 @ =c3_08073CEC - movs r1, 0x1 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080773AC @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - lsls r4, 24 - asrs r4, 24 - strh r4, [r1, 0x8] - lsls r5, 24 - asrs r5, 24 - strh r5, [r1, 0xA] - lsls r6, 24 - asrs r6, 24 - strh r6, [r1, 0xC] - mov r0, r10 - strh r0, [r1, 0xE] - strh r4, [r1, 0x10] - mov r0, r8 - adds r1, r4, 0 - bl PlaySE12WithPanning - ldr r1, _080773B0 @ =gUnknown_0202F7B3 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - mov r1, r9 - ldr r0, [r1] - adds r0, 0x6 - str r0, [r1] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080773A4: .4byte gUnknown_0202F7A4 -_080773A8: .4byte c3_08073CEC -_080773AC: .4byte gTasks -_080773B0: .4byte gUnknown_0202F7B3 - thumb_func_end sub_8077320 - - thumb_func_start sub_80773B4 -sub_80773B4: @ 80773B4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r0, _08077464 @ =gUnknown_0202F7A4 - mov r10, r0 - ldr r0, [r0] - adds r1, r0, 0x1 - mov r2, r10 - str r1, [r2] - ldrb r0, [r0, 0x1] - mov r9, r0 - ldrb r0, [r1, 0x1] - lsls r0, 8 - mov r2, r9 - orrs r2, r0 - mov r9, r2 - ldrb r4, [r1, 0x3] - ldrb r0, [r1, 0x4] - mov r8, r0 - ldrb r7, [r1, 0x5] - movs r0, 0x2 - ldrsb r0, [r1, r0] - bl sub_8077094 - adds r6, r0, 0 - lsls r6, 24 - lsrs r6, 24 - lsls r4, 24 - asrs r4, 24 - adds r0, r4, 0 - bl sub_8077094 - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - mov r1, r8 - lsls r1, 24 - asrs r1, 24 - mov r8, r1 - mov r0, r8 - bl sub_8077094 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _08077468 @ =c3_08073CEC - movs r1, 0x1 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0807746C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - lsls r6, 24 - asrs r6, 24 - strh r6, [r1, 0x8] - lsls r5, 24 - asrs r5, 24 - strh r5, [r1, 0xA] - lsls r4, 24 - asrs r4, 24 - strh r4, [r1, 0xC] - strh r7, [r1, 0xE] - strh r6, [r1, 0x10] - mov r0, r9 - adds r1, r6, 0 - bl PlaySE12WithPanning - ldr r1, _08077470 @ =gUnknown_0202F7B3 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - mov r2, r10 - ldr r0, [r2] - adds r0, 0x6 - str r0, [r2] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08077464: .4byte gUnknown_0202F7A4 -_08077468: .4byte c3_08073CEC -_0807746C: .4byte gTasks -_08077470: .4byte gUnknown_0202F7B3 - thumb_func_end sub_80773B4 - - thumb_func_start ma1C_8073ED0 -ma1C_8073ED0: @ 8077474 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - ldr r6, _080774EC @ =gUnknown_0202F7A4 - ldr r0, [r6] - adds r1, r0, 0x1 - str r1, [r6] - ldrb r5, [r0, 0x1] - ldrb r0, [r1, 0x1] - lsls r0, 8 - orrs r5, r0 - ldrb r0, [r1, 0x3] - mov r8, r0 - ldrb r2, [r1, 0x4] - mov r9, r2 - movs r0, 0x2 - ldrsb r0, [r1, r0] - bl sub_8076F98 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _080774F0 @ =sub_80774FC - movs r1, 0x1 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080774F4 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r5, [r1, 0x8] - lsls r4, 24 - asrs r4, 24 - strh r4, [r1, 0xA] - mov r2, r8 - strh r2, [r1, 0xC] - mov r2, r9 - strh r2, [r1, 0xE] - mov r2, r8 - strh r2, [r1, 0x18] - ldr r1, [r1] - bl _call_via_r1 - ldr r1, _080774F8 @ =gUnknown_0202F7B3 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r0, [r6] - adds r0, 0x5 - str r0, [r6] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080774EC: .4byte gUnknown_0202F7A4 -_080774F0: .4byte sub_80774FC -_080774F4: .4byte gTasks -_080774F8: .4byte gUnknown_0202F7B3 - thumb_func_end ma1C_8073ED0 - - thumb_func_start sub_80774FC -sub_80774FC: @ 80774FC - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _08077550 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r2, r0, r1 - ldrh r0, [r2, 0x18] - adds r1, r0, 0x1 - strh r1, [r2, 0x18] - lsls r0, 16 - asrs r0, 16 - movs r3, 0xC - ldrsh r1, [r2, r3] - cmp r0, r1 - blt _0807754A - movs r0, 0 - strh r0, [r2, 0x18] - ldrh r0, [r2, 0x8] - ldrb r1, [r2, 0xA] - ldrh r4, [r2, 0xE] - subs r4, 0x1 - strh r4, [r2, 0xE] - lsls r4, 24 - lsrs r4, 24 - lsls r1, 24 - asrs r1, 24 - bl PlaySE12WithPanning - cmp r4, 0 - bne _0807754A - adds r0, r5, 0 - bl DestroyTask - ldr r1, _08077554 @ =gUnknown_0202F7B3 - ldrb r0, [r1] - subs r0, 0x1 - strb r0, [r1] -_0807754A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08077550: .4byte gTasks -_08077554: .4byte gUnknown_0202F7B3 - thumb_func_end sub_80774FC - - thumb_func_start ma1D_08073FB4 -ma1D_08073FB4: @ 8077558 - push {r4-r6,lr} - mov r6, r8 - push {r6} - ldr r6, _080775BC @ =gUnknown_0202F7A4 - ldr r0, [r6] - adds r1, r0, 0x1 - str r1, [r6] - ldrb r5, [r0, 0x1] - ldrb r0, [r1, 0x1] - lsls r0, 8 - orrs r5, r0 - ldrb r0, [r1, 0x3] - mov r8, r0 - movs r0, 0x2 - ldrsb r0, [r1, r0] - bl sub_8076F98 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _080775C0 @ =sub_80775CC - movs r1, 0x1 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080775C4 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r5, [r1, 0x8] - lsls r4, 24 - asrs r4, 24 - strh r4, [r1, 0xA] - mov r0, r8 - strh r0, [r1, 0xC] - ldr r1, _080775C8 @ =gUnknown_0202F7B3 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r0, [r6] - adds r0, 0x4 - str r0, [r6] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080775BC: .4byte gUnknown_0202F7A4 -_080775C0: .4byte sub_80775CC -_080775C4: .4byte gTasks -_080775C8: .4byte gUnknown_0202F7B3 - thumb_func_end ma1D_08073FB4 - - thumb_func_start sub_80775CC -sub_80775CC: @ 80775CC - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _08077608 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r2, r0, r1 - ldrh r0, [r2, 0xC] - subs r1, r0, 0x1 - strh r1, [r2, 0xC] - lsls r0, 16 - cmp r0, 0 - bgt _08077600 - ldrh r0, [r2, 0x8] - movs r1, 0xA - ldrsb r1, [r2, r1] - bl PlaySE12WithPanning - adds r0, r4, 0 - bl DestroyTask - ldr r1, _0807760C @ =gUnknown_0202F7B3 - ldrb r0, [r1] - subs r0, 0x1 - strb r0, [r1] -_08077600: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08077608: .4byte gTasks -_0807760C: .4byte gUnknown_0202F7B3 - thumb_func_end sub_80775CC - - thumb_func_start sub_8077610 -sub_8077610: @ 8077610 - push {r4-r6,lr} - ldr r4, _08077678 @ =gUnknown_0202F7A4 - ldr r1, [r4] - adds r3, r1, 0x1 - str r3, [r4] - ldrb r2, [r1, 0x1] - ldrb r0, [r3, 0x1] - lsls r0, 8 - adds r2, r0 - ldrb r0, [r3, 0x2] - lsls r0, 16 - adds r2, r0 - ldrb r0, [r3, 0x3] - lsls r0, 24 - adds r6, r2, r0 - adds r0, r1, 0x5 - str r0, [r4] - ldrb r0, [r1, 0x5] - adds r1, 0x6 - str r1, [r4] - cmp r0, 0 - beq _0807765A - adds r5, r4, 0 - ldr r4, _0807767C @ =gUnknown_03004B00 - adds r3, r0, 0 -_08077642: - ldr r2, [r5] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - strh r1, [r4] - adds r2, 0x2 - str r2, [r5] - adds r4, 0x2 - subs r3, 0x1 - cmp r3, 0 - bne _08077642 -_0807765A: - adds r0, r6, 0 - movs r1, 0x1 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - bl _call_via_r6 - ldr r1, _08077680 @ =gUnknown_0202F7B3 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08077678: .4byte gUnknown_0202F7A4 -_0807767C: .4byte gUnknown_03004B00 -_08077680: .4byte gUnknown_0202F7B3 - thumb_func_end sub_8077610 - - thumb_func_start ma20_wait_for_something -ma20_wait_for_something: @ 8077684 - push {r4,r5,lr} - ldr r0, _080776BC @ =gUnknown_0202F7B3 - ldrb r5, [r0] - cmp r5, 0 - bne _080776CC - bl IsSEPlaying - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _080776E4 - ldr r4, _080776C0 @ =gUnknown_03004AF0 - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x5A - bls _080776D2 - ldr r0, _080776C4 @ =gMPlay_SE1 - bl m4aMPlayStop - ldr r0, _080776C8 @ =gMPlay_SE2 - bl m4aMPlayStop - strh r5, [r4] - b _080776F6 - .align 2, 0 -_080776BC: .4byte gUnknown_0202F7B3 -_080776C0: .4byte gUnknown_03004AF0 -_080776C4: .4byte gMPlay_SE1 -_080776C8: .4byte gMPlay_SE2 -_080776CC: - ldr r1, _080776DC @ =gUnknown_03004AF0 - movs r0, 0 - strh r0, [r1] -_080776D2: - ldr r1, _080776E0 @ =gUnknown_0202F7B0 - movs r0, 0x1 - strb r0, [r1] - b _080776F6 - .align 2, 0 -_080776DC: .4byte gUnknown_03004AF0 -_080776E0: .4byte gUnknown_0202F7B0 -_080776E4: - ldr r0, _080776FC @ =gUnknown_03004AF0 - movs r2, 0 - strh r1, [r0] - ldr r1, _08077700 @ =gUnknown_0202F7A4 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - ldr r0, _08077704 @ =gUnknown_0202F7B0 - strb r2, [r0] -_080776F6: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080776FC: .4byte gUnknown_03004AF0 -_08077700: .4byte gUnknown_0202F7A4 -_08077704: .4byte gUnknown_0202F7B0 - thumb_func_end ma20_wait_for_something - - thumb_func_start ma21_08074164 -ma21_08074164: @ 8077708 - push {r4-r6,lr} - ldr r5, _08077748 @ =gUnknown_0202F7A4 - ldr r4, [r5] - adds r3, r4, 0x1 - str r3, [r5] - ldrb r2, [r4, 0x1] - ldrb r1, [r3, 0x1] - ldrb r0, [r3, 0x2] - lsls r0, 8 - orrs r1, r0 - ldr r0, _0807774C @ =gUnknown_03004B00 - lsls r2, 1 - adds r2, r0 - lsls r1, 16 - asrs r1, 16 - movs r6, 0 - ldrsh r0, [r2, r6] - cmp r1, r0 - bne _08077750 - ldrb r1, [r3, 0x3] - ldrb r0, [r3, 0x4] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r3, 0x5] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r3, 0x6] - lsls r0, 24 - adds r1, r0 - str r1, [r5] - b _08077756 - .align 2, 0 -_08077748: .4byte gUnknown_0202F7A4 -_0807774C: .4byte gUnknown_03004B00 -_08077750: - adds r0, r4, 0 - adds r0, 0x8 - str r0, [r5] -_08077756: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end ma21_08074164 - - thumb_func_start sub_807775C -sub_807775C: @ 807775C - push {r4,lr} - ldr r4, _0807778C @ =gUnknown_0202F7A4 - ldr r0, [r4] - adds r0, 0x1 - str r0, [r4] - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - beq _08077790 - ldr r2, [r4] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - adds r1, r0 - str r1, [r4] - b _08077796 - .align 2, 0 -_0807778C: .4byte gUnknown_0202F7A4 -_08077790: - ldr r0, [r4] - adds r0, 0x4 - str r0, [r4] -_08077796: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_807775C - - thumb_func_start sub_807779C -sub_807779C: @ 807779C - push {r4,lr} - ldr r0, _080777B0 @ =gUnknown_0202F7A4 - ldr r1, [r0] - ldrb r2, [r1, 0x1] - adds r1, 0x2 - str r1, [r0] - cmp r2, 0 - beq _080777B8 - ldr r0, _080777B4 @ =gUnknown_0202F7C9 - b _080777BA - .align 2, 0 -_080777B0: .4byte gUnknown_0202F7A4 -_080777B4: .4byte gUnknown_0202F7C9 -_080777B8: - ldr r0, _080777FC @ =gUnknown_0202F7C8 -_080777BA: - ldrb r0, [r0] - bl battle_get_per_side_status - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - bne _080777F4 - cmp r4, 0 - beq _080777D6 - cmp r4, 0x3 - bne _080777F4 -_080777D6: - ldr r3, _08077800 @ =REG_BG1CNT - ldrb r2, [r3] - movs r1, 0x4 - negs r1, r1 - adds r0, r1, 0 - ands r0, r2 - movs r2, 0x1 - orrs r0, r2 - strb r0, [r3] - ldr r2, _08077804 @ =REG_BG2CNT - ldrb r0, [r2] - ands r1, r0 - movs r0, 0x2 - orrs r1, r0 - strb r1, [r2] -_080777F4: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080777FC: .4byte gUnknown_0202F7C8 -_08077800: .4byte REG_BG1CNT -_08077804: .4byte REG_BG2CNT - thumb_func_end sub_807779C - - thumb_func_start sub_8077808 -sub_8077808: @ 8077808 - push {lr} - ldr r0, _08077840 @ =gUnknown_0202F7A4 - ldr r1, [r0] - adds r1, 0x1 - str r1, [r0] - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - bne _0807783A - ldr r3, _08077844 @ =REG_BG1CNT - ldrb r2, [r3] - movs r1, 0x4 - negs r1, r1 - adds r0, r1, 0 - ands r0, r2 - movs r2, 0x1 - orrs r0, r2 - strb r0, [r3] - ldr r2, _08077848 @ =REG_BG2CNT - ldrb r0, [r2] - ands r1, r0 - movs r0, 0x2 - orrs r1, r0 - strb r1, [r2] -_0807783A: - pop {r0} - bx r0 - .align 2, 0 -_08077840: .4byte gUnknown_0202F7A4 -_08077844: .4byte REG_BG1CNT -_08077848: .4byte REG_BG2CNT - thumb_func_end sub_8077808 - - thumb_func_start sub_807784C -sub_807784C: @ 807784C - push {r4-r7,lr} - ldr r1, _0807787C @ =gUnknown_0202F7A4 - ldr r0, [r1] - ldrb r6, [r0, 0x1] - adds r0, 0x2 - str r0, [r1] - ldr r7, _08077880 @ =gUnknown_0202F7C8 - ldrb r0, [r7] - bl battle_side_get_owner - adds r4, r0, 0 - ldr r5, _08077884 @ =gUnknown_0202F7C9 - ldrb r0, [r5] - bl battle_side_get_owner - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - beq _080778C2 - cmp r6, 0 - beq _08077888 - ldrb r0, [r5] - b _0807788A - .align 2, 0 -_0807787C: .4byte gUnknown_0202F7A4 -_08077880: .4byte gUnknown_0202F7C8 -_08077884: .4byte gUnknown_0202F7C9 -_08077888: - ldrb r0, [r7] -_0807788A: - bl battle_get_per_side_status - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - bne _080778C2 - cmp r4, 0 - beq _080778A4 - cmp r4, 0x3 - bne _080778C2 -_080778A4: - ldr r3, _080778C8 @ =REG_BG1CNT - ldrb r2, [r3] - movs r1, 0x4 - negs r1, r1 - adds r0, r1, 0 - ands r0, r2 - movs r2, 0x1 - orrs r0, r2 - strb r0, [r3] - ldr r2, _080778CC @ =REG_BG2CNT - ldrb r0, [r2] - ands r1, r0 - movs r0, 0x2 - orrs r1, r0 - strb r1, [r2] -_080778C2: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080778C8: .4byte REG_BG1CNT -_080778CC: .4byte REG_BG2CNT - thumb_func_end sub_807784C - - thumb_func_start ma2B_make_side_invisible -ma2B_make_side_invisible: @ 80778D0 - push {r4,lr} - ldr r4, _08077904 @ =gUnknown_0202F7A4 - ldr r0, [r4] - ldrb r0, [r0, 0x1] - bl obj_id_for_side_relative_to_move - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xFF - beq _080778F8 - ldr r1, _08077908 @ =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] -_080778F8: - ldr r0, [r4] - adds r0, 0x2 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08077904: .4byte gUnknown_0202F7A4 -_08077908: .4byte gSprites - thumb_func_end ma2B_make_side_invisible - - thumb_func_start ma2C_make_side_visible -ma2C_make_side_visible: @ 807790C - push {r4,lr} - ldr r4, _08077944 @ =gUnknown_0202F7A4 - ldr r0, [r4] - ldrb r0, [r0, 0x1] - bl obj_id_for_side_relative_to_move - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xFF - beq _08077936 - ldr r1, _08077948 @ =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] -_08077936: - ldr r0, [r4] - adds r0, 0x2 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08077944: .4byte gUnknown_0202F7A4 -_08077948: .4byte gSprites - thumb_func_end ma2C_make_side_visible - - thumb_func_start sub_807794C -sub_807794C: @ 807794C - push {r4-r7,lr} - ldr r1, _08077998 @ =gUnknown_0202F7A4 - ldr r0, [r1] - ldrb r7, [r0, 0x1] - adds r0, 0x2 - str r0, [r1] - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - bne _080779F6 - bl battle_type_is_double - lsls r0, 24 - cmp r0, 0 - beq _080779F6 - ldr r6, _0807799C @ =gUnknown_0202F7C8 - ldrb r0, [r6] - bl battle_side_get_owner - adds r4, r0, 0 - ldr r5, _080779A0 @ =gUnknown_0202F7C9 - ldrb r0, [r5] - bl battle_side_get_owner - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - bne _080779F6 - cmp r7, 0 - bne _080779A4 - ldrb r0, [r6] - bl battle_get_per_side_status_permutated - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0 - b _080779B0 - .align 2, 0 -_08077998: .4byte gUnknown_0202F7A4 -_0807799C: .4byte gUnknown_0202F7C8 -_080779A0: .4byte gUnknown_0202F7C9 -_080779A4: - ldrb r0, [r5] - bl battle_get_per_side_status_permutated - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x1 -_080779B0: - bl obj_id_for_side_relative_to_move - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xFF - beq _080779F6 - ldr r1, _080779EC @ =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r2, r0, r1 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r1, [r3] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r3] - cmp r4, 0x2 - bne _080779E0 - ldrb r0, [r2, 0x5] - movs r1, 0xC - orrs r0, r1 - strb r0, [r2, 0x5] -_080779E0: - cmp r4, 0x1 - bne _080779F0 - movs r0, 0 - bl sub_8076464 - b _080779F6 - .align 2, 0 -_080779EC: .4byte gSprites -_080779F0: - movs r0, 0x1 - bl sub_8076464 -_080779F6: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_807794C - - thumb_func_start sub_80779FC -sub_80779FC: @ 80779FC - push {r4-r7,lr} - ldr r1, _08077A48 @ =gUnknown_0202F7A4 - ldr r0, [r1] - ldrb r7, [r0, 0x1] - adds r0, 0x2 - str r0, [r1] - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - bne _08077A88 - bl battle_type_is_double - lsls r0, 24 - cmp r0, 0 - beq _08077A88 - ldr r6, _08077A4C @ =gUnknown_0202F7C8 - ldrb r0, [r6] - bl battle_side_get_owner - adds r4, r0, 0 - ldr r5, _08077A50 @ =gUnknown_0202F7C9 - ldrb r0, [r5] - bl battle_side_get_owner - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - bne _08077A88 - cmp r7, 0 - bne _08077A54 - ldrb r0, [r6] - bl battle_get_per_side_status_permutated - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0 - b _08077A60 - .align 2, 0 -_08077A48: .4byte gUnknown_0202F7A4 -_08077A4C: .4byte gUnknown_0202F7C8 -_08077A50: .4byte gUnknown_0202F7C9 -_08077A54: - ldrb r0, [r5] - bl battle_get_per_side_status_permutated - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x1 -_08077A60: - bl obj_id_for_side_relative_to_move - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xFF - beq _08077A88 - cmp r4, 0x2 - bne _08077A88 - ldr r1, _08077A90 @ =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r2, [r0, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - movs r2, 0x8 - orrs r1, r2 - strb r1, [r0, 0x5] -_08077A88: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08077A90: .4byte gSprites - thumb_func_end sub_80779FC - - thumb_func_start ma2F_stop_music -ma2F_stop_music: @ 8077A94 - push {lr} - ldr r0, _08077AB0 @ =gMPlay_SE1 - bl m4aMPlayStop - ldr r0, _08077AB4 @ =gMPlay_SE2 - bl m4aMPlayStop - ldr r1, _08077AB8 @ =gUnknown_0202F7A4 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08077AB0: .4byte gMPlay_SE1 -_08077AB4: .4byte gMPlay_SE2 -_08077AB8: .4byte gUnknown_0202F7A4 - thumb_func_end ma2F_stop_music - thumb_func_start sub_8077ABC sub_8077ABC: @ 8077ABC push {r4,r5,lr} diff --git a/ld_script.txt b/ld_script.txt index 37bb46c2a..55a779f04 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -91,7 +91,8 @@ SECTIONS { src/tileset_anim.o(.text); src/palette.o(.text); src/sound.o(.text); - asm/rom_8074BAC.o(.text); + asm/battle_anim.o(.text); + asm/rom_8077ABC.o(.text); src/task.o(.text); asm/rom5.o(.text); src/title_screen.o(.text); |