diff options
author | M <No Email> | 2018-01-06 19:00:11 +0100 |
---|---|---|
committer | M <No Email> | 2018-01-06 19:00:11 +0100 |
commit | f813e926e6438c04167a563225b9fca0939fa758 (patch) | |
tree | 830dbe92642991c383ca9c3102261ebd51cb5a42 | |
parent | 95d687493b0b78d9cbee17a009a326e6879d67c8 (diff) |
remove asm
-rw-r--r-- | asm/roulette.s | 9658 | ||||
-rw-r--r-- | asm/roulette_util.s | 781 | ||||
-rw-r--r-- | ld_script.txt | 2 |
3 files changed, 0 insertions, 10441 deletions
diff --git a/asm/roulette.s b/asm/roulette.s deleted file mode 100644 index 5050cf7a7..000000000 --- a/asm/roulette.s +++ /dev/null @@ -1,9658 +0,0 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text -/* - thumb_func_start sub_81150FC -sub_81150FC: @ 81150FC - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - ldr r0, _08115120 @ =gSharedMem + 0x19000 - adds r1, r0, 0 - adds r1, 0xB8 - ldrb r0, [r1] - cmp r0, 0 - beq _0811511C - adds r0, r1, 0 - bl task_tutorial_controls_fadein -_0811511C: - pop {r0} - bx r0 - .align 2, 0 -_08115120: .4byte gSharedMem + 0x19000 - thumb_func_end sub_81150FC - - thumb_func_start sub_8115124 -sub_8115124: @ 8115124 - push {r4,lr} - sub sp, 0x4 - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - bl sub_8117434 - ldr r2, _08115188 @ =REG_BG1HOFS - ldr r3, _0811518C @ =gSharedMem + 0x19000 - ldrh r1, [r3, 0x26] - movs r4, 0x80 - lsls r4, 2 - adds r0, r4, 0 - subs r0, r1 - strh r0, [r2] - ldrb r0, [r3, 0x1] - cmp r0, 0 - beq _08115154 - ldr r1, _08115190 @ =REG_BLDALPHA - ldrh r0, [r3, 0x34] - strh r0, [r1] -_08115154: - movs r1, 0x2A - ldrsh r0, [r3, r1] - cmp r0, 0 - beq _08115170 - ldr r1, _08115194 @ =0x040000d4 - ldr r0, _08115198 @ =gBGTilemapBuffers + 0x800 + 0x1C0 - str r0, [r1] - ldr r0, _0811519C @ =0x060021c0 - str r0, [r1, 0x4] - ldr r0, _081151A0 @ =0x800001a0 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r0, 0 - strh r0, [r3, 0x2A] -_08115170: - movs r2, 0x28 - ldrsh r0, [r3, r2] - cmp r0, 0x1 - beq _081151A4 - cmp r0, 0x1 - ble _0811521A - cmp r0, 0x2 - beq _081151D4 - cmp r0, 0xFF - beq _081151F8 - b _0811521A - .align 2, 0 -_08115188: .4byte REG_BG1HOFS -_0811518C: .4byte gSharedMem + 0x19000 -_08115190: .4byte REG_BLDALPHA -_08115194: .4byte 0x040000d4 -_08115198: .4byte gBGTilemapBuffers + 0x800 + 0x1C0 -_0811519C: .4byte 0x060021c0 -_081151A0: .4byte 0x800001a0 -_081151A4: - ldr r1, _081151C4 @ =REG_BG0CNT - movs r4, 0xF8 - lsls r4, 5 - adds r0, r4, 0 - strh r0, [r1] - adds r1, 0xCC - ldr r0, _081151C8 @ =gBGTilemapBuffers + 0x1000 + 0x1C0 - str r0, [r1] - ldr r0, _081151CC @ =0x0600f9c0 - str r0, [r1, 0x4] - ldr r0, _081151D0 @ =0x800001a0 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r0, 0x2 - b _08115218 - .align 2, 0 -_081151C4: .4byte REG_BG0CNT -_081151C8: .4byte gBGTilemapBuffers + 0x1000 + 0x1C0 -_081151CC: .4byte 0x0600f9c0 -_081151D0: .4byte 0x800001a0 -_081151D4: - ldr r1, _081151E8 @ =0x040000d4 - ldr r0, _081151EC @ =gBGTilemapBuffers + 0x1000 + 0x1C0 - str r0, [r1] - ldr r0, _081151F0 @ =0x0600f9c0 - str r0, [r1, 0x4] - ldr r0, _081151F4 @ =0x800001a0 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - b _0811521A - .align 2, 0 -_081151E8: .4byte 0x040000d4 -_081151EC: .4byte gBGTilemapBuffers + 0x1000 + 0x1C0 -_081151F0: .4byte 0x0600f9c0 -_081151F4: .4byte 0x800001a0 -_081151F8: - ldr r1, _08115224 @ =REG_BG0CNT - ldr r2, _08115228 @ =0x00001f08 - adds r0, r2, 0 - strh r0, [r1] - mov r1, sp - movs r0, 0 - strh r0, [r1] - ldr r1, _0811522C @ =0x040000d4 - mov r4, sp - str r4, [r1] - ldr r0, _08115230 @ =0x0600f9c0 - str r0, [r1, 0x4] - ldr r0, _08115234 @ =0x810001a0 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r0, 0 -_08115218: - strh r0, [r3, 0x28] -_0811521A: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08115224: .4byte REG_BG0CNT -_08115228: .4byte 0x00001f08 -_0811522C: .4byte 0x040000d4 -_08115230: .4byte 0x0600f9c0 -_08115234: .4byte 0x810001a0 - thumb_func_end sub_8115124 - - thumb_func_start sub_8115238 -sub_8115238: @ 8115238 - push {r4-r6,lr} - sub sp, 0x8 - ldr r1, _081152C0 @ =gUnknown_083F8EC4 - mov r0, sp - movs r2, 0x6 - bl memcpy - ldr r5, _081152C4 @ =gSharedMem + 0x19000 - movs r2, 0xBE - lsls r2, 1 - adds r0, r5, 0 - movs r1, 0 - bl memset - ldr r0, _081152C8 @ =gSpecialVar_0x8004 - ldrh r2, [r0] - movs r0, 0x1 - ands r0, r2 - ldrb r1, [r5, 0x4] - movs r3, 0x4 - negs r3, r3 - ands r3, r1 - orrs r3, r0 - strb r3, [r5, 0x4] - movs r0, 0x80 - ands r0, r2 - cmp r0, 0 - beq _08115276 - movs r0, 0x80 - orrs r3, r0 - strb r3, [r5, 0x4] -_08115276: - ldr r3, _081152CC @ =gUnknown_083F8DF4 - ldrb r2, [r5, 0x4] - lsls r1, r2, 30 - lsrs r0, r1, 25 - adds r0, r3 - ldrb r0, [r0, 0x3] - adds r4, r5, 0 - adds r4, 0x22 - strb r0, [r4] - lsrs r0, r1, 25 - adds r0, r3 - ldrb r0, [r0, 0x4] - adds r3, r5, 0 - adds r3, 0x23 - strb r0, [r3] - ldr r0, _081152D0 @ =gUnknown_083F8DF0 - lsrs r1, 30 - lsls r2, 24 - lsrs r2, 31 - lsls r2, 1 - adds r1, r2 - adds r1, r0 - ldrb r2, [r1] - strb r2, [r5, 0x19] - ldrb r1, [r5, 0x1A] - movs r0, 0xF - ands r0, r1 - movs r1, 0x10 - orrs r0, r1 - strb r0, [r5, 0x1A] - cmp r2, 0x1 - bne _081152DC - ldr r4, _081152D4 @ =gPlttBufferUnfaded - ldr r3, _081152D8 @ =gPlttBufferFaded - mov r0, sp - ldrh r2, [r0] - b _081152E4 - .align 2, 0 -_081152C0: .4byte gUnknown_083F8EC4 -_081152C4: .4byte gSharedMem + 0x19000 -_081152C8: .4byte gSpecialVar_0x8004 -_081152CC: .4byte gUnknown_083F8DF4 -_081152D0: .4byte gUnknown_083F8DF0 -_081152D4: .4byte gPlttBufferUnfaded -_081152D8: .4byte gPlttBufferFaded -_081152DC: - ldr r4, _08115348 @ =gPlttBufferUnfaded - ldr r3, _0811534C @ =gPlttBufferFaded - mov r0, sp - ldrh r2, [r0, 0x2] -_081152E4: - adds r0, r3, 0 - adds r0, 0xA2 - strh r2, [r0] - ldr r1, _08115350 @ =0x0000ffff - adds r0, r1, 0 - ands r0, r2 - strh r0, [r3] - ands r0, r1 - adds r2, r4, 0 - adds r2, 0xA2 - strh r0, [r2] - ands r0, r1 - strh r0, [r4] - ldr r0, _08115354 @ =gSharedMem + 0x190B8 - bl sub_8124918 - movs r4, 0 - ldr r5, _08115358 @ =gUnknown_083F8E34 -_08115308: - lsls r2, r4, 3 - adds r2, r5 - ldr r0, _08115354 @ =gSharedMem + 0x190B8 - adds r1, r4, 0 - bl sub_812492C - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xC - bls _08115308 - movs r4, 0 - ldr r5, _0811535C @ =gSharedMem + 0x19000 -_08115322: - movs r0, 0x64 - muls r0, r4 - ldr r1, _08115360 @ =gPlayerParty - adds r0, r1 - movs r1, 0x41 - bl GetMonData - adds r1, r0, 0 - movs r0, 0x98 - lsls r0, 1 - cmp r1, r0 - beq _08115364 - adds r0, 0x2 - cmp r1, r0 - bne _0811536C - ldrb r0, [r5, 0x2] - movs r1, 0x1 - b _08115368 - .align 2, 0 -_08115348: .4byte gPlttBufferUnfaded -_0811534C: .4byte gPlttBufferFaded -_08115350: .4byte 0x0000ffff -_08115354: .4byte gSharedMem + 0x190B8 -_08115358: .4byte gUnknown_083F8E34 -_0811535C: .4byte gSharedMem + 0x19000 -_08115360: .4byte gPlayerParty -_08115364: - ldrb r0, [r5, 0x2] - movs r1, 0x2 -_08115368: - orrs r0, r1 - strb r0, [r5, 0x2] -_0811536C: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x5 - bls _08115322 - bl RtcCalcLocalTime - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8115238 - - thumb_func_start sub_8115384 -sub_8115384: @ 8115384 - push {r4,lr} - sub sp, 0x4 - ldr r1, _081153A4 @ =gMain - ldr r2, _081153A8 @ =0x0000043c - adds r0, r1, r2 - ldrb r0, [r0] - adds r2, r1, 0 - cmp r0, 0x7 - bls _08115398 - b _081155FE -_08115398: - lsls r0, 2 - ldr r1, _081153AC @ =_081153B0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_081153A4: .4byte gMain -_081153A8: .4byte 0x0000043c -_081153AC: .4byte _081153B0 - .align 2, 0 -_081153B0: - .4byte _081153D0 - .4byte _08115444 - .4byte _08115460 - .4byte _08115494 - .4byte _081154CC - .4byte _081154FC - .4byte _0811556C - .4byte _0811558C -_081153D0: - movs r0, 0 - bl SetVBlankCallback - bl remove_some_task - bl sub_80F9438 - bl sub_80F9368 - ldr r1, _08115420 @ =REG_BG2CNT - ldr r3, _08115424 @ =0x00004686 - adds r0, r3, 0 - strh r0, [r1] - subs r1, 0x2 - ldr r2, _08115428 @ =0x00004401 - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x46 - movs r3, 0x90 - lsls r3, 6 - adds r0, r3, 0 - strh r0, [r1] - adds r1, 0x2 - ldr r2, _0811542C @ =0x0000060a - adds r0, r2, 0 - strh r0, [r1] - ldr r0, _08115430 @ =gUnknown_08E8096C - movs r1, 0xC0 - lsls r1, 19 - bl LZ77UnCompVram - ldr r0, _08115434 @ =gRouletteWheelTiles - ldr r1, _08115438 @ =0x06004000 - bl LZ77UnCompVram - ldr r1, _0811543C @ =gMain - ldr r3, _08115440 @ =0x0000043c - adds r1, r3 - b _0811557A - .align 2, 0 -_08115420: .4byte REG_BG2CNT -_08115424: .4byte 0x00004686 -_08115428: .4byte 0x00004401 -_0811542C: .4byte 0x0000060a -_08115430: .4byte gUnknown_08E8096C -_08115434: .4byte gRouletteWheelTiles -_08115438: .4byte 0x06004000 -_0811543C: .4byte gMain -_08115440: .4byte 0x0000043c -_08115444: - bl ResetPaletteFade - bl ResetSpriteData - bl ResetTasks - ldr r1, _08115458 @ =gMain - ldr r0, _0811545C @ =0x0000043c - adds r1, r0 - b _0811557A - .align 2, 0 -_08115458: .4byte gMain -_0811545C: .4byte 0x0000043c -_08115460: - ldr r0, _08115480 @ =gWindowConfig_81E6C3C - bl SetUpWindowConfig - ldr r0, _08115484 @ =InitMenuWindow - bl InitMenuWindow - ldr r0, _08115488 @ =gUnknown_083F86BC - movs r2, 0xE0 - lsls r2, 1 - movs r1, 0 - bl LoadPalette - ldr r1, _0811548C @ =gMain - ldr r2, _08115490 @ =0x0000043c - adds r1, r2 - b _0811557A - .align 2, 0 -_08115480: .4byte gWindowConfig_81E6C3C -_08115484: .4byte gWindowConfig_81E6CE4 -_08115488: .4byte gUnknown_083F86BC -_0811548C: .4byte gMain -_08115490: .4byte 0x0000043c -_08115494: - bl sub_8115238 - bl sub_80F9020 - ldr r0, _081154B4 @ =gUnknown_083F88BC - ldr r1, _081154B8 @ =gSharedMem + 0x18800 - bl LZ77UnCompWram - ldr r0, _081154BC @ =gUnknown_083F8A60 - ldr r1, _081154C0 @ =0x06003000 - bl LZ77UnCompVram - ldr r1, _081154C4 @ =gMain - ldr r3, _081154C8 @ =0x0000043c - adds r1, r3 - b _0811557A - .align 2, 0 -_081154B4: .4byte gUnknown_083F88BC -_081154B8: .4byte gSharedMem + 0x18800 -_081154BC: .4byte gUnknown_083F8A60 -_081154C0: .4byte 0x06003000 -_081154C4: .4byte gMain -_081154C8: .4byte 0x0000043c -_081154CC: - movs r0, 0 - bl sub_8117838 - bl sub_811857C - bl sub_81184D8 - bl sub_8117F2C - bl sub_8117900 - bl sub_8117BBC - bl sub_8117DF4 - ldr r1, _081154F4 @ =gMain - ldr r0, _081154F8 @ =0x0000043c - adds r1, r0 - b _0811557A - .align 2, 0 -_081154F4: .4byte gMain -_081154F8: .4byte 0x0000043c -_081154FC: - bl AnimateSprites - bl BuildOamBuffer - ldr r0, _08115550 @ =gSaveBlock1 - ldr r1, _08115554 @ =0x00000494 - adds r0, r1 - ldrh r0, [r0] - bl sub_81180F4 - movs r0, 0x6 - bl sub_81182F8 - movs r0, 0 - bl sub_811829C - movs r0, 0 - bl sub_8117158 - movs r0, 0 - movs r1, 0xE - movs r2, 0x1D - movs r3, 0x13 - bl MenuDrawTextWindow - ldr r0, _08115558 @ =gUnknown_081C4157 - movs r1, 0x1 - movs r2, 0xF - bl MenuPrint - ldr r1, _0811555C @ =gSpriteCoordOffsetX - movs r2, 0x3C - negs r2, r2 - adds r0, r2, 0 - strh r0, [r1] - ldr r1, _08115560 @ =gSpriteCoordOffsetY - movs r0, 0 - strh r0, [r1] - ldr r1, _08115564 @ =gMain - ldr r3, _08115568 @ =0x0000043c - adds r1, r3 - b _0811557A - .align 2, 0 -_08115550: .4byte gSaveBlock1 -_08115554: .4byte 0x00000494 -_08115558: .4byte gUnknown_081C4157 -_0811555C: .4byte gSpriteCoordOffsetX -_08115560: .4byte gSpriteCoordOffsetY -_08115564: .4byte gMain -_08115568: .4byte 0x0000043c -_0811556C: - movs r1, 0x80 - lsls r1, 19 - ldr r3, _08115584 @ =0x00001741 - adds r0, r3, 0 - strh r0, [r1] - ldr r0, _08115588 @ =0x0000043c - adds r1, r2, r0 -_0811557A: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _081155FE - .align 2, 0 -_08115584: .4byte 0x00001741 -_08115588: .4byte 0x0000043c -_0811558C: - ldr r3, _08115608 @ =0x04000208 - ldrh r2, [r3] - movs r0, 0 - strh r0, [r3] - ldr r4, _0811560C @ =0x04000200 - ldrh r0, [r4] - movs r1, 0x1 - orrs r0, r1 - strh r0, [r4] - strh r2, [r3] - ldr r2, _08115610 @ =REG_DISPSTAT - ldrh r0, [r2] - movs r1, 0x8 - orrs r0, r1 - strh r0, [r2] - ldr r0, _08115614 @ =sub_8115124 - bl SetVBlankCallback - movs r0, 0x1 - str r0, [sp] - movs r0, 0xFF - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginHardwarePaletteFade - ldr r0, _08115618 @ =sub_81156BC - movs r1, 0 - bl CreateTask - ldr r4, _0811561C @ =gSharedMem + 0x19000 - adds r1, r4, 0 - adds r1, 0xA4 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08115620 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0x6 - strh r0, [r1, 0x14] - ldr r0, _08115624 @ =gSaveBlock1 - ldr r2, _08115628 @ =0x00000494 - adds r0, r2 - ldrh r0, [r0] - strh r0, [r1, 0x22] - ldr r0, _0811562C @ =sub_8115634 - movs r1, 0x1 - bl CreateTask - adds r4, 0xA5 - strb r0, [r4] - ldr r0, _08115630 @ =sub_81150FC - bl SetMainCallback2 -_081155FE: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08115608: .4byte 0x04000208 -_0811560C: .4byte 0x04000200 -_08115610: .4byte REG_DISPSTAT -_08115614: .4byte sub_8115124 -_08115618: .4byte sub_81156BC -_0811561C: .4byte gSharedMem + 0x19000 -_08115620: .4byte gTasks -_08115624: .4byte gSaveBlock1 -_08115628: .4byte 0x00000494 -_0811562C: .4byte sub_8115634 -_08115630: .4byte sub_81150FC - thumb_func_end sub_8115384 - - thumb_func_start sub_8115634 -sub_8115634: @ 8115634 - push {r4-r6,lr} - ldr r0, _081156B8 @ =gSharedMem + 0x19000 - adds r3, r0, 0 - adds r3, 0x21 - ldrb r1, [r3] - adds r2, r1, 0x1 - strb r2, [r3] - adds r2, r0, 0 - adds r2, 0x23 - lsls r1, 24 - lsrs r1, 24 - adds r6, r0, 0 - ldrb r2, [r2] - cmp r1, r2 - bne _08115674 - movs r0, 0 - strb r0, [r3] - adds r2, r6, 0 - adds r2, 0x22 - ldrb r1, [r2] - ldrh r0, [r6, 0x24] - subs r0, r1 - strh r0, [r6, 0x24] - lsls r0, 16 - cmp r0, 0 - bge _08115674 - ldrb r1, [r2] - movs r2, 0xB4 - lsls r2, 1 - adds r0, r2, 0 - subs r0, r1 - strh r0, [r6, 0x24] -_08115674: - adds r4, r6, 0 - ldrh r0, [r4, 0x24] - bl Sin2 - lsls r0, 16 - lsrs r5, r0, 16 - ldrh r0, [r4, 0x24] - bl Cos2 - lsls r0, 16 - lsrs r1, r0, 16 - lsls r0, r5, 16 - asrs r0, 16 - cmp r0, 0 - bge _08115694 - adds r0, 0xF -_08115694: - lsls r0, 12 - lsrs r5, r0, 16 - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0 - bge _081156A2 - adds r0, 0xF -_081156A2: - asrs r0, 4 - strh r0, [r6, 0x32] - strh r0, [r6, 0x2C] - strh r5, [r6, 0x2E] - lsls r0, r5, 16 - asrs r0, 16 - negs r0, r0 - strh r0, [r6, 0x30] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_081156B8: .4byte gSharedMem + 0x19000 - thumb_func_end sub_8115634 - - thumb_func_start sub_81156BC -sub_81156BC: @ 81156BC - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl UpdatePaletteFade - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0 - bne _08115716 - ldr r2, _0811571C @ =REG_BLDCNT - ldrh r0, [r2] - movs r5, 0x90 - lsls r5, 6 - adds r1, r5, 0 - orrs r0, r1 - strh r0, [r2] - ldr r1, _08115720 @ =REG_BLDALPHA - ldr r2, _08115724 @ =0x00000808 - adds r0, r2, 0 - strh r0, [r1] - ldr r1, _08115728 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - strh r3, [r0, 0x14] - adds r0, r4, 0 - bl sub_8116CAC - bl sub_8116CF8 - bl sub_81185E8 - movs r0, 0 - bl sub_8117158 - movs r0, 0x6 - bl sub_81182F8 - ldr r1, _0811572C @ =sub_81159BC - ldr r2, _08115730 @ =0x0000ffff - adds r0, r4, 0 - movs r3, 0x3 - bl sub_8116C34 -_08115716: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0811571C: .4byte REG_BLDCNT -_08115720: .4byte REG_BLDALPHA -_08115724: .4byte 0x00000808 -_08115728: .4byte gTasks -_0811572C: .4byte sub_81159BC -_08115730: .4byte 0x0000ffff - thumb_func_end sub_81156BC - - thumb_func_start sub_8115734 -sub_8115734: @ 8115734 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x14 - movs r1, 0x8 - movs r2, 0x1 - bl DisplayYesNoMenu - ldr r0, _08115770 @ =0x00002d9e - bl sub_814AAF8 - movs r0, 0 - movs r1, 0xE - movs r2, 0x1D - movs r3, 0x13 - bl MenuDrawTextWindow - ldr r0, _08115774 @ =gUnknown_081C41E3 - movs r1, 0x1 - movs r2, 0xF - bl MenuPrint - ldr r1, _08115778 @ =gUnknown_083F8EBC - adds r0, r4, 0 - bl DoYesNoFuncWithChoice - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08115770: .4byte 0x00002d9e -_08115774: .4byte gUnknown_081C41E3 -_08115778: .4byte gUnknown_083F8EBC - thumb_func_end sub_8115734 - - thumb_func_start sub_811577C -sub_811577C: @ 811577C - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x14 - movs r1, 0x8 - movs r2, 0x1A - movs r3, 0xD - bl MenuZeroFillWindowRect - ldr r1, _081157A4 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _081157A8 @ =sub_81159BC - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081157A4: .4byte gTasks -_081157A8: .4byte sub_81159BC - thumb_func_end sub_811577C - - thumb_func_start sub_81157AC -sub_81157AC: @ 81157AC - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _081157CC @ =gSharedMem + 0x19000 - adds r0, 0xA5 - ldrb r0, [r0] - bl DestroyTask - adds r0, r4, 0 - bl sub_8116AB0 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081157CC: .4byte gSharedMem + 0x19000 - thumb_func_end sub_81157AC - - thumb_func_start sub_81157D0 -sub_81157D0: @ 81157D0 - push {r4-r7,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xF - bhi _081158C8 - lsls r0, r4, 2 - ldr r1, _081157E8 @ =_081157EC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_081157E8: .4byte _081157EC - .align 2, 0 -_081157EC: - .4byte _0811582C - .4byte _08115848 - .4byte _08115848 - .4byte _08115848 - .4byte _08115848 - .4byte _08115884 - .4byte _081158C8 - .4byte _081158C8 - .4byte _081158C8 - .4byte _081158C8 - .4byte _08115884 - .4byte _081158C8 - .4byte _081158C8 - .4byte _081158C8 - .4byte _081158C8 - .4byte _08115884 -_0811582C: - ldr r0, _08115844 @ =gBGTilemapBuffers + 0x1000 - movs r1, 0x10 - str r1, [sp] - movs r1, 0xD - str r1, [sp, 0x4] - movs r1, 0 - movs r2, 0xE - movs r3, 0x7 - bl sub_8124DDC - b _08115918 - .align 2, 0 -_08115844: .4byte gBGTilemapBuffers + 0x1000 -_08115848: - lsls r0, r4, 1 - adds r0, r4 - adds r0, 0xE - lsls r0, 24 - lsrs r7, r0, 24 - ldr r5, _0811587C @ =gBGTilemapBuffers + 0x1000 - movs r0, 0x10 - str r0, [sp] - movs r4, 0xD - str r4, [sp, 0x4] - adds r0, r5, 0 - movs r1, 0 - movs r2, 0xE - movs r3, 0x7 - bl sub_8124DDC - ldr r1, _08115880 @ =gSharedMem + 0x18A32 - movs r0, 0x3 - str r0, [sp] - str r4, [sp, 0x4] - adds r0, r5, 0 - adds r2, r7, 0 - movs r3, 0x7 - bl sub_8124E2C - b _08115918 - .align 2, 0 -_0811587C: .4byte gBGTilemapBuffers + 0x1000 -_08115880: .4byte gSharedMem + 0x18A32 -_08115884: - subs r0, r4, 0x1 - movs r1, 0x5 - bl __divsi3 - lsls r1, r0, 1 - adds r1, r0 - adds r1, 0xA - lsls r1, 24 - lsrs r6, r1, 24 - ldr r5, _081158C0 @ =gBGTilemapBuffers + 0x1000 - movs r4, 0x10 - str r4, [sp] - movs r0, 0xD - str r0, [sp, 0x4] - adds r0, r5, 0 - movs r1, 0 - movs r2, 0xE - movs r3, 0x7 - bl sub_8124DDC - ldr r1, _081158C4 @ =gSharedMem + 0x18A80 - str r4, [sp] - movs r0, 0x3 - str r0, [sp, 0x4] - adds r0, r5, 0 - movs r2, 0xE - adds r3, r6, 0 - bl sub_8124E2C - b _08115918 - .align 2, 0 -_081158C0: .4byte gBGTilemapBuffers + 0x1000 -_081158C4: .4byte gSharedMem + 0x18A80 -_081158C8: - adds r0, r4, 0 - movs r1, 0x5 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 1 - adds r1, r0 - adds r1, 0xE - lsls r1, 24 - lsrs r7, r1, 24 - subs r0, r4, 0x1 - movs r1, 0x5 - bl __divsi3 - lsls r1, r0, 1 - adds r1, r0 - adds r1, 0x7 - lsls r1, 24 - lsrs r6, r1, 24 - ldr r4, _08115920 @ =gBGTilemapBuffers + 0x1000 - movs r0, 0x10 - str r0, [sp] - movs r0, 0xD - str r0, [sp, 0x4] - adds r0, r4, 0 - movs r1, 0 - movs r2, 0xE - movs r3, 0x7 - bl sub_8124DDC - ldr r1, _08115924 @ =gSharedMem + 0x18A20 - movs r0, 0x3 - str r0, [sp] - str r0, [sp, 0x4] - adds r0, r4, 0 - adds r2, r7, 0 - adds r3, r6, 0 - bl sub_8124E2C -_08115918: - add sp, 0x8 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08115920: .4byte gBGTilemapBuffers + 0x1000 -_08115924: .4byte gSharedMem + 0x18A20 - thumb_func_end sub_81157D0 - - thumb_func_start sub_8115928 -sub_8115928: @ 8115928 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 24 - cmp r1, 0 - bne _0811594C - ldr r1, _08115948 @ =gTasks - lsls r4, r5, 2 - adds r0, r4, r5 - lsls r0, 3 - adds r0, r1 - ldrb r0, [r0, 0x10] - bl sub_811829C - b _08115960 - .align 2, 0 -_08115948: .4byte gTasks -_0811594C: - ldr r0, _08115974 @ =gSharedMem + 0x19000 - ldrb r1, [r0, 0x1A] - lsls r1, 28 - lsrs r1, 28 - adds r0, 0x1B - adds r1, r0 - ldrb r0, [r1] - bl sub_811829C - lsls r4, r5, 2 -_08115960: - ldr r0, _08115978 @ =gTasks - adds r1, r4, r5 - lsls r1, 3 - adds r1, r0 - ldrb r0, [r1, 0x10] - bl sub_81157D0 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08115974: .4byte gSharedMem + 0x19000 -_08115978: .4byte gTasks - thumb_func_end sub_8115928 - - thumb_func_start sub_811597C -sub_811597C: @ 811597C - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, _081159B0 @ =gSharedMem + 0x19000 - movs r6, 0 - movs r1, 0x1 - strh r1, [r5, 0x28] - ldr r1, _081159B4 @ =gTasks - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - adds r4, r1 - ldrb r0, [r4, 0x10] - bl sub_81157D0 - adds r1, r5, 0 - adds r1, 0x23 - movs r0, 0x2 - strb r0, [r1] - adds r5, 0x21 - strb r6, [r5] - ldr r0, _081159B8 @ =sub_8115E14 - str r0, [r4] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_081159B0: .4byte gSharedMem + 0x19000 -_081159B4: .4byte gTasks -_081159B8: .4byte sub_8115E14 - thumb_func_end sub_811597C - - thumb_func_start sub_81159BC -sub_81159BC: @ 81159BC - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r3, _08115A10 @ =gSharedMem + 0x19000 - ldr r1, [r3, 0x8] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _08115A1C - movs r2, 0xB - ldr r5, _08115A14 @ =gUnknown_083F8C00 - adds r0, r5, 0 - adds r0, 0xE4 - ldr r0, [r0] - ands r1, r0 - ldr r0, _08115A18 @ =gTasks - mov r12, r0 - lsls r7, r6, 2 - cmp r1, 0 - beq _08115A5A - adds r4, r3, 0 - adds r3, r5, 0 - adds r3, 0x8 -_081159EA: - lsls r0, r2, 16 - movs r1, 0x80 - lsls r1, 9 - adds r0, r1 - lsrs r2, r0, 16 - asrs r1, r0, 16 - cmp r1, 0xD - bgt _08115A5A - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldr r1, [r4, 0x8] - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _081159EA - b _08115A5A - .align 2, 0 -_08115A10: .4byte gSharedMem + 0x19000 -_08115A14: .4byte gUnknown_083F8C00 -_08115A18: .4byte gTasks -_08115A1C: - movs r2, 0x6 - ldr r5, _08115A88 @ =gUnknown_083F8C00 - adds r0, r5, 0 - adds r0, 0x80 - ldr r0, [r0] - ands r1, r0 - ldr r0, _08115A8C @ =gTasks - mov r12, r0 - lsls r7, r6, 2 - cmp r1, 0 - beq _08115A5A - adds r4, r3, 0 - adds r3, r5, 0 - adds r3, 0x8 -_08115A38: - lsls r0, r2, 16 - movs r1, 0x80 - lsls r1, 9 - adds r0, r1 - lsrs r2, r0, 16 - asrs r1, r0, 16 - cmp r1, 0x9 - bgt _08115A5A - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldr r1, [r4, 0x8] - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _08115A38 -_08115A5A: - adds r4, r7, r6 - lsls r4, 3 - add r4, r12 - movs r5, 0 - strh r2, [r4, 0x10] - adds r0, r6, 0 - bl sub_8116CAC - ldrb r0, [r4, 0x10] - bl sub_8117158 - ldrb r0, [r4, 0x10] - bl sub_811829C - ldrb r0, [r4, 0x10] - bl sub_8116EF8 - strh r5, [r4, 0xA] - ldr r0, _08115A90 @ =sub_811597C - str r0, [r4] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08115A88: .4byte gUnknown_083F8C00 -_08115A8C: .4byte gTasks -_08115A90: .4byte sub_811597C - thumb_func_end sub_81159BC - - thumb_func_start sub_8115A94 -sub_8115A94: @ 8115A94 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - adds r4, r0, 0 - lsls r1, 24 - lsrs r5, r1, 24 - movs r6, 0 - movs r7, 0 - ldr r1, _08115ADC @ =gUnknown_083F8ECA - mov r0, sp - movs r2, 0x4 - bl memcpy - ldrb r0, [r4] - mov r8, r0 - cmp r5, 0 - blt _08115B08 - cmp r5, 0x1 - bgt _08115AE0 - movs r1, 0 - ldrsh r0, [r4, r1] - movs r1, 0x5 - bl __modsi3 - lsls r0, 24 - lsrs r6, r0, 24 - movs r2, 0xF0 - lsls r2, 20 - adds r1, r0, r2 - lsrs r7, r1, 24 - cmp r0, 0 - bne _08115B08 - movs r6, 0x5 - b _08115B08 - .align 2, 0 -_08115ADC: .4byte gUnknown_083F8ECA -_08115AE0: - cmp r5, 0x3 - bgt _08115B08 - movs r1, 0 - ldrsh r0, [r4, r1] - movs r1, 0x5 - bl __divsi3 - lsls r0, 16 - asrs r0, 16 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 24 - lsrs r6, r1, 24 - movs r2, 0x80 - lsls r2, 19 - adds r0, r1, r2 - lsrs r7, r0, 24 - cmp r1, 0 - bne _08115B08 - movs r6, 0x1 -_08115B08: - mov r1, sp - adds r0, r1, r5 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - ldrh r2, [r4] - adds r0, r2 - strh r0, [r4] - lsls r1, r6, 24 - asrs r3, r1, 24 - lsls r0, 16 - asrs r0, 16 - lsls r2, r7, 24 - cmp r0, r3 - bge _08115B2A - asrs r0, r2, 24 - strh r0, [r4] -_08115B2A: - movs r0, 0 - ldrsh r1, [r4, r0] - asrs r0, r2, 24 - cmp r1, r0 - ble _08115B36 - strh r3, [r4] -_08115B36: - mov r1, r8 - lsls r0, r1, 24 - movs r2, 0 - ldrsh r1, [r4, r2] - asrs r0, 24 - cmp r1, r0 - bne _08115B48 - movs r0, 0 - b _08115B4A -_08115B48: - movs r0, 0x1 -_08115B4A: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8115A94 - - thumb_func_start sub_8115B58 -sub_8115B58: @ 8115B58 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r7, r0, 24 - movs r0, 0 - mov r8, r0 - movs r5, 0 - ldr r4, _08115D30 @ =gMain - ldrh r1, [r4, 0x2E] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08115B94 - movs r5, 0x1 - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - ldr r1, _08115D34 @ =gTasks + 0x8 - adds r0, r1 - adds r0, 0x8 - movs r1, 0 - bl sub_8115A94 - lsls r0, 24 - cmp r0, 0 - bne _08115B94 - b _08115D20 -_08115B94: - ldrh r1, [r4, 0x2E] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08115BBA - movs r5, 0x1 - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - ldr r1, _08115D34 @ =gTasks + 0x8 - adds r0, r1 - adds r0, 0x8 - movs r1, 0x1 - bl sub_8115A94 - lsls r0, 24 - cmp r0, 0 - bne _08115BBA - b _08115D20 -_08115BBA: - ldrh r1, [r4, 0x2E] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _08115BE0 - movs r5, 0x1 - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - ldr r1, _08115D34 @ =gTasks + 0x8 - adds r0, r1 - adds r0, 0x8 - movs r1, 0x2 - bl sub_8115A94 - lsls r0, 24 - cmp r0, 0 - bne _08115BE0 - b _08115D20 -_08115BE0: - ldrh r1, [r4, 0x2E] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08115C06 - movs r5, 0x1 - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - ldr r1, _08115D34 @ =gTasks + 0x8 - adds r0, r1 - adds r0, 0x8 - movs r1, 0x3 - bl sub_8115A94 - lsls r0, 24 - cmp r0, 0 - bne _08115C06 - b _08115D20 -_08115C06: - cmp r5, 0 - bne _08115C0C - b _08115D20 -_08115C0C: - ldr r0, _08115D38 @ =gTasks - lsls r6, r7, 2 - adds r4, r6, r7 - lsls r4, 3 - adds r4, r0 - ldrb r0, [r4, 0x10] - bl sub_8117158 - adds r0, r7, 0 - movs r1, 0 - bl sub_8115928 - mov r1, r8 - strh r1, [r4, 0xA] - movs r0, 0x5 - bl PlaySE - ldr r5, _08115D3C @ =gSharedMem + 0x190B8 - ldr r1, _08115D40 @ =0x0000ffff - adds r0, r5, 0 - bl sub_8124D3C - adds r3, r5, 0 - adds r3, 0xB8 - ldrb r2, [r3] - movs r1, 0x7F - adds r0, r1, 0 - ands r0, r2 - strb r0, [r3] - subs r3, 0xC - ldrb r2, [r3] - adds r0, r1, 0 - ands r0, r2 - strb r0, [r3] - adds r2, r5, 0 - adds r2, 0xA0 - ldrb r0, [r2] - ands r1, r0 - strb r1, [r2] - ldrb r0, [r4, 0x10] - bl sub_8116EF8 - movs r4, 0 - mov r12, r6 - ldr r6, _08115D44 @ =gSprites - movs r2, 0x7C - negs r2, r2 - adds r2, r5 - mov r10, r2 - movs r0, 0x8 - adds r0, r6 - mov r8, r0 - ldr r1, _08115D48 @ =0xfffffc00 - mov r9, r1 - ldr r2, _08115D4C @ =0x000003ff - adds r5, r2, 0 -_08115C7C: - adds r0, r4, 0 - adds r0, 0x29 - add r0, r10 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r3, r0, r6 - adds r2, r3, 0 - adds r2, 0x40 - add r0, r8 - ldr r0, [r0] - ldr r0, [r0] - ldrh r1, [r0] - ldrh r2, [r2] - adds r1, r2 - ands r1, r5 - ldrh r2, [r3, 0x4] - mov r0, r9 - ands r0, r2 - orrs r0, r1 - strh r0, [r3, 0x4] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _08115C7C - ldr r0, _08115D38 @ =gTasks - mov r2, r12 - adds r1, r2, r7 - lsls r1, 3 - adds r1, r0 - ldrh r3, [r1, 0x10] - subs r0, r3, 0x1 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x3 - bhi _08115D20 - ldr r2, _08115D50 @ =gUnknown_083F8C00 - movs r0, 0x10 - ldrsh r1, [r1, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r2, 0x8 - adds r0, r2 - ldr r2, _08115D54 @ =gSharedMem + 0x19000 - ldr r1, [r2, 0x8] - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _08115D20 - subs r0, r3, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - adds r0, r2, 0 - add r0, r8 - adds r0, 0x65 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08115D44 @ =gSprites - adds r3, r0, r1 - adds r2, r3, 0 - adds r2, 0x40 - adds r1, 0x8 - adds r0, r1 - ldr r0, [r0] - ldr r0, [r0] - ldrh r1, [r0, 0x4] - ldrh r2, [r2] - adds r1, r2 - ldr r2, _08115D4C @ =0x000003ff - adds r0, r2, 0 - ands r1, r0 - ldrh r2, [r3, 0x4] - ldr r0, _08115D48 @ =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r3, 0x4] -_08115D20: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08115D30: .4byte gMain -_08115D34: .4byte gTasks + 0x8 -_08115D38: .4byte gTasks -_08115D3C: .4byte gSharedMem + 0x190B8 -_08115D40: .4byte 0x0000ffff -_08115D44: .4byte gSprites -_08115D48: .4byte 0xfffffc00 -_08115D4C: .4byte 0x000003ff -_08115D50: .4byte gUnknown_083F8C00 -_08115D54: .4byte gSharedMem + 0x19000 - thumb_func_end sub_8115B58 - - thumb_func_start sub_8115D58 -sub_8115D58: @ 8115D58 - push {lr} - lsls r0, 24 - lsrs r3, r0, 24 - ldr r1, _08115D70 @ =gSharedMem + 0x19000 - movs r0, 0xFF - strh r0, [r1, 0x28] - ldrb r0, [r1, 0x19] - cmp r0, 0x1 - bne _08115D74 - adds r2, r1, 0 - adds r2, 0x23 - b _08115D7A - .align 2, 0 -_08115D70: .4byte gSharedMem + 0x19000 -_08115D74: - adds r2, r1, 0 - adds r2, 0x23 - movs r0, 0 -_08115D7A: - strb r0, [r2] - adds r1, 0x21 - movs r0, 0 - strb r0, [r1] - ldr r1, _08115D98 @ =gTasks - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 3 - adds r0, r1 - movs r1, 0x20 - strh r1, [r0, 0xA] - ldr r1, _08115D9C @ =sub_8115ECC - str r1, [r0] - pop {r0} - bx r0 - .align 2, 0 -_08115D98: .4byte gTasks -_08115D9C: .4byte sub_8115ECC - thumb_func_end sub_8115D58 - - thumb_func_start sub_8115DA0 -sub_8115DA0: @ 8115DA0 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r4, _08115E08 @ =gSharedMem + 0x19000 - ldrb r2, [r4, 0x1A] - lsls r2, 28 - lsrs r2, 28 - adds r5, r4, 0 - adds r5, 0x1B - adds r2, r5 - ldr r3, _08115E0C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r6, r1, r3 - ldrh r0, [r6, 0x10] - strb r0, [r2] - ldrb r0, [r4, 0x1A] - lsls r0, 28 - lsrs r0, 28 - adds r0, r5 - ldrb r0, [r0] - bl sub_8117380 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0xC] - ldrb r0, [r4, 0x1A] - lsls r0, 28 - lsrs r0, 28 - adds r0, r5 - ldrb r0, [r0] - bl sub_811829C - ldrb r1, [r4, 0x19] - ldrh r0, [r6, 0x22] - subs r0, r1 - strh r0, [r6, 0x22] - lsls r0, 16 - cmp r0, 0 - bge _08115DF6 - movs r0, 0 - strh r0, [r6, 0x22] -_08115DF6: - ldrh r0, [r6, 0x22] - bl sub_81180F4 - ldr r0, _08115E10 @ =sub_8115D58 - str r0, [r6] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08115E08: .4byte gSharedMem + 0x19000 -_08115E0C: .4byte gTasks -_08115E10: .4byte sub_8115D58 - thumb_func_end sub_8115DA0 - - thumb_func_start sub_8115E14 -sub_8115E14: @ 8115E14 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r5, 0 - bl sub_8115B58 - ldr r1, _08115E3C @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0x1E - beq _08115E4A - cmp r0, 0x1E - bgt _08115E40 - cmp r0, 0 - beq _08115E46 - b _08115E5E - .align 2, 0 -_08115E3C: .4byte gTasks -_08115E40: - cmp r0, 0x3B - beq _08115E58 - b _08115E5E -_08115E46: - ldrb r0, [r4, 0x10] - b _08115E4C -_08115E4A: - movs r0, 0 -_08115E4C: - bl sub_81157D0 - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - b _08115E6E -_08115E58: - movs r0, 0 - strh r0, [r4, 0xA] - b _08115E6E -_08115E5E: - ldr r0, _08115EA8 @ =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0xA] - adds r0, 0x1 - strh r0, [r1, 0xA] -_08115E6E: - ldr r0, _08115EAC @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08115EC2 - ldr r3, _08115EB0 @ =gSharedMem + 0x19000 - ldr r2, _08115EB4 @ =gUnknown_083F8C00 - ldr r1, _08115EA8 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - movs r0, 0x10 - ldrsh r1, [r4, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r2, 0x8 - adds r0, r2 - ldr r1, [r3, 0x8] - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - beq _08115EB8 - movs r0, 0x16 - bl PlaySE - b _08115EC2 - .align 2, 0 -_08115EA8: .4byte gTasks -_08115EAC: .4byte gMain -_08115EB0: .4byte gSharedMem + 0x19000 -_08115EB4: .4byte gUnknown_083F8C00 -_08115EB8: - movs r0, 0x5F - bl m4aSongNumStart - ldr r0, _08115EC8 @ =sub_8115DA0 - str r0, [r4] -_08115EC2: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08115EC8: .4byte sub_8115DA0 - thumb_func_end sub_8115E14 - - thumb_func_start sub_8115ECC -sub_8115ECC: @ 8115ECC - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08115F20 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 - ldrh r0, [r4, 0xA] - subs r1, r0, 0x1 - strh r1, [r4, 0xA] - lsls r0, 16 - cmp r0, 0 - ble _08115F34 - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0x2 - ble _08115EF8 - ldr r1, _08115F24 @ =gSpriteCoordOffsetX - ldrh r0, [r1] - adds r0, 0x2 - strh r0, [r1] -_08115EF8: - ldr r1, _08115F28 @ =gSharedMem + 0x19000 - ldrh r0, [r1, 0x26] - adds r0, 0x4 - strh r0, [r1, 0x26] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x68 - bne _08115F4C - ldr r2, _08115F2C @ =gSprites - adds r0, r1, 0 - adds r0, 0x55 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, _08115F30 @ =SpriteCallbackDummy - str r1, [r0] - b _08115F4C - .align 2, 0 -_08115F20: .4byte gTasks -_08115F24: .4byte gSpriteCoordOffsetX -_08115F28: .4byte gSharedMem + 0x19000 -_08115F2C: .4byte gSprites -_08115F30: .4byte SpriteCallbackDummy -_08115F34: - movs r0, 0x1 - movs r1, 0xFF - bl sub_8117AA8 - movs r0, 0x1 - movs r1, 0xFF - bl sub_8117C60 - ldr r0, _08115F54 @ =sub_8116100 - str r0, [r4] - movs r0, 0 - strh r0, [r4, 0xA] -_08115F4C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08115F54: .4byte sub_8116100 - thumb_func_end sub_8115ECC - - thumb_func_start sub_8115F58 -sub_8115F58: @ 8115F58 - push {r4,lr} - lsls r0, 16 - lsrs r3, r0, 16 - lsls r1, 16 - lsrs r1, 16 - ldr r0, _08115F74 @ =gSharedMem + 0x19000 - ldrb r2, [r0, 0x2] - adds r4, r0, 0 - cmp r2, 0x2 - bgt _08115F78 - cmp r2, 0x1 - bge _08115F7E - b _08116048 - .align 2, 0 -_08115F74: .4byte gSharedMem + 0x19000 -_08115F78: - cmp r2, 0x3 - beq _08115FE0 - b _08116048 -_08115F7E: - ldr r0, _08115FA8 @ =gLocalTime - ldrb r0, [r0, 0x2] - subs r0, 0x4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x5 - bhi _08115FB0 - cmp r3, 0xB - bls _08115F98 - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0811605E -_08115F98: - ldr r0, _08115FAC @ =gUnknown_083F8DF4 - ldrb r1, [r4, 0x4] - lsls r1, 30 - lsrs r1, 25 - adds r1, r0 - ldrb r0, [r1, 0x2] - lsrs r0, 1 - b _081160F4 - .align 2, 0 -_08115FA8: .4byte gLocalTime -_08115FAC: .4byte gUnknown_083F8DF4 -_08115FB0: - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - bne _08115FCC - ldr r0, _08115FC8 @ =gUnknown_083F8DF4 - ldrb r1, [r4, 0x4] - lsls r1, 30 - lsrs r1, 25 - adds r1, r0 - ldrb r0, [r1, 0x2] - lsrs r0, 1 - b _081160F4 - .align 2, 0 -_08115FC8: .4byte gUnknown_083F8DF4 -_08115FCC: - ldr r0, _08115FDC @ =gUnknown_083F8DF4 - ldrb r1, [r4, 0x4] - lsls r1, 30 - lsrs r1, 25 - adds r1, r0 - ldrb r0, [r1, 0x2] - b _081160F4 - .align 2, 0 -_08115FDC: .4byte gUnknown_083F8DF4 -_08115FE0: - ldr r0, _0811600C @ =gLocalTime - ldrb r0, [r0, 0x2] - subs r0, 0x4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x6 - bhi _08116014 - cmp r3, 0x5 - bls _08115FFA - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0811605E -_08115FFA: - ldr r0, _08116010 @ =gUnknown_083F8DF4 - ldrb r1, [r4, 0x4] - lsls r1, 30 - lsrs r1, 25 - adds r1, r0 - ldrb r0, [r1, 0x2] - lsrs r0, 1 - b _081160F4 - .align 2, 0 -_0811600C: .4byte gLocalTime -_08116010: .4byte gUnknown_083F8DF4 -_08116014: - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08116034 - cmp r3, 0x6 - bls _08116034 - ldr r0, _08116030 @ =gUnknown_083F8DF4 - ldrb r1, [r4, 0x4] - lsls r1, 30 - lsrs r1, 25 - adds r1, r0 - ldrb r0, [r1, 0x2] - lsrs r0, 2 - b _081160F4 - .align 2, 0 -_08116030: .4byte gUnknown_083F8DF4 -_08116034: - ldr r0, _08116044 @ =gUnknown_083F8DF4 - ldrb r1, [r4, 0x4] - lsls r1, 30 - lsrs r1, 25 - adds r1, r0 - ldrb r0, [r1, 0x2] - lsrs r0, 1 - b _081160F4 - .align 2, 0 -_08116044: .4byte gUnknown_083F8DF4 -_08116048: - ldr r0, _08116064 @ =gLocalTime - ldrb r0, [r0, 0x2] - subs r0, 0x4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x5 - bhi _0811607C - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - bne _08116068 -_0811605E: - movs r0, 0x1 - b _081160F4 - .align 2, 0 -_08116064: .4byte gLocalTime -_08116068: - ldr r0, _08116078 @ =gUnknown_083F8DF4 - ldrb r1, [r4, 0x4] - lsls r1, 30 - lsrs r1, 25 - adds r1, r0 - ldrb r0, [r1, 0x2] - lsrs r0, 1 - b _081160F4 - .align 2, 0 -_08116078: .4byte gUnknown_083F8DF4 -_0811607C: - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - bne _081160B0 - cmp r3, 0xC - bls _0811609C - ldr r0, _08116098 @ =gUnknown_083F8DF4 - ldrb r1, [r4, 0x4] - lsls r1, 30 - lsrs r1, 25 - adds r1, r0 - ldrb r0, [r1, 0x2] - lsrs r0, 1 - b _081160F4 - .align 2, 0 -_08116098: .4byte gUnknown_083F8DF4 -_0811609C: - ldr r0, _081160AC @ =gUnknown_083F8DF4 - ldrb r1, [r4, 0x4] - lsls r1, 30 - lsrs r1, 25 - adds r1, r0 - ldrb r0, [r1, 0x2] - b _081160F4 - .align 2, 0 -_081160AC: .4byte gUnknown_083F8DF4 -_081160B0: - movs r0, 0x80 - lsls r0, 8 - ands r0, r1 - cmp r0, 0 - beq _081160E4 - cmp r3, 0xC - bls _081160D0 - ldr r0, _081160CC @ =gUnknown_083F8DF4 - ldrb r1, [r4, 0x4] - lsls r1, 30 - lsrs r1, 25 - adds r1, r0 - ldrb r0, [r1, 0x2] - b _081160F4 - .align 2, 0 -_081160CC: .4byte gUnknown_083F8DF4 -_081160D0: - ldr r0, _081160E0 @ =gUnknown_083F8DF4 - ldrb r1, [r4, 0x4] - lsls r1, 30 - lsrs r1, 25 - adds r1, r0 - ldrb r0, [r1, 0x1] - b _081160F4 - .align 2, 0 -_081160E0: .4byte gUnknown_083F8DF4 -_081160E4: - ldr r0, _081160FC @ =gUnknown_083F8DF4 - ldrb r1, [r4, 0x4] - lsls r1, 30 - lsrs r1, 25 - adds r1, r0 - ldrb r0, [r1, 0x1] - lsls r0, 25 - lsrs r0, 24 -_081160F4: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_081160FC: .4byte gUnknown_083F8DF4 - thumb_func_end sub_8115F58 - - thumb_func_start sub_8116100 -sub_8116100: @ 8116100 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - movs r4, 0 - ldr r1, _08116188 @ =gUnknown_083F8ECE - mov r0, sp - movs r2, 0x8 - bl memcpy - bl Random - lsls r0, 16 - lsrs r7, r0, 16 - adds r0, r7, 0 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r6, r0, 16 - ldr r3, _0811618C @ =gSharedMem + 0x19000 - ldr r1, _08116190 @ =gTasks - mov r2, r9 - lsls r0, r2, 2 - add r0, r9 - lsls r0, 3 - adds r0, r1 - ldrh r2, [r0, 0x14] - adds r1, r3, 0 - adds r1, 0x7C - strb r2, [r1] - adds r1, 0x3 - strb r4, [r1] - subs r1, 0x1 - strb r4, [r1] - subs r1, 0x1 - strb r4, [r1] - ldrh r0, [r0, 0x18] - adds r1, r7, 0 - bl sub_8115F58 - adds r4, r0, 0 - lsls r4, 24 - lsrs r1, r4, 24 - adds r0, r7, 0 - bl __modsi3 - lsrs r4, 25 - subs r0, r4 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _08116194 @ =gLocalTime - ldrb r0, [r0, 0x2] - lsls r0, 24 - asrs r0, 24 - movs r5, 0x1 - cmp r0, 0xC - bgt _08116180 - movs r5, 0 -_08116180: - cmp r6, 0x4F - bhi _08116198 - lsls r0, r5, 25 - b _081161A2 - .align 2, 0 -_08116188: .4byte gUnknown_083F8ECE -_0811618C: .4byte gSharedMem + 0x19000 -_08116190: .4byte gTasks -_08116194: .4byte gLocalTime -_08116198: - lsls r1, r5, 24 - asrs r1, 24 - movs r0, 0x1 - subs r0, r1 - lsls r0, 25 -_081161A2: - lsrs r5, r0, 24 - ldr r6, _081162D8 @ =gSharedMem + 0x19000 - ldrb r0, [r6, 0x4] - lsls r0, 30 - mov r10, r0 - lsrs r0, 25 - ldr r1, _081162DC @ =gUnknown_083F8DF4 - adds r0, r1 - lsls r4, 24 - asrs r4, 24 - ldrh r0, [r0, 0x1A] - adds r4, r0 - adds r0, r6, 0 - adds r0, 0x80 - strh r4, [r0] - lsls r4, 16 - asrs r4, 16 - adds r0, r4, 0 - bl __floatsisf - cmp r4, 0 - bge _081161D4 - ldr r1, _081162E0 @ =0x47800000 - bl __addsf3 -_081161D4: - ldr r1, _081162E4 @ =0x40a00000 - bl __divsf3 - bl __fixunssfsi - lsls r0, 16 - lsrs r4, r0, 16 - lsls r0, r4, 1 - adds r0, r4 - mov r8, r0 - adds r0, r6, 0 - adds r0, 0x82 - mov r2, r8 - strh r2, [r0] - adds r0, 0x2 - strh r4, [r0] - adds r0, 0x2 - strh r4, [r0] - movs r0, 0x1 - ands r0, r7 - lsls r1, r5, 24 - asrs r1, 24 - adds r0, r1 - lsls r0, 1 - add r0, sp - movs r1, 0 - ldrsh r4, [r0, r1] - adds r0, r4, 0 - bl __floatsisf - cmp r4, 0 - bge _0811621A - ldr r1, _081162E0 @ =0x47800000 - bl __addsf3 -_0811621A: - ldr r2, _081162E8 @ =gSharedMem + 0x19088 - str r0, [r2] - adds r7, r6, 0 - adds r7, 0x8C - mov r1, r10 - lsrs r0, r1, 25 - ldr r2, _081162DC @ =gUnknown_083F8DF4 - adds r0, r2 - movs r1, 0x18 - ldrsh r4, [r0, r1] - adds r0, r4, 0 - bl __floatsisf - adds r5, r0, 0 - cmp r4, 0 - bge _08116242 - ldr r1, _081162E0 @ =0x47800000 - bl __addsf3 - adds r5, r0, 0 -_08116242: - str r5, [r7] - adds r7, r6, 0 - adds r7, 0x90 - ldr r1, _081162EC @ =0x3f000000 - adds r0, r5, 0 - bl __mulsf3 - adds r1, r5, 0 - bl __subsf3 - adds r5, r0, 0 - mov r2, r8 - lsls r0, r2, 16 - asrs r4, r0, 16 - adds r0, r4, 0 - bl __floatsisf - adds r2, r0, 0 - cmp r4, 0 - bge _08116272 - ldr r1, _081162E0 @ =0x47800000 - bl __addsf3 - adds r2, r0, 0 -_08116272: - adds r0, r5, 0 - adds r1, r2, 0 - bl __divsf3 - str r0, [r7] - adds r1, r6, 0 - adds r1, 0x94 - ldr r0, _081162F0 @ =0x42880000 - str r0, [r1] - adds r1, 0x8 - ldr r0, _081162F4 @ =0x00000000 - str r0, [r1] - adds r5, r6, 0 - adds r5, 0x98 - adds r0, r4, 0 - bl __floatsisf - adds r2, r0, 0 - cmp r4, 0 - bge _081162A2 - ldr r1, _081162E0 @ =0x47800000 - bl __addsf3 - adds r2, r0, 0 -_081162A2: - ldr r0, _081162F8 @ =0x41000000 - adds r1, r2, 0 - bl __divsf3 - bl __negsf2 - str r0, [r5] - adds r1, r6, 0 - adds r1, 0xA0 - ldr r0, _081162FC @ =0x42100000 - str r0, [r1] - ldr r1, _08116300 @ =gTasks - mov r2, r9 - lsls r0, r2, 2 - add r0, r9 - lsls r0, 3 - adds r0, r1 - ldr r1, _08116304 @ =sub_8116308 - str r1, [r0] - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081162D8: .4byte gSharedMem + 0x19000 -_081162DC: .4byte gUnknown_083F8DF4 -_081162E0: .4byte 0x47800000 -_081162E4: .4byte 0x40a00000 -_081162E8: .4byte gSharedMem + 0x19088 -_081162EC: .4byte 0x3f000000 -_081162F0: .4byte 0x42880000 -_081162F4: .4byte 0x00000000 -_081162F8: .4byte 0x41000000 -_081162FC: .4byte 0x42100000 -_08116300: .4byte gTasks -_08116304: .4byte sub_8116308 - thumb_func_end sub_8116100 - - thumb_func_start sub_8116308 -sub_8116308: @ 8116308 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r3, _08116368 @ =gSharedMem + 0x19000 - ldrb r1, [r3, 0x3] - movs r2, 0x80 - orrs r1, r2 - strb r1, [r3, 0x3] - adds r2, r3, 0 - adds r2, 0x7C - adds r1, r3, 0 - adds r1, 0x3C - ldrb r2, [r2] - adds r1, r2 - ldrb r2, [r1] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - ldr r2, _0811636C @ =gSprites - adds r1, r2 - str r1, [r3, 0x38] - ldr r2, _08116370 @ =sub_81191F4 - str r2, [r1, 0x1C] - ldr r1, _08116374 @ =gTasks - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - adds r4, r1 - ldrh r1, [r4, 0x14] - adds r1, 0x1 - strh r1, [r4, 0x14] - ldrh r0, [r4, 0x18] - adds r0, 0x1 - strh r0, [r4, 0x18] - movs r0, 0x6 - subs r0, r1 - lsls r0, 24 - lsrs r0, 24 - bl sub_81182F8 - movs r0, 0x5C - bl m4aSongNumStart - ldr r0, _08116378 @ =sub_811637C - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08116368: .4byte gSharedMem + 0x19000 -_0811636C: .4byte gSprites -_08116370: .4byte sub_81191F4 -_08116374: .4byte gTasks -_08116378: .4byte sub_811637C - thumb_func_end sub_8116308 - - thumb_func_start sub_811637C -sub_811637C: @ 811637C - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r4, _081163B0 @ =gSharedMem + 0x19000 - adds r0, r4, 0 - adds r0, 0x7D - ldrb r0, [r0] - cmp r0, 0 - beq _08116464 - ldrb r1, [r4, 0x3] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _081163B4 - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08116464 - movs r0, 0x41 - negs r0, r0 - ands r0, r1 - movs r1, 0x21 - negs r1, r1 - ands r0, r1 - strb r0, [r4, 0x3] - b _08116464 - .align 2, 0 -_081163B0: .4byte gSharedMem + 0x19000 -_081163B4: - ldr r2, _08116428 @ =gTasks - lsls r1, r5, 2 - adds r0, r1, r5 - lsls r0, 3 - adds r6, r0, r2 - movs r2, 0xA - ldrsh r0, [r6, r2] - adds r7, r1, 0 - cmp r0, 0 - bne _08116400 - adds r0, r4, 0 - adds r0, 0x7E - ldrb r1, [r0] - adds r0, r5, 0 - bl sub_8116D54 - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r4, 0x1A] - lsls r1, 28 - lsrs r1, 28 - adds r2, r4, 0 - adds r2, 0x1B - adds r1, r2 - ldrb r1, [r1] - bl sub_8116E5C - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x12] - cmp r0, 0x1 - bne _08116400 - adds r0, r4, 0 - adds r0, 0xB8 - movs r1, 0x80 - lsls r1, 5 - bl sub_8124CE8 -_08116400: - ldr r0, _08116428 @ =gTasks - adds r1, r7, r5 - lsls r1, 3 - adds r4, r1, r0 - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0x3C - bgt _08116430 - ldr r0, _0811642C @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08116420 - movs r0, 0x3C - strh r0, [r4, 0xA] -_08116420: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - b _08116464 - .align 2, 0 -_08116428: .4byte gTasks -_0811642C: .4byte gMain -_08116430: - ldr r1, _0811646C @ =gSharedMem + 0x19000 - ldrb r0, [r1, 0x1A] - lsls r0, 28 - lsrs r0, 28 - adds r1, 0x1B - adds r0, r1 - ldrb r0, [r0] - bl sub_8117158 - ldrh r1, [r4, 0x20] - lsls r1, 24 - lsrs r1, 24 - movs r0, 0 - bl sub_8117AA8 - ldrb r1, [r4, 0x14] - subs r1, 0x1 - lsls r1, 24 - lsrs r1, 24 - movs r0, 0 - bl sub_8117C60 - movs r0, 0x20 - strh r0, [r4, 0xA] - ldr r0, _08116470 @ =sub_8116474 - str r0, [r4] -_08116464: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0811646C: .4byte gSharedMem + 0x19000 -_08116470: .4byte sub_8116474 - thumb_func_end sub_811637C - - thumb_func_start sub_8116474 -sub_8116474: @ 8116474 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _081164C8 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - ldrh r0, [r4, 0xA] - subs r1, r0, 0x1 - strh r1, [r4, 0xA] - lsls r0, 16 - cmp r0, 0 - ble _081164DC - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0x2 - ble _081164A0 - ldr r1, _081164CC @ =gSpriteCoordOffsetX - ldrh r0, [r1] - subs r0, 0x2 - strh r0, [r1] -_081164A0: - ldr r1, _081164D0 @ =gSharedMem + 0x19000 - ldrh r0, [r1, 0x26] - subs r0, 0x4 - strh r0, [r1, 0x26] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x68 - bne _08116504 - ldr r2, _081164D4 @ =gSprites - adds r0, r1, 0 - adds r0, 0x55 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, _081164D8 @ =sub_81184CC - str r1, [r0] - b _08116504 - .align 2, 0 -_081164C8: .4byte gTasks -_081164CC: .4byte gSpriteCoordOffsetX -_081164D0: .4byte gSharedMem + 0x19000 -_081164D4: .4byte gSprites -_081164D8: .4byte sub_81184CC -_081164DC: - ldrh r0, [r4, 0x20] - lsls r0, 24 - lsrs r0, 24 - bl sub_8117D68 - movs r1, 0x12 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - bne _081164F2 - movs r0, 0x79 - b _081164F4 -_081164F2: - movs r0, 0x3D -_081164F4: - strh r0, [r4, 0xA] - ldr r0, _0811650C @ =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, _08116510 @ =sub_8116514 - str r0, [r1] -_08116504: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0811650C: .4byte gTasks -_08116510: .4byte sub_8116514 - thumb_func_end sub_8116474 - - thumb_func_start sub_8116514 -sub_8116514: @ 8116514 - push {r4,lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, _08116564 @ =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r4, r0, r1 - ldrh r0, [r4, 0xA] - subs r1, r0, 0x1 - strh r1, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _08116584 - movs r0, 0xA - ldrsh r1, [r4, r0] - adds r0, r1, 0 - cmp r1, 0 - bge _0811653E - adds r0, 0xF -_0811653E: - asrs r0, 4 - lsls r0, 4 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - beq _08116568 - cmp r0, 0x8 - bne _08116590 - movs r0, 0 - movs r1, 0xFF - bl sub_8117AA8 - movs r0, 0 - movs r1, 0xFF - bl sub_8117C60 - b _08116590 - .align 2, 0 -_08116564: .4byte gTasks -_08116568: - ldrh r1, [r4, 0x20] - lsls r1, 24 - lsrs r1, 24 - movs r0, 0 - bl sub_8117AA8 - ldrb r1, [r4, 0x14] - subs r1, 0x1 - lsls r1, 24 - lsrs r1, 24 - movs r0, 0 - bl sub_8117C60 - b _08116590 -_08116584: - ldr r1, _08116598 @ =sub_8116638 - adds r0, r2, 0 - movs r2, 0x1E - movs r3, 0 - bl sub_8116C34 -_08116590: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08116598: .4byte sub_8116638 - thumb_func_end sub_8116514 - - thumb_func_start sub_811659C -sub_811659C: @ 811659C - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _081165F4 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0x12 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _08116600 - cmp r0, 0 - blt _08116600 - cmp r0, 0x2 - bgt _08116600 - bl IsFanfareTaskInactive - lsls r0, 24 - cmp r0, 0 - beq _08116624 - movs r0, 0x1D - bl GetGameStat - ldrh r1, [r4, 0x1E] - adds r1, 0x1 - strh r1, [r4, 0x1E] - lsls r1, 16 - asrs r1, 16 - cmp r0, r1 - bcs _081165E4 - movs r0, 0x1E - ldrsh r1, [r4, r0] - movs r0, 0x1D - bl SetGameStat -_081165E4: - ldr r1, _081165F8 @ =sub_811677C - ldr r2, _081165FC @ =0x0000ffff - adds r0, r5, 0 - movs r3, 0x3 - bl sub_8116C34 - b _08116624 - .align 2, 0 -_081165F4: .4byte gTasks -_081165F8: .4byte sub_811677C -_081165FC: .4byte 0x0000ffff -_08116600: - bl IsSEPlaying - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - bne _08116624 - ldr r1, _0811662C @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - strh r2, [r0, 0x1E] - ldr r1, _08116630 @ =sub_81167F4 - ldr r2, _08116634 @ =0x0000ffff - adds r0, r5, 0 - movs r3, 0x3 - bl sub_8116C34 -_08116624: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0811662C: .4byte gTasks -_08116630: .4byte sub_81167F4 -_08116634: .4byte 0x0000ffff - thumb_func_end sub_811659C - - thumb_func_start sub_8116638 -sub_8116638: @ 8116638 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _08116678 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r2, 0x12 - ldrsh r1, [r0, r2] - cmp r1, 0 - beq _081166A8 - cmp r1, 0 - blt _081166A8 - cmp r1, 0x2 - bgt _081166A8 - movs r1, 0xC - ldrsh r0, [r0, r1] - cmp r0, 0xC - bne _08116684 - ldr r0, _0811667C @ =0x00000185 - bl PlayFanfare - movs r0, 0 - movs r1, 0xE - movs r2, 0x1D - movs r3, 0x13 - bl MenuDrawTextWindow - ldr r0, _08116680 @ =gUnknown_081C41A5 - b _0811669A - .align 2, 0 -_08116678: .4byte gTasks -_0811667C: .4byte 0x00000185 -_08116680: .4byte gUnknown_081C41A5 -_08116684: - movs r0, 0xC3 - lsls r0, 1 - bl PlayFanfare - movs r0, 0 - movs r1, 0xE - movs r2, 0x1D - movs r3, 0x13 - bl MenuDrawTextWindow - ldr r0, _081166A4 @ =gUnknown_081C4199 -_0811669A: - movs r1, 0x1 - movs r2, 0xF - bl MenuPrint - b _081166C4 - .align 2, 0 -_081166A4: .4byte gUnknown_081C4199 -_081166A8: - movs r0, 0x20 - bl m4aSongNumStart - movs r0, 0 - movs r1, 0xE - movs r2, 0x1D - movs r3, 0x13 - bl MenuDrawTextWindow - ldr r0, _081166DC @ =gUnknown_081C41AE - movs r1, 0x1 - movs r2, 0xF - bl MenuPrint -_081166C4: - ldr r1, _081166E0 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0xA] - ldr r1, _081166E4 @ =sub_811659C - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081166DC: .4byte gUnknown_081C41AE -_081166E0: .4byte gTasks -_081166E4: .4byte sub_811659C - thumb_func_end sub_8116638 - - thumb_func_start sub_81166E8 -sub_81166E8: @ 81166E8 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, _0811670C @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r4, r0, r1 - movs r0, 0x16 - ldrsh r5, [r4, r0] - cmp r5, 0 - beq _08116710 - cmp r5, 0x3 - beq _08116740 - ldrh r0, [r4, 0x16] - adds r0, 0x1 - b _08116748 - .align 2, 0 -_0811670C: .4byte gTasks -_08116710: - ldrh r0, [r4, 0x22] - adds r0, 0x1 - strh r0, [r4, 0x22] - movs r0, 0x15 - bl m4aSongNumStart - ldrh r0, [r4, 0x22] - bl sub_81180F4 - movs r2, 0x22 - ldrsh r1, [r4, r2] - ldr r0, _08116730 @ =0x0000270e - cmp r1, r0 - ble _08116734 - strh r5, [r4, 0xA] - b _0811674A - .align 2, 0 -_08116730: .4byte 0x0000270e -_08116734: - ldrh r0, [r4, 0xA] - subs r0, 0x1 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0x16] - adds r0, 0x1 - b _08116748 -_08116740: - movs r0, 0x15 - bl m4aSongNumStop - movs r0, 0 -_08116748: - strh r0, [r4, 0x16] -_0811674A: - ldr r0, _08116770 @ =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r0 - movs r2, 0xA - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _08116768 - ldr r1, _08116774 @ =sub_81167F4 - ldr r2, _08116778 @ =0x0000ffff - adds r0, r6, 0 - movs r3, 0x3 - bl sub_8116C34 -_08116768: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08116770: .4byte gTasks -_08116774: .4byte sub_81167F4 -_08116778: .4byte 0x0000ffff - thumb_func_end sub_81166E8 - - thumb_func_start sub_811677C -sub_811677C: @ 811677C - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r3, _081167DC @ =gStringVar1 - ldr r6, _081167E0 @ =gSharedMem + 0x19000 - ldrb r2, [r6, 0x19] - ldr r1, _081167E4 @ =gTasks - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - adds r4, r1 - movs r1, 0xC - ldrsh r0, [r4, r1] - adds r1, r2, 0 - muls r1, r0 - adds r0, r3, 0 - movs r2, 0 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r5, _081167E8 @ =gStringVar4 - ldr r1, _081167EC @ =gUnknown_081C41BD - adds r0, r5, 0 - bl StringExpandPlaceholders - movs r0, 0 - movs r1, 0xE - movs r2, 0x1D - movs r3, 0x13 - bl MenuDrawTextWindow - adds r0, r5, 0 - movs r1, 0x1 - movs r2, 0xF - bl MenuPrint - ldrb r1, [r6, 0x19] - movs r2, 0xC - ldrsh r0, [r4, r2] - muls r0, r1 - movs r1, 0 - strh r0, [r4, 0xA] - strh r1, [r4, 0x16] - ldr r0, _081167F0 @ =sub_81166E8 - str r0, [r4] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_081167DC: .4byte gStringVar1 -_081167E0: .4byte gSharedMem + 0x19000 -_081167E4: .4byte gTasks -_081167E8: .4byte gStringVar4 -_081167EC: .4byte gUnknown_081C41BD -_081167F0: .4byte sub_81166E8 - thumb_func_end sub_811677C - - thumb_func_start sub_81167F4 -sub_81167F4: @ 81167F4 - push {r4-r6,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r4, _08116868 @ =gSharedMem + 0x190B8 - ldr r1, _0811686C @ =0x0000ffff - adds r0, r4, 0 - bl sub_8124D3C - adds r3, r4, 0 - adds r3, 0xB8 - ldrb r2, [r3] - movs r1, 0x7F - adds r0, r1, 0 - ands r0, r2 - strb r0, [r3] - subs r3, 0xC - ldrb r2, [r3] - adds r0, r1, 0 - ands r0, r2 - strb r0, [r3] - adds r2, r4, 0 - adds r2, 0xA0 - ldrb r0, [r2] - ands r1, r0 - strb r1, [r2] - ldr r6, _08116870 @ =gSprites - ldr r2, _08116874 @ =gUnknown_083F8C00 - ldr r0, _08116878 @ =gTasks - lsls r3, r5, 2 - adds r3, r5 - lsls r3, 3 - adds r3, r0 - movs r0, 0x20 - ldrsh r1, [r3, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0] - adds r4, r0 - subs r4, 0x75 - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - ldr r0, _0811687C @ =sub_8116880 - str r0, [r3] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08116868: .4byte gSharedMem + 0x190B8 -_0811686C: .4byte 0x0000ffff -_08116870: .4byte gSprites -_08116874: .4byte gUnknown_083F8C00 -_08116878: .4byte gTasks -_0811687C: .4byte sub_8116880 - thumb_func_end sub_81167F4 - - thumb_func_start sub_8116880 -sub_8116880: @ 8116880 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r6, r0, 24 - movs r5, 0 - ldr r1, _08116954 @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - movs r2, 0 - strh r5, [r0, 0x10] - ldr r4, _08116958 @ =gSharedMem + 0x19000 - ldrb r0, [r4, 0x1A] - lsls r0, 28 - lsrs r0, 28 - adds r1, r4, 0 - adds r1, 0x1B - adds r0, r1 - strb r2, [r0] - movs r0, 0 - bl sub_8117158 - ldr r3, _0811695C @ =gSprites - adds r0, r4, 0 - adds r0, 0x6C - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - adds r7, r3, 0 - movs r0, 0x3C - adds r0, r4 - mov r10, r0 - movs r1, 0x8 - adds r1, r7 - mov r8, r1 - ldr r0, _08116960 @ =0xfffffc00 - mov r9, r0 - ldr r1, _08116964 @ =0x000003ff - mov r12, r1 -_081168E4: - adds r0, r5, 0 - adds r0, 0x29 - add r0, r10 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r3, r0, r7 - adds r2, r3, 0 - adds r2, 0x40 - add r0, r8 - ldr r0, [r0] - ldr r0, [r0] - ldrh r1, [r0] - ldrh r2, [r2] - adds r1, r2 - mov r0, r12 - ands r1, r0 - ldrh r2, [r3, 0x4] - mov r0, r9 - ands r0, r2 - orrs r0, r1 - strh r0, [r3, 0x4] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x3 - bls _081168E4 - ldr r0, _08116954 @ =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r2, r1, r0 - movs r1, 0x22 - ldrsh r0, [r2, r1] - ldrb r4, [r4, 0x19] - cmp r0, r4 - blt _081169BC - movs r1, 0x14 - ldrsh r0, [r2, r1] - cmp r0, 0x6 - bne _08116970 - movs r0, 0 - movs r1, 0xE - movs r2, 0x1D - movs r3, 0x13 - bl MenuDrawTextWindow - ldr r0, _08116968 @ =gUnknown_081C41F1 - movs r1, 0x1 - movs r2, 0xF - bl MenuPrint - ldr r1, _0811696C @ =dp01t_12_3_battle_menu - b _08116992 - .align 2, 0 -_08116954: .4byte gTasks -_08116958: .4byte gSharedMem + 0x19000 -_0811695C: .4byte gSprites -_08116960: .4byte 0xfffffc00 -_08116964: .4byte 0x000003ff -_08116968: .4byte gUnknown_081C41F1 -_0811696C: .4byte dp01t_12_3_battle_menu -_08116970: - movs r0, 0x22 - ldrsh r1, [r2, r0] - ldr r0, _081169A0 @ =0x0000270f - cmp r1, r0 - bne _081169B0 - movs r0, 0 - movs r1, 0xE - movs r2, 0x1D - movs r3, 0x13 - bl MenuDrawTextWindow - ldr r0, _081169A4 @ =gUnknown_081C4231 - movs r1, 0x1 - movs r2, 0xF - bl MenuPrint - ldr r1, _081169A8 @ =sub_8115734 -_08116992: - ldr r2, _081169AC @ =0x0000ffff - adds r0, r6, 0 - movs r3, 0x3 - bl sub_8116C34 - b _081169DE - .align 2, 0 -_081169A0: .4byte 0x0000270f -_081169A4: .4byte gUnknown_081C4231 -_081169A8: .4byte sub_8115734 -_081169AC: .4byte 0x0000ffff -_081169B0: - ldr r0, _081169B8 @ =sub_8115734 - str r0, [r2] - b _081169DE - .align 2, 0 -_081169B8: .4byte sub_8115734 -_081169BC: - movs r0, 0 - movs r1, 0xE - movs r2, 0x1D - movs r3, 0x13 - bl MenuDrawTextWindow - ldr r0, _081169EC @ =gUnknown_081C41D2 - movs r1, 0x1 - movs r2, 0xF - bl MenuPrint - ldr r1, _081169F0 @ =sub_81157AC - adds r0, r6, 0 - movs r2, 0x3C - movs r3, 0x3 - bl sub_8116C34 -_081169DE: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081169EC: .4byte gUnknown_081C41D2 -_081169F0: .4byte sub_81157AC - thumb_func_end sub_8116880 - - thumb_func_start dp01t_12_3_battle_menu -dp01t_12_3_battle_menu: @ 81169F4 - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - ldr r1, _08116A84 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - strh r4, [r0, 0x14] - adds r0, r5, 0 - bl sub_8116CAC - bl sub_8116CF8 - bl sub_81185E8 - movs r0, 0 - bl sub_8117158 - movs r0, 0x6 - bl sub_81182F8 - ldr r7, _08116A88 @ =gSprites - ldr r3, _08116A8C @ =gSharedMem + 0x1903C - movs r6, 0x5 - negs r6, r6 -_08116A2A: - adds r0, r4, 0x7 - adds r0, r3 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r7 - adds r1, 0x3E - ldrb r2, [r1] - adds r0, r6, 0 - ands r0, r2 - strb r0, [r1] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xB - bls _08116A2A - ldr r1, _08116A84 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r2, r0, r1 - movs r0, 0x22 - ldrsh r1, [r2, r0] - ldr r0, _08116A90 @ =0x0000270f - cmp r1, r0 - bne _08116AA0 - movs r0, 0 - movs r1, 0xE - movs r2, 0x1D - movs r3, 0x13 - bl MenuDrawTextWindow - ldr r0, _08116A94 @ =gUnknown_081C4231 - movs r1, 0x1 - movs r2, 0xF - bl MenuPrint - ldr r1, _08116A98 @ =sub_8115734 - ldr r2, _08116A9C @ =0x0000ffff - adds r0, r5, 0 - movs r3, 0x3 - bl sub_8116C34 - b _08116AA4 - .align 2, 0 -_08116A84: .4byte gTasks -_08116A88: .4byte gSprites -_08116A8C: .4byte gSharedMem + 0x1903C -_08116A90: .4byte 0x0000270f -_08116A94: .4byte gUnknown_081C4231 -_08116A98: .4byte sub_8115734 -_08116A9C: .4byte 0x0000ffff -_08116AA0: - ldr r0, _08116AAC @ =sub_8115734 - str r0, [r2] -_08116AA4: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08116AAC: .4byte sub_8115734 - thumb_func_end dp01t_12_3_battle_menu - - thumb_func_start sub_8116AB0 -sub_8116AB0: @ 8116AB0 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r4, _08116AF0 @ =gSharedMem + 0x190B8 - ldr r1, _08116AF4 @ =0x0000ffff - adds r0, r4, 0 - bl sub_8124D3C - adds r0, r4, 0 - bl sub_8124918 - ldr r1, _08116AF8 @ =gSaveBlock1 - ldr r2, _08116AFC @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r2 - ldrh r0, [r0, 0x22] - ldr r2, _08116B00 @ =0x00000494 - adds r1, r2 - strh r0, [r1] - subs r4, 0xB8 - lsls r0, 16 - lsrs r0, 16 - ldrb r4, [r4, 0x19] - cmp r0, r4 - bcs _08116B08 - ldr r1, _08116B04 @ =gSpecialVar_0x8004 - movs r0, 0x1 - b _08116B0C - .align 2, 0 -_08116AF0: .4byte gSharedMem + 0x190B8 -_08116AF4: .4byte 0x0000ffff -_08116AF8: .4byte gSaveBlock1 -_08116AFC: .4byte gTasks -_08116B00: .4byte 0x00000494 -_08116B04: .4byte gSpecialVar_0x8004 -_08116B08: - ldr r1, _08116B34 @ =gSpecialVar_0x8004 - movs r0, 0 -_08116B0C: - strh r0, [r1] - movs r0, 0 - str r0, [sp] - movs r0, 0xFF - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginHardwarePaletteFade - ldr r1, _08116B38 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, _08116B3C @ =sub_8116B40 - str r1, [r0] - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08116B34: .4byte gSpecialVar_0x8004 -_08116B38: .4byte gTasks -_08116B3C: .4byte sub_8116B40 - thumb_func_end sub_8116AB0 - - thumb_func_start sub_8116B40 -sub_8116B40: @ 8116B40 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - bl UpdatePaletteFade - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _08116B9E - movs r0, 0 - bl SetVBlankCallback - ldr r0, _08116BA4 @ =gSharedMem + 0x19000 - movs r2, 0xBE - lsls r2, 1 - movs r1, 0 - bl memset - ldr r1, _08116BA8 @ =gSpriteCoordOffsetX - ldr r0, _08116BAC @ =gSpriteCoordOffsetY - strh r4, [r0] - strh r4, [r1] - bl sub_80F9368 - bl FreeAllSpritePalettes - bl ResetPaletteFade - bl ResetSpriteData - bl sub_80F9020 - ldr r0, _08116BB0 @ =REG_BLDCNT - strh r4, [r0] - adds r0, 0x2 - strh r4, [r0] - adds r0, 0x2 - strh r4, [r0] - ldr r1, _08116BB4 @ =gFieldCallback - ldr r0, _08116BB8 @ =sub_8080990 - str r0, [r1] - ldr r0, _08116BBC @ =c2_exit_to_overworld_2_switch - bl SetMainCallback2 - adds r0, r5, 0 - bl DestroyTask -_08116B9E: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08116BA4: .4byte gSharedMem + 0x19000 -_08116BA8: .4byte gSpriteCoordOffsetX -_08116BAC: .4byte gSpriteCoordOffsetY -_08116BB0: .4byte REG_BLDCNT -_08116BB4: .4byte gFieldCallback -_08116BB8: .4byte sub_8080990 -_08116BBC: .4byte c2_exit_to_overworld_2_switch - thumb_func_end sub_8116B40 - - thumb_func_start sub_8116BC0 -sub_8116BC0: @ 8116BC0 - push {r4-r7,lr} - lsls r0, 24 - lsrs r3, r0, 24 - ldr r0, _08116C24 @ =gSharedMem + 0x19000 - adds r7, r0, 0 - adds r7, 0xA8 - ldrh r1, [r7] - adds r6, r0, 0 - cmp r1, 0 - beq _08116BE4 - ldr r0, _08116C28 @ =gMain - adds r2, r6, 0 - adds r2, 0xAA - ldrh r1, [r0, 0x2E] - ldrh r0, [r2] - ands r0, r1 - cmp r0, 0 - beq _08116C0E -_08116BE4: - ldr r1, _08116C2C @ =gTasks - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 3 - adds r0, r1 - adds r5, r6, 0 - adds r5, 0xAC - ldr r1, [r5] - str r1, [r0] - adds r4, r6, 0 - adds r4, 0xAA - ldrh r0, [r4] - cmp r0, 0 - beq _08116C06 - movs r0, 0x5 - bl PlaySE -_08116C06: - movs r0, 0 - str r0, [r5] - strh r0, [r4] - strh r0, [r7] -_08116C0E: - adds r2, r6, 0 - adds r2, 0xA8 - ldrh r1, [r2] - ldr r0, _08116C30 @ =0x0000ffff - cmp r1, r0 - beq _08116C1E - subs r0, r1, 0x1 - strh r0, [r2] -_08116C1E: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08116C24: .4byte gSharedMem + 0x19000 -_08116C28: .4byte gMain -_08116C2C: .4byte gTasks -_08116C30: .4byte 0x0000ffff - thumb_func_end sub_8116BC0 - - thumb_func_start sub_8116C34 -sub_8116C34: @ 8116C34 - push {r4-r7,lr} - adds r5, r1, 0 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r2, 16 - lsrs r4, r2, 16 - lsls r3, 16 - lsrs r3, 16 - ldr r0, _08116C84 @ =gSharedMem + 0x19000 - mov r12, r0 - mov r2, r12 - adds r2, 0xB4 - ldr r1, _08116C88 @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldr r0, [r0] - str r0, [r2] - mov r2, r12 - adds r7, r1, 0 - cmp r5, 0 - bne _08116C64 - adds r5, r0, 0 -_08116C64: - adds r0, r2, 0 - adds r0, 0xAC - str r5, [r0] - subs r0, 0x4 - strh r4, [r0] - ldr r0, _08116C8C @ =0x0000ffff - cmp r4, r0 - bne _08116C90 - cmp r3, 0 - bne _08116C90 - adds r1, r2, 0 - adds r1, 0xAA - ldrh r0, [r1] - orrs r4, r0 - strh r4, [r1] - b _08116C96 - .align 2, 0 -_08116C84: .4byte gSharedMem + 0x19000 -_08116C88: .4byte gTasks -_08116C8C: .4byte 0x0000ffff -_08116C90: - adds r0, r2, 0 - adds r0, 0xAA - strh r3, [r0] -_08116C96: - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r7 - ldr r1, _08116CA8 @ =sub_8116BC0 - str r1, [r0] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08116CA8: .4byte sub_8116BC0 - thumb_func_end sub_8116C34 - - thumb_func_start sub_8116CAC -sub_8116CAC: @ 8116CAC - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r2, 0 - ldr r0, _08116CF0 @ =gSharedMem + 0x19000 - strb r2, [r0] - movs r1, 0 - strb r1, [r0, 0x3] - adds r3, r0, 0 - ldr r6, _08116CF4 @ =gTasks - adds r4, r3, 0 - adds r4, 0x1B -_08116CC4: - adds r0, r2, r4 - strb r1, [r0] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x5 - bls _08116CC4 - ldrb r1, [r3, 0x1A] - movs r0, 0x10 - negs r0, r0 - ands r0, r1 - strb r0, [r3, 0x1A] - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r6 - movs r1, 0 - strh r1, [r0, 0xA] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08116CF0: .4byte gSharedMem + 0x19000 -_08116CF4: .4byte gTasks - thumb_func_end sub_8116CAC - - thumb_func_start sub_8116CF8 -sub_8116CF8: @ 8116CF8 - push {lr} - ldr r1, _08116D48 @ =gSharedMem + 0x19000 - movs r0, 0 - str r0, [r1, 0x8] - movs r2, 0 - adds r1, 0xC - movs r3, 0 -_08116D06: - adds r0, r2, r1 - strb r3, [r0] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x5 - bls _08116D06 - movs r2, 0 - ldr r3, _08116D4C @ =gSharedMem + 0x19012 - movs r1, 0 -_08116D1A: - adds r0, r2, r3 - strb r1, [r0] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x3 - bls _08116D1A - movs r2, 0 - ldr r3, _08116D50 @ =gSharedMem + 0x19016 - movs r1, 0 -_08116D2E: - adds r0, r2, r3 - strb r1, [r0] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x2 - bls _08116D2E - movs r0, 0x1 - movs r1, 0xFF - bl sub_8117C60 - pop {r0} - bx r0 - .align 2, 0 -_08116D48: .4byte gSharedMem + 0x19000 -_08116D4C: .4byte gSharedMem + 0x19012 -_08116D50: .4byte gSharedMem + 0x19016 - thumb_func_end sub_8116CF8 - - thumb_func_start sub_8116D54 -sub_8116D54: @ 8116D54 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x1C - lsls r0, 24 - lsrs r3, r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - mov r1, sp - ldr r0, _08116D88 @ =gUnknown_083F8ED8 - ldm r0!, {r2,r4,r6} - stm r1!, {r2,r4,r6} - ldr r0, [r0] - str r0, [r1] - add r2, sp, 0x10 - adds r1, r2, 0 - ldr r0, _08116D8C @ =gUnknown_083F8EE8 - ldm r0!, {r4,r6,r7} - stm r1!, {r4,r6,r7} - mov r9, r2 - cmp r5, 0xB - bls _08116D90 - movs r0, 0 - b _08116E38 - .align 2, 0 -_08116D88: .4byte gUnknown_083F8ED8 -_08116D8C: .4byte gUnknown_083F8EE8 -_08116D90: - ldr r6, _08116E48 @ =gSharedMem + 0x19000 - ldr r1, _08116E4C @ =gTasks - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 3 - adds r0, r1 - movs r7, 0x14 - ldrsh r2, [r0, r7] - adds r2, r6, r2 - ldr r4, _08116E50 @ =gUnknown_083F8D90 - lsls r5, 3 - adds r3, r5, r4 - ldrb r1, [r3, 0x2] - strb r1, [r2, 0xB] - ldrb r1, [r3, 0x2] - strh r1, [r0, 0x20] - adds r0, r4, 0x4 - adds r0, r5, r0 - ldr r1, [r6, 0x8] - ldr r0, [r0] - orrs r1, r0 - str r1, [r6, 0x8] - movs r3, 0 - mov r8, r4 - mov r12, r5 - adds r5, r0, 0 - adds r4, r6, 0 - adds r4, 0x12 -_08116DC8: - lsls r0, r3, 2 - mov r1, sp - adds r2, r1, r0 - ldr r0, [r2] - ands r0, r5 - cmp r0, 0 - beq _08116DDE - adds r1, r3, r4 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_08116DDE: - adds r0, r3, r4 - ldrb r0, [r0] - cmp r0, 0x2 - bls _08116DEE - ldr r0, [r6, 0x8] - ldr r1, [r2] - orrs r0, r1 - str r0, [r6, 0x8] -_08116DEE: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x3 - bls _08116DC8 - movs r2, 0 - ldr r0, _08116E54 @ =gUnknown_083F8D90 + 0x4 - add r0, r12 - ldr r7, [r0] - ldr r4, _08116E58 @ =gSharedMem + 0x19016 - mov r5, r9 -_08116E04: - lsls r0, r2, 2 - adds r3, r5, r0 - ldr r0, [r3] - ands r0, r7 - cmp r0, 0 - beq _08116E18 - adds r1, r2, r4 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_08116E18: - adds r0, r2, r4 - ldrb r0, [r0] - cmp r0, 0x3 - bls _08116E28 - ldr r0, [r6, 0x8] - ldr r1, [r3] - orrs r0, r1 - str r0, [r6, 0x8] -_08116E28: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x2 - bls _08116E04 - mov r0, r12 - add r0, r8 - ldrb r0, [r0, 0x2] -_08116E38: - add sp, 0x1C - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08116E48: .4byte gSharedMem + 0x19000 -_08116E4C: .4byte gTasks -_08116E50: .4byte gUnknown_083F8D90 -_08116E54: .4byte gUnknown_083F8D90 + 0x4 -_08116E58: .4byte gSharedMem + 0x19016 - thumb_func_end sub_8116D54 - - thumb_func_start sub_8116E5C -sub_8116E5C: @ 8116E5C - push {lr} - lsls r0, 24 - lsls r1, 24 - lsrs r2, r1, 24 - lsrs r3, r0, 24 - movs r1, 0xFF - lsls r1, 24 - adds r0, r1 - lsrs r0, 24 - cmp r0, 0x12 - bhi _08116EF0 - cmp r2, 0xF - bhi _08116EEC - lsls r0, r2, 2 - ldr r1, _08116E80 @ =_08116E84 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08116E80: .4byte _08116E84 - .align 2, 0 -_08116E84: - .4byte _08116EC4 - .4byte _08116EC8 - .4byte _08116EC8 - .4byte _08116EC8 - .4byte _08116EC8 - .4byte _08116EDC - .4byte _08116EEC - .4byte _08116EEC - .4byte _08116EEC - .4byte _08116EEC - .4byte _08116EDC - .4byte _08116EEC - .4byte _08116EEC - .4byte _08116EEC - .4byte _08116EEC - .4byte _08116EDC -_08116EC4: - movs r0, 0x3 - b _08116EF2 -_08116EC8: - adds r0, r2, 0x5 - cmp r3, r0 - beq _08116EE8 - adds r0, 0x5 - cmp r3, r0 - beq _08116EE8 - adds r0, 0x5 - cmp r3, r0 - bne _08116EF0 - b _08116EE8 -_08116EDC: - adds r0, r2, 0x1 - cmp r3, r0 - blt _08116EF0 - adds r0, r2, 0x4 - cmp r3, r0 - bgt _08116EF0 -_08116EE8: - movs r0, 0x1 - b _08116EF2 -_08116EEC: - cmp r3, r2 - beq _08116EE8 -_08116EF0: - movs r0, 0 -_08116EF2: - pop {r1} - bx r1 - thumb_func_end sub_8116E5C - - thumb_func_start sub_8116EF8 -sub_8116EF8: @ 8116EF8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x20 - lsls r0, 24 - lsrs r6, r0, 24 - movs r0, 0 - str r0, [sp, 0x18] - cmp r6, 0xA - beq _08116F1E - cmp r6, 0xA - bgt _08116F1A - cmp r6, 0x5 - beq _08116F1E - b _08116F7C -_08116F1A: - cmp r6, 0xF - bne _08116F7C -_08116F1E: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r6, 0x5 - ldr r7, _08116F70 @ =gSharedMem + 0x190B8 - cmp r4, r0 - bge _08116F5E - adds r1, r7, 0 - subs r1, 0xB8 - ldr r3, _08116F74 @ =gUnknown_083F8C00 - ldr r5, [r1, 0x8] - adds r6, r3, 0 - adds r6, 0x8 - adds r2, r0, 0 -_08116F3A: - lsls r0, r4, 2 - adds r0, r4 - lsls r1, r0, 2 - adds r0, r1, r6 - ldr r0, [r0] - ands r0, r5 - cmp r0, 0 - bne _08116F54 - adds r0, r1, r3 - ldrh r0, [r0, 0x10] - ldr r1, [sp, 0x18] - orrs r1, r0 - str r1, [sp, 0x18] -_08116F54: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r2 - blt _08116F3A -_08116F5E: - ldr r0, _08116F78 @ =0x0000dfff - ldr r2, [sp, 0x18] - ands r2, r0 - str r2, [sp, 0x18] - adds r0, r7, 0 - adds r1, r2, 0 - bl sub_8124CE8 - b _0811713C - .align 2, 0 -_08116F70: .4byte gSharedMem + 0x190B8 -_08116F74: .4byte gUnknown_083F8C00 -_08116F78: .4byte 0x0000dfff -_08116F7C: - mov r0, sp - ldr r1, _08116FC8 @ =gUnknown_083F8E9C - ldm r1!, {r2-r4} - stm r0!, {r2-r4} - ldm r1!, {r2-r4} - stm r0!, {r2-r4} - subs r0, r6, 0x1 - lsls r0, 24 - lsrs r0, 24 - movs r3, 0x1 - mov r10, r3 - cmp r0, 0x3 - bhi _08116F9A - movs r4, 0x3 - mov r10, r4 -_08116F9A: - adds r0, r6, 0 - movs r1, 0x5 - bl __udivsi3 - lsls r0, 24 - lsrs r0, 8 - ldr r1, _08116FCC @ =0xffff0000 - adds r0, r1 - lsrs r7, r0, 16 - adds r0, r6, 0 - movs r1, 0x5 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - beq _08116FF8 - cmp r0, 0x2 - bgt _08116FD4 - cmp r0, 0x1 - beq _08116FE4 - ldr r4, _08116FD0 @ =gSharedMem + 0x19000 - b _0811703A - .align 2, 0 -_08116FC8: .4byte gUnknown_083F8E9C -_08116FCC: .4byte 0xffff0000 -_08116FD0: .4byte gSharedMem + 0x19000 -_08116FD4: - cmp r0, 0x3 - beq _0811700C - cmp r0, 0x4 - beq _08117020 - ldr r4, _08116FE0 @ =gSharedMem + 0x19000 - b _0811703A - .align 2, 0 -_08116FE0: .4byte gSharedMem + 0x19000 -_08116FE4: - ldr r3, _08116FF0 @ =gSprites - ldr r2, _08116FF4 @ =gSharedMem + 0x19000 - adds r0, r2, 0 - adds r0, 0x43 - b _08117028 - .align 2, 0 -_08116FF0: .4byte gSprites -_08116FF4: .4byte gSharedMem + 0x19000 -_08116FF8: - ldr r3, _08117004 @ =gSprites - ldr r2, _08117008 @ =gSharedMem + 0x19000 - adds r0, r2, 0 - adds r0, 0x44 - b _08117028 - .align 2, 0 -_08117004: .4byte gSprites -_08117008: .4byte gSharedMem + 0x19000 -_0811700C: - ldr r3, _08117018 @ =gSprites - ldr r2, _0811701C @ =gSharedMem + 0x19000 - adds r0, r2, 0 - adds r0, 0x45 - b _08117028 - .align 2, 0 -_08117018: .4byte gSprites -_0811701C: .4byte gSharedMem + 0x19000 -_08117020: - ldr r3, _08117088 @ =gSprites - ldr r2, _0811708C @ =gSharedMem + 0x19000 - adds r0, r2, 0 - adds r0, 0x46 -_08117028: - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrb r0, [r0, 0x5] - lsrs r0, 4 - lsls r7, r0, 4 - adds r4, r2, 0 -_0811703A: - mov r2, r10 - cmp r2, 0x1 - bne _08117094 - ldr r1, _08117090 @ =gUnknown_083F8C00 - lsls r2, r6, 2 - adds r0, r2, r6 - lsls r0, 2 - adds r1, 0x8 - adds r0, r1 - ldr r1, [r4, 0x8] - ldr r0, [r0] - ands r1, r0 - str r2, [sp, 0x1C] - cmp r1, 0 - bne _0811713C - adds r0, r6, 0 - movs r1, 0x5 - bl __udivsi3 - lsls r0, 24 - lsrs r0, 24 - subs r1, r0, 0x1 - lsls r1, 3 - mov r3, sp - adds r2, r3, r1 - ldrh r1, [r2, 0x2] - adds r1, r7, r1 - strh r1, [r2, 0x2] - adds r1, r4, 0 - adds r1, 0xB8 - lsls r0, 3 - subs r0, 0x8 - adds r2, r3, r0 - adds r0, r1, 0 - movs r1, 0xD - bl sub_812492C - b _08117122 - .align 2, 0 -_08117088: .4byte gSprites -_0811708C: .4byte gSharedMem + 0x19000 -_08117090: .4byte gUnknown_083F8C00 -_08117094: - movs r4, 0 - lsls r0, r6, 2 - str r0, [sp, 0x1C] - ldr r1, _0811714C @ =gSharedMem + 0x19000 - mov r8, r1 - ldr r2, _08117150 @ =gUnknown_083F8C00 - mov r9, r2 -_081170A2: - lsls r0, r4, 2 - adds r0, r4 - adds r0, r6, r0 - adds r0, 0x5 - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r5, r0, 2 - mov r0, r9 - adds r0, 0x8 - adds r0, r5, r0 - mov r3, r8 - ldr r1, [r3, 0x8] - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _0811710E - adds r0, r2, 0 - movs r1, 0x5 - bl __udivsi3 - lsls r0, 24 - lsrs r0, 24 - subs r1, r0, 0x1 - lsls r1, 3 - mov r3, sp - adds r2, r3, r1 - ldrh r1, [r2, 0x2] - adds r1, r7, r1 - strh r1, [r2, 0x2] - adds r1, r4, 0 - adds r1, 0xD - lsls r1, 24 - lsrs r1, 24 - lsls r0, 3 - subs r0, 0x8 - adds r2, r3, r0 - mov r0, r8 - adds r0, 0xB8 - bl sub_812492C - mov r0, r10 - cmp r0, 0x3 - bne _08117104 - mov r1, r9 - adds r0, r5, r1 - ldrh r0, [r0, 0x10] - str r0, [sp, 0x18] -_08117104: - mov r0, r10 - subs r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 -_0811710E: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x2 - bls _081170A2 - mov r2, r10 - cmp r2, 0x2 - beq _08117122 - movs r3, 0 - str r3, [sp, 0x18] -_08117122: - ldr r0, _08117154 @ =gSharedMem + 0x190B8 - ldr r2, _08117150 @ =gUnknown_083F8C00 - ldr r4, [sp, 0x1C] - adds r1, r4, r6 - lsls r1, 2 - adds r1, r2 - ldrh r1, [r1, 0x10] - ldr r2, [sp, 0x18] - orrs r2, r1 - str r2, [sp, 0x18] - adds r1, r2, 0 - bl sub_8124CE8 -_0811713C: - add sp, 0x20 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0811714C: .4byte gSharedMem + 0x19000 -_08117150: .4byte gUnknown_083F8C00 -_08117154: .4byte gSharedMem + 0x190B8 - thumb_func_end sub_8116EF8 - - thumb_func_start sub_8117158 -sub_8117158: @ 8117158 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x24 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r4, _0811719C @ =gSharedMem + 0x19000 - movs r0, 0x1 - strh r0, [r4, 0x2A] - movs r0, 0 - movs r1, 0 - bl sub_8117AA8 - ldr r0, _081171A0 @ =gBGTilemapBuffers + 0x800 - ldr r1, _081171A4 @ =0xfffff800 - adds r4, r1 - movs r1, 0x10 - str r1, [sp] - movs r1, 0xD - str r1, [sp, 0x4] - adds r1, r4, 0 - movs r2, 0xE - movs r3, 0x7 - bl sub_8124E2C - cmp r5, 0xF - bhi _08117250 - lsls r0, r5, 2 - ldr r1, _081171A8 @ =_081171AC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0811719C: .4byte gSharedMem + 0x19000 -_081171A0: .4byte gBGTilemapBuffers + 0x800 -_081171A4: .4byte 0xfffff800 -_081171A8: .4byte _081171AC - .align 2, 0 -_081171AC: - .4byte _08117360 - .4byte _081171EC - .4byte _081171EC - .4byte _081171EC - .4byte _081171EC - .4byte _08117220 - .4byte _08117250 - .4byte _08117250 - .4byte _08117250 - .4byte _08117250 - .4byte _08117220 - .4byte _08117250 - .4byte _08117250 - .4byte _08117250 - .4byte _08117250 - .4byte _08117220 -_081171EC: - movs r0, 0x4 - str r0, [sp, 0x18] - add r1, sp, 0x8 - movs r0, 0 - strb r0, [r1] - adds r0, r1, 0 - ldrb r0, [r0] - cmp r0, 0x3 - bhi _08117258 - add r4, sp, 0x10 - adds r3, r1, 0 -_08117202: - ldrb r2, [r3] - adds r2, r4 - ldrb r1, [r3] - lsls r0, r1, 2 - adds r0, r1 - adds r0, r5, r0 - strb r0, [r2] - ldrb r0, [r3] - adds r0, 0x1 - strb r0, [r3] - ldrb r0, [r3] - ldr r1, [sp, 0x18] - cmp r0, r1 - bcc _08117202 - b _08117258 -_08117220: - movs r0, 0x5 - str r0, [sp, 0x18] - add r1, sp, 0x8 - movs r0, 0 - strb r0, [r1] - adds r0, r1, 0 - ldrb r0, [r0] - cmp r0, 0x4 - bhi _08117258 - add r3, sp, 0x10 - adds r2, r1, 0 -_08117236: - ldrb r1, [r2] - adds r1, r3 - ldrb r0, [r2] - adds r0, r5, r0 - strb r0, [r1] - ldrb r0, [r2] - adds r0, 0x1 - strb r0, [r2] - ldrb r0, [r2] - ldr r1, [sp, 0x18] - cmp r0, r1 - bcc _08117236 - b _08117258 -_08117250: - movs r0, 0x1 - str r0, [sp, 0x18] - add r0, sp, 0x10 - strb r5, [r0] -_08117258: - add r1, sp, 0x8 - movs r0, 0 - strb r0, [r1] - adds r0, r1, 0 - ldrb r0, [r0] - ldr r1, [sp, 0x18] - cmp r0, r1 - bcs _08117360 - mov r0, sp - adds r0, 0xE - str r0, [sp, 0x1C] - add r1, sp, 0x10 - mov r9, r1 - add r0, sp, 0x8 - mov r12, r0 - mov r1, sp - adds r1, 0xA - str r1, [sp, 0x20] -_0811727C: - mov r1, r12 - ldrb r0, [r1] - add r0, r9 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - ldr r1, _08117370 @ =gUnknown_083F8C00 - adds r0, r1 - ldrb r0, [r0, 0x6] - ldr r1, [sp, 0x1C] - strb r0, [r1] - mov r1, r12 - ldrb r0, [r1] - add r0, r9 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - ldr r1, _08117370 @ =gUnknown_083F8C00 - adds r0, r1 - ldrb r0, [r0, 0x3] - ldr r1, [sp, 0x20] - strh r0, [r1] - mov r4, sp - adds r4, 0x9 - movs r0, 0 - strb r0, [r4] - ldrb r0, [r4] - cmp r0, 0x2 - bhi _08117350 - add r5, sp, 0xC - ldr r7, [sp, 0x20] - ldr r0, _08117374 @ =gBGTilemapBuffers + 0x800 - mov r8, r0 - ldr r6, [sp, 0x1C] - ldr r1, _08117378 @ =gSharedMem + 0x189A0 - mov r10, r1 -_081172C8: - mov r1, r12 - ldrb r0, [r1] - add r0, r9 - ldrb r0, [r0] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - ldr r0, _08117370 @ =gUnknown_083F8C00 - adds r1, r0 - adds r3, r4, 0 - ldrb r0, [r4] - ldrb r1, [r1, 0x4] - adds r0, r1 - lsls r0, 5 - strh r0, [r5] - ldrh r0, [r7] - ldrh r2, [r5] - adds r2, r0 - lsls r2, 1 - add r2, r8 - ldrb r0, [r6] - ldrb r1, [r4] - adds r1, r0 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 1 - add r0, r10 - ldrh r0, [r0] - strh r0, [r2] - ldrh r0, [r7] - ldrh r2, [r5] - adds r2, r0 - adds r2, 0x1 - lsls r2, 1 - add r2, r8 - ldrb r0, [r6] - ldrb r1, [r4] - adds r1, r0 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 1 - mov r1, r10 - adds r1, 0x2 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r2] - ldrh r0, [r7] - ldrh r2, [r5] - adds r2, r0 - adds r2, 0x2 - lsls r2, 1 - add r2, r8 - ldrb r0, [r6] - ldrb r1, [r4] - adds r1, r0 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 1 - ldr r1, _0811737C @ =gSharedMem + 0x189A4 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r2] - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - ldrb r0, [r3] - cmp r0, 0x2 - bls _081172C8 -_08117350: - mov r1, r12 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldrb r0, [r1] - ldr r1, [sp, 0x18] - cmp r0, r1 - bcc _0811727C -_08117360: - add sp, 0x24 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08117370: .4byte gUnknown_083F8C00 -_08117374: .4byte gBGTilemapBuffers + 0x800 -_08117378: .4byte gSharedMem + 0x189A0 -_0811737C: .4byte gSharedMem + 0x189A4 - thumb_func_end sub_8117158 - - thumb_func_start sub_8117380 -sub_8117380: @ 8117380 - push {r4,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _081173B8 @ =gUnknown_083F8EF4 - mov r0, sp - movs r2, 0x5 - bl memcpy - cmp r4, 0x13 - bls _08117398 - movs r4, 0 -_08117398: - ldr r3, _081173BC @ =gUnknown_083F8C00 - lsls r0, r4, 2 - adds r0, r4 - lsls r2, r0, 2 - adds r0, r2, r3 - ldrb r0, [r0, 0x1] - lsls r0, 28 - lsrs r0, 28 - cmp r0, 0x4 - beq _081173EC - cmp r0, 0x4 - bgt _081173C0 - cmp r0, 0x3 - beq _081173C6 - b _08117428 - .align 2, 0 -_081173B8: .4byte gUnknown_083F8EF4 -_081173BC: .4byte gUnknown_083F8C00 -_081173C0: - cmp r0, 0xC - beq _0811740C - b _08117428 -_081173C6: - adds r0, r4, 0 - movs r1, 0x5 - bl __udivsi3 - subs r0, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _081173E8 @ =gSharedMem + 0x19000 - adds r0, 0x16 - adds r1, r4, r0 - ldrb r0, [r1] - cmp r0, 0x3 - bhi _08117428 - ldrb r0, [r1] - adds r0, 0x1 - b _08117402 - .align 2, 0 -_081173E8: .4byte gSharedMem + 0x19000 -_081173EC: - subs r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _08117408 @ =gSharedMem + 0x19000 - adds r0, 0x12 - adds r1, r4, r0 - ldrb r0, [r1] - cmp r0, 0x2 - bhi _08117428 - ldrb r0, [r1] - adds r0, 0x2 -_08117402: - add r0, sp - ldrb r0, [r0] - b _0811742A - .align 2, 0 -_08117408: .4byte gSharedMem + 0x19000 -_0811740C: - ldr r1, _08117424 @ =gSharedMem + 0x19000 - adds r0, r3, 0 - adds r0, 0x8 - adds r0, r2, r0 - ldr r1, [r1, 0x8] - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _08117428 - mov r0, sp - ldrb r0, [r0, 0x4] - b _0811742A - .align 2, 0 -_08117424: .4byte gSharedMem + 0x19000 -_08117428: - movs r0, 0 -_0811742A: - add sp, 0x8 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8117380 - - thumb_func_start sub_8117434 -sub_8117434: @ 8117434 - push {r4-r6,lr} - ldr r1, _081174AC @ =REG_BG2PA - ldr r4, _081174B0 @ =gSharedMem + 0x19000 - ldrh r0, [r4, 0x2C] - strh r0, [r1] - adds r1, 0x2 - ldrh r0, [r4, 0x2E] - strh r0, [r1] - adds r1, 0x2 - ldrh r0, [r4, 0x30] - strh r0, [r1] - adds r1, 0x2 - ldrh r0, [r4, 0x32] - strh r0, [r1] - movs r0, 0x2E - ldrsh r2, [r4, r0] - ldr r0, _081174B4 @ =gSpriteCoordOffsetY - movs r3, 0 - ldrsh r1, [r0, r3] - adds r1, 0x50 - adds r0, r2, 0 - muls r0, r1 - movs r2, 0xE8 - lsls r2, 7 - subs r2, r0 - movs r6, 0x2C - ldrsh r5, [r4, r6] - ldr r0, _081174B8 @ =gSpriteCoordOffsetX - movs r6, 0 - ldrsh r3, [r0, r6] - adds r3, 0x74 - adds r0, r5, 0 - muls r0, r3 - subs r2, r0 - movs r5, 0x32 - ldrsh r0, [r4, r5] - muls r0, r1 - movs r1, 0xA8 - lsls r1, 7 - subs r1, r0 - movs r6, 0x30 - ldrsh r0, [r4, r6] - muls r0, r3 - subs r1, r0 - ldr r0, _081174BC @ =REG_BG2X_L - strh r2, [r0] - adds r0, 0x2 - ldr r3, _081174C0 @ =0x0fff0000 - ands r2, r3 - asrs r2, 16 - strh r2, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - ands r1, r3 - asrs r1, 16 - strh r1, [r0] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_081174AC: .4byte REG_BG2PA -_081174B0: .4byte gSharedMem + 0x19000 -_081174B4: .4byte gSpriteCoordOffsetY -_081174B8: .4byte gSpriteCoordOffsetX -_081174BC: .4byte REG_BG2X_L -_081174C0: .4byte 0x0fff0000 - thumb_func_end sub_8117434 - - thumb_func_start sub_81174C4 -sub_81174C4: @ 81174C4 - push {lr} - lsls r0, 16 - asrs r0, 16 - lsls r1, 16 - asrs r1, 16 - muls r0, r1 - adds r1, r0, 0 - cmp r0, 0 - bge _081174D8 - adds r1, 0xFF -_081174D8: - lsls r0, r1, 8 - asrs r0, 16 - pop {r1} - bx r1 - thumb_func_end sub_81174C4 - - thumb_func_start sub_81174E0 -sub_81174E0: @ 81174E0 - push {lr} - adds r1, r0, 0 - movs r0, 0x80 - lsls r0, 9 - lsls r1, 16 - asrs r1, 16 - bl __divsi3 - lsls r0, 16 - asrs r0, 16 - pop {r1} - bx r1 - thumb_func_end sub_81174E0 - - thumb_func_start sub_81174F8 -sub_81174F8: @ 81174F8 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x14 - movs r1, 0x8 - movs r2, 0x1 - bl DisplayYesNoMenu - ldr r0, _08117520 @ =0x00002d9e - bl sub_814AAF8 - ldr r1, _08117524 @ =gUnknown_083F8EB4 - adds r0, r4, 0 - bl DoYesNoFuncWithChoice - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08117520: .4byte 0x00002d9e -_08117524: .4byte gUnknown_083F8EB4 - thumb_func_end sub_81174F8 - - thumb_func_start sub_8117528 -sub_8117528: @ 8117528 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _08117554 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0811754C - movs r0, 0 - bl SetVBlankCallback - ldr r0, _08117558 @ =sub_8115384 - bl SetMainCallback2 - adds r0, r4, 0 - bl DestroyTask -_0811754C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08117554: .4byte gPaletteFade -_08117558: .4byte sub_8115384 - thumb_func_end sub_8117528 - - thumb_func_start sub_811755C -sub_811755C: @ 811755C - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x14 - movs r1, 0x8 - movs r2, 0x1A - movs r3, 0xD - bl MenuZeroFillWindowRect - bl MenuZeroFillScreen - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r2, _081175B4 @ =gPaletteFade - ldrb r1, [r2, 0x8] - lsls r1, 26 - lsrs r1, 26 - ldrb r3, [r2, 0x4] - movs r0, 0x40 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x4] - bl UpdatePaletteFade - ldr r1, _081175B8 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _081175BC @ =sub_8117528 - str r1, [r0] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081175B4: .4byte gPaletteFade -_081175B8: .4byte gTasks -_081175BC: .4byte sub_8117528 - thumb_func_end sub_811755C - - thumb_func_start sub_81175C0 -sub_81175C0: @ 81175C0 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl MenuZeroFillScreen - bl ScriptContext2_Disable - adds r0, r4, 0 - bl DestroyTask - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81175C0 - - thumb_func_start sub_81175DC -sub_81175DC: @ 81175DC - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - adds r4, r0, 0 - ldr r1, _08117624 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r0, 0x8] - adds r2, r1, 0x1 - strh r2, [r0, 0x8] - ldr r0, _08117628 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - bne _08117608 - lsls r0, r2, 16 - asrs r0, 16 - cmp r0, 0x3C - ble _0811761C -_08117608: - ldr r1, _0811762C @ =gSpecialVar_0x8004 - movs r0, 0x1 - strh r0, [r1] - bl MenuZeroFillScreen - bl ScriptContext2_Disable - adds r0, r4, 0 - bl DestroyTask -_0811761C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08117624: .4byte gTasks -_08117628: .4byte gMain -_0811762C: .4byte gSpecialVar_0x8004 - thumb_func_end sub_81175DC - - thumb_func_start sub_8117630 -sub_8117630: @ 8117630 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r2, _0811768C @ =gUnknown_083F8DF0 - ldr r0, _08117690 @ =gSpecialVar_0x8004 - ldrh r1, [r0] - movs r0, 0x1 - ands r0, r1 - lsrs r1, 7 - lsls r1, 1 - adds r0, r1 - adds r0, r2 - ldrb r1, [r0] - ldr r0, _08117694 @ =gStringVar1 - movs r2, 0x2 - movs r3, 0x1 - bl ConvertIntToDecimalStringN - ldr r5, _08117698 @ =gStringVar4 - ldr r1, _0811769C @ =gUnknown_081C40DF - adds r0, r5, 0 - bl StringExpandPlaceholders - movs r0, 0 - movs r1, 0xE - movs r2, 0x1D - movs r3, 0x13 - bl MenuDrawTextWindow - adds r0, r5, 0 - movs r1, 0x1 - movs r2, 0xF - bl MenuPrint - ldr r1, _081176A0 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _081176A4 @ =sub_81174F8 - str r1, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0811768C: .4byte gUnknown_083F8DF0 -_08117690: .4byte gSpecialVar_0x8004 -_08117694: .4byte gStringVar1 -_08117698: .4byte gStringVar4 -_0811769C: .4byte gUnknown_081C40DF -_081176A0: .4byte gTasks -_081176A4: .4byte sub_81174F8 - thumb_func_end sub_8117630 - - thumb_func_start Task_Roulette_0 -Task_Roulette_0: @ 81176A8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, _08117758 @ =gStringVar1 - mov r10, r0 - ldr r1, _0811775C @ =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r6, r0, r1 - movs r0, 0x22 - ldrsh r1, [r6, r0] - mov r0, r10 - movs r2, 0x1 - movs r3, 0x4 - bl ConvertIntToDecimalStringN - ldr r5, _08117760 @ =gStringVar4 - ldr r1, _08117764 @ =gOtherText_Coins - adds r0, r5, 0 - bl StringExpandPlaceholders - movs r0, 0 - movs r1, 0 - movs r2, 0x9 - movs r3, 0x3 - bl MenuDrawTextWindow - adds r0, r5, 0 - movs r1, 0x9 - movs r2, 0x1 - bl MenuPrint_RightAligned - ldr r2, _08117768 @ =gUnknown_083F8DF0 - ldr r1, _0811776C @ =gSpecialVar_0x8004 - mov r8, r1 - ldrh r1, [r1] - movs r0, 0x1 - mov r9, r0 - ands r0, r1 - lsrs r1, 7 - lsls r1, 1 - adds r0, r1 - adds r0, r2 - ldrb r4, [r0] - mov r0, r10 - adds r1, r4, 0 - movs r2, 0x2 - movs r3, 0x1 - bl ConvertIntToDecimalStringN - movs r1, 0x22 - ldrsh r0, [r6, r1] - cmp r0, r4 - blt _081177BC - mov r0, r8 - ldrh r1, [r0] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0811777C - mov r0, r9 - ands r0, r1 - cmp r0, 0 - beq _0811777C - movs r0, 0 - movs r1, 0xE - movs r2, 0x1D - movs r3, 0x13 - bl MenuDrawTextWindow - ldr r0, _08117770 @ =gUnknown_081C4139 - movs r1, 0x1 - movs r2, 0xF - bl MenuPrint - ldr r1, _08117774 @ =sub_8117630 - ldr r2, _08117778 @ =0x0000ffff - adds r0, r7, 0 - movs r3, 0x3 - bl sub_8116C34 - b _081177E4 - .align 2, 0 -_08117758: .4byte gStringVar1 -_0811775C: .4byte gTasks -_08117760: .4byte gStringVar4 -_08117764: .4byte gOtherText_Coins -_08117768: .4byte gUnknown_083F8DF0 -_0811776C: .4byte gSpecialVar_0x8004 -_08117770: .4byte gUnknown_081C4139 -_08117774: .4byte sub_8117630 -_08117778: .4byte 0x0000ffff -_0811777C: - ldr r4, _081177AC @ =gStringVar4 - ldr r1, _081177B0 @ =gUnknown_081C40DF - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0 - movs r1, 0xE - movs r2, 0x1D - movs r3, 0x13 - bl MenuDrawTextWindow - adds r0, r4, 0 - movs r1, 0x1 - movs r2, 0xF - bl MenuPrint - ldr r1, _081177B4 @ =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - ldr r1, _081177B8 @ =sub_81174F8 - str r1, [r0] - b _081177E4 - .align 2, 0 -_081177AC: .4byte gStringVar4 -_081177B0: .4byte gUnknown_081C40DF -_081177B4: .4byte gTasks -_081177B8: .4byte sub_81174F8 -_081177BC: - ldr r1, _081177F4 @ =gUnknown_081C411C - adds r0, r5, 0 - bl StringExpandPlaceholders - movs r0, 0 - movs r1, 0xE - movs r2, 0x1D - movs r3, 0x13 - bl MenuDrawTextWindow - adds r0, r5, 0 - movs r1, 0x1 - movs r2, 0xF - bl MenuPrint - ldr r0, _081177F8 @ =sub_81175DC - str r0, [r6] - movs r0, 0 - strh r0, [r6, 0x22] - strh r0, [r6, 0x8] -_081177E4: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081177F4: .4byte gUnknown_081C411C -_081177F8: .4byte sub_81175DC - thumb_func_end Task_Roulette_0 - - thumb_func_start PlayRoulette -PlayRoulette: @ 81177FC - push {lr} - bl ScriptContext2_Enable - ldr r0, _08117828 @ =Task_Roulette_0 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0811782C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, _08117830 @ =gSaveBlock1 - ldr r2, _08117834 @ =0x00000494 - adds r0, r2 - ldrh r0, [r0] - strh r0, [r1, 0x22] - pop {r0} - bx r0 - .align 2, 0 -_08117828: .4byte Task_Roulette_0 -_0811782C: .4byte gTasks -_08117830: .4byte gSaveBlock1 -_08117834: .4byte 0x00000494 - thumb_func_end PlayRoulette - - thumb_func_start sub_8117838 -sub_8117838: @ 8117838 - push {r4,lr} - lsls r0, 24 - cmp r0, 0 - bne _08117884 - bl FreeAllSpritePalettes - ldr r0, _08117870 @ =gUnknown_083F9E30 - bl LoadSpritePalettes - ldr r0, _08117874 @ =gUnknown_083F92A8 - ldr r4, _08117878 @ =gSharedMem + 0x17000 - adds r1, r4, 0 - bl LZ77UnCompWram - ldr r0, _0811787C @ =gUnknown_083F90FC - movs r2, 0xE0 - lsls r2, 4 - adds r1, r4, r2 - bl LZ77UnCompWram - ldr r0, _08117880 @ =gUnknown_083F9D3C - movs r1, 0x80 - lsls r1, 5 - adds r4, r1 - adds r1, r4, 0 - bl LZ77UnCompWram - b _08117888 - .align 2, 0 -_08117870: .4byte gUnknown_083F9E30 -_08117874: .4byte gUnknown_083F92A8 -_08117878: .4byte gSharedMem + 0x17000 -_0811787C: .4byte gUnknown_083F90FC -_08117880: .4byte gUnknown_083F9D3C -_08117884: - bl FreeAllSpritePalettes -_08117888: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8117838 - - thumb_func_start sub_8117890 -sub_8117890: @ 8117890 - push {r4-r6,lr} - adds r4, r1, 0 - adds r6, r2, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, [r0, 0x4] - ldrb r3, [r1] - movs r1, 0x74 - movs r2, 0x50 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - ldr r0, _081178F4 @ =gSprites - lsls r1, r5, 4 - adds r1, r5 - lsls r1, 2 - adds r1, r0 - ldrh r0, [r6] - strh r0, [r1, 0x2E] - strh r4, [r1, 0x30] - adds r3, r1, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r2, 0x2 - orrs r0, r2 - strb r0, [r3] - adds r1, 0x2C - ldrb r0, [r1] - movs r2, 0x40 - orrs r0, r2 - movs r2, 0x80 - orrs r0, r2 - strb r0, [r1] - ldrh r2, [r6] - adds r0, r2, 0 - adds r0, 0x1E - strh r0, [r6] - lsls r0, 16 - ldr r1, _081178F8 @ =0x01670000 - cmp r0, r1 - bls _081178EC - ldr r1, _081178FC @ =0xfffffeb6 - adds r0, r2, r1 - strh r0, [r6] -_081178EC: - adds r0, r5, 0 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_081178F4: .4byte gSprites -_081178F8: .4byte 0x01670000 -_081178FC: .4byte 0xfffffeb6 - thumb_func_end sub_8117890 - - thumb_func_start sub_8117900 -sub_8117900: @ 8117900 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x8 - ldr r4, _08117A50 @ =gUnknown_083F9F54 - ldr r0, [r4] - ldr r5, _08117A54 @ =gSharedMem - adds r1, r5, 0 - bl LZ77UnCompWram - str r5, [sp] - mov r6, sp - ldrh r1, [r4, 0x6] - lsls r1, 16 - ldrh r0, [r4, 0x4] - orrs r0, r1 - str r0, [sp, 0x4] - mov r0, sp - bl LoadSpriteSheet - ldr r4, _08117A58 @ =gUnknown_083F9F5C - ldr r0, [r4] - adds r1, r5, 0 - bl LZ77UnCompWram - str r5, [sp] - ldrh r0, [r4, 0x4] - strh r0, [r6, 0x4] - ldrh r0, [r4, 0x6] - strh r0, [r6, 0x6] - mov r0, sp - bl LoadSpriteSheet - movs r7, 0 - ldr r0, _08117A5C @ =0x0001903c - adds r0, r5 - mov r9, r0 - ldr r0, _08117A60 @ =gSprites - mov r8, r0 -_08117950: - lsls r0, r7, 1 - adds r0, r7 - lsls r0, 27 - lsrs r4, r0, 24 - movs r6, 0 - lsls r5, r7, 2 -_0811795C: - lsls r1, r6, 1 - adds r1, r6 - lsls r1, 3 - ldr r0, _08117A64 @ =gSpriteTemplate_83FA07C - adds r0, r1, r0 - adds r1, 0x94 - adds r2, r4, 0 - adds r2, 0x5C - movs r3, 0x1E - bl CreateSprite - adds r1, r6, 0 - adds r1, 0x1D - adds r1, r5, r1 - add r1, r9 - strb r0, [r1] - lsls r0, 24 - lsrs r1, r0, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r8 - adds r0, 0x2C - ldrb r1, [r0] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r0] - adds r0, r4, 0 - adds r0, 0x18 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x47 - bls _081179A0 - movs r4, 0 -_081179A0: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x3 - bls _0811795C - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x2 - bls _08117950 - movs r7, 0 - ldr r5, _08117A68 @ =gSharedMem + 0x1903C - ldr r4, _08117A60 @ =gSprites -_081179BA: - lsls r1, r7, 1 - adds r1, r7 - lsls r1, 3 - ldr r0, _08117A6C @ =gSpriteTemplate_83F9FD4 - adds r0, r1, r0 - adds r1, 0x94 - lsls r1, 16 - asrs r1, 16 - movs r2, 0x46 - movs r3, 0x1E - bl CreateSprite - adds r1, r7, 0 - adds r1, 0x29 - adds r1, r5 - strb r0, [r1] - lsls r0, 24 - lsrs r1, r0, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x2C - ldrb r1, [r0] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r0] - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x3 - bls _081179BA - movs r7, 0 - ldr r5, _08117A68 @ =gSharedMem + 0x1903C - ldr r4, _08117A60 @ =gSprites -_08117A00: - lsls r2, r7, 1 - adds r2, r7 - lsls r2, 3 - ldr r0, _08117A70 @ =gSpriteTemplate_83FA034 - adds r0, r2, r0 - adds r2, 0x5C - lsls r2, 16 - asrs r2, 16 - movs r1, 0x7E - movs r3, 0x1E - bl CreateSprite - adds r1, r7, 0 - adds r1, 0x2D - adds r1, r5 - strb r0, [r1] - lsls r0, 24 - lsrs r1, r0, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x2C - ldrb r1, [r0] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r0] - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x2 - bls _08117A00 - add sp, 0x8 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08117A50: .4byte gUnknown_083F9F54 -_08117A54: .4byte gSharedMem -_08117A58: .4byte gUnknown_083F9F5C -_08117A5C: .4byte 0x0001903c -_08117A60: .4byte gSprites -_08117A64: .4byte gSpriteTemplate_83FA07C -_08117A68: .4byte gSharedMem + 0x1903C -_08117A6C: .4byte gSpriteTemplate_83F9FD4 -_08117A70: .4byte gSpriteTemplate_83FA034 - thumb_func_end sub_8117900 - - thumb_func_start unref_sub_8117A74 -unref_sub_8117A74: @ 8117A74 - push {r4,r5,lr} - movs r4, 0 - ldr r5, _08117AA0 @ =gSharedMem + 0x1903C -_08117A7A: - adds r0, r4, 0 - adds r0, 0x1D - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08117AA4 @ =gSprites - adds r0, r1 - bl DestroySprite - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xB - bls _08117A7A - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08117AA0: .4byte gSharedMem + 0x1903C -_08117AA4: .4byte gSprites - thumb_func_end unref_sub_8117A74 - - thumb_func_start sub_8117AA8 -sub_8117AA8: @ 8117AA8 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - cmp r0, 0 - beq _08117AF8 - cmp r0, 0x1 - bne _08117BA8 - movs r3, 0 - ldr r5, _08117AF0 @ =gSprites - ldr r4, _08117AF4 @ =gSharedMem + 0x1903C - movs r2, 0x4 -_08117ACA: - adds r0, r3, 0 - adds r0, 0x1D - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r2 - strb r1, [r0] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x12 - bls _08117ACA - b _08117BA8 - .align 2, 0 -_08117AF0: .4byte gSprites -_08117AF4: .4byte gSharedMem + 0x1903C -_08117AF8: - movs r3, 0 - ldr r0, _08117B48 @ =gUnknown_083F8D90 - mov r12, r0 - ldr r7, _08117B4C @ =gSharedMem + 0x19000 - movs r1, 0x4 - add r1, r12 - mov r9, r1 - ldr r5, _08117B50 @ =gSprites - adds r4, r7, 0 - adds r4, 0x3C - movs r6, 0x5 - negs r6, r6 -_08117B10: - lsls r2, r3, 3 - mov r1, r9 - adds r0, r2, r1 - ldr r1, [r7, 0x8] - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - beq _08117B54 - mov r1, r12 - adds r0, r2, r1 - ldrb r0, [r0, 0x2] - cmp r0, r8 - beq _08117B54 - adds r0, r3, 0 - adds r0, 0x1D - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - b _08117B6E - .align 2, 0 -_08117B48: .4byte gUnknown_083F8D90 -_08117B4C: .4byte gSharedMem + 0x19000 -_08117B50: .4byte gSprites -_08117B54: - adds r0, r3, 0 - adds r0, 0x1D - adds r0, r4 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - adds r1, 0x3E - ldrb r2, [r1] - adds r0, r6, 0 - ands r0, r2 - strb r0, [r1] -_08117B6E: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0xB - bls _08117B10 - cmp r3, 0x12 - bhi _08117BA8 - ldr r6, _08117BB4 @ =gSprites - ldr r4, _08117BB8 @ =gSharedMem + 0x1903C - movs r5, 0x5 - negs r5, r5 -_08117B84: - adds r0, r3, 0 - adds r0, 0x1D - adds r0, r4 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - adds r1, 0x3E - ldrb r2, [r1] - adds r0, r5, 0 - ands r0, r2 - strb r0, [r1] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x12 - bls _08117B84 -_08117BA8: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08117BB4: .4byte gSprites -_08117BB8: .4byte gSharedMem + 0x1903C - thumb_func_end sub_8117AA8 - - thumb_func_start sub_8117BBC -sub_8117BBC: @ 8117BBC - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r5, 0 - ldr r0, _08117C50 @ =gSharedMem + 0x1903C - mov r8, r0 - ldr r4, _08117C54 @ =gSprites - movs r6, 0x4 -_08117BCC: - ldr r0, _08117C58 @ =gSpriteTemplate_83FA40C - movs r1, 0x74 - movs r2, 0x14 - movs r3, 0xA - bl CreateSprite - adds r3, r5, 0 - adds r3, 0x31 - add r3, r8 - strb r0, [r3] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r6 - strb r1, [r0] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x1 - strh r1, [r0, 0x2E] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r4, 0 - adds r1, 0x1C - adds r0, r1 - ldr r1, _08117C5C @ =sub_81184CC - str r1, [r0] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r0, 0x5] - movs r7, 0xD - negs r7, r7 - adds r2, r7, 0 - ands r1, r2 - orrs r1, r6 - strb r1, [r0, 0x5] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x8 - bl StartSpriteAnim - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x5 - bls _08117BCC - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08117C50: .4byte gSharedMem + 0x1903C -_08117C54: .4byte gSprites -_08117C58: .4byte gSpriteTemplate_83FA40C -_08117C5C: .4byte sub_81184CC - thumb_func_end sub_8117BBC - - thumb_func_start sub_8117C60 -sub_8117C60: @ 8117C60 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - movs r5, 0 - cmp r0, 0 - beq _08117CAC - ldr r4, _08117CA4 @ =gSprites - ldr r3, _08117CA8 @ =gSharedMem + 0x1903C - movs r2, 0x4 -_08117C7E: - adds r0, r5, 0 - adds r0, 0x31 - adds r0, r3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r2 - strb r1, [r0] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x5 - bls _08117C7E - b _08117D58 - .align 2, 0 -_08117CA4: .4byte gSprites -_08117CA8: .4byte gSharedMem + 0x1903C -_08117CAC: - ldr r0, _08117CEC @ =gSharedMem + 0x19000 - mov r12, r0 - ldr r6, _08117CF0 @ =gSprites - movs r0, 0x3C - add r0, r12 - mov r8, r0 - ldr r7, _08117CF4 @ =gUnknown_083F8C00 - movs r0, 0x5 - negs r0, r0 - mov r10, r0 -_08117CC0: - mov r0, r12 - adds r0, 0xC - adds r4, r5, r0 - ldrb r0, [r4] - cmp r0, 0 - beq _08117CD0 - cmp r5, r9 - bne _08117CF8 -_08117CD0: - adds r0, r5, 0 - adds r0, 0x31 - add r0, r8 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - b _08117D4E - .align 2, 0 -_08117CEC: .4byte gSharedMem + 0x19000 -_08117CF0: .4byte gSprites -_08117CF4: .4byte gUnknown_083F8C00 -_08117CF8: - adds r3, r5, 0 - adds r3, 0x31 - add r3, r8 - ldrb r0, [r3] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - adds r1, 0x3E - ldrb r2, [r1] - mov r0, r10 - ands r0, r2 - strb r0, [r1] - ldrb r0, [r3] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r6 - ldrb r1, [r4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldrb r0, [r0, 0x3] - adds r0, 0x1 - lsls r0, 3 - adds r0, 0x4 - strh r0, [r2, 0x20] - ldrb r0, [r3] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r6 - ldrb r1, [r4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldrb r0, [r0, 0x4] - adds r0, 0x1 - lsls r0, 3 - adds r0, 0x3 - strh r0, [r2, 0x22] -_08117D4E: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x5 - bls _08117CC0 -_08117D58: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8117C60 - - thumb_func_start sub_8117D68 -sub_8117D68: @ 8117D68 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _08117D98 - ldr r2, _08117D90 @ =gSprites - ldr r0, _08117D94 @ =gSharedMem + 0x19000 - adds r0, 0x6C - 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] - b _08117DE2 - .align 2, 0 -_08117D90: .4byte gSprites -_08117D94: .4byte gSharedMem + 0x19000 -_08117D98: - ldr r4, _08117DE8 @ =gSprites - ldr r3, _08117DEC @ =gSharedMem + 0x19000 - adds r3, 0x6C - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - ldrb r0, [r3] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldr r0, _08117DF0 @ =gUnknown_083F8C00 - lsls r2, r5, 2 - adds r2, r5 - lsls r2, 2 - adds r2, r0 - ldrb r0, [r2, 0x3] - adds r0, 0x2 - lsls r0, 3 - strh r0, [r1, 0x20] - ldrb r0, [r3] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r0, [r2, 0x4] - adds r0, 0x2 - lsls r0, 3 - strh r0, [r1, 0x22] -_08117DE2: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08117DE8: .4byte gSprites -_08117DEC: .4byte gSharedMem + 0x19000 -_08117DF0: .4byte gUnknown_083F8C00 - thumb_func_end sub_8117D68 - - thumb_func_start sub_8117DF4 -sub_8117DF4: @ 8117DF4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0xC - ldr r4, _08117E84 @ =gUnknown_083F9EE8 - ldr r0, [r4] - ldr r5, _08117E88 @ =gSharedMem - adds r1, r5, 0 - bl LZ77UnCompWram - str r5, [sp, 0x4] - add r0, sp, 0x4 - ldrh r2, [r4, 0x6] - lsls r2, 16 - ldrh r1, [r4, 0x4] - orrs r1, r2 - str r1, [r0, 0x4] - bl LoadSpriteSheet - movs r1, 0xF - mov r0, sp - strh r1, [r0] - movs r0, 0 - ldr r1, _08117E8C @ =0x0001903c - adds r1, r5 - mov r8, r1 - ldr r7, _08117E90 @ =gSprites -_08117E2A: - movs r4, 0 - adds r6, r0, 0x1 - lsls r5, r0, 2 -_08117E30: - adds r1, r5, r4 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - ldr r1, _08117E94 @ =gSpriteTemplate_83FA0DC - adds r0, r1 - movs r1, 0x28 - mov r2, sp - bl sub_8117890 - adds r1, r4, 0x7 - adds r1, r5, r1 - add r1, r8 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r7 - adds r1, 0x2C - ldrb r0, [r1] - movs r2, 0x40 - orrs r0, r2 - movs r2, 0x80 - orrs r0, r2 - strb r0, [r1] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _08117E30 - lsls r0, r6, 24 - lsrs r0, 24 - cmp r0, 0x2 - bls _08117E2A - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08117E84: .4byte gUnknown_083F9EE8 -_08117E88: .4byte gSharedMem -_08117E8C: .4byte 0x0001903c -_08117E90: .4byte gSprites -_08117E94: .4byte gSpriteTemplate_83FA0DC - thumb_func_end sub_8117DF4 - - thumb_func_start sub_8117E98 -sub_8117E98: @ 8117E98 - push {r4-r6,lr} - adds r6, r0, 0 - ldr r0, _08117F1C @ =gSharedMem + 0x19000 - ldrh r1, [r6, 0x2E] - ldrh r0, [r0, 0x24] - adds r1, r0 - lsls r1, 16 - lsrs r4, r1, 16 - asrs r1, 16 - ldr r0, _08117F20 @ =0x00000167 - cmp r1, r0 - ble _08117EB8 - ldr r2, _08117F24 @ =0xfffffe98 - adds r0, r1, r2 - lsls r0, 16 - lsrs r4, r0, 16 -_08117EB8: - adds r0, r4, 0 - bl Sin2 - lsls r0, 16 - lsrs r5, r0, 16 - adds r0, r4, 0 - bl Cos2 - lsls r2, r5, 16 - asrs r2, 16 - movs r3, 0x30 - ldrsh r1, [r6, r3] - muls r1, r2 - asrs r1, 12 - strh r1, [r6, 0x24] - lsls r0, 16 - asrs r4, r0, 16 - negs r1, r4 - movs r3, 0x30 - ldrsh r0, [r6, r3] - muls r0, r1 - asrs r0, 12 - strh r0, [r6, 0x26] - ldrb r0, [r6, 0x3] - lsls r0, 26 - lsrs r3, r0, 27 - cmp r2, 0 - bge _08117EF2 - adds r2, 0xF -_08117EF2: - lsls r0, r2, 12 - lsrs r5, r0, 16 - ldr r1, _08117F28 @ =gOamMatrices - lsls r0, r3, 3 - adds r1, r0, r1 - adds r0, r4, 0 - cmp r0, 0 - bge _08117F04 - adds r0, 0xF -_08117F04: - asrs r0, 4 - strh r0, [r1, 0x6] - strh r0, [r1] - strh r5, [r1, 0x2] - lsls r0, r5, 16 - asrs r0, 16 - negs r0, r0 - strh r0, [r1, 0x4] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08117F1C: .4byte gSharedMem + 0x19000 -_08117F20: .4byte 0x00000167 -_08117F24: .4byte 0xfffffe98 -_08117F28: .4byte gOamMatrices - thumb_func_end sub_8117E98 - - thumb_func_start sub_8117F2C -sub_8117F2C: @ 8117F2C - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - movs r5, 0 - ldr r7, _081180C8 @ =gSharedMem - mov r6, sp -_08117F3A: - ldr r0, _081180CC @ =gUnknown_083FA21C - lsls r4, r5, 3 - adds r4, r0 - ldr r0, [r4] - adds r1, r7, 0 - bl LZ77UnCompWram - str r7, [sp] - ldrh r2, [r4, 0x4] - ldr r0, _081180D0 @ =0xffff0000 - ldr r1, [r6, 0x4] - ands r1, r0 - orrs r1, r2 - str r1, [r6, 0x4] - ldrh r2, [r4, 0x6] - lsls r2, 16 - ldr r0, _081180D4 @ =0x0000ffff - ands r0, r1 - orrs r0, r2 - str r0, [r6, 0x4] - mov r0, sp - bl LoadSpriteSheet - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x4 - bls _08117F3A - ldr r0, _081180D8 @ =gSpriteTemplate_83FA2B0 - movs r1, 0xD0 - movs r2, 0x10 - movs r3, 0x4 - bl CreateSprite - ldr r4, _081180DC @ =gSharedMem + 0x19000 - adds r1, r4, 0 - adds r1, 0x50 - strb r0, [r1] - ldr r3, _081180E0 @ =gSprites - ldrb r1, [r1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x2C - ldrb r1, [r0] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r0] - movs r5, 0 - adds r4, 0x3C - adds r7, r3, 0 -_08117FA2: - lsls r1, r5, 19 - movs r0, 0xC4 - lsls r0, 16 - adds r1, r0 - asrs r1, 16 - ldr r0, _081180E4 @ =gSpriteTemplate_83FA2C8 - movs r2, 0x18 - movs r3, 0 - bl CreateSprite - adds r3, r5, 0 - adds r3, 0x15 - adds r3, r4 - strb r0, [r3] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - adds r0, 0x2C - ldrb r1, [r0] - movs r6, 0x40 - orrs r1, r6 - strb r1, [r0] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x3 - bls _08117FA2 - ldr r0, _081180E8 @ =gSpriteTemplate_83FA2E0 - movs r1, 0x78 - movs r2, 0x44 - movs r3, 0x4 - bl CreateSprite - ldr r3, _081180DC @ =gSharedMem + 0x19000 - adds r1, r3, 0 - adds r1, 0x55 - strb r0, [r1] - ldr r2, _081180E0 @ =gSprites - ldrb r1, [r1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x2C - ldrb r1, [r0] - orrs r1, r6 - strb r1, [r0] - movs r5, 0 - adds r3, 0x3C - mov r8, r3 - adds r4, r2, 0 -_08118020: - lsls r1, r5, 20 - movs r0, 0xC0 - lsls r0, 16 - adds r1, r0 - asrs r1, 16 - ldr r0, _081180EC @ =gSpriteTemplate_83FA2F8 - movs r2, 0x24 - movs r3, 0x4 - bl CreateSprite - adds r2, r5, 0 - adds r2, 0x1A - add r2, r8 - strb r0, [r2] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r1, [r0] - movs r7, 0x4 - orrs r1, r7 - strb r1, [r0] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x2C - ldrb r1, [r0] - movs r6, 0x40 - orrs r1, r6 - strb r1, [r0] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x2 - bls _08118020 - ldr r0, _081180F0 @ =gSpriteTemplate_83FA310 - movs r1, 0x98 - movs r2, 0x60 - movs r3, 0x9 - bl CreateSprite - ldr r3, _081180DC @ =gSharedMem + 0x19000 - adds r3, 0x6C - strb r0, [r3] - ldr r4, _081180E0 @ =gSprites - ldrb r0, [r3] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r2, [r1, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r7 - strb r0, [r1, 0x5] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x2C - ldrb r1, [r0] - orrs r1, r6 - strb r1, [r0] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r7 - strb r1, [r0] - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081180C8: .4byte gSharedMem -_081180CC: .4byte gUnknown_083FA21C -_081180D0: .4byte 0xffff0000 -_081180D4: .4byte 0x0000ffff -_081180D8: .4byte gSpriteTemplate_83FA2B0 -_081180DC: .4byte gSharedMem + 0x19000 -_081180E0: .4byte gSprites -_081180E4: .4byte gSpriteTemplate_83FA2C8 -_081180E8: .4byte gSpriteTemplate_83FA2E0 -_081180EC: .4byte gSpriteTemplate_83FA2F8 -_081180F0: .4byte gSpriteTemplate_83FA310 - thumb_func_end sub_8117F2C - - thumb_func_start sub_81180F4 -sub_81180F4: @ 81180F4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 16 - lsrs r7, r0, 16 - movs r0, 0xFA - lsls r0, 2 - mov r8, r0 - movs r4, 0 - movs r6, 0 - ldr r1, _081181D4 @ =gSharedMem + 0x19000 - mov r9, r1 - ldr r0, _081181D8 @ =gSprites - mov r10, r0 -_08118114: - adds r0, r7, 0 - mov r1, r8 - bl __udivsi3 - lsls r0, 24 - lsrs r5, r0, 24 - adds r3, r6, 0 - adds r3, 0x15 - mov r0, r9 - adds r0, 0x3C - adds r0, r3, r0 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _081181D8 @ =gSprites - adds r0, r1 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - adds r0, r3, 0 - cmp r5, 0 - bne _0811814E - cmp r4, 0 - bne _0811814E - cmp r6, 0x3 - bne _081181A2 -_0811814E: - mov r3, r9 - adds r3, 0x3C - adds r3, r0, r3 - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r10 - adds r0, 0x3E - ldrb r1, [r0] - movs r4, 0x5 - negs r4, r4 - adds r2, r4, 0 - ands r1, r2 - strb r1, [r0] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - mov r1, r10 - adds r3, r0, r1 - adds r4, r3, 0 - adds r4, 0x40 - ldr r1, _081181DC @ =gSprites + 0x8 - adds r0, r1 - ldr r0, [r0] - ldr r1, [r0] - lsls r0, r5, 2 - adds r0, r1 - ldrh r2, [r0] - ldrh r4, [r4] - adds r2, r4 - ldr r4, _081181E0 @ =0x000003ff - adds r0, r4, 0 - ands r2, r0 - ldrh r0, [r3, 0x4] - ldr r4, _081181E4 @ =0xfffffc00 - adds r1, r4, 0 - ands r0, r1 - orrs r0, r2 - strh r0, [r3, 0x4] - movs r4, 0x1 -_081181A2: - adds r0, r7, 0 - mov r1, r8 - bl __umodsi3 - lsls r0, 16 - lsrs r7, r0, 16 - mov r0, r8 - movs r1, 0xA - bl __udivsi3 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x3 - bls _08118114 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081181D4: .4byte gSharedMem + 0x19000 -_081181D8: .4byte gSprites -_081181DC: .4byte gSprites + 0x8 -_081181E0: .4byte 0x000003ff -_081181E4: .4byte 0xfffffc00 - thumb_func_end sub_81180F4 - - thumb_func_start sub_81181E8 -sub_81181E8: @ 81181E8 - push {r4,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _08118220 @ =gUnknown_083FA608 - mov r0, sp - movs r2, 0x5 - bl memcpy - cmp r4, 0x13 - bls _08118200 - movs r4, 0 -_08118200: - ldr r3, _08118224 @ =gUnknown_083F8C00 - lsls r0, r4, 2 - adds r0, r4 - lsls r2, r0, 2 - adds r0, r2, r3 - ldrb r0, [r0, 0x1] - lsls r0, 28 - lsrs r0, 28 - cmp r0, 0x4 - beq _08118254 - cmp r0, 0x4 - bgt _08118228 - cmp r0, 0x3 - beq _0811822E - b _08118290 - .align 2, 0 -_08118220: .4byte gUnknown_083FA608 -_08118224: .4byte gUnknown_083F8C00 -_08118228: - cmp r0, 0xC - beq _08118274 - b _08118290 -_0811822E: - adds r0, r4, 0 - movs r1, 0x5 - bl __udivsi3 - subs r0, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _08118250 @ =gSharedMem + 0x19000 - adds r0, 0x16 - adds r1, r4, r0 - ldrb r0, [r1] - cmp r0, 0x3 - bhi _08118290 - ldrb r0, [r1] - adds r0, 0x1 - b _0811826A - .align 2, 0 -_08118250: .4byte gSharedMem + 0x19000 -_08118254: - subs r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _08118270 @ =gSharedMem + 0x19000 - adds r0, 0x12 - adds r1, r4, r0 - ldrb r0, [r1] - cmp r0, 0x2 - bhi _08118290 - ldrb r0, [r1] - adds r0, 0x2 -_0811826A: - add r0, sp - ldrb r0, [r0] - b _08118292 - .align 2, 0 -_08118270: .4byte gSharedMem + 0x19000 -_08118274: - ldr r1, _0811828C @ =gSharedMem + 0x19000 - adds r0, r3, 0 - adds r0, 0x8 - adds r0, r2, r0 - ldr r1, [r1, 0x8] - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _08118290 - mov r0, sp - ldrb r0, [r0, 0x4] - b _08118292 - .align 2, 0 -_0811828C: .4byte gSharedMem + 0x19000 -_08118290: - movs r0, 0 -_08118292: - add sp, 0x8 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81181E8 - - thumb_func_start sub_811829C -sub_811829C: @ 811829C - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _081182E8 @ =gSharedMem + 0x19000 - adds r1, 0x55 - ldrb r2, [r1] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - ldr r2, _081182EC @ =gSprites - adds r4, r1, r2 - bl sub_81181E8 - adds r3, r4, 0 - adds r3, 0x2B - strb r0, [r3] - adds r2, r4, 0 - adds r2, 0x40 - ldr r1, [r4, 0x8] - ldrb r0, [r3] - ldr r1, [r1] - lsls r0, 2 - adds r0, r1 - ldrh r1, [r0] - ldrh r2, [r2] - adds r1, r2 - ldr r2, _081182F0 @ =0x000003ff - adds r0, r2, 0 - ands r1, r0 - ldrh r2, [r4, 0x4] - ldr r0, _081182F4 @ =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r4, 0x4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081182E8: .4byte gSharedMem + 0x19000 -_081182EC: .4byte gSprites -_081182F0: .4byte 0x000003ff -_081182F4: .4byte 0xfffffc00 - thumb_func_end sub_811829C - - thumb_func_start sub_81182F8 -sub_81182F8: @ 81182F8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r2, r0, 24 - movs r5, 0 - ldr r0, _08118320 @ =gSharedMem + 0x19000 - ldrb r1, [r0, 0x19] - adds r3, r0, 0 - cmp r1, 0x1 - bne _08118310 - movs r5, 0x2 -_08118310: - cmp r2, 0x6 - bls _08118316 - b _08118464 -_08118316: - lsls r0, r2, 2 - ldr r1, _08118324 @ =_08118328 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08118320: .4byte gSharedMem + 0x19000 -_08118324: .4byte _08118328 - .align 2, 0 -_08118328: - .4byte _08118464 - .4byte _08118420 - .4byte _081183F8 - .4byte _081183EC - .4byte _081183C4 - .4byte _081183B8 - .4byte _08118344 -_08118344: - movs r4, 0 - ldr r5, _081183A8 @ =gSprites - ldr r0, _081183AC @ =gSharedMem + 0x1903C - mov r8, r0 - movs r2, 0x5 - negs r2, r2 - mov r12, r2 - adds r6, r5, 0 - adds r6, 0x8 - ldr r7, _081183B0 @ =0xfffffc00 -_08118358: - adds r3, r4, 0 - adds r3, 0x1A - add r3, r8 - ldrb r0, [r3] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - adds r1, 0x3E - ldrb r2, [r1] - mov r0, r12 - ands r0, r2 - strb r0, [r1] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r3, r0, r5 - adds r2, r3, 0 - adds r2, 0x40 - adds r0, r6 - ldr r0, [r0] - ldr r0, [r0] - ldrh r1, [r0] - ldrh r2, [r2] - adds r1, r2 - ldr r2, _081183B4 @ =0x000003ff - adds r0, r2, 0 - ands r1, r0 - ldrh r2, [r3, 0x4] - adds r0, r7, 0 - ands r0, r2 - orrs r0, r1 - strh r0, [r3, 0x4] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x2 - bls _08118358 - b _081184B2 - .align 2, 0 -_081183A8: .4byte gSprites -_081183AC: .4byte gSharedMem + 0x1903C -_081183B0: .4byte 0xfffffc00 -_081183B4: .4byte 0x000003ff -_081183B8: - ldr r2, _081183C0 @ =gSprites - adds r0, r3, 0 - adds r0, 0x58 - b _08118426 - .align 2, 0 -_081183C0: .4byte gSprites -_081183C4: - ldr r2, _081183E8 @ =gSprites - adds r0, r3, 0 - adds r0, 0x58 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r3, r0, r2 - adds r4, r3, 0 - adds r4, 0x40 - adds r2, 0x8 - adds r0, r2 - ldr r0, [r0] - ldr r1, [r0] - lsls r0, r5, 2 - adds r0, r1 - ldrh r1, [r0, 0x8] - b _08118442 - .align 2, 0 -_081183E8: .4byte gSprites -_081183EC: - ldr r2, _081183F4 @ =gSprites - adds r0, r3, 0 - adds r0, 0x57 - b _08118426 - .align 2, 0 -_081183F4: .4byte gSprites -_081183F8: - ldr r2, _0811841C @ =gSprites - adds r0, r3, 0 - adds r0, 0x57 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r3, r0, r2 - adds r4, r3, 0 - adds r4, 0x40 - adds r2, 0x8 - adds r0, r2 - ldr r0, [r0] - ldr r1, [r0] - lsls r0, r5, 2 - adds r0, r1 - ldrh r1, [r0, 0x8] - b _08118442 - .align 2, 0 -_0811841C: .4byte gSprites -_08118420: - ldr r2, _08118458 @ =gSprites - adds r0, r3, 0 - adds r0, 0x56 -_08118426: - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r3, r0, r2 - adds r4, r3, 0 - adds r4, 0x40 - adds r2, 0x8 - adds r0, r2 - ldr r0, [r0] - ldr r1, [r0] - lsls r0, r5, 2 - adds r0, r1 - ldrh r1, [r0, 0x4] -_08118442: - ldrh r4, [r4] - adds r1, r4 - ldr r2, _0811845C @ =0x000003ff - adds r0, r2, 0 - ands r1, r0 - ldrh r2, [r3, 0x4] - ldr r0, _08118460 @ =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r3, 0x4] - b _081184B2 - .align 2, 0 -_08118458: .4byte gSprites -_0811845C: .4byte 0x000003ff -_08118460: .4byte 0xfffffc00 -_08118464: - movs r4, 0 - lsls r6, r5, 2 - ldr r5, _081184BC @ =gSprites - ldr r0, _081184C0 @ =gSharedMem + 0x1903C - mov r8, r0 - adds r7, r5, 0 - adds r7, 0x8 - ldr r2, _081184C4 @ =0xfffffc00 - mov r12, r2 -_08118476: - adds r0, r4, 0 - adds r0, 0x1A - add r0, r8 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r3, r0, r5 - adds r2, r3, 0 - adds r2, 0x40 - adds r0, r7 - ldr r0, [r0] - ldr r0, [r0] - adds r0, r6, r0 - ldrh r1, [r0, 0x8] - ldrh r2, [r2] - adds r1, r2 - ldr r2, _081184C8 @ =0x000003ff - adds r0, r2, 0 - ands r1, r0 - ldrh r2, [r3, 0x4] - mov r0, r12 - ands r0, r2 - orrs r0, r1 - strh r0, [r3, 0x4] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x2 - bls _08118476 -_081184B2: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081184BC: .4byte gSprites -_081184C0: .4byte gSharedMem + 0x1903C -_081184C4: .4byte 0xfffffc00 -_081184C8: .4byte 0x000003ff - thumb_func_end sub_81182F8 - - thumb_func_start sub_81184CC -sub_81184CC: @ 81184CC - ldr r1, _081184D4 @ =gSharedMem + 0x19000 - ldrh r1, [r1, 0x26] - strh r1, [r0, 0x24] - bx lr - .align 2, 0 -_081184D4: .4byte gSharedMem + 0x19000 - thumb_func_end sub_81184CC - - thumb_func_start sub_81184D8 -sub_81184D8: @ 81184D8 - push {r4,r5,lr} - sub sp, 0x8 - ldr r4, _08118544 @ =gUnknown_083FA42C - ldr r0, [r4] - ldr r5, _08118548 @ =gSharedMem - adds r1, r5, 0 - bl LZ77UnCompWram - str r5, [sp] - ldrh r1, [r4, 0x6] - lsls r1, 16 - ldrh r0, [r4, 0x4] - orrs r0, r1 - str r0, [sp, 0x4] - mov r0, sp - bl LoadSpriteSheet - ldr r0, _0811854C @ =gSpriteTemplate_83FA434 - movs r1, 0x74 - movs r2, 0x50 - movs r3, 0x51 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08118550 @ =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0xC8 - lsls r0, 9 - adds r5, r0 - ldrh r0, [r5, 0x24] - movs r2, 0 - strh r0, [r1, 0x2E] - strh r2, [r1, 0x30] - adds r3, r1, 0 - adds r3, 0x2C - ldrb r0, [r3] - movs r2, 0x40 - orrs r0, r2 - movs r2, 0x80 - orrs r0, r2 - strb r0, [r3] - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x2 - orrs r0, r2 - strb r0, [r1] - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08118544: .4byte gUnknown_083FA42C -_08118548: .4byte gSharedMem -_0811854C: .4byte gSpriteTemplate_83FA434 -_08118550: .4byte gSprites - thumb_func_end sub_81184D8 - - thumb_func_start sub_8118554 -sub_8118554: @ 8118554 - ldrb r0, [r0, 0x3] - lsls r0, 26 - lsrs r0, 27 - ldr r1, _08118574 @ =gOamMatrices - lsls r0, 3 - adds r0, r1 - ldr r2, _08118578 @ =gSharedMem + 0x19000 - ldrh r1, [r2, 0x2C] - strh r1, [r0, 0x6] - ldrh r1, [r2, 0x2C] - strh r1, [r0] - ldrh r1, [r2, 0x2E] - strh r1, [r0, 0x2] - ldrh r1, [r2, 0x30] - strh r1, [r0, 0x4] - bx lr - .align 2, 0 -_08118574: .4byte gOamMatrices -_08118578: .4byte gSharedMem + 0x19000 - thumb_func_end sub_8118554 - - thumb_func_start sub_811857C -sub_811857C: @ 811857C - push {r4-r6,lr} - movs r4, 0 - ldr r6, _081185DC @ =gSharedMem + 0x1903C - ldr r5, _081185E0 @ =gSprites -_08118584: - movs r3, 0x39 - subs r3, r4 - lsls r3, 24 - lsrs r3, 24 - ldr r0, _081185E4 @ =gSpriteTemplate_83FA40C - movs r1, 0x74 - movs r2, 0x50 - bl CreateSprite - adds r3, r4, r6 - strb r0, [r3] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _081185CA - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x2 - orrs r1, r2 - strb r1, [r0] -_081185CA: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x5 - bls _08118584 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_081185DC: .4byte gSharedMem + 0x1903C -_081185E0: .4byte gSprites -_081185E4: .4byte gSpriteTemplate_83FA40C - thumb_func_end sub_811857C - - thumb_func_start sub_81185E8 -sub_81185E8: @ 81185E8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r0, _08118660 @ =gSharedMem + 0x19000 - adds r0, 0x3C - ldrb r5, [r0] - movs r6, 0 - ldr r7, _08118664 @ =gSprites - movs r0, 0x1C - adds r0, r7 - mov r10, r0 - movs r1, 0x2E - adds r1, r7 - mov r9, r1 - mov r8, r6 -_0811860A: - lsls r4, r5, 4 - adds r4, r5 - lsls r4, 2 - adds r0, r4, r7 - adds r3, r0, 0 - adds r3, 0x3E - ldrb r1, [r3] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r3] - mov r1, r10 - adds r2, r4, r1 - ldr r1, _08118668 @ =SpriteCallbackDummy - str r1, [r2] - movs r1, 0 - bl StartSpriteAnim - movs r1, 0 - adds r2, r5, 0x1 - adds r3, r6, 0x1 -_08118632: - lsls r0, r1, 1 - adds r0, r4 - add r0, r9 - mov r5, r8 - strh r5, [r0] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x7 - bls _08118632 - lsls r0, r2, 24 - lsrs r5, r0, 24 - lsls r0, r3, 24 - lsrs r6, r0, 24 - cmp r6, 0x5 - bls _0811860A - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08118660: .4byte gSharedMem + 0x19000 -_08118664: .4byte gSprites -_08118668: .4byte SpriteCallbackDummy - thumb_func_end sub_81185E8 - - thumb_func_start sub_811866C -sub_811866C: @ 811866C - push {r4,r5,lr} - adds r3, r0, 0 - ldr r0, _0811869C @ =gSharedMem + 0x19000 - ldrh r4, [r0, 0x24] - movs r2, 0x24 - ldrsh r1, [r0, r2] - ldrh r2, [r3, 0x34] - movs r5, 0x34 - ldrsh r0, [r3, r5] - cmp r1, r0 - ble _081186A8 - movs r1, 0xB4 - lsls r1, 1 - adds r0, r2, r1 - subs r2, r0, r4 - strh r2, [r3, 0x3A] - lsls r1, r2, 16 - ldr r0, _081186A0 @ =0x01670000 - cmp r1, r0 - ble _081186AC - ldr r5, _081186A4 @ =0xfffffe98 - adds r0, r2, r5 - b _081186AA - .align 2, 0 -_0811869C: .4byte gSharedMem + 0x19000 -_081186A0: .4byte 0x01670000 -_081186A4: .4byte 0xfffffe98 -_081186A8: - subs r0, r2, r4 -_081186AA: - strh r0, [r3, 0x3A] -_081186AC: - movs r1, 0x3A - ldrsh r0, [r3, r1] - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_811866C - - thumb_func_start sub_81186B8 -sub_81186B8: @ 81186B8 - push {r4,lr} - bl sub_811866C - ldr r4, _081186E0 @ =gSharedMem + 0x19000 - lsls r0, 16 - asrs r0, 16 - bl __floatsisf - ldr r1, _081186E4 @ =0x41f00000 - bl __divsf3 - bl __fixunssfsi - adds r4, 0x7E - strb r0, [r4] - ldrb r0, [r4] - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_081186E0: .4byte gSharedMem + 0x19000 -_081186E4: .4byte 0x41f00000 - thumb_func_end sub_81186B8 - - thumb_func_start sub_81186E8 -sub_81186E8: @ 81186E8 - push {r4,lr} - adds r4, r0, 0 - bl sub_811866C - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1E - bl __modsi3 - lsls r0, 16 - asrs r1, r0, 16 - cmp r1, 0xE - bne _08118708 - movs r0, 0 - strh r0, [r4, 0x32] - b _0811871E -_08118708: - cmp r1, 0xD - bgt _08118710 - movs r0, 0xE - b _08118712 -_08118710: - movs r0, 0x2B -_08118712: - subs r0, r1 - lsls r0, 16 - lsrs r0, 16 - strh r0, [r4, 0x32] - lsls r0, 16 - asrs r0, 16 -_0811871E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81186E8 - - thumb_func_start sub_8118724 -sub_8118724: @ 8118724 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - ldr r5, _08118770 @ =gSharedMem + 0x19000 - adds r4, r5, 0 - adds r4, 0x8C - adds r1, r5, 0 - adds r1, 0x90 - ldr r0, [r4] - ldr r1, [r1] - bl __addsf3 - adds r1, r0, 0 - str r1, [r4] - movs r0, 0x88 - adds r0, r5 - mov r8, r0 - ldr r0, [r0] - bl __addsf3 - adds r4, r0, 0 - mov r1, r8 - str r4, [r1] - ldr r7, _08118774 @ =0x43b40000 - adds r1, r7, 0 - bl __gesf2 - cmp r0, 0 - blt _08118778 - adds r0, r4, 0 - adds r1, r7, 0 - bl __subsf3 - mov r2, r8 - str r0, [r2] - b _08118790 - .align 2, 0 -_08118770: .4byte gSharedMem + 0x19000 -_08118774: .4byte 0x43b40000 -_08118778: - ldr r1, _08118824 @ =0x00000000 - adds r0, r4, 0 - bl __ltsf2 - cmp r0, 0 - bge _08118790 - adds r0, r4, 0 - adds r1, r7, 0 - bl __addsf3 - mov r1, r8 - str r0, [r1] -_08118790: - adds r0, r5, 0 - adds r0, 0x88 - ldr r0, [r0] - bl __fixsfsi - strh r0, [r6, 0x34] - adds r4, r5, 0 - adds r4, 0x98 - adds r1, r5, 0 - adds r1, 0x9C - ldr r0, [r4] - ldr r1, [r1] - bl __addsf3 - adds r1, r0, 0 - str r1, [r4] - subs r4, 0x4 - ldr r0, [r4] - bl __addsf3 - str r0, [r4] - bl __fixsfsi - strh r0, [r6, 0x36] - ldrh r0, [r6, 0x34] - bl Sin2 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldrh r0, [r6, 0x34] - bl Cos2 - lsls r4, 16 - asrs r4, 16 - movs r2, 0x36 - ldrsh r1, [r6, r2] - muls r1, r4 - asrs r1, 12 - strh r1, [r6, 0x24] - lsls r0, 16 - asrs r0, 16 - negs r0, r0 - movs r2, 0x36 - ldrsh r1, [r6, r2] - muls r0, r1 - asrs r0, 12 - strh r0, [r6, 0x26] - bl IsSEPlaying - lsls r0, 24 - cmp r0, 0 - beq _08118818 - ldr r0, _08118828 @ =gMPlay_SE1 - ldr r4, _0811882C @ =0x0000ffff - ldrh r2, [r6, 0x24] - lsls r2, 24 - asrs r2, 24 - adds r1, r4, 0 - bl m4aMPlayPanpotControl - ldr r0, _08118830 @ =gMPlay_SE2 - ldrh r2, [r6, 0x24] - lsls r2, 24 - asrs r2, 24 - adds r1, r4, 0 - bl m4aMPlayPanpotControl -_08118818: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08118824: .4byte 0x00000000 -_08118828: .4byte gMPlay_SE1 -_0811882C: .4byte 0x0000ffff -_08118830: .4byte gMPlay_SE2 - thumb_func_end sub_8118724 - - thumb_func_start sub_8118834 -sub_8118834: @ 8118834 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r1, _0811888C @ =gSharedMem + 0x19000 - ldrh r0, [r5, 0x3A] - ldrh r1, [r1, 0x24] - adds r2, r0, r1 - strh r2, [r5, 0x34] - lsls r1, r2, 16 - ldr r0, _08118890 @ =0x01670000 - cmp r1, r0 - ble _08118850 - ldr r1, _08118894 @ =0xfffffe98 - adds r0, r2, r1 - strh r0, [r5, 0x34] -_08118850: - ldrh r0, [r5, 0x34] - bl Sin2 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldrh r0, [r5, 0x34] - bl Cos2 - lsls r4, 16 - asrs r4, 16 - movs r2, 0x36 - ldrsh r1, [r5, r2] - muls r1, r4 - asrs r1, 12 - strh r1, [r5, 0x24] - lsls r0, 16 - asrs r0, 16 - negs r0, r0 - movs r2, 0x36 - ldrsh r1, [r5, r2] - muls r0, r1 - ldr r1, _08118898 @ =gSpriteCoordOffsetY - asrs r0, 12 - ldrh r1, [r1] - adds r0, r1 - strh r0, [r5, 0x26] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0811888C: .4byte gSharedMem + 0x19000 -_08118890: .4byte 0x01670000 -_08118894: .4byte 0xfffffe98 -_08118898: .4byte gSpriteCoordOffsetY - thumb_func_end sub_8118834 - - thumb_func_start sub_811889C -sub_811889C: @ 811889C - push {r4-r6,lr} - adds r5, r0, 0 - bl sub_8118724 - ldrh r0, [r5, 0x32] - adds r0, 0x1 - strh r0, [r5, 0x32] - ldrh r0, [r5, 0x36] - adds r0, 0x84 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xD4 - bls _081188C2 - adds r2, r5, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - b _081188CE -_081188C2: - adds r2, r5, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 -_081188CE: - strb r0, [r2] - movs r1, 0x32 - ldrsh r0, [r5, r1] - cmp r0, 0x1D - ble _0811898E - movs r1, 0x2E - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _08118908 - ldr r6, _08118900 @ =gSharedMem + 0x19000 - adds r4, r6, 0 - adds r4, 0x94 - adds r0, r6, 0 - adds r0, 0xA0 - ldr r0, [r0] - ldr r1, _08118904 @ =0x40000000 - bl __subsf3 - adds r1, r0, 0 - ldr r0, [r4] - bl __lesf2 - cmp r0, 0 - bgt _0811898E - b _08118926 - .align 2, 0 -_08118900: .4byte gSharedMem + 0x19000 -_08118904: .4byte 0x40000000 -_08118908: - ldr r6, _08118994 @ =gSharedMem + 0x19000 - adds r4, r6, 0 - adds r4, 0x94 - adds r0, r6, 0 - adds r0, 0xA0 - ldr r0, [r0] - ldr r1, _08118998 @ =0x40000000 - bl __subsf3 - adds r1, r0, 0 - ldr r0, [r4] - bl __gesf2 - cmp r0, 0 - blt _0811898E -_08118926: - adds r1, r6, 0 - adds r1, 0x7D - movs r0, 0xFF - strb r0, [r1] - ldrb r1, [r6, 0x3] - movs r0, 0x7F - ands r0, r1 - strb r0, [r6, 0x3] - adds r0, r5, 0 - adds r0, 0x2B - ldrb r1, [r0] - adds r1, 0x3 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl StartSpriteAnim - adds r0, r5, 0 - bl sub_81186B8 - movs r0, 0x1E - strh r0, [r5, 0x36] - adds r0, r5, 0 - bl sub_811866C - movs r1, 0x3A - ldrsh r0, [r5, r1] - movs r1, 0x1E - bl __divsi3 - lsls r0, 16 - asrs r0, 16 - lsls r1, r0, 4 - subs r1, r0 - lsls r1, 1 - adds r1, 0xF - strh r1, [r5, 0x3A] - ldr r0, _0811899C @ =sub_8118834 - str r0, [r5, 0x1C] - movs r0, 0x47 - bl m4aSongNumStartOrChange - adds r2, r6, 0 - adds r2, 0x9C - adds r1, r6, 0 - adds r1, 0x98 - ldr r0, _081189A0 @ =0x00000000 - str r0, [r1] - str r0, [r2] - subs r1, 0xC - ldr r0, _081189A4 @ =0xbf800000 - str r0, [r1] -_0811898E: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08118994: .4byte gSharedMem + 0x19000 -_08118998: .4byte 0x40000000 -_0811899C: .4byte sub_8118834 -_081189A0: .4byte 0x00000000 -_081189A4: .4byte 0xbf800000 - thumb_func_end sub_811889C - - thumb_func_start sub_81189A8 -sub_81189A8: @ 81189A8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - adds r7, r0, 0 - bl sub_8118724 - movs r1, 0x34 - ldrsh r0, [r7, r1] - cmp r0, 0 - beq _081189C6 - cmp r0, 0xB4 - beq _08118A2C - b _08118B0C -_081189C6: - movs r1, 0x2E - ldrsh r0, [r7, r1] - cmp r0, 0x1 - bne _081189D0 - b _08118B0C -_081189D0: - movs r1, 0x3C - ldrsh r0, [r7, r1] - bl __floatsisf - mov r8, r0 - ldr r0, _08118A24 @ =gUnknown_083F8DF4 - mov r9, r0 - ldr r1, _08118A28 @ =gSharedMem + 0x19000 - mov r10, r1 - ldrb r4, [r1, 0x4] - lsls r4, 30 - lsrs r0, r4, 25 - add r0, r9 - ldrb r0, [r0, 0x1] - bl __floatsisf - adds r1, r0, 0 - mov r0, r8 - bl __mulsf3 - adds r6, r0, 0 - lsrs r0, r4, 25 - add r0, r9 - ldrb r0, [r0, 0x2] - subs r0, 0x1 - bl __floatsisf - adds r1, r0, 0 - adds r0, r6, 0 - bl __addsf3 - adds r5, r0, 0 - lsrs r4, 25 - add r4, r9 - ldrh r0, [r4, 0xC] - bl __floatsisf - adds r1, r0, 0 - mov r0, r8 - bl __divsf3 - b _08118A8A - .align 2, 0 -_08118A24: .4byte gUnknown_083F8DF4 -_08118A28: .4byte gSharedMem + 0x19000 -_08118A2C: - movs r1, 0x2E - ldrsh r0, [r7, r1] - cmp r0, 0 - beq _08118B0C - movs r1, 0x3C - ldrsh r0, [r7, r1] - bl __floatsisf - mov r8, r0 - ldr r0, _08118B1C @ =gUnknown_083F8DF4 - mov r9, r0 - ldr r1, _08118B20 @ =gSharedMem + 0x19000 - mov r10, r1 - ldrb r4, [r1, 0x4] - lsls r4, 30 - lsrs r0, r4, 25 - add r0, r9 - ldrb r0, [r0, 0x1] - bl __floatsisf - adds r1, r0, 0 - mov r0, r8 - bl __mulsf3 - adds r6, r0, 0 - lsrs r0, r4, 25 - add r0, r9 - ldrb r0, [r0, 0x2] - subs r0, 0x1 - bl __floatsisf - adds r1, r0, 0 - adds r0, r6, 0 - bl __addsf3 - adds r5, r0, 0 - lsrs r4, 25 - add r4, r9 - ldrh r0, [r4, 0xC] - bl __floatsisf - adds r1, r0, 0 - mov r0, r8 - bl __divsf3 - bl __negsf2 -_08118A8A: - adds r2, r0, 0 - mov r6, r10 - adds r1, r6, 0 - adds r1, 0xA0 - adds r0, r6, 0 - adds r0, 0x94 - ldr r0, [r0] - str r0, [r1] - adds r0, r6, 0 - adds r0, 0x98 - str r2, [r0] - movs r0, 0x9C - adds r0, r6 - mov r8, r0 - adds r0, r2, 0 - adds r1, r2, 0 - bl __addsf3 - adds r1, r5, 0 - bl __divsf3 - adds r4, r0, 0 - adds r0, r5, 0 - adds r1, r5, 0 - bl __mulsf3 - adds r1, r0, 0 - ldr r0, _08118B24 @ =0x40000000 - bl __divsf3 - adds r1, r0, 0 - adds r0, r4, 0 - bl __addsf3 - bl __negsf2 - mov r1, r8 - str r0, [r1] - adds r1, r6, 0 - adds r1, 0x8C - ldr r0, _08118B28 @ =0x00000000 - str r0, [r1] - adds r2, r7, 0 - adds r2, 0x2C - ldrb r1, [r2] - movs r0, 0x41 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r0, r7, 0 - adds r0, 0x2A - movs r2, 0 - strb r2, [r0] - adds r3, r7, 0 - adds r3, 0x3F - ldrb r0, [r3] - movs r1, 0x4 - orrs r0, r1 - movs r1, 0x11 - negs r1, r1 - ands r0, r1 - strb r0, [r3] - ldr r0, _08118B2C @ =sub_811889C - str r0, [r7, 0x1C] - strh r2, [r7, 0x32] -_08118B0C: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08118B1C: .4byte gUnknown_083F8DF4 -_08118B20: .4byte gSharedMem + 0x19000 -_08118B24: .4byte 0x40000000 -_08118B28: .4byte 0x00000000 -_08118B2C: .4byte sub_811889C - thumb_func_end sub_81189A8 - - thumb_func_start sub_8118B30 -sub_8118B30: @ 8118B30 - push {r4,r5,lr} - adds r5, r0, 0 - movs r1, 0x32 - ldrsh r0, [r5, r1] - bl __floatsisf - adds r4, r0, 0 - ldr r1, _08118BCC @ =0x3d4ccccd - bl __mulsf3 - adds r1, r4, 0 - bl __mulsf3 - bl __fixsfsi - adds r1, r0, 0 - subs r1, 0x2D - strh r1, [r5, 0x26] - ldrh r0, [r5, 0x32] - adds r0, 0x1 - strh r0, [r5, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1D - ble _08118BC6 - lsls r0, r1, 16 - cmp r0, 0 - blt _08118BC6 - ldr r4, _08118BD0 @ =gSharedMem + 0x19000 - adds r1, r4, 0 - adds r1, 0x7D - movs r0, 0xFF - strb r0, [r1] - ldrb r1, [r4, 0x3] - movs r0, 0x7F - ands r0, r1 - strb r0, [r4, 0x3] - adds r0, r5, 0 - adds r0, 0x2B - ldrb r1, [r0] - adds r1, 0x3 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl StartSpriteAnim - adds r0, r5, 0 - bl sub_81186B8 - movs r0, 0x1E - strh r0, [r5, 0x36] - adds r0, r5, 0 - bl sub_811866C - movs r1, 0x3A - ldrsh r0, [r5, r1] - movs r1, 0x1E - bl __divsi3 - lsls r0, 16 - asrs r0, 16 - lsls r1, r0, 4 - subs r1, r0 - lsls r1, 1 - adds r1, 0xF - strh r1, [r5, 0x3A] - ldr r0, _08118BD4 @ =sub_8118834 - str r0, [r5, 0x1C] - movs r0, 0x47 - bl m4aSongNumStartOrChange - ldrb r0, [r4, 0x3] - movs r1, 0x40 - orrs r0, r1 - strb r0, [r4, 0x3] -_08118BC6: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08118BCC: .4byte 0x3d4ccccd -_08118BD0: .4byte gSharedMem + 0x19000 -_08118BD4: .4byte sub_8118834 - thumb_func_end sub_8118B30 - - thumb_func_start sub_8118BD8 -sub_8118BD8: @ 8118BD8 - push {r4,lr} - adds r3, r0, 0 - ldrh r0, [r3, 0x32] - adds r1, r0, 0x1 - strh r1, [r3, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2C - bgt _08118C1C - ldrh r4, [r3, 0x26] - subs r0, r4, 0x1 - strh r0, [r3, 0x26] - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0x2D - bne _08118CA2 - ldr r2, _08118C14 @ =gSprites - ldr r0, _08118C18 @ =gSharedMem + 0x19000 - adds r0, 0x73 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x2B - ldrb r0, [r0] - cmp r0, 0x1 - bne _08118CA2 - strh r4, [r3, 0x26] - b _08118CA2 - .align 2, 0 -_08118C14: .4byte gSprites -_08118C18: .4byte gSharedMem + 0x19000 -_08118C1C: - lsls r0, r1, 16 - asrs r0, 16 - movs r2, 0x3C - ldrsh r1, [r3, r2] - cmp r0, r1 - bge _08118C68 - ldr r2, _08118C58 @ =gSprites - ldr r0, _08118C5C @ =gSharedMem + 0x19000 - adds r0, 0x73 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r2 - adds r0, r1, 0 - adds r0, 0x2C - ldrb r0, [r0] - lsls r0, 26 - cmp r0, 0 - bne _08118CA2 - adds r0, r1, 0 - adds r0, 0x2B - ldrb r0, [r0] - cmp r0, 0x1 - bne _08118C60 - ldrh r0, [r3, 0x26] - adds r0, 0x1 - strh r0, [r3, 0x26] - b _08118CA2 - .align 2, 0 -_08118C58: .4byte gSprites -_08118C5C: .4byte gSharedMem + 0x19000 -_08118C60: - ldrh r0, [r3, 0x26] - subs r0, 0x1 - strh r0, [r3, 0x26] - b _08118CA2 -_08118C68: - adds r2, r3, 0 - adds r2, 0x2C - ldrb r1, [r2] - movs r0, 0x41 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r1, r3, 0 - adds r1, 0x2A - movs r2, 0 - movs r0, 0x1 - strb r0, [r1] - movs r0, 0x3F - adds r0, r3 - mov r12, r0 - ldrb r0, [r0] - movs r1, 0x4 - orrs r0, r1 - movs r1, 0x11 - negs r1, r1 - ands r0, r1 - mov r1, r12 - strb r0, [r1] - strh r2, [r3, 0x32] - ldr r0, _08118CA8 @ =sub_8118B30 - str r0, [r3, 0x1C] - movs r0, 0x3D - bl m4aSongNumStart -_08118CA2: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08118CA8: .4byte sub_8118B30 - thumb_func_end sub_8118BD8 - - thumb_func_start sub_8118CAC -sub_8118CAC: @ 8118CAC - push {r4,lr} - adds r4, r0, 0 - bl sub_8118724 - movs r0, 0x34 - ldrsh r1, [r4, r0] - cmp r1, 0x5A - beq _08118CC6 - movs r0, 0x87 - lsls r0, 1 - cmp r1, r0 - beq _08118CD0 - b _08118CE0 -_08118CC6: - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _08118CE0 - b _08118CD8 -_08118CD0: - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _08118CE0 -_08118CD8: - ldr r0, _08118CE8 @ =sub_8118BD8 - str r0, [r4, 0x1C] - movs r0, 0 - strh r0, [r4, 0x32] -_08118CE0: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08118CE8: .4byte sub_8118BD8 - thumb_func_end sub_8118CAC - - thumb_func_start sub_8118CEC -sub_8118CEC: @ 8118CEC - push {r4,lr} - adds r4, r0, 0 - bl sub_8118724 - ldr r0, _08118D10 @ =gSharedMem + 0x19000 - ldrb r0, [r0, 0x3] - lsls r0, 27 - lsrs r0, 27 - cmp r0, 0 - beq _08118D04 - cmp r0, 0x1 - beq _08118D18 -_08118D04: - adds r0, r4, 0 - bl sub_8119224 - ldr r0, _08118D14 @ =sub_81189A8 - b _08118D20 - .align 2, 0 -_08118D10: .4byte gSharedMem + 0x19000 -_08118D14: .4byte sub_81189A8 -_08118D18: - adds r0, r4, 0 - bl sub_81193D4 - ldr r0, _08118D28 @ =sub_8118CAC -_08118D20: - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08118D28: .4byte sub_8118CAC - thumb_func_end sub_8118CEC - - thumb_func_start sub_8118D2C -sub_8118D2C: @ 8118D2C - push {r4,r5,lr} - adds r5, r0, 0 - bl sub_8118724 - ldrh r0, [r5, 0x32] - subs r0, 0x1 - strh r0, [r5, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xF - bne _08118D50 - ldr r4, _08118DB8 @ =gSharedMem + 0x19000 - adds r4, 0x98 - ldr r0, [r4] - ldr r1, _08118DBC @ =0xbf800000 - bl __mulsf3 - str r0, [r4] -_08118D50: - movs r1, 0x32 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _08118DDC - movs r1, 0x2E - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _08118DC4 - ldr r1, _08118DB8 @ =gSharedMem + 0x19000 - adds r2, r1, 0 - adds r2, 0x7D - movs r0, 0xFF - strb r0, [r2] - ldrb r2, [r1, 0x3] - movs r0, 0x7F - ands r0, r2 - strb r0, [r1, 0x3] - adds r0, r5, 0 - adds r0, 0x2B - ldrb r1, [r0] - adds r1, 0x3 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl StartSpriteAnim - adds r0, r5, 0 - bl sub_81186B8 - movs r0, 0x1E - strh r0, [r5, 0x36] - adds r0, r5, 0 - bl sub_811866C - movs r1, 0x3A - ldrsh r0, [r5, r1] - movs r1, 0x1E - bl __divsi3 - lsls r0, 16 - asrs r0, 16 - lsls r1, r0, 4 - subs r1, r0 - lsls r1, 1 - adds r1, 0xF - strh r1, [r5, 0x3A] - ldr r0, _08118DC0 @ =sub_8118834 - str r0, [r5, 0x1C] - movs r0, 0x47 - bl m4aSongNumStartOrChange - b _08118DDC - .align 2, 0 -_08118DB8: .4byte gSharedMem + 0x19000 -_08118DBC: .4byte 0xbf800000 -_08118DC0: .4byte sub_8118834 -_08118DC4: - adds r0, r5, 0 - adds r0, 0x2C - ldrb r1, [r0] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r0] - movs r0, 0x38 - bl m4aSongNumStart - adds r0, r5, 0 - bl sub_811952C -_08118DDC: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8118D2C - - thumb_func_start sub_8118DE4 -sub_8118DE4: @ 8118DE4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r7, r0, 0 - bl sub_8118724 - movs r0, 0 - strh r0, [r7, 0x32] - adds r0, r7, 0 - bl sub_81186B8 - ldr r1, _08118E70 @ =gUnknown_083F8D90 - ldr r6, _08118E74 @ =gSharedMem + 0x19000 - movs r0, 0x7E - adds r0, r6 - mov r8, r0 - ldrb r0, [r0] - lsls r0, 3 - adds r1, 0x4 - adds r0, r1 - ldr r0, [r0] - ldr r1, [r6, 0x8] - ands r0, r1 - cmp r0, 0 - bne _08118E7C - adds r1, r6, 0 - adds r1, 0x7D - movs r0, 0xFF - strb r0, [r1] - ldrb r1, [r6, 0x3] - movs r0, 0x7F - ands r0, r1 - strb r0, [r6, 0x3] - adds r0, r7, 0 - adds r0, 0x2B - ldrb r1, [r0] - adds r1, 0x3 - lsls r1, 24 - lsrs r1, 24 - adds r0, r7, 0 - bl StartSpriteAnim - adds r0, r7, 0 - bl sub_81186B8 - movs r0, 0x1E - strh r0, [r7, 0x36] - adds r0, r7, 0 - bl sub_811866C - movs r1, 0x3A - ldrsh r0, [r7, r1] - movs r1, 0x1E - bl __divsi3 - lsls r0, 16 - asrs r0, 16 - lsls r1, r0, 4 - subs r1, r0 - lsls r1, 1 - adds r1, 0xF - strh r1, [r7, 0x3A] - ldr r0, _08118E78 @ =sub_8118834 - str r0, [r7, 0x1C] - movs r0, 0x47 - bl m4aSongNumStartOrChange - b _08118F74 - .align 2, 0 -_08118E70: .4byte gUnknown_083F8D90 -_08118E74: .4byte gSharedMem + 0x19000 -_08118E78: .4byte sub_8118834 -_08118E7C: - movs r0, 0x38 - bl m4aSongNumStart - bl Random - movs r2, 0x1 - mov r9, r2 - mov r1, r9 - ands r1, r0 - mov r9, r1 - cmp r1, 0 - beq _08118EC0 - adds r1, r6, 0 - adds r1, 0x8C - ldr r0, _08118EB8 @ =0x00000000 - str r0, [r1] - mov r2, r8 - ldrb r0, [r2] - adds r0, 0x1 - movs r1, 0xC - bl __modsi3 - lsls r1, r0, 24 - lsrs r2, r1, 24 - adds r1, r6, 0 - adds r1, 0x7F - strb r0, [r1] - ldr r5, _08118EBC @ =gUnknown_083F8DF4 - b _08118EF4 - .align 2, 0 -_08118EB8: .4byte 0x00000000 -_08118EBC: .4byte gUnknown_083F8DF4 -_08118EC0: - adds r4, r6, 0 - adds r4, 0x8C - ldr r5, _08118F1C @ =gUnknown_083F8DF4 - ldrb r0, [r6, 0x4] - lsls r0, 30 - lsrs r0, 25 - adds r1, r5, 0 - adds r1, 0x1C - adds r0, r1 - ldr r1, [r0] - adds r0, r1, 0 - bl __addsf3 - str r0, [r4] - mov r0, r8 - ldrb r4, [r0] - adds r0, r4, 0 - adds r0, 0xB - movs r1, 0xC - bl __modsi3 - lsls r0, 24 - lsrs r2, r0, 24 - adds r0, r6, 0 - adds r0, 0x7F - strb r4, [r0] -_08118EF4: - ldr r0, _08118F20 @ =gUnknown_083F8D90 - lsls r1, r2, 3 - adds r0, 0x4 - adds r1, r0 - ldr r2, _08118F24 @ =gSharedMem + 0x19000 - ldr r1, [r1] - ldr r0, [r2, 0x8] - ands r1, r0 - cmp r1, 0 - beq _08118F28 - movs r0, 0x1 - strh r0, [r7, 0x2E] - ldrb r0, [r2, 0x4] - lsls r0, 30 - lsrs r0, 25 - adds r0, r5 - ldrb r0, [r0, 0x2] - strh r0, [r7, 0x32] - b _08118F64 - .align 2, 0 -_08118F1C: .4byte gUnknown_083F8DF4 -_08118F20: .4byte gUnknown_083F8D90 -_08118F24: .4byte gSharedMem + 0x19000 -_08118F28: - strh r1, [r7, 0x2E] - ldrb r1, [r2, 0x4] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - beq _08118F40 - lsls r0, r1, 30 - lsrs r0, 25 - adds r0, r5 - ldrb r0, [r0, 0x1] - strh r0, [r7, 0x32] - b _08118F64 -_08118F40: - lsls r0, r1, 30 - lsrs r0, 25 - adds r0, r5 - ldrb r0, [r0, 0x2] - strh r0, [r7, 0x32] - mov r1, r9 - cmp r1, 0 - beq _08118F5C - adds r1, r2, 0 - adds r1, 0x8C - ldr r0, _08118F58 @ =0x3f000000 - b _08118F62 - .align 2, 0 -_08118F58: .4byte 0x3f000000 -_08118F5C: - adds r1, r2, 0 - adds r1, 0x8C - ldr r0, _08118F80 @ =0xbfc00000 -_08118F62: - str r0, [r1] -_08118F64: - adds r1, r2, 0 - adds r1, 0x98 - ldr r0, _08118F84 @ =0x3dae147b - str r0, [r1] - ldr r0, _08118F88 @ =sub_8118D2C - str r0, [r7, 0x1C] - movs r0, 0x5 - strh r0, [r7, 0x30] -_08118F74: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08118F80: .4byte 0xbfc00000 -_08118F84: .4byte 0x3dae147b -_08118F88: .4byte sub_8118D2C - thumb_func_end sub_8118DE4 - - thumb_func_start sub_8118F8C -sub_8118F8C: @ 8118F8C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r6, r0, 0 - bl sub_8118724 - ldr r5, _08119018 @ =gSharedMem + 0x19000 - movs r0, 0x8C - adds r0, r5 - mov r8, r0 - ldr r0, [r0] - ldr r1, _0811901C @ =0x3f000000 - bl __gtsf2 - cmp r0, 0 - bgt _0811906E - adds r0, r6, 0 - bl sub_81186B8 - adds r0, r6, 0 - bl sub_81186E8 - lsls r0, 16 - cmp r0, 0 - bne _08119030 - adds r1, r5, 0 - adds r1, 0x90 - ldr r0, _08119020 @ =0x00000000 - str r0, [r1] - ldr r1, _08119024 @ =gUnknown_083F8DF4 - mov r9, r1 - ldrb r0, [r5, 0x4] - lsls r7, r0, 30 - lsrs r0, r7, 25 - add r0, r9 - movs r4, 0x3 - ldrsb r4, [r0, r4] - adds r0, r4, 0 - bl __floatsisf - adds r5, r0, 0 - cmp r4, 0 - bge _08118FEC - ldr r1, _08119028 @ =0x43800000 - bl __addsf3 - adds r5, r0, 0 -_08118FEC: - lsrs r0, r7, 25 - add r0, r9 - ldrb r0, [r0, 0x4] - adds r0, 0x1 - bl __floatsisf - adds r1, r0, 0 - adds r0, r5, 0 - bl __divsf3 - adds r1, r0, 0 - mov r2, r8 - ldr r0, [r2] - bl __subsf3 - mov r1, r8 - str r0, [r1] - movs r0, 0x4 - strh r0, [r6, 0x30] - ldr r0, _0811902C @ =sub_8118DE4 - str r0, [r6, 0x1C] - b _0811906E - .align 2, 0 -_08119018: .4byte gSharedMem + 0x19000 -_0811901C: .4byte 0x3f000000 -_08119020: .4byte 0x00000000 -_08119024: .4byte gUnknown_083F8DF4 -_08119028: .4byte 0x43800000 -_0811902C: .4byte sub_8118DE4 -_08119030: - adds r6, r5, 0 - adds r6, 0x90 - ldr r0, [r6] - ldr r4, _0811907C @ =0x00000000 - adds r1, r4, 0 - bl __nesf2 - cmp r0, 0 - beq _0811906E - mov r2, r8 - ldr r0, [r2] - adds r1, r4, 0 - bl __ltsf2 - cmp r0, 0 - bge _0811906E - str r4, [r6] - mov r0, r8 - str r4, [r0] - adds r4, r5, 0 - adds r4, 0x98 - ldr r0, [r4] - bl __extendsfdf2 - ldr r2, _08119080 @ =0x3ff33333 - ldr r3, _08119084 @ =0x33333333 - bl __divdf3 - bl __truncdfsf2 - str r0, [r4] -_0811906E: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0811907C: .4byte 0x00000000 -_08119080: .4byte 0x3ff33333 -_08119084: .4byte 0x33333333 - thumb_func_end sub_8118F8C - - thumb_func_start sub_8119088 -sub_8119088: @ 8119088 - push {r4-r7,lr} - adds r6, r0, 0 - bl sub_8118724 - ldr r5, _08119120 @ =gSharedMem + 0x19000 - adds r0, r5, 0 - adds r0, 0x94 - ldr r0, [r0] - ldr r1, _08119124 @ =0x42200000 - bl __gtsf2 - cmp r0, 0 - bgt _0811911A - adds r7, r5, 0 - adds r7, 0x98 - adds r0, r5, 0 - adds r0, 0x86 - movs r1, 0 - ldrsh r4, [r0, r1] - adds r0, r4, 0 - bl __floatsisf - adds r2, r0, 0 - cmp r4, 0 - bge _081190C2 - ldr r1, _08119128 @ =0x47800000 - bl __addsf3 - adds r2, r0, 0 -_081190C2: - ldr r0, _0811912C @ =0x40800000 - adds r1, r2, 0 - bl __divsf3 - bl __negsf2 - str r0, [r7] - adds r7, r5, 0 - adds r7, 0x90 - adds r5, 0x8C - adds r0, r4, 0 - bl __floatsisf - adds r2, r0, 0 - cmp r4, 0 - bge _081190EA - ldr r1, _08119128 @ =0x47800000 - bl __addsf3 - adds r2, r0, 0 -_081190EA: - ldr r0, [r5] - adds r1, r2, 0 - bl __divsf3 - bl __negsf2 - str r0, [r7] - adds r1, r6, 0 - adds r1, 0x2A - movs r0, 0x2 - strb r0, [r1] - adds r2, r6, 0 - adds r2, 0x3F - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - movs r1, 0x11 - negs r1, r1 - ands r0, r1 - strb r0, [r2] - movs r0, 0x3 - strh r0, [r6, 0x30] - ldr r0, _08119130 @ =sub_8118F8C - str r0, [r6, 0x1C] -_0811911A: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08119120: .4byte gSharedMem + 0x19000 -_08119124: .4byte 0x42200000 -_08119128: .4byte 0x47800000 -_0811912C: .4byte 0x40800000 -_08119130: .4byte sub_8118F8C - thumb_func_end sub_8119088 - - thumb_func_start sub_8119134 -sub_8119134: @ 8119134 - push {r4-r7,lr} - adds r6, r0, 0 - bl sub_8118724 - ldr r4, _081191DC @ =gSharedMem + 0x19000 - adds r0, r4, 0 - adds r0, 0x94 - ldr r0, [r0] - ldr r1, _081191E0 @ =0x42700000 - bl __gtsf2 - cmp r0, 0 - bgt _081191D4 - movs r0, 0x5D - bl m4aSongNumStartOrChange - adds r7, r4, 0 - adds r7, 0x98 - adds r0, r4, 0 - adds r0, 0x84 - movs r1, 0 - ldrsh r5, [r0, r1] - adds r0, r5, 0 - bl __floatsisf - adds r2, r0, 0 - cmp r5, 0 - bge _08119174 - ldr r1, _081191E4 @ =0x47800000 - bl __addsf3 - adds r2, r0, 0 -_08119174: - ldr r0, _081191E8 @ =0x41a00000 - adds r1, r2, 0 - bl __divsf3 - bl __negsf2 - str r0, [r7] - adds r7, r4, 0 - adds r7, 0x90 - adds r0, r4, 0 - adds r0, 0x8C - ldr r1, [r0] - ldr r0, _081191EC @ =0x3f800000 - bl __subsf3 - adds r4, r0, 0 - adds r0, r5, 0 - bl __floatsisf - adds r2, r0, 0 - cmp r5, 0 - bge _081191A8 - ldr r1, _081191E4 @ =0x47800000 - bl __addsf3 - adds r2, r0, 0 -_081191A8: - adds r0, r4, 0 - adds r1, r2, 0 - bl __divsf3 - str r0, [r7] - adds r1, r6, 0 - adds r1, 0x2A - movs r0, 0x1 - strb r0, [r1] - adds r2, r6, 0 - adds r2, 0x3F - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - movs r1, 0x11 - negs r1, r1 - ands r0, r1 - strb r0, [r2] - movs r0, 0x2 - strh r0, [r6, 0x30] - ldr r0, _081191F0 @ =sub_8119088 - str r0, [r6, 0x1C] -_081191D4: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081191DC: .4byte gSharedMem + 0x19000 -_081191E0: .4byte 0x42700000 -_081191E4: .4byte 0x47800000 -_081191E8: .4byte 0x41a00000 -_081191EC: .4byte 0x3f800000 -_081191F0: .4byte sub_8119088 - thumb_func_end sub_8119134 - - thumb_func_start sub_81191F4 -sub_81191F4: @ 81191F4 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0 - movs r0, 0x1 - strh r0, [r4, 0x30] - strh r1, [r4, 0x32] - adds r0, r4, 0 - bl sub_8118724 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - ldr r0, _08119220 @ =sub_8119134 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08119220: .4byte sub_8119134 - thumb_func_end sub_81191F4 - - thumb_func_start sub_8119224 -sub_8119224: @ 8119224 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - adds r7, r0, 0 - ldr r1, _081193B8 @ =gUnknown_083FA60E - mov r0, sp - movs r2, 0x8 - bl memcpy - ldrh r0, [r7, 0x3C] - subs r0, 0x2 - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - ldr r5, _081193BC @ =gSharedMem + 0x19000 - ldr r0, _081193C0 @ =gSpriteTemplate_83FA50C - movs r2, 0xC - negs r2, r2 - movs r1, 0x24 - movs r3, 0x32 - bl CreateSprite - adds r1, r5, 0 - adds r1, 0x73 - strb r0, [r1] - ldr r4, _081193C4 @ =gSpriteTemplate_83FA5C0 - movs r0, 0x2E - ldrsh r2, [r7, r0] - lsls r2, 2 - mov r1, sp - adds r0, r1, r2 - movs r3, 0 - ldrsh r1, [r0, r3] - mov r0, sp - adds r0, 0x2 - adds r0, r2 - movs r3, 0 - ldrsh r2, [r0, r3] - adds r0, r4, 0 - movs r3, 0x3B - bl CreateSprite - adds r1, r5, 0 - adds r1, 0x74 - strb r0, [r1] - adds r4, 0x18 - adds r0, r4, 0 - movs r1, 0x24 - movs r2, 0x8C - movs r3, 0x33 - bl CreateSprite - adds r1, r5, 0 - adds r1, 0x75 - strb r0, [r1] - ldr r3, _081193C8 @ =gSprites - ldrb r1, [r1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrb r2, [r0, 0x1] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0, 0x1] - movs r6, 0 - adds r4, r3, 0 - mov r12, r5 - ldr r0, _081193CC @ =gUnknown_083F8DF4 - mov r8, r0 - mov r10, r12 -_081192BE: - mov r1, r12 - adds r3, r1, r6 - adds r3, 0x73 - ldrb r0, [r3] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - adds r1, 0x3E - ldrb r2, [r1] - movs r0, 0x3 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x2C - ldrb r1, [r0] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r0] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x2C - ldrb r1, [r0] - movs r2, 0x80 - orrs r1, r2 - strb r1, [r0] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - mov r1, r12 - adds r1, 0x73 - ldrb r1, [r1] - strh r1, [r0, 0x36] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - mov r5, r12 - adds r5, 0x74 - ldrb r1, [r5] - strh r1, [r0, 0x38] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - mov r1, r12 - adds r1, 0x75 - ldrb r1, [r1] - strh r1, [r0, 0x3A] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - mov r1, r9 - strh r1, [r0, 0x32] - ldrb r0, [r3] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r4 - movs r0, 0x3C - ldrsh r3, [r7, r0] - mov r0, r12 - ldrb r1, [r0, 0x4] - lsls r1, 30 - lsrs r0, r1, 25 - add r0, r8 - ldrb r0, [r0, 0x1] - muls r3, r0 - lsrs r1, 25 - add r1, r8 - ldrb r0, [r1, 0x2] - ldr r1, _081193D0 @ =0x0000ffff - adds r0, r1 - adds r3, r0 - strh r3, [r2, 0x34] - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r2, _081193C8 @ =gSprites - cmp r6, 0x2 - bls _081192BE - ldrb r1, [r5] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x2 - orrs r1, r2 - strb r1, [r0] - mov r3, r10 - str r7, [r3, 0x38] - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081193B8: .4byte gUnknown_083FA60E -_081193BC: .4byte gSharedMem + 0x19000 -_081193C0: .4byte gSpriteTemplate_83FA50C -_081193C4: .4byte gSpriteTemplate_83FA5C0 -_081193C8: .4byte gSprites -_081193CC: .4byte gUnknown_083F8DF4 -_081193D0: .4byte 0x0000ffff - thumb_func_end sub_8119224 - - thumb_func_start sub_81193D4 -sub_81193D4: @ 81193D4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x8 - adds r7, r0, 0 - movs r0, 0 - mov r8, r0 - ldr r1, _08119514 @ =gUnknown_083FA616 - mov r0, sp - movs r2, 0x8 - bl memcpy - ldrh r0, [r7, 0x3C] - subs r0, 0x2 - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - ldr r0, _08119518 @ =gSpriteTemplate_83FA524 - movs r1, 0x2E - ldrsh r2, [r7, r1] - lsls r2, 2 - mov r3, sp - adds r1, r3, r2 - movs r3, 0 - ldrsh r1, [r1, r3] - mov r4, sp - adds r4, 0x2 - adds r2, r4, r2 - movs r3, 0 - ldrsh r2, [r2, r3] - movs r3, 0x32 - bl CreateSprite - ldr r6, _0811951C @ =gSharedMem + 0x19000 - adds r1, r6, 0 - adds r1, 0x73 - strb r0, [r1] - ldrb r1, [r1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r5, _08119520 @ =gSprites - adds r0, r5 - ldrh r1, [r7, 0x2E] - lsls r1, 24 - lsrs r1, 24 - bl StartSpriteAnim - ldr r0, _08119524 @ =gSpriteTemplate_83FA5F0 - movs r1, 0x2E - ldrsh r2, [r7, r1] - lsls r2, 2 - mov r3, sp - adds r1, r3, r2 - movs r3, 0 - ldrsh r1, [r1, r3] - adds r4, r2 - movs r3, 0 - ldrsh r2, [r4, r3] - movs r3, 0x33 - bl CreateSprite - adds r4, r6, 0 - adds r4, 0x74 - strb r0, [r4] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x2C - ldrb r1, [r0] - movs r2, 0x80 - orrs r1, r2 - strb r1, [r0] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x2C - ldrb r1, [r0] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r0] - mov r0, r9 - lsls r2, r0, 16 - asrs r2, 16 - ldr r3, _08119528 @ =gUnknown_083F8DF4 - ldrb r1, [r6, 0x4] - lsls r1, 30 - lsrs r0, r1, 25 - adds r0, r3 - ldrb r0, [r0, 0x1] - muls r2, r0 - lsrs r1, 25 - adds r1, r3 - ldrh r0, [r1, 0x10] - adds r0, 0x2D - adds r2, r0 - strh r2, [r7, 0x3C] - adds r3, r6, 0 -_081194A2: - mov r1, r8 - adds r2, r6, r1 - adds r2, 0x73 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r1, r6, 0 - adds r1, 0x73 - ldrb r1, [r1] - strh r1, [r0, 0x36] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrb r1, [r4] - strh r1, [r0, 0x38] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrb r1, [r4] - strh r1, [r0, 0x3A] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - mov r1, r9 - strh r1, [r0, 0x32] - ldrb r0, [r2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - ldrh r0, [r7, 0x3C] - subs r0, 0x2D - strh r0, [r1, 0x34] - mov r0, r8 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - cmp r0, 0x1 - bls _081194A2 - str r7, [r3, 0x38] - add sp, 0x8 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08119514: .4byte gUnknown_083FA616 -_08119518: .4byte gSpriteTemplate_83FA524 -_0811951C: .4byte gSharedMem + 0x19000 -_08119520: .4byte gSprites -_08119524: .4byte gSpriteTemplate_83FA5F0 -_08119528: .4byte gUnknown_083F8DF4 - thumb_func_end sub_81193D4 - - thumb_func_start sub_811952C -sub_811952C: @ 811952C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - mov r8, r0 - movs r0, 0 - mov r10, r0 - movs r1, 0x5 - mov r9, r1 - movs r2, 0 - str r2, [sp, 0xC] - mov r0, sp - movs r1, 0 - movs r2, 0xA - bl memset - bl Random - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0x10] - ldr r7, _08119610 @ =gSharedMem + 0x19000 - adds r0, r7, 0 - adds r0, 0x7D - movs r6, 0x1 - strb r6, [r0] - ldrb r4, [r7, 0x3] - movs r0, 0x20 - orrs r4, r0 - movs r0, 0x41 - negs r0, r0 - ands r4, r0 - strb r4, [r7, 0x3] - adds r1, r7, 0 - adds r1, 0x7E - movs r0, 0xFF - strb r0, [r1] - adds r5, r7, 0 - adds r5, 0x88 - mov r3, r8 - movs r1, 0x34 - ldrsh r0, [r3, r1] - bl __floatsisf - str r0, [r5] - adds r1, r7, 0 - adds r1, 0x98 - ldr r0, _08119614 @ =0x00000000 - str r0, [r1] - adds r3, r7, 0 - adds r3, 0x8C - ldr r2, _08119618 @ =gUnknown_083F8DF4 - ldrb r0, [r7, 0x4] - lsls r0, 30 - lsrs r1, r0, 25 - adds r2, 0x1C - adds r1, r2 - ldr r1, [r1] - str r1, [r3] - lsrs r0, 30 - lsls r1, r0, 4 - subs r1, r0 - lsls r1, 1 - adds r1, 0x21 - lsls r4, 27 - lsrs r4, 27 - subs r6, r4 - lsls r0, r6, 4 - subs r0, r6 - adds r1, r0 - lsls r1, 16 - lsrs r1, 16 - mov r5, r10 - mov r3, r8 - movs r0, 0x34 - ldrsh r2, [r3, r0] -_081195C8: - cmp r1, r2 - bge _081195D4 - adds r0, r1, 0 - adds r0, 0x5A - cmp r2, r0 - ble _08119638 -_081195D4: - cmp r5, 0x3 - beq _0811961C - adds r0, r1, 0 - adds r0, 0x5A - lsls r0, 16 - lsrs r1, r0, 16 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x3 - bls _081195C8 -_081195EA: - ldr r0, _08119610 @ =gSharedMem + 0x19000 - ldrb r1, [r0, 0x3] - movs r0, 0x1F - ands r0, r1 - cmp r0, 0 - beq _08119664 - mov r1, r8 - movs r2, 0x2E - ldrsh r0, [r1, r2] - cmp r0, 0 - beq _08119658 - movs r0, 0x98 - lsls r0, 1 - movs r1, 0x3F - negs r1, r1 - bl PlayCry1 - b _08119670 - .align 2, 0 -_08119610: .4byte gSharedMem + 0x19000 -_08119614: .4byte 0x00000000 -_08119618: .4byte gUnknown_083F8DF4 -_0811961C: - movs r0, 0x1 - mov r3, r8 - strh r0, [r3, 0x2E] - ldr r2, _08119634 @ =gSharedMem + 0x19000 - ldrb r1, [r2, 0x3] - subs r0, 0x21 - ands r0, r1 - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2, 0x3] - b _081195EA - .align 2, 0 -_08119634: .4byte gSharedMem + 0x19000 -_08119638: - lsrs r0, r5, 1 - mov r1, r8 - strh r0, [r1, 0x2E] - ldr r3, _08119654 @ =gSharedMem + 0x19000 - movs r1, 0x1 - ands r1, r5 - ldrb r2, [r3, 0x3] - movs r0, 0x20 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0x3] - b _081195EA - .align 2, 0 -_08119654: .4byte gSharedMem + 0x19000 -_08119658: - movs r0, 0x98 - lsls r0, 1 - movs r1, 0x3F - bl PlayCry1 - b _08119670 -_08119664: - movs r0, 0x99 - lsls r0, 1 - movs r1, 0x3F - negs r1, r1 - bl PlayCry1 -_08119670: - movs r5, 0x2 - ldr r4, _081196A0 @ =gSharedMem + 0x19000 - adds r0, r4, 0 - adds r0, 0x7F - ldrb r0, [r0] - adds r0, 0x2 - movs r1, 0xC - bl __modsi3 - lsls r0, 24 - lsrs r3, r0, 24 - ldrb r1, [r4, 0x3] - movs r0, 0x1F - ands r0, r1 - cmp r0, 0x1 - bne _081196A4 - ldrb r1, [r4, 0x4] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0x1 - bne _081196A4 - mov r0, r9 - adds r0, 0x6 - b _081196A8 - .align 2, 0 -_081196A0: .4byte gSharedMem + 0x19000 -_081196A4: - mov r2, r9 - adds r0, r2, r5 -_081196A8: - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - cmp r5, r9 - bcs _0811970E - ldr r6, _08119734 @ =gSharedMem + 0x19000 - ldr r7, _08119738 @ =gUnknown_083F8C00 + 0xC -_081196B6: - lsls r0, r3, 3 - ldr r1, _0811973C @ =gUnknown_083F8D90 + 0x4 - adds r0, r1 - ldr r1, [r6, 0x8] - ldr r2, [r0] - ands r1, r2 - cmp r1, 0 - bne _081196F8 - mov r0, r10 - adds r1, r0, 0x1 - lsls r1, 24 - lsrs r1, 24 - mov r10, r1 - add r0, sp - strb r5, [r0] - ldr r0, [sp, 0xC] - cmp r0, 0 - bne _081196F8 - ldrb r0, [r6, 0x1A] - lsls r0, 28 - lsrs r0, 28 - ldr r1, _08119740 @ =gSharedMem + 0x1901B - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldr r0, [r0] - ands r2, r0 - cmp r2, 0 - beq _081196F8 - str r5, [sp, 0xC] -_081196F8: - adds r0, r3, 0x1 - movs r1, 0xC - bl __modsi3 - lsls r0, 24 - lsrs r3, r0, 24 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, r9 - bcc _081196B6 -_0811970E: - ldrb r0, [r4, 0x3] - lsls r0, 27 - lsrs r0, 27 - adds r0, 0x1 - ldrb r1, [r4, 0x2] - ands r0, r1 - cmp r0, 0 - beq _08119756 - ldr r2, [sp, 0xC] - cmp r2, 0 - beq _08119744 - movs r0, 0xFF - ldr r3, [sp, 0x10] - ands r0, r3 - cmp r0, 0xBF - bhi _08119744 - mov r0, r8 - strh r2, [r0, 0x3C] - b _08119766 - .align 2, 0 -_08119734: .4byte gSharedMem + 0x19000 -_08119738: .4byte gUnknown_083F8C00 + 0xC -_0811973C: .4byte gUnknown_083F8D90 + 0x4 -_08119740: .4byte gSharedMem + 0x1901B -_08119744: - ldr r0, [sp, 0x10] - mov r1, r10 - bl __modsi3 - add r0, sp - ldrb r0, [r0] - mov r1, r8 - strh r0, [r1, 0x3C] - b _08119766 -_08119756: - ldr r0, [sp, 0x10] - mov r1, r10 - bl __modsi3 - add r0, sp - ldrb r0, [r0] - mov r2, r8 - strh r0, [r2, 0x3C] -_08119766: - ldr r3, _0811977C @ =sub_8118CEC - mov r0, r8 - str r3, [r0, 0x1C] - 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 -_0811977C: .4byte sub_8118CEC - thumb_func_end sub_811952C - - thumb_func_start sub_8119780 -sub_8119780: @ 8119780 - push {r4,lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x30] - adds r1, r0, 0x1 - strh r1, [r2, 0x30] - lsls r0, 16 - asrs r0, 16 - movs r3, 0x34 - ldrsh r1, [r2, r3] - cmp r0, r1 - blt _081197CA - ldrh r0, [r2, 0x20] - subs r0, 0x2 - strh r0, [r2, 0x20] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x10 - negs r1, r1 - cmp r0, r1 - bge _081197CA - ldr r4, _081197D0 @ =gSharedMem + 0x19000 - ldrb r1, [r4, 0x3] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - bne _081197BA - movs r0, 0x40 - orrs r0, r1 - strb r0, [r4, 0x3] -_081197BA: - adds r0, r2, 0 - bl DestroySprite - movs r0, 0 - strb r0, [r4, 0x1] - ldr r0, _081197D4 @ =gUnknown_083FA61E - ldrh r0, [r0] - strh r0, [r4, 0x34] -_081197CA: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081197D0: .4byte gSharedMem + 0x19000 -_081197D4: .4byte gUnknown_083FA61E - thumb_func_end sub_8119780 - - thumb_func_start sub_81197D8 -sub_81197D8: @ 81197D8 - push {r4,lr} - sub sp, 0x18 - adds r4, r0, 0 - ldr r1, _08119854 @ =gUnknown_083FA632 - mov r0, sp - movs r2, 0x18 - bl memcpy - ldrh r0, [r4, 0x30] - adds r2, r0, 0x1 - strh r2, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - movs r3, 0x34 - ldrsh r1, [r4, r3] - cmp r0, r1 - bge _0811985C - movs r0, 0x1 - ands r2, r0 - cmp r2, 0 - beq _08119836 - ldr r3, _08119858 @ =gSpriteCoordOffsetY - movs r0, 0x3C - ldrsh r2, [r4, r0] - lsls r2, 1 - movs r1, 0x32 - ldrsh r0, [r4, r1] - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - lsls r0, 3 - adds r2, r0 - mov r1, sp - adds r0, r1, r2 - ldrh r0, [r0] - strh r0, [r3] - movs r3, 0x3C - ldrsh r2, [r4, r3] - adds r1, r2, 0x1 - adds r0, r1, 0 - cmp r1, 0 - bge _0811982E - adds r0, r2, 0x4 -_0811982E: - asrs r0, 2 - lsls r0, 2 - subs r0, r1, r0 - strh r0, [r4, 0x3C] -_08119836: - adds r3, r4, 0 - adds r3, 0x3E - ldrb r2, [r3] - lsls r0, r2, 29 - lsrs r0, 31 - movs r1, 0x1 - eors r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - b _08119884 - .align 2, 0 -_08119854: .4byte gUnknown_083FA632 -_08119858: .4byte gSpriteCoordOffsetY -_0811985C: - ldr r1, _0811988C @ =gSpriteCoordOffsetY - movs r0, 0 - strh r0, [r1] - ldr r2, _08119890 @ =gSprites - ldr r0, _08119894 @ =gSharedMem + 0x19000 - adds r0, 0x73 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x2C - ldrb r2, [r0] - movs r1, 0x41 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - adds r0, r4, 0 - bl DestroySprite -_08119884: - add sp, 0x18 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0811988C: .4byte gSpriteCoordOffsetY -_08119890: .4byte gSprites -_08119894: .4byte gSharedMem + 0x19000 - thumb_func_end sub_81197D8 - - thumb_func_start sub_8119898 -sub_8119898: @ 8119898 - push {r4,r5,lr} - adds r5, r0, 0 - ldrh r0, [r5, 0x30] - adds r0, 0x1 - strh r0, [r5, 0x30] - movs r1, 0x30 - ldrsh r0, [r5, r1] - bl __floatsisf - adds r4, r0, 0 - ldr r1, _08119948 @ =0x3d1fbe77 - bl __mulsf3 - adds r1, r4, 0 - bl __mulsf3 - bl __fixsfsi - strh r0, [r5, 0x26] - ldr r3, _0811994C @ =gSharedMem + 0x19000 - ldr r2, _08119950 @ =gUnknown_083FA61E - ldrb r0, [r3, 0x1] - subs r0, 0x1 - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - lsls r0, 1 - adds r0, r2 - ldrh r0, [r0] - strh r0, [r3, 0x34] - ldrb r0, [r3, 0x1] - cmp r0, 0x12 - bhi _081198DE - adds r0, 0x1 - strb r0, [r3, 0x1] -_081198DE: - movs r1, 0x30 - ldrsh r0, [r5, r1] - cmp r0, 0x3C - ble _08119940 - movs r0, 0 - strh r0, [r5, 0x30] - ldr r3, _08119954 @ =sub_8119780 - str r3, [r5, 0x1C] - ldr r2, _08119958 @ =gSprites - movs r0, 0x3A - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r4, r2, 0 - adds r4, 0x1C - adds r0, r4 - str r3, [r0] - movs r0, 0x3A - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldr r1, _0811995C @ =0x0000fffe - strh r1, [r0, 0x30] - movs r0, 0x38 - ldrsh r1, [r5, 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] - movs r0, 0x38 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r1, _08119960 @ =sub_81197D8 - str r1, [r0] - movs r0, 0xD6 - bl m4aSongNumStart -_08119940: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08119948: .4byte 0x3d1fbe77 -_0811994C: .4byte gSharedMem + 0x19000 -_08119950: .4byte gUnknown_083FA61E -_08119954: .4byte sub_8119780 -_08119958: .4byte gSprites -_0811995C: .4byte 0x0000fffe -_08119960: .4byte sub_81197D8 - thumb_func_end sub_8119898 - - thumb_func_start sub_8119964 -sub_8119964: @ 8119964 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x3C - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _081199E4 - ldr r3, _08119990 @ =gSharedMem + 0x19000 - ldr r1, [r3, 0x38] - movs r2, 0x2E - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _08119998 - movs r0, 0x34 - ldrsh r2, [r1, r0] - ldr r1, _08119994 @ =gUnknown_083F8DF4 - ldrb r0, [r3, 0x4] - lsls r0, 30 - lsrs r0, 25 - adds r0, r1 - ldrh r0, [r0, 0x8] - b _081199AA - .align 2, 0 -_08119990: .4byte gSharedMem + 0x19000 -_08119994: .4byte gUnknown_083F8DF4 -_08119998: - movs r0, 0x34 - ldrsh r2, [r1, r0] - ldr r1, _081199D8 @ =gUnknown_083F8DF4 - ldrb r0, [r3, 0x4] - lsls r0, 30 - lsrs r0, 25 - adds r0, r1 - ldrh r0, [r0, 0x8] - adds r0, 0xB4 -_081199AA: - cmp r2, r0 - bne _08119A78 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - ldrh r0, [r4, 0x3C] - adds r0, 0x1 - strh r0, [r4, 0x3C] - movs r0, 0x2B - bl m4aSongNumStart - ldr r1, _081199DC @ =gSharedMem + 0x19000 - movs r0, 0x1 - strb r0, [r1, 0x1] - ldr r0, _081199E0 @ =gUnknown_083FA61E - ldrh r0, [r0] - strh r0, [r1, 0x34] - b _08119A78 - .align 2, 0 -_081199D8: .4byte gUnknown_083F8DF4 -_081199DC: .4byte gSharedMem + 0x19000 -_081199E0: .4byte gUnknown_083FA61E -_081199E4: - ldr r3, _08119A20 @ =gSharedMem + 0x19000 - ldr r2, _08119A24 @ =gUnknown_083FA61E - ldrb r0, [r3, 0x1] - subs r0, 0x1 - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - lsls r0, 1 - adds r0, r2 - ldrh r0, [r0] - strh r0, [r3, 0x34] - ldrb r0, [r3, 0x1] - cmp r0, 0x12 - bhi _08119A04 - adds r0, 0x1 - strb r0, [r3, 0x1] -_08119A04: - ldr r1, [r3, 0x38] - movs r2, 0x2E - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _08119A2C - movs r0, 0x34 - ldrsh r2, [r1, r0] - ldr r1, _08119A28 @ =gUnknown_083F8DF4 - ldrb r0, [r3, 0x4] - lsls r0, 30 - lsrs r0, 25 - adds r0, r1 - ldrh r0, [r0, 0xA] - b _08119A3E - .align 2, 0 -_08119A20: .4byte gSharedMem + 0x19000 -_08119A24: .4byte gUnknown_083FA61E -_08119A28: .4byte gUnknown_083F8DF4 -_08119A2C: - movs r0, 0x34 - ldrsh r2, [r1, r0] - ldr r1, _08119A80 @ =gUnknown_083F8DF4 - ldrb r0, [r3, 0x4] - lsls r0, 30 - lsrs r0, 25 - adds r0, r1 - ldrh r0, [r0, 0xA] - adds r0, 0xB4 -_08119A3E: - cmp r2, r0 - bne _08119A78 - ldr r2, _08119A84 @ =gSprites - movs r0, 0x36 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r2, 0 - adds r1, 0x1C - adds r0, r1 - ldr r1, _08119A88 @ =sub_8119898 - str r1, [r0] - movs r0, 0x36 - ldrsh r1, [r4, 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] - ldr r0, _08119A8C @ =SpriteCallbackDummy - str r0, [r4, 0x1C] - movs r0, 0 - strh r0, [r4, 0x3C] -_08119A78: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08119A80: .4byte gUnknown_083F8DF4 -_08119A84: .4byte gSprites -_08119A88: .4byte sub_8119898 -_08119A8C: .4byte SpriteCallbackDummy - thumb_func_end sub_8119964 - - thumb_func_start sub_8119A90 -sub_8119A90: @ 8119A90 - adds r0, 0x3E - ldrb r3, [r0] - lsls r1, r3, 29 - lsrs r1, 31 - movs r2, 0x1 - eors r2, r1 - lsls r2, 2 - movs r1, 0x5 - negs r1, r1 - ands r1, r3 - orrs r1, r2 - strb r1, [r0] - bx lr - thumb_func_end sub_8119A90 - - thumb_func_start sub_8119AAC -sub_8119AAC: @ 8119AAC - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r2, [r4, 0x22] - movs r0, 0x22 - ldrsh r1, [r4, r0] - movs r0, 0x10 - negs r0, r0 - cmp r1, r0 - ble _08119AC4 - subs r0, r2, 0x1 - strh r0, [r4, 0x22] - b _08119B12 -_08119AC4: - ldr r0, _08119B18 @ =SpriteCallbackDummy - str r0, [r4, 0x1C] - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - subs r2, 0x12 - ldrb r0, [r2] - movs r1, 0x40 - orrs r0, r1 - strb r0, [r2] - movs r0, 0x5E - bl m4aSongNumStop - adds r0, r4, 0 - bl DestroySprite - ldr r5, _08119B1C @ =gSprites - ldr r4, _08119B20 @ =gSharedMem + 0x19000 - adds r4, 0x74 - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrb r0, [r0, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - bl DestroySprite -_08119B12: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08119B18: .4byte SpriteCallbackDummy -_08119B1C: .4byte gSprites -_08119B20: .4byte gSharedMem + 0x19000 - thumb_func_end sub_8119AAC - - thumb_func_start sub_8119B24 -sub_8119B24: @ 8119B24 - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x30] - movs r2, 0x30 - ldrsh r0, [r4, r2] - cmp r0, 0 - blt _08119B4E - subs r1, 0x1 - strh r1, [r4, 0x30] - ldrh r0, [r4, 0x22] - subs r0, 0x1 - strh r0, [r4, 0x22] - lsls r1, 16 - cmp r1, 0 - bne _08119BB8 - adds r0, r4, 0 - adds r0, 0x2B - ldrb r0, [r0] - cmp r0, 0x1 - bne _08119BB8 - b _08119B74 -_08119B4E: - ldrh r1, [r4, 0x34] - movs r2, 0x34 - ldrsh r0, [r4, r2] - cmp r0, 0 - blt _08119B84 - subs r0, r1, 0x1 - strh r0, [r4, 0x34] - adds r0, r4, 0 - adds r0, 0x2C - ldrb r1, [r0] - movs r0, 0x3F - ands r0, r1 - cmp r0, 0 - bne _08119BB8 - adds r0, r4, 0 - adds r0, 0x2B - ldrb r0, [r0] - cmp r0, 0x1 - bne _08119B7C -_08119B74: - ldrh r0, [r4, 0x26] - adds r0, 0x1 - strh r0, [r4, 0x26] - b _08119BB8 -_08119B7C: - ldrh r0, [r4, 0x26] - subs r0, 0x1 - strh r0, [r4, 0x26] - b _08119BB8 -_08119B84: - movs r0, 0x2B - bl m4aSongNumStart - ldr r0, _08119BC0 @ =gSharedMem + 0x19000 - ldr r0, [r0, 0x38] - ldrh r1, [r0, 0x2E] - adds r1, 0x4 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAnim - ldr r0, _08119BC4 @ =sub_8119AAC - str r0, [r4, 0x1C] - ldr r2, _08119BC8 @ =gSprites - movs r0, 0x3A - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x2C - ldrb r2, [r0] - movs r1, 0x7F - ands r1, r2 - strb r1, [r0] -_08119BB8: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08119BC0: .4byte gSharedMem + 0x19000 -_08119BC4: .4byte sub_8119AAC -_08119BC8: .4byte gSprites - thumb_func_end sub_8119B24 - - thumb_func_start sub_8119BCC -sub_8119BCC: @ 8119BCC - push {r4,r5,lr} - sub sp, 0x14 - adds r4, r0, 0 - ldr r1, _08119C44 @ =gUnknown_083FA64A - mov r0, sp - movs r2, 0x2 - bl memcpy - add r5, sp, 0x4 - ldr r1, _08119C48 @ =gUnknown_083FA64C - adds r0, r5, 0 - movs r2, 0x10 - bl memcpy - ldrh r0, [r4, 0x30] - subs r1, r0, 0x1 - strh r1, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7 - ble _08119C5C - ldr r0, _08119C4C @ =gSharedMem + 0x19000 - ldr r0, [r0, 0x38] - movs r1, 0x2E - ldrsh r0, [r0, r1] - add r0, sp - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 1 - ldrh r2, [r4, 0x20] - adds r0, r2 - strh r0, [r4, 0x20] - bl IsSEPlaying - lsls r0, 24 - cmp r0, 0 - beq _08119CF6 - movs r1, 0x20 - ldrsh r0, [r4, r1] - movs r4, 0x74 - subs r4, r0 - lsrs r0, r4, 31 - adds r4, r0 - asrs r4, 1 - negs r4, r4 - ldr r0, _08119C50 @ =gMPlay_SE1 - ldr r5, _08119C54 @ =0x0000ffff - lsls r4, 24 - asrs r4, 24 - adds r1, r5, 0 - adds r2, r4, 0 - bl m4aMPlayPanpotControl - ldr r0, _08119C58 @ =gMPlay_SE2 - adds r1, r5, 0 - adds r2, r4, 0 - bl m4aMPlayPanpotControl - b _08119CF6 - .align 2, 0 -_08119C44: .4byte gUnknown_083FA64A -_08119C48: .4byte gUnknown_083FA64C -_08119C4C: .4byte gSharedMem + 0x19000 -_08119C50: .4byte gMPlay_SE1 -_08119C54: .4byte 0x0000ffff -_08119C58: .4byte gMPlay_SE2 -_08119C5C: - lsls r0, r1, 16 - cmp r0, 0 - blt _08119CAC - ldr r0, _08119CA8 @ =gSharedMem + 0x19000 - ldr r0, [r0, 0x38] - movs r2, 0x2E - ldrsh r0, [r0, r2] - add r0, sp - movs r2, 0 - ldrsb r2, [r0, r2] - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r1, 0x7 - subs r0, r1, r0 - lsls r0, 1 - adds r0, r5, r0 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - muls r0, r2 - ldrh r2, [r4, 0x20] - adds r0, r2 - strh r0, [r4, 0x20] - movs r2, 0x30 - ldrsh r0, [r4, r2] - subs r1, r0 - lsls r1, 1 - mov r0, sp - adds r0, 0x5 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - b _08119CF6 - .align 2, 0 -_08119CA8: .4byte gSharedMem + 0x19000 -_08119CAC: - movs r0, 0x5E - bl m4aSongNumStartOrChange - ldr r0, _08119CCC @ =gSharedMem + 0x19000 - ldr r0, [r0, 0x38] - movs r2, 0x2E - ldrsh r0, [r0, r2] - cmp r0, 0 - bne _08119CD0 - movs r0, 0x98 - lsls r0, 1 - movs r1, 0x3F - bl PlayCry1 - b _08119CDC - .align 2, 0 -_08119CCC: .4byte gSharedMem + 0x19000 -_08119CD0: - movs r0, 0x98 - lsls r0, 1 - movs r1, 0x3F - negs r1, r1 - bl PlayCry1 -_08119CDC: - ldr r0, _08119D00 @ =gSharedMem + 0x19000 - ldr r0, [r0, 0x38] - ldrh r1, [r0, 0x2E] - adds r1, 0x2 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAnim - movs r0, 0x2D - strh r0, [r4, 0x30] - ldr r0, _08119D04 @ =sub_8119B24 - str r0, [r4, 0x1C] -_08119CF6: - add sp, 0x14 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08119D00: .4byte gSharedMem + 0x19000 -_08119D04: .4byte sub_8119B24 - thumb_func_end sub_8119BCC - - thumb_func_start sub_8119D08 -sub_8119D08: @ 8119D08 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - ldr r1, _08119D64 @ =gUnknown_083FA64A - mov r0, sp - movs r2, 0x2 - bl memcpy - ldrh r0, [r4, 0x30] - subs r1, r0, 0x1 - strh r1, [r4, 0x30] - lsls r0, 16 - cmp r0, 0 - blt _08119D70 - ldr r0, _08119D68 @ =gSharedMem + 0x19000 - ldr r0, [r0, 0x38] - movs r1, 0x2E - ldrsh r0, [r0, r1] - add r0, sp - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 1 - ldrh r2, [r4, 0x20] - adds r0, r2 - strh r0, [r4, 0x20] - ldr r1, _08119D6C @ =gSprites - movs r2, 0x3A - ldrsh r0, [r4, r2] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r1 - adds r2, 0x3E - ldrb r3, [r2] - lsls r0, r3, 29 - lsrs r0, 31 - movs r1, 0x1 - eors r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2] - b _08119D74 - .align 2, 0 -_08119D64: .4byte gUnknown_083FA64A -_08119D68: .4byte gSharedMem + 0x19000 -_08119D6C: .4byte gSprites -_08119D70: - ldr r0, _08119D7C @ =sub_8119A90 - str r0, [r4, 0x1C] -_08119D74: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08119D7C: .4byte sub_8119A90 - thumb_func_end sub_8119D08 - - thumb_func_start sub_8119D80 -sub_8119D80: @ 8119D80 - push {r4,lr} - adds r4, r0, 0 - ldr r3, _08119DB8 @ =gSharedMem + 0x19000 - ldr r1, [r3, 0x38] - movs r2, 0x2E - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _08119DC4 - movs r0, 0x34 - ldrsh r2, [r1, r0] - ldr r1, _08119DBC @ =gUnknown_083F8DF4 - ldrb r0, [r3, 0x4] - lsls r0, 30 - lsrs r0, 25 - adds r0, r1 - ldrh r0, [r0, 0x12] - adds r0, 0x5A - cmp r2, r0 - bne _08119E26 - ldr r2, _08119DC0 @ =gSprites - movs r0, 0x3A - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r3, 0x34 - b _08119DEE - .align 2, 0 -_08119DB8: .4byte gSharedMem + 0x19000 -_08119DBC: .4byte gUnknown_083F8DF4 -_08119DC0: .4byte gSprites -_08119DC4: - movs r0, 0x34 - ldrsh r2, [r1, r0] - ldr r1, _08119E2C @ =gUnknown_083F8DF4 - ldrb r0, [r3, 0x4] - lsls r0, 30 - lsrs r0, 25 - adds r0, r1 - ldrh r0, [r0, 0x14] - movs r1, 0x87 - lsls r1, 1 - adds r0, r1 - cmp r2, r0 - bne _08119E26 - ldr r2, _08119E30 @ =gSprites - movs r0, 0x3A - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r3, 0x2E -_08119DEE: - strh r3, [r0, 0x30] - movs r0, 0x36 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r3, [r0, 0x30] - movs r0, 0x3A - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, _08119E34 @ =sub_8119D08 - str r1, [r0] - movs r0, 0x36 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldr r1, _08119E38 @ =sub_8119BCC - str r1, [r0] - movs r0, 0x2B - bl m4aSongNumStart -_08119E26: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08119E2C: .4byte gUnknown_083F8DF4 -_08119E30: .4byte gSprites -_08119E34: .4byte sub_8119D08 -_08119E38: .4byte sub_8119BCC - thumb_func_end sub_8119D80 - - .align 2, 0 @ Don't pad with nop.*/ diff --git a/asm/roulette_util.s b/asm/roulette_util.s deleted file mode 100644 index ac2b1126a..000000000 --- a/asm/roulette_util.s +++ /dev/null @@ -1,781 +0,0 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text -/* - thumb_func_start sub_8124918 -sub_8124918: @ 8124918 - push {lr} - movs r1, 0 - strb r1, [r0] - strh r1, [r0, 0x2] - adds r0, 0x4 - movs r2, 0xC0 - bl memset - pop {r0} - bx r0 - thumb_func_end sub_8124918 - - - thumb_func_start sub_812492C -sub_812492C: @ 812492C - push {r4-r7,lr} - adds r3, r0, 0 - lsls r1, 24 - lsrs r6, r1, 24 - cmp r6, 0xF - bhi _08124948 - lsls r0, r6, 1 - adds r0, r6 - lsls r0, 2 - adds r5, r3, r0 - ldrb r7, [r5, 0x4] - lsrs r0, r7, 7 - cmp r0, 0 - beq _0812494C -_08124948: - movs r0, 0xFF - b _081249AA -_0812494C: - ldrh r0, [r2] - movs r4, 0 - strh r0, [r5, 0x8] - ldrh r0, [r2, 0x2] - strh r0, [r5, 0xA] - ldrb r0, [r2, 0x4] - strb r0, [r5, 0xC] - ldrb r0, [r2, 0x5] - strb r0, [r5, 0xD] - ldrb r0, [r2, 0x6] - strb r0, [r5, 0xE] - ldrb r3, [r2, 0x7] - lsls r0, r3, 27 - lsrs r0, 27 - ldrb r2, [r5, 0xF] - movs r1, 0x20 - negs r1, r1 - ands r1, r2 - orrs r1, r0 - movs r0, 0x60 - ands r0, r3 - movs r2, 0x61 - negs r2, r2 - ands r1, r2 - orrs r1, r0 - lsls r3, 24 - asrs r3, 31 - lsls r3, 7 - movs r0, 0x7F - ands r1, r0 - orrs r1, r3 - strb r1, [r5, 0xF] - subs r0, 0xFF - ands r0, r7 - movs r2, 0x80 - orrs r0, r2 - strb r0, [r5, 0x4] - strb r4, [r5, 0x6] - strb r4, [r5, 0x5] - lsls r1, 24 - cmp r1, 0 - bge _081249A4 - movs r0, 0xFF - b _081249A6 -_081249A4: - movs r0, 0x1 -_081249A6: - strb r0, [r5, 0x7] - adds r0, r6, 0 -_081249AA: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_812492C - - thumb_func_start unref_sub_81249B0 -unref_sub_81249B0: @ 81249B0 - push {r4,lr} - adds r2, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r4, r1, 0 - cmp r4, 0xF - bhi _081249DC - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 2 - adds r1, r2, r0 - ldrb r0, [r1, 0x4] - lsrs r0, 7 - cmp r0, 0 - beq _081249DC - adds r0, r1, 0x4 - movs r1, 0 - movs r2, 0xC - bl memset - adds r0, r4, 0 - b _081249DE -_081249DC: - movs r0, 0xFF -_081249DE: - pop {r4} - pop {r1} - bx r1 - thumb_func_end unref_sub_81249B0 - - thumb_func_start sub_81249E4 -sub_81249E4: @ 81249E4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - adds r5, r0, 0 - movs r0, 0 - mov r12, r0 - ldrb r1, [r5, 0x8] - cmp r12, r1 - bcc _081249FC - b _08124B94 -_081249FC: - movs r7, 0x1F - ldr r0, _08124A2C @ =0xfffffc1f - mov r10, r0 - movs r1, 0x7D - negs r1, r1 - mov r9, r1 - movs r0, 0x1F - mov r8, r0 -_08124A0C: - ldrh r0, [r5, 0x6] - add r0, r12 - lsls r0, 1 - ldr r1, _08124A30 @ =gPlttBufferFaded - adds r3, r0, r1 - ldr r1, _08124A34 @ =gPlttBufferUnfaded - adds r6, r0, r1 - ldrb r0, [r5] - lsls r0, 25 - lsrs r0, 25 - cmp r0, 0x1 - beq _08124A38 - cmp r0, 0x2 - beq _08124A96 - b _08124B82 - .align 2, 0 -_08124A2C: .4byte 0xfffffc1f -_08124A30: .4byte gPlttBufferFaded -_08124A34: .4byte gPlttBufferUnfaded -_08124A38: - ldr r0, [r3] - lsls r2, r0, 27 - lsrs r0, r2, 27 - movs r1, 0x3 - ldrsb r1, [r5, r1] - adds r0, r1 - cmp r0, 0x1F - bhi _08124A5A - lsrs r0, r2, 27 - adds r0, r1 - ands r0, r7 - ldrb r2, [r3] - movs r1, 0x20 - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r3] -_08124A5A: - ldr r0, [r3] - lsls r2, r0, 22 - lsrs r0, r2, 27 - movs r1, 0x3 - ldrsb r1, [r5, r1] - adds r0, r1 - cmp r0, 0x1F - bhi _08124A7E - lsrs r0, r2, 27 - adds r0, r1 - mov r1, r8 - ands r0, r1 - lsls r0, 5 - ldrh r2, [r3] - mov r1, r10 - ands r1, r2 - orrs r1, r0 - strh r1, [r3] -_08124A7E: - ldr r0, [r3] - lsls r2, r0, 17 - lsrs r0, r2, 27 - movs r1, 0x3 - ldrsb r1, [r5, r1] - adds r0, r1 - cmp r0, 0x1F - bls _08124A90 - b _08124B82 -_08124A90: - lsrs r0, r2, 27 - adds r0, r1 - b _08124B74 -_08124A96: - movs r0, 0x3 - ldrsb r0, [r5, r0] - cmp r0, 0 - bge _08124B08 - ldr r0, [r3] - lsls r4, r0, 27 - lsrs r1, r4, 27 - movs r2, 0x3 - ldrsb r2, [r5, r2] - adds r1, r2 - ldr r0, [r6] - lsls r0, 27 - lsrs r0, 27 - cmp r1, r0 - blt _08124AC6 - lsrs r0, r4, 27 - adds r0, r2 - ands r0, r7 - ldrb r2, [r3] - movs r1, 0x20 - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r3] -_08124AC6: - ldr r0, [r3] - lsls r4, r0, 22 - lsrs r1, r4, 27 - movs r2, 0x3 - ldrsb r2, [r5, r2] - adds r1, r2 - ldr r0, [r6] - lsls r0, 22 - lsrs r0, 27 - cmp r1, r0 - blt _08124AF0 - lsrs r0, r4, 27 - adds r0, r2 - mov r1, r8 - ands r0, r1 - lsls r0, 5 - ldrh r2, [r3] - mov r1, r10 - ands r1, r2 - orrs r1, r0 - strh r1, [r3] -_08124AF0: - ldr r0, [r3] - lsls r4, r0, 17 - lsrs r1, r4, 27 - movs r2, 0x3 - ldrsb r2, [r5, r2] - adds r1, r2 - ldr r0, [r6] - lsls r0, 17 - lsrs r0, 27 - cmp r1, r0 - blt _08124B82 - b _08124B70 -_08124B08: - ldr r0, [r3] - lsls r4, r0, 27 - lsrs r1, r4, 27 - movs r2, 0x3 - ldrsb r2, [r5, r2] - adds r1, r2 - ldr r0, [r6] - lsls r0, 27 - lsrs r0, 27 - cmp r1, r0 - bgt _08124B30 - lsrs r0, r4, 27 - adds r0, r2 - ands r0, r7 - ldrb r2, [r3] - movs r1, 0x20 - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r3] -_08124B30: - ldr r0, [r3] - lsls r4, r0, 22 - lsrs r1, r4, 27 - movs r2, 0x3 - ldrsb r2, [r5, r2] - adds r1, r2 - ldr r0, [r6] - lsls r0, 22 - lsrs r0, 27 - cmp r1, r0 - bgt _08124B5A - lsrs r0, r4, 27 - adds r0, r2 - mov r1, r8 - ands r0, r1 - lsls r0, 5 - ldrh r2, [r3] - mov r1, r10 - ands r1, r2 - orrs r1, r0 - strh r1, [r3] -_08124B5A: - ldr r0, [r3] - lsls r4, r0, 17 - lsrs r1, r4, 27 - movs r2, 0x3 - ldrsb r2, [r5, r2] - adds r1, r2 - ldr r0, [r6] - lsls r0, 17 - lsrs r0, 27 - cmp r1, r0 - bgt _08124B82 -_08124B70: - lsrs r0, r4, 27 - adds r0, r2 -_08124B74: - ands r0, r7 - lsls r0, 2 - ldrb r2, [r3, 0x1] - mov r1, r9 - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0x1] -_08124B82: - mov r0, r12 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r12, r0 - ldrb r0, [r5, 0x8] - cmp r12, r0 - bcs _08124B94 - b _08124A0C -_08124B94: - ldrb r1, [r5, 0x2] - adds r0, r1, 0x1 - strb r0, [r5, 0x2] - ldrb r0, [r5, 0xB] - lsls r0, 27 - lsls r1, 24 - asrs r0, 3 - cmp r1, r0 - beq _08124BAA - movs r0, 0 - b _08124BDE -_08124BAA: - movs r0, 0 - strb r0, [r5, 0x2] - movs r0, 0x3 - ldrsb r0, [r5, r0] - negs r0, r0 - strb r0, [r5, 0x3] - ldrb r2, [r5] - movs r1, 0x7F - movs r0, 0x7F - ands r0, r2 - cmp r0, 0x1 - bne _08124BCA - lsls r0, r2, 25 - lsrs r0, 25 - adds r0, 0x1 - b _08124BD0 -_08124BCA: - lsls r0, r2, 25 - lsrs r0, 25 - subs r0, 0x1 -_08124BD0: - ands r0, r1 - movs r1, 0x80 - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r5] - movs r0, 0x1 -_08124BDE: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_81249E4 - - thumb_func_start sub_8124BEC -sub_8124BEC: @ 8124BEC - push {r4,r5,lr} - adds r3, r0, 0 - movs r2, 0 - ldrb r0, [r3] - lsls r0, 25 - lsrs r0, 25 - cmp r0, 0x1 - beq _08124C02 - cmp r0, 0x2 - beq _08124C30 - b _08124C6A -_08124C02: - ldrb r0, [r3, 0x8] - cmp r2, r0 - bcs _08124C22 - ldr r4, _08124C2C @ =gPlttBufferFaded -_08124C0A: - ldrh r0, [r3, 0x6] - adds r0, r2 - lsls r0, 1 - adds r0, r4 - ldrh r1, [r3, 0x4] - strh r1, [r0] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - ldrb r0, [r3, 0x8] - cmp r2, r0 - bcc _08124C0A -_08124C22: - ldrb r2, [r3] - lsls r1, r2, 25 - lsrs r1, 25 - adds r1, 0x1 - b _08124C5C - .align 2, 0 -_08124C2C: .4byte gPlttBufferFaded -_08124C30: - ldrb r0, [r3, 0x8] - cmp r2, r0 - bcs _08124C54 - ldr r5, _08124C74 @ =gPlttBufferFaded - ldr r4, _08124C78 @ =gPlttBufferUnfaded -_08124C3A: - ldrh r0, [r3, 0x6] - adds r0, r2 - lsls r0, 1 - adds r1, r0, r5 - adds r0, r4 - ldrh r0, [r0] - strh r0, [r1] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - ldrb r0, [r3, 0x8] - cmp r2, r0 - bcc _08124C3A -_08124C54: - ldrb r2, [r3] - lsls r1, r2, 25 - lsrs r1, 25 - subs r1, 0x1 -_08124C5C: - movs r0, 0x7F - ands r1, r0 - movs r0, 0x80 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] -_08124C6A: - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08124C74: .4byte gPlttBufferFaded -_08124C78: .4byte gPlttBufferUnfaded - thumb_func_end sub_8124BEC - - thumb_func_start task_tutorial_controls_fadein -task_tutorial_controls_fadein: @ 8124C7C - push {r4-r6,lr} - adds r4, r0, 0 - movs r5, 0 - ldrb r0, [r4] - cmp r0, 0 - beq _08124CE0 -_08124C88: - ldrh r0, [r4, 0x2] - asrs r0, r5 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08124CD6 - lsls r1, r5, 1 - adds r0, r1, r5 - lsls r3, r0, 2 - adds r2, r4, r3 - ldrb r0, [r2, 0x5] - subs r0, 0x1 - strb r0, [r2, 0x5] - lsls r0, 24 - lsrs r0, 24 - adds r6, r1, 0 - cmp r0, 0xFF - bne _08124CD6 - ldrh r0, [r2, 0x8] - movs r2, 0x80 - lsls r2, 8 - adds r1, r2, 0 - ands r0, r1 - cmp r0, 0 - beq _08124CC4 - adds r0, r3, 0x4 - adds r0, r4, r0 - bl sub_81249E4 - b _08124CCC -_08124CC4: - adds r0, r3, 0x4 - adds r0, r4, r0 - bl sub_8124BEC -_08124CCC: - adds r0, r6, r5 - lsls r0, 2 - adds r0, r4, r0 - ldrb r1, [r0, 0xD] - strb r1, [r0, 0x5] -_08124CD6: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0xF - bls _08124C88 -_08124CE0: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end task_tutorial_controls_fadein - - thumb_func_start sub_8124CE8 -sub_8124CE8: @ 8124CE8 - push {r4-r7,lr} - adds r3, r0, 0 - lsls r1, 16 - lsrs r6, r1, 16 - movs r4, 0 - ldrb r0, [r3] - adds r0, 0x1 - strb r0, [r3] - movs r5, 0x1 - movs r7, 0x80 - negs r7, r7 -_08124CFE: - adds r0, r6, 0 - asrs r0, r4 - ands r0, r5 - cmp r0, 0 - beq _08124D2C - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 2 - adds r2, r3, r0 - ldrb r0, [r2, 0x4] - lsrs r0, 7 - cmp r0, 0 - beq _08124D2C - adds r0, r5, 0 - lsls r0, r4 - ldrh r1, [r3, 0x2] - orrs r0, r1 - strh r0, [r3, 0x2] - ldrb r1, [r2, 0x4] - adds r0, r7, 0 - ands r0, r1 - orrs r0, r5 - strb r0, [r2, 0x4] -_08124D2C: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xF - bls _08124CFE - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8124CE8 - - thumb_func_start sub_8124D3C -sub_8124D3C: @ 8124D3C - push {r4-r7,lr} - sub sp, 0x4 - adds r6, r0, 0 - lsls r1, 16 - lsrs r7, r1, 16 - movs r5, 0 - movs r3, 0x1 -_08124D4A: - ldrh r0, [r6, 0x2] - asrs r0, r5 - ands r0, r3 - cmp r0, 0 - beq _08124DB2 - lsls r0, r5, 1 - adds r0, r5 - lsls r0, 2 - adds r4, r6, r0 - ldrb r0, [r4, 0x4] - lsrs r0, 7 - cmp r0, 0 - beq _08124DB2 - adds r0, r7, 0 - asrs r0, r5 - ands r0, r3 - cmp r0, 0 - beq _08124DB2 - ldrh r1, [r4, 0xA] - lsls r1, 1 - ldr r0, _08124DA8 @ =gPlttBufferFaded - adds r0, r1, r0 - ldr r2, _08124DAC @ =gPlttBufferUnfaded - adds r1, r2 - ldrb r2, [r4, 0xC] - lsls r2, 1 - str r3, [sp] - bl memcpy - ldrb r0, [r4, 0x4] - movs r2, 0x80 - negs r2, r2 - adds r1, r2, 0 - ands r0, r1 - strb r0, [r4, 0x4] - movs r0, 0 - strb r0, [r4, 0x6] - strb r0, [r4, 0x5] - ldrb r0, [r4, 0xF] - lsls r0, 24 - ldr r3, [sp] - cmp r0, 0 - bge _08124DB0 - movs r0, 0xFF - strb r0, [r4, 0x7] - b _08124DB2 - .align 2, 0 -_08124DA8: .4byte gPlttBufferFaded -_08124DAC: .4byte gPlttBufferUnfaded -_08124DB0: - strb r3, [r4, 0x7] -_08124DB2: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0xF - bls _08124D4A - ldr r0, _08124DC8 @ =0x0000ffff - cmp r7, r0 - bne _08124DCC - movs r0, 0 - strb r0, [r6] - b _08124DD0 - .align 2, 0 -_08124DC8: .4byte 0x0000ffff -_08124DCC: - ldrh r0, [r6, 0x2] - bics r0, r7 -_08124DD0: - strh r0, [r6, 0x2] - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8124D3C - - thumb_func_start sub_8124DDC -sub_8124DDC: @ 8124DDC - push {r4-r7,lr} - adds r6, r0, 0 - ldr r0, [sp, 0x14] - ldr r4, [sp, 0x18] - lsls r1, 16 - lsrs r7, r1, 16 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r4, 24 - lsrs r4, 24 - movs r1, 0 - lsrs r3, 19 - adds r3, r2 - lsls r3, 1 - adds r6, r3 - cmp r1, r4 - bcs _08124E26 -_08124E04: - lsls r0, r1, 6 - adds r2, r6, r0 - movs r0, 0 - adds r3, r1, 0x1 - cmp r0, r5 - bcs _08124E1E -_08124E10: - strh r7, [r2] - adds r2, 0x2 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - cmp r0, r5 - bcc _08124E10 -_08124E1E: - lsls r0, r3, 24 - lsrs r1, r0, 24 - cmp r1, r4 - bcc _08124E04 -_08124E26: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8124DDC - - thumb_func_start sub_8124E2C -sub_8124E2C: @ 8124E2C - push {r4-r7,lr} - adds r7, r0, 0 - ldr r0, [sp, 0x14] - ldr r4, [sp, 0x18] - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r4, 24 - lsrs r6, r4, 24 - movs r4, 0 - lsrs r3, 19 - adds r3, r2 - lsls r3, 1 - adds r7, r3 - cmp r4, r6 - bcs _08124E76 -_08124E50: - lsls r0, r4, 6 - adds r2, r7, r0 - movs r3, 0 - adds r4, 0x1 - cmp r3, r5 - bcs _08124E6E -_08124E5C: - ldrh r0, [r1] - strh r0, [r2] - adds r1, 0x2 - adds r2, 0x2 - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, r5 - bcc _08124E5C -_08124E6E: - lsls r0, r4, 24 - lsrs r4, r0, 24 - cmp r4, r6 - bcc _08124E50 -_08124E76: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8124E2C - - .align 2, 0 @ Don't pad with nop. -*/ diff --git a/ld_script.txt b/ld_script.txt index d2586f3c3..8bf867a21 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -337,7 +337,6 @@ SECTIONS { asm/pokedex_area_screen.o(.text); src/scene/evolution_scene.o(.text); src/roulette.o(.text); - asm/roulette.o(.text); asm/pokedex_cry_screen.o(.text); src/pokemon/pokedex_cry_screen.o(.text); asm/pokedex_cry_screen.o(.text_811A4F8); @@ -350,7 +349,6 @@ SECTIONS { src/field/choose_party.o(.text); asm/cable_car.o(.text); src/roulette_util.o(.text); - asm/roulette_util.o(.text); asm/cable_car_util.o(.text); src/unused_8124F94.o(.text); src/engine/save.o(.text); |