summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
Diffstat (limited to 'asm')
-rw-r--r--asm/region_map.s6584
1 files changed, 0 insertions, 6584 deletions
diff --git a/asm/region_map.s b/asm/region_map.s
index 662c65fa7..10f8c83f4 100644
--- a/asm/region_map.s
+++ b/asm/region_map.s
@@ -5,6590 +5,6 @@
.text
- thumb_func_start sub_80BFE18
-sub_80BFE18: @ 80BFE18
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r6, r0, 0
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 16
- lsrs r2, 16
- mov r9, r2
- cmp r1, 0
- beq _080BFE92
- movs r0, 0x1F
- mov r10, r0
- mov r8, r1
-_080BFE38:
- ldrh r1, [r6]
- movs r0, 0x1F
- ands r0, r1
- lsls r1, 16
- lsrs r5, r1, 21
- mov r2, r10
- ands r5, r2
- lsrs r4, r1, 26
- ands r4, r2
- lsls r0, 8
- movs r1, 0x64
- bl __divsi3
- mov r1, r9
- muls r1, r0
- adds r0, r1, 0
- asrs r7, r0, 8
- lsls r0, r5, 8
- movs r1, 0x64
- bl __divsi3
- mov r2, r9
- muls r2, r0
- adds r0, r2, 0
- asrs r5, r0, 8
- lsls r0, r4, 8
- movs r1, 0x64
- bl __divsi3
- mov r1, r9
- muls r1, r0
- adds r0, r1, 0
- asrs r4, r0, 8
- lsls r0, r4, 10
- lsls r1, r5, 5
- orrs r0, r1
- orrs r0, r7
- strh r0, [r6]
- adds r6, 0x2
- movs r2, 0x1
- negs r2, r2
- add r8, r2
- mov r0, r8
- cmp r0, 0
- bne _080BFE38
-_080BFE92:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80BFE18
-
- thumb_func_start sub_80BFEA0
-sub_80BFEA0: @ 80BFEA0
- push {r4,lr}
- sub sp, 0x20
- ldr r4, _080BFED8 @ =gUnknown_83EF2DC + 0x40
- adds r0, r4, 0
- mov r1, sp
- movs r2, 0x10
- bl CpuSet
- mov r0, sp
- movs r1, 0x10
- movs r2, 0x5F
- bl sub_80BFE18
- mov r0, sp
- movs r1, 0x20
- movs r2, 0x20
- bl LoadPalette
- adds r4, 0x1E
- adds r0, r4, 0
- movs r1, 0x2F
- movs r2, 0x2
- bl LoadPalette
- add sp, 0x20
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080BFED8: .4byte gUnknown_83EF2DC + 0x40
- thumb_func_end sub_80BFEA0
-
- thumb_func_start sub_80BFEDC
-sub_80BFEDC: @ 80BFEDC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r4, _080BFEFC @ =gUnknown_20399D4
- ldr r0, _080BFF00 @ =0x000047c0
- bl AllocZeroed
- adds r2, r0, 0
- str r2, [r4]
- cmp r2, 0
- bne _080BFF08
- ldr r0, _080BFF04 @ =CB2_ReturnToField
- bl SetMainCallback2
- b _080BFF38
- .align 2, 0
-_080BFEFC: .4byte gUnknown_20399D4
-_080BFF00: .4byte 0x000047c0
-_080BFF04: .4byte CB2_ReturnToField
-_080BFF08:
- ldr r1, _080BFF40 @ =gUnknown_2031DE0
- movs r0, 0x1
- strb r0, [r1]
- ldr r1, _080BFF44 @ =0x00004796
- adds r0, r2, r1
- movs r1, 0
- strb r5, [r0]
- ldr r0, [r4]
- ldr r2, _080BFF48 @ =0x000047a0
- adds r0, r2
- strb r1, [r0]
- ldr r0, [r4]
- adds r2, 0x4
- adds r0, r2
- strb r1, [r0]
- ldr r0, [r4]
- adds r2, 0x4
- adds r0, r2
- strb r1, [r0]
- bl sub_80BFFD0
- ldr r0, _080BFF4C @ =sub_80C0100
- bl SetMainCallback2
-_080BFF38:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080BFF40: .4byte gUnknown_2031DE0
-_080BFF44: .4byte 0x00004796
-_080BFF48: .4byte 0x000047a0
-_080BFF4C: .4byte sub_80C0100
- thumb_func_end sub_80BFEDC
-
- thumb_func_start sub_80BFF50
-sub_80BFF50: @ 80BFF50
- push {r4-r6,lr}
- adds r6, r1, 0
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r4, _080BFF70 @ =gUnknown_20399D4
- ldr r0, _080BFF74 @ =0x000047c0
- bl AllocZeroed
- adds r2, r0, 0
- str r2, [r4]
- cmp r2, 0
- bne _080BFF7C
- ldr r0, _080BFF78 @ =CB2_ReturnToField
- bl SetMainCallback2
- b _080BFFB4
- .align 2, 0
-_080BFF70: .4byte gUnknown_20399D4
-_080BFF74: .4byte 0x000047c0
-_080BFF78: .4byte CB2_ReturnToField
-_080BFF7C:
- ldr r1, _080BFFBC @ =gUnknown_2031DE0
- movs r0, 0x1
- strb r0, [r1]
- ldr r1, _080BFFC0 @ =0x00004796
- adds r0, r2, r1
- movs r1, 0
- strb r5, [r0]
- ldr r0, [r4]
- ldr r2, _080BFFC4 @ =0x000047a0
- adds r0, r2
- strb r1, [r0]
- ldr r0, [r4]
- adds r2, 0x4
- adds r0, r2
- strb r1, [r0]
- ldr r0, [r4]
- adds r2, 0x4
- adds r0, r2
- strb r1, [r0]
- ldr r0, [r4]
- ldr r1, _080BFFC8 @ =0x000047bc
- adds r0, r1
- str r6, [r0]
- bl sub_80BFFD0
- ldr r0, _080BFFCC @ =sub_80C0100
- bl SetMainCallback2
-_080BFFB4:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080BFFBC: .4byte gUnknown_2031DE0
-_080BFFC0: .4byte 0x00004796
-_080BFFC4: .4byte 0x000047a0
-_080BFFC8: .4byte 0x000047bc
-_080BFFCC: .4byte sub_80C0100
- thumb_func_end sub_80BFF50
-
- thumb_func_start sub_80BFFD0
-sub_80BFFD0: @ 80BFFD0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r1, _080C0000 @ =gUnknown_20399D4
- ldr r2, [r1]
- ldr r3, _080C0004 @ =0x00004796
- adds r0, r2, r3
- ldrb r0, [r0]
- mov r8, r1
- cmp r0, 0
- blt _080BFFF2
- cmp r0, 0x1
- ble _080BFFF2
- cmp r0, 0x2
- beq _080C0010
-_080BFFF2:
- mov r4, r8
- ldr r0, [r4]
- ldr r1, _080C0008 @ =0x000047b8
- adds r0, r1
- ldr r1, _080C000C @ =sub_80C04E4
- str r1, [r0]
- b _080C0018
- .align 2, 0
-_080C0000: .4byte gUnknown_20399D4
-_080C0004: .4byte 0x00004796
-_080C0008: .4byte 0x000047b8
-_080C000C: .4byte sub_80C04E4
-_080C0010:
- ldr r3, _080C009C @ =0x000047b8
- adds r1, r2, r3
- ldr r0, _080C00A0 @ =sub_80C4F08
- str r0, [r1]
-_080C0018:
- movs r3, 0
- ldr r6, _080C00A4 @ =gUnknown_20399D4
- ldr r5, _080C00A8 @ =0x00004797
- ldr r4, _080C00AC @ =gUnknown_83F1B00
- ldr r2, _080C00B0 @ =0x00004796
-_080C0022:
- ldr r0, [r6]
- adds r1, r0, r5
- adds r1, r3
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r3, r0
- adds r0, r4
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3
- bls _080C0022
- ldr r0, _080C00B4 @ =0x00000845
- bl FlagGet
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _080C0058
- ldr r0, _080C00A4 @ =gUnknown_20399D4
- ldr r0, [r0]
- ldr r4, _080C00A8 @ =0x00004797
- adds r0, r4
- strb r1, [r0]
-_080C0058:
- movs r7, 0
- movs r1, 0
- ldr r2, _080C00B8 @ =gMapHeader
- ldrb r0, [r2, 0x14]
- ldr r3, _080C00A4 @ =gUnknown_20399D4
- mov r8, r3
- cmp r0, 0x8E
- bls _080C00D8
- ldr r4, _080C00BC @ =gUnknown_83F1AA4
- mov r12, r4
- mov r10, r12
- mov r9, r2
-_080C0070:
- movs r3, 0
- lsls r0, r1, 4
- subs r0, r1
- lsls r2, r0, 1
- mov r4, r10
- adds r0, r2, r4
- ldrb r0, [r0]
- adds r5, r1, 0x1
- cmp r0, 0xC5
- beq _080C00D0
- ldr r6, _080C00BC @ =gUnknown_83F1AA4
- mov r0, r9
- ldrb r1, [r0, 0x14]
- lsls r4, r5, 24
-_080C008C:
- adds r0, r3, r2
- adds r0, r6
- ldrb r0, [r0]
- cmp r1, r0
- bne _080C00C0
- lsrs r7, r4, 24
- b _080C00D0
- .align 2, 0
-_080C009C: .4byte 0x000047b8
-_080C00A0: .4byte sub_80C4F08
-_080C00A4: .4byte gUnknown_20399D4
-_080C00A8: .4byte 0x00004797
-_080C00AC: .4byte gUnknown_83F1B00
-_080C00B0: .4byte 0x00004796
-_080C00B4: .4byte 0x00000845
-_080C00B8: .4byte gMapHeader
-_080C00BC: .4byte gUnknown_83F1AA4
-_080C00C0:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- adds r0, r3, r2
- add r0, r12
- ldrb r0, [r0]
- cmp r0, 0xC5
- bne _080C008C
-_080C00D0:
- lsls r0, r5, 24
- lsrs r1, r0, 24
- cmp r7, 0
- beq _080C0070
-_080C00D8:
- mov r1, r8
- ldr r0, [r1]
- ldr r2, _080C00F8 @ =0x0000479b
- adds r0, r2
- strb r7, [r0]
- ldr r0, [r1]
- ldr r3, _080C00FC @ =0x0000479c
- adds r0, r3
- strb r7, [r0]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C00F8: .4byte 0x0000479b
-_080C00FC: .4byte 0x0000479c
- thumb_func_end sub_80BFFD0
-
- thumb_func_start sub_80C0100
-sub_80C0100: @ 80C0100
- push {r4,lr}
- sub sp, 0x8
- ldr r0, _080C011C @ =gUnknown_20399D4
- ldr r0, [r0]
- ldr r1, _080C0120 @ =0x000047a4
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x8
- bhi _080C0202
- lsls r0, 2
- ldr r1, _080C0124 @ =_080C0128
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080C011C: .4byte gUnknown_20399D4
-_080C0120: .4byte 0x000047a4
-_080C0124: .4byte _080C0128
- .align 2, 0
-_080C0128:
- .4byte _080C014C
- .4byte _080C0152
- .4byte _080C0158
- .4byte _080C015E
- .4byte _080C016A
- .4byte _080C0180
- .4byte _080C01D4
- .4byte _080C01E0
- .4byte _080C01EC
-_080C014C:
- bl sub_80C08E0
- b _080C021A
-_080C0152:
- bl sub_80C0904
- b _080C021A
-_080C0158:
- bl sub_80C0A6C
- b _080C021A
-_080C015E:
- bl sub_80C0238
- lsls r0, 24
- cmp r0, 0
- beq _080C0228
- b _080C021A
-_080C016A:
- movs r0, 0x1E
- str r0, [sp]
- movs r0, 0x14
- str r0, [sp, 0x4]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- b _080C01BA
-_080C0180:
- ldr r4, _080C01C4 @ =gUnknown_20399D4
- ldr r1, [r4]
- ldr r2, _080C01C8 @ =0x0000479b
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r2, r0, 2
- adds r2, r0
- lsls r0, r2, 4
- subs r0, r2
- lsls r0, 4
- adds r0, 0x26
- adds r1, r0
- movs r0, 0
- bl sub_80C0CC8
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldr r1, [r4]
- ldr r2, _080C01CC @ =0x00004796
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _080C021A
- ldr r0, _080C01D0 @ =0x000012e6
- adds r1, r0
- movs r0, 0x1
- bl sub_80C0CC8
-_080C01BA:
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- b _080C021A
- .align 2, 0
-_080C01C4: .4byte gUnknown_20399D4
-_080C01C8: .4byte 0x0000479b
-_080C01CC: .4byte 0x00004796
-_080C01D0: .4byte 0x000012e6
-_080C01D4:
- bl sub_80C0B18
- movs r0, 0
- bl PutWindowTilemap
- b _080C021A
-_080C01E0:
- bl sub_80C0BB0
- movs r0, 0x1
- bl PutWindowTilemap
- b _080C021A
-_080C01EC:
- movs r0, 0x2
- bl sub_80C0E04
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080C021A
- movs r0, 0x1
- bl sub_80C0A88
- b _080C021A
-_080C0202:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- bl sub_80C03E8
- bl sub_80C08F4
-_080C021A:
- ldr r0, _080C0230 @ =gUnknown_20399D4
- ldr r1, [r0]
- ldr r2, _080C0234 @ =0x000047a4
- adds r1, r2
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_080C0228:
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C0230: .4byte gUnknown_20399D4
-_080C0234: .4byte 0x000047a4
- thumb_func_end sub_80C0100
-
- thumb_func_start sub_80C0238
-sub_80C0238: @ 80C0238
- push {r4,lr}
- sub sp, 0x4
- ldr r0, _080C0258 @ =gUnknown_20399D4
- ldr r1, [r0]
- ldr r2, _080C025C @ =0x000047a8
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0x8
- bls _080C024C
- b _080C03B0
-_080C024C:
- lsls r0, 2
- ldr r1, _080C0260 @ =_080C0264
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080C0258: .4byte gUnknown_20399D4
-_080C025C: .4byte 0x000047a8
-_080C0260: .4byte _080C0264
- .align 2, 0
-_080C0264:
- .4byte _080C0288
- .4byte _080C0298
- .4byte _080C02FC
- .4byte _080C0302
- .4byte _080C0340
- .4byte _080C034E
- .4byte _080C0364
- .4byte _080C037C
- .4byte _080C0394
-_080C0288:
- ldr r0, _080C0294 @ =gUnknown_83EF23C
- movs r1, 0xC0
- movs r2, 0x20
- bl LoadPalette
- b _080C03C8
- .align 2, 0
-_080C0294: .4byte gUnknown_83EF23C
-_080C0298:
- ldr r0, _080C02EC @ =gUnknown_83EF2DC
- movs r1, 0
- movs r2, 0xA0
- bl LoadPalette
- bl sub_80BFEA0
- ldr r0, _080C02F0 @ =gUnknown_20399D4
- ldr r0, [r0]
- ldr r1, _080C02F4 @ =0x00004796
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080C02B6
- b _080C03C8
-_080C02B6:
- ldr r4, _080C02F8 @ =gUnknown_83EF23C + 0x1E
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x2
- bl LoadPalette
- adds r0, r4, 0
- movs r1, 0x10
- movs r2, 0x2
- bl LoadPalette
- adds r0, r4, 0
- movs r1, 0x20
- movs r2, 0x2
- bl LoadPalette
- adds r0, r4, 0
- movs r1, 0x30
- movs r2, 0x2
- bl LoadPalette
- adds r0, r4, 0
- movs r1, 0x40
- movs r2, 0x2
- bl LoadPalette
- b _080C03C8
- .align 2, 0
-_080C02EC: .4byte gUnknown_83EF2DC
-_080C02F0: .4byte gUnknown_20399D4
-_080C02F4: .4byte 0x00004796
-_080C02F8: .4byte gUnknown_83EF23C + 0x1E
-_080C02FC:
- bl ResetTempTileDataBuffers
- b _080C03C8
-_080C0302:
- ldr r1, _080C0330 @ =gUnknown_83EF61C
- movs r4, 0
- str r4, [sp]
- movs r0, 0
- movs r2, 0
- movs r3, 0
- bl DecompressAndCopyTileDataToVram
- ldr r0, _080C0334 @ =gUnknown_20399D4
- ldr r0, [r0]
- ldr r2, _080C0338 @ =0x00004796
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _080C03C8
- ldr r1, _080C033C @ =gUnknown_83F1978
- str r4, [sp]
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl DecompressAndCopyTileDataToVram
- b _080C03C8
- .align 2, 0
-_080C0330: .4byte gUnknown_83EF61C
-_080C0334: .4byte gUnknown_20399D4
-_080C0338: .4byte 0x00004796
-_080C033C: .4byte gUnknown_83F1978
-_080C0340:
- bl FreeTempTileDataBuffersIfPossible
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080C03C8
- b _080C03D6
-_080C034E:
- ldr r0, _080C035C @ =gUnknown_83F089C
- ldr r1, _080C0360 @ =gUnknown_20399D4
- ldr r1, [r1]
- adds r1, 0x26
- bl LZ77UnCompWram
- b _080C03C8
- .align 2, 0
-_080C035C: .4byte gUnknown_83F089C
-_080C0360: .4byte gUnknown_20399D4
-_080C0364:
- ldr r0, _080C0370 @ =gUnknown_83F0AFC
- ldr r1, _080C0374 @ =gUnknown_20399D4
- ldr r1, [r1]
- ldr r2, _080C0378 @ =0x000004d6
- b _080C039C
- .align 2, 0
-_080C0370: .4byte gUnknown_83F0AFC
-_080C0374: .4byte gUnknown_20399D4
-_080C0378: .4byte 0x000004d6
-_080C037C:
- ldr r0, _080C0388 @ =gUnknown_83F0C0C
- ldr r1, _080C038C @ =gUnknown_20399D4
- ldr r1, [r1]
- ldr r2, _080C0390 @ =0x00000986
- b _080C039C
- .align 2, 0
-_080C0388: .4byte gUnknown_83F0C0C
-_080C038C: .4byte gUnknown_20399D4
-_080C0390: .4byte 0x00000986
-_080C0394:
- ldr r0, _080C03A4 @ =gUnknown_83F0CF0
- ldr r1, _080C03A8 @ =gUnknown_20399D4
- ldr r1, [r1]
- ldr r2, _080C03AC @ =0x00000e36
-_080C039C:
- adds r1, r2
- bl LZ77UnCompWram
- b _080C03C8
- .align 2, 0
-_080C03A4: .4byte gUnknown_83F0CF0
-_080C03A8: .4byte gUnknown_20399D4
-_080C03AC: .4byte 0x00000e36
-_080C03B0:
- ldr r0, _080C03C0 @ =gUnknown_83F19A0
- ldr r2, _080C03C4 @ =0x000012e6
- adds r1, r2
- bl LZ77UnCompWram
- movs r0, 0x1
- b _080C03D8
- .align 2, 0
-_080C03C0: .4byte gUnknown_83F19A0
-_080C03C4: .4byte 0x000012e6
-_080C03C8:
- ldr r0, _080C03E0 @ =gUnknown_20399D4
- ldr r1, [r0]
- ldr r0, _080C03E4 @ =0x000047a8
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_080C03D6:
- movs r0, 0
-_080C03D8:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080C03E0: .4byte gUnknown_20399D4
-_080C03E4: .4byte 0x000047a8
- thumb_func_end sub_80C0238
-
- thumb_func_start sub_80C03E8
-sub_80C03E8: @ 80C03E8
- push {lr}
- ldr r0, _080C0404 @ =gUnknown_20399D4
- ldr r0, [r0]
- ldr r1, _080C0408 @ =0x000047b8
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0
- bl CreateTask
- ldr r0, _080C040C @ =sub_80C08B4
- bl SetMainCallback2
- pop {r0}
- bx r0
- .align 2, 0
-_080C0404: .4byte gUnknown_20399D4
-_080C0408: .4byte 0x000047b8
-_080C040C: .4byte sub_80C08B4
- thumb_func_end sub_80C03E8
-
- thumb_func_start sub_80C0410
-sub_80C0410: @ 80C0410
- push {r4,r5,lr}
- bl sub_80C0E20
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- bl sub_80C3514
- adds r4, r0, 0
- lsls r4, 16
- asrs r4, 16
- bl sub_80C3508
- adds r3, r0, 0
- lsls r3, 16
- asrs r3, 16
- adds r0, r5, 0
- movs r1, 0
- adds r2, r4, 0
- bl sub_80C4164
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x63
- beq _080C0446
- movs r0, 0x1
- b _080C0448
-_080C0446:
- movs r0, 0
-_080C0448:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80C0410
-
- thumb_func_start sub_80C0450
-sub_80C0450: @ 80C0450
- push {lr}
- bl sub_80C0410
- cmp r0, 0
- beq _080C04E0
- movs r0, 0
- bl sub_80C3AC8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080C0474
- movs r0, 0
- bl sub_80C3AC8
- lsls r0, 24
- cmp r0, 0
- bne _080C048E
-_080C0474:
- movs r0, 0x1
- bl sub_80C3AC8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080C0494
- movs r0, 0x1
- bl sub_80C3AC8
- lsls r0, 24
- cmp r0, 0
- beq _080C0494
-_080C048E:
- movs r0, 0x65
- bl PlaySE
-_080C0494:
- bl sub_80C3508
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x15
- bne _080C04C2
- bl sub_80C3514
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xB
- bne _080C04C2
- movs r0, 0
- bl sub_80C0E04
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080C04C2
- movs r0, 0xE1
- bl PlaySE
- b _080C04E0
-_080C04C2:
- bl sub_80C3508
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x15
- bne _080C04E0
- bl sub_80C3514
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xD
- bne _080C04E0
- movs r0, 0xE1
- bl PlaySE
-_080C04E0:
- pop {r0}
- bx r0
- thumb_func_end sub_80C0450
-
- thumb_func_start sub_80C04E4
-sub_80C04E4: @ 80C04E4
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _080C0508 @ =gUnknown_20399D4
- ldr r0, [r0]
- ldr r1, _080C050C @ =0x000047a0
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x5
- bls _080C04FC
- b _080C07B0
-_080C04FC:
- lsls r0, 2
- ldr r1, _080C0510 @ =_080C0514
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080C0508: .4byte gUnknown_20399D4
-_080C050C: .4byte 0x000047a0
-_080C0510: .4byte _080C0514
- .align 2, 0
-_080C0514:
- .4byte _080C052C
- .4byte _080C0560
- .4byte _080C05E0
- .4byte _080C0624
- .4byte _080C0760
- .4byte _080C0788
-_080C052C:
- bl sub_80C0E20
- lsls r0, 24
- lsrs r0, 24
- ldr r4, _080C0558 @ =gUnknown_20399D4
- ldr r1, [r4]
- ldr r2, _080C055C @ =0x000047b8
- adds r1, r2
- ldr r2, [r1]
- adds r1, r5, 0
- bl sub_80C4398
- movs r0, 0
- movs r1, 0
- bl sub_80C3008
- movs r0, 0x1
- movs r1, 0x1
- bl sub_80C41D8
- ldr r1, [r4]
- b _080C079C
- .align 2, 0
-_080C0558: .4byte gUnknown_20399D4
-_080C055C: .4byte 0x000047b8
-_080C0560:
- ldr r0, _080C057C @ =gUnknown_20399D4
- ldr r1, [r0]
- ldr r2, _080C0580 @ =0x00004799
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080C0584
- adds r2, 0x1F
- adds r0, r1, r2
- ldr r1, [r0]
- adds r0, r5, 0
- bl sub_80C2208
- b _080C0798
- .align 2, 0
-_080C057C: .4byte gUnknown_20399D4
-_080C0580: .4byte 0x00004799
-_080C0584:
- movs r0, 0
- bl ShowBg
- movs r0, 0x3
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- ldr r0, _080C05D8 @ =gUnknown_8418EB5
- bl sub_80C4E18
- ldr r0, _080C05DC @ =gUnknown_8418E8B
- bl sub_80C4E74
- movs r0, 0
- bl sub_80C4ED0
- movs r0, 0
- bl sub_80C4324
- movs r0, 0
- bl sub_80C3154
- bl sub_80C0E20
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x19
- movs r2, 0
- bl sub_80C48BC
- bl sub_80C0E20
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x19
- movs r2, 0
- bl sub_80C4960
- b _080C0798
- .align 2, 0
-_080C05D8: .4byte gUnknown_8418EB5
-_080C05DC: .4byte gUnknown_8418E8B
-_080C05E0:
- ldr r0, _080C0618 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080C05EE
- b _080C07C2
-_080C05EE:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- beq _080C05FA
- b _080C07C2
-_080C05FA:
- bl sub_80C0B18
- movs r0, 0
- bl PutWindowTilemap
- bl sub_80C0BB0
- movs r0, 0x1
- bl PutWindowTilemap
- ldr r0, _080C061C @ =gUnknown_20399D4
- ldr r1, [r0]
- ldr r2, _080C0620 @ =0x000047a0
- adds r1, r2
- b _080C07A0
- .align 2, 0
-_080C0618: .4byte gPaletteFade
-_080C061C: .4byte gUnknown_20399D4
-_080C0620: .4byte 0x000047a0
-_080C0624:
- bl sub_80C3400
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x1
- cmp r0, 0x5
- bls _080C0634
- b _080C07C2
-_080C0634:
- lsls r0, 2
- ldr r1, _080C0640 @ =_080C0644
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080C0640: .4byte _080C0644
- .align 2, 0
-_080C0644:
- .4byte _080C065C
- .4byte _080C07C2
- .4byte _080C0662
- .4byte _080C070C
- .4byte _080C0740
- .4byte _080C0798
-_080C065C:
- bl sub_80C3178
- b _080C07C2
-_080C0662:
- bl sub_80C0B18
- bl sub_80C0BB0
- bl sub_80C0B9C
- bl sub_80C0450
- bl sub_80C3580
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xC5
- beq _080C06A8
- movs r0, 0x1
- bl sub_80C0E04
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080C068E
- b _080C07C2
-_080C068E:
- movs r0, 0x1
- bl sub_80C3AC8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _080C0700
- ldr r0, _080C06A4 @ =gUnknown_8418E8D
- bl sub_80C4E74
- b _080C07C2
- .align 2, 0
-_080C06A4: .4byte gUnknown_8418E8D
-_080C06A8:
- bl sub_80C3508
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x15
- bne _080C06DC
- bl sub_80C3514
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xB
- bne _080C06DC
- movs r0, 0
- bl sub_80C0E04
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080C06DC
- ldr r0, _080C06D8 @ =gUnknown_8418EA7
- bl sub_80C4E74
- b _080C07C2
- .align 2, 0
-_080C06D8: .4byte gUnknown_8418EA7
-_080C06DC:
- bl sub_80C3508
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x15
- bne _080C0700
- bl sub_80C3514
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xD
- bne _080C0700
- ldr r0, _080C06FC @ =gUnknown_8418E95
- bl sub_80C4E74
- b _080C07C2
- .align 2, 0
-_080C06FC: .4byte gUnknown_8418E95
-_080C0700:
- ldr r0, _080C0708 @ =gUnknown_8418E8B
- bl sub_80C4E74
- b _080C07C2
- .align 2, 0
-_080C0708: .4byte gUnknown_8418E8B
-_080C070C:
- movs r0, 0x1
- bl sub_80C3AC8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _080C07C2
- ldr r0, _080C0734 @ =gUnknown_20399D4
- ldr r0, [r0]
- ldr r1, _080C0738 @ =0x00004798
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080C07C2
- ldr r2, _080C073C @ =sub_80C07F8
- movs r0, 0
- adds r1, r5, 0
- bl sub_80C195C
- b _080C07C2
- .align 2, 0
-_080C0734: .4byte gUnknown_20399D4
-_080C0738: .4byte 0x00004798
-_080C073C: .4byte sub_80C07F8
-_080C0740:
- ldr r0, _080C0754 @ =gUnknown_20399D4
- ldr r0, [r0]
- ldr r2, _080C0758 @ =0x0000479b
- adds r0, r2
- ldrb r0, [r0]
- ldr r2, _080C075C @ =sub_80C07F8
- adds r1, r5, 0
- bl sub_80C0E70
- b _080C07C2
- .align 2, 0
-_080C0754: .4byte gUnknown_20399D4
-_080C0758: .4byte 0x0000479b
-_080C075C: .4byte sub_80C07F8
-_080C0760:
- movs r0, 0x2
- bl sub_80C0E04
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080C0776
- adds r0, r5, 0
- bl sub_80C2C1C
- b _080C0798
-_080C0776:
- ldr r0, _080C0780 @ =gUnknown_20399D4
- ldr r1, [r0]
- ldr r2, _080C0784 @ =0x000047a0
- adds r1, r2
- b _080C07A0
- .align 2, 0
-_080C0780: .4byte gUnknown_20399D4
-_080C0784: .4byte 0x000047a0
-_080C0788:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
-_080C0798:
- ldr r0, _080C07A8 @ =gUnknown_20399D4
- ldr r1, [r0]
-_080C079C:
- ldr r0, _080C07AC @ =0x000047a0
- adds r1, r0
-_080C07A0:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080C07C2
- .align 2, 0
-_080C07A8: .4byte gUnknown_20399D4
-_080C07AC: .4byte 0x000047a0
-_080C07B0:
- ldr r0, _080C07CC @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080C07C2
- adds r0, r5, 0
- bl sub_80C0820
-_080C07C2:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C07CC: .4byte gPaletteFade
- thumb_func_end sub_80C04E4
-
- thumb_func_start sub_80C07D0
-sub_80C07D0: @ 80C07D0
- ldr r1, _080C07DC @ =gUnknown_20399D4
- ldr r1, [r1]
- ldr r2, _080C07E0 @ =0x000047b8
- adds r1, r2
- str r0, [r1]
- bx lr
- .align 2, 0
-_080C07DC: .4byte gUnknown_20399D4
-_080C07E0: .4byte 0x000047b8
- thumb_func_end sub_80C07D0
-
- thumb_func_start sub_80C07E4
-sub_80C07E4: @ 80C07E4
- ldr r0, _080C07F0 @ =gUnknown_20399D4
- ldr r0, [r0]
- ldr r1, _080C07F4 @ =0x000047b8
- adds r0, r1
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_080C07F0: .4byte gUnknown_20399D4
-_080C07F4: .4byte 0x000047b8
- thumb_func_end sub_80C07E4
-
- thumb_func_start sub_80C07F8
-sub_80C07F8: @ 80C07F8
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080C0814 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r0, _080C0818 @ =gUnknown_20399D4
- ldr r0, [r0]
- ldr r2, _080C081C @ =0x000047b8
- adds r0, r2
- ldr r0, [r0]
- str r0, [r1]
- bx lr
- .align 2, 0
-_080C0814: .4byte gTasks
-_080C0818: .4byte gUnknown_20399D4
-_080C081C: .4byte 0x000047b8
- thumb_func_end sub_80C07F8
-
- thumb_func_start sub_80C0820
-sub_80C0820: @ 80C0820
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x2
- bl sub_80C0E04
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080C0838
- bl sub_80C25BC
-_080C0838:
- bl sub_80C4A04
- bl sub_80C3188
- bl sub_80C4348
- bl sub_80C4D30
- adds r0, r4, 0
- bl DestroyTask
- bl FreeAllWindowBuffers
- ldr r0, _080C086C @ =gUnknown_20399D4
- ldr r0, [r0]
- ldr r1, _080C0870 @ =0x000047bc
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- bne _080C0878
- ldr r0, _080C0874 @ =gMain
- ldr r0, [r0, 0x8]
- bl SetMainCallback2
- b _080C087C
- .align 2, 0
-_080C086C: .4byte gUnknown_20399D4
-_080C0870: .4byte 0x000047bc
-_080C0874: .4byte gMain
-_080C0878:
- bl SetMainCallback2
-_080C087C:
- ldr r4, _080C0894 @ =gUnknown_20399D4
- ldr r0, [r4]
- cmp r0, 0
- beq _080C088C
- bl Free
- movs r0, 0
- str r0, [r4]
-_080C088C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C0894: .4byte gUnknown_20399D4
- thumb_func_end sub_80C0820
-
- thumb_func_start sub_80C0898
-sub_80C0898: @ 80C0898
- push {r4,lr}
- ldr r4, _080C08B0 @ =gUnknown_20399D4
- ldr r0, [r4]
- cmp r0, 0
- beq _080C08AA
- bl Free
- movs r0, 0
- str r0, [r4]
-_080C08AA:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C08B0: .4byte gUnknown_20399D4
- thumb_func_end sub_80C0898
-
- thumb_func_start sub_80C08B4
-sub_80C08B4: @ 80C08B4
- push {lr}
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_80C08B4
-
- thumb_func_start sub_80C08CC
-sub_80C08CC: @ 80C08CC
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_80C08CC
-
- thumb_func_start sub_80C08E0
-sub_80C08E0: @ 80C08E0
- push {lr}
- movs r0, 0
- bl SetVBlankCallback
- movs r0, 0
- bl SetHBlankCallback
- pop {r0}
- bx r0
- thumb_func_end sub_80C08E0
-
- thumb_func_start sub_80C08F4
-sub_80C08F4: @ 80C08F4
- push {lr}
- ldr r0, _080C0900 @ =sub_80C08CC
- bl SetVBlankCallback
- pop {r0}
- bx r0
- .align 2, 0
-_080C0900: .4byte sub_80C08CC
- thumb_func_end sub_80C08F4
-
- thumb_func_start sub_80C0904
-sub_80C0904: @ 80C0904
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- movs r3, 0xC0
- lsls r3, 19
- movs r4, 0xC0
- lsls r4, 9
- add r0, sp, 0x4
- mov r8, r0
- mov r2, sp
- movs r6, 0
- ldr r1, _080C0A18 @ =0x040000d4
- movs r5, 0x80
- lsls r5, 5
- ldr r7, _080C0A1C @ =0x81000800
- movs r0, 0x81
- lsls r0, 24
- mov r12, r0
-_080C092A:
- strh r6, [r2]
- mov r0, sp
- str r0, [r1]
- str r3, [r1, 0x4]
- str r7, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r3, r5
- subs r4, r5
- cmp r4, r5
- bhi _080C092A
- strh r6, [r2]
- mov r2, sp
- str r2, [r1]
- str r3, [r1, 0x4]
- lsrs r0, r4, 1
- mov r2, r12
- orrs r0, r2
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r0, 0xE0
- lsls r0, 19
- movs r3, 0x80
- lsls r3, 3
- movs r4, 0
- str r4, [sp, 0x4]
- ldr r2, _080C0A18 @ =0x040000d4
- mov r1, r8
- str r1, [r2]
- str r0, [r2, 0x4]
- lsrs r0, r3, 2
- movs r1, 0x85
- lsls r1, 24
- orrs r0, r1
- str r0, [r2, 0x8]
- ldr r0, [r2, 0x8]
- movs r1, 0xA0
- lsls r1, 19
- mov r0, sp
- strh r4, [r0]
- str r0, [r2]
- str r1, [r2, 0x4]
- lsrs r3, 1
- movs r0, 0x81
- lsls r0, 24
- orrs r3, r0
- str r3, [r2, 0x8]
- ldr r0, [r2, 0x8]
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, _080C0A20 @ =gUnknown_83F1A50
- movs r0, 0
- movs r2, 0x4
- bl InitBgsFromTemplates
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- ldr r0, _080C0A24 @ =gUnknown_83F1A60
- bl InitWindows
- bl DeactivateAllTextPrinters
- ldr r1, _080C0A28 @ =0x00006040
- movs r0, 0
- bl SetGpuReg
- bl sub_80C0A2C
- bl sub_80C0AB8
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C0A18: .4byte 0x040000d4
-_080C0A1C: .4byte 0x81000800
-_080C0A20: .4byte gUnknown_83F1A50
-_080C0A24: .4byte gUnknown_83F1A60
-_080C0A28: .4byte 0x00006040
- thumb_func_end sub_80C0904
-
- thumb_func_start sub_80C0A2C
-sub_80C0A2C: @ 80C0A2C
- push {r4,lr}
- ldr r4, _080C0A5C @ =gUnknown_20399D4
- ldr r1, [r4]
- ldr r0, _080C0A60 @ =0x00001796
- adds r1, r0
- movs r0, 0
- bl SetBgTilemapBuffer
- ldr r1, [r4]
- ldr r0, _080C0A64 @ =0x00002796
- adds r1, r0
- movs r0, 0x1
- bl SetBgTilemapBuffer
- ldr r1, [r4]
- ldr r0, _080C0A68 @ =0x00003796
- adds r1, r0
- movs r0, 0x2
- bl SetBgTilemapBuffer
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C0A5C: .4byte gUnknown_20399D4
-_080C0A60: .4byte 0x00001796
-_080C0A64: .4byte 0x00002796
-_080C0A68: .4byte 0x00003796
- thumb_func_end sub_80C0A2C
-
- thumb_func_start sub_80C0A6C
-sub_80C0A6C: @ 80C0A6C
- push {lr}
- bl ResetSpriteData
- bl ResetPaletteFade
- bl FreeAllSpritePalettes
- bl ResetTasks
- bl ScanlineEffect_Stop
- pop {r0}
- bx r0
- thumb_func_end sub_80C0A6C
-
- thumb_func_start sub_80C0A88
-sub_80C0A88: @ 80C0A88
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _080C0A98
- cmp r0, 0x1
- beq _080C0AA6
- b _080C0AB2
-_080C0A98:
- movs r0, 0
- bl ShowBg
- movs r0, 0x3
- bl ShowBg
- b _080C0AB2
-_080C0AA6:
- movs r0, 0
- bl HideBg
- movs r0, 0x3
- bl HideBg
-_080C0AB2:
- pop {r0}
- bx r0
- thumb_func_end sub_80C0A88
-
- thumb_func_start sub_80C0AB8
-sub_80C0AB8: @ 80C0AB8
- push {r4,lr}
- bl sub_80C4BE4
- movs r0, 0
- movs r1, 0x11
- movs r2, 0xC0
- bl sub_80C4C2C
- movs r0, 0x6
- bl sub_80C4C48
- movs r0, 0x39
- movs r1, 0x39
- bl sub_80C4C74
- movs r0, 0x1B
- bl sub_80C4C88
- ldr r4, _080C0B14 @ =gUnknown_83F1B0C
- movs r0, 0
- adds r1, r4, 0
- bl sub_80C4CF0
- adds r4, 0x8
- movs r0, 0x1
- adds r1, r4, 0
- bl sub_80C4CF0
- movs r0, 0
- movs r1, 0
- bl sub_80C4C9C
- bl sub_80C3580
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xC5
- beq _080C0B0C
- movs r0, 0x1
- movs r1, 0
- bl sub_80C4C9C
-_080C0B0C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C0B14: .4byte gUnknown_83F1B0C
- thumb_func_end sub_80C0AB8
-
- thumb_func_start sub_80C0B18
-sub_80C0B18: @ 80C0B18
- push {r4,r5,lr}
- sub sp, 0xC
- movs r0, 0
- bl ClearWindowTilemap
- movs r0, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- bl sub_80C3520
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xC5
- bne _080C0B44
- ldr r1, _080C0B40 @ =gUnknown_83F1B1C
- movs r0, 0
- bl sub_80C4CF0
- b _080C0B88
- .align 2, 0
-_080C0B40: .4byte gUnknown_83F1B1C
-_080C0B44:
- ldr r5, _080C0B90 @ =gUnknown_20399D4
- ldr r4, [r5]
- bl sub_80C3520
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- movs r2, 0
- bl GetMapName
- ldr r0, _080C0B94 @ =gUnknown_83F1A90
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- ldr r0, [r5]
- str r0, [sp, 0x8]
- movs r0, 0
- movs r1, 0x2
- movs r2, 0x2
- movs r3, 0x2
- bl AddTextPrinterParameterized3
- movs r0, 0
- bl PutWindowTilemap
- movs r0, 0
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r1, _080C0B98 @ =gUnknown_83F1B0C
- movs r0, 0
- bl sub_80C4CF0
-_080C0B88:
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C0B90: .4byte gUnknown_20399D4
-_080C0B94: .4byte gUnknown_83F1A90
-_080C0B98: .4byte gUnknown_83F1B0C
- thumb_func_end sub_80C0B18
-
- thumb_func_start sub_80C0B9C
-sub_80C0B9C: @ 80C0B9C
- push {lr}
- ldr r1, _080C0BAC @ =gUnknown_83F1B14
- movs r0, 0x1
- bl sub_80C4CF0
- pop {r0}
- bx r0
- .align 2, 0
-_080C0BAC: .4byte gUnknown_83F1B14
- thumb_func_end sub_80C0B9C
-
- thumb_func_start sub_80C0BB0
-sub_80C0BB0: @ 80C0BB0
- push {r4-r6,lr}
- sub sp, 0xC
- ldr r5, _080C0C84 @ =gUnknown_20399D4
- ldr r1, [r5]
- ldr r2, _080C0C88 @ =0x000047ac
- adds r0, r1, r2
- movs r6, 0
- strh r6, [r0]
- ldr r3, _080C0C8C @ =0x000047ae
- adds r2, r1, r3
- movs r0, 0x18
- strh r0, [r2]
- ldr r0, _080C0C90 @ =0x000047b0
- adds r1, r0
- movs r0, 0x20
- strh r0, [r1]
- movs r0, 0x1
- movs r1, 0x1
- bl sub_80C4C9C
- movs r0, 0x1
- bl ClearWindowTilemap
- bl sub_80C3580
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xC5
- beq _080C0C7A
- adds r4, r0, 0
- subs r4, 0x58
- lsls r4, 16
- lsrs r4, 16
- movs r0, 0x1
- movs r1, 0
- bl sub_80C4C9C
- ldr r0, [r5]
- ldr r1, _080C0C88 @ =0x000047ac
- adds r0, r1
- movs r1, 0x1
- strh r1, [r0]
- ldr r0, _080C0C94 @ =gUnknown_83F1CAC
- lsls r4, 2
- adds r4, r0
- ldr r4, [r4]
- adds r0, r4, 0
- bl StringLength
- ldr r2, [r5]
- ldr r3, _080C0C98 @ =0x000047aa
- adds r1, r2, r3
- strh r0, [r1]
- ldrh r1, [r1]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 1
- adds r0, 0x32
- adds r3, 0x4
- adds r1, r2, r3
- strh r0, [r1]
- ldr r0, _080C0C90 @ =0x000047b0
- adds r2, r0
- movs r0, 0x30
- strh r0, [r2]
- movs r0, 0x1
- movs r1, 0
- bl FillWindowPixelBuffer
- ldr r0, [r5]
- adds r0, 0x13
- adds r1, r4, 0
- bl StringCopy
- ldr r4, _080C0C9C @ =gUnknown_83F1A9C
- movs r0, 0x1
- bl sub_80C3AC8
- lsls r0, 24
- lsrs r0, 22
- subs r0, 0x8
- adds r0, r4
- ldr r0, [r0]
- str r0, [sp]
- str r6, [sp, 0x4]
- ldr r0, [r5]
- adds r0, 0x13
- str r0, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0x2
- movs r2, 0xC
- movs r3, 0x2
- bl AddTextPrinterParameterized3
- movs r0, 0x1
- bl PutWindowTilemap
- movs r0, 0x1
- movs r1, 0x3
- bl CopyWindowToVram
-_080C0C7A:
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080C0C84: .4byte gUnknown_20399D4
-_080C0C88: .4byte 0x000047ac
-_080C0C8C: .4byte 0x000047ae
-_080C0C90: .4byte 0x000047b0
-_080C0C94: .4byte gUnknown_83F1CAC
-_080C0C98: .4byte 0x000047aa
-_080C0C9C: .4byte gUnknown_83F1A9C
- thumb_func_end sub_80C0BB0
-
- thumb_func_start sub_80C0CA0
-sub_80C0CA0: @ 80C0CA0
- push {lr}
- movs r0, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- movs r0, 0x1
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0x1
- movs r1, 0x3
- bl CopyWindowToVram
- pop {r0}
- bx r0
- thumb_func_end sub_80C0CA0
-
- thumb_func_start sub_80C0CC8
-sub_80C0CC8: @ 80C0CC8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x10
- adds r7, r1, 0
- lsls r0, 24
- ldr r2, _080C0D0C @ =gUnknown_20399D4
- lsrs r0, 12
- ldr r1, _080C0D10 @ =0x00001796
- adds r0, r1
- ldr r1, [r2]
- adds r6, r1, r0
- movs r1, 0
- mov r8, r2
-_080C0CE4:
- movs r2, 0
- lsls r5, r1, 16
- asrs r1, r5, 16
- lsls r3, r1, 5
- lsls r0, r1, 4
- subs r0, r1
- lsls r4, r0, 1
-_080C0CF2:
- lsls r0, r2, 16
- asrs r1, r0, 16
- adds r2, r0, 0
- cmp r1, 0x1D
- bgt _080C0D14
- adds r0, r3, r1
- lsls r0, 1
- adds r0, r6
- adds r1, r4, r1
- lsls r1, 1
- adds r1, r7
- ldrh r1, [r1]
- b _080C0D1C
- .align 2, 0
-_080C0D0C: .4byte gUnknown_20399D4
-_080C0D10: .4byte 0x00001796
-_080C0D14:
- adds r0, r3, r1
- lsls r0, 1
- adds r0, r6
- ldrh r1, [r7]
-_080C0D1C:
- strh r1, [r0]
- movs r1, 0x80
- lsls r1, 9
- adds r0, r2, r1
- lsrs r2, r0, 16
- asrs r0, 16
- cmp r0, 0x1F
- ble _080C0CF2
- adds r0, r5, r1
- lsrs r1, r0, 16
- asrs r0, 16
- cmp r0, 0x13
- ble _080C0CE4
- mov r1, r8
- ldr r0, [r1]
- ldr r1, _080C0D94 @ =0x00004797
- adds r0, r1
- ldrb r5, [r0]
- cmp r5, 0x1
- bne _080C0D86
- movs r4, 0x3
- str r4, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- str r5, [sp, 0xC]
- movs r0, 0
- movs r1, 0xF0
- movs r2, 0x18
- movs r3, 0xE
- bl WriteSequenceToBgTilemapBuffer
- movs r1, 0x80
- lsls r1, 1
- str r4, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- str r5, [sp, 0xC]
- movs r0, 0
- movs r2, 0x18
- movs r3, 0xF
- bl WriteSequenceToBgTilemapBuffer
- movs r1, 0x88
- lsls r1, 1
- str r4, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- str r5, [sp, 0xC]
- movs r0, 0
- movs r2, 0x18
- movs r3, 0x10
- bl WriteSequenceToBgTilemapBuffer
-_080C0D86:
- ldr r0, _080C0D98 @ =gUnknown_20399D8
- ldr r0, [r0]
- cmp r0, 0
- beq _080C0DA0
- ldr r1, _080C0D9C @ =0x00001cca
- b _080C0DA6
- .align 2, 0
-_080C0D94: .4byte 0x00004797
-_080C0D98: .4byte gUnknown_20399D8
-_080C0D9C: .4byte 0x00001cca
-_080C0DA0:
- mov r1, r8
- ldr r0, [r1]
- ldr r1, _080C0DF8 @ =0x0000479b
-_080C0DA6:
- adds r0, r1
- ldrb r4, [r0]
- cmp r4, 0x2
- bne _080C0DCC
- ldr r0, _080C0DFC @ =0x000008b5
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- bne _080C0DCC
- movs r0, 0x3
- str r0, [sp]
- str r4, [sp, 0x4]
- movs r0, 0
- movs r1, 0x3
- movs r2, 0xD
- movs r3, 0xB
- bl FillBgTilemapBufferRect_Palette0
-_080C0DCC:
- cmp r4, 0x3
- bne _080C0DEC
- ldr r0, _080C0E00 @ =0x000008c2
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- bne _080C0DEC
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r0, 0
- movs r1, 0x3
- movs r2, 0x15
- movs r3, 0x10
- bl FillBgTilemapBufferRect_Palette0
-_080C0DEC:
- add sp, 0x10
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C0DF8: .4byte 0x0000479b
-_080C0DFC: .4byte 0x000008b5
-_080C0E00: .4byte 0x000008c2
- thumb_func_end sub_80C0CC8
-
- thumb_func_start sub_80C0E04
-sub_80C0E04: @ 80C0E04
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080C0E18 @ =gUnknown_20399D4
- ldr r1, [r1]
- ldr r2, _080C0E1C @ =0x00004797
- adds r1, r2
- adds r1, r0
- ldrb r0, [r1]
- bx lr
- .align 2, 0
-_080C0E18: .4byte gUnknown_20399D4
-_080C0E1C: .4byte 0x00004797
- thumb_func_end sub_80C0E04
-
- thumb_func_start sub_80C0E20
-sub_80C0E20: @ 80C0E20
- ldr r0, _080C0E2C @ =gUnknown_20399D4
- ldr r0, [r0]
- ldr r1, _080C0E30 @ =0x0000479b
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_080C0E2C: .4byte gUnknown_20399D4
-_080C0E30: .4byte 0x0000479b
- thumb_func_end sub_80C0E20
-
- thumb_func_start sub_80C0E34
-sub_80C0E34: @ 80C0E34
- ldr r0, _080C0E40 @ =gUnknown_20399D4
- ldr r0, [r0]
- ldr r1, _080C0E44 @ =0x0000479c
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_080C0E40: .4byte gUnknown_20399D4
-_080C0E44: .4byte 0x0000479c
- thumb_func_end sub_80C0E34
-
- thumb_func_start sub_80C0E48
-sub_80C0E48: @ 80C0E48
- ldr r1, _080C0E54 @ =gUnknown_20399D4
- ldr r1, [r1]
- ldr r2, _080C0E58 @ =0x0000479b
- adds r1, r2
- strb r0, [r1]
- bx lr
- .align 2, 0
-_080C0E54: .4byte gUnknown_20399D4
-_080C0E58: .4byte 0x0000479b
- thumb_func_end sub_80C0E48
-
- thumb_func_start sub_80C0E5C
-sub_80C0E5C: @ 80C0E5C
- ldr r1, _080C0E68 @ =gUnknown_20399D4
- ldr r1, [r1]
- ldr r2, _080C0E6C @ =0x0000479c
- adds r1, r2
- strb r0, [r1]
- bx lr
- .align 2, 0
-_080C0E68: .4byte gUnknown_20399D4
-_080C0E6C: .4byte 0x0000479c
- thumb_func_end sub_80C0E5C
-
- thumb_func_start sub_80C0E70
-sub_80C0E70: @ 80C0E70
- push {r4-r7,lr}
- adds r7, r2, 0
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- ldr r4, _080C0EA0 @ =gUnknown_20399D8
- movs r0, 0xE7
- lsls r0, 5
- bl AllocZeroed
- str r0, [r4]
- ldr r0, _080C0EA4 @ =0x00000846
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _080C0EAC
- ldr r0, [r4]
- ldr r1, _080C0EA8 @ =0x00001ccc
- adds r0, r1
- movs r1, 0x3
- b _080C0ED2
- .align 2, 0
-_080C0EA0: .4byte gUnknown_20399D8
-_080C0EA4: .4byte 0x00000846
-_080C0EA8: .4byte 0x00001ccc
-_080C0EAC:
- ldr r0, _080C0EC4 @ =0x00000845
- bl FlagGet
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _080C0ECC
- ldr r0, [r4]
- ldr r2, _080C0EC8 @ =0x00001ccc
- adds r0, r2
- movs r1, 0x1
- b _080C0ED2
- .align 2, 0
-_080C0EC4: .4byte 0x00000845
-_080C0EC8: .4byte 0x00001ccc
-_080C0ECC:
- ldr r0, [r4]
- ldr r3, _080C0F14 @ =0x00001ccc
- adds r0, r3
-_080C0ED2:
- strb r1, [r0]
- ldr r4, _080C0F18 @ =gUnknown_20399D8
- ldr r2, [r4]
- ldr r0, _080C0F1C @ =0x000018b8
- adds r1, r2, r0
- movs r0, 0x58
- strh r0, [r1]
- ldr r3, _080C0F20 @ =0x00001cc4
- adds r1, r2, r3
- movs r0, 0x98
- strh r0, [r1]
- ldr r1, _080C0F14 @ =0x00001ccc
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _080C0F2C
- cmp r0, 0x2
- bgt _080C0F4C
- cmp r0, 0x1
- bne _080C0F4C
- ldr r0, _080C0F24 @ =gUnknown_83F1084
- movs r3, 0x80
- lsls r3, 5
- adds r1, r2, r3
- bl LZ77UnCompWram
- ldr r0, [r4]
- ldr r1, _080C0F28 @ =0x00001cce
- adds r0, r1
- movs r1, 0x6
- strh r1, [r0]
- b _080C0F64
- .align 2, 0
-_080C0F14: .4byte 0x00001ccc
-_080C0F18: .4byte gUnknown_20399D8
-_080C0F1C: .4byte 0x000018b8
-_080C0F20: .4byte 0x00001cc4
-_080C0F24: .4byte gUnknown_83F1084
-_080C0F28: .4byte 0x00001cce
-_080C0F2C:
- ldr r0, _080C0F44 @ =gUnknown_83F1190
- movs r3, 0x80
- lsls r3, 5
- adds r1, r2, r3
- bl LZ77UnCompWram
- ldr r0, [r4]
- ldr r1, _080C0F48 @ =0x00001cce
- adds r0, r1
- movs r1, 0x4
- strh r1, [r0]
- b _080C0F64
- .align 2, 0
-_080C0F44: .4byte gUnknown_83F1190
-_080C0F48: .4byte 0x00001cce
-_080C0F4C:
- ldr r0, _080C0FB4 @ =gUnknown_20399D8
- ldr r1, [r0]
- ldr r3, _080C0FB8 @ =0x00001cce
- adds r2, r1, r3
- movs r0, 0x3
- strh r0, [r2]
- ldr r0, _080C0FBC @ =gUnknown_83F0F1C
- movs r2, 0x80
- lsls r2, 5
- adds r1, r2
- bl LZ77UnCompWram
-_080C0F64:
- ldr r0, _080C0FC0 @ =gUnknown_83F0580
- ldr r4, _080C0FB4 @ =gUnknown_20399D8
- ldr r1, [r4]
- bl LZ77UnCompWram
- ldr r0, [r4]
- ldr r3, _080C0FC4 @ =0x00001cc8
- adds r0, r3
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r4]
- ldr r1, _080C0FC8 @ =0x00001cca
- adds r0, r1
- strb r6, [r0]
- ldr r0, [r4]
- ldr r2, _080C0FCC @ =0x00001cd0
- adds r0, r2
- str r7, [r0]
- bl sub_80C0E34
- ldr r1, [r4]
- ldr r3, _080C0FD0 @ =0x00001ccb
- adds r1, r3
- strb r0, [r1]
- movs r0, 0
- bl sub_80C4AAC
- ldr r0, _080C0FD4 @ =gUnknown_8418EB0
- bl sub_80C4E74
- ldr r1, _080C0FD8 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, _080C0FDC @ =sub_80C1098
- str r1, [r0]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C0FB4: .4byte gUnknown_20399D8
-_080C0FB8: .4byte 0x00001cce
-_080C0FBC: .4byte gUnknown_83F0F1C
-_080C0FC0: .4byte gUnknown_83F0580
-_080C0FC4: .4byte 0x00001cc8
-_080C0FC8: .4byte 0x00001cca
-_080C0FCC: .4byte 0x00001cd0
-_080C0FD0: .4byte 0x00001ccb
-_080C0FD4: .4byte gUnknown_8418EB0
-_080C0FD8: .4byte gTasks
-_080C0FDC: .4byte sub_80C1098
- thumb_func_end sub_80C0E70
-
- thumb_func_start sub_80C0FE0
-sub_80C0FE0: @ 80C0FE0
- push {lr}
- bl sub_80C4BE4
- movs r0, 0x1B
- movs r1, 0x4
- movs r2, 0x40
- bl sub_80C4C2C
- ldr r0, _080C100C @ =gUnknown_20399D8
- ldr r0, [r0]
- ldr r1, _080C1010 @ =0x00001ccd
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x10
- subs r0, r1
- lsls r0, 16
- lsrs r0, 16
- bl sub_80C4C5C
- pop {r0}
- bx r0
- .align 2, 0
-_080C100C: .4byte gUnknown_20399D8
-_080C1010: .4byte 0x00001ccd
- thumb_func_end sub_80C0FE0
-
- thumb_func_start sub_80C1014
-sub_80C1014: @ 80C1014
- push {r4,lr}
- ldr r4, _080C1028 @ =gUnknown_20399D8
- ldr r0, [r4]
- ldr r2, _080C102C @ =0x00001ccd
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0xF
- bls _080C1030
- movs r0, 0x1
- b _080C104C
- .align 2, 0
-_080C1028: .4byte gUnknown_20399D8
-_080C102C: .4byte 0x00001ccd
-_080C1030:
- ldrb r1, [r1]
- movs r0, 0x10
- subs r0, r1
- lsls r0, 16
- lsrs r0, 16
- bl sub_80C4C5C
- ldr r1, [r4]
- ldr r0, _080C1054 @ =0x00001ccd
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x2
- strb r0, [r1]
- movs r0, 0
-_080C104C:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080C1054: .4byte 0x00001ccd
- thumb_func_end sub_80C1014
-
- thumb_func_start sub_80C1058
-sub_80C1058: @ 80C1058
- push {lr}
- ldr r2, _080C106C @ =gUnknown_20399D8
- ldr r0, [r2]
- ldr r3, _080C1070 @ =0x00001ccd
- adds r1, r0, r3
- ldrb r0, [r1]
- cmp r0, 0x1
- bhi _080C1074
- movs r0, 0x1
- b _080C108E
- .align 2, 0
-_080C106C: .4byte gUnknown_20399D8
-_080C1070: .4byte 0x00001ccd
-_080C1074:
- subs r0, 0x2
- strb r0, [r1]
- ldr r0, [r2]
- ldr r1, _080C1094 @ =0x00001ccd
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x10
- subs r0, r1
- lsls r0, 16
- lsrs r0, 16
- bl sub_80C4C5C
- movs r0, 0
-_080C108E:
- pop {r1}
- bx r1
- .align 2, 0
-_080C1094: .4byte 0x00001ccd
- thumb_func_end sub_80C1058
-
- thumb_func_start sub_80C1098
-sub_80C1098: @ 80C1098
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, _080C10BC @ =gUnknown_20399D8
- ldr r0, [r1]
- ldr r3, _080C10C0 @ =0x00001cc8
- adds r0, r3
- ldrb r0, [r0]
- adds r4, r1, 0
- cmp r0, 0xC
- bls _080C10B0
- b _080C1274
-_080C10B0:
- lsls r0, 2
- ldr r1, _080C10C4 @ =_080C10C8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080C10BC: .4byte gUnknown_20399D8
-_080C10C0: .4byte 0x00001cc8
-_080C10C4: .4byte _080C10C8
- .align 2, 0
-_080C10C8:
- .4byte _080C10FC
- .4byte _080C111C
- .4byte _080C112E
- .4byte _080C1146
- .4byte _080C115C
- .4byte _080C1168
- .4byte _080C1180
- .4byte _080C1192
- .4byte _080C11B0
- .4byte _080C11BE
- .4byte _080C1220
- .4byte _080C1236
- .4byte _080C1254
-_080C10FC:
- bl sub_80C08E0
- ldr r0, _080C1110 @ =gUnknown_8418EBC
- bl sub_80C4E18
- ldr r0, _080C1114 @ =gUnknown_20399D8
- ldr r1, [r0]
- ldr r0, _080C1118 @ =0x00001cc8
- adds r1, r0
- b _080C1262
- .align 2, 0
-_080C1110: .4byte gUnknown_8418EBC
-_080C1114: .4byte gUnknown_20399D8
-_080C1118: .4byte 0x00001cc8
-_080C111C:
- ldr r1, [r4]
- movs r2, 0x80
- lsls r2, 5
- movs r0, 0x2
- movs r3, 0
- bl LoadBgTiles
- ldr r1, [r4]
- b _080C125E
-_080C112E:
- ldr r1, [r4]
- movs r0, 0x80
- lsls r0, 5
- adds r1, r0
- movs r0, 0x2
- bl sub_80C1324
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- ldr r1, [r4]
- b _080C125E
-_080C1146:
- bl sub_80C0CA0
- ldr r0, _080C1154 @ =gUnknown_20399D8
- ldr r1, [r0]
- ldr r0, _080C1158 @ =0x00001cc8
- adds r1, r0
- b _080C1262
- .align 2, 0
-_080C1154: .4byte gUnknown_20399D8
-_080C1158: .4byte 0x00001cc8
-_080C115C:
- bl sub_80C0FE0
- movs r0, 0x2
- bl ShowBg
- b _080C125A
-_080C1168:
- bl sub_80C08F4
- ldr r0, _080C1178 @ =gUnknown_20399D8
- ldr r1, [r0]
- ldr r0, _080C117C @ =0x00001cc8
- adds r1, r0
- b _080C1262
- .align 2, 0
-_080C1178: .4byte gUnknown_20399D8
-_080C117C: .4byte 0x00001cc8
-_080C1180:
- bl sub_80C1014
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080C127A
- bl sub_80C1390
- b _080C125A
-_080C1192:
- bl sub_80C144C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080C127A
- ldr r0, _080C11A8 @ =gUnknown_20399D8
- ldr r1, [r0]
- ldr r0, _080C11AC @ =0x00001cc8
- adds r1, r0
- b _080C1262
- .align 2, 0
-_080C11A8: .4byte gUnknown_20399D8
-_080C11AC: .4byte 0x00001cc8
-_080C11B0:
- bl sub_80C16D0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080C127A
- b _080C125A
-_080C11BE:
- bl sub_80C1478
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080C127A
- ldr r5, _080C1214 @ =gUnknown_20399D8
- ldr r0, [r5]
- ldr r4, _080C1218 @ =0x00001cca
- adds r0, r4
- ldrb r0, [r0]
- bl sub_80C0E48
- bl sub_80C0E34
- ldr r1, [r5]
- adds r1, r4
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r1]
- cmp r0, r1
- bne _080C120C
- movs r0, 0
- bl sub_80C4324
- ldr r0, [r5]
- adds r0, r4
- ldrb r0, [r0]
- movs r1, 0x19
- movs r2, 0
- bl sub_80C48BC
- ldr r0, [r5]
- adds r0, r4
- ldrb r0, [r0]
- movs r1, 0x19
- movs r2, 0
- bl sub_80C4960
-_080C120C:
- ldr r1, [r5]
- ldr r0, _080C121C @ =0x00001cc8
- adds r1, r0
- b _080C1262
- .align 2, 0
-_080C1214: .4byte gUnknown_20399D8
-_080C1218: .4byte 0x00001cca
-_080C121C: .4byte 0x00001cc8
-_080C1220:
- bl sub_80C12EC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080C127A
- bl sub_80C1880
- bl sub_80C0FE0
- b _080C125A
-_080C1236:
- bl sub_80C1058
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080C127A
- ldr r0, _080C124C @ =gUnknown_20399D8
- ldr r1, [r0]
- ldr r0, _080C1250 @ =0x00001cc8
- adds r1, r0
- b _080C1262
- .align 2, 0
-_080C124C: .4byte gUnknown_20399D8
-_080C1250: .4byte 0x00001cc8
-_080C1254:
- movs r0, 0
- bl sub_80C3154
-_080C125A:
- ldr r0, _080C126C @ =gUnknown_20399D8
- ldr r1, [r0]
-_080C125E:
- ldr r3, _080C1270 @ =0x00001cc8
- adds r1, r3
-_080C1262:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080C127A
- .align 2, 0
-_080C126C: .4byte gUnknown_20399D8
-_080C1270: .4byte 0x00001cc8
-_080C1274:
- adds r0, r2, 0
- bl sub_80C1280
-_080C127A:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80C1098
-
- thumb_func_start sub_80C1280
-sub_80C1280: @ 80C1280
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080C12D4 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r4, _080C12D8 @ =gUnknown_20399D8
- ldr r0, [r4]
- ldr r2, _080C12DC @ =0x00001cd0
- adds r0, r2
- ldr r0, [r0]
- str r0, [r1]
- movs r0, 0x2
- bl HideBg
- ldr r0, _080C12E0 @ =gUnknown_8418EB5
- bl sub_80C4E18
- ldr r0, _080C12E4 @ =gUnknown_8418EA7
- bl sub_80C4E74
- bl sub_80C0AB8
- bl sub_80C0B9C
- ldr r1, _080C12E8 @ =gUnknown_83F1B1C
- movs r0, 0
- bl sub_80C4CF0
- ldr r0, [r4]
- cmp r0, 0
- beq _080C12CC
- bl Free
- movs r0, 0
- str r0, [r4]
-_080C12CC:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C12D4: .4byte gTasks
-_080C12D8: .4byte gUnknown_20399D8
-_080C12DC: .4byte 0x00001cd0
-_080C12E0: .4byte gUnknown_8418EB5
-_080C12E4: .4byte gUnknown_8418EA7
-_080C12E8: .4byte gUnknown_83F1B1C
- thumb_func_end sub_80C1280
-
- thumb_func_start sub_80C12EC
-sub_80C12EC: @ 80C12EC
- push {lr}
- ldr r0, _080C1308 @ =gUnknown_20399D8
- ldr r0, [r0]
- ldr r2, _080C130C @ =0x00001cdc
- adds r1, r0, r2
- ldrh r0, [r1]
- cmp r0, 0
- bne _080C1310
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1
- b _080C131E
- .align 2, 0
-_080C1308: .4byte gUnknown_20399D8
-_080C130C: .4byte 0x00001cdc
-_080C1310:
- subs r0, 0x1
- strh r0, [r1]
- ldrh r1, [r1]
- movs r0, 0x54
- bl SetGpuReg
- movs r0, 0
-_080C131E:
- pop {r1}
- bx r1
- thumb_func_end sub_80C12EC
-
- thumb_func_start sub_80C1324
-sub_80C1324: @ 80C1324
- push {r4-r7,lr}
- adds r7, r1, 0
- lsls r0, 24
- ldr r1, _080C1360 @ =gUnknown_20399D4
- lsrs r0, 12
- ldr r2, _080C1364 @ =0x00001796
- adds r0, r2
- ldr r1, [r1]
- adds r6, r1, r0
- movs r1, 0
-_080C1338:
- movs r2, 0
- lsls r5, r1, 16
- asrs r1, r5, 16
- lsls r3, r1, 5
- lsls r0, r1, 4
- subs r0, r1
- lsls r4, r0, 1
-_080C1346:
- lsls r0, r2, 16
- asrs r1, r0, 16
- adds r2, r0, 0
- cmp r1, 0x1D
- bgt _080C1368
- adds r0, r3, r1
- lsls r0, 1
- adds r0, r6
- adds r1, r4, r1
- lsls r1, 1
- adds r1, r7
- ldrh r1, [r1]
- b _080C1370
- .align 2, 0
-_080C1360: .4byte gUnknown_20399D4
-_080C1364: .4byte 0x00001796
-_080C1368:
- adds r0, r3, r1
- lsls r0, 1
- adds r0, r6
- ldrh r1, [r7]
-_080C1370:
- strh r1, [r0]
- movs r1, 0x80
- lsls r1, 9
- adds r0, r2, r1
- lsrs r2, r0, 16
- asrs r0, 16
- cmp r0, 0x1F
- ble _080C1346
- adds r0, r5, r1
- lsrs r1, r0, 16
- asrs r0, 16
- cmp r0, 0x13
- ble _080C1338
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80C1324
-
- thumb_func_start sub_80C1390
-sub_80C1390: @ 80C1390
- push {r4,r5,lr}
- sub sp, 0x8
- ldr r0, _080C1428 @ =gUnknown_20399D8
- ldr r2, [r0]
- ldr r1, _080C142C @ =0x00001cd4
- adds r0, r2, r1
- movs r1, 0x48
- strh r1, [r0]
- ldr r5, _080C1430 @ =0xffff0000
- ldr r0, [sp]
- ands r0, r5
- orrs r0, r1
- str r0, [sp]
- ldr r0, _080C1434 @ =0x00001cce
- adds r3, r2, r0
- ldr r1, _080C1438 @ =0x00001cca
- adds r0, r2, r1
- ldrb r1, [r0]
- lsls r1, 2
- ldrh r3, [r3]
- adds r1, r3
- lsls r1, 3
- ldr r0, _080C143C @ =0x00001cd6
- adds r4, r2, r0
- strh r1, [r4]
- lsls r1, 16
- ldr r3, _080C1440 @ =0x0000ffff
- ldr r0, [sp]
- ands r0, r3
- orrs r0, r1
- str r0, [sp]
- ldr r1, _080C1444 @ =0x00001cd8
- adds r0, r2, r1
- movs r1, 0xA8
- strh r1, [r0]
- ldr r0, [sp, 0x4]
- ands r0, r5
- orrs r0, r1
- str r0, [sp, 0x4]
- ldrh r1, [r4]
- adds r1, 0x20
- ldr r0, _080C1448 @ =0x00001cda
- adds r2, r0
- strh r1, [r2]
- ands r1, r3
- lsls r1, 16
- ldr r0, [sp, 0x4]
- ands r0, r3
- orrs r0, r1
- str r0, [sp, 0x4]
- bl sub_80C4BE4
- movs r0, 0
- movs r1, 0x15
- movs r2, 0xC0
- bl sub_80C4C2C
- movs r0, 0x1F
- movs r1, 0x15
- bl sub_80C4C74
- movs r0, 0x3F
- bl sub_80C4C88
- movs r0, 0x1
- movs r1, 0
- bl sub_80C4C9C
- movs r0, 0x1
- mov r1, sp
- bl sub_80C4CF0
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C1428: .4byte gUnknown_20399D8
-_080C142C: .4byte 0x00001cd4
-_080C1430: .4byte 0xffff0000
-_080C1434: .4byte 0x00001cce
-_080C1438: .4byte 0x00001cca
-_080C143C: .4byte 0x00001cd6
-_080C1440: .4byte 0x0000ffff
-_080C1444: .4byte 0x00001cd8
-_080C1448: .4byte 0x00001cda
- thumb_func_end sub_80C1390
-
- thumb_func_start sub_80C144C
-sub_80C144C: @ 80C144C
- push {lr}
- ldr r0, _080C1460 @ =gUnknown_20399D8
- ldr r0, [r0]
- ldr r2, _080C1464 @ =0x00001cdc
- adds r1, r0, r2
- ldrh r0, [r1]
- cmp r0, 0x5
- bls _080C1468
- movs r0, 0x1
- b _080C1474
- .align 2, 0
-_080C1460: .4byte gUnknown_20399D8
-_080C1464: .4byte 0x00001cdc
-_080C1468:
- adds r0, 0x1
- strh r0, [r1]
- ldrh r0, [r1]
- bl sub_80C4C48
- movs r0, 0
-_080C1474:
- pop {r1}
- bx r1
- thumb_func_end sub_80C144C
-
- thumb_func_start sub_80C1478
-sub_80C1478: @ 80C1478
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- movs r6, 0
- ldr r0, _080C1574 @ =gUnknown_20399D8
- mov r8, r0
- ldr r5, [r0]
- ldr r1, _080C1578 @ =0x00001cd4
- adds r0, r5, r1
- movs r1, 0x48
- strh r1, [r0]
- ldr r4, _080C157C @ =0xffff0000
- ldr r0, [sp]
- ands r0, r4
- orrs r0, r1
- str r0, [sp]
- ldr r3, _080C1580 @ =0x00001cce
- adds r2, r5, r3
- ldr r7, _080C1584 @ =0x00001cca
- adds r0, r5, r7
- ldrb r1, [r0]
- lsls r1, 2
- ldrh r2, [r2]
- adds r1, r2
- lsls r1, 3
- ldr r0, _080C1588 @ =0x00001cd6
- adds r3, r5, r0
- strh r1, [r3]
- lsls r1, 16
- ldr r2, _080C158C @ =0x0000ffff
- ldr r0, [sp]
- ands r0, r2
- orrs r0, r1
- str r0, [sp]
- ldr r1, _080C1590 @ =0x00001cd8
- adds r0, r5, r1
- movs r1, 0xA8
- strh r1, [r0]
- ldr r0, [sp, 0x4]
- ands r0, r4
- orrs r0, r1
- str r0, [sp, 0x4]
- ldrh r1, [r3]
- adds r1, 0x20
- ldr r3, _080C1594 @ =0x00001cda
- adds r0, r5, r3
- strh r1, [r0]
- ands r1, r2
- lsls r1, 16
- ldr r0, [sp, 0x4]
- ands r0, r2
- orrs r0, r1
- str r0, [sp, 0x4]
- ldr r0, _080C1598 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080C150E
- adds r1, r7, 0
- adds r0, r5, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080C150E
- movs r0, 0xF5
- bl PlaySE
- mov r2, r8
- ldr r1, [r2]
- adds r1, r7
- ldrb r0, [r1]
- subs r0, 0x1
- strb r0, [r1]
- movs r6, 0x1
-_080C150E:
- ldr r0, _080C1598 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080C1542
- ldr r4, _080C1574 @ =gUnknown_20399D8
- ldr r0, [r4]
- ldr r3, _080C1584 @ =0x00001cca
- adds r1, r0, r3
- ldr r2, _080C159C @ =0x00001ccc
- adds r0, r2
- ldrb r1, [r1]
- ldrb r0, [r0]
- cmp r1, r0
- bcs _080C1542
- movs r0, 0xF5
- bl PlaySE
- ldr r1, [r4]
- ldr r3, _080C1584 @ =0x00001cca
- adds r1, r3
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- movs r6, 0x1
-_080C1542:
- ldr r2, _080C1598 @ =gMain
- ldrh r1, [r2, 0x2E]
- movs r0, 0x1
- ands r0, r1
- ldr r4, _080C1574 @ =gUnknown_20399D8
- cmp r0, 0
- beq _080C15A8
- ldr r0, [r4]
- ldr r1, _080C15A0 @ =0x00001cdc
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0x6
- bne _080C15A8
- movs r0, 0xC7
- bl PlaySE
- ldr r0, [r4]
- ldr r2, _080C1584 @ =0x00001cca
- adds r1, r0, r2
- ldrb r1, [r1]
- ldr r3, _080C15A4 @ =0x00001ccb
- adds r0, r3
- strb r1, [r0]
- movs r0, 0x1
- b _080C16AC
- .align 2, 0
-_080C1574: .4byte gUnknown_20399D8
-_080C1578: .4byte 0x00001cd4
-_080C157C: .4byte 0xffff0000
-_080C1580: .4byte 0x00001cce
-_080C1584: .4byte 0x00001cca
-_080C1588: .4byte 0x00001cd6
-_080C158C: .4byte 0x0000ffff
-_080C1590: .4byte 0x00001cd8
-_080C1594: .4byte 0x00001cda
-_080C1598: .4byte gMain
-_080C159C: .4byte 0x00001ccc
-_080C15A0: .4byte 0x00001cdc
-_080C15A4: .4byte 0x00001ccb
-_080C15A8:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080C1604
- ldr r0, [r4]
- ldr r2, _080C15FC @ =0x00001ccb
- adds r1, r0, r2
- ldrb r1, [r1]
- subs r2, 0x1
- adds r0, r2
- strb r1, [r0]
- ldr r3, _080C1600 @ =gUnknown_20399D4
- ldr r0, [r4]
- adds r0, r2
- ldrb r0, [r0]
- lsls r1, r0, 2
- adds r1, r0
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 4
- adds r0, 0x26
- ldr r1, [r3]
- adds r1, r0
- movs r0, 0
- bl sub_80C0CC8
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- movs r0, 0xFF
- movs r1, 0x19
- movs r2, 0x1
- bl sub_80C48BC
- movs r0, 0xFF
- movs r1, 0x19
- movs r2, 0x1
- bl sub_80C4960
- movs r0, 0x1
- b _080C16AC
- .align 2, 0
-_080C15FC: .4byte 0x00001ccb
-_080C1600: .4byte gUnknown_20399D4
-_080C1604:
- cmp r6, 0
- beq _080C166C
- ldr r2, _080C168C @ =gUnknown_20399D4
- ldr r5, _080C1690 @ =gUnknown_20399D8
- ldr r0, [r5]
- ldr r4, _080C1694 @ =0x00001cca
- adds r0, r4
- ldrb r0, [r0]
- lsls r1, r0, 2
- adds r1, r0
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 4
- adds r0, 0x26
- ldr r1, [r2]
- adds r1, r0
- movs r0, 0
- bl sub_80C0CC8
- ldr r0, _080C1698 @ =gUnknown_8418EB0
- bl sub_80C4E74
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- movs r0, 0xFF
- movs r1, 0x19
- movs r2, 0x1
- bl sub_80C48BC
- movs r0, 0xFF
- movs r1, 0x19
- movs r2, 0x1
- bl sub_80C4960
- ldr r0, [r5]
- adds r0, r4
- ldrb r0, [r0]
- movs r1, 0x19
- movs r2, 0
- bl sub_80C48BC
- ldr r0, [r5]
- adds r0, r4
- ldrb r0, [r0]
- movs r1, 0x19
- movs r2, 0
- bl sub_80C4960
-_080C166C:
- ldr r0, _080C1690 @ =gUnknown_20399D8
- ldr r4, [r0]
- ldr r3, _080C1694 @ =0x00001cca
- adds r4, r3
- bl sub_80C0E34
- ldrb r1, [r4]
- lsls r0, 24
- lsrs r0, 24
- cmp r1, r0
- beq _080C169C
- movs r0, 0x1
- bl sub_80C4324
- b _080C16A2
- .align 2, 0
-_080C168C: .4byte gUnknown_20399D4
-_080C1690: .4byte gUnknown_20399D8
-_080C1694: .4byte 0x00001cca
-_080C1698: .4byte gUnknown_8418EB0
-_080C169C:
- movs r0, 0
- bl sub_80C4324
-_080C16A2:
- movs r0, 0x1
- mov r1, sp
- bl sub_80C4CF0
- movs r0, 0
-_080C16AC:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80C1478
-
- thumb_func_start sub_80C16B8
-sub_80C16B8: @ 80C16B8
- ldr r1, _080C16C8 @ =gUnknown_20399D8
- ldr r1, [r1]
- ldr r2, _080C16CC @ =0x00001cd6
- adds r1, r2
- ldrh r1, [r1]
- adds r1, 0x10
- strh r1, [r0, 0x22]
- bx lr
- .align 2, 0
-_080C16C8: .4byte gUnknown_20399D8
-_080C16CC: .4byte 0x00001cd6
- thumb_func_end sub_80C16B8
-
- thumb_func_start sub_80C16D0
-sub_80C16D0: @ 80C16D0
- push {lr}
- ldr r0, _080C16EC @ =gUnknown_20399D8
- ldr r1, [r0]
- ldr r2, _080C16F0 @ =0x00001cc9
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080C1708
- cmp r0, 0x1
- bgt _080C16F4
- cmp r0, 0
- beq _080C16FA
- b _080C1732
- .align 2, 0
-_080C16EC: .4byte gUnknown_20399D8
-_080C16F0: .4byte 0x00001cc9
-_080C16F4:
- cmp r0, 0x2
- beq _080C171C
- b _080C1732
-_080C16FA:
- ldr r0, _080C1700 @ =gUnknown_83EF3C4
- ldr r2, _080C1704 @ =0x000014b0
- b _080C170C
- .align 2, 0
-_080C1700: .4byte gUnknown_83EF3C4
-_080C1704: .4byte 0x000014b0
-_080C1708:
- ldr r0, _080C1714 @ =gUnknown_83EF450
- ldr r2, _080C1718 @ =0x000018bc
-_080C170C:
- adds r1, r2
- bl LZ77UnCompWram
- b _080C1736
- .align 2, 0
-_080C1714: .4byte gUnknown_83EF450
-_080C1718: .4byte 0x000018bc
-_080C171C:
- movs r0, 0
- movs r1, 0x2
- movs r2, 0x2
- bl sub_80C1754
- movs r0, 0x1
- movs r1, 0x3
- movs r2, 0x3
- bl sub_80C1754
- b _080C1736
-_080C1732:
- movs r0, 0x1
- b _080C1746
-_080C1736:
- ldr r0, _080C174C @ =gUnknown_20399D8
- ldr r1, [r0]
- ldr r0, _080C1750 @ =0x00001cc9
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- movs r0, 0
-_080C1746:
- pop {r1}
- bx r1
- .align 2, 0
-_080C174C: .4byte gUnknown_20399D8
-_080C1750: .4byte 0x00001cc9
- thumb_func_end sub_80C16D0
-
- thumb_func_start sub_80C1754
-sub_80C1754: @ 80C1754
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 16
- lsrs r2, 16
- bl sub_80C176C
- pop {r0}
- bx r0
- thumb_func_end sub_80C1754
-
- thumb_func_start sub_80C176C
-sub_80C176C: @ 80C176C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x28
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 16
- lsls r2, 16
- lsrs r2, 16
- ldr r3, _080C1848 @ =gUnknown_20399D8
- mov r8, r3
- lsls r5, r0, 6
- adds r5, r0
- lsls r5, 2
- subs r5, r0
- lsls r5, 2
- ldr r4, _080C184C @ =0x000014b0
- adds r0, r5, r4
- ldr r3, [r3]
- adds r0, r3, r0
- str r0, [sp, 0x18]
- movs r4, 0x80
- lsls r4, 3
- add r0, sp, 0x18
- lsrs r6, r1, 16
- mov r9, r6
- orrs r1, r4
- str r1, [r0, 0x4]
- ldr r1, _080C1850 @ =gUnknown_83EF384
- str r1, [sp, 0x20]
- ldr r4, _080C1854 @ =0xffff0000
- add r6, sp, 0x20
- ldr r1, [r6, 0x4]
- ands r1, r4
- orrs r1, r2
- str r1, [r6, 0x4]
- mov r1, sp
- movs r4, 0
- mov r7, r9
- strh r7, [r1]
- strh r2, [r1, 0x2]
- ldr r1, _080C1858 @ =gUnknown_83F1B24
- str r1, [sp, 0x4]
- ldr r1, _080C185C @ =gUnknown_83F1B38
- str r1, [sp, 0x8]
- str r4, [sp, 0xC]
- ldr r1, _080C1860 @ =gDummySpriteAffineAnimTable
- str r1, [sp, 0x10]
- ldr r1, _080C1864 @ =sub_80C16B8
- str r1, [sp, 0x14]
- adds r3, r5
- ldr r4, _080C1868 @ =0x000018b4
- adds r1, r3, r4
- strh r7, [r1]
- ldr r1, _080C186C @ =0x000018b6
- adds r3, r1
- strh r2, [r3]
- bl LoadSpriteSheet
- adds r0, r6, 0
- bl LoadSpritePalette
- mov r3, r8
- ldr r2, [r3]
- adds r0, r2, r5
- adds r4, 0x4
- adds r0, r4
- movs r6, 0
- ldrsh r1, [r0, r6]
- ldr r7, _080C1870 @ =0x00001cce
- adds r0, r2, r7
- ldr r3, _080C1874 @ =0x00001cca
- adds r2, r3
- ldrb r2, [r2]
- lsls r2, 2
- ldrh r0, [r0]
- adds r2, r0
- lsls r2, 19
- asrs r2, 16
- mov r0, sp
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- mov r4, r8
- ldr r2, [r4]
- ldr r6, _080C1878 @ =0x000018b0
- adds r2, r6
- adds r2, r5
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, _080C187C @ =gSprites
- adds r1, r0
- str r1, [r2]
- adds r1, 0x3E
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- add sp, 0x28
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C1848: .4byte gUnknown_20399D8
-_080C184C: .4byte 0x000014b0
-_080C1850: .4byte gUnknown_83EF384
-_080C1854: .4byte 0xffff0000
-_080C1858: .4byte gUnknown_83F1B24
-_080C185C: .4byte gUnknown_83F1B38
-_080C1860: .4byte gDummySpriteAffineAnimTable
-_080C1864: .4byte sub_80C16B8
-_080C1868: .4byte 0x000018b4
-_080C186C: .4byte 0x000018b6
-_080C1870: .4byte 0x00001cce
-_080C1874: .4byte 0x00001cca
-_080C1878: .4byte 0x000018b0
-_080C187C: .4byte gSprites
- thumb_func_end sub_80C176C
-
- thumb_func_start sub_80C1880
-sub_80C1880: @ 80C1880
- push {r4-r6,lr}
- movs r5, 0
- ldr r6, _080C18D0 @ =gUnknown_20399D8
-_080C1886:
- ldr r1, [r6]
- lsls r0, r5, 6
- adds r0, r5
- lsls r0, 2
- subs r0, r5
- lsls r4, r0, 2
- ldr r0, _080C18D4 @ =0x000018b0
- adds r1, r0
- adds r1, r4
- ldr r0, [r1]
- cmp r0, 0
- beq _080C18BE
- bl DestroySprite
- ldr r0, [r6]
- adds r0, r4
- ldr r1, _080C18D8 @ =0x000018b4
- adds r0, r1
- ldrh r0, [r0]
- bl FreeSpriteTilesByTag
- ldr r0, [r6]
- adds r0, r4
- ldr r1, _080C18DC @ =0x000018b6
- adds r0, r1
- ldrh r0, [r0]
- bl FreeSpritePaletteByTag
-_080C18BE:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x1
- bls _080C1886
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080C18D0: .4byte gUnknown_20399D8
-_080C18D4: .4byte 0x000018b0
-_080C18D8: .4byte 0x000018b4
-_080C18DC: .4byte 0x000018b6
- thumb_func_end sub_80C1880
-
- thumb_func_start sub_80C18E0
-sub_80C18E0: @ 80C18E0
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- movs r2, 0
- ldr r3, _080C1904 @ =gUnknown_83F1B3C
- adds r5, r3, 0
- adds r5, 0x8
-_080C18EE:
- lsls r0, r2, 1
- adds r0, r2
- lsls r1, r0, 2
- adds r0, r1, r3
- ldrh r0, [r0]
- cmp r0, r4
- bne _080C1908
- adds r0, r1, r5
- ldr r0, [r0]
- b _080C1914
- .align 2, 0
-_080C1904: .4byte gUnknown_83F1B3C
-_080C1908:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x12
- bls _080C18EE
- ldr r0, _080C191C @ =gUnknown_8418EC3
-_080C1914:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080C191C: .4byte gUnknown_8418EC3
- thumb_func_end sub_80C18E0
-
- thumb_func_start sub_80C1920
-sub_80C1920: @ 80C1920
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- movs r2, 0
- ldr r3, _080C1940 @ =gUnknown_83F1B3C
- adds r5, r3, 0x4
-_080C192C:
- lsls r0, r2, 1
- adds r0, r2
- lsls r1, r0, 2
- adds r0, r1, r3
- ldrh r0, [r0]
- cmp r0, r4
- bne _080C1944
- adds r0, r1, r5
- ldr r0, [r0]
- b _080C1950
- .align 2, 0
-_080C1940: .4byte gUnknown_83F1B3C
-_080C1944:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x12
- bls _080C192C
- ldr r0, _080C1958 @ =gUnknown_8418EC3
-_080C1950:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080C1958: .4byte gUnknown_8418EC3
- thumb_func_end sub_80C1920
-
- thumb_func_start sub_80C195C
-sub_80C195C: @ 80C195C
- push {r4-r6,lr}
- adds r6, r2, 0
- lsls r1, 24
- lsrs r5, r1, 24
- ldr r4, _080C19E0 @ =gUnknown_20399DC
- ldr r0, _080C19E4 @ =0x00003e28
- bl AllocZeroed
- str r0, [r4]
- bl sub_80C3580
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xB8
- bne _080C197C
- movs r0, 0xBC
-_080C197C:
- bl sub_80F8544
- ldr r1, [r4]
- movs r2, 0xF5
- lsls r2, 6
- adds r1, r2
- str r0, [r1]
- cmp r0, 0
- bne _080C199E
- movs r0, 0x8A
- bl sub_80F8544
- ldr r1, [r4]
- movs r3, 0xF5
- lsls r3, 6
- adds r1, r3
- str r0, [r1]
-_080C199E:
- ldr r0, [r4]
- ldr r1, _080C19E8 @ =0x00003d48
- adds r0, r1
- movs r2, 0
- strb r2, [r0]
- ldr r0, [r4]
- ldr r3, _080C19EC @ =0x00003d4a
- adds r0, r3
- strb r2, [r0]
- ldr r0, [r4]
- subs r3, 0x6
- adds r1, r0, r3
- str r6, [r1]
- ldr r1, _080C19F0 @ =0x00003e14
- adds r0, r1
- strh r2, [r0]
- movs r0, 0
- bl sub_80C4AAC
- bl sub_80C4BE4
- bl sub_80C0CA0
- ldr r1, _080C19F4 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, _080C19F8 @ =sub_80C1A94
- str r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080C19E0: .4byte gUnknown_20399DC
-_080C19E4: .4byte 0x00003e28
-_080C19E8: .4byte 0x00003d48
-_080C19EC: .4byte 0x00003d4a
-_080C19F0: .4byte 0x00003e14
-_080C19F4: .4byte gTasks
-_080C19F8: .4byte sub_80C1A94
- thumb_func_end sub_80C195C
-
- thumb_func_start sub_80C19FC
-sub_80C19FC: @ 80C19FC
- push {lr}
- ldr r0, _080C1A18 @ =gUnknown_20399DC
- ldr r1, [r0]
- ldr r2, _080C1A1C @ =0x00003d4a
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080C1A3A
- cmp r0, 0x1
- bgt _080C1A20
- cmp r0, 0
- beq _080C1A2A
- b _080C1A72
- .align 2, 0
-_080C1A18: .4byte gUnknown_20399DC
-_080C1A1C: .4byte 0x00003d4a
-_080C1A20:
- cmp r0, 0x2
- beq _080C1A50
- cmp r0, 0x3
- beq _080C1A5E
- b _080C1A72
-_080C1A2A:
- movs r2, 0xF5
- lsls r2, 6
- adds r0, r1, r2
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- bl LZ77UnCompWram
- b _080C1A76
-_080C1A3A:
- movs r2, 0xF5
- lsls r2, 6
- adds r0, r1, r2
- ldr r0, [r0]
- ldr r0, [r0, 0x8]
- movs r2, 0xE1
- lsls r2, 6
- adds r1, r2
- bl LZ77UnCompWram
- b _080C1A76
-_080C1A50:
- movs r2, 0xE1
- lsls r2, 6
- movs r0, 0x2
- movs r3, 0
- bl LoadBgTiles
- b _080C1A76
-_080C1A5E:
- movs r2, 0xF5
- lsls r2, 6
- adds r0, r1, r2
- ldr r0, [r0]
- ldr r0, [r0, 0xC]
- movs r1, 0xD0
- movs r2, 0x60
- bl LoadPalette
- b _080C1A76
-_080C1A72:
- movs r0, 0x1
- b _080C1A86
-_080C1A76:
- ldr r0, _080C1A8C @ =gUnknown_20399DC
- ldr r1, [r0]
- ldr r0, _080C1A90 @ =0x00003d4a
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- movs r0, 0
-_080C1A86:
- pop {r1}
- bx r1
- .align 2, 0
-_080C1A8C: .4byte gUnknown_20399DC
-_080C1A90: .4byte 0x00003d4a
- thumb_func_end sub_80C19FC
-
- thumb_func_start sub_80C1A94
-sub_80C1A94: @ 80C1A94
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, _080C1AB8 @ =gUnknown_20399DC
- ldr r0, [r1]
- ldr r3, _080C1ABC @ =0x00003d48
- adds r0, r3
- ldrb r0, [r0]
- adds r4, r1, 0
- cmp r0, 0x9
- bls _080C1AAC
- b _080C1BD0
-_080C1AAC:
- lsls r0, 2
- ldr r1, _080C1AC0 @ =_080C1AC4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080C1AB8: .4byte gUnknown_20399DC
-_080C1ABC: .4byte 0x00003d48
-_080C1AC0: .4byte _080C1AC4
- .align 2, 0
-_080C1AC4:
- .4byte _080C1AEC
- .4byte _080C1B04
- .4byte _080C1B12
- .4byte _080C1B34
- .4byte _080C1B54
- .4byte _080C1B5C
- .4byte _080C1B74
- .4byte _080C1B84
- .4byte _080C1B9C
- .4byte _080C1BBC
-_080C1AEC:
- bl sub_80C08E0
- ldr r0, _080C1AFC @ =gUnknown_20399DC
- ldr r1, [r0]
- ldr r0, _080C1B00 @ =0x00003d48
- adds r1, r0
- b _080C1BCA
- .align 2, 0
-_080C1AFC: .4byte gUnknown_20399DC
-_080C1B00: .4byte 0x00003d48
-_080C1B04:
- bl sub_80C19FC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080C1BD0
- b _080C1BC2
-_080C1B12:
- bl sub_80C1E94
- ldr r0, _080C1B28 @ =gUnknown_8418E9E
- bl sub_80C4E74
- ldr r0, _080C1B2C @ =gUnknown_20399DC
- ldr r1, [r0]
- ldr r0, _080C1B30 @ =0x00003d48
- adds r1, r0
- b _080C1BCA
- .align 2, 0
-_080C1B28: .4byte gUnknown_8418E9E
-_080C1B2C: .4byte gUnknown_20399DC
-_080C1B30: .4byte 0x00003d48
-_080C1B34:
- ldr r1, [r4]
- movs r3, 0xE1
- lsls r3, 6
- adds r1, r3
- movs r0, 0x2
- bl sub_80C1E78
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- ldr r1, [r4]
- ldr r0, _080C1B50 @ =0x00003d48
- adds r1, r0
- b _080C1BCA
- .align 2, 0
-_080C1B50: .4byte 0x00003d48
-_080C1B54:
- movs r0, 0x2
- bl ShowBg
- b _080C1BC2
-_080C1B5C:
- bl sub_80C08F4
- ldr r0, _080C1B6C @ =gUnknown_20399DC
- ldr r1, [r0]
- ldr r0, _080C1B70 @ =0x00003d48
- adds r1, r0
- b _080C1BCA
- .align 2, 0
-_080C1B6C: .4byte gUnknown_20399DC
-_080C1B70: .4byte 0x00003d48
-_080C1B74:
- movs r0, 0
- bl sub_80C1F80
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080C1BD0
- b _080C1BC2
-_080C1B84:
- ldr r0, _080C1B94 @ =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldr r0, _080C1B98 @ =sub_80C1BE0
- str r0, [r1]
- b _080C1BD0
- .align 2, 0
-_080C1B94: .4byte gTasks
-_080C1B98: .4byte sub_80C1BE0
-_080C1B9C:
- movs r0, 0x1
- bl sub_80C1F80
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080C1BD0
- ldr r0, _080C1BB4 @ =gUnknown_20399DC
- ldr r1, [r0]
- ldr r0, _080C1BB8 @ =0x00003d48
- adds r1, r0
- b _080C1BCA
- .align 2, 0
-_080C1BB4: .4byte gUnknown_20399DC
-_080C1BB8: .4byte 0x00003d48
-_080C1BBC:
- adds r0, r2, 0
- bl sub_80C1E14
-_080C1BC2:
- ldr r0, _080C1BD8 @ =gUnknown_20399DC
- ldr r1, [r0]
- ldr r3, _080C1BDC @ =0x00003d48
- adds r1, r3
-_080C1BCA:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_080C1BD0:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C1BD8: .4byte gUnknown_20399DC
-_080C1BDC: .4byte 0x00003d48
- thumb_func_end sub_80C1A94
-
- thumb_func_start sub_80C1BE0
-sub_80C1BE0: @ 80C1BE0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, _080C1C08 @ =gUnknown_20399DC
- ldr r0, [r1]
- ldr r3, _080C1C0C @ =0x00003d49
- adds r0, r3
- ldrb r0, [r0]
- adds r3, r1, 0
- cmp r0, 0x4
- bls _080C1BFE
- b _080C1DF0
-_080C1BFE:
- lsls r0, 2
- ldr r1, _080C1C10 @ =_080C1C14
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080C1C08: .4byte gUnknown_20399DC
-_080C1C0C: .4byte 0x00003d49
-_080C1C10: .4byte _080C1C14
- .align 2, 0
-_080C1C14:
- .4byte _080C1C28
- .4byte _080C1C58
- .4byte _080C1C80
- .4byte _080C1CA8
- .4byte _080C1DA0
-_080C1C28:
- ldr r1, [r3]
- ldr r0, _080C1C48 @ =0x00003e0e
- adds r2, r1, r0
- ldr r0, _080C1C4C @ =0x00000133
- strh r0, [r2]
- ldr r3, _080C1C50 @ =0x00003e10
- adds r2, r1, r3
- subs r0, 0x33
- strh r0, [r2]
- ldr r0, _080C1C54 @ =0x00003e12
- adds r2, r1, r0
- movs r0, 0xF0
- strh r0, [r2]
- subs r3, 0xC7
- b _080C1DD6
- .align 2, 0
-_080C1C48: .4byte 0x00003e0e
-_080C1C4C: .4byte 0x00000133
-_080C1C50: .4byte 0x00003e10
-_080C1C54: .4byte 0x00003e12
-_080C1C58:
- ldr r0, [r3]
- ldr r1, _080C1C7C @ =0x00003d4c
- adds r0, r1
- ldrb r1, [r0]
- adds r2, r1, 0x1
- strb r2, [r0]
- lsls r1, 24
- lsrs r1, 24
- cmp r1, 0x28
- bhi _080C1C6E
- b _080C1DFE
-_080C1C6E:
- ldr r0, [r3]
- ldr r1, _080C1C7C @ =0x00003d4c
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- ldr r1, [r3]
- b _080C1DD4
- .align 2, 0
-_080C1C7C: .4byte 0x00003d4c
-_080C1C80:
- movs r0, 0x2
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0x2
- movs r1, 0x3
- bl CopyWindowToVram
- movs r0, 0x2
- bl PutWindowTilemap
- ldr r0, _080C1CA0 @ =gUnknown_20399DC
- ldr r1, [r0]
- ldr r0, _080C1CA4 @ =0x00003d49
- adds r1, r0
- b _080C1DD8
- .align 2, 0
-_080C1CA0: .4byte gUnknown_20399DC
-_080C1CA4: .4byte 0x00003d49
-_080C1CA8:
- ldr r7, _080C1D10 @ =gUnknown_20399DC
- ldr r2, [r7]
- ldr r1, _080C1D14 @ =0x00003d4c
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0x19
- bls _080C1D24
- bl sub_80C3580
- lsls r0, 16
- lsrs r0, 16
- bl sub_80C1920
- ldr r1, _080C1D18 @ =gUnknown_83F1A94
- str r1, [sp]
- movs r4, 0x1
- negs r4, r4
- str r4, [sp, 0x4]
- str r0, [sp, 0x8]
- movs r0, 0x2
- movs r1, 0x2
- movs r2, 0x4
- movs r3, 0
- bl AddTextPrinterParameterized3
- bl sub_80C3580
- lsls r0, 16
- lsrs r0, 16
- bl sub_80C18E0
- ldr r1, _080C1D1C @ =gUnknown_83F1A90
- str r1, [sp]
- str r4, [sp, 0x4]
- str r0, [sp, 0x8]
- movs r0, 0x2
- movs r1, 0x2
- movs r2, 0x2
- movs r3, 0xE
- bl AddTextPrinterParameterized3
- movs r0, 0x2
- movs r1, 0x3
- bl CopyWindowToVram
- ldr r1, [r7]
- ldr r3, _080C1D20 @ =0x00003d49
- adds r1, r3
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080C1D80
- .align 2, 0
-_080C1D10: .4byte gUnknown_20399DC
-_080C1D14: .4byte 0x00003d4c
-_080C1D18: .4byte gUnknown_83F1A94
-_080C1D1C: .4byte gUnknown_83F1A90
-_080C1D20: .4byte 0x00003d49
-_080C1D24:
- cmp r0, 0x14
- bls _080C1D80
- ldr r6, _080C1D88 @ =0x00003e0e
- adds r1, r2, r6
- ldrh r0, [r1]
- subs r0, 0x6
- strh r0, [r1]
- ldr r4, _080C1D8C @ =0x00003e10
- adds r1, r2, r4
- ldrh r0, [r1]
- subs r0, 0x5
- strh r0, [r1]
- ldr r0, _080C1D90 @ =0x00003e12
- mov r8, r0
- adds r1, r2, r0
- ldrh r0, [r1]
- subs r0, 0x5
- strh r0, [r1]
- movs r1, 0xF5
- lsls r1, 6
- adds r0, r2, r1
- ldr r0, [r0]
- ldr r0, [r0, 0xC]
- ldr r5, _080C1D94 @ =0x00003d4e
- adds r1, r2, r5
- movs r2, 0x30
- bl CpuSet
- ldr r1, [r7]
- adds r0, r1, r5
- adds r6, r1, r6
- ldrh r2, [r6]
- adds r4, r1, r4
- ldrh r3, [r4]
- add r1, r8
- ldrh r1, [r1]
- str r1, [sp]
- movs r1, 0x30
- bl TintPalette_CustomTone
- ldr r0, [r7]
- adds r0, r5
- movs r1, 0xD0
- movs r2, 0x60
- bl LoadPalette
-_080C1D80:
- ldr r0, _080C1D98 @ =gUnknown_20399DC
- ldr r1, [r0]
- ldr r3, _080C1D9C @ =0x00003d4c
- b _080C1DD6
- .align 2, 0
-_080C1D88: .4byte 0x00003e0e
-_080C1D8C: .4byte 0x00003e10
-_080C1D90: .4byte 0x00003e12
-_080C1D94: .4byte 0x00003d4e
-_080C1D98: .4byte gUnknown_20399DC
-_080C1D9C: .4byte 0x00003d4c
-_080C1DA0:
- ldr r0, _080C1DE0 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _080C1DB4
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080C1DFE
-_080C1DB4:
- movs r0, 0x2
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0x2
- movs r1, 0x3
- bl CopyWindowToVram
- ldr r2, _080C1DE4 @ =gUnknown_20399DC
- ldr r1, [r2]
- ldr r0, _080C1DE8 @ =0x00003d48
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r1, [r2]
-_080C1DD4:
- ldr r3, _080C1DEC @ =0x00003d49
-_080C1DD6:
- adds r1, r3
-_080C1DD8:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080C1DFE
- .align 2, 0
-_080C1DE0: .4byte gMain
-_080C1DE4: .4byte gUnknown_20399DC
-_080C1DE8: .4byte 0x00003d48
-_080C1DEC: .4byte 0x00003d49
-_080C1DF0:
- ldr r0, _080C1E0C @ =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldr r0, _080C1E10 @ =sub_80C1A94
- str r0, [r1]
-_080C1DFE:
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C1E0C: .4byte gTasks
-_080C1E10: .4byte sub_80C1A94
- thumb_func_end sub_80C1BE0
-
- thumb_func_start sub_80C1E14
-sub_80C1E14: @ 80C1E14
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080C1E68 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r4, _080C1E6C @ =gUnknown_20399DC
- ldr r0, [r4]
- ldr r2, _080C1E70 @ =0x00003d44
- adds r0, r2
- ldr r0, [r0]
- str r0, [r1]
- movs r0, 0x2
- bl HideBg
- movs r0, 0
- bl sub_80C4B30
- bl sub_80C0B18
- bl sub_80C0BB0
- bl sub_80C0AB8
- bl sub_80C0B9C
- ldr r0, _080C1E74 @ =gUnknown_8418E8D
- bl sub_80C4E74
- ldr r0, [r4]
- cmp r0, 0
- beq _080C1E60
- bl Free
- movs r0, 0
- str r0, [r4]
-_080C1E60:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C1E68: .4byte gTasks
-_080C1E6C: .4byte gUnknown_20399DC
-_080C1E70: .4byte 0x00003d44
-_080C1E74: .4byte gUnknown_8418E8D
- thumb_func_end sub_80C1E14
-
- thumb_func_start sub_80C1E78
-sub_80C1E78: @ 80C1E78
- push {lr}
- sub sp, 0x8
- movs r0, 0x20
- str r0, [sp]
- movs r0, 0x14
- str r0, [sp, 0x4]
- movs r0, 0x2
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBufferRect
- add sp, 0x8
- pop {r0}
- bx r0
- thumb_func_end sub_80C1E78
-
- thumb_func_start sub_80C1E94
-sub_80C1E94: @ 80C1E94
- push {r4-r6,lr}
- bl sub_80C4BE4
- movs r0, 0
- movs r1, 0x11
- movs r2, 0xC0
- bl sub_80C4C2C
- ldr r5, _080C1F58 @ =gUnknown_20399DC
- ldr r0, [r5]
- ldr r1, _080C1F5C @ =0x00003e14
- adds r0, r1
- ldrh r0, [r0]
- bl sub_80C4C48
- movs r0, 0
- movs r1, 0xD
- bl sub_80C4C74
- movs r0, 0x3B
- bl sub_80C4C88
- movs r0, 0x1
- movs r1, 0
- bl sub_80C4C9C
- bl sub_80C3508
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- bl sub_80C3514
- lsls r0, 16
- ldr r5, [r5]
- lsls r4, 3
- adds r4, 0x20
- ldr r2, _080C1F60 @ =0x00003e16
- adds r1, r5, r2
- strh r4, [r1]
- lsrs r0, 13
- adds r0, 0x18
- ldr r3, _080C1F64 @ =0x00003e18
- adds r2, r5, r3
- strh r0, [r2]
- ldrh r0, [r1]
- adds r0, 0x8
- ldr r4, _080C1F68 @ =0x00003e1a
- adds r3, r5, r4
- strh r0, [r3]
- ldrh r0, [r2]
- adds r0, 0x8
- ldr r6, _080C1F6C @ =0x00003e1c
- adds r4, r5, r6
- strh r0, [r4]
- ldrh r1, [r1]
- movs r0, 0x10
- subs r0, r1
- cmp r0, 0
- bge _080C1F0E
- adds r0, 0x7
-_080C1F0E:
- asrs r1, r0, 3
- ldr r6, _080C1F70 @ =0x00003e1e
- adds r0, r5, r6
- strh r1, [r0]
- ldrh r1, [r2]
- movs r0, 0x20
- subs r0, r1
- cmp r0, 0
- bge _080C1F22
- adds r0, 0x7
-_080C1F22:
- asrs r1, r0, 3
- ldr r2, _080C1F74 @ =0x00003e20
- adds r0, r5, r2
- strh r1, [r0]
- ldrh r1, [r3]
- movs r0, 0xE0
- subs r0, r1
- cmp r0, 0
- bge _080C1F36
- adds r0, 0x7
-_080C1F36:
- asrs r1, r0, 3
- ldr r3, _080C1F78 @ =0x00003e22
- adds r0, r5, r3
- strh r1, [r0]
- ldrh r1, [r4]
- movs r0, 0x88
- subs r0, r1
- cmp r0, 0
- bge _080C1F4A
- adds r0, 0x7
-_080C1F4A:
- asrs r1, r0, 3
- ldr r4, _080C1F7C @ =0x00003e24
- adds r0, r5, r4
- strh r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080C1F58: .4byte gUnknown_20399DC
-_080C1F5C: .4byte 0x00003e14
-_080C1F60: .4byte 0x00003e16
-_080C1F64: .4byte 0x00003e18
-_080C1F68: .4byte 0x00003e1a
-_080C1F6C: .4byte 0x00003e1c
-_080C1F70: .4byte 0x00003e1e
-_080C1F74: .4byte 0x00003e20
-_080C1F78: .4byte 0x00003e22
-_080C1F7C: .4byte 0x00003e24
- thumb_func_end sub_80C1E94
-
- thumb_func_start sub_80C1F80
-sub_80C1F80: @ 80C1F80
- push {r4-r6,lr}
- sub sp, 0x8
- lsls r0, 24
- cmp r0, 0
- bne _080C2014
- ldr r1, _080C1FF0 @ =gUnknown_20399DC
- ldr r2, [r1]
- ldr r0, _080C1FF4 @ =0x00003d4b
- adds r3, r2, r0
- ldrb r0, [r3]
- adds r6, r1, 0
- cmp r0, 0x7
- bhi _080C2024
- ldr r4, _080C1FF8 @ =0x00003e16
- adds r1, r2, r4
- adds r4, 0x8
- adds r0, r2, r4
- ldrh r0, [r0]
- ldrh r4, [r1]
- adds r0, r4
- strh r0, [r1]
- ldr r0, _080C1FFC @ =0x00003e18
- adds r1, r2, r0
- ldr r4, _080C2000 @ =0x00003e20
- adds r0, r2, r4
- ldrh r0, [r0]
- ldrh r4, [r1]
- adds r0, r4
- strh r0, [r1]
- ldr r0, _080C2004 @ =0x00003e1a
- adds r1, r2, r0
- ldr r4, _080C2008 @ =0x00003e22
- adds r0, r2, r4
- ldrh r0, [r0]
- ldrh r4, [r1]
- adds r0, r4
- strh r0, [r1]
- ldr r0, _080C200C @ =0x00003e1c
- adds r1, r2, r0
- ldr r4, _080C2010 @ =0x00003e24
- adds r0, r2, r4
- ldrh r0, [r0]
- ldrh r2, [r1]
- adds r0, r2
- strh r0, [r1]
- ldrb r0, [r3]
- adds r0, 0x1
- strb r0, [r3]
- ldr r0, [r6]
- subs r4, 0x10
- adds r1, r0, r4
- ldrh r0, [r1]
- cmp r0, 0x5
- bhi _080C2086
- adds r0, 0x1
- b _080C2084
- .align 2, 0
-_080C1FF0: .4byte gUnknown_20399DC
-_080C1FF4: .4byte 0x00003d4b
-_080C1FF8: .4byte 0x00003e16
-_080C1FFC: .4byte 0x00003e18
-_080C2000: .4byte 0x00003e20
-_080C2004: .4byte 0x00003e1a
-_080C2008: .4byte 0x00003e22
-_080C200C: .4byte 0x00003e1c
-_080C2010: .4byte 0x00003e24
-_080C2014:
- ldr r1, _080C2028 @ =gUnknown_20399DC
- ldr r3, [r1]
- ldr r0, _080C202C @ =0x00003d4b
- adds r5, r3, r0
- ldrb r0, [r5]
- adds r6, r1, 0
- cmp r0, 0
- bne _080C2030
-_080C2024:
- movs r0, 0x1
- b _080C20DE
- .align 2, 0
-_080C2028: .4byte gUnknown_20399DC
-_080C202C: .4byte 0x00003d4b
-_080C2030:
- ldr r1, _080C20E8 @ =0x00003e16
- adds r2, r3, r1
- ldr r4, _080C20EC @ =0x00003e1e
- adds r1, r3, r4
- ldrh r0, [r2]
- ldrh r1, [r1]
- subs r0, r1
- strh r0, [r2]
- ldr r0, _080C20F0 @ =0x00003e18
- adds r2, r3, r0
- adds r4, 0x2
- adds r1, r3, r4
- ldrh r0, [r2]
- ldrh r1, [r1]
- subs r0, r1
- strh r0, [r2]
- ldr r0, _080C20F4 @ =0x00003e1a
- adds r2, r3, r0
- adds r4, 0x2
- adds r1, r3, r4
- ldrh r0, [r2]
- ldrh r1, [r1]
- subs r0, r1
- strh r0, [r2]
- ldr r0, _080C20F8 @ =0x00003e1c
- adds r2, r3, r0
- adds r4, 0x2
- adds r1, r3, r4
- ldrh r0, [r2]
- ldrh r1, [r1]
- subs r0, r1
- strh r0, [r2]
- ldrb r0, [r5]
- subs r0, 0x1
- strb r0, [r5]
- ldr r0, [r6]
- ldr r2, _080C20FC @ =0x00003e14
- adds r1, r0, r2
- ldrh r0, [r1]
- cmp r0, 0
- beq _080C2086
- subs r0, 0x1
-_080C2084:
- strh r0, [r1]
-_080C2086:
- ldr r4, [r6]
- ldr r1, _080C20E8 @ =0x00003e16
- adds r0, r4, r1
- ldrh r0, [r0]
- ldr r5, _080C2100 @ =0xffff0000
- ldr r2, [sp]
- ands r2, r5
- orrs r2, r0
- str r2, [sp]
- adds r1, 0x2
- adds r0, r4, r1
- ldrh r1, [r0]
- lsls r1, 16
- ldr r3, _080C2104 @ =0x0000ffff
- adds r0, r3, 0
- ands r0, r2
- orrs r0, r1
- str r0, [sp]
- ldr r2, _080C20F4 @ =0x00003e1a
- adds r4, r2
- ldrh r0, [r4]
- ldr r1, [sp, 0x4]
- ands r1, r5
- orrs r1, r0
- str r1, [sp, 0x4]
- ldr r0, [r6]
- ldr r4, _080C20F8 @ =0x00003e1c
- adds r0, r4
- ldrh r0, [r0]
- lsls r0, 16
- ands r3, r1
- orrs r3, r0
- str r3, [sp, 0x4]
- movs r0, 0x1
- mov r1, sp
- bl sub_80C4CF0
- ldr r0, [r6]
- ldr r1, _080C20FC @ =0x00003e14
- adds r0, r1
- ldrh r0, [r0]
- bl sub_80C4C48
- movs r0, 0
-_080C20DE:
- add sp, 0x8
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080C20E8: .4byte 0x00003e16
-_080C20EC: .4byte 0x00003e1e
-_080C20F0: .4byte 0x00003e18
-_080C20F4: .4byte 0x00003e1a
-_080C20F8: .4byte 0x00003e1c
-_080C20FC: .4byte 0x00003e14
-_080C2100: .4byte 0xffff0000
-_080C2104: .4byte 0x0000ffff
- thumb_func_end sub_80C1F80
-
- thumb_func_start nullsub_63
-nullsub_63: @ 80C2108
- bx lr
- thumb_func_end nullsub_63
-
- thumb_func_start sub_80C210C
-sub_80C210C: @ 80C210C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x28
- adds r5, r0, 0
- lsls r5, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- ldr r0, _080C21E0 @ =gUnknown_20399E0
- mov r9, r0
- ldr r6, [r0]
- lsrs r5, 22
- adds r6, r5
- ldr r0, [r6]
- str r0, [sp, 0x18]
- movs r3, 0x80
- lsls r3, 3
- mov r10, r3
- add r0, sp, 0x18
- lsls r3, r1, 16
- mov r4, r10
- orrs r3, r4
- str r3, [r0, 0x4]
- ldr r3, _080C21E4 @ =gUnknown_83EF3A4
- str r3, [sp, 0x20]
- ldr r4, _080C21E8 @ =0xffff0000
- add r7, sp, 0x20
- mov r8, r7
- ldr r3, [r7, 0x4]
- ands r3, r4
- orrs r3, r2
- str r3, [r7, 0x4]
- mov r3, sp
- movs r4, 0
- strh r1, [r3]
- strh r2, [r3, 0x2]
- ldr r3, _080C21EC @ =gUnknown_83F1C20
- str r3, [sp, 0x4]
- ldr r3, _080C21F0 @ =gUnknown_83F1C30
- str r3, [sp, 0x8]
- str r4, [sp, 0xC]
- ldr r3, _080C21F4 @ =gDummySpriteAffineAnimTable
- str r3, [sp, 0x10]
- ldr r3, _080C21F8 @ =nullsub_63
- str r3, [sp, 0x14]
- ldr r3, [r6]
- movs r4, 0x81
- lsls r4, 3
- adds r3, r4
- strh r1, [r3]
- ldr r1, [r6]
- ldr r7, _080C21FC @ =0x0000040a
- adds r1, r7
- strh r2, [r1]
- bl LoadSpriteSheet
- mov r0, r8
- bl LoadSpritePalette
- mov r1, r9
- ldr r0, [r1]
- adds r0, r5
- ldr r0, [r0]
- ldr r2, _080C2200 @ =0x00000404
- adds r1, r0, r2
- movs r3, 0
- ldrsh r1, [r1, r3]
- subs r4, 0x2
- adds r0, r4
- movs r7, 0
- ldrsh r2, [r0, r7]
- mov r0, sp
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- mov r2, r9
- ldr r1, [r2]
- adds r1, r5
- ldr r2, [r1]
- add r2, r10
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, _080C2204 @ =gSprites
- adds r1, r0
- str r1, [r2]
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
- add sp, 0x28
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C21E0: .4byte gUnknown_20399E0
-_080C21E4: .4byte gUnknown_83EF3A4
-_080C21E8: .4byte 0xffff0000
-_080C21EC: .4byte gUnknown_83F1C20
-_080C21F0: .4byte gUnknown_83F1C30
-_080C21F4: .4byte gDummySpriteAffineAnimTable
-_080C21F8: .4byte nullsub_63
-_080C21FC: .4byte 0x0000040a
-_080C2200: .4byte 0x00000404
-_080C2204: .4byte gSprites
- thumb_func_end sub_80C210C
-
- thumb_func_start sub_80C2208
-sub_80C2208: @ 80C2208
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- mov r9, r1
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r4, _080C22A4 @ =gUnknown_20399E0
- ldr r0, _080C22A8 @ =0x00000cd4
- bl AllocZeroed
- str r0, [r4]
- movs r6, 0
-_080C2224:
- ldr r0, _080C22AC @ =0x0000040c
- bl AllocZeroed
- adds r5, r0, 0
- ldr r7, _080C22A4 @ =gUnknown_20399E0
- ldr r4, [r7]
- lsls r0, r6, 2
- adds r4, r0
- str r5, [r4]
- adds r0, r6, 0
- movs r1, 0x3
- bl __udivsi3
- lsls r0, 24
- lsrs r0, 19
- adds r0, 0x68
- ldr r1, _080C22B0 @ =0x00000404
- adds r5, r1
- strh r0, [r5]
- ldr r4, [r4]
- adds r0, r6, 0
- movs r1, 0x3
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 18
- adds r0, 0x28
- ldr r2, _080C22B4 @ =0x00000406
- adds r4, r2
- strh r0, [r4]
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x5
- bls _080C2224
- movs r0, 0
- bl sub_80C4AAC
- bl sub_80C4BE4
- bl sub_80C24BC
- movs r0, 0x1
- bl sub_80C0A88
- ldr r0, [r7]
- ldr r1, _080C22B8 @ =0x00000cc8
- adds r0, r1
- mov r2, r9
- str r2, [r0]
- ldr r1, _080C22BC @ =gTasks
- mov r2, r8
- lsls r0, r2, 2
- add r0, r8
- lsls r0, 3
- adds r0, r1
- ldr r1, _080C22C0 @ =sub_80C267C
- str r1, [r0]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C22A4: .4byte gUnknown_20399E0
-_080C22A8: .4byte 0x00000cd4
-_080C22AC: .4byte 0x0000040c
-_080C22B0: .4byte 0x00000404
-_080C22B4: .4byte 0x00000406
-_080C22B8: .4byte 0x00000cc8
-_080C22BC: .4byte gTasks
-_080C22C0: .4byte sub_80C267C
- thumb_func_end sub_80C2208
-
- thumb_func_start sub_80C22C4
-sub_80C22C4: @ 80C22C4
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- cmp r2, 0x6
- bne _080C2310
- movs r3, 0
- ldr r7, _080C230C @ =gUnknown_20399E0
- movs r6, 0x80
- lsls r6, 3
- movs r1, 0x1
- adds r0, r4, 0
- ands r0, r1
- lsls r4, r0, 2
- movs r5, 0x5
- negs r5, r5
-_080C22E6:
- ldr r0, [r7]
- lsls r1, r3, 2
- adds r0, r1
- ldr r0, [r0]
- adds r0, r6
- ldr r1, [r0]
- adds r1, 0x3E
- ldrb r2, [r1]
- adds r0, r5, 0
- ands r0, r2
- orrs r0, r4
- strb r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x5
- bls _080C22E6
- b _080C2338
- .align 2, 0
-_080C230C: .4byte gUnknown_20399E0
-_080C2310:
- ldr r0, _080C2340 @ =gUnknown_20399E0
- ldr r0, [r0]
- lsls r1, r2, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 3
- adds r0, r1
- ldr r2, [r0]
- adds r2, 0x3E
- movs r0, 0x1
- adds r1, r4, 0
- ands r1, r0
- lsls r1, 2
- ldrb r3, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2]
-_080C2338:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C2340: .4byte gUnknown_20399E0
- thumb_func_end sub_80C22C4
-
- thumb_func_start sub_80C2344
-sub_80C2344: @ 80C2344
- push {lr}
- ldr r0, _080C2360 @ =gUnknown_20399E0
- ldr r0, [r0]
- ldr r1, _080C2364 @ =0x00000ccd
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x8
- bls _080C2356
- b _080C249C
-_080C2356:
- lsls r0, 2
- ldr r1, _080C2368 @ =_080C236C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080C2360: .4byte gUnknown_20399E0
-_080C2364: .4byte 0x00000ccd
-_080C2368: .4byte _080C236C
- .align 2, 0
-_080C236C:
- .4byte _080C2390
- .4byte _080C23B0
- .4byte _080C23D0
- .4byte _080C23F0
- .4byte _080C2410
- .4byte _080C2430
- .4byte _080C2450
- .4byte _080C2468
- .4byte _080C2484
-_080C2390:
- ldr r0, _080C23A8 @ =gUnknown_83F12CC
- ldr r1, _080C23AC @ =gUnknown_20399E0
- ldr r1, [r1]
- ldr r1, [r1]
- bl LZ77UnCompWram
- movs r0, 0
- movs r1, 0x4
- movs r2, 0x4
- bl sub_80C210C
- b _080C24A0
- .align 2, 0
-_080C23A8: .4byte gUnknown_83F12CC
-_080C23AC: .4byte gUnknown_20399E0
-_080C23B0:
- ldr r0, _080C23C8 @ =gUnknown_83F1550
- ldr r1, _080C23CC @ =gUnknown_20399E0
- ldr r1, [r1]
- ldr r1, [r1, 0x4]
- bl LZ77UnCompWram
- movs r0, 0x1
- movs r1, 0x5
- movs r2, 0x5
- bl sub_80C210C
- b _080C24A0
- .align 2, 0
-_080C23C8: .4byte gUnknown_83F1550
-_080C23CC: .4byte gUnknown_20399E0
-_080C23D0:
- ldr r0, _080C23E8 @ =gUnknown_83F1738
- ldr r1, _080C23EC @ =gUnknown_20399E0
- ldr r1, [r1]
- ldr r1, [r1, 0x8]
- bl LZ77UnCompWram
- movs r0, 0x2
- movs r1, 0x6
- movs r2, 0x6
- bl sub_80C210C
- b _080C24A0
- .align 2, 0
-_080C23E8: .4byte gUnknown_83F1738
-_080C23EC: .4byte gUnknown_20399E0
-_080C23F0:
- ldr r0, _080C2408 @ =gUnknown_83F13EC
- ldr r1, _080C240C @ =gUnknown_20399E0
- ldr r1, [r1]
- ldr r1, [r1, 0xC]
- bl LZ77UnCompWram
- movs r0, 0x3
- movs r1, 0x7
- movs r2, 0x7
- bl sub_80C210C
- b _080C24A0
- .align 2, 0
-_080C2408: .4byte gUnknown_83F13EC
-_080C240C: .4byte gUnknown_20399E0
-_080C2410:
- ldr r0, _080C2428 @ =gUnknown_83F1640
- ldr r1, _080C242C @ =gUnknown_20399E0
- ldr r1, [r1]
- ldr r1, [r1, 0x10]
- bl LZ77UnCompWram
- movs r0, 0x4
- movs r1, 0x8
- movs r2, 0x8
- bl sub_80C210C
- b _080C24A0
- .align 2, 0
-_080C2428: .4byte gUnknown_83F1640
-_080C242C: .4byte gUnknown_20399E0
-_080C2430:
- ldr r0, _080C2448 @ =gUnknown_83F1804
- ldr r1, _080C244C @ =gUnknown_20399E0
- ldr r1, [r1]
- ldr r1, [r1, 0x14]
- bl LZ77UnCompWram
- movs r0, 0x5
- movs r1, 0x9
- movs r2, 0x9
- bl sub_80C210C
- b _080C24A0
- .align 2, 0
-_080C2448: .4byte gUnknown_83F1804
-_080C244C: .4byte gUnknown_20399E0
-_080C2450:
- ldr r0, _080C2460 @ =gUnknown_83F0330
- ldr r1, _080C2464 @ =gUnknown_20399E0
- ldr r1, [r1]
- adds r1, 0x18
- bl LZ77UnCompWram
- b _080C24A0
- .align 2, 0
-_080C2460: .4byte gUnknown_83F0330
-_080C2464: .4byte gUnknown_20399E0
-_080C2468:
- ldr r0, _080C2478 @ =gUnknown_83F0E0C
- ldr r1, _080C247C @ =gUnknown_20399E0
- ldr r1, [r1]
- ldr r2, _080C2480 @ =0x00000818
- adds r1, r2
- bl LZ77UnCompWram
- b _080C24A0
- .align 2, 0
-_080C2478: .4byte gUnknown_83F0E0C
-_080C247C: .4byte gUnknown_20399E0
-_080C2480: .4byte 0x00000818
-_080C2484:
- ldr r0, _080C2498 @ =gUnknown_20399E0
- ldr r1, [r0]
- adds r1, 0x18
- movs r2, 0x80
- lsls r2, 4
- movs r0, 0x1
- movs r3, 0
- bl LoadBgTiles
- b _080C24A0
- .align 2, 0
-_080C2498: .4byte gUnknown_20399E0
-_080C249C:
- movs r0, 0x1
- b _080C24B0
-_080C24A0:
- ldr r0, _080C24B4 @ =gUnknown_20399E0
- ldr r1, [r0]
- ldr r0, _080C24B8 @ =0x00000ccd
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- movs r0, 0
-_080C24B0:
- pop {r1}
- bx r1
- .align 2, 0
-_080C24B4: .4byte gUnknown_20399E0
-_080C24B8: .4byte 0x00000ccd
- thumb_func_end sub_80C2344
-
- thumb_func_start sub_80C24BC
-sub_80C24BC: @ 80C24BC
- push {r4,r5,lr}
- sub sp, 0x8
- ldr r0, _080C252C @ =gUnknown_20399E0
- ldr r3, [r0]
- ldr r0, [r3]
- ldr r2, _080C2530 @ =0x00000404
- adds r0, r2
- ldrh r0, [r0]
- adds r0, 0x8
- lsls r0, 16
- ldr r4, _080C2534 @ =0xffff0000
- ldr r5, _080C2538 @ =0x0000ffff
- lsrs r0, 16
- movs r1, 0x80
- lsls r1, 13
- orrs r0, r1
- str r0, [sp]
- ldr r0, [r3, 0xC]
- adds r0, r2
- ldrh r1, [r0]
- subs r1, 0x8
- lsls r1, 16
- lsrs r1, 16
- ldr r0, [sp, 0x4]
- ands r0, r4
- orrs r0, r1
- ands r0, r5
- movs r1, 0xA0
- lsls r1, 16
- orrs r0, r1
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x2
- movs r2, 0
- bl sub_80C4C2C
- movs r0, 0x12
- movs r1, 0
- bl sub_80C4C74
- movs r0, 0x10
- bl sub_80C4C88
- movs r0, 0
- mov r1, sp
- bl sub_80C4CF0
- movs r0, 0
- movs r1, 0
- bl sub_80C4C9C
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C252C: .4byte gUnknown_20399E0
-_080C2530: .4byte 0x00000404
-_080C2534: .4byte 0xffff0000
-_080C2538: .4byte 0x0000ffff
- thumb_func_end sub_80C24BC
-
- thumb_func_start sub_80C253C
-sub_80C253C: @ 80C253C
- push {lr}
- sub sp, 0x8
- ldr r0, _080C258C @ =gUnknown_83F1C34
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp]
- str r1, [sp, 0x4]
- bl sub_80C4BE4
- movs r0, 0x2
- movs r1, 0x29
- movs r2, 0x80
- bl sub_80C4C2C
- ldr r0, _080C2590 @ =gUnknown_20399E0
- ldr r0, [r0]
- movs r1, 0xCD
- lsls r1, 4
- adds r0, r1
- ldrb r0, [r0]
- bl sub_80C4C48
- movs r0, 0x37
- movs r1, 0
- bl sub_80C4C74
- movs r0, 0x12
- bl sub_80C4C88
- movs r0, 0
- mov r1, sp
- bl sub_80C4CF0
- movs r0, 0
- movs r1, 0
- bl sub_80C4C9C
- add sp, 0x8
- pop {r0}
- bx r0
- .align 2, 0
-_080C258C: .4byte gUnknown_83F1C34
-_080C2590: .4byte gUnknown_20399E0
- thumb_func_end sub_80C253C
-
- thumb_func_start sub_80C2594
-sub_80C2594: @ 80C2594
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080C25B0 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r0, _080C25B4 @ =gUnknown_20399E0
- ldr r0, [r0]
- ldr r2, _080C25B8 @ =0x00000cc8
- adds r0, r2
- ldr r0, [r0]
- str r0, [r1]
- bx lr
- .align 2, 0
-_080C25B0: .4byte gTasks
-_080C25B4: .4byte gUnknown_20399E0
-_080C25B8: .4byte 0x00000cc8
- thumb_func_end sub_80C2594
-
- thumb_func_start sub_80C25BC
-sub_80C25BC: @ 80C25BC
- push {r4-r6,lr}
- bl sub_80C2604
- movs r5, 0
- ldr r6, _080C2600 @ =gUnknown_20399E0
-_080C25C6:
- ldr r0, [r6]
- lsls r4, r5, 2
- adds r0, r4
- ldr r0, [r0]
- cmp r0, 0
- beq _080C25DE
- bl Free
- ldr r0, [r6]
- adds r0, r4
- movs r1, 0
- str r1, [r0]
-_080C25DE:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x5
- bls _080C25C6
- ldr r4, _080C2600 @ =gUnknown_20399E0
- ldr r0, [r4]
- cmp r0, 0
- beq _080C25F8
- bl Free
- movs r0, 0
- str r0, [r4]
-_080C25F8:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080C2600: .4byte gUnknown_20399E0
- thumb_func_end sub_80C25BC
-
- thumb_func_start sub_80C2604
-sub_80C2604: @ 80C2604
- push {r4-r7,lr}
- movs r5, 0
- ldr r7, _080C2670 @ =gUnknown_20399E0
- movs r6, 0x80
- lsls r6, 3
-_080C260E:
- ldr r2, [r7]
- lsls r4, r5, 2
- adds r2, r4
- ldr r1, [r2]
- adds r0, r1, r6
- ldr r0, [r0]
- ldrh r0, [r0, 0x20]
- ldr r3, _080C2674 @ =0x00000404
- adds r1, r3
- strh r0, [r1]
- ldr r1, [r2]
- adds r0, r1, r6
- ldr r0, [r0]
- ldrh r0, [r0, 0x22]
- adds r3, 0x2
- adds r1, r3
- strh r0, [r1]
- ldr r0, [r2]
- adds r0, r6
- ldr r0, [r0]
- cmp r0, 0
- beq _080C2660
- bl DestroySprite
- ldr r0, [r7]
- adds r0, r4
- ldr r0, [r0]
- movs r1, 0x81
- lsls r1, 3
- adds r0, r1
- ldrh r0, [r0]
- bl FreeSpriteTilesByTag
- ldr r0, [r7]
- adds r0, r4
- ldr r0, [r0]
- ldr r3, _080C2678 @ =0x0000040a
- adds r0, r3
- ldrh r0, [r0]
- bl FreeSpritePaletteByTag
-_080C2660:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x5
- bls _080C260E
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C2670: .4byte gUnknown_20399E0
-_080C2674: .4byte 0x00000404
-_080C2678: .4byte 0x0000040a
- thumb_func_end sub_80C2604
-
- thumb_func_start sub_80C267C
-sub_80C267C: @ 80C267C
- push {r4,r5,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _080C26A0 @ =gUnknown_20399E0
- ldr r0, [r1]
- ldr r2, _080C26A4 @ =0x00000ccc
- adds r0, r2
- ldrb r0, [r0]
- adds r4, r1, 0
- cmp r0, 0xD
- bls _080C2696
- b _080C2990
-_080C2696:
- lsls r0, 2
- ldr r1, _080C26A8 @ =_080C26AC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080C26A0: .4byte gUnknown_20399E0
-_080C26A4: .4byte 0x00000ccc
-_080C26A8: .4byte _080C26AC
- .align 2, 0
-_080C26AC:
- .4byte _080C26E4
- .4byte _080C26FC
- .4byte _080C270C
- .4byte _080C272C
- .4byte _080C2768
- .4byte _080C2788
- .4byte _080C27B4
- .4byte _080C27C4
- .4byte _080C27E4
- .4byte _080C281E
- .4byte _080C2868
- .4byte _080C28A4
- .4byte _080C2928
- .4byte _080C296C
-_080C26E4:
- bl sub_80C08E0
- ldr r0, _080C26F4 @ =gUnknown_20399E0
- ldr r1, [r0]
- ldr r0, _080C26F8 @ =0x00000ccc
- adds r1, r0
- b _080C297E
- .align 2, 0
-_080C26F4: .4byte gUnknown_20399E0
-_080C26F8: .4byte 0x00000ccc
-_080C26FC:
- bl sub_80C2344
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080C270A
- b _080C299A
-_080C270A:
- b _080C2976
-_080C270C:
- ldr r1, [r4]
- ldr r0, _080C2728 @ =0x00000818
- adds r1, r0
- movs r0, 0x1E
- str r0, [sp]
- movs r0, 0x14
- str r0, [sp, 0x4]
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBufferRect
- ldr r1, [r4]
- b _080C297A
- .align 2, 0
-_080C2728: .4byte 0x00000818
-_080C272C:
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r4, 0x1
- negs r4, r4
- adds r0, r4, 0
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- bl sub_80C08F4
- ldr r0, _080C2760 @ =gUnknown_20399E0
- ldr r1, [r0]
- ldr r0, _080C2764 @ =0x00000ccc
- adds r1, r0
- b _080C297E
- .align 2, 0
-_080C2760: .4byte gUnknown_20399E0
-_080C2764: .4byte 0x00000ccc
-_080C2768:
- movs r0, 0
- bl ShowBg
- movs r0, 0x3
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x6
- movs r1, 0
- bl sub_80C22C4
- bl sub_80C2B48
- b _080C2976
-_080C2788:
- ldr r0, _080C27AC @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080C2796
- b _080C299A
-_080C2796:
- ldr r1, [r4]
- ldr r0, _080C27B0 @ =0x00000ccc
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- movs r0, 0xF4
- bl PlaySE
- b _080C299A
- .align 2, 0
-_080C27AC: .4byte gPaletteFade
-_080C27B0: .4byte 0x00000ccc
-_080C27B4:
- bl sub_80C29A4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080C27C2
- b _080C299A
-_080C27C2:
- b _080C2976
-_080C27C4:
- movs r0, 0
- bl sub_80C4324
- movs r0, 0
- bl sub_80C3154
- ldr r0, _080C27DC @ =gUnknown_20399E0
- ldr r1, [r0]
- ldr r0, _080C27E0 @ =0x00000ccc
- adds r1, r0
- b _080C297E
- .align 2, 0
-_080C27DC: .4byte gUnknown_20399E0
-_080C27E0: .4byte 0x00000ccc
-_080C27E4:
- ldr r0, [r4]
- movs r1, 0xCD
- lsls r1, 4
- adds r0, r1
- movs r1, 0xF
- strb r1, [r0]
- bl sub_80C253C
- movs r0, 0
- bl sub_80C0A88
- bl sub_80C0E20
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x19
- movs r2, 0
- bl sub_80C48BC
- bl sub_80C0E20
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x19
- movs r2, 0
- bl sub_80C4960
- ldr r1, [r4]
- b _080C297A
-_080C281E:
- ldr r0, _080C283C @ =gUnknown_8418EB5
- bl sub_80C4E18
- movs r0, 0x1
- bl sub_80C3AC8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- beq _080C2844
- ldr r0, _080C2840 @ =gUnknown_8418E8B
- bl sub_80C4E74
- b _080C284A
- .align 2, 0
-_080C283C: .4byte gUnknown_8418EB5
-_080C2840: .4byte gUnknown_8418E8B
-_080C2844:
- ldr r0, _080C285C @ =gUnknown_8418E8D
- bl sub_80C4E74
-_080C284A:
- movs r0, 0
- bl sub_80C4ED0
- ldr r0, _080C2860 @ =gUnknown_20399E0
- ldr r1, [r0]
- ldr r0, _080C2864 @ =0x00000ccc
- adds r1, r0
- b _080C297E
- .align 2, 0
-_080C285C: .4byte gUnknown_8418E8D
-_080C2860: .4byte gUnknown_20399E0
-_080C2864: .4byte 0x00000ccc
-_080C2868:
- ldr r4, _080C28A0 @ =gUnknown_83EF23C + 0x1E
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x2
- bl LoadPalette
- adds r0, r4, 0
- movs r1, 0x10
- movs r2, 0x2
- bl LoadPalette
- adds r0, r4, 0
- movs r1, 0x20
- movs r2, 0x2
- bl LoadPalette
- adds r0, r4, 0
- movs r1, 0x30
- movs r2, 0x2
- bl LoadPalette
- adds r0, r4, 0
- movs r1, 0x40
- movs r2, 0x2
- bl LoadPalette
- b _080C2976
- .align 2, 0
-_080C28A0: .4byte gUnknown_83EF23C + 0x1E
-_080C28A4:
- movs r4, 0x1
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r5, 0x2
- str r5, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0x2
- movs r2, 0
- movs r3, 0x1
- bl FillBgTilemapBufferRect
- str r4, [sp]
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0x3
- movs r2, 0x1
- movs r3, 0x1
- bl FillBgTilemapBufferRect
- str r4, [sp]
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0x3E
- movs r2, 0x1C
- movs r3, 0x1
- bl FillBgTilemapBufferRect
- str r4, [sp]
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0x3F
- movs r2, 0x1D
- movs r3, 0x1
- bl FillBgTilemapBufferRect
- movs r0, 0x1A
- str r0, [sp]
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0x3D
- movs r2, 0x2
- movs r3, 0x1
- bl FillBgTilemapBufferRect
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r0, 0xF4
- bl m4aSongNumStop
- movs r0, 0x2A
- bl PlaySE
- ldr r0, _080C2920 @ =gUnknown_20399E0
- ldr r1, [r0]
- ldr r0, _080C2924 @ =0x00000ccc
- adds r1, r0
- b _080C297E
- .align 2, 0
-_080C2920: .4byte gUnknown_20399E0
-_080C2924: .4byte 0x00000ccc
-_080C2928:
- ldr r0, [r4]
- movs r2, 0xCD
- lsls r2, 4
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0x2
- bne _080C2958
- movs r0, 0x6
- movs r1, 0x1
- bl sub_80C22C4
- ldr r1, [r4]
- ldr r0, _080C2954 @ =0x00000ccc
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- movs r0, 0
- bl sub_80C4C48
- b _080C299A
- .align 2, 0
-_080C2954: .4byte 0x00000ccc
-_080C2958:
- subs r0, 0x1
- strb r0, [r1]
- ldr r0, [r4]
- movs r1, 0xCD
- lsls r1, 4
- adds r0, r1
- ldrb r0, [r0]
- bl sub_80C4C48
- b _080C299A
-_080C296C:
- movs r0, 0
- bl sub_80C4B30
- bl sub_80C0BB0
-_080C2976:
- ldr r0, _080C2988 @ =gUnknown_20399E0
- ldr r1, [r0]
-_080C297A:
- ldr r2, _080C298C @ =0x00000ccc
- adds r1, r2
-_080C297E:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080C299A
- .align 2, 0
-_080C2988: .4byte gUnknown_20399E0
-_080C298C: .4byte 0x00000ccc
-_080C2990:
- bl sub_80C2604
- adds r0, r5, 0
- bl sub_80C2594
-_080C299A:
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80C267C
-
- thumb_func_start sub_80C29A4
-sub_80C29A4: @ 80C29A4
- push {r4,r5,lr}
- bl sub_80C2B48
- ldr r0, _080C29C8 @ =gUnknown_20399E0
- ldr r2, [r0]
- ldr r0, [r2]
- movs r4, 0x80
- lsls r4, 3
- adds r0, r4
- ldr r1, [r0]
- ldrh r3, [r1, 0x20]
- movs r5, 0x20
- ldrsh r0, [r1, r5]
- cmp r0, 0
- bne _080C29CC
- movs r0, 0x1
- b _080C2B3A
- .align 2, 0
-_080C29C8: .4byte gUnknown_20399E0
-_080C29CC:
- ldr r5, _080C2A18 @ =0x00000cce
- adds r0, r2, r5
- ldrb r0, [r0]
- cmp r0, 0x11
- bls _080C2A1C
- subs r0, r3, 0x1
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x4]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- subs r0, 0x1
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x8]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- subs r0, 0x1
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0xC]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- adds r0, 0x1
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x10]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- adds r0, 0x1
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x14]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- adds r0, 0x1
- b _080C2B28
- .align 2, 0
-_080C2A18: .4byte 0x00000cce
-_080C2A1C:
- cmp r0, 0xE
- bls _080C2A60
- subs r0, r3, 0x2
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x4]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- subs r0, 0x2
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x8]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- subs r0, 0x2
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0xC]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- adds r0, 0x2
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x10]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- adds r0, 0x2
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x14]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- adds r0, 0x2
- b _080C2B28
-_080C2A60:
- cmp r0, 0xA
- bls _080C2AA4
- subs r0, r3, 0x3
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x4]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- subs r0, 0x3
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x8]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- subs r0, 0x3
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0xC]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- adds r0, 0x3
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x10]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- adds r0, 0x3
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x14]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- adds r0, 0x3
- b _080C2B28
-_080C2AA4:
- cmp r0, 0x6
- bls _080C2AE8
- subs r0, r3, 0x5
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x4]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- subs r0, 0x5
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x8]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- subs r0, 0x5
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0xC]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- adds r0, 0x5
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x10]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- adds r0, 0x5
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x14]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- adds r0, 0x5
- b _080C2B28
-_080C2AE8:
- adds r0, r3, 0
- subs r0, 0x8
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x4]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- subs r0, 0x8
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x8]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- subs r0, 0x8
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0xC]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- adds r0, 0x8
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x10]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- adds r0, 0x8
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x14]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- adds r0, 0x8
-_080C2B28:
- strh r0, [r1, 0x20]
- ldr r0, _080C2B40 @ =gUnknown_20399E0
- ldr r1, [r0]
- ldr r0, _080C2B44 @ =0x00000cce
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- movs r0, 0
-_080C2B3A:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080C2B40: .4byte gUnknown_20399E0
-_080C2B44: .4byte 0x00000cce
- thumb_func_end sub_80C29A4
-
- thumb_func_start sub_80C2B48
-sub_80C2B48: @ 80C2B48
- push {r4,r5,lr}
- sub sp, 0x8
- ldr r0, _080C2B90 @ =gUnknown_20399E0
- ldr r3, [r0]
- ldr r0, [r3]
- movs r2, 0x80
- lsls r2, 3
- adds r0, r2
- ldr r0, [r0]
- ldr r4, _080C2B94 @ =0xffff0000
- ldr r5, _080C2B98 @ =0x0000ffff
- ldrh r0, [r0, 0x20]
- movs r1, 0x80
- lsls r1, 13
- orrs r0, r1
- str r0, [sp]
- ldr r0, [r3, 0xC]
- adds r0, r2
- ldr r0, [r0]
- ldrh r1, [r0, 0x20]
- ldr r0, [sp, 0x4]
- ands r0, r4
- orrs r0, r1
- ands r0, r5
- movs r1, 0xA0
- lsls r1, 16
- orrs r0, r1
- str r0, [sp, 0x4]
- movs r0, 0
- mov r1, sp
- bl sub_80C4CF0
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C2B90: .4byte gUnknown_20399E0
-_080C2B94: .4byte 0xffff0000
-_080C2B98: .4byte 0x0000ffff
- thumb_func_end sub_80C2B48
-
- thumb_func_start sub_80C2B9C
-sub_80C2B9C: @ 80C2B9C
- push {r4,r5,lr}
- sub sp, 0x8
- ldr r0, _080C2C0C @ =gUnknown_20399E0
- ldr r3, [r0]
- ldr r0, [r3]
- ldr r2, _080C2C10 @ =0x00000404
- adds r0, r2
- ldrh r0, [r0]
- adds r0, 0x10
- lsls r0, 16
- ldr r4, _080C2C14 @ =0xffff0000
- ldr r5, _080C2C18 @ =0x0000ffff
- lsrs r0, 16
- movs r1, 0x80
- lsls r1, 13
- orrs r0, r1
- str r0, [sp]
- ldr r0, [r3, 0xC]
- adds r0, r2
- ldrh r1, [r0]
- subs r1, 0x10
- lsls r1, 16
- lsrs r1, 16
- ldr r0, [sp, 0x4]
- ands r0, r4
- orrs r0, r1
- ands r0, r5
- movs r1, 0xA0
- lsls r1, 16
- orrs r0, r1
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x2
- movs r2, 0
- bl sub_80C4C2C
- movs r0, 0x12
- movs r1, 0
- bl sub_80C4C74
- movs r0, 0x10
- bl sub_80C4C88
- movs r0, 0
- mov r1, sp
- bl sub_80C4CF0
- movs r0, 0
- movs r1, 0
- bl sub_80C4C9C
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C2C0C: .4byte gUnknown_20399E0
-_080C2C10: .4byte 0x00000404
-_080C2C14: .4byte 0xffff0000
-_080C2C18: .4byte 0x0000ffff
- thumb_func_end sub_80C2B9C
-
- thumb_func_start sub_80C2C1C
-sub_80C2C1C: @ 80C2C1C
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080C2C30 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r0, _080C2C34 @ =sub_80C2C7C
- str r0, [r1]
- bx lr
- .align 2, 0
-_080C2C30: .4byte gTasks
-_080C2C34: .4byte sub_80C2C7C
- thumb_func_end sub_80C2C1C
-
- thumb_func_start sub_80C2C38
-sub_80C2C38: @ 80C2C38
- push {lr}
- movs r0, 0
- movs r1, 0x4
- movs r2, 0x4
- bl sub_80C210C
- movs r0, 0x1
- movs r1, 0x5
- movs r2, 0x5
- bl sub_80C210C
- movs r0, 0x2
- movs r1, 0x6
- movs r2, 0x6
- bl sub_80C210C
- movs r0, 0x3
- movs r1, 0x7
- movs r2, 0x7
- bl sub_80C210C
- movs r0, 0x4
- movs r1, 0x8
- movs r2, 0x8
- bl sub_80C210C
- movs r0, 0x5
- movs r1, 0x9
- movs r2, 0x9
- bl sub_80C210C
- pop {r0}
- bx r0
- thumb_func_end sub_80C2C38
-
- thumb_func_start sub_80C2C7C
-sub_80C2C7C: @ 80C2C7C
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, _080C2CA0 @ =gUnknown_20399E0
- ldr r3, [r1]
- ldr r4, _080C2CA4 @ =0x00000ccf
- adds r0, r3, r4
- ldrb r0, [r0]
- adds r4, r1, 0
- cmp r0, 0x7
- bls _080C2C94
- b _080C2DFC
-_080C2C94:
- lsls r0, 2
- ldr r1, _080C2CA8 @ =_080C2CAC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080C2CA0: .4byte gUnknown_20399E0
-_080C2CA4: .4byte 0x00000ccf
-_080C2CA8: .4byte _080C2CAC
- .align 2, 0
-_080C2CAC:
- .4byte _080C2CCC
- .4byte _080C2CF4
- .4byte _080C2CFA
- .4byte _080C2D1C
- .4byte _080C2D6C
- .4byte _080C2D84
- .4byte _080C2DB8
- .4byte _080C2DD8
-_080C2CCC:
- movs r0, 0x1
- bl sub_80C4ED0
- movs r0, 0x3
- movs r1, 0x3
- bl CopyWindowToVram
- movs r0, 0x4
- movs r1, 0x3
- bl CopyWindowToVram
- ldr r0, _080C2CEC @ =gUnknown_20399E0
- ldr r1, [r0]
- ldr r0, _080C2CF0 @ =0x00000ccf
- adds r1, r0
- b _080C2DEC
- .align 2, 0
-_080C2CEC: .4byte gUnknown_20399E0
-_080C2CF0: .4byte 0x00000ccf
-_080C2CF4:
- bl sub_80C2C38
- b _080C2DE4
-_080C2CFA:
- ldr r0, _080C2D10 @ =gUnknown_83EF2DC
- movs r1, 0
- movs r2, 0xA0
- bl LoadPalette
- ldr r0, _080C2D14 @ =gUnknown_20399E0
- ldr r1, [r0]
- ldr r3, _080C2D18 @ =0x00000ccf
- adds r1, r3
- b _080C2DEC
- .align 2, 0
-_080C2D10: .4byte gUnknown_83EF2DC
-_080C2D14: .4byte gUnknown_20399E0
-_080C2D18: .4byte 0x00000ccf
-_080C2D1C:
- movs r0, 0x6
- movs r1, 0
- bl sub_80C22C4
- movs r0, 0x1
- bl sub_80C4324
- movs r0, 0x1
- bl sub_80C3154
- movs r0, 0xFF
- movs r1, 0x19
- movs r2, 0x1
- bl sub_80C4960
- movs r0, 0xFF
- movs r1, 0x19
- movs r2, 0x1
- bl sub_80C48BC
- ldr r1, _080C2D64 @ =gUnknown_20399E0
- ldr r0, [r1]
- ldr r4, _080C2D68 @ =0x00000cce
- adds r0, r4
- movs r2, 0
- strb r2, [r0]
- ldr r0, [r1]
- movs r3, 0xCD
- lsls r3, 4
- adds r0, r3
- strb r2, [r0]
- ldr r1, [r1]
- adds r4, 0x1
- adds r1, r4
- b _080C2DEC
- .align 2, 0
-_080C2D64: .4byte gUnknown_20399E0
-_080C2D68: .4byte 0x00000cce
-_080C2D6C:
- bl sub_80C253C
- ldr r0, _080C2D7C @ =gUnknown_20399E0
- ldr r1, [r0]
- ldr r0, _080C2D80 @ =0x00000ccf
- adds r1, r0
- b _080C2DEC
- .align 2, 0
-_080C2D7C: .4byte gUnknown_20399E0
-_080C2D80: .4byte 0x00000ccf
-_080C2D84:
- ldr r0, [r4]
- movs r2, 0xCD
- lsls r2, 4
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0xF
- bne _080C2DA4
- ldrb r0, [r1]
- bl sub_80C4C48
- ldr r1, [r4]
- ldr r3, _080C2DA0 @ =0x00000ccf
- adds r1, r3
- b _080C2DEC
- .align 2, 0
-_080C2DA0: .4byte 0x00000ccf
-_080C2DA4:
- adds r0, 0x1
- strb r0, [r1]
- ldr r0, [r4]
- movs r4, 0xCD
- lsls r4, 4
- adds r0, r4
- ldrb r0, [r0]
- bl sub_80C4C48
- b _080C2E0E
-_080C2DB8:
- bl sub_80C2B9C
- bl sub_80C2B48
- movs r0, 0xF3
- bl PlaySE
- ldr r0, _080C2DD0 @ =gUnknown_20399E0
- ldr r1, [r0]
- ldr r0, _080C2DD4 @ =0x00000ccf
- adds r1, r0
- b _080C2DEC
- .align 2, 0
-_080C2DD0: .4byte gUnknown_20399E0
-_080C2DD4: .4byte 0x00000ccf
-_080C2DD8:
- bl sub_80C2E1C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080C2E0E
-_080C2DE4:
- ldr r0, _080C2DF4 @ =gUnknown_20399E0
- ldr r1, [r0]
- ldr r2, _080C2DF8 @ =0x00000ccf
- adds r1, r2
-_080C2DEC:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080C2E0E
- .align 2, 0
-_080C2DF4: .4byte gUnknown_20399E0
-_080C2DF8: .4byte 0x00000ccf
-_080C2DFC:
- ldr r1, _080C2E14 @ =gTasks
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r1
- ldr r4, _080C2E18 @ =0x00000cc8
- adds r1, r3, r4
- ldr r1, [r1]
- str r1, [r0]
-_080C2E0E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C2E14: .4byte gTasks
-_080C2E18: .4byte 0x00000cc8
- thumb_func_end sub_80C2C7C
-
- thumb_func_start sub_80C2E1C
-sub_80C2E1C: @ 80C2E1C
- push {r4,r5,lr}
- bl sub_80C2B48
- ldr r0, _080C2E40 @ =gUnknown_20399E0
- ldr r2, [r0]
- ldr r0, [r2]
- movs r4, 0x80
- lsls r4, 3
- adds r0, r4
- ldr r1, [r0]
- ldrh r3, [r1, 0x20]
- movs r5, 0x20
- ldrsh r0, [r1, r5]
- cmp r0, 0x68
- bne _080C2E44
- movs r0, 0x1
- b _080C2FB2
- .align 2, 0
-_080C2E40: .4byte gUnknown_20399E0
-_080C2E44:
- ldr r5, _080C2E90 @ =0x00000cce
- adds r0, r2, r5
- ldrb r0, [r0]
- cmp r0, 0x11
- bls _080C2E94
- adds r0, r3, 0x1
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x4]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- adds r0, 0x1
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x8]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- adds r0, 0x1
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0xC]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- subs r0, 0x1
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x10]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- subs r0, 0x1
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x14]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- subs r0, 0x1
- b _080C2FA0
- .align 2, 0
-_080C2E90: .4byte 0x00000cce
-_080C2E94:
- cmp r0, 0xE
- bls _080C2ED8
- adds r0, r3, 0x2
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x4]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- adds r0, 0x2
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x8]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- adds r0, 0x2
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0xC]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- subs r0, 0x2
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x10]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- subs r0, 0x2
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x14]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- subs r0, 0x2
- b _080C2FA0
-_080C2ED8:
- cmp r0, 0xA
- bls _080C2F1C
- adds r0, r3, 0x3
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x4]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- adds r0, 0x3
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x8]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- adds r0, 0x3
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0xC]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- subs r0, 0x3
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x10]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- subs r0, 0x3
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x14]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- subs r0, 0x3
- b _080C2FA0
-_080C2F1C:
- cmp r0, 0x6
- bls _080C2F60
- adds r0, r3, 0x5
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x4]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- adds r0, 0x5
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x8]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- adds r0, 0x5
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0xC]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- subs r0, 0x5
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x10]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- subs r0, 0x5
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x14]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- subs r0, 0x5
- b _080C2FA0
-_080C2F60:
- adds r0, r3, 0
- adds r0, 0x8
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x4]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- adds r0, 0x8
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x8]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- adds r0, 0x8
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0xC]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- subs r0, 0x8
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x10]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- subs r0, 0x8
- strh r0, [r1, 0x20]
- ldr r0, [r2, 0x14]
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x20]
- subs r0, 0x8
-_080C2FA0:
- strh r0, [r1, 0x20]
- ldr r0, _080C2FB8 @ =gUnknown_20399E0
- ldr r1, [r0]
- ldr r0, _080C2FBC @ =0x00000cce
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- movs r0, 0
-_080C2FB2:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080C2FB8: .4byte gUnknown_20399E0
-_080C2FBC: .4byte 0x00000cce
- thumb_func_end sub_80C2E1C
-
- thumb_func_start sub_80C2FC0
-sub_80C2FC0: @ 80C2FC0
- push {lr}
- adds r1, r0, 0
- ldr r0, _080C2FE8 @ =gUnknown_20399E4
- ldr r2, [r0]
- ldrh r0, [r2, 0xC]
- cmp r0, 0
- beq _080C2FEC
- ldrh r0, [r2, 0x8]
- ldrh r3, [r1, 0x20]
- adds r0, r3
- strh r0, [r1, 0x20]
- ldrh r0, [r2, 0xA]
- ldrh r3, [r1, 0x22]
- adds r0, r3
- strh r0, [r1, 0x22]
- ldrh r0, [r2, 0xC]
- subs r0, 0x1
- strh r0, [r2, 0xC]
- b _080C3004
- .align 2, 0
-_080C2FE8: .4byte gUnknown_20399E4
-_080C2FEC:
- ldr r1, [r2, 0x1C]
- movs r3, 0
- ldrsh r0, [r2, r3]
- lsls r0, 3
- adds r0, 0x24
- strh r0, [r1, 0x20]
- ldr r1, [r2, 0x1C]
- movs r3, 0x2
- ldrsh r0, [r2, r3]
- lsls r0, 3
- adds r0, 0x24
- strh r0, [r1, 0x22]
-_080C3004:
- pop {r0}
- bx r0
- thumb_func_end sub_80C2FC0
-
- thumb_func_start sub_80C3008
-sub_80C3008: @ 80C3008
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- ldr r6, _080C3090 @ =gUnknown_20399E4
- movs r0, 0x92
- lsls r0, 1
- bl AllocZeroed
- adds r1, r0, 0
- str r1, [r6]
- ldr r0, _080C3094 @ =gUnknown_83EF4E0
- adds r1, 0x24
- bl LZ77UnCompWram
- ldr r0, [r6]
- strh r4, [r0, 0x20]
- strh r5, [r0, 0x22]
- bl sub_80C3D40
- ldr r1, [r6]
- movs r2, 0
- ldrsh r0, [r1, r2]
- lsls r0, 3
- adds r0, 0x24
- strh r0, [r1, 0x4]
- movs r3, 0x2
- ldrsh r0, [r1, r3]
- lsls r0, 3
- adds r0, 0x24
- strh r0, [r1, 0x6]
- ldr r0, _080C3098 @ =sub_80C31C0
- str r0, [r1, 0x10]
- ldrb r0, [r1, 0x14]
- bl sub_80C35DC
- ldr r1, [r6]
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0x16]
- bl sub_80C0E20
- lsls r0, 24
- lsrs r0, 24
- ldr r1, [r6]
- movs r4, 0x2
- ldrsh r2, [r1, r4]
- movs r4, 0
- ldrsh r3, [r1, r4]
- movs r1, 0x1
- bl sub_80C4164
- lsls r0, 24
- lsrs r0, 24
- bl sub_80C3878
- ldr r1, [r6]
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0x18]
- bl sub_80C309C
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080C3090: .4byte gUnknown_20399E4
-_080C3094: .4byte gUnknown_83EF4E0
-_080C3098: .4byte sub_80C31C0
- thumb_func_end sub_80C3008
-
- thumb_func_start sub_80C309C
-sub_80C309C: @ 80C309C
- push {r4-r6,lr}
- sub sp, 0x40
- ldr r6, _080C3134 @ =gUnknown_20399E4
- ldr r2, [r6]
- adds r0, r2, 0
- adds r0, 0x24
- str r0, [sp, 0x30]
- movs r1, 0x80
- lsls r1, 1
- add r5, sp, 0x30
- str r1, [r5, 0x4]
- ldrh r0, [r2, 0x20]
- lsls r0, 16
- orrs r0, r1
- str r0, [r5, 0x4]
- ldr r0, _080C3138 @ =gUnknown_83EF25C
- str r0, [sp, 0x38]
- ldrh r3, [r2, 0x22]
- ldr r1, _080C313C @ =0xffff0000
- add r4, sp, 0x38
- ldr r0, [r4, 0x4]
- ands r0, r1
- orrs r0, r3
- str r0, [r4, 0x4]
- ldrh r0, [r2, 0x20]
- add r1, sp, 0x18
- movs r3, 0
- strh r0, [r1]
- ldrh r2, [r2, 0x22]
- mov r0, sp
- adds r0, 0x1A
- strh r2, [r0]
- ldr r0, _080C3140 @ =gUnknown_83F1C3C
- str r0, [sp, 0x1C]
- ldr r0, _080C3144 @ =gUnknown_83F1C50
- str r0, [sp, 0x20]
- str r3, [sp, 0x24]
- ldr r0, _080C3148 @ =gDummySpriteAffineAnimTable
- str r0, [sp, 0x28]
- ldr r0, _080C314C @ =sub_80C2FC0
- str r0, [sp, 0x2C]
- mov r0, sp
- movs r2, 0x18
- bl memcpy
- adds r0, r5, 0
- bl LoadSpriteSheet
- adds r0, r4, 0
- bl LoadSpritePalette
- ldr r0, [r6]
- movs r2, 0x4
- ldrsh r1, [r0, r2]
- movs r3, 0x6
- ldrsh r2, [r0, r3]
- mov r0, sp
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r2, [r6]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, _080C3150 @ =gSprites
- adds r1, r0
- str r1, [r2, 0x1C]
- movs r0, 0x1
- bl sub_80C3154
- add sp, 0x40
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080C3134: .4byte gUnknown_20399E4
-_080C3138: .4byte gUnknown_83EF25C
-_080C313C: .4byte 0xffff0000
-_080C3140: .4byte gUnknown_83F1C3C
-_080C3144: .4byte gUnknown_83F1C50
-_080C3148: .4byte gDummySpriteAffineAnimTable
-_080C314C: .4byte sub_80C2FC0
-_080C3150: .4byte gSprites
- thumb_func_end sub_80C309C
-
- thumb_func_start sub_80C3154
-sub_80C3154: @ 80C3154
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080C3174 @ =gUnknown_20399E4
- ldr r1, [r1]
- ldr r2, [r1, 0x1C]
- adds r2, 0x3E
- movs r1, 0x1
- ands r0, r1
- lsls r0, 2
- ldrb r3, [r2]
- movs r1, 0x5
- negs r1, r1
- ands r1, r3
- orrs r1, r0
- strb r1, [r2]
- bx lr
- .align 2, 0
-_080C3174: .4byte gUnknown_20399E4
- thumb_func_end sub_80C3154
-
- thumb_func_start sub_80C3178
-sub_80C3178: @ 80C3178
- ldr r0, _080C3184 @ =gUnknown_20399E4
- ldr r1, [r0]
- movs r0, 0
- strb r0, [r1, 0xE]
- bx lr
- .align 2, 0
-_080C3184: .4byte gUnknown_20399E4
- thumb_func_end sub_80C3178
-
- thumb_func_start sub_80C3188
-sub_80C3188: @ 80C3188
- push {r4,lr}
- ldr r4, _080C31BC @ =gUnknown_20399E4
- ldr r0, [r4]
- ldr r0, [r0, 0x1C]
- cmp r0, 0
- beq _080C31A8
- bl DestroySprite
- ldr r0, [r4]
- ldrh r0, [r0, 0x20]
- bl FreeSpriteTilesByTag
- ldr r0, [r4]
- ldrh r0, [r0, 0x22]
- bl FreeSpritePaletteByTag
-_080C31A8:
- ldr r0, [r4]
- cmp r0, 0
- beq _080C31B6
- bl Free
- movs r0, 0
- str r0, [r4]
-_080C31B6:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C31BC: .4byte gUnknown_20399E4
- thumb_func_end sub_80C3188
-
- thumb_func_start sub_80C31C0
-sub_80C31C0: @ 80C31C0
- push {r4-r6,lr}
- movs r5, 0
- ldr r3, _080C3278 @ =gUnknown_20399E4
- ldr r4, [r3]
- strh r5, [r4, 0x8]
- strh r5, [r4, 0xA]
- ldr r2, _080C327C @ =gMain
- ldrh r1, [r2, 0x2C]
- movs r0, 0x40
- ands r0, r1
- adds r6, r3, 0
- cmp r0, 0
- beq _080C31E8
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- cmp r0, 0
- ble _080C31E8
- ldr r0, _080C3280 @ =0x0000fffe
- strh r0, [r4, 0xA]
- movs r5, 0x1
-_080C31E8:
- ldrh r1, [r2, 0x2C]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080C3202
- ldr r1, [r6]
- movs r3, 0x2
- ldrsh r0, [r1, r3]
- cmp r0, 0xD
- bgt _080C3202
- movs r0, 0x2
- strh r0, [r1, 0xA]
- movs r5, 0x1
-_080C3202:
- ldrh r1, [r2, 0x2C]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080C321C
- ldr r1, [r6]
- movs r3, 0
- ldrsh r0, [r1, r3]
- cmp r0, 0x14
- bgt _080C321C
- movs r0, 0x2
- strh r0, [r1, 0x8]
- movs r5, 0x1
-_080C321C:
- ldrh r1, [r2, 0x2C]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080C3236
- ldr r1, [r6]
- movs r3, 0
- ldrsh r0, [r1, r3]
- cmp r0, 0
- ble _080C3236
- ldr r0, _080C3280 @ =0x0000fffe
- strh r0, [r1, 0x8]
- movs r5, 0x1
-_080C3236:
- ldrh r3, [r2, 0x2E]
- movs r0, 0x1
- ands r0, r3
- cmp r0, 0
- beq _080C328C
- movs r5, 0x4
- ldr r0, [r6]
- ldr r1, [r0]
- ldr r0, _080C3284 @ =0x000d0015
- cmp r1, r0
- bne _080C3254
- movs r0, 0xF0
- bl PlaySE
- movs r5, 0x6
-_080C3254:
- ldr r0, [r6]
- ldr r1, [r0]
- ldr r0, _080C3288 @ =0x000b0015
- cmp r1, r0
- bne _080C331A
- movs r0, 0
- bl sub_80C0E04
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080C331A
- movs r0, 0xF0
- bl PlaySE
- movs r5, 0x5
- b _080C331A
- .align 2, 0
-_080C3278: .4byte gUnknown_20399E4
-_080C327C: .4byte gMain
-_080C3280: .4byte 0x0000fffe
-_080C3284: .4byte 0x000d0015
-_080C3288: .4byte 0x000b0015
-_080C328C:
- movs r0, 0x2
- ands r0, r3
- cmp r0, 0
- bne _080C3318
- ldrh r1, [r2, 0x30]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _080C3300
- bl sub_80C3418
- bl sub_80C0E20
- lsls r0, 24
- lsrs r0, 24
- ldr r4, _080C32FC @ =gUnknown_20399E4
- ldr r1, [r4]
- movs r5, 0x2
- ldrsh r2, [r1, r5]
- movs r5, 0
- ldrsh r3, [r1, r5]
- movs r1, 0
- bl sub_80C4164
- ldr r1, [r4]
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0x14]
- bl sub_80C35DC
- ldr r1, [r4]
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0x16]
- bl sub_80C0E20
- lsls r0, 24
- lsrs r0, 24
- ldr r1, [r4]
- movs r3, 0x2
- ldrsh r2, [r1, r3]
- movs r5, 0
- ldrsh r3, [r1, r5]
- movs r1, 0x1
- bl sub_80C4164
- lsls r0, 24
- lsrs r0, 24
- bl sub_80C3878
- ldr r1, [r4]
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0x18]
- movs r0, 0x3
- b _080C332C
- .align 2, 0
-_080C32FC: .4byte gUnknown_20399E4
-_080C3300:
- movs r0, 0x4
- ands r0, r3
- cmp r0, 0
- beq _080C331A
- ldr r0, _080C3334 @ =gUnknown_20399D4
- ldr r0, [r0]
- ldr r1, _080C3338 @ =0x000047bc
- adds r0, r1
- ldr r1, [r0]
- ldr r0, _080C333C @ =CB2_ReturnToField
- cmp r1, r0
- bne _080C331A
-_080C3318:
- movs r5, 0x6
-_080C331A:
- cmp r5, 0x1
- bne _080C332A
- ldr r0, _080C3340 @ =gUnknown_20399E4
- ldr r1, [r0]
- movs r0, 0x4
- strh r0, [r1, 0xC]
- ldr r0, _080C3344 @ =sub_80C3348
- str r0, [r1, 0x10]
-_080C332A:
- adds r0, r5, 0
-_080C332C:
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080C3334: .4byte gUnknown_20399D4
-_080C3338: .4byte 0x000047bc
-_080C333C: .4byte CB2_ReturnToField
-_080C3340: .4byte gUnknown_20399E4
-_080C3344: .4byte sub_80C3348
- thumb_func_end sub_80C31C0
-
- thumb_func_start sub_80C3348
-sub_80C3348: @ 80C3348
- push {r4,r5,lr}
- ldr r4, _080C3358 @ =gUnknown_20399E4
- ldr r1, [r4]
- ldrh r0, [r1, 0xC]
- cmp r0, 0
- beq _080C335C
- movs r0, 0x2
- b _080C33F4
- .align 2, 0
-_080C3358: .4byte gUnknown_20399E4
-_080C335C:
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- cmp r0, 0
- ble _080C336A
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080C336A:
- ldr r1, [r4]
- movs r3, 0x8
- ldrsh r0, [r1, r3]
- cmp r0, 0
- bge _080C337A
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
-_080C337A:
- ldr r1, [r4]
- movs r5, 0xA
- ldrsh r0, [r1, r5]
- cmp r0, 0
- ble _080C338A
- ldrh r0, [r1, 0x2]
- adds r0, 0x1
- strh r0, [r1, 0x2]
-_080C338A:
- ldr r1, [r4]
- movs r2, 0xA
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bge _080C339A
- ldrh r0, [r1, 0x2]
- subs r0, 0x1
- strh r0, [r1, 0x2]
-_080C339A:
- bl sub_80C0E20
- lsls r0, 24
- lsrs r0, 24
- ldr r1, [r4]
- movs r3, 0x2
- ldrsh r2, [r1, r3]
- movs r5, 0
- ldrsh r3, [r1, r5]
- movs r1, 0
- bl sub_80C4164
- ldr r1, [r4]
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0x14]
- bl sub_80C35DC
- ldr r1, [r4]
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0x16]
- bl sub_80C0E20
- lsls r0, 24
- lsrs r0, 24
- ldr r1, [r4]
- movs r3, 0x2
- ldrsh r2, [r1, r3]
- movs r5, 0
- ldrsh r3, [r1, r5]
- movs r1, 0x1
- bl sub_80C4164
- lsls r0, 24
- lsrs r0, 24
- bl sub_80C3878
- ldr r1, [r4]
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0x18]
- ldr r0, _080C33FC @ =sub_80C31C0
- str r0, [r1, 0x10]
- movs r0, 0x3
-_080C33F4:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080C33FC: .4byte sub_80C31C0
- thumb_func_end sub_80C3348
-
- thumb_func_start sub_80C3400
-sub_80C3400: @ 80C3400
- push {lr}
- ldr r0, _080C3414 @ =gUnknown_20399E4
- ldr r0, [r0]
- ldr r0, [r0, 0x10]
- bl _call_via_r0
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .align 2, 0
-_080C3414: .4byte gUnknown_20399E4
- thumb_func_end sub_80C3400
-
thumb_func_start sub_80C3418
sub_80C3418: @ 80C3418
push {r4,r5,lr}