mirror of
https://github.com/pret/pokeruby.git
synced 2026-08-09 10:57:40 -05:00
15733 lines
266 KiB
ArmAsm
15733 lines
266 KiB
ArmAsm
.include "constants/gba_constants.inc"
|
|
.include "constants/species_constants.inc"
|
|
.include "asm/macros.inc"
|
|
|
|
.syntax unified
|
|
|
|
.text
|
|
|
|
thumb_func_start nullsub_89
|
|
nullsub_89: @ 80AB1AC
|
|
bx lr
|
|
thumb_func_end nullsub_89
|
|
|
|
thumb_func_start sub_80AB1B0
|
|
sub_80AB1B0: @ 80AB1B0
|
|
ldr r1, _080AB1B8 @ =gUnknown_0203869A
|
|
movs r0, 0
|
|
strb r0, [r1]
|
|
bx lr
|
|
.align 2, 0
|
|
_080AB1B8: .4byte gUnknown_0203869A
|
|
thumb_func_end sub_80AB1B0
|
|
|
|
thumb_func_start sub_80AB1BC
|
|
sub_80AB1BC: @ 80AB1BC
|
|
push {r4-r6,lr}
|
|
movs r6, 0x80
|
|
lsls r6, 19
|
|
movs r0, 0x40
|
|
strh r0, [r6]
|
|
ldr r4, _080AB260 @ =0x04000208
|
|
ldrh r3, [r4]
|
|
movs r2, 0
|
|
strh r2, [r4]
|
|
ldr r5, _080AB264 @ =0x04000200
|
|
ldrh r0, [r5]
|
|
movs r1, 0x1
|
|
orrs r0, r1
|
|
strh r0, [r5]
|
|
strh r3, [r4]
|
|
ldr r1, _080AB268 @ =REG_DISPSTAT
|
|
movs r0, 0x8
|
|
strh r0, [r1]
|
|
adds r1, 0x4
|
|
movs r3, 0x98
|
|
lsls r3, 8
|
|
adds r0, r3, 0
|
|
strh r0, [r1]
|
|
adds r1, 0x2
|
|
ldr r3, _080AB26C @ =0x00009e09
|
|
adds r0, r3, 0
|
|
strh r0, [r1]
|
|
adds r1, 0x2
|
|
movs r3, 0x9C
|
|
lsls r3, 8
|
|
adds r0, r3, 0
|
|
strh r0, [r1]
|
|
adds r1, 0x2
|
|
ldr r3, _080AB270 @ =0x00003a03
|
|
adds r0, r3, 0
|
|
strh r0, [r1]
|
|
ldr r0, _080AB274 @ =REG_BLDCNT
|
|
strh r2, [r0]
|
|
adds r0, 0x2
|
|
strh r2, [r0]
|
|
adds r0, 0x2
|
|
strh r2, [r0]
|
|
subs r0, 0xC
|
|
ldr r3, _080AB278 @ =0x00003f3f
|
|
adds r1, r3, 0
|
|
strh r1, [r0]
|
|
adds r0, 0x2
|
|
strh r1, [r0]
|
|
ldrh r0, [r6]
|
|
movs r3, 0xFE
|
|
lsls r3, 7
|
|
adds r1, r3, 0
|
|
orrs r0, r1
|
|
strh r0, [r6]
|
|
ldr r0, _080AB27C @ =gUnknown_030042A4
|
|
strh r2, [r0]
|
|
ldr r0, _080AB280 @ =gUnknown_030042A0
|
|
strh r2, [r0]
|
|
ldr r0, _080AB284 @ =gUnknown_030042C0
|
|
strh r2, [r0]
|
|
ldr r0, _080AB288 @ =gUnknown_030041B4
|
|
strh r2, [r0]
|
|
ldr r0, _080AB28C @ =gUnknown_03004288
|
|
strh r2, [r0]
|
|
ldr r0, _080AB290 @ =gUnknown_03004280
|
|
strh r2, [r0]
|
|
ldr r0, _080AB294 @ =gUnknown_030041B0
|
|
strh r2, [r0]
|
|
ldr r0, _080AB298 @ =gUnknown_030041B8
|
|
strh r2, [r0]
|
|
ldr r0, _080AB29C @ =gUnknown_030042C4
|
|
strh r2, [r0]
|
|
ldr r0, _080AB2A0 @ =gUnknown_03004240
|
|
strh r2, [r0]
|
|
ldr r0, _080AB2A4 @ =gUnknown_03004200
|
|
strh r2, [r0]
|
|
ldr r0, _080AB2A8 @ =gUnknown_03004244
|
|
strh r2, [r0]
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AB260: .4byte 0x04000208
|
|
_080AB264: .4byte 0x04000200
|
|
_080AB268: .4byte REG_DISPSTAT
|
|
_080AB26C: .4byte 0x00009e09
|
|
_080AB270: .4byte 0x00003a03
|
|
_080AB274: .4byte REG_BLDCNT
|
|
_080AB278: .4byte 0x00003f3f
|
|
_080AB27C: .4byte gUnknown_030042A4
|
|
_080AB280: .4byte gUnknown_030042A0
|
|
_080AB284: .4byte gUnknown_030042C0
|
|
_080AB288: .4byte gUnknown_030041B4
|
|
_080AB28C: .4byte gUnknown_03004288
|
|
_080AB290: .4byte gUnknown_03004280
|
|
_080AB294: .4byte gUnknown_030041B0
|
|
_080AB298: .4byte gUnknown_030041B8
|
|
_080AB29C: .4byte gUnknown_030042C4
|
|
_080AB2A0: .4byte gUnknown_03004240
|
|
_080AB2A4: .4byte gUnknown_03004200
|
|
_080AB2A8: .4byte gUnknown_03004244
|
|
thumb_func_end sub_80AB1BC
|
|
|
|
thumb_func_start sub_80AB2AC
|
|
sub_80AB2AC: @ 80AB2AC
|
|
push {r4,r5,lr}
|
|
ldr r0, _080AB300 @ =gContestMiscGfx
|
|
movs r1, 0xC0
|
|
lsls r1, 19
|
|
bl LZDecompressVram
|
|
ldr r0, _080AB304 @ =gContestAudienceGfx
|
|
ldr r1, _080AB308 @ =0x06002000
|
|
bl LZDecompressVram
|
|
ldr r0, _080AB30C @ =gUnknown_08D1725C
|
|
ldr r1, _080AB310 @ =0x0600d000
|
|
bl LZDecompressVram
|
|
ldr r0, _080AB314 @ =gUnknown_08D17144
|
|
movs r2, 0x80
|
|
lsls r2, 2
|
|
movs r1, 0
|
|
bl LoadCompressedPalette
|
|
bl sub_80AB350
|
|
movs r4, 0
|
|
movs r5, 0xA0
|
|
_080AB2DC:
|
|
ldr r0, _080AB318 @ =0x02018004
|
|
adds r0, r5, r0
|
|
ldr r1, _080AB31C @ =gUnknown_02038696
|
|
adds r1, r4, r1
|
|
ldrb r1, [r1]
|
|
adds r1, 0x5
|
|
lsls r1, 4
|
|
movs r2, 0x20
|
|
bl LoadPalette
|
|
adds r5, 0x20
|
|
adds r4, 0x1
|
|
cmp r4, 0x3
|
|
ble _080AB2DC
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AB300: .4byte gContestMiscGfx
|
|
_080AB304: .4byte gContestAudienceGfx
|
|
_080AB308: .4byte 0x06002000
|
|
_080AB30C: .4byte gUnknown_08D1725C
|
|
_080AB310: .4byte 0x0600d000
|
|
_080AB314: .4byte gUnknown_08D17144
|
|
_080AB318: .4byte 0x02018004
|
|
_080AB31C: .4byte gUnknown_02038696
|
|
thumb_func_end sub_80AB2AC
|
|
|
|
thumb_func_start sub_80AB320
|
|
sub_80AB320: @ 80AB320
|
|
push {r4,lr}
|
|
ldr r4, _080AB340 @ =gWindowConfig_81E6FD8
|
|
adds r0, r4, 0
|
|
bl SetUpWindowConfig
|
|
ldr r0, _080AB344 @ =gUnknown_03004210
|
|
adds r1, r4, 0
|
|
bl InitWindowFromConfig
|
|
ldr r0, _080AB348 @ =gMenuWindow
|
|
ldr r1, _080AB34C @ =gWindowConfig_81E6FF4
|
|
bl InitWindowFromConfig
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AB340: .4byte gWindowConfig_81E6FD8
|
|
_080AB344: .4byte gUnknown_03004210
|
|
_080AB348: .4byte gMenuWindow
|
|
_080AB34C: .4byte gWindowConfig_81E6FF4
|
|
thumb_func_end sub_80AB320
|
|
|
|
thumb_func_start sub_80AB350
|
|
sub_80AB350: @ 80AB350
|
|
push {r4,lr}
|
|
ldr r0, _080AB38C @ =gWindowConfig_81E6FD8
|
|
bl LoadFontDefaultPalette
|
|
movs r0, 0
|
|
movs r1, 0
|
|
movs r2, 0x2
|
|
bl FillPalette
|
|
movs r4, 0xA
|
|
_080AB364:
|
|
adds r1, r4, 0
|
|
adds r1, 0xF0
|
|
ldr r0, _080AB390 @ =gPlttBufferUnfaded + 0x1E2
|
|
movs r2, 0x2
|
|
bl LoadPalette
|
|
adds r0, r4, 0x1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0xD
|
|
bls _080AB364
|
|
ldr r0, _080AB394 @ =0x00007e3f
|
|
movs r1, 0xF3
|
|
movs r2, 0x2
|
|
bl FillPalette
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AB38C: .4byte gWindowConfig_81E6FD8
|
|
_080AB390: .4byte gPlttBufferUnfaded + 0x1E2
|
|
_080AB394: .4byte 0x00007e3f
|
|
thumb_func_end sub_80AB350
|
|
|
|
thumb_func_start sub_80AB398
|
|
sub_80AB398: @ 80AB398
|
|
push {r4-r6,lr}
|
|
ldr r4, _080AB468 @ =0x02019204
|
|
adds r0, r4, 0
|
|
movs r1, 0
|
|
movs r2, 0x5C
|
|
bl memset
|
|
movs r5, 0
|
|
adds r4, 0x2
|
|
movs r2, 0xFF
|
|
_080AB3AC:
|
|
adds r1, r5, r4
|
|
ldrb r0, [r1]
|
|
orrs r0, r2
|
|
strb r0, [r1]
|
|
adds r5, 0x1
|
|
cmp r5, 0x3
|
|
ble _080AB3AC
|
|
ldr r4, _080AB46C @ =0x02019260
|
|
movs r5, 0x3
|
|
_080AB3BE:
|
|
adds r0, r4, 0
|
|
movs r1, 0
|
|
movs r2, 0x1C
|
|
bl memset
|
|
adds r4, 0x1C
|
|
subs r5, 0x1
|
|
cmp r5, 0
|
|
bge _080AB3BE
|
|
ldr r4, _080AB470 @ =0x020192d0
|
|
movs r6, 0x4
|
|
negs r6, r6
|
|
movs r3, 0xFF
|
|
adds r2, r4, 0
|
|
subs r2, 0x65
|
|
movs r5, 0x3
|
|
_080AB3DE:
|
|
ldrb r1, [r2]
|
|
adds r0, r6, 0
|
|
ands r0, r1
|
|
strb r0, [r2]
|
|
ldrb r0, [r2, 0x8]
|
|
orrs r0, r3
|
|
strb r0, [r2, 0x8]
|
|
ldrb r0, [r2, 0x9]
|
|
orrs r0, r3
|
|
strb r0, [r2, 0x9]
|
|
adds r2, 0x1C
|
|
subs r5, 0x1
|
|
cmp r5, 0
|
|
bge _080AB3DE
|
|
adds r0, r4, 0
|
|
movs r1, 0
|
|
movs r2, 0x14
|
|
bl memset
|
|
adds r0, r4, 0
|
|
adds r0, 0x14
|
|
movs r1, 0
|
|
movs r2, 0x44
|
|
bl memset
|
|
adds r0, r4, 0
|
|
adds r0, 0x58
|
|
movs r1, 0
|
|
movs r2, 0x4
|
|
bl memset
|
|
adds r0, r4, 0
|
|
adds r0, 0x68
|
|
movs r1, 0
|
|
movs r2, 0x10
|
|
bl memset
|
|
ldr r0, _080AB474 @ =gUnknown_0203869A
|
|
ldrb r1, [r0]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _080AB43A
|
|
movs r0, 0
|
|
bl sub_80B0F28
|
|
_080AB43A:
|
|
movs r5, 0
|
|
movs r6, 0xFF
|
|
adds r3, r4, 0
|
|
subs r3, 0xB8
|
|
adds r2, r4, 0
|
|
subs r2, 0x57
|
|
ldr r4, _080AB478 @ =gUnknown_02038696
|
|
_080AB448:
|
|
ldrb r0, [r2]
|
|
orrs r0, r6
|
|
strb r0, [r2]
|
|
adds r1, r3, r5
|
|
adds r0, r5, r4
|
|
ldrb r0, [r0]
|
|
strb r0, [r1]
|
|
adds r2, 0x1C
|
|
adds r5, 0x1
|
|
cmp r5, 0x3
|
|
ble _080AB448
|
|
bl sub_80B159C
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AB468: .4byte 0x02019204
|
|
_080AB46C: .4byte 0x02019260
|
|
_080AB470: .4byte 0x020192d0
|
|
_080AB474: .4byte gUnknown_0203869A
|
|
_080AB478: .4byte gUnknown_02038696
|
|
thumb_func_end sub_80AB398
|
|
|
|
thumb_func_start sub_80AB47C
|
|
sub_80AB47C: @ 80AB47C
|
|
push {r4-r7,lr}
|
|
sub sp, 0x4
|
|
ldr r0, _080AB498 @ =gMain
|
|
ldr r1, _080AB49C @ =0x0000043c
|
|
adds r4, r0, r1
|
|
ldrb r0, [r4]
|
|
cmp r0, 0x1
|
|
beq _080AB554
|
|
cmp r0, 0x1
|
|
bgt _080AB4A0
|
|
cmp r0, 0
|
|
beq _080AB4AA
|
|
b _080AB5AE
|
|
.align 2, 0
|
|
_080AB498: .4byte gMain
|
|
_080AB49C: .4byte 0x0000043c
|
|
_080AB4A0:
|
|
cmp r0, 0x2
|
|
beq _080AB55A
|
|
cmp r0, 0x3
|
|
beq _080AB578
|
|
b _080AB5AE
|
|
_080AB4AA:
|
|
movs r0, 0
|
|
bl SetVBlankCallback
|
|
bl sub_80AB320
|
|
bl sub_80AB1BC
|
|
bl dp12_8087EA4
|
|
bl ResetPaletteFade
|
|
ldr r0, _080AB538 @ =gPaletteFade
|
|
ldrb r1, [r0, 0x8]
|
|
movs r2, 0x80
|
|
orrs r1, r2
|
|
strb r1, [r0, 0x8]
|
|
movs r2, 0xC0
|
|
lsls r2, 19
|
|
movs r3, 0xC0
|
|
lsls r3, 9
|
|
movs r5, 0
|
|
ldr r1, _080AB53C @ =0x040000d4
|
|
movs r4, 0x80
|
|
lsls r4, 5
|
|
ldr r6, _080AB540 @ =0x85000400
|
|
movs r7, 0x85
|
|
lsls r7, 24
|
|
_080AB4E0:
|
|
str r5, [sp]
|
|
mov r0, sp
|
|
str r0, [r1]
|
|
str r2, [r1, 0x4]
|
|
str r6, [r1, 0x8]
|
|
ldr r0, [r1, 0x8]
|
|
adds r2, r4
|
|
subs r3, r4
|
|
cmp r3, r4
|
|
bhi _080AB4E0
|
|
str r5, [sp]
|
|
mov r0, sp
|
|
str r0, [r1]
|
|
str r2, [r1, 0x4]
|
|
lsrs r0, r3, 2
|
|
orrs r0, r7
|
|
str r0, [r1, 0x8]
|
|
ldr r0, [r1, 0x8]
|
|
bl ResetSpriteData
|
|
bl ResetTasks
|
|
bl FreeAllSpritePalettes
|
|
ldr r1, _080AB544 @ =gReservedSpritePaletteCount
|
|
movs r0, 0x4
|
|
strb r0, [r1]
|
|
ldr r0, _080AB548 @ =0x02000000
|
|
movs r1, 0xC0
|
|
lsls r1, 9
|
|
adds r0, r1
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
bl sub_8040710
|
|
bl sub_80AB398
|
|
ldr r1, _080AB54C @ =gMain
|
|
ldr r0, _080AB550 @ =0x0000043c
|
|
adds r1, r0
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
b _080AB5AE
|
|
.align 2, 0
|
|
_080AB538: .4byte gPaletteFade
|
|
_080AB53C: .4byte 0x040000d4
|
|
_080AB540: .4byte 0x85000400
|
|
_080AB544: .4byte gReservedSpritePaletteCount
|
|
_080AB548: .4byte 0x02000000
|
|
_080AB54C: .4byte gMain
|
|
_080AB550: .4byte 0x0000043c
|
|
_080AB554:
|
|
bl sub_80AB350
|
|
b _080AB56C
|
|
_080AB55A:
|
|
ldr r5, _080AB574 @ =0x0201925d
|
|
adds r0, r5, 0
|
|
bl sub_80AB70C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080AB5AE
|
|
movs r0, 0
|
|
strb r0, [r5]
|
|
_080AB56C:
|
|
ldrb r0, [r4]
|
|
adds r0, 0x1
|
|
strb r0, [r4]
|
|
b _080AB5AE
|
|
.align 2, 0
|
|
_080AB574: .4byte 0x0201925d
|
|
_080AB578:
|
|
bl sub_80B2184
|
|
ldr r0, _080AB5B8 @ =gUnknown_030042C0
|
|
movs r1, 0
|
|
strh r1, [r0]
|
|
ldr r0, _080AB5BC @ =gUnknown_030041B4
|
|
strh r1, [r0]
|
|
movs r0, 0x2
|
|
bl BeginFastPaletteFade
|
|
ldr r2, _080AB5C0 @ =gPaletteFade
|
|
ldrb r1, [r2, 0x8]
|
|
movs r0, 0x7F
|
|
ands r0, r1
|
|
strb r0, [r2, 0x8]
|
|
ldr r0, _080AB5C4 @ =sub_80ABAC4
|
|
bl SetVBlankCallback
|
|
ldr r0, _080AB5C8 @ =sub_80AB5D4
|
|
movs r1, 0xA
|
|
bl CreateTask
|
|
ldr r1, _080AB5CC @ =0x02019204
|
|
strb r0, [r1, 0x8]
|
|
ldr r0, _080AB5D0 @ =sub_80ABAAC
|
|
bl SetMainCallback2
|
|
_080AB5AE:
|
|
add sp, 0x4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AB5B8: .4byte gUnknown_030042C0
|
|
_080AB5BC: .4byte gUnknown_030041B4
|
|
_080AB5C0: .4byte gPaletteFade
|
|
_080AB5C4: .4byte sub_80ABAC4
|
|
_080AB5C8: .4byte sub_80AB5D4
|
|
_080AB5CC: .4byte 0x02019204
|
|
_080AB5D0: .4byte sub_80ABAAC
|
|
thumb_func_end sub_80AB47C
|
|
|
|
thumb_func_start sub_80AB5D4
|
|
sub_80AB5D4: @ 80AB5D4
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
ldr r0, _080AB5F8 @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _080AB5F4
|
|
ldr r0, _080AB5FC @ =gTasks
|
|
lsls r1, r2, 2
|
|
adds r1, r2
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldr r0, _080AB600 @ =sub_80AB604
|
|
str r0, [r1]
|
|
_080AB5F4:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AB5F8: .4byte gPaletteFade
|
|
_080AB5FC: .4byte gTasks
|
|
_080AB600: .4byte sub_80AB604
|
|
thumb_func_end sub_80AB5D4
|
|
|
|
thumb_func_start sub_80AB604
|
|
sub_80AB604: @ 80AB604
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
ldr r0, _080AB648 @ =gUnknown_0203869A
|
|
ldrb r1, [r0]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080AB65C
|
|
ldr r2, _080AB64C @ =gPaletteFade
|
|
ldrb r1, [r2, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _080AB66A
|
|
ldrb r1, [r2, 0x8]
|
|
movs r0, 0x7F
|
|
ands r0, r1
|
|
strb r0, [r2, 0x8]
|
|
bl sub_80AF860
|
|
ldr r0, _080AB650 @ =sub_80AB678
|
|
movs r1, 0
|
|
bl CreateTask
|
|
ldr r1, _080AB654 @ =gTasks
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _080AB658 @ =nullsub_89
|
|
str r1, [r0]
|
|
b _080AB66A
|
|
.align 2, 0
|
|
_080AB648: .4byte gUnknown_0203869A
|
|
_080AB64C: .4byte gPaletteFade
|
|
_080AB650: .4byte sub_80AB678
|
|
_080AB654: .4byte gTasks
|
|
_080AB658: .4byte nullsub_89
|
|
_080AB65C:
|
|
ldr r0, _080AB670 @ =gTasks
|
|
lsls r1, r4, 2
|
|
adds r1, r4
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldr r0, _080AB674 @ =sub_80AB960
|
|
str r0, [r1]
|
|
_080AB66A:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AB670: .4byte gTasks
|
|
_080AB674: .4byte sub_80AB960
|
|
thumb_func_end sub_80AB604
|
|
|
|
thumb_func_start sub_80AB678
|
|
sub_80AB678: @ 80AB678
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _080AB68C @ =sub_80C89DC
|
|
ldr r2, _080AB690 @ =sub_80AB694
|
|
bl SetTaskFuncWithFollowupFunc
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AB68C: .4byte sub_80C89DC
|
|
_080AB690: .4byte sub_80AB694
|
|
thumb_func_end sub_80AB678
|
|
|
|
thumb_func_start sub_80AB694
|
|
sub_80AB694: @ 80AB694
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
movs r3, 0x1
|
|
ldr r2, _080AB6AC @ =gTasks
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r1, r2
|
|
strh r3, [r1, 0x8]
|
|
ldr r0, _080AB6B0 @ =sub_80AB6B4
|
|
str r0, [r1]
|
|
bx lr
|
|
.align 2, 0
|
|
_080AB6AC: .4byte gTasks
|
|
_080AB6B0: .4byte sub_80AB6B4
|
|
thumb_func_end sub_80AB694
|
|
|
|
thumb_func_start sub_80AB6B4
|
|
sub_80AB6B4: @ 80AB6B4
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
ldr r5, _080AB6F8 @ =gTasks
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r5
|
|
ldrh r1, [r0, 0x8]
|
|
subs r1, 0x1
|
|
strh r1, [r0, 0x8]
|
|
lsls r1, 16
|
|
cmp r1, 0
|
|
bgt _080AB6F2
|
|
bl GetMultiplayerId
|
|
adds r0, r4, 0
|
|
bl DestroyTask
|
|
ldr r0, _080AB6FC @ =0x02019204
|
|
ldrb r1, [r0, 0x8]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r0, r5
|
|
ldr r1, _080AB700 @ =sub_80AB960
|
|
str r1, [r0]
|
|
ldr r1, _080AB704 @ =gRngValue
|
|
ldr r0, _080AB708 @ =gUnknown_03005D28
|
|
ldr r0, [r0]
|
|
str r0, [r1]
|
|
_080AB6F2:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AB6F8: .4byte gTasks
|
|
_080AB6FC: .4byte 0x02019204
|
|
_080AB700: .4byte sub_80AB960
|
|
_080AB704: .4byte gRngValue
|
|
_080AB708: .4byte gUnknown_03005D28
|
|
thumb_func_end sub_80AB6B4
|
|
|
|
thumb_func_start sub_80AB70C
|
|
sub_80AB70C: @ 80AB70C
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x44
|
|
mov r10, r0
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x6
|
|
bls _080AB722
|
|
b _080AB93C
|
|
_080AB722:
|
|
lsls r0, 2
|
|
ldr r1, _080AB72C @ =_080AB730
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080AB72C: .4byte _080AB730
|
|
.align 2, 0
|
|
_080AB730:
|
|
.4byte _080AB74C
|
|
.4byte _080AB7A0
|
|
.4byte _080AB7B0
|
|
.4byte _080AB800
|
|
.4byte _080AB814
|
|
.4byte _080AB844
|
|
.4byte _080AB8CC
|
|
_080AB74C:
|
|
ldr r0, _080AB794 @ =gPaletteFade
|
|
ldrb r1, [r0, 0x8]
|
|
movs r2, 0x80
|
|
orrs r1, r2
|
|
strb r1, [r0, 0x8]
|
|
movs r2, 0xC0
|
|
lsls r2, 19
|
|
movs r3, 0xC0
|
|
lsls r3, 9
|
|
add r5, sp, 0x40
|
|
movs r6, 0
|
|
ldr r1, _080AB798 @ =0x040000d4
|
|
movs r4, 0x80
|
|
lsls r4, 5
|
|
mov r8, r5
|
|
ldr r7, _080AB79C @ =0x85000400
|
|
movs r0, 0x85
|
|
lsls r0, 24
|
|
mov r9, r0
|
|
_080AB772:
|
|
str r6, [sp, 0x40]
|
|
mov r0, r8
|
|
str r0, [r1]
|
|
str r2, [r1, 0x4]
|
|
str r7, [r1, 0x8]
|
|
ldr r0, [r1, 0x8]
|
|
adds r2, r4
|
|
subs r3, r4
|
|
cmp r3, r4
|
|
bhi _080AB772
|
|
str r6, [sp, 0x40]
|
|
str r5, [r1]
|
|
str r2, [r1, 0x4]
|
|
lsrs r0, r3, 2
|
|
mov r2, r9
|
|
orrs r0, r2
|
|
b _080AB7E6
|
|
.align 2, 0
|
|
_080AB794: .4byte gPaletteFade
|
|
_080AB798: .4byte 0x040000d4
|
|
_080AB79C: .4byte 0x85000400
|
|
_080AB7A0:
|
|
ldr r0, _080AB7AC @ =gContestMiscGfx
|
|
movs r1, 0xC0
|
|
lsls r1, 19
|
|
bl LZDecompressVram
|
|
b _080AB946
|
|
.align 2, 0
|
|
_080AB7AC: .4byte gContestMiscGfx
|
|
_080AB7B0:
|
|
ldr r0, _080AB7EC @ =gContestAudienceGfx
|
|
ldr r4, _080AB7F0 @ =0x06002000
|
|
adds r1, r4, 0
|
|
bl LZDecompressVram
|
|
ldr r3, _080AB7F4 @ =0x02015800
|
|
movs r5, 0x80
|
|
lsls r5, 6
|
|
ldr r1, _080AB7F8 @ =0x040000d4
|
|
ldr r6, _080AB7FC @ =0x84000400
|
|
movs r2, 0x80
|
|
lsls r2, 5
|
|
movs r7, 0x84
|
|
lsls r7, 24
|
|
_080AB7CC:
|
|
str r4, [r1]
|
|
str r3, [r1, 0x4]
|
|
str r6, [r1, 0x8]
|
|
ldr r0, [r1, 0x8]
|
|
adds r4, r2
|
|
adds r3, r2
|
|
subs r5, r2
|
|
cmp r5, r2
|
|
bhi _080AB7CC
|
|
str r4, [r1]
|
|
str r3, [r1, 0x4]
|
|
lsrs r0, r5, 2
|
|
orrs r0, r7
|
|
_080AB7E6:
|
|
str r0, [r1, 0x8]
|
|
ldr r0, [r1, 0x8]
|
|
b _080AB946
|
|
.align 2, 0
|
|
_080AB7EC: .4byte gContestAudienceGfx
|
|
_080AB7F0: .4byte 0x06002000
|
|
_080AB7F4: .4byte 0x02015800
|
|
_080AB7F8: .4byte 0x040000d4
|
|
_080AB7FC: .4byte 0x84000400
|
|
_080AB800:
|
|
ldr r0, _080AB80C @ =gUnknown_08D1725C
|
|
ldr r1, _080AB810 @ =0x0600d000
|
|
bl LZDecompressVram
|
|
b _080AB946
|
|
.align 2, 0
|
|
_080AB80C: .4byte gUnknown_08D1725C
|
|
_080AB810: .4byte 0x0600d000
|
|
_080AB814:
|
|
ldr r0, _080AB830 @ =gUnknown_08D17424
|
|
ldr r4, _080AB834 @ =0x0600e000
|
|
adds r1, r4, 0
|
|
bl LZDecompressVram
|
|
ldr r1, _080AB838 @ =0x02018a04
|
|
ldr r0, _080AB83C @ =0x040000d4
|
|
str r4, [r0]
|
|
str r1, [r0, 0x4]
|
|
ldr r1, _080AB840 @ =0x84000200
|
|
str r1, [r0, 0x8]
|
|
ldr r0, [r0, 0x8]
|
|
b _080AB946
|
|
.align 2, 0
|
|
_080AB830: .4byte gUnknown_08D17424
|
|
_080AB834: .4byte 0x0600e000
|
|
_080AB838: .4byte 0x02018a04
|
|
_080AB83C: .4byte 0x040000d4
|
|
_080AB840: .4byte 0x84000200
|
|
_080AB844:
|
|
ldr r0, _080AB8AC @ =gUnknown_08D17144
|
|
movs r2, 0x80
|
|
lsls r2, 2
|
|
movs r1, 0
|
|
bl LoadCompressedPalette
|
|
ldr r5, _080AB8B0 @ =gPlttBufferUnfaded + 0x100
|
|
ldr r6, _080AB8B4 @ =REG_BG0CNT
|
|
adds r0, r5, 0
|
|
mov r1, sp
|
|
adds r2, r6, 0
|
|
bl CpuSet
|
|
ldr r0, _080AB8B8 @ =gUnknown_02038695
|
|
mov r9, r0
|
|
ldrb r0, [r0]
|
|
adds r0, 0x5
|
|
lsls r0, 5
|
|
ldr r1, _080AB8BC @ =0xffffff00
|
|
adds r1, r5
|
|
mov r8, r1
|
|
add r0, r8
|
|
add r4, sp, 0x20
|
|
adds r1, r4, 0
|
|
adds r2, r6, 0
|
|
bl CpuSet
|
|
adds r0, r4, 0
|
|
adds r1, r5, 0
|
|
adds r2, r6, 0
|
|
bl CpuSet
|
|
mov r2, r9
|
|
ldrb r1, [r2]
|
|
adds r1, 0x5
|
|
lsls r1, 5
|
|
add r1, r8
|
|
mov r0, sp
|
|
adds r2, r6, 0
|
|
bl CpuSet
|
|
ldr r1, _080AB8C0 @ =0x02018004
|
|
ldr r0, _080AB8C4 @ =0x040000d4
|
|
mov r2, r8
|
|
str r2, [r0]
|
|
str r1, [r0, 0x4]
|
|
ldr r1, _080AB8C8 @ =0x84000080
|
|
str r1, [r0, 0x8]
|
|
ldr r0, [r0, 0x8]
|
|
bl sub_80AB350
|
|
b _080AB946
|
|
.align 2, 0
|
|
_080AB8AC: .4byte gUnknown_08D17144
|
|
_080AB8B0: .4byte gPlttBufferUnfaded + 0x100
|
|
_080AB8B4: .4byte REG_BG0CNT
|
|
_080AB8B8: .4byte gUnknown_02038695
|
|
_080AB8BC: .4byte 0xffffff00
|
|
_080AB8C0: .4byte 0x02018004
|
|
_080AB8C4: .4byte 0x040000d4
|
|
_080AB8C8: .4byte 0x84000080
|
|
_080AB8CC:
|
|
bl sub_80B1118
|
|
bl sub_80AFA5C
|
|
bl sub_80AEB30
|
|
bl sub_80AE8B4
|
|
ldr r1, _080AB924 @ =0x02019204
|
|
movs r4, 0
|
|
strb r0, [r1, 0x12]
|
|
bl sub_80AFE30
|
|
bl sub_80B0034
|
|
bl sub_80B00C8
|
|
bl sub_80B0324
|
|
bl sub_80B0518
|
|
ldr r1, _080AB928 @ =gUnknown_02024A72
|
|
strb r4, [r1]
|
|
movs r0, 0x1
|
|
strb r0, [r1, 0x1]
|
|
movs r3, 0x3
|
|
strb r3, [r1, 0x2]
|
|
movs r2, 0x2
|
|
strb r2, [r1, 0x3]
|
|
ldr r0, _080AB92C @ =gUnknown_020239F8
|
|
strh r4, [r0]
|
|
ldr r4, _080AB930 @ =gUnknown_02024C07
|
|
strb r2, [r4]
|
|
ldr r0, _080AB934 @ =gUnknown_02024C08
|
|
strb r3, [r0]
|
|
bl sub_80AE858
|
|
ldr r2, _080AB938 @ =gUnknown_02024BE0
|
|
ldrb r1, [r4]
|
|
adds r1, r2
|
|
strb r0, [r1]
|
|
bl sub_80B292C
|
|
b _080AB946
|
|
.align 2, 0
|
|
_080AB924: .4byte 0x02019204
|
|
_080AB928: .4byte gUnknown_02024A72
|
|
_080AB92C: .4byte gUnknown_020239F8
|
|
_080AB930: .4byte gUnknown_02024C07
|
|
_080AB934: .4byte gUnknown_02024C08
|
|
_080AB938: .4byte gUnknown_02024BE0
|
|
_080AB93C:
|
|
movs r0, 0
|
|
mov r1, r10
|
|
strb r0, [r1]
|
|
movs r0, 0x1
|
|
b _080AB950
|
|
_080AB946:
|
|
mov r2, r10
|
|
ldrb r0, [r2]
|
|
adds r0, 0x1
|
|
strb r0, [r2]
|
|
movs r0, 0
|
|
_080AB950:
|
|
add sp, 0x44
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80AB70C
|
|
|
|
thumb_func_start sub_80AB960
|
|
sub_80AB960: @ 80AB960
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r3, r0, 24
|
|
ldr r1, _080AB994 @ =gPaletteFade
|
|
ldrb r2, [r1, 0x8]
|
|
movs r0, 0x7F
|
|
ands r0, r2
|
|
strb r0, [r1, 0x8]
|
|
ldrb r1, [r1, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
cmp r2, 0
|
|
bne _080AB990
|
|
ldr r0, _080AB998 @ =gTasks
|
|
lsls r1, r3, 2
|
|
adds r1, r3
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
strh r2, [r1, 0x8]
|
|
strh r2, [r1, 0xA]
|
|
ldr r0, _080AB99C @ =sub_80AB9A0
|
|
str r0, [r1]
|
|
_080AB990:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AB994: .4byte gPaletteFade
|
|
_080AB998: .4byte gTasks
|
|
_080AB99C: .4byte sub_80AB9A0
|
|
thumb_func_end sub_80AB960
|
|
|
|
thumb_func_start sub_80AB9A0
|
|
sub_80AB9A0: @ 80AB9A0
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
ldr r1, _080AB9C4 @ =gTasks
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
movs r2, 0x8
|
|
ldrsh r0, [r0, r2]
|
|
adds r2, r1, 0
|
|
cmp r0, 0x4
|
|
bhi _080ABA7C
|
|
lsls r0, 2
|
|
ldr r1, _080AB9C8 @ =_080AB9CC
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080AB9C4: .4byte gTasks
|
|
_080AB9C8: .4byte _080AB9CC
|
|
.align 2, 0
|
|
_080AB9CC:
|
|
.4byte _080AB9E0
|
|
.4byte _080ABA0A
|
|
.4byte _080ABA28
|
|
.4byte _080ABA44
|
|
.4byte _080ABA7C
|
|
_080AB9E0:
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r4, r0, r2
|
|
ldrh r0, [r4, 0xA]
|
|
adds r1, r0, 0x1
|
|
strh r1, [r4, 0xA]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r0, 0x3C
|
|
ble _080ABA9C
|
|
movs r0, 0
|
|
strh r0, [r4, 0xA]
|
|
movs r0, 0x61
|
|
movs r1, 0
|
|
bl PlaySE12WithPanning
|
|
ldrh r0, [r4, 0x8]
|
|
adds r0, 0x1
|
|
strh r0, [r4, 0x8]
|
|
b _080ABA9C
|
|
_080ABA0A:
|
|
ldr r1, _080ABA24 @ =gUnknown_030041B4
|
|
ldrh r0, [r1]
|
|
adds r0, 0x7
|
|
strh r0, [r1]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r0, 0xA0
|
|
ble _080ABA9C
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r2
|
|
b _080ABA68
|
|
.align 2, 0
|
|
_080ABA24: .4byte gUnknown_030041B4
|
|
_080ABA28:
|
|
bl sub_80B2280
|
|
ldr r0, _080ABA40 @ =gTasks
|
|
lsls r1, r4, 2
|
|
adds r1, r4
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldrh r0, [r1, 0x8]
|
|
adds r0, 0x1
|
|
strh r0, [r1, 0x8]
|
|
b _080ABA9C
|
|
.align 2, 0
|
|
_080ABA40: .4byte gTasks
|
|
_080ABA44:
|
|
ldr r3, _080ABA70 @ =REG_BG0CNT
|
|
ldrb r2, [r3]
|
|
movs r1, 0x4
|
|
negs r1, r1
|
|
adds r0, r1, 0
|
|
ands r0, r2
|
|
strb r0, [r3]
|
|
ldr r2, _080ABA74 @ =REG_BG2CNT
|
|
ldrb r0, [r2]
|
|
ands r1, r0
|
|
strb r1, [r2]
|
|
bl sub_80B1B14
|
|
ldr r1, _080ABA78 @ =gTasks
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
_080ABA68:
|
|
ldrh r1, [r0, 0x8]
|
|
adds r1, 0x1
|
|
strh r1, [r0, 0x8]
|
|
b _080ABA9C
|
|
.align 2, 0
|
|
_080ABA70: .4byte REG_BG0CNT
|
|
_080ABA74: .4byte REG_BG2CNT
|
|
_080ABA78: .4byte gTasks
|
|
_080ABA7C:
|
|
ldr r0, _080ABAA4 @ =0x02019204
|
|
ldrb r1, [r0, 0x6]
|
|
movs r0, 0x40
|
|
ands r0, r1
|
|
lsls r0, 24
|
|
lsrs r1, r0, 24
|
|
cmp r1, 0
|
|
bne _080ABA9C
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r2
|
|
strh r1, [r0, 0x8]
|
|
strh r1, [r0, 0xA]
|
|
ldr r1, _080ABAA8 @ =sub_80ABB70
|
|
str r1, [r0]
|
|
_080ABA9C:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080ABAA4: .4byte 0x02019204
|
|
_080ABAA8: .4byte sub_80ABB70
|
|
thumb_func_end sub_80AB9A0
|
|
|
|
thumb_func_start sub_80ABAAC
|
|
sub_80ABAAC: @ 80ABAAC
|
|
push {lr}
|
|
bl AnimateSprites
|
|
bl RunTasks
|
|
bl BuildOamBuffer
|
|
bl UpdatePaletteFade
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80ABAAC
|
|
|
|
thumb_func_start sub_80ABAC4
|
|
sub_80ABAC4: @ 80ABAC4
|
|
push {lr}
|
|
ldr r1, _080ABB3C @ =REG_BG0HOFS
|
|
ldr r0, _080ABB40 @ =gUnknown_030042A4
|
|
ldrh r0, [r0]
|
|
strh r0, [r1]
|
|
adds r1, 0x2
|
|
ldr r0, _080ABB44 @ =gUnknown_030042A0
|
|
ldrh r0, [r0]
|
|
strh r0, [r1]
|
|
adds r1, 0x2
|
|
ldr r0, _080ABB48 @ =gUnknown_030042C0
|
|
ldrh r0, [r0]
|
|
strh r0, [r1]
|
|
adds r1, 0x2
|
|
ldr r0, _080ABB4C @ =gUnknown_030041B4
|
|
ldrh r0, [r0]
|
|
strh r0, [r1]
|
|
adds r1, 0x2
|
|
ldr r0, _080ABB50 @ =gUnknown_03004288
|
|
ldrh r0, [r0]
|
|
strh r0, [r1]
|
|
adds r1, 0x2
|
|
ldr r0, _080ABB54 @ =gUnknown_03004280
|
|
ldrh r0, [r0]
|
|
strh r0, [r1]
|
|
adds r1, 0x2
|
|
ldr r0, _080ABB58 @ =gUnknown_030041B0
|
|
ldrh r0, [r0]
|
|
strh r0, [r1]
|
|
adds r1, 0x2
|
|
ldr r0, _080ABB5C @ =gUnknown_030041B8
|
|
ldrh r0, [r0]
|
|
strh r0, [r1]
|
|
adds r1, 0x22
|
|
ldr r0, _080ABB60 @ =gUnknown_030042C4
|
|
ldrh r0, [r0]
|
|
strh r0, [r1]
|
|
adds r1, 0x4
|
|
ldr r0, _080ABB64 @ =gUnknown_03004240
|
|
ldrh r0, [r0]
|
|
strh r0, [r1]
|
|
subs r1, 0x2
|
|
ldr r0, _080ABB68 @ =gUnknown_03004200
|
|
ldrh r0, [r0]
|
|
strh r0, [r1]
|
|
adds r1, 0x4
|
|
ldr r0, _080ABB6C @ =gUnknown_03004244
|
|
ldrh r0, [r0]
|
|
strh r0, [r1]
|
|
bl TransferPlttBuffer
|
|
bl LoadOam
|
|
bl ProcessSpriteCopyRequests
|
|
bl sub_8089668
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080ABB3C: .4byte REG_BG0HOFS
|
|
_080ABB40: .4byte gUnknown_030042A4
|
|
_080ABB44: .4byte gUnknown_030042A0
|
|
_080ABB48: .4byte gUnknown_030042C0
|
|
_080ABB4C: .4byte gUnknown_030041B4
|
|
_080ABB50: .4byte gUnknown_03004288
|
|
_080ABB54: .4byte gUnknown_03004280
|
|
_080ABB58: .4byte gUnknown_030041B0
|
|
_080ABB5C: .4byte gUnknown_030041B8
|
|
_080ABB60: .4byte gUnknown_030042C4
|
|
_080ABB64: .4byte gUnknown_03004240
|
|
_080ABB68: .4byte gUnknown_03004200
|
|
_080ABB6C: .4byte gUnknown_03004244
|
|
thumb_func_end sub_80ABAC4
|
|
|
|
thumb_func_start sub_80ABB70
|
|
sub_80ABB70: @ 80ABB70
|
|
push {r4-r6,lr}
|
|
sub sp, 0x4
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
ldr r0, _080ABBB0 @ =gUnknown_030042A0
|
|
movs r1, 0
|
|
strh r1, [r0]
|
|
ldr r0, _080ABBB4 @ =gUnknown_03004280
|
|
strh r1, [r0]
|
|
bl sub_80B0D7C
|
|
ldr r1, _080ABBB8 @ =gPlttBufferUnfaded
|
|
ldr r2, _080ABBBC @ =0x02018204
|
|
ldr r0, _080ABBC0 @ =0x040000d4
|
|
str r1, [r0]
|
|
str r2, [r0, 0x4]
|
|
ldr r1, _080ABBC4 @ =0x84000100
|
|
str r1, [r0, 0x8]
|
|
ldr r0, [r0, 0x8]
|
|
ldr r0, _080ABBC8 @ =gUnknown_02038695
|
|
ldrb r0, [r0]
|
|
bl sub_80AF59C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080ABBD4
|
|
ldr r0, _080ABBCC @ =gUnknown_020238CC
|
|
ldr r1, _080ABBD0 @ =gUnknown_083CAF84
|
|
bl StringCopy
|
|
b _080ABBDC
|
|
.align 2, 0
|
|
_080ABBB0: .4byte gUnknown_030042A0
|
|
_080ABBB4: .4byte gUnknown_03004280
|
|
_080ABBB8: .4byte gPlttBufferUnfaded
|
|
_080ABBBC: .4byte 0x02018204
|
|
_080ABBC0: .4byte 0x040000d4
|
|
_080ABBC4: .4byte 0x84000100
|
|
_080ABBC8: .4byte gUnknown_02038695
|
|
_080ABBCC: .4byte gUnknown_020238CC
|
|
_080ABBD0: .4byte gUnknown_083CAF84
|
|
_080ABBD4:
|
|
ldr r0, _080ABC20 @ =gUnknown_020238CC
|
|
ldr r1, _080ABC24 @ =gUnknown_083CAFAE
|
|
bl StringCopy
|
|
_080ABBDC:
|
|
ldr r5, _080ABC20 @ =gUnknown_020238CC
|
|
ldr r0, _080ABC28 @ =0x02019204
|
|
ldrb r1, [r0, 0x1]
|
|
adds r1, 0x1
|
|
adds r0, r5, 0
|
|
bl sub_80AE020
|
|
bl sub_80AF138
|
|
ldr r4, _080ABC2C @ =gStringVar4
|
|
adds r0, r4, 0
|
|
adds r1, r5, 0
|
|
bl StringExpandPlaceholders
|
|
ldr r0, _080ABC30 @ =gMenuWindow
|
|
movs r2, 0xC2
|
|
lsls r2, 2
|
|
movs r1, 0xF
|
|
str r1, [sp]
|
|
adds r1, r4, 0
|
|
movs r3, 0x1
|
|
bl sub_8002EB0
|
|
ldr r1, _080ABC34 @ =gTasks
|
|
lsls r0, r6, 2
|
|
adds r0, r6
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _080ABC38 @ =sub_80ABC3C
|
|
str r1, [r0]
|
|
add sp, 0x4
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080ABC20: .4byte gUnknown_020238CC
|
|
_080ABC24: .4byte gUnknown_083CAFAE
|
|
_080ABC28: .4byte 0x02019204
|
|
_080ABC2C: .4byte gStringVar4
|
|
_080ABC30: .4byte gMenuWindow
|
|
_080ABC34: .4byte gTasks
|
|
_080ABC38: .4byte sub_80ABC3C
|
|
thumb_func_end sub_80ABB70
|
|
|
|
thumb_func_start sub_80ABC3C
|
|
sub_80ABC3C: @ 80ABC3C
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
ldr r0, _080ABC64 @ =gMenuWindow
|
|
bl sub_80037A0
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
bne _080ABC5E
|
|
ldr r0, _080ABC68 @ =gTasks
|
|
lsls r1, r4, 2
|
|
adds r1, r4
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldr r0, _080ABC6C @ =sub_80ABC70
|
|
str r0, [r1]
|
|
_080ABC5E:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080ABC64: .4byte gMenuWindow
|
|
_080ABC68: .4byte gTasks
|
|
_080ABC6C: .4byte sub_80ABC70
|
|
thumb_func_end sub_80ABC3C
|
|
|
|
thumb_func_start sub_80ABC70
|
|
sub_80ABC70: @ 80ABC70
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
adds r5, r4, 0
|
|
ldr r0, _080ABCB0 @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _080ABC88
|
|
cmp r1, 0x2
|
|
bne _080ABCCE
|
|
_080ABC88:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r0, _080ABCB4 @ =gUnknown_02038695
|
|
ldrb r0, [r0]
|
|
bl sub_80AF59C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080ABCC0
|
|
movs r0, 0x1
|
|
bl sub_80AFFE0
|
|
ldr r0, _080ABCB8 @ =gTasks
|
|
lsls r1, r4, 2
|
|
adds r1, r4
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldr r0, _080ABCBC @ =sub_80ABCDC
|
|
b _080ABCCC
|
|
.align 2, 0
|
|
_080ABCB0: .4byte gMain
|
|
_080ABCB4: .4byte gUnknown_02038695
|
|
_080ABCB8: .4byte gTasks
|
|
_080ABCBC: .4byte sub_80ABCDC
|
|
_080ABCC0:
|
|
ldr r0, _080ABCD4 @ =gTasks
|
|
lsls r1, r5, 2
|
|
adds r1, r5
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldr r0, _080ABCD8 @ =sub_80AC0C8
|
|
_080ABCCC:
|
|
str r0, [r1]
|
|
_080ABCCE:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080ABCD4: .4byte gTasks
|
|
_080ABCD8: .4byte sub_80AC0C8
|
|
thumb_func_end sub_80ABC70
|
|
|
|
thumb_func_start sub_80ABCDC
|
|
sub_80ABCDC: @ 80ABCDC
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x2C
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
str r0, [sp, 0x28]
|
|
ldr r0, _080ABD80 @ =gUnknown_030042A0
|
|
movs r1, 0xA0
|
|
strh r1, [r0]
|
|
ldr r0, _080ABD84 @ =gUnknown_03004280
|
|
strh r1, [r0]
|
|
ldr r5, _080ABD88 @ =gUnknown_03004210
|
|
ldr r4, _080ABD8C @ =gUnknown_083CA340
|
|
ldrb r2, [r4]
|
|
ldrb r3, [r4, 0x1]
|
|
ldrb r0, [r4, 0x2]
|
|
str r0, [sp]
|
|
ldrb r0, [r4, 0x3]
|
|
str r0, [sp, 0x4]
|
|
adds r0, r5, 0
|
|
movs r1, 0
|
|
bl FillWindowRect_DefaultPalette
|
|
movs r6, 0
|
|
ldr r0, _080ABD90 @ =gUnknown_02038695
|
|
mov r8, r0
|
|
ldr r7, _080ABD94 @ =0x02019260
|
|
mov r9, r5
|
|
mov r10, r4
|
|
_080ABD1C:
|
|
lsls r1, r6, 1
|
|
mov r3, r8
|
|
ldrb r2, [r3]
|
|
lsls r0, r2, 6
|
|
adds r1, r0
|
|
ldr r0, _080ABD98 @ =gUnknown_0203858E
|
|
adds r1, r0
|
|
ldrh r4, [r1]
|
|
add r5, sp, 0x8
|
|
lsls r0, r2, 3
|
|
subs r0, r2
|
|
lsls r0, 2
|
|
adds r0, r7
|
|
ldrh r0, [r0, 0x8]
|
|
cmp r0, 0
|
|
beq _080ABDA0
|
|
adds r0, r2, 0
|
|
bl sub_80B214C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080ABDA0
|
|
mov r2, r8
|
|
ldrb r1, [r2]
|
|
lsls r0, r1, 3
|
|
subs r0, r1
|
|
lsls r0, 2
|
|
adds r0, r7
|
|
ldrh r0, [r0, 0x8]
|
|
adds r1, r4, 0
|
|
bl AreMovesContestCombo
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080ABDA0
|
|
mov r3, r8
|
|
ldrb r1, [r3]
|
|
lsls r0, r1, 3
|
|
subs r0, r1
|
|
lsls r0, 2
|
|
adds r0, r7
|
|
ldrb r1, [r0, 0x15]
|
|
movs r0, 0x10
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080ABDA0
|
|
add r0, sp, 0x8
|
|
ldr r1, _080ABD9C @ =gUnknownText_UnknownFormatting2
|
|
b _080ABDC6
|
|
.align 2, 0
|
|
_080ABD80: .4byte gUnknown_030042A0
|
|
_080ABD84: .4byte gUnknown_03004280
|
|
_080ABD88: .4byte gUnknown_03004210
|
|
_080ABD8C: .4byte gUnknown_083CA340
|
|
_080ABD90: .4byte gUnknown_02038695
|
|
_080ABD94: .4byte 0x02019260
|
|
_080ABD98: .4byte gUnknown_0203858E
|
|
_080ABD9C: .4byte gUnknownText_UnknownFormatting2
|
|
_080ABDA0:
|
|
cmp r4, 0
|
|
beq _080ABDCC
|
|
mov r1, r8
|
|
ldrb r0, [r1]
|
|
lsls r1, r0, 3
|
|
subs r1, r0
|
|
lsls r1, 2
|
|
adds r1, r7
|
|
ldrh r0, [r1, 0x8]
|
|
cmp r0, r4
|
|
bne _080ABDCC
|
|
ldr r0, _080ABE74 @ =gContestMoves
|
|
lsls r1, r4, 3
|
|
adds r1, r0
|
|
ldrb r0, [r1]
|
|
cmp r0, 0x3
|
|
beq _080ABDCC
|
|
add r0, sp, 0x8
|
|
ldr r1, _080ABE78 @ =gUnknownText_UnknownFormatting3
|
|
_080ABDC6:
|
|
bl StringCopy
|
|
adds r5, r0, 0
|
|
_080ABDCC:
|
|
movs r0, 0xD
|
|
adds r1, r4, 0
|
|
muls r1, r0
|
|
ldr r0, _080ABE7C @ =gMoveNames
|
|
adds r1, r0
|
|
adds r0, r5, 0
|
|
bl StringCopy
|
|
lsls r1, r6, 2
|
|
adds r2, r1, r6
|
|
lsls r2, 18
|
|
movs r3, 0xC2
|
|
lsls r3, 18
|
|
adds r2, r3
|
|
lsrs r2, 16
|
|
mov r3, r10
|
|
adds r0, r1, r3
|
|
ldrb r3, [r0]
|
|
lsls r3, 3
|
|
adds r3, 0x4
|
|
lsls r3, 24
|
|
lsrs r3, 24
|
|
ldr r0, _080ABE80 @ =gUnknown_083CA340 + 0x1
|
|
adds r1, r0
|
|
ldrb r0, [r1]
|
|
lsls r0, 3
|
|
str r0, [sp]
|
|
movs r0, 0x1
|
|
str r0, [sp, 0x4]
|
|
mov r0, r9
|
|
add r1, sp, 0x8
|
|
bl sub_8002E4C
|
|
mov r0, r9
|
|
bl sub_8002F44
|
|
adds r0, r6, 0x1
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
cmp r6, 0x3
|
|
bhi _080ABE20
|
|
b _080ABD1C
|
|
_080ABE20:
|
|
ldr r1, _080ABE84 @ =0x0000ffff
|
|
ldr r3, _080ABE88 @ =0x00002d9f
|
|
movs r0, 0x48
|
|
str r0, [sp]
|
|
movs r0, 0
|
|
movs r2, 0xC
|
|
bl sub_814A5C0
|
|
ldr r4, _080ABE8C @ =0x02019204
|
|
movs r0, 0
|
|
ldrsb r0, [r4, r0]
|
|
bl sub_80AC0AC
|
|
ldr r2, _080ABE90 @ =gUnknown_02038570
|
|
ldrb r1, [r4]
|
|
lsls r1, 1
|
|
ldr r0, _080ABE94 @ =gUnknown_02038695
|
|
ldrb r0, [r0]
|
|
lsls r0, 6
|
|
adds r1, r0
|
|
adds r2, 0x1E
|
|
adds r1, r2
|
|
ldrh r0, [r1]
|
|
bl sub_80AEBEC
|
|
ldr r1, _080ABE98 @ =gTasks
|
|
ldr r2, [sp, 0x28]
|
|
lsls r0, r2, 2
|
|
adds r0, r2
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _080ABE9C @ =sub_80ABEA0
|
|
str r1, [r0]
|
|
add sp, 0x2C
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080ABE74: .4byte gContestMoves
|
|
_080ABE78: .4byte gUnknownText_UnknownFormatting3
|
|
_080ABE7C: .4byte gMoveNames
|
|
_080ABE80: .4byte gUnknown_083CA340 + 0x1
|
|
_080ABE84: .4byte 0x0000ffff
|
|
_080ABE88: .4byte 0x00002d9f
|
|
_080ABE8C: .4byte 0x02019204
|
|
_080ABE90: .4byte gUnknown_02038570
|
|
_080ABE94: .4byte gUnknown_02038695
|
|
_080ABE98: .4byte gTasks
|
|
_080ABE9C: .4byte sub_80ABEA0
|
|
thumb_func_end sub_80ABCDC
|
|
|
|
thumb_func_start sub_80ABEA0
|
|
sub_80ABEA0: @ 80ABEA0
|
|
push {r4-r7,lr}
|
|
sub sp, 0x8
|
|
lsls r0, 24
|
|
lsrs r7, r0, 24
|
|
movs r6, 0
|
|
ldr r3, _080ABEF4 @ =gMain
|
|
ldr r1, _080ABEF8 @ =gUnknown_02038570
|
|
ldr r0, _080ABEFC @ =gUnknown_02038695
|
|
ldrb r0, [r0]
|
|
lsls r0, 6
|
|
adds r1, 0x1E
|
|
adds r1, r0, r1
|
|
movs r2, 0x3
|
|
_080ABEBA:
|
|
ldrh r0, [r1]
|
|
cmp r0, 0
|
|
beq _080ABEC6
|
|
adds r0, r6, 0x1
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
_080ABEC6:
|
|
adds r1, 0x2
|
|
subs r2, 0x1
|
|
cmp r2, 0
|
|
bge _080ABEBA
|
|
ldrh r0, [r3, 0x2E]
|
|
movs r5, 0x1
|
|
ands r5, r0
|
|
cmp r5, 0
|
|
beq _080ABF08
|
|
bl sub_814A7FC
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r0, _080ABF00 @ =gTasks
|
|
lsls r1, r7, 2
|
|
adds r1, r7
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldr r0, _080ABF04 @ =sub_80AC0C8
|
|
str r0, [r1]
|
|
b _080AC098
|
|
.align 2, 0
|
|
_080ABEF4: .4byte gMain
|
|
_080ABEF8: .4byte gUnknown_02038570
|
|
_080ABEFC: .4byte gUnknown_02038695
|
|
_080ABF00: .4byte gTasks
|
|
_080ABF04: .4byte sub_80AC0C8
|
|
_080ABF08:
|
|
ldrh r0, [r3, 0x30]
|
|
cmp r0, 0x20
|
|
bne _080ABF10
|
|
b _080AC098
|
|
_080ABF10:
|
|
cmp r0, 0x20
|
|
bgt _080ABF1A
|
|
cmp r0, 0x2
|
|
beq _080ABF26
|
|
b _080AC098
|
|
_080ABF1A:
|
|
cmp r0, 0x40
|
|
beq _080ABFEC
|
|
cmp r0, 0x80
|
|
bne _080ABF24
|
|
b _080AC048
|
|
_080ABF24:
|
|
b _080AC098
|
|
_080ABF26:
|
|
bl sub_814A904
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
movs r0, 0
|
|
bl sub_80AFFE0
|
|
ldr r0, _080ABF64 @ =gUnknown_03004210
|
|
ldr r1, _080ABF68 @ =gUnknown_083CA340
|
|
ldrb r2, [r1]
|
|
ldrb r3, [r1, 0x1]
|
|
ldrb r4, [r1, 0x2]
|
|
str r4, [sp]
|
|
ldrb r1, [r1, 0x3]
|
|
str r1, [sp, 0x4]
|
|
movs r1, 0
|
|
bl FillWindowRect_DefaultPalette
|
|
ldr r0, _080ABF6C @ =gUnknown_02038695
|
|
ldrb r0, [r0]
|
|
bl sub_80AF59C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080ABF78
|
|
ldr r0, _080ABF70 @ =gUnknown_020238CC
|
|
ldr r1, _080ABF74 @ =gUnknown_083CAF84
|
|
bl StringCopy
|
|
b _080ABF80
|
|
.align 2, 0
|
|
_080ABF64: .4byte gUnknown_03004210
|
|
_080ABF68: .4byte gUnknown_083CA340
|
|
_080ABF6C: .4byte gUnknown_02038695
|
|
_080ABF70: .4byte gUnknown_020238CC
|
|
_080ABF74: .4byte gUnknown_083CAF84
|
|
_080ABF78:
|
|
ldr r0, _080ABFC8 @ =gUnknown_020238CC
|
|
ldr r1, _080ABFCC @ =gUnknown_083CAFAE
|
|
bl StringCopy
|
|
_080ABF80:
|
|
ldr r5, _080ABFC8 @ =gUnknown_020238CC
|
|
ldr r0, _080ABFD0 @ =0x02019204
|
|
ldrb r1, [r0, 0x1]
|
|
adds r1, 0x1
|
|
adds r0, r5, 0
|
|
bl sub_80AE020
|
|
bl sub_80AF138
|
|
ldr r4, _080ABFD4 @ =gStringVar4
|
|
adds r0, r4, 0
|
|
adds r1, r5, 0
|
|
bl StringExpandPlaceholders
|
|
ldr r0, _080ABFD8 @ =gMenuWindow
|
|
movs r2, 0xC2
|
|
lsls r2, 2
|
|
movs r1, 0xF
|
|
str r1, [sp]
|
|
adds r1, r4, 0
|
|
movs r3, 0x1
|
|
bl sub_8003460
|
|
ldr r0, _080ABFDC @ =gUnknown_030042A0
|
|
movs r1, 0
|
|
strh r1, [r0]
|
|
ldr r0, _080ABFE0 @ =gUnknown_03004280
|
|
strh r1, [r0]
|
|
ldr r1, _080ABFE4 @ =gTasks
|
|
lsls r0, r7, 2
|
|
adds r0, r7
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _080ABFE8 @ =sub_80ABC70
|
|
str r1, [r0]
|
|
b _080AC098
|
|
.align 2, 0
|
|
_080ABFC8: .4byte gUnknown_020238CC
|
|
_080ABFCC: .4byte gUnknown_083CAFAE
|
|
_080ABFD0: .4byte 0x02019204
|
|
_080ABFD4: .4byte gStringVar4
|
|
_080ABFD8: .4byte gMenuWindow
|
|
_080ABFDC: .4byte gUnknown_030042A0
|
|
_080ABFE0: .4byte gUnknown_03004280
|
|
_080ABFE4: .4byte gTasks
|
|
_080ABFE8: .4byte sub_80ABC70
|
|
_080ABFEC:
|
|
ldr r4, _080AC000 @ =0x02019204
|
|
movs r0, 0
|
|
ldrsb r0, [r4, r0]
|
|
bl nullsub_17
|
|
ldrb r0, [r4]
|
|
cmp r0, 0
|
|
bne _080AC004
|
|
subs r0, r6, 0x1
|
|
b _080AC006
|
|
.align 2, 0
|
|
_080AC000: .4byte 0x02019204
|
|
_080AC004:
|
|
subs r0, 0x1
|
|
_080AC006:
|
|
strb r0, [r4]
|
|
ldr r4, _080AC03C @ =0x02019204
|
|
movs r0, 0
|
|
ldrsb r0, [r4, r0]
|
|
bl sub_80AC0AC
|
|
bl sub_80AED58
|
|
ldr r2, _080AC040 @ =gUnknown_02038570
|
|
ldrb r1, [r4]
|
|
lsls r1, 1
|
|
ldr r0, _080AC044 @ =gUnknown_02038695
|
|
ldrb r0, [r0]
|
|
lsls r0, 6
|
|
adds r1, r0
|
|
adds r2, 0x1E
|
|
adds r1, r2
|
|
ldrh r0, [r1]
|
|
bl sub_80AEBEC
|
|
cmp r6, 0x1
|
|
bls _080AC098
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
b _080AC098
|
|
.align 2, 0
|
|
_080AC03C: .4byte 0x02019204
|
|
_080AC040: .4byte gUnknown_02038570
|
|
_080AC044: .4byte gUnknown_02038695
|
|
_080AC048:
|
|
ldr r4, _080AC060 @ =0x02019204
|
|
movs r0, 0
|
|
ldrsb r0, [r4, r0]
|
|
bl nullsub_17
|
|
ldrb r1, [r4]
|
|
subs r0, r6, 0x1
|
|
cmp r1, r0
|
|
bne _080AC064
|
|
strb r5, [r4]
|
|
b _080AC068
|
|
.align 2, 0
|
|
_080AC060: .4byte 0x02019204
|
|
_080AC064:
|
|
adds r0, r1, 0x1
|
|
strb r0, [r4]
|
|
_080AC068:
|
|
ldr r4, _080AC0A0 @ =0x02019204
|
|
movs r0, 0
|
|
ldrsb r0, [r4, r0]
|
|
bl sub_80AC0AC
|
|
bl sub_80AED58
|
|
ldr r2, _080AC0A4 @ =gUnknown_02038570
|
|
ldrb r1, [r4]
|
|
lsls r1, 1
|
|
ldr r0, _080AC0A8 @ =gUnknown_02038695
|
|
ldrb r0, [r0]
|
|
lsls r0, 6
|
|
adds r1, r0
|
|
adds r2, 0x1E
|
|
adds r1, r2
|
|
ldrh r0, [r1]
|
|
bl sub_80AEBEC
|
|
cmp r6, 0x1
|
|
bls _080AC098
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
_080AC098:
|
|
add sp, 0x8
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AC0A0: .4byte 0x02019204
|
|
_080AC0A4: .4byte gUnknown_02038570
|
|
_080AC0A8: .4byte gUnknown_02038695
|
|
thumb_func_end sub_80ABEA0
|
|
|
|
thumb_func_start sub_80AC0AC
|
|
sub_80AC0AC: @ 80AC0AC
|
|
push {lr}
|
|
adds r1, r0, 0
|
|
lsls r1, 28
|
|
movs r0, 0xB0
|
|
lsls r0, 23
|
|
adds r1, r0
|
|
lsrs r1, 24
|
|
movs r0, 0x4
|
|
bl sub_814A880
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80AC0AC
|
|
|
|
thumb_func_start nullsub_17
|
|
nullsub_17: @ 80AC0C4
|
|
bx lr
|
|
thumb_func_end nullsub_17
|
|
|
|
thumb_func_start sub_80AC0C8
|
|
sub_80AC0C8: @ 80AC0C8
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
ldr r0, _080AC120 @ =gUnknown_0203869A
|
|
ldrb r1, [r0]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080AC13C
|
|
ldr r4, _080AC124 @ =gUnknown_02038695
|
|
ldrb r0, [r4]
|
|
bl sub_80AF15C
|
|
ldrb r2, [r4]
|
|
lsls r1, r2, 3
|
|
subs r1, r2
|
|
lsls r1, 2
|
|
ldr r2, _080AC128 @ =0x02019260
|
|
adds r1, r2
|
|
strh r0, [r1, 0x6]
|
|
ldr r4, _080AC12C @ =sub_80C8A38
|
|
adds r0, r4, 0
|
|
movs r1, 0
|
|
bl CreateTask
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r2, _080AC130 @ =sub_80AC15C
|
|
adds r1, r4, 0
|
|
bl SetTaskFuncWithFollowupFunc
|
|
ldr r1, _080AC134 @ =gTasks
|
|
lsls r0, r5, 2
|
|
adds r0, r5
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _080AC138 @ =nullsub_89
|
|
str r1, [r0]
|
|
bl sub_80AF860
|
|
movs r0, 0
|
|
bl sub_80AFFE0
|
|
b _080AC14E
|
|
.align 2, 0
|
|
_080AC120: .4byte gUnknown_0203869A
|
|
_080AC124: .4byte gUnknown_02038695
|
|
_080AC128: .4byte 0x02019260
|
|
_080AC12C: .4byte sub_80C8A38
|
|
_080AC130: .4byte sub_80AC15C
|
|
_080AC134: .4byte gTasks
|
|
_080AC138: .4byte nullsub_89
|
|
_080AC13C:
|
|
bl sub_80AF1B8
|
|
ldr r0, _080AC154 @ =gTasks
|
|
lsls r1, r5, 2
|
|
adds r1, r5
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldr r0, _080AC158 @ =sub_80AC188
|
|
str r0, [r1]
|
|
_080AC14E:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AC154: .4byte gTasks
|
|
_080AC158: .4byte sub_80AC188
|
|
thumb_func_end sub_80AC0C8
|
|
|
|
thumb_func_start sub_80AC15C
|
|
sub_80AC15C: @ 80AC15C
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl DestroyTask
|
|
ldr r2, _080AC17C @ =gTasks
|
|
ldr r0, _080AC180 @ =0x02019204
|
|
ldrb r1, [r0, 0x8]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r0, r2
|
|
ldr r1, _080AC184 @ =sub_80AC188
|
|
str r1, [r0]
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AC17C: .4byte gTasks
|
|
_080AC180: .4byte 0x02019204
|
|
_080AC184: .4byte sub_80AC188
|
|
thumb_func_end sub_80AC15C
|
|
|
|
thumb_func_start sub_80AC188
|
|
sub_80AC188: @ 80AC188
|
|
push {r4,r5,lr}
|
|
adds r5, r0, 0
|
|
lsls r5, 24
|
|
lsrs r5, 24
|
|
bl sub_80AF138
|
|
ldr r0, _080AC1E4 @ =gUnknown_030042A0
|
|
movs r1, 0
|
|
strh r1, [r0]
|
|
ldr r0, _080AC1E8 @ =gUnknown_03004280
|
|
strh r1, [r0]
|
|
movs r0, 0
|
|
bl sub_80AFFE0
|
|
ldr r1, _080AC1EC @ =gPlttBufferFaded
|
|
ldr r0, _080AC1F0 @ =0x02018604
|
|
movs r2, 0x80
|
|
lsls r2, 3
|
|
ldr r4, _080AC1F4 @ =0x040000d4
|
|
str r1, [r4]
|
|
str r0, [r4, 0x4]
|
|
lsrs r1, r2, 2
|
|
movs r3, 0x84
|
|
lsls r3, 24
|
|
orrs r1, r3
|
|
str r1, [r4, 0x8]
|
|
ldr r1, [r4, 0x8]
|
|
ldr r1, _080AC1F8 @ =0xfffffc00
|
|
adds r0, r1
|
|
movs r1, 0
|
|
bl LoadPalette
|
|
ldr r1, _080AC1FC @ =gTasks
|
|
lsls r0, r5, 2
|
|
adds r0, r5
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
movs r1, 0
|
|
strh r1, [r0, 0x8]
|
|
strh r1, [r0, 0xA]
|
|
ldr r1, _080AC200 @ =sub_80AC204
|
|
str r1, [r0]
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AC1E4: .4byte gUnknown_030042A0
|
|
_080AC1E8: .4byte gUnknown_03004280
|
|
_080AC1EC: .4byte gPlttBufferFaded
|
|
_080AC1F0: .4byte 0x02018604
|
|
_080AC1F4: .4byte 0x040000d4
|
|
_080AC1F8: .4byte 0xfffffc00
|
|
_080AC1FC: .4byte gTasks
|
|
_080AC200: .4byte sub_80AC204
|
|
thumb_func_end sub_80AC188
|
|
|
|
thumb_func_start sub_80AC204
|
|
sub_80AC204: @ 80AC204
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r2, _080AC248 @ =gTasks
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r4, r1, r2
|
|
ldrh r0, [r4, 0x8]
|
|
adds r0, 0x1
|
|
strh r0, [r4, 0x8]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r0, 0x2
|
|
ble _080AC242
|
|
movs r0, 0
|
|
strh r0, [r4, 0x8]
|
|
ldrh r0, [r4, 0xA]
|
|
adds r0, 0x1
|
|
strh r0, [r4, 0xA]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r0, 0x2
|
|
bne _080AC242
|
|
bl sub_80B1BDC
|
|
movs r0, 0x1
|
|
bl sub_80B25E4
|
|
ldr r0, _080AC24C @ =sub_80AC250
|
|
str r0, [r4]
|
|
_080AC242:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AC248: .4byte gTasks
|
|
_080AC24C: .4byte sub_80AC250
|
|
thumb_func_end sub_80AC204
|
|
|
|
thumb_func_start sub_80AC250
|
|
sub_80AC250: @ 80AC250
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
ldr r0, _080AC278 @ =0x02019204
|
|
ldrh r1, [r0, 0x6]
|
|
movs r0, 0x90
|
|
lsls r0, 2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _080AC272
|
|
ldr r0, _080AC27C @ =gTasks
|
|
lsls r1, r2, 2
|
|
adds r1, r2
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldr r0, _080AC280 @ =sub_80AC284
|
|
str r0, [r1]
|
|
_080AC272:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AC278: .4byte 0x02019204
|
|
_080AC27C: .4byte gTasks
|
|
_080AC280: .4byte sub_80AC284
|
|
thumb_func_end sub_80AC250
|
|
|
|
thumb_func_start sub_80AC284
|
|
sub_80AC284: @ 80AC284
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r2, _080AC2BC @ =gTasks
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r2, r1, r2
|
|
ldrh r0, [r2, 0x8]
|
|
adds r0, 0x1
|
|
strh r0, [r2, 0x8]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r0, 0x13
|
|
ble _080AC2B6
|
|
ldr r1, _080AC2C0 @ =0x02019204
|
|
movs r0, 0
|
|
strb r0, [r1, 0x10]
|
|
ldr r0, _080AC2C4 @ =gRngValue
|
|
ldr r0, [r0]
|
|
str r0, [r1, 0x18]
|
|
movs r0, 0
|
|
strh r0, [r2, 0x8]
|
|
ldr r0, _080AC2C8 @ =sub_80AC2CC
|
|
str r0, [r2]
|
|
_080AC2B6:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AC2BC: .4byte gTasks
|
|
_080AC2C0: .4byte 0x02019204
|
|
_080AC2C4: .4byte gRngValue
|
|
_080AC2C8: .4byte sub_80AC2CC
|
|
thumb_func_end sub_80AC284
|
|
|
|
thumb_func_start sub_80AC2CC
|
|
sub_80AC2CC: @ 80AC2CC
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x8
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r8, r0
|
|
ldr r2, _080AC308 @ =0x02019204
|
|
ldrb r7, [r2, 0x11]
|
|
ldr r1, _080AC30C @ =gTasks
|
|
lsls r0, 2
|
|
add r0, r8
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
movs r3, 0x8
|
|
ldrsh r0, [r0, r3]
|
|
adds r6, r2, 0
|
|
mov r12, r1
|
|
cmp r0, 0x3B
|
|
bls _080AC2FC
|
|
bl _080AD8CA
|
|
_080AC2FC:
|
|
lsls r0, 2
|
|
ldr r1, _080AC310 @ =_080AC314
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080AC308: .4byte 0x02019204
|
|
_080AC30C: .4byte gTasks
|
|
_080AC310: .4byte _080AC314
|
|
.align 2, 0
|
|
_080AC314:
|
|
.4byte _080AC404
|
|
.4byte _080AC4B4
|
|
.4byte _080AC4D4
|
|
.4byte _080AC534
|
|
.4byte _080AC5E8
|
|
.4byte _080AC638
|
|
.4byte _080AC6F8
|
|
.4byte _080AC730
|
|
.4byte _080AC77C
|
|
.4byte _080AC7F4
|
|
.4byte _080AD750
|
|
.4byte _080AD77C
|
|
.4byte _080AC98C
|
|
.4byte _080AC9C0
|
|
.4byte _080ACEC0
|
|
.4byte _080ACFD4
|
|
.4byte _080AD040
|
|
.4byte _080AD070
|
|
.4byte _080AD168
|
|
.4byte _080AD11A
|
|
.4byte _080AD7B8
|
|
.4byte _080AD868
|
|
.4byte _080AD88C
|
|
.4byte _080AC81E
|
|
.4byte _080AC8CC
|
|
.4byte _080ACAD8
|
|
.4byte _080ACAEE
|
|
.4byte _080ACBB0
|
|
.4byte _080ACBDC
|
|
.4byte _080ACC44
|
|
.4byte _080ACD2A
|
|
.4byte _080AD7E8
|
|
.4byte _080AD840
|
|
.4byte _080AD648
|
|
.4byte _080AD6D8
|
|
.4byte _080AC9EC
|
|
.4byte _080ACA24
|
|
.4byte _080ACA44
|
|
.4byte _080ACA84
|
|
.4byte _080ACC98
|
|
.4byte _080ACD00
|
|
.4byte _080AD1A4
|
|
.4byte _080AD8CA
|
|
.4byte _080AD514
|
|
.4byte _080AD8CA
|
|
.4byte _080ACFA8
|
|
.4byte _080AD0FA
|
|
.4byte _080AC96C
|
|
.4byte _080AC8F8
|
|
.4byte _080AC94C
|
|
.4byte _080ACAAE
|
|
.4byte _080ACDC8
|
|
.4byte _080ACE64
|
|
.4byte _080AD316
|
|
.4byte _080AD3D0
|
|
.4byte _080AD700
|
|
.4byte _080AD71C
|
|
.4byte _080AD53C
|
|
.4byte _080AD5D0
|
|
.4byte _080AD624
|
|
_080AC404:
|
|
bl sub_80B0D7C
|
|
movs r6, 0
|
|
ldr r0, _080AC484 @ =0x02019204
|
|
adds r1, r0, 0
|
|
adds r1, 0xCC
|
|
ldrb r0, [r0, 0x10]
|
|
mov r4, r8
|
|
lsls r4, 2
|
|
mov r9, r4
|
|
ldrb r5, [r1]
|
|
cmp r0, r5
|
|
beq _080AC42C
|
|
adds r2, r1, 0
|
|
adds r1, r0, 0
|
|
_080AC422:
|
|
adds r6, 0x1
|
|
adds r0, r6, r2
|
|
ldrb r0, [r0]
|
|
cmp r1, r0
|
|
bne _080AC422
|
|
_080AC42C:
|
|
ldr r4, _080AC484 @ =0x02019204
|
|
strb r6, [r4, 0x11]
|
|
ldrb r7, [r4, 0x11]
|
|
ldr r0, _080AC488 @ =gUnknown_0203869A
|
|
ldrb r1, [r0]
|
|
movs r5, 0x1
|
|
adds r0, r5, 0
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080AC498
|
|
ldrb r0, [r4, 0x7]
|
|
movs r1, 0x4
|
|
orrs r0, r1
|
|
strb r0, [r4, 0x7]
|
|
bl sub_80AE074
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080AC458
|
|
ldrb r0, [r4, 0x11]
|
|
bl sub_80B114C
|
|
_080AC458:
|
|
ldr r4, _080AC48C @ =sub_80C8C80
|
|
adds r0, r4, 0
|
|
movs r1, 0
|
|
bl CreateTask
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r2, _080AC490 @ =sub_80AD8DC
|
|
adds r1, r4, 0
|
|
bl SetTaskFuncWithFollowupFunc
|
|
bl sub_80AF860
|
|
ldr r1, _080AC494 @ =gTasks
|
|
mov r0, r9
|
|
add r0, r8
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
strh r5, [r0, 0x8]
|
|
bl _080AD8CA
|
|
.align 2, 0
|
|
_080AC484: .4byte 0x02019204
|
|
_080AC488: .4byte gUnknown_0203869A
|
|
_080AC48C: .4byte sub_80C8C80
|
|
_080AC490: .4byte sub_80AD8DC
|
|
_080AC494: .4byte gTasks
|
|
_080AC498:
|
|
adds r0, r7, 0
|
|
bl sub_80B114C
|
|
ldr r0, _080AC4B0 @ =gTasks
|
|
mov r1, r9
|
|
add r1, r8
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
movs r0, 0x2
|
|
strh r0, [r1, 0x8]
|
|
bl _080AD8CA
|
|
.align 2, 0
|
|
_080AC4B0: .4byte gTasks
|
|
_080AC4B4:
|
|
ldrb r1, [r6, 0x7]
|
|
movs r0, 0x4
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080AC4C2
|
|
bl _080AD8CA
|
|
_080AC4C2:
|
|
mov r1, r8
|
|
lsls r0, r1, 2
|
|
add r0, r8
|
|
lsls r0, 3
|
|
add r0, r12
|
|
movs r1, 0x2
|
|
strh r1, [r0, 0x8]
|
|
bl _080AD8CA
|
|
_080AC4D4:
|
|
lsls r0, r7, 3
|
|
subs r0, r7
|
|
lsls r0, 2
|
|
ldr r1, _080AC508 @ =0x02019260
|
|
adds r2, r0, r1
|
|
ldrb r1, [r2, 0xC]
|
|
movs r0, 0x6
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _080AC4F6
|
|
ldrb r1, [r2, 0xB]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
cmp r6, 0
|
|
beq _080AC50C
|
|
_080AC4F6:
|
|
mov r2, r8
|
|
lsls r0, r2, 2
|
|
add r0, r8
|
|
lsls r0, 3
|
|
add r0, r12
|
|
movs r1, 0x1F
|
|
strh r1, [r0, 0x8]
|
|
bl _080AD8CA
|
|
.align 2, 0
|
|
_080AC508: .4byte 0x02019260
|
|
_080AC50C:
|
|
bl sub_80AF138
|
|
adds r0, r7, 0
|
|
movs r1, 0
|
|
bl sub_80B0CDC
|
|
ldr r0, _080AC530 @ =gTasks
|
|
mov r3, r8
|
|
lsls r1, r3, 2
|
|
add r1, r8
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
strh r6, [r1, 0x1C]
|
|
movs r0, 0x3
|
|
strh r0, [r1, 0x8]
|
|
bl _080AD8CA
|
|
.align 2, 0
|
|
_080AC530: .4byte gTasks
|
|
_080AC534:
|
|
mov r4, r8
|
|
lsls r4, 2
|
|
mov r9, r4
|
|
ldr r4, _080AC5C4 @ =0x02019348
|
|
ldr r1, _080AC5C8 @ =gUnknown_02024E84
|
|
movs r2, 0
|
|
adds r0, r1, 0x3
|
|
_080AC542:
|
|
strb r2, [r0]
|
|
subs r0, 0x1
|
|
cmp r0, r1
|
|
bge _080AC542
|
|
movs r6, 0x4
|
|
adds r0, r4, 0
|
|
movs r1, 0
|
|
movs r2, 0x14
|
|
bl memset
|
|
ldr r5, _080AC5CC @ =0xfffffebc
|
|
adds r7, r4, r5
|
|
ldrb r0, [r7, 0x11]
|
|
bl sub_80B28F0
|
|
ldr r3, _080AC5D0 @ =gUnknown_02038570
|
|
ldrb r2, [r7, 0x11]
|
|
lsls r2, 6
|
|
adds r0, r2, r3
|
|
ldrh r0, [r0]
|
|
adds r1, r3, 0
|
|
adds r1, 0x3C
|
|
adds r1, r2, r1
|
|
ldr r1, [r1]
|
|
adds r3, 0x38
|
|
adds r2, r3
|
|
ldr r2, [r2]
|
|
bl sub_80AE9FC
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
ldr r2, _080AC5D4 @ =gSprites
|
|
lsls r0, r5, 4
|
|
adds r0, r5
|
|
lsls r0, 2
|
|
adds r3, r0, r2
|
|
movs r1, 0x78
|
|
strh r1, [r3, 0x24]
|
|
adds r2, 0x1C
|
|
adds r0, r2
|
|
ldr r1, _080AC5D8 @ =sub_80AD8FC
|
|
str r1, [r0]
|
|
ldr r0, _080AC5DC @ =gTasks
|
|
mov r4, r9
|
|
add r4, r8
|
|
lsls r4, 3
|
|
adds r4, r0
|
|
strh r5, [r4, 0xC]
|
|
ldr r1, _080AC5E0 @ =gUnknown_02024BE0
|
|
ldr r0, _080AC5E4 @ =gUnknown_02024C07
|
|
ldrb r0, [r0]
|
|
adds r0, r1
|
|
strb r5, [r0]
|
|
ldrb r0, [r7, 0x11]
|
|
bl sub_80B09E4
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
movs r1, 0
|
|
bl sub_80B0BC4
|
|
strh r6, [r4, 0x8]
|
|
bl _080AD8CA
|
|
.align 2, 0
|
|
_080AC5C4: .4byte 0x02019348
|
|
_080AC5C8: .4byte gUnknown_02024E84
|
|
_080AC5CC: .4byte 0xfffffebc
|
|
_080AC5D0: .4byte gUnknown_02038570
|
|
_080AC5D4: .4byte gSprites
|
|
_080AC5D8: .4byte sub_80AD8FC
|
|
_080AC5DC: .4byte gTasks
|
|
_080AC5E0: .4byte gUnknown_02024BE0
|
|
_080AC5E4: .4byte gUnknown_02024C07
|
|
_080AC5E8:
|
|
mov r1, r8
|
|
lsls r0, r1, 2
|
|
add r0, r8
|
|
lsls r0, 3
|
|
mov r3, r12
|
|
adds r2, r0, r3
|
|
ldrb r5, [r2, 0xC]
|
|
ldr r1, _080AC62C @ =gSprites
|
|
lsls r0, r5, 4
|
|
adds r0, r5
|
|
lsls r0, 2
|
|
adds r1, 0x1C
|
|
adds r0, r1
|
|
ldr r1, [r0]
|
|
ldr r0, _080AC630 @ =SpriteCallbackDummy
|
|
cmp r1, r0
|
|
beq _080AC60E
|
|
bl _080AD8CA
|
|
_080AC60E:
|
|
lsls r0, r7, 2
|
|
ldr r1, _080AC634 @ =0x02019338
|
|
adds r0, r1
|
|
ldrb r1, [r0, 0x2]
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080AC622
|
|
bl _080AD8CA
|
|
_080AC622:
|
|
movs r0, 0x5
|
|
strh r0, [r2, 0x8]
|
|
bl _080AD8CA
|
|
.align 2, 0
|
|
_080AC62C: .4byte gSprites
|
|
_080AC630: .4byte SpriteCallbackDummy
|
|
_080AC634: .4byte 0x02019338
|
|
_080AC638:
|
|
lsls r0, r7, 3
|
|
subs r0, r7
|
|
lsls r0, 2
|
|
ldr r1, _080AC660 @ =0x02019260
|
|
adds r5, r0, r1
|
|
ldrb r1, [r5, 0xC]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080AC664
|
|
mov r4, r8
|
|
lsls r0, r4, 2
|
|
add r0, r8
|
|
lsls r0, 3
|
|
add r0, r12
|
|
movs r1, 0x21
|
|
strh r1, [r0, 0x8]
|
|
bl _080AD8CA
|
|
.align 2, 0
|
|
_080AC660: .4byte 0x02019260
|
|
_080AC664:
|
|
bl sub_80AF138
|
|
ldr r0, _080AC690 @ =gStringVar1
|
|
lsls r1, r7, 6
|
|
ldr r2, _080AC694 @ =gUnknown_02038572
|
|
adds r1, r2
|
|
bl StringCopy
|
|
ldrh r1, [r5, 0x6]
|
|
movs r0, 0xB1
|
|
lsls r0, 1
|
|
cmp r1, r0
|
|
bhi _080AC6A0
|
|
ldr r0, _080AC698 @ =gStringVar2
|
|
adds r2, r1, 0
|
|
movs r1, 0xD
|
|
muls r1, r2
|
|
ldr r2, _080AC69C @ =gMoveNames
|
|
adds r1, r2
|
|
bl StringCopy
|
|
b _080AC6B0
|
|
.align 2, 0
|
|
_080AC690: .4byte gStringVar1
|
|
_080AC694: .4byte gUnknown_02038572
|
|
_080AC698: .4byte gStringVar2
|
|
_080AC69C: .4byte gMoveNames
|
|
_080AC6A0:
|
|
ldr r0, _080AC6E0 @ =gStringVar2
|
|
ldr r2, _080AC6E4 @ =gUnknown_083CC330
|
|
ldrb r1, [r5, 0xA]
|
|
lsls r1, 2
|
|
adds r1, r2
|
|
ldr r1, [r1]
|
|
bl StringCopy
|
|
_080AC6B0:
|
|
ldr r4, _080AC6E8 @ =gStringVar4
|
|
ldr r1, _080AC6EC @ =gUnknown_083CAFD7
|
|
adds r0, r4, 0
|
|
bl StringExpandPlaceholders
|
|
ldr r0, _080AC6F0 @ =gMenuWindow
|
|
movs r2, 0xC2
|
|
lsls r2, 2
|
|
movs r1, 0xF
|
|
str r1, [sp]
|
|
adds r1, r4, 0
|
|
movs r3, 0x1
|
|
bl sub_8002EB0
|
|
ldr r1, _080AC6F4 @ =gTasks
|
|
mov r5, r8
|
|
lsls r0, r5, 2
|
|
add r0, r8
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
movs r1, 0x6
|
|
strh r1, [r0, 0x8]
|
|
bl _080AD8CA
|
|
.align 2, 0
|
|
_080AC6E0: .4byte gStringVar2
|
|
_080AC6E4: .4byte gUnknown_083CC330
|
|
_080AC6E8: .4byte gStringVar4
|
|
_080AC6EC: .4byte gUnknown_083CAFD7
|
|
_080AC6F0: .4byte gMenuWindow
|
|
_080AC6F4: .4byte gTasks
|
|
_080AC6F8:
|
|
ldr r0, _080AC724 @ =gMenuWindow
|
|
bl sub_80037A0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080AC708
|
|
bl _080AD8CA
|
|
_080AC708:
|
|
ldr r0, _080AC728 @ =0x02019204
|
|
adds r0, 0x5A
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
ldr r1, _080AC72C @ =gTasks
|
|
mov r2, r8
|
|
lsls r0, r2, 2
|
|
add r0, r8
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
movs r1, 0x7
|
|
strh r1, [r0, 0x8]
|
|
bl _080AD8CA
|
|
.align 2, 0
|
|
_080AC724: .4byte gMenuWindow
|
|
_080AC728: .4byte 0x02019204
|
|
_080AC72C: .4byte gTasks
|
|
_080AC730:
|
|
ldrb r1, [r6, 0x11]
|
|
lsls r0, r1, 3
|
|
subs r0, r1
|
|
lsls r0, 2
|
|
adds r1, r6, 0
|
|
adds r1, 0x5C
|
|
adds r0, r1
|
|
ldrh r0, [r0, 0x6]
|
|
bl sub_80B2760
|
|
adds r4, r0, 0
|
|
lsls r4, 16
|
|
lsrs r4, 16
|
|
ldrb r0, [r6, 0x11]
|
|
bl sub_80B2790
|
|
ldrb r0, [r6, 0x11]
|
|
bl sub_80B28F0
|
|
adds r0, r4, 0
|
|
bl sub_80B29B4
|
|
adds r0, r4, 0
|
|
bl move_anim_start_t1
|
|
ldr r1, _080AC778 @ =gTasks
|
|
mov r3, r8
|
|
lsls r0, r3, 2
|
|
add r0, r8
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
movs r1, 0x8
|
|
strh r1, [r0, 0x8]
|
|
bl _080AD8CA
|
|
.align 2, 0
|
|
_080AC778: .4byte gTasks
|
|
_080AC77C:
|
|
ldr r0, _080AC7B8 @ =gUnknown_0202F7AC
|
|
ldr r0, [r0]
|
|
bl _call_via_r0
|
|
ldr r0, _080AC7BC @ =gUnknown_0202F7B1
|
|
ldrb r4, [r0]
|
|
cmp r4, 0
|
|
beq _080AC790
|
|
bl _080AD8CA
|
|
_080AC790:
|
|
adds r0, r7, 0
|
|
bl sub_80B28CC
|
|
ldr r1, _080AC7C0 @ =0x02019204
|
|
adds r0, r1, 0
|
|
adds r0, 0x5A
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _080AC7C8
|
|
ldr r0, _080AC7C4 @ =gTasks
|
|
mov r5, r8
|
|
lsls r1, r5, 2
|
|
add r1, r8
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
strh r4, [r1, 0x1C]
|
|
movs r0, 0x9
|
|
strh r0, [r1, 0x8]
|
|
bl _080AD8CA
|
|
.align 2, 0
|
|
_080AC7B8: .4byte gUnknown_0202F7AC
|
|
_080AC7BC: .4byte gUnknown_0202F7B1
|
|
_080AC7C0: .4byte 0x02019204
|
|
_080AC7C4: .4byte gTasks
|
|
_080AC7C8:
|
|
lsls r0, r7, 3
|
|
subs r0, r7
|
|
lsls r0, 2
|
|
adds r1, 0x5C
|
|
adds r0, r1
|
|
ldrb r1, [r0, 0x15]
|
|
movs r0, 0x10
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _080AC7E2
|
|
adds r0, r7, 0
|
|
bl sub_80B03A8
|
|
_080AC7E2:
|
|
bl sub_80B20C4
|
|
ldr r0, _080AC7F0 @ =gTasks
|
|
mov r2, r8
|
|
lsls r1, r2, 2
|
|
b _080AC8E2
|
|
.align 2, 0
|
|
_080AC7F0: .4byte gTasks
|
|
_080AC7F4:
|
|
mov r3, r8
|
|
lsls r0, r3, 2
|
|
add r0, r8
|
|
lsls r0, 3
|
|
mov r4, r12
|
|
adds r2, r0, r4
|
|
ldrh r0, [r2, 0x1C]
|
|
adds r1, r0, 0x1
|
|
strh r1, [r2, 0x1C]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r0, 0x1E
|
|
bgt _080AC812
|
|
bl _080AD8CA
|
|
_080AC812:
|
|
movs r0, 0
|
|
strh r0, [r2, 0x1C]
|
|
movs r0, 0x7
|
|
strh r0, [r2, 0x8]
|
|
bl _080AD8CA
|
|
_080AC81E:
|
|
mov r5, r8
|
|
lsls r3, r5, 2
|
|
adds r0, r3, r5
|
|
lsls r0, 3
|
|
mov r1, r12
|
|
adds r4, r0, r1
|
|
movs r0, 0
|
|
strh r0, [r4, 0xA]
|
|
lsls r2, r7, 3
|
|
subs r0, r2, r7
|
|
lsls r0, 2
|
|
ldr r1, _080AC858 @ =0x02019260
|
|
adds r6, r0, r1
|
|
ldrb r0, [r6, 0x13]
|
|
mov r9, r3
|
|
mov r10, r2
|
|
adds r3, r1, 0
|
|
cmp r0, 0xFF
|
|
beq _080AC85C
|
|
adds r1, r0, 0
|
|
adds r0, r7, 0
|
|
bl sub_80B146C
|
|
movs r0, 0xFF
|
|
strb r0, [r6, 0x13]
|
|
movs r0, 0x18
|
|
strh r0, [r4, 0x8]
|
|
bl _080AD8CA
|
|
.align 2, 0
|
|
_080AC858: .4byte 0x02019260
|
|
_080AC85C:
|
|
ldrb r0, [r6, 0x14]
|
|
cmp r0, 0xFF
|
|
beq _080AC8C4
|
|
movs r6, 0
|
|
cmp r6, r7
|
|
beq _080AC86E
|
|
ldrb r0, [r3, 0x13]
|
|
cmp r0, 0xFF
|
|
bne _080AC886
|
|
_080AC86E:
|
|
adds r6, 0x1
|
|
cmp r6, 0x3
|
|
bgt _080AC886
|
|
cmp r6, r7
|
|
beq _080AC86E
|
|
lsls r0, r6, 3
|
|
subs r0, r6
|
|
lsls r0, 2
|
|
adds r0, r3
|
|
ldrb r0, [r0, 0x13]
|
|
cmp r0, 0xFF
|
|
beq _080AC86E
|
|
_080AC886:
|
|
cmp r6, 0x4
|
|
bne _080AC8B4
|
|
mov r2, r10
|
|
subs r4, r2, r7
|
|
lsls r4, 2
|
|
adds r4, r3
|
|
ldrb r1, [r4, 0x14]
|
|
adds r0, r7, 0
|
|
bl sub_80B146C
|
|
movs r0, 0xFF
|
|
strb r0, [r4, 0x14]
|
|
ldr r1, _080AC8B0 @ =gTasks
|
|
mov r0, r9
|
|
add r0, r8
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
movs r1, 0x18
|
|
strh r1, [r0, 0x8]
|
|
bl _080AD8CA
|
|
.align 2, 0
|
|
_080AC8B0: .4byte gTasks
|
|
_080AC8B4:
|
|
mov r0, r9
|
|
add r0, r8
|
|
lsls r0, 3
|
|
add r0, r12
|
|
movs r1, 0x30
|
|
strh r1, [r0, 0x8]
|
|
bl _080AD8CA
|
|
_080AC8C4:
|
|
movs r0, 0x30
|
|
strh r0, [r4, 0x8]
|
|
bl _080AD8CA
|
|
_080AC8CC:
|
|
ldr r0, _080AC8F0 @ =gMenuWindow
|
|
bl sub_80037A0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080AC8DC
|
|
bl _080AD8CA
|
|
_080AC8DC:
|
|
ldr r0, _080AC8F4 @ =gTasks
|
|
mov r3, r8
|
|
lsls r1, r3, 2
|
|
_080AC8E2:
|
|
add r1, r8
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
movs r0, 0x17
|
|
strh r0, [r1, 0x8]
|
|
bl _080AD8CA
|
|
.align 2, 0
|
|
_080AC8F0: .4byte gMenuWindow
|
|
_080AC8F4: .4byte gTasks
|
|
_080AC8F8:
|
|
lsls r0, r7, 3
|
|
subs r0, r7
|
|
lsls r0, 2
|
|
ldr r1, _080AC914 @ =0x02019260
|
|
adds r0, r1
|
|
ldrb r0, [r0, 0x11]
|
|
movs r3, 0x3
|
|
ands r3, r0
|
|
cmp r3, 0x1
|
|
bne _080AC918
|
|
movs r0, 0x5
|
|
bl sub_80B1710
|
|
b _080AC934
|
|
.align 2, 0
|
|
_080AC914: .4byte 0x02019260
|
|
_080AC918:
|
|
cmp r3, 0x2
|
|
bne _080AC924
|
|
movs r0, 0x6
|
|
bl sub_80B1710
|
|
b _080AC934
|
|
_080AC924:
|
|
cmp r3, 0x3
|
|
beq _080AC92E
|
|
mov r4, r8
|
|
lsls r0, r4, 2
|
|
b _080AC95E
|
|
_080AC92E:
|
|
movs r0, 0x7
|
|
bl sub_80B1710
|
|
_080AC934:
|
|
ldr r0, _080AC948 @ =gTasks
|
|
mov r5, r8
|
|
lsls r1, r5, 2
|
|
add r1, r8
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
movs r0, 0x31
|
|
strh r0, [r1, 0x8]
|
|
bl _080AD8CA
|
|
.align 2, 0
|
|
_080AC948: .4byte gTasks
|
|
_080AC94C:
|
|
ldrb r1, [r6, 0x6]
|
|
movs r0, 0x10
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080AC95A
|
|
bl _080AD8CA
|
|
_080AC95A:
|
|
mov r1, r8
|
|
lsls r0, r1, 2
|
|
_080AC95E:
|
|
add r0, r8
|
|
lsls r0, 3
|
|
add r0, r12
|
|
movs r1, 0x2F
|
|
strh r1, [r0, 0x8]
|
|
bl _080AD8CA
|
|
_080AC96C:
|
|
movs r0, 0x1
|
|
bl sub_80B1FD0
|
|
ldr r0, _080AC988 @ =gTasks
|
|
mov r2, r8
|
|
lsls r1, r2, 2
|
|
add r1, r8
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
movs r0, 0xC
|
|
strh r0, [r1, 0x8]
|
|
bl _080AD8CA
|
|
.align 2, 0
|
|
_080AC988: .4byte gTasks
|
|
_080AC98C:
|
|
lsls r0, r7, 3
|
|
subs r0, r7
|
|
lsls r0, 2
|
|
ldr r1, _080AC9B8 @ =0x02019260
|
|
adds r0, r1
|
|
movs r3, 0x2
|
|
ldrsh r1, [r0, r3]
|
|
movs r0, 0
|
|
adds r2, r7, 0
|
|
bl sub_80AFBA0
|
|
ldr r1, _080AC9BC @ =gTasks
|
|
mov r4, r8
|
|
lsls r0, r4, 2
|
|
add r0, r8
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
movs r1, 0xD
|
|
strh r1, [r0, 0x8]
|
|
bl _080AD8CA
|
|
.align 2, 0
|
|
_080AC9B8: .4byte 0x02019260
|
|
_080AC9BC: .4byte gTasks
|
|
_080AC9C0:
|
|
ldrb r0, [r6, 0x11]
|
|
lsls r0, 2
|
|
movs r5, 0x9A
|
|
lsls r5, 1
|
|
adds r1, r6, r5
|
|
adds r0, r1
|
|
ldrb r1, [r0, 0x2]
|
|
movs r0, 0x4
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080AC9DA
|
|
bl _080AD8CA
|
|
_080AC9DA:
|
|
mov r1, r8
|
|
lsls r0, r1, 2
|
|
add r0, r8
|
|
lsls r0, 3
|
|
add r0, r12
|
|
movs r1, 0x23
|
|
strh r1, [r0, 0x8]
|
|
bl _080AD8CA
|
|
_080AC9EC:
|
|
lsls r0, r7, 3
|
|
subs r0, r7
|
|
lsls r0, 2
|
|
ldr r1, _080ACA1C @ =0x02019260
|
|
adds r0, r1
|
|
ldrb r1, [r0, 0x10]
|
|
movs r0, 0x30
|
|
ands r0, r1
|
|
cmp r0, 0x10
|
|
bne _080ACA06
|
|
movs r0, 0x8
|
|
bl sub_80B1710
|
|
_080ACA06:
|
|
ldr r0, _080ACA20 @ =gTasks
|
|
mov r2, r8
|
|
lsls r1, r2, 2
|
|
add r1, r8
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
movs r0, 0x24
|
|
strh r0, [r1, 0x8]
|
|
bl _080AD8CA
|
|
.align 2, 0
|
|
_080ACA1C: .4byte 0x02019260
|
|
_080ACA20: .4byte gTasks
|
|
_080ACA24:
|
|
ldrb r1, [r6, 0x6]
|
|
movs r0, 0x10
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080ACA32
|
|
bl _080AD8CA
|
|
_080ACA32:
|
|
mov r3, r8
|
|
lsls r0, r3, 2
|
|
add r0, r8
|
|
lsls r0, 3
|
|
add r0, r12
|
|
movs r1, 0x25
|
|
strh r1, [r0, 0x8]
|
|
bl _080AD8CA
|
|
_080ACA44:
|
|
adds r0, r7, 0
|
|
movs r1, 0x1
|
|
bl sub_80AEE54
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080ACA70
|
|
ldr r1, _080ACA6C @ =gTasks
|
|
mov r4, r8
|
|
lsls r0, r4, 2
|
|
add r0, r8
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
movs r1, 0
|
|
strh r1, [r0, 0x1C]
|
|
movs r1, 0x26
|
|
strh r1, [r0, 0x8]
|
|
bl _080AD8CA
|
|
.align 2, 0
|
|
_080ACA6C: .4byte gTasks
|
|
_080ACA70:
|
|
ldr r0, _080ACA80 @ =gTasks
|
|
mov r5, r8
|
|
lsls r1, r5, 2
|
|
add r1, r8
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
b _080ACAA6
|
|
.align 2, 0
|
|
_080ACA80: .4byte gTasks
|
|
_080ACA84:
|
|
mov r1, r8
|
|
lsls r0, r1, 2
|
|
add r0, r8
|
|
lsls r0, 3
|
|
mov r2, r12
|
|
adds r1, r0, r2
|
|
ldrh r0, [r1, 0x1C]
|
|
adds r0, 0x1
|
|
strh r0, [r1, 0x1C]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r0, 0x14
|
|
bgt _080ACAA2
|
|
bl _080AD8CA
|
|
_080ACAA2:
|
|
movs r0, 0
|
|
strh r0, [r1, 0x1C]
|
|
_080ACAA6:
|
|
movs r0, 0x32
|
|
strh r0, [r1, 0x8]
|
|
bl _080AD8CA
|
|
_080ACAAE:
|
|
adds r0, r7, 0
|
|
bl sub_80AF038
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080ACAC0
|
|
movs r0, 0x63
|
|
bl PlaySE
|
|
_080ACAC0:
|
|
ldr r0, _080ACAD4 @ =gTasks
|
|
mov r3, r8
|
|
lsls r1, r3, 2
|
|
add r1, r8
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
movs r0, 0x19
|
|
strh r0, [r1, 0x8]
|
|
bl _080AD8CA
|
|
.align 2, 0
|
|
_080ACAD4: .4byte gTasks
|
|
_080ACAD8:
|
|
mov r4, r8
|
|
lsls r0, r4, 2
|
|
add r0, r8
|
|
lsls r0, 3
|
|
add r0, r12
|
|
movs r1, 0
|
|
strh r1, [r0, 0xA]
|
|
movs r1, 0x1A
|
|
strh r1, [r0, 0x8]
|
|
bl _080AD8CA
|
|
_080ACAEE:
|
|
movs r2, 0
|
|
movs r4, 0
|
|
mov r5, r8
|
|
lsls r1, r5, 2
|
|
adds r0, r1, r5
|
|
lsls r0, 3
|
|
add r0, r12
|
|
movs r3, 0xA
|
|
ldrsh r6, [r0, r3]
|
|
mov r9, r1
|
|
cmp r6, 0x3
|
|
bgt _080ACB58
|
|
ldr r3, _080ACB24 @ =gUnknown_02038696
|
|
ldr r1, _080ACB28 @ =0x02019260
|
|
_080ACB0A:
|
|
movs r4, 0
|
|
movs r2, 0
|
|
cmp r4, r7
|
|
beq _080ACB2C
|
|
ldrb r0, [r3]
|
|
cmp r0, r6
|
|
bne _080ACB2C
|
|
ldrb r0, [r1, 0x13]
|
|
cmp r0, 0xFF
|
|
beq _080ACB2C
|
|
movs r4, 0x1
|
|
b _080ACB60
|
|
.align 2, 0
|
|
_080ACB24: .4byte gUnknown_02038696
|
|
_080ACB28: .4byte 0x02019260
|
|
_080ACB2C:
|
|
adds r2, 0x1
|
|
cmp r2, 0x3
|
|
bgt _080ACB4E
|
|
cmp r2, r7
|
|
beq _080ACB2C
|
|
adds r0, r2, r3
|
|
ldrb r0, [r0]
|
|
cmp r0, r6
|
|
bne _080ACB2C
|
|
lsls r0, r2, 3
|
|
subs r0, r2
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldrb r0, [r0, 0x13]
|
|
cmp r0, 0xFF
|
|
beq _080ACB2C
|
|
movs r4, 0x1
|
|
_080ACB4E:
|
|
cmp r4, 0
|
|
bne _080ACB60
|
|
adds r6, 0x1
|
|
cmp r6, 0x3
|
|
ble _080ACB0A
|
|
_080ACB58:
|
|
lsls r0, r4, 24
|
|
asrs r1, r0, 24
|
|
cmp r1, 0
|
|
beq _080ACB98
|
|
_080ACB60:
|
|
mov r5, r9
|
|
add r5, r8
|
|
lsls r5, 3
|
|
add r5, r12
|
|
ldr r0, _080ACB90 @ =gUnknown_02038696
|
|
adds r0, r2, r0
|
|
ldrb r0, [r0]
|
|
strh r0, [r5, 0xA]
|
|
lsls r0, r2, 24
|
|
lsrs r0, 24
|
|
lsls r4, r2, 3
|
|
subs r4, r2
|
|
lsls r4, 2
|
|
ldr r1, _080ACB94 @ =0x02019260
|
|
adds r4, r1
|
|
ldrb r1, [r4, 0x13]
|
|
bl sub_80B146C
|
|
movs r0, 0xFF
|
|
strb r0, [r4, 0x13]
|
|
movs r0, 0x1B
|
|
strh r0, [r5, 0x8]
|
|
bl _080AD8CA
|
|
.align 2, 0
|
|
_080ACB90: .4byte gUnknown_02038696
|
|
_080ACB94: .4byte 0x02019260
|
|
_080ACB98:
|
|
mov r0, r9
|
|
add r0, r8
|
|
lsls r0, 3
|
|
add r0, r12
|
|
strh r1, [r0, 0xA]
|
|
strh r1, [r0, 0x1C]
|
|
movs r1, 0x33
|
|
strh r1, [r0, 0x8]
|
|
bl sub_80AF120
|
|
bl _080AD8CA
|
|
_080ACBB0:
|
|
ldr r0, _080ACBD4 @ =gMenuWindow
|
|
bl sub_80037A0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080ACBC0
|
|
bl _080AD8CA
|
|
_080ACBC0:
|
|
ldr r0, _080ACBD8 @ =gTasks
|
|
mov r4, r8
|
|
lsls r1, r4, 2
|
|
add r1, r8
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
movs r0, 0x1C
|
|
strh r0, [r1, 0x8]
|
|
bl _080AD8CA
|
|
.align 2, 0
|
|
_080ACBD4: .4byte gMenuWindow
|
|
_080ACBD8: .4byte gTasks
|
|
_080ACBDC:
|
|
movs r6, 0
|
|
mov r5, r8
|
|
lsls r0, r5, 2
|
|
adds r1, r0, r5
|
|
lsls r1, 3
|
|
add r1, r12
|
|
movs r3, 0xA
|
|
ldrsh r2, [r1, r3]
|
|
ldr r1, _080ACC38 @ =gUnknown_02038696
|
|
mov r9, r0
|
|
ldr r3, _080ACC3C @ =0x02019260
|
|
adds r5, r1, 0
|
|
ldrb r4, [r5]
|
|
cmp r2, r4
|
|
beq _080ACC08
|
|
adds r1, r2, 0
|
|
adds r2, r5, 0
|
|
_080ACBFE:
|
|
adds r6, 0x1
|
|
adds r0, r6, r2
|
|
ldrb r0, [r0]
|
|
cmp r1, r0
|
|
bne _080ACBFE
|
|
_080ACC08:
|
|
lsls r0, r6, 3
|
|
subs r0, r6
|
|
lsls r0, 2
|
|
adds r0, r3
|
|
ldrb r1, [r0, 0xE]
|
|
ldrh r0, [r0, 0x2]
|
|
adds r0, r1
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
negs r1, r1
|
|
lsls r2, r6, 24
|
|
lsrs r2, 24
|
|
bl sub_80AFBA0
|
|
ldr r1, _080ACC40 @ =gTasks
|
|
mov r0, r9
|
|
add r0, r8
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
movs r1, 0x1D
|
|
strh r1, [r0, 0x8]
|
|
bl _080AD8CA
|
|
.align 2, 0
|
|
_080ACC38: .4byte gUnknown_02038696
|
|
_080ACC3C: .4byte 0x02019260
|
|
_080ACC40: .4byte gTasks
|
|
_080ACC44:
|
|
movs r6, 0
|
|
mov r5, r8
|
|
lsls r0, r5, 2
|
|
adds r1, r0, r5
|
|
lsls r1, 3
|
|
add r1, r12
|
|
movs r2, 0xA
|
|
ldrsh r3, [r1, r2]
|
|
ldr r1, _080ACC90 @ =gUnknown_02038696
|
|
mov r9, r0
|
|
ldr r2, _080ACC94 @ =0x02019338
|
|
adds r5, r1, 0
|
|
ldrb r4, [r5]
|
|
cmp r3, r4
|
|
beq _080ACC6C
|
|
_080ACC62:
|
|
adds r6, 0x1
|
|
adds r0, r6, r1
|
|
ldrb r0, [r0]
|
|
cmp r3, r0
|
|
bne _080ACC62
|
|
_080ACC6C:
|
|
lsls r0, r6, 2
|
|
adds r0, r2
|
|
ldrb r1, [r0, 0x2]
|
|
movs r0, 0x4
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080ACC7E
|
|
bl _080AD8CA
|
|
_080ACC7E:
|
|
mov r0, r9
|
|
add r0, r8
|
|
lsls r0, 3
|
|
add r0, r12
|
|
movs r1, 0x27
|
|
strh r1, [r0, 0x8]
|
|
bl _080AD8CA
|
|
.align 2, 0
|
|
_080ACC90: .4byte gUnknown_02038696
|
|
_080ACC94: .4byte 0x02019338
|
|
_080ACC98:
|
|
movs r6, 0
|
|
mov r5, r8
|
|
lsls r0, r5, 2
|
|
adds r1, r0, r5
|
|
lsls r1, 3
|
|
add r1, r12
|
|
movs r3, 0xA
|
|
ldrsh r2, [r1, r3]
|
|
ldr r1, _080ACCE8 @ =gUnknown_02038696
|
|
mov r9, r0
|
|
adds r5, r1, 0
|
|
ldrb r4, [r5]
|
|
cmp r2, r4
|
|
beq _080ACCC2
|
|
adds r1, r2, 0
|
|
adds r2, r5, 0
|
|
_080ACCB8:
|
|
adds r6, 0x1
|
|
adds r0, r6, r2
|
|
ldrb r0, [r0]
|
|
cmp r1, r0
|
|
bne _080ACCB8
|
|
_080ACCC2:
|
|
lsls r0, r6, 24
|
|
lsrs r0, 24
|
|
movs r1, 0x1
|
|
bl sub_80AEE54
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080ACCF0
|
|
ldr r1, _080ACCEC @ =gTasks
|
|
mov r0, r9
|
|
add r0, r8
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
movs r1, 0
|
|
strh r1, [r0, 0x1C]
|
|
movs r1, 0x28
|
|
strh r1, [r0, 0x8]
|
|
bl _080AD8CA
|
|
.align 2, 0
|
|
_080ACCE8: .4byte gUnknown_02038696
|
|
_080ACCEC: .4byte gTasks
|
|
_080ACCF0:
|
|
ldr r0, _080ACCFC @ =gTasks
|
|
mov r1, r9
|
|
add r1, r8
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
b _080ACD22
|
|
.align 2, 0
|
|
_080ACCFC: .4byte gTasks
|
|
_080ACD00:
|
|
mov r5, r8
|
|
lsls r0, r5, 2
|
|
add r0, r8
|
|
lsls r0, 3
|
|
mov r2, r12
|
|
adds r1, r0, r2
|
|
ldrh r0, [r1, 0x1C]
|
|
adds r0, 0x1
|
|
strh r0, [r1, 0x1C]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r0, 0x14
|
|
bgt _080ACD1E
|
|
bl _080AD8CA
|
|
_080ACD1E:
|
|
movs r0, 0
|
|
strh r0, [r1, 0x1C]
|
|
_080ACD22:
|
|
movs r0, 0x1E
|
|
strh r0, [r1, 0x8]
|
|
bl _080AD8CA
|
|
_080ACD2A:
|
|
movs r6, 0
|
|
ldr r2, _080ACD78 @ =gUnknown_02038696
|
|
ldrb r3, [r2]
|
|
mov r4, r8
|
|
lsls r1, r4, 2
|
|
adds r0, r1, r4
|
|
lsls r0, 3
|
|
mov r5, r12
|
|
adds r4, r0, r5
|
|
movs r5, 0xA
|
|
ldrsh r0, [r4, r5]
|
|
mov r9, r1
|
|
adds r5, r2, 0
|
|
cmp r3, r0
|
|
beq _080ACD5E
|
|
adds r3, r5, 0
|
|
adds r2, r4, 0
|
|
_080ACD4C:
|
|
adds r6, 0x1
|
|
cmp r6, 0x3
|
|
bgt _080ACD5E
|
|
adds r0, r6, r3
|
|
ldrb r1, [r0]
|
|
movs r4, 0xA
|
|
ldrsh r0, [r2, r4]
|
|
cmp r1, r0
|
|
bne _080ACD4C
|
|
_080ACD5E:
|
|
lsls r4, r6, 24
|
|
lsrs r0, r4, 24
|
|
bl sub_80AF038
|
|
lsls r0, 24
|
|
adds r5, r4, 0
|
|
cmp r0, 0
|
|
beq _080ACD7C
|
|
movs r0, 0x63
|
|
bl PlaySE
|
|
b _080ACD82
|
|
.align 2, 0
|
|
_080ACD78: .4byte gUnknown_02038696
|
|
_080ACD7C:
|
|
movs r0, 0x64
|
|
bl PlaySE
|
|
_080ACD82:
|
|
lsls r0, r6, 3
|
|
subs r0, r6
|
|
lsls r0, 2
|
|
ldr r1, _080ACDC0 @ =0x02019260
|
|
adds r4, r0, r1
|
|
ldrb r1, [r4, 0x15]
|
|
movs r0, 0x20
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080ACDA6
|
|
lsrs r0, r5, 24
|
|
bl sub_80B03A8
|
|
ldrb r1, [r4, 0x15]
|
|
movs r0, 0x21
|
|
negs r0, r0
|
|
ands r0, r1
|
|
strb r0, [r4, 0x15]
|
|
_080ACDA6:
|
|
ldr r0, _080ACDC4 @ =gTasks
|
|
mov r1, r9
|
|
add r1, r8
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldrh r0, [r1, 0xA]
|
|
adds r0, 0x1
|
|
strh r0, [r1, 0xA]
|
|
movs r0, 0x1A
|
|
strh r0, [r1, 0x8]
|
|
bl _080AD8CA
|
|
.align 2, 0
|
|
_080ACDC0: .4byte 0x02019260
|
|
_080ACDC4: .4byte gTasks
|
|
_080ACDC8:
|
|
mov r5, r8
|
|
lsls r2, r5, 2
|
|
adds r0, r2, r5
|
|
lsls r0, 3
|
|
mov r1, r12
|
|
adds r3, r0, r1
|
|
ldrh r0, [r3, 0x1C]
|
|
adds r1, r0, 0x1
|
|
strh r1, [r3, 0x1C]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
mov r9, r2
|
|
cmp r0, 0x9
|
|
bgt _080ACDE8
|
|
bl _080AD8CA
|
|
_080ACDE8:
|
|
movs r0, 0
|
|
strh r0, [r3, 0x1C]
|
|
lsls r0, r7, 3
|
|
subs r0, r7
|
|
lsls r0, 2
|
|
ldr r1, _080ACE48 @ =0x02019260
|
|
adds r2, r0, r1
|
|
ldrb r1, [r2, 0xC]
|
|
movs r0, 0x6
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _080ACE0A
|
|
ldrb r1, [r2, 0x11]
|
|
movs r0, 0x4
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080ACE36
|
|
_080ACE0A:
|
|
bl sub_80AF138
|
|
ldr r0, _080ACE4C @ =gStringVar1
|
|
lsls r1, r7, 6
|
|
ldr r2, _080ACE50 @ =gUnknown_02038572
|
|
adds r1, r2
|
|
bl StringCopy
|
|
ldr r4, _080ACE54 @ =gStringVar4
|
|
ldr r1, _080ACE58 @ =gUnknown_083CC103
|
|
adds r0, r4, 0
|
|
bl StringExpandPlaceholders
|
|
ldr r0, _080ACE5C @ =gMenuWindow
|
|
movs r2, 0xC2
|
|
lsls r2, 2
|
|
movs r1, 0xF
|
|
str r1, [sp]
|
|
adds r1, r4, 0
|
|
movs r3, 0x1
|
|
bl sub_8002EB0
|
|
_080ACE36:
|
|
ldr r0, _080ACE60 @ =gTasks
|
|
mov r1, r9
|
|
add r1, r8
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
movs r0, 0x34
|
|
strh r0, [r1, 0x8]
|
|
bl _080AD8CA
|
|
.align 2, 0
|
|
_080ACE48: .4byte 0x02019260
|
|
_080ACE4C: .4byte gStringVar1
|
|
_080ACE50: .4byte gUnknown_02038572
|
|
_080ACE54: .4byte gStringVar4
|
|
_080ACE58: .4byte gUnknown_083CC103
|
|
_080ACE5C: .4byte gMenuWindow
|
|
_080ACE60: .4byte gTasks
|
|
_080ACE64:
|
|
ldr r0, _080ACE9C @ =gMenuWindow
|
|
bl sub_80037A0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080ACE74
|
|
bl _080AD8CA
|
|
_080ACE74:
|
|
lsls r0, r7, 3
|
|
subs r0, r7
|
|
lsls r0, 2
|
|
ldr r1, _080ACEA0 @ =0x02019260
|
|
adds r0, r1
|
|
ldrb r1, [r0, 0x15]
|
|
movs r0, 0x40
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _080ACEA8
|
|
ldr r0, _080ACEA4 @ =gTasks
|
|
mov r2, r8
|
|
lsls r1, r2, 2
|
|
add r1, r8
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
movs r0, 0x11
|
|
strh r0, [r1, 0x8]
|
|
bl _080AD8CA
|
|
.align 2, 0
|
|
_080ACE9C: .4byte gMenuWindow
|
|
_080ACEA0: .4byte 0x02019260
|
|
_080ACEA4: .4byte gTasks
|
|
_080ACEA8:
|
|
ldr r0, _080ACEBC @ =gTasks
|
|
mov r3, r8
|
|
lsls r1, r3, 2
|
|
add r1, r8
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
movs r0, 0xE
|
|
strh r0, [r1, 0x8]
|
|
bl _080AD8CA
|
|
.align 2, 0
|
|
_080ACEBC: .4byte gTasks
|
|
_080ACEC0:
|
|
lsls r0, r7, 3
|
|
subs r0, r7
|
|
lsls r0, 2
|
|
ldr r1, _080ACEE4 @ =0x02019260
|
|
adds r0, r1
|
|
ldrb r4, [r0, 0x16]
|
|
lsls r4, 24
|
|
lsrs r5, r4, 24
|
|
cmp r5, 0
|
|
beq _080ACF48
|
|
bl sub_80AF138
|
|
asrs r0, r4, 24
|
|
cmp r0, 0x1
|
|
bne _080ACEF0
|
|
ldr r0, _080ACEE8 @ =gMenuWindow
|
|
ldr r1, _080ACEEC @ =gUnknown_083CBD79
|
|
b _080ACEF8
|
|
.align 2, 0
|
|
_080ACEE4: .4byte 0x02019260
|
|
_080ACEE8: .4byte gMenuWindow
|
|
_080ACEEC: .4byte gUnknown_083CBD79
|
|
_080ACEF0:
|
|
cmp r0, 0x2
|
|
bne _080ACF10
|
|
ldr r0, _080ACF08 @ =gMenuWindow
|
|
ldr r1, _080ACF0C @ =gUnknown_083CBD9D
|
|
_080ACEF8:
|
|
movs r2, 0xC2
|
|
lsls r2, 2
|
|
movs r3, 0xF
|
|
str r3, [sp]
|
|
movs r3, 0x1
|
|
bl sub_8002EB0
|
|
b _080ACF22
|
|
.align 2, 0
|
|
_080ACF08: .4byte gMenuWindow
|
|
_080ACF0C: .4byte gUnknown_083CBD9D
|
|
_080ACF10:
|
|
ldr r0, _080ACF3C @ =gMenuWindow
|
|
ldr r1, _080ACF40 @ =gUnknown_083CBDC6
|
|
movs r2, 0xC2
|
|
lsls r2, 2
|
|
movs r3, 0xF
|
|
str r3, [sp]
|
|
movs r3, 0x1
|
|
bl sub_8002EB0
|
|
_080ACF22:
|
|
movs r0, 0x3
|
|
bl sub_80B1710
|
|
ldr r1, _080ACF44 @ =gTasks
|
|
mov r4, r8
|
|
lsls r0, r4, 2
|
|
add r0, r8
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
movs r1, 0
|
|
strh r1, [r0, 0x1C]
|
|
b _080ACF88
|
|
.align 2, 0
|
|
_080ACF3C: .4byte gMenuWindow
|
|
_080ACF40: .4byte gUnknown_083CBDC6
|
|
_080ACF44: .4byte gTasks
|
|
_080ACF48:
|
|
bl sub_80AF138
|
|
ldr r0, _080ACF90 @ =gStringVar1
|
|
lsls r1, r7, 6
|
|
ldr r2, _080ACF94 @ =gUnknown_02038572
|
|
adds r1, r2
|
|
bl StringCopy
|
|
ldr r4, _080ACF98 @ =gStringVar4
|
|
ldr r1, _080ACF9C @ =gUnknown_083CBD52
|
|
adds r0, r4, 0
|
|
bl StringExpandPlaceholders
|
|
ldr r0, _080ACFA0 @ =gMenuWindow
|
|
movs r2, 0xC2
|
|
lsls r2, 2
|
|
movs r1, 0xF
|
|
str r1, [sp]
|
|
adds r1, r4, 0
|
|
movs r3, 0x1
|
|
bl sub_8002EB0
|
|
movs r0, 0x2
|
|
bl sub_80B1710
|
|
ldr r1, _080ACFA4 @ =gTasks
|
|
mov r2, r8
|
|
lsls r0, r2, 2
|
|
add r0, r8
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
strh r5, [r0, 0x1C]
|
|
_080ACF88:
|
|
movs r1, 0x2D
|
|
strh r1, [r0, 0x8]
|
|
bl _080AD8CA
|
|
.align 2, 0
|
|
_080ACF90: .4byte gStringVar1
|
|
_080ACF94: .4byte gUnknown_02038572
|
|
_080ACF98: .4byte gStringVar4
|
|
_080ACF9C: .4byte gUnknown_083CBD52
|
|
_080ACFA0: .4byte gMenuWindow
|
|
_080ACFA4: .4byte gTasks
|
|
_080ACFA8:
|
|
ldrb r1, [r6, 0x6]
|
|
movs r0, 0x10
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080ACFB6
|
|
bl _080AD8CA
|
|
_080ACFB6:
|
|
ldrb r0, [r6, 0x11]
|
|
bl sub_80B09B0
|
|
ldr r1, _080ACFD0 @ =gTasks
|
|
mov r3, r8
|
|
lsls r0, r3, 2
|
|
add r0, r8
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
movs r1, 0xF
|
|
strh r1, [r0, 0x8]
|
|
bl _080AD8CA
|
|
.align 2, 0
|
|
_080ACFD0: .4byte gTasks
|
|
_080ACFD4:
|
|
ldr r0, _080AD034 @ =gMenuWindow
|
|
bl sub_80037A0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080ACFE4
|
|
bl _080AD8CA
|
|
_080ACFE4:
|
|
ldr r1, _080AD038 @ =gTasks
|
|
mov r4, r8
|
|
lsls r0, r4, 2
|
|
add r0, r8
|
|
lsls r0, 3
|
|
adds r4, r0, r1
|
|
ldrh r0, [r4, 0x1C]
|
|
adds r0, 0x1
|
|
strh r0, [r4, 0x1C]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r0, 0x32
|
|
bgt _080AD002
|
|
bl _080AD8CA
|
|
_080AD002:
|
|
lsls r0, r7, 3
|
|
subs r0, r7
|
|
lsls r0, 2
|
|
ldr r1, _080AD03C @ =0x02019260
|
|
adds r6, r0, r1
|
|
ldrb r1, [r6, 0x15]
|
|
movs r5, 0x10
|
|
adds r0, r5, 0
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _080AD02C
|
|
movs r1, 0x2
|
|
ldrsh r0, [r6, r1]
|
|
ldrb r1, [r6, 0x17]
|
|
adds r2, r7, 0
|
|
bl sub_80AFBA0
|
|
ldrh r0, [r6, 0x2]
|
|
ldrb r2, [r6, 0x17]
|
|
adds r0, r2
|
|
strh r0, [r6, 0x2]
|
|
_080AD02C:
|
|
strh r5, [r4, 0x8]
|
|
bl _080AD8CA
|
|
.align 2, 0
|
|
_080AD034: .4byte gMenuWindow
|
|
_080AD038: .4byte gTasks
|
|
_080AD03C: .4byte 0x02019260
|
|
_080AD040:
|
|
lsls r0, r7, 2
|
|
ldr r1, _080AD06C @ =0x02019338
|
|
adds r0, r1
|
|
ldrb r1, [r0, 0x2]
|
|
movs r0, 0x4
|
|
ands r0, r1
|
|
lsls r0, 24
|
|
lsrs r1, r0, 24
|
|
cmp r1, 0
|
|
beq _080AD058
|
|
bl _080AD8CA
|
|
_080AD058:
|
|
mov r3, r8
|
|
lsls r0, r3, 2
|
|
add r0, r8
|
|
lsls r0, 3
|
|
add r0, r12
|
|
strh r1, [r0, 0x1C]
|
|
movs r1, 0x11
|
|
strh r1, [r0, 0x8]
|
|
bl _080AD8CA
|
|
.align 2, 0
|
|
_080AD06C: .4byte 0x02019338
|
|
_080AD070:
|
|
lsls r0, r7, 3
|
|
subs r0, r7
|
|
lsls r0, 2
|
|
ldr r1, _080AD0CC @ =0x02019260
|
|
adds r0, r1
|
|
ldrb r1, [r0, 0x15]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080AD0E8
|
|
bl sub_80AF138
|
|
ldr r0, _080AD0D0 @ =gStringVar1
|
|
lsls r1, r7, 6
|
|
ldr r2, _080AD0D4 @ =gUnknown_02038572
|
|
adds r1, r2
|
|
bl StringCopy
|
|
ldr r4, _080AD0D8 @ =gStringVar4
|
|
ldr r1, _080AD0DC @ =gUnknown_083CC075
|
|
adds r0, r4, 0
|
|
bl StringExpandPlaceholders
|
|
ldr r0, _080AD0E0 @ =gMenuWindow
|
|
movs r2, 0xC2
|
|
lsls r2, 2
|
|
movs r1, 0xF
|
|
str r1, [sp]
|
|
adds r1, r4, 0
|
|
movs r3, 0x1
|
|
bl sub_8002EB0
|
|
ldr r0, _080AD0E4 @ =gTasks
|
|
mov r5, r8
|
|
lsls r4, r5, 2
|
|
add r4, r8
|
|
lsls r4, 3
|
|
adds r4, r0
|
|
movs r0, 0
|
|
strh r0, [r4, 0x1C]
|
|
bl sub_80B1710
|
|
movs r0, 0x2E
|
|
strh r0, [r4, 0x8]
|
|
bl _080AD8CA
|
|
.align 2, 0
|
|
_080AD0CC: .4byte 0x02019260
|
|
_080AD0D0: .4byte gStringVar1
|
|
_080AD0D4: .4byte gUnknown_02038572
|
|
_080AD0D8: .4byte gStringVar4
|
|
_080AD0DC: .4byte gUnknown_083CC075
|
|
_080AD0E0: .4byte gMenuWindow
|
|
_080AD0E4: .4byte gTasks
|
|
_080AD0E8:
|
|
mov r1, r8
|
|
lsls r0, r1, 2
|
|
add r0, r8
|
|
lsls r0, 3
|
|
add r0, r12
|
|
movs r1, 0x29
|
|
strh r1, [r0, 0x8]
|
|
bl _080AD8CA
|
|
_080AD0FA:
|
|
ldrb r1, [r6, 0x6]
|
|
movs r0, 0x10
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080AD108
|
|
bl _080AD8CA
|
|
_080AD108:
|
|
mov r2, r8
|
|
lsls r0, r2, 2
|
|
add r0, r8
|
|
lsls r0, 3
|
|
add r0, r12
|
|
movs r1, 0x13
|
|
strh r1, [r0, 0x8]
|
|
bl _080AD8CA
|
|
_080AD11A:
|
|
ldr r0, _080AD15C @ =gMenuWindow
|
|
bl sub_80037A0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080AD12A
|
|
bl _080AD8CA
|
|
_080AD12A:
|
|
lsls r4, r7, 3
|
|
subs r4, r7
|
|
lsls r4, 2
|
|
ldr r0, _080AD160 @ =0x02019260
|
|
adds r4, r0
|
|
movs r3, 0x2
|
|
ldrsh r0, [r4, r3]
|
|
ldrb r1, [r4, 0x18]
|
|
negs r1, r1
|
|
adds r2, r7, 0
|
|
bl sub_80AFBA0
|
|
ldrb r1, [r4, 0x18]
|
|
ldrh r0, [r4, 0x2]
|
|
subs r0, r1
|
|
strh r0, [r4, 0x2]
|
|
ldr r1, _080AD164 @ =gTasks
|
|
mov r4, r8
|
|
lsls r0, r4, 2
|
|
add r0, r8
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
movs r1, 0x12
|
|
strh r1, [r0, 0x8]
|
|
b _080AD8CA
|
|
.align 2, 0
|
|
_080AD15C: .4byte gMenuWindow
|
|
_080AD160: .4byte 0x02019260
|
|
_080AD164: .4byte gTasks
|
|
_080AD168:
|
|
bl sub_80B0D7C
|
|
lsls r0, r7, 2
|
|
ldr r1, _080AD19C @ =0x02019338
|
|
adds r0, r1
|
|
ldrb r1, [r0, 0x2]
|
|
movs r0, 0x4
|
|
ands r0, r1
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
cmp r6, 0
|
|
beq _080AD182
|
|
b _080AD8CA
|
|
_080AD182:
|
|
ldr r0, _080AD1A0 @ =gTasks
|
|
mov r5, r8
|
|
lsls r4, r5, 2
|
|
add r4, r8
|
|
lsls r4, 3
|
|
adds r4, r0
|
|
strh r6, [r4, 0x1C]
|
|
bl sub_80AF138
|
|
movs r0, 0x29
|
|
strh r0, [r4, 0x8]
|
|
b _080AD8CA
|
|
.align 2, 0
|
|
_080AD19C: .4byte 0x02019338
|
|
_080AD1A0: .4byte gTasks
|
|
_080AD1A4:
|
|
ldr r2, _080AD1CC @ =0x02019328
|
|
ldrb r1, [r2, 0x1]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
adds r1, r2, 0
|
|
cmp r0, 0
|
|
beq _080AD1D0
|
|
ldr r0, [r1]
|
|
lsls r0, 20
|
|
lsrs r0, 29
|
|
cmp r7, r0
|
|
beq _080AD1D0
|
|
mov r1, r8
|
|
lsls r0, r1, 2
|
|
add r0, r8
|
|
lsls r0, 3
|
|
add r0, r12
|
|
movs r1, 0x39
|
|
strh r1, [r0, 0x8]
|
|
b _080AD8CA
|
|
.align 2, 0
|
|
_080AD1CC: .4byte 0x02019328
|
|
_080AD1D0:
|
|
ldrb r4, [r1]
|
|
lsls r2, r7, 3
|
|
subs r0, r2, r7
|
|
lsls r0, 2
|
|
subs r1, 0xC8
|
|
adds r5, r0, r1
|
|
ldrb r1, [r5, 0x11]
|
|
movs r0, 0x10
|
|
ands r0, r1
|
|
mov r10, r2
|
|
cmp r0, 0
|
|
beq _080AD204
|
|
movs r4, 0x1
|
|
ldr r0, _080AD1FC @ =gStringVar3
|
|
ldrh r2, [r5, 0x6]
|
|
movs r1, 0xD
|
|
muls r1, r2
|
|
ldr r2, _080AD200 @ =gMoveNames
|
|
adds r1, r2
|
|
bl StringCopy
|
|
b _080AD21E
|
|
.align 2, 0
|
|
_080AD1FC: .4byte gStringVar3
|
|
_080AD200: .4byte gMoveNames
|
|
_080AD204:
|
|
ldr r0, _080AD270 @ =gStringVar3
|
|
ldr r3, _080AD274 @ =gUnknown_083CC2D8
|
|
ldr r2, _080AD278 @ =gContestMoves
|
|
ldrh r1, [r5, 0x6]
|
|
lsls r1, 3
|
|
adds r1, r2
|
|
ldrb r1, [r1, 0x1]
|
|
lsls r1, 29
|
|
lsrs r1, 27
|
|
adds r1, r3
|
|
ldr r1, [r1]
|
|
bl StringCopy
|
|
_080AD21E:
|
|
lsls r0, r4, 24
|
|
cmp r0, 0
|
|
ble _080AD23A
|
|
mov r2, r10
|
|
subs r0, r2, r7
|
|
lsls r0, 2
|
|
ldr r1, _080AD27C @ =0x02019260
|
|
adds r0, r1
|
|
ldrb r1, [r0, 0x15]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080AD23A
|
|
movs r4, 0
|
|
_080AD23A:
|
|
bl sub_80AF138
|
|
ldr r0, _080AD280 @ =gStringVar1
|
|
lsls r1, r7, 6
|
|
ldr r2, _080AD284 @ =gUnknown_02038572
|
|
adds r1, r2
|
|
bl StringCopy
|
|
ldr r3, _080AD288 @ =0x02019204
|
|
ldrb r0, [r3, 0x13]
|
|
lsls r1, r4, 24
|
|
asrs r2, r1, 24
|
|
adds r0, r2, r0
|
|
strb r0, [r3, 0x13]
|
|
lsls r0, 24
|
|
adds r4, r1, 0
|
|
cmp r0, 0
|
|
bge _080AD262
|
|
movs r0, 0
|
|
strb r0, [r3, 0x13]
|
|
_080AD262:
|
|
cmp r2, 0
|
|
bne _080AD290
|
|
ldr r0, _080AD28C @ =gTasks
|
|
mov r3, r8
|
|
lsls r1, r3, 2
|
|
b _080AD6EC
|
|
.align 2, 0
|
|
_080AD270: .4byte gStringVar3
|
|
_080AD274: .4byte gUnknown_083CC2D8
|
|
_080AD278: .4byte gContestMoves
|
|
_080AD27C: .4byte 0x02019260
|
|
_080AD280: .4byte gStringVar1
|
|
_080AD284: .4byte gUnknown_02038572
|
|
_080AD288: .4byte 0x02019204
|
|
_080AD28C: .4byte gTasks
|
|
_080AD290:
|
|
cmp r2, 0
|
|
bge _080AD2A8
|
|
ldr r0, _080AD2A0 @ =gStringVar4
|
|
ldr r1, _080AD2A4 @ =gUnknown_083CC0BC
|
|
bl StringExpandPlaceholders
|
|
b _080AD2D0
|
|
.align 2, 0
|
|
_080AD2A0: .4byte gStringVar4
|
|
_080AD2A4: .4byte gUnknown_083CC0BC
|
|
_080AD2A8:
|
|
cmp r2, 0
|
|
ble _080AD2C8
|
|
movs r0, 0x13
|
|
ldrsb r0, [r3, r0]
|
|
cmp r0, 0x4
|
|
bgt _080AD2C8
|
|
ldr r0, _080AD2C0 @ =gStringVar4
|
|
ldr r1, _080AD2C4 @ =gUnknown_083CC0A0
|
|
bl StringExpandPlaceholders
|
|
b _080AD2D0
|
|
.align 2, 0
|
|
_080AD2C0: .4byte gStringVar4
|
|
_080AD2C4: .4byte gUnknown_083CC0A0
|
|
_080AD2C8:
|
|
ldr r0, _080AD300 @ =gStringVar4
|
|
ldr r1, _080AD304 @ =gUnknown_083CC0E3
|
|
bl StringExpandPlaceholders
|
|
_080AD2D0:
|
|
ldr r0, _080AD308 @ =gMenuWindow
|
|
ldr r1, _080AD300 @ =gStringVar4
|
|
movs r2, 0xC2
|
|
lsls r2, 2
|
|
movs r3, 0xF
|
|
str r3, [sp]
|
|
movs r3, 0x1
|
|
bl sub_8002EB0
|
|
ldr r1, _080AD30C @ =gTasks
|
|
mov r5, r8
|
|
lsls r0, r5, 2
|
|
add r0, r8
|
|
lsls r0, 3
|
|
adds r1, r0, r1
|
|
movs r0, 0
|
|
strh r0, [r1, 0x1C]
|
|
strh r0, [r1, 0x1E]
|
|
cmp r4, 0
|
|
bge _080AD310
|
|
movs r0, 0x35
|
|
strh r0, [r1, 0x8]
|
|
b _080AD8CA
|
|
.align 2, 0
|
|
_080AD300: .4byte gStringVar4
|
|
_080AD304: .4byte gUnknown_083CC0E3
|
|
_080AD308: .4byte gMenuWindow
|
|
_080AD30C: .4byte gTasks
|
|
_080AD310:
|
|
movs r0, 0x36
|
|
strh r0, [r1, 0x8]
|
|
b _080AD8CA
|
|
_080AD316:
|
|
mov r1, r8
|
|
lsls r0, r1, 2
|
|
add r0, r8
|
|
lsls r0, 3
|
|
mov r2, r12
|
|
adds r4, r0, r2
|
|
movs r3, 0x1C
|
|
ldrsh r2, [r4, r3]
|
|
cmp r2, 0x1
|
|
beq _080AD354
|
|
cmp r2, 0x1
|
|
bgt _080AD334
|
|
cmp r2, 0
|
|
beq _080AD33E
|
|
b _080AD8CA
|
|
_080AD334:
|
|
cmp r2, 0x2
|
|
beq _080AD37C
|
|
cmp r2, 0x3
|
|
beq _080AD3B0
|
|
b _080AD8CA
|
|
_080AD33E:
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
movs r1, 0x1
|
|
bl sub_80B1EA8
|
|
ldr r0, _080AD350 @ =0x00000187
|
|
bl PlayFanfare
|
|
b _080AD3A8
|
|
.align 2, 0
|
|
_080AD350: .4byte 0x00000187
|
|
_080AD354:
|
|
ldrb r0, [r6, 0x7]
|
|
ands r2, r0
|
|
cmp r2, 0
|
|
beq _080AD35E
|
|
b _080AD8CA
|
|
_080AD35E:
|
|
ldr r0, _080AD378 @ =gMenuWindow
|
|
bl sub_80037A0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080AD36C
|
|
b _080AD8CA
|
|
_080AD36C:
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
bl sub_80B1CBC
|
|
b _080AD3A8
|
|
.align 2, 0
|
|
_080AD378: .4byte gMenuWindow
|
|
_080AD37C:
|
|
ldrb r1, [r6, 0x6]
|
|
movs r0, 0x20
|
|
ands r0, r1
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
cmp r2, 0
|
|
beq _080AD38C
|
|
b _080AD8CA
|
|
_080AD38C:
|
|
ldrh r0, [r4, 0x1E]
|
|
adds r1, r0, 0x1
|
|
strh r1, [r4, 0x1E]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r0, 0x1D
|
|
bgt _080AD39C
|
|
b _080AD8CA
|
|
_080AD39C:
|
|
strh r2, [r4, 0x1E]
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
adds r0, r1, 0
|
|
bl sub_80B1EA8
|
|
_080AD3A8:
|
|
ldrh r0, [r4, 0x1C]
|
|
adds r0, 0x1
|
|
strh r0, [r4, 0x1C]
|
|
b _080AD8CA
|
|
_080AD3B0:
|
|
ldr r0, _080AD3CC @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0
|
|
beq _080AD3C2
|
|
b _080AD8CA
|
|
_080AD3C2:
|
|
strh r0, [r4, 0x1C]
|
|
strh r0, [r4, 0x1E]
|
|
movs r0, 0x2B
|
|
strh r0, [r4, 0x8]
|
|
b _080AD8CA
|
|
.align 2, 0
|
|
_080AD3CC: .4byte gPaletteFade
|
|
_080AD3D0:
|
|
mov r4, r8
|
|
lsls r1, r4, 2
|
|
adds r0, r1, r4
|
|
lsls r0, 3
|
|
add r0, r12
|
|
movs r5, 0x1C
|
|
ldrsh r0, [r0, r5]
|
|
mov r9, r1
|
|
cmp r0, 0x4
|
|
bls _080AD3E6
|
|
b _080AD8CA
|
|
_080AD3E6:
|
|
lsls r0, 2
|
|
ldr r1, _080AD3F0 @ =_080AD3F4
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080AD3F0: .4byte _080AD3F4
|
|
.align 2, 0
|
|
_080AD3F4:
|
|
.4byte _080AD408
|
|
.4byte _080AD420
|
|
.4byte _080AD43E
|
|
.4byte _080AD4A0
|
|
.4byte _080AD4EC
|
|
_080AD408:
|
|
ldr r0, _080AD41C @ =gMenuWindow
|
|
bl sub_80037A0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080AD416
|
|
b _080AD8CA
|
|
_080AD416:
|
|
movs r0, 0x1
|
|
movs r1, 0x1
|
|
b _080AD4C8
|
|
.align 2, 0
|
|
_080AD41C: .4byte gMenuWindow
|
|
_080AD420:
|
|
ldrb r1, [r6, 0x7]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080AD42C
|
|
b _080AD8CA
|
|
_080AD42C:
|
|
bl sub_80B1DDC
|
|
movs r0, 0xDF
|
|
bl PlaySE
|
|
movs r0, 0x1
|
|
bl sub_80B1CBC
|
|
b _080AD4CC
|
|
_080AD43E:
|
|
ldrb r1, [r6, 0x6]
|
|
movs r0, 0x20
|
|
ands r0, r1
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
cmp r2, 0
|
|
beq _080AD44E
|
|
b _080AD8CA
|
|
_080AD44E:
|
|
mov r0, r9
|
|
add r0, r8
|
|
lsls r0, 3
|
|
mov r1, r12
|
|
adds r3, r0, r1
|
|
ldrh r0, [r3, 0x1E]
|
|
adds r1, r0, 0x1
|
|
strh r1, [r3, 0x1E]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r0, 0x1D
|
|
bgt _080AD468
|
|
b _080AD8CA
|
|
_080AD468:
|
|
strh r2, [r3, 0x1E]
|
|
lsls r4, r7, 3
|
|
subs r4, r7
|
|
lsls r4, 2
|
|
adds r0, r6, 0
|
|
adds r0, 0x5C
|
|
adds r4, r0
|
|
movs r2, 0x2
|
|
ldrsh r0, [r4, r2]
|
|
movs r1, 0x92
|
|
lsls r1, 1
|
|
adds r5, r6, r1
|
|
movs r1, 0x2
|
|
ldrsb r1, [r5, r1]
|
|
adds r2, r7, 0
|
|
str r3, [sp, 0x4]
|
|
bl sub_80AFBA0
|
|
movs r0, 0x2
|
|
ldrsb r0, [r5, r0]
|
|
ldrh r2, [r4, 0x2]
|
|
adds r0, r2
|
|
strh r0, [r4, 0x2]
|
|
ldr r3, [sp, 0x4]
|
|
ldrh r0, [r3, 0x1C]
|
|
adds r0, 0x1
|
|
strh r0, [r3, 0x1C]
|
|
b _080AD8CA
|
|
_080AD4A0:
|
|
lsls r0, r7, 2
|
|
ldr r2, _080AD4E0 @ =0x02019338
|
|
adds r0, r2
|
|
ldrb r1, [r0, 0x2]
|
|
movs r0, 0x4
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080AD4B2
|
|
b _080AD8CA
|
|
_080AD4B2:
|
|
ldr r3, _080AD4E4 @ =0xfffffecc
|
|
adds r0, r2, r3
|
|
ldrb r1, [r0, 0x6]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080AD4C2
|
|
b _080AD8CA
|
|
_080AD4C2:
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
movs r0, 0x1
|
|
_080AD4C8:
|
|
bl sub_80B1EA8
|
|
_080AD4CC:
|
|
ldr r0, _080AD4E8 @ =gTasks
|
|
mov r1, r9
|
|
add r1, r8
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldrh r0, [r1, 0x1C]
|
|
adds r0, 0x1
|
|
strh r0, [r1, 0x1C]
|
|
b _080AD8CA
|
|
.align 2, 0
|
|
_080AD4E0: .4byte 0x02019338
|
|
_080AD4E4: .4byte 0xfffffecc
|
|
_080AD4E8: .4byte gTasks
|
|
_080AD4EC:
|
|
ldr r0, _080AD510 @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
lsls r0, 24
|
|
lsrs r1, r0, 24
|
|
cmp r1, 0
|
|
beq _080AD4FE
|
|
b _080AD8CA
|
|
_080AD4FE:
|
|
mov r0, r9
|
|
add r0, r8
|
|
lsls r0, 3
|
|
add r0, r12
|
|
strh r1, [r0, 0x1C]
|
|
strh r1, [r0, 0x1E]
|
|
movs r1, 0x2B
|
|
strh r1, [r0, 0x8]
|
|
b _080AD8CA
|
|
.align 2, 0
|
|
_080AD510: .4byte gPaletteFade
|
|
_080AD514:
|
|
lsls r0, r7, 2
|
|
ldr r1, _080AD534 @ =0x02019338
|
|
adds r0, r1
|
|
ldrb r1, [r0, 0x2]
|
|
movs r0, 0x4
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080AD526
|
|
b _080AD8CA
|
|
_080AD526:
|
|
bl sub_80AF138
|
|
ldr r0, _080AD538 @ =gTasks
|
|
mov r4, r8
|
|
lsls r1, r4, 2
|
|
b _080AD6EC
|
|
.align 2, 0
|
|
_080AD534: .4byte 0x02019338
|
|
_080AD538: .4byte gTasks
|
|
_080AD53C:
|
|
bl sub_80AF138
|
|
ldr r0, _080AD5A8 @ =gStringVar3
|
|
ldr r4, _080AD5AC @ =0x02019328
|
|
ldr r1, [r4]
|
|
lsls r1, 20
|
|
lsrs r1, 29
|
|
lsls r1, 6
|
|
ldr r5, _080AD5B0 @ =gUnknown_02038572
|
|
adds r1, r5
|
|
bl StringCopy
|
|
ldr r0, _080AD5B4 @ =gStringVar1
|
|
lsls r1, r7, 6
|
|
adds r1, r5
|
|
bl StringCopy
|
|
ldr r0, _080AD5B8 @ =gStringVar2
|
|
lsls r1, r7, 3
|
|
subs r1, r7
|
|
lsls r1, 2
|
|
subs r4, 0xC8
|
|
adds r1, r4
|
|
ldrh r2, [r1, 0x6]
|
|
movs r1, 0xD
|
|
muls r1, r2
|
|
ldr r2, _080AD5BC @ =gMoveNames
|
|
adds r1, r2
|
|
bl StringCopy
|
|
ldr r4, _080AD5C0 @ =gStringVar4
|
|
ldr r1, _080AD5C4 @ =gUnknown_083CC14A
|
|
adds r0, r4, 0
|
|
bl StringExpandPlaceholders
|
|
ldr r0, _080AD5C8 @ =gMenuWindow
|
|
movs r2, 0xC2
|
|
lsls r2, 2
|
|
movs r1, 0xF
|
|
str r1, [sp]
|
|
adds r1, r4, 0
|
|
movs r3, 0x1
|
|
bl sub_8002EB0
|
|
ldr r1, _080AD5CC @ =gTasks
|
|
mov r5, r8
|
|
lsls r0, r5, 2
|
|
add r0, r8
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
movs r1, 0x3A
|
|
strh r1, [r0, 0x8]
|
|
b _080AD8CA
|
|
.align 2, 0
|
|
_080AD5A8: .4byte gStringVar3
|
|
_080AD5AC: .4byte 0x02019328
|
|
_080AD5B0: .4byte gUnknown_02038572
|
|
_080AD5B4: .4byte gStringVar1
|
|
_080AD5B8: .4byte gStringVar2
|
|
_080AD5BC: .4byte gMoveNames
|
|
_080AD5C0: .4byte gStringVar4
|
|
_080AD5C4: .4byte gUnknown_083CC14A
|
|
_080AD5C8: .4byte gMenuWindow
|
|
_080AD5CC: .4byte gTasks
|
|
_080AD5D0:
|
|
ldr r5, _080AD614 @ =gMenuWindow
|
|
adds r0, r5, 0
|
|
bl sub_80037A0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080AD5E0
|
|
b _080AD8CA
|
|
_080AD5E0:
|
|
bl sub_80AF138
|
|
ldr r4, _080AD618 @ =gStringVar4
|
|
ldr r1, _080AD61C @ =gUnknown_083CC16E
|
|
adds r0, r4, 0
|
|
bl StringExpandPlaceholders
|
|
movs r2, 0xC2
|
|
lsls r2, 2
|
|
movs r0, 0xF
|
|
str r0, [sp]
|
|
adds r0, r5, 0
|
|
adds r1, r4, 0
|
|
movs r3, 0x1
|
|
bl sub_8002EB0
|
|
ldr r1, _080AD620 @ =gTasks
|
|
mov r2, r8
|
|
lsls r0, r2, 2
|
|
add r0, r8
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
movs r1, 0x3B
|
|
strh r1, [r0, 0x8]
|
|
b _080AD8CA
|
|
.align 2, 0
|
|
_080AD614: .4byte gMenuWindow
|
|
_080AD618: .4byte gStringVar4
|
|
_080AD61C: .4byte gUnknown_083CC16E
|
|
_080AD620: .4byte gTasks
|
|
_080AD624:
|
|
ldr r0, _080AD640 @ =gMenuWindow
|
|
bl sub_80037A0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080AD632
|
|
b _080AD8CA
|
|
_080AD632:
|
|
bl sub_80AF138
|
|
ldr r0, _080AD644 @ =gTasks
|
|
mov r3, r8
|
|
lsls r1, r3, 2
|
|
b _080AD6EC
|
|
.align 2, 0
|
|
_080AD640: .4byte gMenuWindow
|
|
_080AD644: .4byte gTasks
|
|
_080AD648:
|
|
lsls r0, r7, 3
|
|
subs r0, r7
|
|
lsls r0, 2
|
|
ldr r1, _080AD6B4 @ =0x02019260
|
|
adds r4, r0, r1
|
|
ldrb r1, [r4, 0x15]
|
|
movs r0, 0x10
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080AD664
|
|
movs r0, 0x11
|
|
negs r0, r0
|
|
ands r0, r1
|
|
strb r0, [r4, 0x15]
|
|
_080AD664:
|
|
adds r0, r7, 0
|
|
bl sub_80B09B0
|
|
ldr r0, _080AD6B8 @ =gStringVar1
|
|
lsls r1, r7, 6
|
|
ldr r2, _080AD6BC @ =gUnknown_02038572
|
|
adds r1, r2
|
|
bl StringCopy
|
|
ldr r0, _080AD6C0 @ =gStringVar2
|
|
ldrh r2, [r4, 0x6]
|
|
movs r1, 0xD
|
|
muls r1, r2
|
|
ldr r2, _080AD6C4 @ =gMoveNames
|
|
adds r1, r2
|
|
bl StringCopy
|
|
ldr r4, _080AD6C8 @ =gStringVar4
|
|
ldr r1, _080AD6CC @ =gUnknown_083CBF60
|
|
adds r0, r4, 0
|
|
bl StringExpandPlaceholders
|
|
ldr r0, _080AD6D0 @ =gMenuWindow
|
|
movs r2, 0xC2
|
|
lsls r2, 2
|
|
movs r1, 0xF
|
|
str r1, [sp]
|
|
adds r1, r4, 0
|
|
movs r3, 0x1
|
|
bl sub_8002EB0
|
|
ldr r1, _080AD6D4 @ =gTasks
|
|
mov r4, r8
|
|
lsls r0, r4, 2
|
|
add r0, r8
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
movs r1, 0x22
|
|
strh r1, [r0, 0x8]
|
|
b _080AD8CA
|
|
.align 2, 0
|
|
_080AD6B4: .4byte 0x02019260
|
|
_080AD6B8: .4byte gStringVar1
|
|
_080AD6BC: .4byte gUnknown_02038572
|
|
_080AD6C0: .4byte gStringVar2
|
|
_080AD6C4: .4byte gMoveNames
|
|
_080AD6C8: .4byte gStringVar4
|
|
_080AD6CC: .4byte gUnknown_083CBF60
|
|
_080AD6D0: .4byte gMenuWindow
|
|
_080AD6D4: .4byte gTasks
|
|
_080AD6D8:
|
|
ldr r0, _080AD6F8 @ =gMenuWindow
|
|
bl sub_80037A0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080AD6E6
|
|
b _080AD8CA
|
|
_080AD6E6:
|
|
ldr r0, _080AD6FC @ =gTasks
|
|
mov r5, r8
|
|
lsls r1, r5, 2
|
|
_080AD6EC:
|
|
add r1, r8
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
movs r0, 0x37
|
|
strh r0, [r1, 0x8]
|
|
b _080AD8CA
|
|
.align 2, 0
|
|
_080AD6F8: .4byte gMenuWindow
|
|
_080AD6FC: .4byte gTasks
|
|
_080AD700:
|
|
bl sub_80B1BDC
|
|
ldr r0, _080AD718 @ =gTasks
|
|
mov r2, r8
|
|
lsls r1, r2, 2
|
|
add r1, r8
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
movs r0, 0x38
|
|
strh r0, [r1, 0x8]
|
|
b _080AD8CA
|
|
.align 2, 0
|
|
_080AD718: .4byte gTasks
|
|
_080AD71C:
|
|
ldrb r1, [r6, 0x6]
|
|
movs r0, 0x40
|
|
ands r0, r1
|
|
lsls r0, 24
|
|
lsrs r1, r0, 24
|
|
cmp r1, 0
|
|
beq _080AD72C
|
|
b _080AD8CA
|
|
_080AD72C:
|
|
movs r0, 0x13
|
|
ldrsb r0, [r6, r0]
|
|
cmp r0, 0x4
|
|
ble _080AD73A
|
|
strb r1, [r6, 0x13]
|
|
bl sub_80B1928
|
|
_080AD73A:
|
|
ldr r0, _080AD74C @ =gTasks
|
|
mov r3, r8
|
|
lsls r1, r3, 2
|
|
add r1, r8
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
movs r0, 0xA
|
|
strh r0, [r1, 0x8]
|
|
b _080AD8CA
|
|
.align 2, 0
|
|
_080AD74C: .4byte gTasks
|
|
_080AD750:
|
|
mov r4, r8
|
|
lsls r2, r4, 2
|
|
add r2, r8
|
|
lsls r2, 3
|
|
add r2, r12
|
|
ldrb r5, [r2, 0xC]
|
|
ldr r1, _080AD774 @ =gSprites
|
|
lsls r0, r5, 4
|
|
adds r0, r5
|
|
lsls r0, 2
|
|
adds r1, 0x1C
|
|
adds r0, r1
|
|
ldr r1, _080AD778 @ =sub_80AD92C
|
|
str r1, [r0]
|
|
movs r0, 0xB
|
|
strh r0, [r2, 0x8]
|
|
b _080AD8CA
|
|
.align 2, 0
|
|
_080AD774: .4byte gSprites
|
|
_080AD778: .4byte sub_80AD92C
|
|
_080AD77C:
|
|
mov r5, r8
|
|
lsls r0, r5, 2
|
|
add r0, r8
|
|
lsls r0, 3
|
|
mov r1, r12
|
|
adds r4, r0, r1
|
|
ldrb r5, [r4, 0xC]
|
|
ldr r1, _080AD7B4 @ =gSprites
|
|
lsls r0, r5, 4
|
|
adds r0, r5
|
|
lsls r0, 2
|
|
adds r6, r0, r1
|
|
adds r0, r6, 0
|
|
adds r0, 0x3E
|
|
ldrb r0, [r0]
|
|
lsls r0, 29
|
|
cmp r0, 0
|
|
blt _080AD7A2
|
|
b _080AD8CA
|
|
_080AD7A2:
|
|
adds r0, r6, 0
|
|
bl FreeSpriteOamMatrix
|
|
adds r0, r6, 0
|
|
bl DestroySprite
|
|
movs r0, 0x14
|
|
strh r0, [r4, 0x8]
|
|
b _080AD8CA
|
|
.align 2, 0
|
|
_080AD7B4: .4byte gSprites
|
|
_080AD7B8:
|
|
movs r6, 0
|
|
mov r2, r8
|
|
lsls r2, 2
|
|
mov r9, r2
|
|
_080AD7C0:
|
|
lsls r0, r6, 24
|
|
lsrs r0, 24
|
|
movs r1, 0x1
|
|
bl sub_80B0CDC
|
|
adds r6, 0x1
|
|
cmp r6, 0x3
|
|
ble _080AD7C0
|
|
ldr r1, _080AD7E4 @ =gTasks
|
|
mov r0, r9
|
|
add r0, r8
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
movs r1, 0
|
|
strh r1, [r0, 0x1C]
|
|
movs r1, 0x15
|
|
strh r1, [r0, 0x8]
|
|
b _080AD8CA
|
|
.align 2, 0
|
|
_080AD7E4: .4byte gTasks
|
|
_080AD7E8:
|
|
bl sub_80AF138
|
|
ldr r0, _080AD828 @ =gStringVar1
|
|
lsls r1, r7, 6
|
|
ldr r2, _080AD82C @ =gUnknown_02038572
|
|
adds r1, r2
|
|
bl StringCopy
|
|
ldr r4, _080AD830 @ =gStringVar4
|
|
ldr r1, _080AD834 @ =gUnknown_083CB00D
|
|
adds r0, r4, 0
|
|
bl StringExpandPlaceholders
|
|
ldr r0, _080AD838 @ =gMenuWindow
|
|
movs r2, 0xC2
|
|
lsls r2, 2
|
|
movs r1, 0xF
|
|
str r1, [sp]
|
|
adds r1, r4, 0
|
|
movs r3, 0x1
|
|
bl sub_8002EB0
|
|
ldr r1, _080AD83C @ =gTasks
|
|
mov r3, r8
|
|
lsls r0, r3, 2
|
|
add r0, r8
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
movs r1, 0x20
|
|
strh r1, [r0, 0x8]
|
|
b _080AD8CA
|
|
.align 2, 0
|
|
_080AD828: .4byte gStringVar1
|
|
_080AD82C: .4byte gUnknown_02038572
|
|
_080AD830: .4byte gStringVar4
|
|
_080AD834: .4byte gUnknown_083CB00D
|
|
_080AD838: .4byte gMenuWindow
|
|
_080AD83C: .4byte gTasks
|
|
_080AD840:
|
|
ldr r0, _080AD860 @ =gMenuWindow
|
|
bl sub_80037A0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080AD8CA
|
|
ldr r0, _080AD864 @ =gTasks
|
|
mov r4, r8
|
|
lsls r1, r4, 2
|
|
add r1, r8
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
movs r0, 0x15
|
|
strh r0, [r1, 0x8]
|
|
b _080AD8CA
|
|
.align 2, 0
|
|
_080AD860: .4byte gMenuWindow
|
|
_080AD864: .4byte gTasks
|
|
_080AD868:
|
|
mov r5, r8
|
|
lsls r0, r5, 2
|
|
add r0, r8
|
|
lsls r0, 3
|
|
mov r2, r12
|
|
adds r1, r0, r2
|
|
ldrh r0, [r1, 0x1C]
|
|
adds r0, 0x1
|
|
strh r0, [r1, 0x1C]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r0, 0x1D
|
|
ble _080AD8CA
|
|
movs r0, 0
|
|
strh r0, [r1, 0x1C]
|
|
movs r0, 0x16
|
|
strh r0, [r1, 0x8]
|
|
b _080AD8CA
|
|
_080AD88C:
|
|
ldrb r0, [r6, 0x10]
|
|
adds r0, 0x1
|
|
movs r1, 0
|
|
strb r0, [r6, 0x10]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x4
|
|
bne _080AD8B8
|
|
mov r3, r8
|
|
lsls r0, r3, 2
|
|
add r0, r8
|
|
lsls r0, 3
|
|
add r0, r12
|
|
strh r1, [r0, 0x8]
|
|
strh r1, [r0, 0xA]
|
|
strh r1, [r0, 0xC]
|
|
ldr r1, _080AD8B4 @ =sub_80AD960
|
|
str r1, [r0]
|
|
b _080AD8C4
|
|
.align 2, 0
|
|
_080AD8B4: .4byte sub_80AD960
|
|
_080AD8B8:
|
|
mov r4, r8
|
|
lsls r0, r4, 2
|
|
add r0, r8
|
|
lsls r0, 3
|
|
add r0, r12
|
|
strh r1, [r0, 0x8]
|
|
_080AD8C4:
|
|
movs r0, 0
|
|
bl nullsub_18
|
|
_080AD8CA:
|
|
add sp, 0x8
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80AC2CC
|
|
|
|
thumb_func_start sub_80AD8DC
|
|
sub_80AD8DC: @ 80AD8DC
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r3, _080AD8F8 @ =0x02019204
|
|
ldrb r2, [r3, 0x7]
|
|
movs r1, 0x5
|
|
negs r1, r1
|
|
ands r1, r2
|
|
strb r1, [r3, 0x7]
|
|
bl DestroyTask
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AD8F8: .4byte 0x02019204
|
|
thumb_func_end sub_80AD8DC
|
|
|
|
thumb_func_start sub_80AD8FC
|
|
sub_80AD8FC: @ 80AD8FC
|
|
push {lr}
|
|
adds r1, r0, 0
|
|
ldrh r0, [r1, 0x24]
|
|
movs r3, 0x24
|
|
ldrsh r2, [r1, r3]
|
|
cmp r2, 0
|
|
beq _080AD910
|
|
subs r0, 0x2
|
|
strh r0, [r1, 0x24]
|
|
b _080AD924
|
|
_080AD910:
|
|
ldrh r0, [r1, 0x2E]
|
|
adds r0, 0x1
|
|
strh r0, [r1, 0x2E]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r0, 0x1F
|
|
bne _080AD924
|
|
strh r2, [r1, 0x2E]
|
|
ldr r0, _080AD928 @ =SpriteCallbackDummy
|
|
str r0, [r1, 0x1C]
|
|
_080AD924:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AD928: .4byte SpriteCallbackDummy
|
|
thumb_func_end sub_80AD8FC
|
|
|
|
thumb_func_start sub_80AD92C
|
|
sub_80AD92C: @ 80AD92C
|
|
push {lr}
|
|
adds r2, r0, 0
|
|
ldrh r0, [r2, 0x24]
|
|
subs r0, 0x6
|
|
strh r0, [r2, 0x24]
|
|
movs r1, 0x20
|
|
ldrsh r0, [r2, r1]
|
|
movs r3, 0x24
|
|
ldrsh r1, [r2, r3]
|
|
adds r0, r1
|
|
movs r1, 0x20
|
|
negs r1, r1
|
|
cmp r0, r1
|
|
bge _080AD956
|
|
ldr r0, _080AD95C @ =SpriteCallbackDummy
|
|
str r0, [r2, 0x1C]
|
|
adds r2, 0x3E
|
|
ldrb r0, [r2]
|
|
movs r1, 0x4
|
|
orrs r0, r1
|
|
strb r0, [r2]
|
|
_080AD956:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AD95C: .4byte SpriteCallbackDummy
|
|
thumb_func_end sub_80AD92C
|
|
|
|
thumb_func_start sub_80AD960
|
|
sub_80AD960: @ 80AD960
|
|
push {r4-r6,lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r2, _080AD984 @ =gTasks
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r5, r1, r2
|
|
movs r1, 0x8
|
|
ldrsh r0, [r5, r1]
|
|
cmp r0, 0x1
|
|
beq _080AD9F2
|
|
cmp r0, 0x1
|
|
bgt _080AD988
|
|
cmp r0, 0
|
|
beq _080AD98E
|
|
b _080ADA10
|
|
.align 2, 0
|
|
_080AD984: .4byte gTasks
|
|
_080AD988:
|
|
cmp r0, 0x2
|
|
beq _080ADA08
|
|
b _080ADA10
|
|
_080AD98E:
|
|
ldr r0, _080AD9D8 @ =gUnknown_0203869A
|
|
ldrb r1, [r0]
|
|
movs r6, 0x1
|
|
adds r0, r6, 0
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080AD9E8
|
|
ldr r2, _080AD9DC @ =0x02019204
|
|
ldrb r0, [r2, 0x7]
|
|
movs r1, 0x4
|
|
orrs r0, r1
|
|
strb r0, [r2, 0x7]
|
|
bl sub_80AE074
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080AD9B8
|
|
bl sub_80AF2FC
|
|
bl sub_80AF3C0
|
|
_080AD9B8:
|
|
ldr r4, _080AD9E0 @ =sub_80C8C80
|
|
adds r0, r4, 0
|
|
movs r1, 0
|
|
bl CreateTask
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r2, _080AD9E4 @ =sub_80AD8DC
|
|
adds r1, r4, 0
|
|
bl SetTaskFuncWithFollowupFunc
|
|
bl sub_80AF860
|
|
strh r6, [r5, 0x8]
|
|
b _080ADA10
|
|
.align 2, 0
|
|
_080AD9D8: .4byte gUnknown_0203869A
|
|
_080AD9DC: .4byte 0x02019204
|
|
_080AD9E0: .4byte sub_80C8C80
|
|
_080AD9E4: .4byte sub_80AD8DC
|
|
_080AD9E8:
|
|
bl sub_80AF2FC
|
|
bl sub_80AF3C0
|
|
b _080AD9FE
|
|
_080AD9F2:
|
|
ldr r0, _080ADA04 @ =0x02019204
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x4
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _080ADA10
|
|
_080AD9FE:
|
|
movs r0, 0x2
|
|
strh r0, [r5, 0x8]
|
|
b _080ADA10
|
|
.align 2, 0
|
|
_080ADA04: .4byte 0x02019204
|
|
_080ADA08:
|
|
movs r0, 0
|
|
strh r0, [r5, 0x8]
|
|
ldr r0, _080ADA18 @ =sub_80ADA1C
|
|
str r0, [r5]
|
|
_080ADA10:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080ADA18: .4byte sub_80ADA1C
|
|
thumb_func_end sub_80AD960
|
|
|
|
thumb_func_start sub_80ADA1C
|
|
sub_80ADA1C: @ 80ADA1C
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
movs r0, 0
|
|
bl sub_80B1FD0
|
|
ldr r1, _080ADA44 @ =gTasks
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
movs r1, 0
|
|
strh r1, [r0, 0x8]
|
|
strh r1, [r0, 0xA]
|
|
ldr r1, _080ADA48 @ =sub_80ADA4C
|
|
str r1, [r0]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080ADA44: .4byte gTasks
|
|
_080ADA48: .4byte sub_80ADA4C
|
|
thumb_func_end sub_80ADA1C
|
|
|
|
thumb_func_start sub_80ADA4C
|
|
sub_80ADA4C: @ 80ADA4C
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r2, _080ADA70 @ =gTasks
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r4, r1, r2
|
|
movs r0, 0x8
|
|
ldrsh r5, [r4, r0]
|
|
cmp r5, 0x1
|
|
beq _080ADA92
|
|
cmp r5, 0x1
|
|
bgt _080ADA74
|
|
cmp r5, 0
|
|
beq _080ADA7A
|
|
b _080ADACE
|
|
.align 2, 0
|
|
_080ADA70: .4byte gTasks
|
|
_080ADA74:
|
|
cmp r5, 0x2
|
|
beq _080ADAC0
|
|
b _080ADACE
|
|
_080ADA7A:
|
|
ldrh r0, [r4, 0xA]
|
|
adds r0, 0x1
|
|
strh r0, [r4, 0xA]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r0, 0x14
|
|
ble _080ADACE
|
|
movs r0, 0x2
|
|
bl sub_80B25E4
|
|
strh r5, [r4, 0xA]
|
|
b _080ADAB2
|
|
_080ADA92:
|
|
ldr r0, _080ADABC @ =0x02019204
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
lsls r0, 24
|
|
lsrs r1, r0, 24
|
|
cmp r1, 0
|
|
bne _080ADACE
|
|
ldrh r0, [r4, 0xA]
|
|
adds r0, 0x1
|
|
strh r0, [r4, 0xA]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r0, 0x14
|
|
ble _080ADACE
|
|
strh r1, [r4, 0xA]
|
|
_080ADAB2:
|
|
ldrh r0, [r4, 0x8]
|
|
adds r0, 0x1
|
|
strh r0, [r4, 0x8]
|
|
b _080ADACE
|
|
.align 2, 0
|
|
_080ADABC: .4byte 0x02019204
|
|
_080ADAC0:
|
|
bl sub_80AFF10
|
|
movs r0, 0
|
|
strh r0, [r4, 0x8]
|
|
strh r0, [r4, 0xA]
|
|
ldr r0, _080ADAD4 @ =sub_80ADAD8
|
|
str r0, [r4]
|
|
_080ADACE:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080ADAD4: .4byte sub_80ADAD8
|
|
thumb_func_end sub_80ADA4C
|
|
|
|
thumb_func_start sub_80ADAD8
|
|
sub_80ADAD8: @ 80ADAD8
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
bl sub_80AFF28
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080ADAF6
|
|
ldr r0, _080ADAFC @ =gTasks
|
|
lsls r1, r4, 2
|
|
adds r1, r4
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldr r0, _080ADB00 @ =sub_80ADB04
|
|
str r0, [r1]
|
|
_080ADAF6:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080ADAFC: .4byte gTasks
|
|
_080ADB00: .4byte sub_80ADB04
|
|
thumb_func_end sub_80ADAD8
|
|
|
|
thumb_func_start sub_80ADB04
|
|
sub_80ADB04: @ 80ADB04
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r2, _080ADB30 @ =0x02018204
|
|
ldr r3, _080ADB34 @ =gPlttBufferUnfaded
|
|
ldr r1, _080ADB38 @ =0x040000d4
|
|
str r2, [r1]
|
|
str r3, [r1, 0x4]
|
|
ldr r2, _080ADB3C @ =0x84000100
|
|
str r2, [r1, 0x8]
|
|
ldr r1, [r1, 0x8]
|
|
ldr r2, _080ADB40 @ =gTasks
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r1, r2
|
|
movs r0, 0
|
|
strh r0, [r1, 0x8]
|
|
movs r0, 0x2
|
|
strh r0, [r1, 0xA]
|
|
ldr r0, _080ADB44 @ =sub_80ADB48
|
|
str r0, [r1]
|
|
bx lr
|
|
.align 2, 0
|
|
_080ADB30: .4byte 0x02018204
|
|
_080ADB34: .4byte gPlttBufferUnfaded
|
|
_080ADB38: .4byte 0x040000d4
|
|
_080ADB3C: .4byte 0x84000100
|
|
_080ADB40: .4byte gTasks
|
|
_080ADB44: .4byte sub_80ADB48
|
|
thumb_func_end sub_80ADB04
|
|
|
|
thumb_func_start sub_80ADB48
|
|
sub_80ADB48: @ 80ADB48
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r2, _080ADB80 @ =gTasks
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r1, r2
|
|
ldrh r0, [r1, 0x8]
|
|
adds r0, 0x1
|
|
strh r0, [r1, 0x8]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r0, 0x2
|
|
ble _080ADB7A
|
|
movs r0, 0
|
|
strh r0, [r1, 0x8]
|
|
ldrh r0, [r1, 0xA]
|
|
subs r0, 0x1
|
|
strh r0, [r1, 0xA]
|
|
lsls r0, 16
|
|
cmp r0, 0
|
|
bne _080ADB7A
|
|
ldr r0, _080ADB84 @ =sub_80ADB88
|
|
str r0, [r1]
|
|
_080ADB7A:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080ADB80: .4byte gTasks
|
|
_080ADB84: .4byte sub_80ADB88
|
|
thumb_func_end sub_80ADB48
|
|
|
|
thumb_func_start sub_80ADB88
|
|
sub_80ADB88: @ 80ADB88
|
|
push {r4-r6,lr}
|
|
sub sp, 0x4
|
|
adds r5, r0, 0
|
|
lsls r5, 24
|
|
lsrs r5, 24
|
|
ldr r6, _080ADBEC @ =gUnknown_02038695
|
|
ldrb r1, [r6]
|
|
lsls r0, r1, 3
|
|
subs r0, r1
|
|
lsls r0, 2
|
|
ldr r1, _080ADBF0 @ =0x02019260
|
|
adds r0, r1
|
|
ldrb r4, [r0, 0x1A]
|
|
bl sub_80AF138
|
|
ldr r0, _080ADBF4 @ =gStringVar1
|
|
ldrb r1, [r6]
|
|
lsls r1, 6
|
|
ldr r2, _080ADBF8 @ =gUnknown_02038572
|
|
adds r1, r2
|
|
bl StringCopy
|
|
ldr r6, _080ADBFC @ =gStringVar4
|
|
ldr r0, _080ADC00 @ =gUnknown_083CB2F0
|
|
lsls r4, 2
|
|
adds r4, r0
|
|
ldr r1, [r4]
|
|
adds r0, r6, 0
|
|
bl StringExpandPlaceholders
|
|
ldr r0, _080ADC04 @ =gMenuWindow
|
|
movs r2, 0xC2
|
|
lsls r2, 2
|
|
movs r1, 0xF
|
|
str r1, [sp]
|
|
adds r1, r6, 0
|
|
movs r3, 0x1
|
|
bl sub_8002EB0
|
|
ldr r1, _080ADC08 @ =gTasks
|
|
lsls r0, r5, 2
|
|
adds r0, r5
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _080ADC0C @ =sub_80ADC10
|
|
str r1, [r0]
|
|
add sp, 0x4
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080ADBEC: .4byte gUnknown_02038695
|
|
_080ADBF0: .4byte 0x02019260
|
|
_080ADBF4: .4byte gStringVar1
|
|
_080ADBF8: .4byte gUnknown_02038572
|
|
_080ADBFC: .4byte gStringVar4
|
|
_080ADC00: .4byte gUnknown_083CB2F0
|
|
_080ADC04: .4byte gMenuWindow
|
|
_080ADC08: .4byte gTasks
|
|
_080ADC0C: .4byte sub_80ADC10
|
|
thumb_func_end sub_80ADB88
|
|
|
|
thumb_func_start sub_80ADC10
|
|
sub_80ADC10: @ 80ADC10
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
ldr r0, _080ADC40 @ =gMenuWindow
|
|
bl sub_80037A0
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
bne _080ADC3A
|
|
ldr r1, _080ADC44 @ =gTasks
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
movs r1, 0
|
|
strh r1, [r0, 0x8]
|
|
ldr r1, _080ADC48 @ =sub_80ADC4C
|
|
str r1, [r0]
|
|
bl sub_80B0D7C
|
|
_080ADC3A:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080ADC40: .4byte gMenuWindow
|
|
_080ADC44: .4byte gTasks
|
|
_080ADC48: .4byte sub_80ADC4C
|
|
thumb_func_end sub_80ADC10
|
|
|
|
thumb_func_start sub_80ADC4C
|
|
sub_80ADC4C: @ 80ADC4C
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r2, _080ADC7C @ =gTasks
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r4, r1, r2
|
|
ldrh r0, [r4, 0x8]
|
|
adds r1, r0, 0x1
|
|
strh r1, [r4, 0x8]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r0, 0x1D
|
|
ble _080ADC76
|
|
movs r0, 0
|
|
strh r0, [r4, 0x8]
|
|
bl sub_80AFF10
|
|
ldr r0, _080ADC80 @ =sub_80ADC84
|
|
str r0, [r4]
|
|
_080ADC76:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080ADC7C: .4byte gTasks
|
|
_080ADC80: .4byte sub_80ADC84
|
|
thumb_func_end sub_80ADC4C
|
|
|
|
thumb_func_start sub_80ADC84
|
|
sub_80ADC84: @ 80ADC84
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
bl sub_80AFF28
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080ADCA6
|
|
ldr r1, _080ADCAC @ =gTasks
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
movs r1, 0
|
|
strh r1, [r0, 0x8]
|
|
ldr r1, _080ADCB0 @ =sub_80ADCB4
|
|
str r1, [r0]
|
|
_080ADCA6:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080ADCAC: .4byte gTasks
|
|
_080ADCB0: .4byte sub_80ADCB4
|
|
thumb_func_end sub_80ADC84
|
|
|
|
thumb_func_start sub_80ADCB4
|
|
sub_80ADCB4: @ 80ADCB4
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
bl sub_80B2184
|
|
ldr r1, _080ADCD4 @ =gTasks
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _080ADCD8 @ =sub_80B237C
|
|
str r1, [r0]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080ADCD4: .4byte gTasks
|
|
_080ADCD8: .4byte sub_80B237C
|
|
thumb_func_end sub_80ADCB4
|
|
|
|
thumb_func_start sub_80ADCDC
|
|
sub_80ADCDC: @ 80ADCDC
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
bl sub_80B2280
|
|
ldr r1, _080ADCFC @ =gTasks
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _080ADD00 @ =sub_80ADD04
|
|
str r1, [r0]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080ADCFC: .4byte gTasks
|
|
_080ADD00: .4byte sub_80ADD04
|
|
thumb_func_end sub_80ADCDC
|
|
|
|
thumb_func_start sub_80ADD04
|
|
sub_80ADD04: @ 80ADD04
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
ldr r3, _080ADD40 @ =REG_BG0CNT
|
|
ldrb r2, [r3]
|
|
movs r1, 0x4
|
|
negs r1, r1
|
|
adds r0, r1, 0
|
|
ands r0, r2
|
|
strb r0, [r3]
|
|
ldr r2, _080ADD44 @ =REG_BG2CNT
|
|
ldrb r0, [r2]
|
|
ands r1, r0
|
|
strb r1, [r2]
|
|
ldr r1, _080ADD48 @ =0x02019204
|
|
ldrb r0, [r1, 0x1]
|
|
adds r0, 0x1
|
|
strb r0, [r1, 0x1]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x5
|
|
bne _080ADD54
|
|
ldr r0, _080ADD4C @ =gTasks
|
|
lsls r1, r4, 2
|
|
adds r1, r4
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldr r0, _080ADD50 @ =sub_80ADDA4
|
|
b _080ADD64
|
|
.align 2, 0
|
|
_080ADD40: .4byte REG_BG0CNT
|
|
_080ADD44: .4byte REG_BG2CNT
|
|
_080ADD48: .4byte 0x02019204
|
|
_080ADD4C: .4byte gTasks
|
|
_080ADD50: .4byte sub_80ADDA4
|
|
_080ADD54:
|
|
bl sub_80B1B14
|
|
ldr r0, _080ADD6C @ =gTasks
|
|
lsls r1, r4, 2
|
|
adds r1, r4
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldr r0, _080ADD70 @ =sub_80ADD74
|
|
_080ADD64:
|
|
str r0, [r1]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080ADD6C: .4byte gTasks
|
|
_080ADD70: .4byte sub_80ADD74
|
|
thumb_func_end sub_80ADD04
|
|
|
|
thumb_func_start sub_80ADD74
|
|
sub_80ADD74: @ 80ADD74
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
ldr r0, _080ADD98 @ =0x02019204
|
|
ldrb r1, [r0, 0x6]
|
|
movs r0, 0x40
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _080ADD94
|
|
ldr r0, _080ADD9C @ =gTasks
|
|
lsls r1, r2, 2
|
|
adds r1, r2
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldr r0, _080ADDA0 @ =sub_80ABB70
|
|
str r0, [r1]
|
|
_080ADD94:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080ADD98: .4byte 0x02019204
|
|
_080ADD9C: .4byte gTasks
|
|
_080ADDA0: .4byte sub_80ABB70
|
|
thumb_func_end sub_80ADD74
|
|
|
|
thumb_func_start sub_80ADDA4
|
|
sub_80ADDA4: @ 80ADDA4
|
|
push {r4-r6,lr}
|
|
sub sp, 0x4
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
ldr r0, _080ADE24 @ =gUnknown_030042A0
|
|
movs r1, 0
|
|
strh r1, [r0]
|
|
ldr r0, _080ADE28 @ =gUnknown_03004280
|
|
strh r1, [r0]
|
|
ldr r3, _080ADE2C @ =0x02019260
|
|
ldr r2, _080ADE30 @ =gUnknown_02038680
|
|
movs r1, 0x3
|
|
_080ADDBC:
|
|
ldrh r0, [r3, 0x4]
|
|
strh r0, [r2]
|
|
adds r3, 0x1C
|
|
adds r2, 0x2
|
|
subs r1, 0x1
|
|
cmp r1, 0
|
|
bge _080ADDBC
|
|
movs r5, 0
|
|
bl sub_80AF668
|
|
bl sub_80AF138
|
|
ldr r0, _080ADE34 @ =gUnknown_02038695
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 3
|
|
subs r0, r1
|
|
lsls r0, 2
|
|
ldr r1, _080ADE2C @ =0x02019260
|
|
adds r0, r1
|
|
ldrh r0, [r0, 0x8]
|
|
bl sub_80BE23C
|
|
ldr r1, _080ADE38 @ =gUnknown_03005D28
|
|
ldr r0, _080ADE3C @ =gRngValue
|
|
ldr r0, [r0]
|
|
str r0, [r1]
|
|
ldr r4, _080ADE40 @ =gStringVar4
|
|
ldr r1, _080ADE44 @ =gUnknown_083CB02C
|
|
adds r0, r4, 0
|
|
bl StringExpandPlaceholders
|
|
ldr r0, _080ADE48 @ =gMenuWindow
|
|
movs r2, 0xC2
|
|
lsls r2, 2
|
|
movs r1, 0xF
|
|
str r1, [sp]
|
|
adds r1, r4, 0
|
|
movs r3, 0x1
|
|
bl sub_8002EB0
|
|
ldr r1, _080ADE4C @ =gTasks
|
|
lsls r0, r6, 2
|
|
adds r0, r6
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
strh r5, [r0, 0xC]
|
|
ldr r1, _080ADE50 @ =sub_80ADE54
|
|
str r1, [r0]
|
|
add sp, 0x4
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080ADE24: .4byte gUnknown_030042A0
|
|
_080ADE28: .4byte gUnknown_03004280
|
|
_080ADE2C: .4byte 0x02019260
|
|
_080ADE30: .4byte gUnknown_02038680
|
|
_080ADE34: .4byte gUnknown_02038695
|
|
_080ADE38: .4byte gUnknown_03005D28
|
|
_080ADE3C: .4byte gRngValue
|
|
_080ADE40: .4byte gStringVar4
|
|
_080ADE44: .4byte gUnknown_083CB02C
|
|
_080ADE48: .4byte gMenuWindow
|
|
_080ADE4C: .4byte gTasks
|
|
_080ADE50: .4byte sub_80ADE54
|
|
thumb_func_end sub_80ADDA4
|
|
|
|
thumb_func_start sub_80ADE54
|
|
sub_80ADE54: @ 80ADE54
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
ldr r0, _080ADE98 @ =gMenuWindow
|
|
bl sub_80037A0
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
bne _080ADE92
|
|
bl sub_80B2184
|
|
ldr r1, _080ADE9C @ =gUnknown_030042C0
|
|
movs r0, 0
|
|
strh r0, [r1]
|
|
ldr r1, _080ADEA0 @ =gUnknown_030041B4
|
|
movs r0, 0xA0
|
|
strh r0, [r1]
|
|
movs r0, 0x62
|
|
movs r1, 0
|
|
bl PlaySE12WithPanning
|
|
ldr r1, _080ADEA4 @ =gTasks
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
movs r1, 0
|
|
strh r1, [r0, 0x8]
|
|
ldr r1, _080ADEA8 @ =sub_80ADEAC
|
|
str r1, [r0]
|
|
_080ADE92:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080ADE98: .4byte gMenuWindow
|
|
_080ADE9C: .4byte gUnknown_030042C0
|
|
_080ADEA0: .4byte gUnknown_030041B4
|
|
_080ADEA4: .4byte gTasks
|
|
_080ADEA8: .4byte sub_80ADEAC
|
|
thumb_func_end sub_80ADE54
|
|
|
|
thumb_func_start sub_80ADEAC
|
|
sub_80ADEAC: @ 80ADEAC
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r3, r0, 24
|
|
ldr r1, _080ADEE0 @ =gUnknown_030041B4
|
|
ldrh r0, [r1]
|
|
subs r0, 0x7
|
|
strh r0, [r1]
|
|
lsls r0, 16
|
|
cmp r0, 0
|
|
bge _080ADEC4
|
|
movs r0, 0
|
|
strh r0, [r1]
|
|
_080ADEC4:
|
|
ldrh r2, [r1]
|
|
cmp r2, 0
|
|
bne _080ADEDA
|
|
ldr r0, _080ADEE4 @ =gTasks
|
|
lsls r1, r3, 2
|
|
adds r1, r3
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldr r0, _080ADEE8 @ =sub_80ADEEC
|
|
str r0, [r1]
|
|
strh r2, [r1, 0x8]
|
|
_080ADEDA:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080ADEE0: .4byte gUnknown_030041B4
|
|
_080ADEE4: .4byte gTasks
|
|
_080ADEE8: .4byte sub_80ADEEC
|
|
thumb_func_end sub_80ADEAC
|
|
|
|
thumb_func_start sub_80ADEEC
|
|
sub_80ADEEC: @ 80ADEEC
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r2, _080ADF20 @ =gTasks
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r4, r1, r2
|
|
ldrh r0, [r4, 0x8]
|
|
adds r1, r0, 0x1
|
|
strh r1, [r4, 0x8]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r0, 0x31
|
|
ble _080ADF40
|
|
movs r0, 0
|
|
strh r0, [r4, 0x8]
|
|
ldr r0, _080ADF24 @ =gUnknown_0203869A
|
|
ldrb r0, [r0]
|
|
movs r1, 0x1
|
|
ands r1, r0
|
|
cmp r1, 0
|
|
beq _080ADF2C
|
|
ldr r0, _080ADF28 @ =sub_80ADF4C
|
|
b _080ADF3E
|
|
.align 2, 0
|
|
_080ADF20: .4byte gTasks
|
|
_080ADF24: .4byte gUnknown_0203869A
|
|
_080ADF28: .4byte sub_80ADF4C
|
|
_080ADF2C:
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
str r1, [sp]
|
|
movs r1, 0
|
|
movs r2, 0
|
|
movs r3, 0x10
|
|
bl BeginNormalPaletteFade
|
|
ldr r0, _080ADF48 @ =sub_80ADFD8
|
|
_080ADF3E:
|
|
str r0, [r4]
|
|
_080ADF40:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080ADF48: .4byte sub_80ADFD8
|
|
thumb_func_end sub_80ADEEC
|
|
|
|
thumb_func_start sub_80ADF4C
|
|
sub_80ADF4C: @ 80ADF4C
|
|
push {r4,r5,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
ldr r5, _080ADF88 @ =sub_80C8AD0
|
|
adds r0, r5, 0
|
|
movs r1, 0
|
|
bl CreateTask
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r2, _080ADF8C @ =sub_80ADF98
|
|
adds r1, r5, 0
|
|
bl SetTaskFuncWithFollowupFunc
|
|
ldr r1, _080ADF90 @ =gTasks
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _080ADF94 @ =nullsub_89
|
|
str r1, [r0]
|
|
bl sub_80AF860
|
|
movs r0, 0
|
|
bl sub_80AFFE0
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080ADF88: .4byte sub_80C8AD0
|
|
_080ADF8C: .4byte sub_80ADF98
|
|
_080ADF90: .4byte gTasks
|
|
_080ADF94: .4byte nullsub_89
|
|
thumb_func_end sub_80ADF4C
|
|
|
|
thumb_func_start sub_80ADF98
|
|
sub_80ADF98: @ 80ADF98
|
|
push {lr}
|
|
sub sp, 0x4
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl DestroyTask
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
movs r1, 0
|
|
str r1, [sp]
|
|
movs r2, 0
|
|
movs r3, 0x10
|
|
bl BeginNormalPaletteFade
|
|
ldr r2, _080ADFCC @ =gTasks
|
|
ldr r0, _080ADFD0 @ =0x02019204
|
|
ldrb r1, [r0, 0x8]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r0, r2
|
|
ldr r1, _080ADFD4 @ =sub_80ADFD8
|
|
str r1, [r0]
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080ADFCC: .4byte gTasks
|
|
_080ADFD0: .4byte 0x02019204
|
|
_080ADFD4: .4byte sub_80ADFD8
|
|
thumb_func_end sub_80ADF98
|
|
|
|
thumb_func_start sub_80ADFD8
|
|
sub_80ADFD8: @ 80ADFD8
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
ldr r0, _080AE000 @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _080ADFFC
|
|
adds r0, r2, 0
|
|
bl DestroyTask
|
|
ldr r0, _080AE004 @ =gUnknown_0300485C
|
|
ldr r1, _080AE008 @ =sub_80AE010
|
|
str r1, [r0]
|
|
ldr r0, _080AE00C @ =c2_exit_to_overworld_2_switch
|
|
bl SetMainCallback2
|
|
_080ADFFC:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AE000: .4byte gPaletteFade
|
|
_080AE004: .4byte gUnknown_0300485C
|
|
_080AE008: .4byte sub_80AE010
|
|
_080AE00C: .4byte c2_exit_to_overworld_2_switch
|
|
thumb_func_end sub_80ADFD8
|
|
|
|
thumb_func_start sub_80AE010
|
|
sub_80AE010: @ 80AE010
|
|
push {lr}
|
|
bl ScriptContext2_Disable
|
|
bl EnableBothScriptContexts
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80AE010
|
|
|
|
thumb_func_start sub_80AE020
|
|
sub_80AE020: @ 80AE020
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
b _080AE028
|
|
_080AE026:
|
|
adds r4, 0x1
|
|
_080AE028:
|
|
ldrb r0, [r4]
|
|
cmp r0, 0xFF
|
|
beq _080AE04C
|
|
cmp r0, 0xFC
|
|
bne _080AE026
|
|
ldrb r0, [r4, 0x1]
|
|
cmp r0, 0
|
|
bne _080AE026
|
|
adds r0, r4, 0
|
|
movs r2, 0
|
|
movs r3, 0x1
|
|
bl ConvertIntToDecimalStringN
|
|
movs r1, 0xFF
|
|
strb r1, [r0]
|
|
adds r1, r4, 0x2
|
|
bl StringAppend
|
|
_080AE04C:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80AE020
|
|
|
|
thumb_func_start sub_80AE054
|
|
sub_80AE054: @ 80AE054
|
|
push {lr}
|
|
ldr r0, _080AE06C @ =gUnknown_0203869A
|
|
ldrb r1, [r0]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _080AE068
|
|
ldr r1, _080AE070 @ =gUnknown_02038695
|
|
movs r0, 0x3
|
|
strb r0, [r1]
|
|
_080AE068:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AE06C: .4byte gUnknown_0203869A
|
|
_080AE070: .4byte gUnknown_02038695
|
|
thumb_func_end sub_80AE054
|
|
|
|
thumb_func_start sub_80AE074
|
|
sub_80AE074: @ 80AE074
|
|
push {lr}
|
|
ldr r0, _080AE088 @ =gUnknown_02038695
|
|
ldr r1, _080AE08C @ =gUnknown_0203869B
|
|
ldrb r0, [r0]
|
|
ldrb r1, [r1]
|
|
cmp r0, r1
|
|
beq _080AE090
|
|
movs r0, 0
|
|
b _080AE092
|
|
.align 2, 0
|
|
_080AE088: .4byte gUnknown_02038695
|
|
_080AE08C: .4byte gUnknown_0203869B
|
|
_080AE090:
|
|
movs r0, 0x1
|
|
_080AE092:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80AE074
|
|
|
|
thumb_func_start sub_80AE098
|
|
sub_80AE098: @ 80AE098
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0x14
|
|
lsls r0, 24
|
|
lsrs r7, r0, 24
|
|
ldr r6, _080AE0F0 @ =gSaveBlock2
|
|
mov r0, sp
|
|
adds r1, r6, 0
|
|
bl StringCopy
|
|
mov r0, sp
|
|
bl StripExtCtrlCodes
|
|
ldr r0, _080AE0F4 @ =gUnknown_0203869A
|
|
ldrb r1, [r0]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080AE0CE
|
|
mov r0, sp
|
|
ldrb r2, [r0, 0x5]
|
|
mov r1, sp
|
|
movs r0, 0xFF
|
|
strb r0, [r1, 0x5]
|
|
mov r0, sp
|
|
strb r2, [r0, 0x7]
|
|
_080AE0CE:
|
|
ldr r5, _080AE0F8 @ =gUnknown_02038695
|
|
ldrb r0, [r5]
|
|
lsls r0, 6
|
|
ldr r4, _080AE0FC @ =gUnknown_0203857D
|
|
adds r0, r4
|
|
mov r1, sp
|
|
movs r2, 0x8
|
|
bl memcpy
|
|
ldrb r0, [r6, 0x8]
|
|
cmp r0, 0
|
|
bne _080AE100
|
|
ldrb r0, [r5]
|
|
lsls r0, 6
|
|
adds r0, r4, r0
|
|
movs r1, 0xD8
|
|
b _080AE108
|
|
.align 2, 0
|
|
_080AE0F0: .4byte gSaveBlock2
|
|
_080AE0F4: .4byte gUnknown_0203869A
|
|
_080AE0F8: .4byte gUnknown_02038695
|
|
_080AE0FC: .4byte gUnknown_0203857D
|
|
_080AE100:
|
|
ldrb r0, [r5]
|
|
lsls r0, 6
|
|
adds r0, r4, r0
|
|
movs r1, 0xD9
|
|
_080AE108:
|
|
strb r1, [r0, 0x8]
|
|
ldr r5, _080AE17C @ =gUnknown_02038570
|
|
ldr r4, _080AE180 @ =gUnknown_02038695
|
|
ldrb r0, [r4]
|
|
lsls r0, 6
|
|
adds r1, r5, 0
|
|
adds r1, 0x18
|
|
adds r0, r1
|
|
movs r1, 0
|
|
str r1, [r0]
|
|
ldrb r0, [r4]
|
|
lsls r0, 6
|
|
adds r0, r5
|
|
adds r0, 0x2C
|
|
strb r1, [r0]
|
|
movs r0, 0x64
|
|
adds r1, r7, 0
|
|
muls r1, r0
|
|
ldr r0, _080AE184 @ =gPlayerParty
|
|
adds r6, r1, r0
|
|
adds r0, r6, 0
|
|
movs r1, 0xB
|
|
bl GetMonData
|
|
ldrb r1, [r4]
|
|
lsls r1, 6
|
|
adds r1, r5
|
|
strh r0, [r1]
|
|
adds r0, r6, 0
|
|
movs r1, 0x2
|
|
mov r2, sp
|
|
bl GetMonData
|
|
mov r0, sp
|
|
bl StringGetEnd10
|
|
ldr r0, _080AE188 @ =gUnknown_0203869A
|
|
ldrb r1, [r0]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080AE19A
|
|
mov r0, sp
|
|
bl StripExtCtrlCodes
|
|
adds r0, r6, 0
|
|
movs r1, 0x3
|
|
bl GetMonData
|
|
cmp r0, 0x1
|
|
bne _080AE18C
|
|
mov r1, sp
|
|
movs r0, 0xFF
|
|
strb r0, [r1, 0x5]
|
|
movs r0, 0xFC
|
|
strb r0, [r1, 0xA]
|
|
b _080AE19A
|
|
.align 2, 0
|
|
_080AE17C: .4byte gUnknown_02038570
|
|
_080AE180: .4byte gUnknown_02038695
|
|
_080AE184: .4byte gPlayerParty
|
|
_080AE188: .4byte gUnknown_0203869A
|
|
_080AE18C:
|
|
mov r0, sp
|
|
ldrb r2, [r0, 0x5]
|
|
mov r1, sp
|
|
movs r0, 0xFF
|
|
strb r0, [r1, 0x5]
|
|
mov r0, sp
|
|
strb r2, [r0, 0xA]
|
|
_080AE19A:
|
|
ldr r5, _080AE2C4 @ =gUnknown_02038695
|
|
ldrb r0, [r5]
|
|
lsls r0, 6
|
|
ldr r1, _080AE2C8 @ =gUnknown_02038572
|
|
mov r8, r1
|
|
add r0, r8
|
|
mov r1, sp
|
|
movs r2, 0xB
|
|
bl memcpy
|
|
movs r0, 0x64
|
|
adds r4, r7, 0
|
|
muls r4, r0
|
|
ldr r0, _080AE2CC @ =gPlayerParty
|
|
adds r4, r0
|
|
adds r0, r4, 0
|
|
movs r1, 0x16
|
|
bl GetMonData
|
|
mov r6, r8
|
|
subs r6, 0x2
|
|
ldrb r1, [r5]
|
|
lsls r1, 6
|
|
adds r1, r6
|
|
adds r1, 0x26
|
|
strb r0, [r1]
|
|
adds r0, r4, 0
|
|
movs r1, 0x17
|
|
bl GetMonData
|
|
ldrb r1, [r5]
|
|
lsls r1, 6
|
|
adds r1, r6
|
|
adds r1, 0x27
|
|
strb r0, [r1]
|
|
adds r0, r4, 0
|
|
movs r1, 0x18
|
|
bl GetMonData
|
|
ldrb r1, [r5]
|
|
lsls r1, 6
|
|
adds r1, r6
|
|
adds r1, 0x28
|
|
strb r0, [r1]
|
|
adds r0, r4, 0
|
|
movs r1, 0x21
|
|
bl GetMonData
|
|
ldrb r1, [r5]
|
|
lsls r1, 6
|
|
adds r1, r6
|
|
adds r1, 0x29
|
|
strb r0, [r1]
|
|
adds r0, r4, 0
|
|
movs r1, 0x2F
|
|
bl GetMonData
|
|
ldrb r1, [r5]
|
|
lsls r1, 6
|
|
adds r1, r6
|
|
adds r1, 0x2A
|
|
strb r0, [r1]
|
|
adds r0, r4, 0
|
|
movs r1, 0x30
|
|
bl GetMonData
|
|
ldrb r1, [r5]
|
|
lsls r1, 6
|
|
adds r1, r6
|
|
adds r1, 0x2B
|
|
strb r0, [r1]
|
|
adds r0, r4, 0
|
|
movs r1, 0xD
|
|
bl GetMonData
|
|
ldrb r1, [r5]
|
|
lsls r1, 6
|
|
adds r1, r6
|
|
strh r0, [r1, 0x1E]
|
|
adds r0, r4, 0
|
|
movs r1, 0xE
|
|
bl GetMonData
|
|
ldrb r1, [r5]
|
|
lsls r1, 6
|
|
adds r1, r6
|
|
strh r0, [r1, 0x20]
|
|
adds r0, r4, 0
|
|
movs r1, 0xF
|
|
bl GetMonData
|
|
ldrb r1, [r5]
|
|
lsls r1, 6
|
|
adds r1, r6
|
|
strh r0, [r1, 0x22]
|
|
adds r0, r4, 0
|
|
movs r1, 0x10
|
|
bl GetMonData
|
|
ldrb r1, [r5]
|
|
lsls r1, 6
|
|
adds r1, r6
|
|
strh r0, [r1, 0x24]
|
|
adds r0, r4, 0
|
|
movs r1, 0
|
|
bl GetMonData
|
|
ldrb r1, [r5]
|
|
lsls r1, 6
|
|
mov r2, r8
|
|
adds r2, 0x36
|
|
adds r1, r2
|
|
str r0, [r1]
|
|
adds r0, r4, 0
|
|
movs r1, 0x1
|
|
bl GetMonData
|
|
ldrb r1, [r5]
|
|
lsls r1, 6
|
|
movs r2, 0x3A
|
|
add r8, r2
|
|
add r1, r8
|
|
str r0, [r1]
|
|
adds r0, r4, 0
|
|
movs r1, 0xC
|
|
bl GetMonData
|
|
lsls r0, 16
|
|
lsrs r2, r0, 16
|
|
mov r8, r2
|
|
ldrb r0, [r5]
|
|
lsls r0, 6
|
|
adds r1, r0, r6
|
|
adds r0, r1, 0
|
|
adds r0, 0x26
|
|
ldrb r3, [r0]
|
|
adds r0, 0x1
|
|
ldrb r4, [r0]
|
|
adds r0, 0x1
|
|
ldrb r5, [r0]
|
|
adds r0, 0x1
|
|
ldrb r6, [r0]
|
|
adds r0, 0x1
|
|
ldrb r7, [r0]
|
|
cmp r2, 0xFE
|
|
bne _080AE2D0
|
|
adds r3, 0x14
|
|
b _080AE31E
|
|
.align 2, 0
|
|
_080AE2C4: .4byte gUnknown_02038695
|
|
_080AE2C8: .4byte gUnknown_02038572
|
|
_080AE2CC: .4byte gPlayerParty
|
|
_080AE2D0:
|
|
cmp r2, 0xFF
|
|
bne _080AE2E0
|
|
lsls r0, r4, 16
|
|
movs r1, 0xA0
|
|
lsls r1, 13
|
|
adds r0, r1
|
|
lsrs r4, r0, 16
|
|
b _080AE31E
|
|
_080AE2E0:
|
|
movs r0, 0x80
|
|
lsls r0, 1
|
|
cmp r2, r0
|
|
bne _080AE2F4
|
|
lsls r0, r5, 16
|
|
movs r2, 0xA0
|
|
lsls r2, 13
|
|
adds r0, r2
|
|
lsrs r5, r0, 16
|
|
b _080AE31E
|
|
_080AE2F4:
|
|
ldr r0, _080AE308 @ =0x00000101
|
|
cmp r2, r0
|
|
bne _080AE30C
|
|
lsls r0, r6, 16
|
|
movs r1, 0xA0
|
|
lsls r1, 13
|
|
adds r0, r1
|
|
lsrs r6, r0, 16
|
|
b _080AE31E
|
|
.align 2, 0
|
|
_080AE308: .4byte 0x00000101
|
|
_080AE30C:
|
|
movs r0, 0x81
|
|
lsls r0, 1
|
|
cmp r8, r0
|
|
bne _080AE31E
|
|
lsls r0, r7, 16
|
|
movs r2, 0xA0
|
|
lsls r2, 13
|
|
adds r0, r2
|
|
lsrs r7, r0, 16
|
|
_080AE31E:
|
|
cmp r3, 0xFF
|
|
ble _080AE324
|
|
movs r3, 0xFF
|
|
_080AE324:
|
|
lsls r0, r4, 16
|
|
asrs r0, 16
|
|
cmp r0, 0xFF
|
|
ble _080AE32E
|
|
movs r4, 0xFF
|
|
_080AE32E:
|
|
lsls r0, r5, 16
|
|
asrs r0, 16
|
|
cmp r0, 0xFF
|
|
ble _080AE338
|
|
movs r5, 0xFF
|
|
_080AE338:
|
|
lsls r0, r6, 16
|
|
asrs r0, 16
|
|
cmp r0, 0xFF
|
|
ble _080AE342
|
|
movs r6, 0xFF
|
|
_080AE342:
|
|
lsls r0, r7, 16
|
|
asrs r0, 16
|
|
cmp r0, 0xFF
|
|
ble _080AE34C
|
|
movs r7, 0xFF
|
|
_080AE34C:
|
|
ldr r2, _080AE390 @ =gUnknown_02038570
|
|
ldr r1, _080AE394 @ =gUnknown_02038695
|
|
ldrb r0, [r1]
|
|
lsls r0, 6
|
|
adds r0, r2
|
|
adds r0, 0x26
|
|
strb r3, [r0]
|
|
ldrb r0, [r1]
|
|
lsls r0, 6
|
|
adds r0, r2
|
|
adds r0, 0x27
|
|
strb r4, [r0]
|
|
ldrb r0, [r1]
|
|
lsls r0, 6
|
|
adds r0, r2
|
|
adds r0, 0x28
|
|
strb r5, [r0]
|
|
ldrb r0, [r1]
|
|
lsls r0, 6
|
|
adds r0, r2
|
|
adds r0, 0x29
|
|
strb r6, [r0]
|
|
ldrb r0, [r1]
|
|
lsls r0, 6
|
|
adds r0, r2
|
|
adds r0, 0x2A
|
|
strb r7, [r0]
|
|
add sp, 0x14
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AE390: .4byte gUnknown_02038570
|
|
_080AE394: .4byte gUnknown_02038695
|
|
thumb_func_end sub_80AE098
|
|
|
|
thumb_func_start sub_80AE398
|
|
sub_80AE398: @ 80AE398
|
|
push {r4-r7,lr}
|
|
sub sp, 0x40
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
lsls r1, 24
|
|
lsrs r7, r1, 24
|
|
movs r6, 0
|
|
bl sub_80AE054
|
|
movs r5, 0
|
|
ldr r2, _080AE470 @ =gUnknown_083C9408
|
|
_080AE3AE:
|
|
ldrb r1, [r2, 0x1C]
|
|
lsls r0, r1, 30
|
|
lsrs r0, 30
|
|
cmp r7, r0
|
|
bne _080AE3FE
|
|
cmp r4, 0
|
|
bne _080AE3C2
|
|
lsls r0, r1, 29
|
|
cmp r0, 0
|
|
blt _080AE3F2
|
|
_080AE3C2:
|
|
cmp r4, 0x1
|
|
bne _080AE3CE
|
|
ldrb r0, [r2, 0x1C]
|
|
lsls r0, 28
|
|
cmp r0, 0
|
|
blt _080AE3F2
|
|
_080AE3CE:
|
|
cmp r4, 0x2
|
|
bne _080AE3DA
|
|
ldrb r0, [r2, 0x1C]
|
|
lsls r0, 27
|
|
cmp r0, 0
|
|
blt _080AE3F2
|
|
_080AE3DA:
|
|
cmp r4, 0x3
|
|
bne _080AE3E6
|
|
ldrb r0, [r2, 0x1C]
|
|
lsls r0, 26
|
|
cmp r0, 0
|
|
blt _080AE3F2
|
|
_080AE3E6:
|
|
cmp r4, 0x4
|
|
bne _080AE3FE
|
|
ldrb r0, [r2, 0x1C]
|
|
lsls r0, 25
|
|
cmp r0, 0
|
|
bge _080AE3FE
|
|
_080AE3F2:
|
|
adds r0, r6, 0
|
|
adds r1, r0, 0x1
|
|
lsls r1, 24
|
|
lsrs r6, r1, 24
|
|
add r0, sp
|
|
strb r5, [r0]
|
|
_080AE3FE:
|
|
adds r2, 0x40
|
|
adds r5, 0x1
|
|
cmp r5, 0x3B
|
|
ble _080AE3AE
|
|
mov r0, sp
|
|
adds r1, r0, r6
|
|
movs r0, 0xFF
|
|
strb r0, [r1]
|
|
movs r5, 0
|
|
ldr r7, _080AE470 @ =gUnknown_083C9408
|
|
_080AE412:
|
|
bl Random
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
adds r1, r6, 0
|
|
bl __modsi3
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
ldr r1, _080AE474 @ =gUnknown_02038570
|
|
lsls r2, r5, 6
|
|
adds r2, r1
|
|
mov r1, sp
|
|
adds r4, r1, r0
|
|
ldrb r1, [r4]
|
|
lsls r1, 6
|
|
adds r1, r7
|
|
adds r0, r2, 0
|
|
movs r2, 0x40
|
|
bl memcpy
|
|
ldrb r0, [r4]
|
|
adds r2, r5, 0x1
|
|
subs r1, r6, 0x1
|
|
cmp r0, 0xFF
|
|
beq _080AE454
|
|
adds r3, r4, 0
|
|
_080AE448:
|
|
ldrb r0, [r3, 0x1]
|
|
strb r0, [r3]
|
|
adds r3, 0x1
|
|
ldrb r0, [r3]
|
|
cmp r0, 0xFF
|
|
bne _080AE448
|
|
_080AE454:
|
|
lsls r0, r1, 24
|
|
lsrs r6, r0, 24
|
|
adds r5, r2, 0
|
|
cmp r5, 0x2
|
|
ble _080AE412
|
|
ldr r0, _080AE478 @ =gUnknown_02038694
|
|
ldrb r0, [r0]
|
|
bl sub_80AE098
|
|
add sp, 0x40
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AE470: .4byte gUnknown_083C9408
|
|
_080AE474: .4byte gUnknown_02038570
|
|
_080AE478: .4byte gUnknown_02038694
|
|
thumb_func_end sub_80AE398
|
|
|
|
thumb_func_start sub_80AE47C
|
|
sub_80AE47C: @ 80AE47C
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
movs r1, 0x2D
|
|
bl GetMonData
|
|
cmp r0, 0
|
|
beq _080AE48E
|
|
movs r0, 0x3
|
|
b _080AE50A
|
|
_080AE48E:
|
|
adds r0, r4, 0
|
|
movs r1, 0x39
|
|
bl GetMonData
|
|
cmp r0, 0
|
|
bne _080AE49E
|
|
movs r0, 0x4
|
|
b _080AE50A
|
|
_080AE49E:
|
|
ldr r0, _080AE4B0 @ =gUnknown_0203869C
|
|
ldrh r0, [r0]
|
|
cmp r0, 0x4
|
|
bhi _080AE4F2
|
|
lsls r0, 2
|
|
ldr r1, _080AE4B4 @ =_080AE4B8
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080AE4B0: .4byte gUnknown_0203869C
|
|
_080AE4B4: .4byte _080AE4B8
|
|
.align 2, 0
|
|
_080AE4B8:
|
|
.4byte _080AE4CC
|
|
.4byte _080AE4D2
|
|
.4byte _080AE4D8
|
|
.4byte _080AE4DE
|
|
.4byte _080AE4E4
|
|
_080AE4CC:
|
|
adds r0, r4, 0
|
|
movs r1, 0x32
|
|
b _080AE4E8
|
|
_080AE4D2:
|
|
adds r0, r4, 0
|
|
movs r1, 0x33
|
|
b _080AE4E8
|
|
_080AE4D8:
|
|
adds r0, r4, 0
|
|
movs r1, 0x34
|
|
b _080AE4E8
|
|
_080AE4DE:
|
|
adds r0, r4, 0
|
|
movs r1, 0x35
|
|
b _080AE4E8
|
|
_080AE4E4:
|
|
adds r0, r4, 0
|
|
movs r1, 0x36
|
|
_080AE4E8:
|
|
bl GetMonData
|
|
lsls r0, 24
|
|
lsrs r1, r0, 24
|
|
b _080AE4F6
|
|
_080AE4F2:
|
|
movs r0, 0
|
|
b _080AE50A
|
|
_080AE4F6:
|
|
ldr r0, _080AE510 @ =gUnknown_0203869E
|
|
adds r2, r1, 0
|
|
ldrh r1, [r0]
|
|
movs r0, 0x2
|
|
cmp r2, r1
|
|
bhi _080AE50A
|
|
movs r0, 0
|
|
cmp r2, r1
|
|
bcc _080AE50A
|
|
movs r0, 0x1
|
|
_080AE50A:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080AE510: .4byte gUnknown_0203869E
|
|
thumb_func_end sub_80AE47C
|
|
|
|
thumb_func_start sub_80AE514
|
|
sub_80AE514: @ 80AE514
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
sub sp, 0x8
|
|
movs r5, 0
|
|
ldr r7, _080AE588 @ =gUnknown_083CA308
|
|
adds r0, r7, 0x1
|
|
mov r9, r0
|
|
ldr r6, _080AE58C @ =gUnknown_083CA310
|
|
adds r3, r6, 0x1
|
|
mov r8, r3
|
|
_080AE52C:
|
|
ldr r4, _080AE590 @ =gUnknown_02038696
|
|
adds r4, r5, r4
|
|
ldrb r0, [r4]
|
|
lsls r0, 1
|
|
adds r1, r0, r7
|
|
ldrb r2, [r1]
|
|
mov r3, r9
|
|
adds r1, r0, r3
|
|
ldrb r3, [r1]
|
|
adds r0, r6
|
|
ldrb r0, [r0]
|
|
adds r0, 0x5
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
str r0, [sp]
|
|
ldrb r0, [r4]
|
|
lsls r0, 1
|
|
add r0, r8
|
|
ldrb r0, [r0]
|
|
adds r0, 0x1
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
str r0, [sp, 0x4]
|
|
ldr r0, _080AE594 @ =gUnknown_03004210
|
|
movs r1, 0
|
|
bl FillWindowRect_DefaultPalette
|
|
adds r0, r5, 0
|
|
bl sub_80AE5BC
|
|
adds r0, r5, 0
|
|
bl sub_80AE6CC
|
|
adds r0, r5, 0x1
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
cmp r5, 0x3
|
|
bls _080AE52C
|
|
add sp, 0x8
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AE588: .4byte gUnknown_083CA308
|
|
_080AE58C: .4byte gUnknown_083CA310
|
|
_080AE590: .4byte gUnknown_02038696
|
|
_080AE594: .4byte gUnknown_03004210
|
|
thumb_func_end sub_80AE514
|
|
|
|
thumb_func_start sub_80AE598
|
|
sub_80AE598: @ 80AE598
|
|
push {r4,r5,lr}
|
|
adds r5, r1, 0
|
|
lsls r4, r2, 24
|
|
lsrs r4, 24
|
|
ldr r1, _080AE5B8 @ =gUnknown_083CC59C
|
|
bl StringCopy
|
|
strb r4, [r0]
|
|
adds r0, 0x1
|
|
adds r1, r5, 0
|
|
bl StringCopy
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080AE5B8: .4byte gUnknown_083CC59C
|
|
thumb_func_end sub_80AE598
|
|
|
|
thumb_func_start sub_80AE5BC
|
|
sub_80AE5BC: @ 80AE5BC
|
|
push {lr}
|
|
adds r1, r0, 0
|
|
lsls r1, 24
|
|
lsrs r0, r1, 24
|
|
movs r2, 0xA0
|
|
lsls r2, 20
|
|
adds r1, r2
|
|
lsrs r1, 24
|
|
bl sub_80AE5D4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80AE5BC
|
|
|
|
thumb_func_start sub_80AE5D4
|
|
sub_80AE5D4: @ 80AE5D4
|
|
push {r4-r7,lr}
|
|
sub sp, 0x8
|
|
adds r2, r1, 0
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
ldr r3, _080AE660 @ =gUnknown_020238CC
|
|
ldr r1, _080AE664 @ =gEmptyString_81E72B0
|
|
adds r0, r3, 0
|
|
bl sub_80AE598
|
|
adds r3, r0, 0
|
|
movs r0, 0xFC
|
|
strb r0, [r3]
|
|
movs r0, 0x6
|
|
strb r0, [r3, 0x1]
|
|
movs r0, 0x4
|
|
strb r0, [r3, 0x2]
|
|
adds r3, 0x3
|
|
movs r0, 0xBA
|
|
strb r0, [r3]
|
|
adds r3, 0x1
|
|
ldr r0, _080AE668 @ =gUnknown_0203869A
|
|
ldrb r1, [r0]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080AE67C
|
|
ldr r1, _080AE66C @ =gLinkPlayers
|
|
lsls r0, r4, 3
|
|
subs r0, r4
|
|
lsls r2, r0, 2
|
|
adds r0, r2, r1
|
|
ldrh r6, [r0, 0x1A]
|
|
cmp r6, 0x1
|
|
bne _080AE67C
|
|
adds r1, 0x8
|
|
adds r1, r2, r1
|
|
adds r0, r3, 0
|
|
bl StringCopy
|
|
ldr r0, _080AE670 @ =gUnknown_03004210
|
|
ldr r1, _080AE660 @ =gUnknown_020238CC
|
|
ldr r2, _080AE674 @ =gUnknown_02038696
|
|
adds r2, r4, r2
|
|
ldrb r4, [r2]
|
|
movs r2, 0x16
|
|
muls r2, r4
|
|
movs r3, 0x94
|
|
lsls r3, 2
|
|
adds r2, r3
|
|
ldr r5, _080AE678 @ =gUnknown_083CA310
|
|
lsls r4, 1
|
|
adds r3, r4, r5
|
|
ldrb r3, [r3]
|
|
lsls r3, 27
|
|
movs r7, 0xFB
|
|
lsls r7, 24
|
|
adds r3, r7
|
|
lsrs r3, 24
|
|
adds r5, 0x1
|
|
adds r4, r5
|
|
ldrb r4, [r4]
|
|
lsls r4, 3
|
|
str r4, [sp]
|
|
str r6, [sp, 0x4]
|
|
bl sub_8004D04
|
|
b _080AE6B0
|
|
.align 2, 0
|
|
_080AE660: .4byte gUnknown_020238CC
|
|
_080AE664: .4byte gEmptyString_81E72B0
|
|
_080AE668: .4byte gUnknown_0203869A
|
|
_080AE66C: .4byte gLinkPlayers
|
|
_080AE670: .4byte gUnknown_03004210
|
|
_080AE674: .4byte gUnknown_02038696
|
|
_080AE678: .4byte gUnknown_083CA310
|
|
_080AE67C:
|
|
lsls r1, r4, 6
|
|
ldr r0, _080AE6B8 @ =gUnknown_0203857D
|
|
adds r1, r0
|
|
adds r0, r3, 0
|
|
bl StringCopy
|
|
ldr r0, _080AE6BC @ =gUnknown_03004210
|
|
ldr r1, _080AE6C0 @ =gUnknown_020238CC
|
|
ldr r2, _080AE6C4 @ =gUnknown_02038696
|
|
adds r2, r4, r2
|
|
ldrb r4, [r2]
|
|
movs r2, 0x16
|
|
muls r2, r4
|
|
movs r3, 0x94
|
|
lsls r3, 2
|
|
adds r2, r3
|
|
ldr r5, _080AE6C8 @ =gUnknown_083CA310
|
|
lsls r4, 1
|
|
adds r3, r4, r5
|
|
ldrb r3, [r3]
|
|
adds r5, 0x1
|
|
adds r4, r5
|
|
ldrb r4, [r4]
|
|
str r4, [sp]
|
|
bl sub_8003460
|
|
_080AE6B0:
|
|
add sp, 0x8
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AE6B8: .4byte gUnknown_0203857D
|
|
_080AE6BC: .4byte gUnknown_03004210
|
|
_080AE6C0: .4byte gUnknown_020238CC
|
|
_080AE6C4: .4byte gUnknown_02038696
|
|
_080AE6C8: .4byte gUnknown_083CA310
|
|
thumb_func_end sub_80AE5D4
|
|
|
|
thumb_func_start sub_80AE6CC
|
|
sub_80AE6CC: @ 80AE6CC
|
|
push {lr}
|
|
adds r1, r0, 0
|
|
lsls r1, 24
|
|
lsrs r0, r1, 24
|
|
movs r2, 0xA0
|
|
lsls r2, 20
|
|
adds r1, r2
|
|
lsrs r1, 24
|
|
bl sub_80AE6E4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80AE6CC
|
|
|
|
thumb_func_start sub_80AE6E4
|
|
sub_80AE6E4: @ 80AE6E4
|
|
push {r4-r6,lr}
|
|
sub sp, 0x8
|
|
adds r4, r0, 0
|
|
adds r2, r1, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
ldr r3, _080AE75C @ =gUnknown_020238CC
|
|
movs r0, 0xFC
|
|
strb r0, [r3]
|
|
movs r0, 0x6
|
|
strb r0, [r3, 0x1]
|
|
movs r0, 0x4
|
|
strb r0, [r3, 0x2]
|
|
adds r3, 0x3
|
|
lsls r1, r4, 6
|
|
ldr r0, _080AE760 @ =gUnknown_02038572
|
|
adds r1, r0
|
|
adds r0, r3, 0
|
|
bl sub_80AE598
|
|
adds r3, r0, 0
|
|
movs r0, 0xFF
|
|
strb r0, [r3]
|
|
ldr r0, _080AE764 @ =gUnknown_03004210
|
|
ldr r1, _080AE75C @ =gUnknown_020238CC
|
|
ldr r2, _080AE768 @ =gUnknown_02038696
|
|
adds r4, r2
|
|
ldrb r4, [r4]
|
|
lsls r2, r4, 2
|
|
adds r2, r4
|
|
lsls r2, 18
|
|
movs r3, 0x80
|
|
lsls r3, 18
|
|
adds r2, r3
|
|
lsrs r2, 16
|
|
ldr r5, _080AE76C @ =gUnknown_083CA308
|
|
lsls r4, 1
|
|
adds r3, r4, r5
|
|
ldrb r3, [r3]
|
|
lsls r3, 27
|
|
movs r6, 0xFD
|
|
lsls r6, 24
|
|
adds r3, r6
|
|
lsrs r3, 24
|
|
adds r5, 0x1
|
|
adds r4, r5
|
|
ldrb r4, [r4]
|
|
lsls r4, 3
|
|
str r4, [sp]
|
|
movs r4, 0x1
|
|
str r4, [sp, 0x4]
|
|
bl sub_8004D04
|
|
add sp, 0x8
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AE75C: .4byte gUnknown_020238CC
|
|
_080AE760: .4byte gUnknown_02038572
|
|
_080AE764: .4byte gUnknown_03004210
|
|
_080AE768: .4byte gUnknown_02038696
|
|
_080AE76C: .4byte gUnknown_083CA308
|
|
thumb_func_end sub_80AE6E4
|
|
|
|
thumb_func_start sub_80AE770
|
|
sub_80AE770: @ 80AE770
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
lsls r1, 24
|
|
lsrs r0, r1, 24
|
|
cmp r0, 0x4
|
|
bhi _080AE7FC
|
|
lsls r0, 2
|
|
ldr r1, _080AE788 @ =_080AE78C
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080AE788: .4byte _080AE78C
|
|
.align 2, 0
|
|
_080AE78C:
|
|
.4byte _080AE7A0
|
|
.4byte _080AE7B8
|
|
.4byte _080AE7D0
|
|
.4byte _080AE7E0
|
|
.4byte _080AE7FC
|
|
_080AE7A0:
|
|
ldr r0, _080AE7B4 @ =gUnknown_02038570
|
|
lsls r2, 6
|
|
adds r1, r2, r0
|
|
adds r3, r1, 0
|
|
adds r3, 0x26
|
|
ldrb r5, [r3]
|
|
adds r3, 0x4
|
|
ldrb r4, [r3]
|
|
adds r1, 0x27
|
|
b _080AE80E
|
|
.align 2, 0
|
|
_080AE7B4: .4byte gUnknown_02038570
|
|
_080AE7B8:
|
|
ldr r0, _080AE7CC @ =gUnknown_02038570
|
|
lsls r2, 6
|
|
adds r1, r2, r0
|
|
adds r3, r1, 0
|
|
adds r3, 0x27
|
|
ldrb r5, [r3]
|
|
subs r3, 0x1
|
|
ldrb r4, [r3]
|
|
adds r1, 0x28
|
|
b _080AE80E
|
|
.align 2, 0
|
|
_080AE7CC: .4byte gUnknown_02038570
|
|
_080AE7D0:
|
|
ldr r1, _080AE7DC @ =gUnknown_02038570
|
|
lsls r2, 6
|
|
adds r3, r2, r1
|
|
adds r0, r3, 0
|
|
adds r0, 0x28
|
|
b _080AE7EA
|
|
.align 2, 0
|
|
_080AE7DC: .4byte gUnknown_02038570
|
|
_080AE7E0:
|
|
ldr r1, _080AE7F8 @ =gUnknown_02038570
|
|
lsls r2, 6
|
|
adds r3, r2, r1
|
|
adds r0, r3, 0
|
|
adds r0, 0x29
|
|
_080AE7EA:
|
|
ldrb r5, [r0]
|
|
subs r0, 0x1
|
|
ldrb r4, [r0]
|
|
adds r0, 0x2
|
|
ldrb r3, [r0]
|
|
adds r0, r1, 0
|
|
b _080AE810
|
|
.align 2, 0
|
|
_080AE7F8: .4byte gUnknown_02038570
|
|
_080AE7FC:
|
|
ldr r0, _080AE828 @ =gUnknown_02038570
|
|
lsls r2, 6
|
|
adds r1, r2, r0
|
|
adds r3, r1, 0
|
|
adds r3, 0x2A
|
|
ldrb r5, [r3]
|
|
subs r3, 0x1
|
|
ldrb r4, [r3]
|
|
adds r1, 0x26
|
|
_080AE80E:
|
|
ldrb r3, [r1]
|
|
_080AE810:
|
|
adds r1, r2, r0
|
|
adds r1, 0x2B
|
|
adds r0, r4, r3
|
|
ldrb r1, [r1]
|
|
adds r0, r1
|
|
asrs r0, 1
|
|
adds r0, r5, r0
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080AE828: .4byte gUnknown_02038570
|
|
thumb_func_end sub_80AE770
|
|
|
|
thumb_func_start sub_80AE82C
|
|
sub_80AE82C: @ 80AE82C
|
|
push {r4-r6,lr}
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
movs r4, 0
|
|
ldr r6, _080AE854 @ =gUnknown_02038670
|
|
_080AE836:
|
|
adds r0, r4, 0
|
|
adds r1, r5, 0
|
|
bl sub_80AE770
|
|
lsls r1, r4, 1
|
|
adds r1, r6
|
|
strh r0, [r1]
|
|
adds r0, r4, 0x1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0x3
|
|
bls _080AE836
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AE854: .4byte gUnknown_02038670
|
|
thumb_func_end sub_80AE82C
|
|
|
|
thumb_func_start sub_80AE858
|
|
sub_80AE858: @ 80AE858
|
|
push {r4,r5,lr}
|
|
ldr r0, _080AE8A0 @ =gUnknown_083CA4BC
|
|
bl LoadCompressedObjectPic
|
|
ldr r0, _080AE8A4 @ =gContest2Pal
|
|
movs r1, 0x88
|
|
lsls r1, 1
|
|
movs r2, 0x20
|
|
bl LoadCompressedPalette
|
|
ldr r0, _080AE8A8 @ =gSpriteTemplate_83CA4A4
|
|
movs r1, 0x70
|
|
movs r2, 0x24
|
|
movs r3, 0x1E
|
|
bl CreateSprite
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r4, _080AE8AC @ =gSprites
|
|
lsls r2, r0, 4
|
|
adds r2, r0
|
|
lsls r2, 2
|
|
adds r5, r2, r4
|
|
ldrb r3, [r5, 0x5]
|
|
movs r1, 0xF
|
|
ands r1, r3
|
|
movs r3, 0x10
|
|
orrs r1, r3
|
|
strb r1, [r5, 0x5]
|
|
adds r4, 0x1C
|
|
adds r2, r4
|
|
ldr r1, _080AE8B0 @ =SpriteCallbackDummy
|
|
str r1, [r2]
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080AE8A0: .4byte gUnknown_083CA4BC
|
|
_080AE8A4: .4byte gContest2Pal
|
|
_080AE8A8: .4byte gSpriteTemplate_83CA4A4
|
|
_080AE8AC: .4byte gSprites
|
|
_080AE8B0: .4byte SpriteCallbackDummy
|
|
thumb_func_end sub_80AE858
|
|
|
|
thumb_func_start sub_80AE8B4
|
|
sub_80AE8B4: @ 80AE8B4
|
|
push {lr}
|
|
ldr r0, _080AE8F8 @ =gUnknown_083CA4C4
|
|
bl LoadCompressedObjectPic
|
|
ldr r0, _080AE8FC @ =gUnknown_083CA4CC
|
|
bl LoadCompressedObjectPalette
|
|
ldr r0, _080AE900 @ =gUnknown_083CA4D4
|
|
movs r1, 0x60
|
|
movs r2, 0xA
|
|
movs r3, 0x1D
|
|
bl CreateSprite
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _080AE904 @ =gSprites
|
|
lsls r2, r0, 4
|
|
adds r2, r0
|
|
lsls r2, 2
|
|
adds r2, r1
|
|
movs r1, 0x3E
|
|
adds r1, r2
|
|
mov r12, r1
|
|
ldrb r1, [r1]
|
|
movs r3, 0x4
|
|
orrs r1, r3
|
|
mov r3, r12
|
|
strb r1, [r3]
|
|
ldrh r1, [r2, 0x4]
|
|
lsls r1, 22
|
|
lsrs r1, 22
|
|
strh r1, [r2, 0x2E]
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080AE8F8: .4byte gUnknown_083CA4C4
|
|
_080AE8FC: .4byte gUnknown_083CA4CC
|
|
_080AE900: .4byte gUnknown_083CA4D4
|
|
_080AE904: .4byte gSprites
|
|
thumb_func_end sub_80AE8B4
|
|
|
|
thumb_func_start unref_sub_80AE908
|
|
unref_sub_80AE908: @ 80AE908
|
|
push {r4-r6,lr}
|
|
mov r6, r10
|
|
mov r5, r9
|
|
mov r4, r8
|
|
push {r4-r6}
|
|
sub sp, 0x8
|
|
ldr r0, _080AE9D4 @ =gUnknown_02038570
|
|
mov r9, r0
|
|
ldr r1, _080AE9D8 @ =gUnknown_02038695
|
|
mov r8, r1
|
|
ldrb r0, [r1]
|
|
lsls r0, 6
|
|
add r0, r9
|
|
ldrh r5, [r0]
|
|
lsls r6, r5, 3
|
|
ldr r0, _080AE9DC @ =gMonFrontPicTable
|
|
adds r0, r6, r0
|
|
ldr r2, _080AE9E0 @ =gMonFrontPicCoords
|
|
mov r10, r2
|
|
lsls r2, r5, 2
|
|
add r2, r10
|
|
ldrb r1, [r2]
|
|
ldrb r2, [r2, 0x1]
|
|
movs r3, 0x80
|
|
lsls r3, 18
|
|
ldr r4, _080AE9E4 @ =gUnknown_081FAF4C
|
|
ldr r4, [r4, 0x4]
|
|
str r4, [sp]
|
|
str r5, [sp, 0x4]
|
|
bl DecompressPicFromTable_2
|
|
ldr r0, _080AE9E8 @ =gMonPaletteTable
|
|
adds r6, r0
|
|
ldr r0, [r6]
|
|
movs r1, 0x88
|
|
lsls r1, 1
|
|
movs r2, 0x20
|
|
bl LoadCompressedPalette
|
|
mov r1, r8
|
|
ldrb r0, [r1]
|
|
lsls r0, 6
|
|
add r0, r9
|
|
ldrh r0, [r0]
|
|
movs r1, 0x1
|
|
bl GetMonSpriteTemplate_803C56C
|
|
ldr r0, _080AE9EC @ =gUnknown_02024E8C
|
|
mov r2, r8
|
|
ldrb r1, [r2]
|
|
lsls r1, 6
|
|
add r1, r9
|
|
ldrh r1, [r1]
|
|
lsls r1, 2
|
|
add r1, r10
|
|
ldrb r1, [r1]
|
|
movs r2, 0x8
|
|
subs r2, r1
|
|
lsls r2, 18
|
|
movs r1, 0xA0
|
|
lsls r1, 15
|
|
adds r2, r1
|
|
asrs r2, 16
|
|
movs r1, 0x70
|
|
movs r3, 0x1E
|
|
bl CreateSprite
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
ldr r5, _080AE9F0 @ =gSprites
|
|
lsls r3, r4, 4
|
|
adds r3, r4
|
|
lsls r3, 2
|
|
adds r0, r3, r5
|
|
ldrb r2, [r0, 0x5]
|
|
movs r1, 0xF
|
|
ands r1, r2
|
|
movs r2, 0x10
|
|
orrs r1, r2
|
|
strb r1, [r0, 0x5]
|
|
adds r1, r5, 0
|
|
adds r1, 0x1C
|
|
adds r1, r3, r1
|
|
ldr r2, _080AE9F4 @ =SpriteCallbackDummy
|
|
str r2, [r1]
|
|
adds r5, 0x10
|
|
adds r3, r5
|
|
ldr r1, _080AE9F8 @ =gSpriteAffineAnimTable_81E7C18
|
|
str r1, [r3]
|
|
movs r1, 0
|
|
bl StartSpriteAffineAnim
|
|
adds r0, r4, 0
|
|
add sp, 0x8
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080AE9D4: .4byte gUnknown_02038570
|
|
_080AE9D8: .4byte gUnknown_02038695
|
|
_080AE9DC: .4byte gMonFrontPicTable
|
|
_080AE9E0: .4byte gMonFrontPicCoords
|
|
_080AE9E4: .4byte gUnknown_081FAF4C
|
|
_080AE9E8: .4byte gMonPaletteTable
|
|
_080AE9EC: .4byte gUnknown_02024E8C
|
|
_080AE9F0: .4byte gSprites
|
|
_080AE9F4: .4byte SpriteCallbackDummy
|
|
_080AE9F8: .4byte gSpriteAffineAnimTable_81E7C18
|
|
thumb_func_end unref_sub_80AE908
|
|
|
|
thumb_func_start sub_80AE9FC
|
|
sub_80AE9FC: @ 80AE9FC
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
sub sp, 0xC
|
|
mov r8, r1
|
|
adds r6, r2, 0
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
bl sub_80B2778
|
|
mov r9, r0
|
|
mov r5, r9
|
|
lsls r0, r5, 3
|
|
ldr r1, _080AEACC @ =gMonBackPicTable
|
|
adds r0, r1
|
|
ldr r1, _080AEAD0 @ =gMonBackPicCoords
|
|
lsls r2, r5, 2
|
|
adds r2, r1
|
|
ldrb r1, [r2]
|
|
ldrb r2, [r2, 0x1]
|
|
movs r3, 0x80
|
|
lsls r3, 18
|
|
ldr r4, _080AEAD4 @ =gUnknown_081FAF4C
|
|
ldr r4, [r4]
|
|
str r4, [sp]
|
|
str r5, [sp, 0x4]
|
|
str r6, [sp, 0x8]
|
|
bl sub_800D334
|
|
adds r0, r5, 0
|
|
mov r1, r8
|
|
adds r2, r6, 0
|
|
bl species_and_otid_get_pal
|
|
movs r1, 0x90
|
|
lsls r1, 1
|
|
movs r2, 0x20
|
|
bl LoadCompressedPalette
|
|
adds r0, r5, 0
|
|
movs r1, 0
|
|
bl GetMonSpriteTemplate_803C56C
|
|
ldr r4, _080AEAD8 @ =gUnknown_02024E8C
|
|
movs r0, 0x2
|
|
adds r1, r5, 0
|
|
movs r2, 0
|
|
bl sub_8077E44
|
|
adds r2, r0, 0
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
adds r0, r4, 0
|
|
movs r1, 0x70
|
|
movs r3, 0x1E
|
|
bl CreateSprite
|
|
lsls r0, 24
|
|
lsrs r7, r0, 24
|
|
ldr r0, _080AEADC @ =gSprites
|
|
mov r8, r0
|
|
lsls r0, r7, 4
|
|
adds r0, r7
|
|
lsls r6, r0, 2
|
|
mov r0, r8
|
|
adds r4, r6, r0
|
|
ldrb r1, [r4, 0x5]
|
|
movs r0, 0xF
|
|
ands r0, r1
|
|
movs r1, 0x20
|
|
orrs r0, r1
|
|
movs r1, 0xD
|
|
negs r1, r1
|
|
ands r0, r1
|
|
movs r1, 0x8
|
|
orrs r0, r1
|
|
strb r0, [r4, 0x5]
|
|
movs r0, 0x2
|
|
bl sub_8079E90
|
|
adds r1, r4, 0
|
|
adds r1, 0x43
|
|
strb r0, [r1]
|
|
mov r0, r8
|
|
adds r0, 0x1C
|
|
adds r0, r6, r0
|
|
ldr r1, _080AEAE0 @ =SpriteCallbackDummy
|
|
str r1, [r0]
|
|
ldrb r0, [r4, 0x5]
|
|
lsrs r0, 4
|
|
strh r0, [r4, 0x2E]
|
|
strh r5, [r4, 0x32]
|
|
adds r0, r5, 0
|
|
bl sub_80AEB1C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080AEAE8
|
|
mov r0, r8
|
|
adds r0, 0x10
|
|
adds r0, r6, r0
|
|
ldr r1, _080AEAE4 @ =gSpriteAffineAnimTable_81E7C18
|
|
b _080AEAF0
|
|
.align 2, 0
|
|
_080AEACC: .4byte gMonBackPicTable
|
|
_080AEAD0: .4byte gMonBackPicCoords
|
|
_080AEAD4: .4byte gUnknown_081FAF4C
|
|
_080AEAD8: .4byte gUnknown_02024E8C
|
|
_080AEADC: .4byte gSprites
|
|
_080AEAE0: .4byte SpriteCallbackDummy
|
|
_080AEAE4: .4byte gSpriteAffineAnimTable_81E7C18
|
|
_080AEAE8:
|
|
mov r0, r8
|
|
adds r0, 0x10
|
|
adds r0, r6, r0
|
|
ldr r1, _080AEB14 @ =gSpriteAffineAnimTable_81E7BEC
|
|
_080AEAF0:
|
|
str r1, [r0]
|
|
lsls r0, r7, 4
|
|
adds r0, r7
|
|
lsls r0, 2
|
|
ldr r1, _080AEB18 @ =gSprites
|
|
adds r0, r1
|
|
movs r1, 0
|
|
bl StartSpriteAffineAnim
|
|
adds r0, r7, 0
|
|
add sp, 0xC
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080AEB14: .4byte gSpriteAffineAnimTable_81E7BEC
|
|
_080AEB18: .4byte gSprites
|
|
thumb_func_end sub_80AE9FC
|
|
|
|
thumb_func_start sub_80AEB1C
|
|
sub_80AEB1C: @ 80AEB1C
|
|
push {lr}
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
cmp r0, 0xC9
|
|
beq _080AEB2A
|
|
movs r0, 0x1
|
|
b _080AEB2C
|
|
_080AEB2A:
|
|
movs r0, 0
|
|
_080AEB2C:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80AEB1C
|
|
|
|
thumb_func_start sub_80AEB30
|
|
sub_80AEB30: @ 80AEB30
|
|
push {lr}
|
|
ldr r0, _080AEB44 @ =0x0600c000
|
|
bl sub_80AEB4C
|
|
ldr r0, _080AEB48 @ =0x0600e000
|
|
bl sub_80AEB4C
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AEB44: .4byte 0x0600c000
|
|
_080AEB48: .4byte 0x0600e000
|
|
thumb_func_end sub_80AEB30
|
|
|
|
thumb_func_start sub_80AEB4C
|
|
sub_80AEB4C: @ 80AEB4C
|
|
movs r1, 0xA0
|
|
lsls r1, 3
|
|
adds r2, r0, r1
|
|
ldr r1, _080AEB60 @ =0x040000d4
|
|
str r0, [r1]
|
|
str r2, [r1, 0x4]
|
|
ldr r0, _080AEB64 @ =0x80000140
|
|
str r0, [r1, 0x8]
|
|
ldr r0, [r1, 0x8]
|
|
bx lr
|
|
.align 2, 0
|
|
_080AEB60: .4byte 0x040000d4
|
|
_080AEB64: .4byte 0x80000140
|
|
thumb_func_end sub_80AEB4C
|
|
|
|
thumb_func_start sub_80AEB68
|
|
sub_80AEB68: @ 80AEB68
|
|
push {lr}
|
|
lsls r0, 16
|
|
lsls r1, 24
|
|
lsrs r3, r1, 24
|
|
ldr r2, _080AEB90 @ =gContestEffects
|
|
ldr r1, _080AEB94 @ =gContestMoves
|
|
lsrs r0, 13
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
lsls r0, 2
|
|
adds r0, r2
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x8
|
|
bhi _080AEBD0
|
|
lsls r0, 2
|
|
ldr r1, _080AEB98 @ =_080AEB9C
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080AEB90: .4byte gContestEffects
|
|
_080AEB94: .4byte gContestMoves
|
|
_080AEB98: .4byte _080AEB9C
|
|
.align 2, 0
|
|
_080AEB9C:
|
|
.4byte _080AEBC0
|
|
.4byte _080AEBC0
|
|
.4byte _080AEBC8
|
|
.4byte _080AEBC8
|
|
.4byte _080AEBD0
|
|
.4byte _080AEBD0
|
|
.4byte _080AEBD0
|
|
.4byte _080AEBD0
|
|
.4byte _080AEBC0
|
|
_080AEBC0:
|
|
ldr r0, _080AEBC4 @ =0x00009082
|
|
b _080AEBD2
|
|
.align 2, 0
|
|
_080AEBC4: .4byte 0x00009082
|
|
_080AEBC8:
|
|
ldr r0, _080AEBCC @ =0x00009088
|
|
b _080AEBD2
|
|
.align 2, 0
|
|
_080AEBCC: .4byte 0x00009088
|
|
_080AEBD0:
|
|
ldr r0, _080AEBE8 @ =0x00009086
|
|
_080AEBD2:
|
|
lsls r1, r3, 12
|
|
movs r2, 0x90
|
|
lsls r2, 8
|
|
adds r1, r2
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
adds r0, r1
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080AEBE8: .4byte 0x00009086
|
|
thumb_func_end sub_80AEB68
|
|
|
|
thumb_func_start sub_80AEBEC
|
|
sub_80AEBEC: @ 80AEBEC
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
sub sp, 0x8
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
ldr r0, _080AEC74 @ =gUnknown_03004210
|
|
movs r1, 0x10
|
|
str r1, [sp]
|
|
movs r1, 0x22
|
|
str r1, [sp, 0x4]
|
|
movs r1, 0
|
|
movs r2, 0xB
|
|
movs r3, 0x1F
|
|
bl FillWindowRect_DefaultPalette
|
|
ldr r1, _080AEC78 @ =gContestMoves
|
|
lsls r0, r4, 3
|
|
adds r0, r1
|
|
ldrb r0, [r0, 0x1]
|
|
lsls r0, 29
|
|
lsrs r0, 29
|
|
ldr r1, _080AEC7C @ =0x00004040
|
|
cmp r0, 0
|
|
beq _080AEC34
|
|
adds r1, 0x5
|
|
cmp r0, 0x1
|
|
beq _080AEC34
|
|
adds r1, 0x5
|
|
cmp r0, 0x2
|
|
beq _080AEC34
|
|
adds r1, 0x40
|
|
cmp r0, 0x3
|
|
bne _080AEC34
|
|
subs r1, 0x20
|
|
_080AEC34:
|
|
ldr r0, _080AEC74 @ =gUnknown_03004210
|
|
mov r8, r0
|
|
ldr r6, _080AEC78 @ =gContestMoves
|
|
lsls r5, r4, 3
|
|
ldr r7, _080AEC80 @ =gContestEffects
|
|
ldr r0, _080AEC84 @ =gUnknown_083CADD4
|
|
mov r9, r0
|
|
ldr r4, _080AEC88 @ =0x0600c816
|
|
ldr r3, _080AEC8C @ =0x0600c7d6
|
|
movs r2, 0x4
|
|
_080AEC48:
|
|
strh r1, [r3]
|
|
adds r0, r1, 0
|
|
adds r0, 0x10
|
|
strh r0, [r4]
|
|
adds r0, r1, 0x1
|
|
lsls r0, 16
|
|
lsrs r1, r0, 16
|
|
adds r4, 0x2
|
|
adds r3, 0x2
|
|
subs r2, 0x1
|
|
cmp r2, 0
|
|
bge _080AEC48
|
|
adds r0, r5, r6
|
|
ldrb r0, [r0]
|
|
lsls r0, 2
|
|
adds r1, r0, r7
|
|
ldrb r0, [r1, 0x1]
|
|
cmp r0, 0xFF
|
|
bne _080AEC90
|
|
movs r0, 0
|
|
b _080AEC9C
|
|
.align 2, 0
|
|
_080AEC74: .4byte gUnknown_03004210
|
|
_080AEC78: .4byte gContestMoves
|
|
_080AEC7C: .4byte 0x00004040
|
|
_080AEC80: .4byte gContestEffects
|
|
_080AEC84: .4byte gUnknown_083CADD4
|
|
_080AEC88: .4byte 0x0600c816
|
|
_080AEC8C: .4byte 0x0600c7d6
|
|
_080AEC90:
|
|
ldrb r0, [r1, 0x1]
|
|
movs r1, 0xA
|
|
bl __udivsi3
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
_080AEC9C:
|
|
cmp r0, 0x8
|
|
bls _080AECA2
|
|
movs r0, 0x8
|
|
_080AECA2:
|
|
movs r2, 0
|
|
ldr r1, _080AECB8 @ =0x00005012
|
|
adds r4, r1, 0
|
|
adds r1, 0x23
|
|
adds r3, r1, 0
|
|
ldr r1, _080AECBC @ =0x0600c7ea
|
|
_080AECAE:
|
|
cmp r2, r0
|
|
bge _080AECC0
|
|
strh r4, [r1]
|
|
b _080AECC2
|
|
.align 2, 0
|
|
_080AECB8: .4byte 0x00005012
|
|
_080AECBC: .4byte 0x0600c7ea
|
|
_080AECC0:
|
|
strh r3, [r1]
|
|
_080AECC2:
|
|
adds r1, 0x2
|
|
adds r2, 0x1
|
|
cmp r2, 0x7
|
|
ble _080AECAE
|
|
adds r0, r5, r6
|
|
ldrb r0, [r0]
|
|
lsls r0, 2
|
|
adds r1, r0, r7
|
|
ldrb r0, [r1, 0x2]
|
|
cmp r0, 0xFF
|
|
bne _080AECDC
|
|
movs r0, 0
|
|
b _080AECE8
|
|
_080AECDC:
|
|
ldrb r0, [r1, 0x2]
|
|
movs r1, 0xA
|
|
bl __udivsi3
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
_080AECE8:
|
|
cmp r0, 0x8
|
|
bls _080AECEE
|
|
movs r0, 0x8
|
|
_080AECEE:
|
|
movs r2, 0
|
|
ldr r1, _080AED04 @ =0x00005014
|
|
adds r4, r1, 0
|
|
adds r1, 0x22
|
|
adds r3, r1, 0
|
|
ldr r1, _080AED08 @ =0x0600c82a
|
|
_080AECFA:
|
|
cmp r2, r0
|
|
bge _080AED0C
|
|
strh r4, [r1]
|
|
b _080AED0E
|
|
.align 2, 0
|
|
_080AED04: .4byte 0x00005014
|
|
_080AED08: .4byte 0x0600c82a
|
|
_080AED0C:
|
|
strh r3, [r1]
|
|
_080AED0E:
|
|
adds r1, 0x2
|
|
adds r2, 0x1
|
|
cmp r2, 0x7
|
|
ble _080AECFA
|
|
adds r0, r5, r6
|
|
ldrb r0, [r0]
|
|
lsls r0, 2
|
|
add r0, r9
|
|
ldr r1, [r0]
|
|
movs r2, 0xD9
|
|
lsls r2, 2
|
|
movs r0, 0x23
|
|
str r0, [sp]
|
|
mov r0, r8
|
|
movs r3, 0xB
|
|
bl sub_8003460
|
|
ldr r1, _080AED50 @ =gUnknown_083CC5A2
|
|
ldr r2, _080AED54 @ =0x00000362
|
|
movs r0, 0x1F
|
|
str r0, [sp]
|
|
mov r0, r8
|
|
movs r3, 0x10
|
|
bl sub_8003460
|
|
add sp, 0x8
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AED50: .4byte gUnknown_083CC5A2
|
|
_080AED54: .4byte 0x00000362
|
|
thumb_func_end sub_80AEBEC
|
|
|
|
thumb_func_start sub_80AED58
|
|
sub_80AED58: @ 80AED58
|
|
push {lr}
|
|
sub sp, 0x8
|
|
ldr r0, _080AED78 @ =gUnknown_03004210
|
|
movs r1, 0x1C
|
|
str r1, [sp]
|
|
movs r1, 0x28
|
|
str r1, [sp, 0x4]
|
|
movs r1, 0
|
|
movs r2, 0xB
|
|
movs r3, 0x23
|
|
bl FillWindowRect_DefaultPalette
|
|
add sp, 0x8
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AED78: .4byte gUnknown_03004210
|
|
thumb_func_end sub_80AED58
|
|
|
|
thumb_func_start sub_80AED7C
|
|
sub_80AED7C: @ 80AED7C
|
|
push {r4-r6,lr}
|
|
lsls r0, 16
|
|
lsrs r6, r0, 16
|
|
lsls r1, 24
|
|
lsrs r4, r1, 24
|
|
ldr r0, _080AEDD8 @ =gUnknown_02038696
|
|
adds r0, r4, r0
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
adds r0, 0x2
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
adds r0, r4, 0
|
|
bl sub_80AF59C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080AEDEC
|
|
cmp r6, 0
|
|
beq _080AEDEC
|
|
adds r0, r6, 0
|
|
adds r1, r4, 0
|
|
bl sub_80AEB68
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
lsls r3, r5, 6
|
|
ldr r1, _080AEDDC @ =0x0600c028
|
|
adds r1, r3, r1
|
|
strh r0, [r1]
|
|
ldr r1, _080AEDE0 @ =0x0600c02a
|
|
adds r1, r3, r1
|
|
adds r2, r0, 0x1
|
|
strh r2, [r1]
|
|
ldr r1, _080AEDE4 @ =0x0600c068
|
|
adds r2, r3, r1
|
|
adds r1, r0, 0
|
|
adds r1, 0x10
|
|
strh r1, [r2]
|
|
ldr r1, _080AEDE8 @ =0x0600c06a
|
|
adds r3, r1
|
|
adds r0, 0x11
|
|
strh r0, [r3]
|
|
b _080AEE08
|
|
.align 2, 0
|
|
_080AEDD8: .4byte gUnknown_02038696
|
|
_080AEDDC: .4byte 0x0600c028
|
|
_080AEDE0: .4byte 0x0600c02a
|
|
_080AEDE4: .4byte 0x0600c068
|
|
_080AEDE8: .4byte 0x0600c06a
|
|
_080AEDEC:
|
|
lsls r1, r5, 6
|
|
ldr r0, _080AEE10 @ =0x0600c028
|
|
adds r0, r1, r0
|
|
movs r2, 0
|
|
strh r2, [r0]
|
|
ldr r0, _080AEE14 @ =0x0600c02a
|
|
adds r0, r1, r0
|
|
strh r2, [r0]
|
|
ldr r3, _080AEE18 @ =0x0600c068
|
|
adds r0, r1, r3
|
|
strh r2, [r0]
|
|
ldr r0, _080AEE1C @ =0x0600c06a
|
|
adds r1, r0
|
|
strh r2, [r1]
|
|
_080AEE08:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AEE10: .4byte 0x0600c028
|
|
_080AEE14: .4byte 0x0600c02a
|
|
_080AEE18: .4byte 0x0600c068
|
|
_080AEE1C: .4byte 0x0600c06a
|
|
thumb_func_end sub_80AED7C
|
|
|
|
thumb_func_start unref_sub_80AEE20
|
|
unref_sub_80AEE20: @ 80AEE20
|
|
push {r4,lr}
|
|
movs r4, 0
|
|
_080AEE24:
|
|
lsls r0, r4, 3
|
|
subs r0, r4
|
|
lsls r0, 2
|
|
ldr r1, _080AEE48 @ =0x02019260
|
|
adds r0, r1
|
|
ldrh r0, [r0, 0x6]
|
|
adds r1, r4, 0
|
|
bl sub_80AED7C
|
|
adds r0, r4, 0x1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0x3
|
|
bls _080AEE24
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AEE48: .4byte 0x02019260
|
|
thumb_func_end unref_sub_80AEE20
|
|
|
|
thumb_func_start sub_80AEE4C
|
|
sub_80AEE4C: @ 80AEE4C
|
|
ldr r0, _080AEE50 @ =0x00002034
|
|
bx lr
|
|
.align 2, 0
|
|
_080AEE50: .4byte 0x00002034
|
|
thumb_func_end sub_80AEE4C
|
|
|
|
thumb_func_start sub_80AEE54
|
|
sub_80AEE54: @ 80AEE54
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x4
|
|
lsls r0, 24
|
|
lsrs r7, r0, 24
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
str r1, [sp]
|
|
lsls r5, r7, 3
|
|
subs r0, r5, r7
|
|
lsls r0, 2
|
|
ldr r1, _080AEE84 @ =0x02019260
|
|
adds r0, r1
|
|
ldrb r0, [r0, 0x10]
|
|
movs r2, 0x30
|
|
ands r2, r0
|
|
mov r10, r1
|
|
cmp r2, 0
|
|
bne _080AEE88
|
|
movs r0, 0
|
|
b _080AEF3C
|
|
.align 2, 0
|
|
_080AEE84: .4byte 0x02019260
|
|
_080AEE88:
|
|
ldr r0, _080AEEB0 @ =gUnknown_02038696
|
|
adds r0, r7, r0
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
adds r0, 0x2
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r9, r0
|
|
cmp r2, 0x10
|
|
bne _080AEEF0
|
|
adds r0, r7, 0
|
|
bl sub_80AEE4C
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
mov r8, r0
|
|
movs r4, 0
|
|
adds r6, r5, 0
|
|
b _080AEEC4
|
|
.align 2, 0
|
|
_080AEEB0: .4byte gUnknown_02038696
|
|
_080AEEB4:
|
|
mov r1, r9
|
|
adds r0, r1, r4
|
|
lsls r0, 6
|
|
ldr r1, _080AEEE8 @ =0x0600c026
|
|
adds r0, r1
|
|
mov r1, r8
|
|
strh r1, [r0]
|
|
adds r4, 0x1
|
|
_080AEEC4:
|
|
subs r0, r6, r7
|
|
lsls r0, 2
|
|
ldr r1, _080AEEEC @ =0x02019260
|
|
adds r5, r0, r1
|
|
movs r0, 0xD
|
|
ldrsb r0, [r5, r0]
|
|
movs r1, 0xA
|
|
bl __divsi3
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
cmp r0, r4
|
|
bgt _080AEEB4
|
|
ldr r0, [sp]
|
|
cmp r0, 0
|
|
beq _080AEF3A
|
|
movs r0, 0x5B
|
|
b _080AEF2C
|
|
.align 2, 0
|
|
_080AEEE8: .4byte 0x0600c026
|
|
_080AEEEC: .4byte 0x02019260
|
|
_080AEEF0:
|
|
movs r1, 0
|
|
mov r8, r1
|
|
movs r4, 0x3
|
|
adds r6, r5, 0
|
|
b _080AEF0A
|
|
_080AEEFA:
|
|
mov r1, r9
|
|
adds r0, r1, r4
|
|
lsls r0, 6
|
|
ldr r1, _080AEF4C @ =0x0600bfe6
|
|
adds r0, r1
|
|
mov r1, r8
|
|
strh r1, [r0]
|
|
subs r4, 0x1
|
|
_080AEF0A:
|
|
subs r0, r6, r7
|
|
lsls r0, 2
|
|
mov r1, r10
|
|
adds r5, r0, r1
|
|
movs r0, 0xD
|
|
ldrsb r0, [r5, r0]
|
|
movs r1, 0xA
|
|
bl __divsi3
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
cmp r0, r4
|
|
blt _080AEEFA
|
|
ldr r0, [sp]
|
|
cmp r0, 0
|
|
beq _080AEF3A
|
|
movs r0, 0x26
|
|
_080AEF2C:
|
|
bl PlaySE
|
|
ldrb r1, [r5, 0x10]
|
|
movs r0, 0x31
|
|
negs r0, r0
|
|
ands r0, r1
|
|
strb r0, [r5, 0x10]
|
|
_080AEF3A:
|
|
movs r0, 0x1
|
|
_080AEF3C:
|
|
add sp, 0x4
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080AEF4C: .4byte 0x0600bfe6
|
|
thumb_func_end sub_80AEE54
|
|
|
|
thumb_func_start sub_80AEF50
|
|
sub_80AEF50: @ 80AEF50
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0x4
|
|
movs r5, 0
|
|
_080AEF5A:
|
|
ldr r0, _080AEF80 @ =gUnknown_02038696
|
|
adds r0, r5, r0
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
adds r0, 0x2
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r8, r0
|
|
lsls r0, r5, 24
|
|
lsrs r0, 24
|
|
bl sub_80AEE4C
|
|
lsls r0, 16
|
|
lsrs r6, r0, 16
|
|
movs r4, 0
|
|
lsls r7, r5, 3
|
|
adds r2, r5, 0x1
|
|
b _080AEF92
|
|
.align 2, 0
|
|
_080AEF80: .4byte gUnknown_02038696
|
|
_080AEF84:
|
|
mov r1, r8
|
|
adds r0, r1, r4
|
|
lsls r0, 6
|
|
ldr r3, _080AEFE0 @ =0x0600c026
|
|
adds r0, r3
|
|
strh r6, [r0]
|
|
adds r4, 0x1
|
|
_080AEF92:
|
|
subs r0, r7, r5
|
|
lsls r0, 2
|
|
ldr r1, _080AEFE4 @ =0x02019260
|
|
adds r0, r1
|
|
ldrb r0, [r0, 0xD]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
movs r1, 0xA
|
|
str r2, [sp]
|
|
bl __divsi3
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
ldr r2, [sp]
|
|
cmp r4, r0
|
|
blt _080AEF84
|
|
movs r6, 0
|
|
cmp r4, 0x2
|
|
bgt _080AEFCE
|
|
lsls r0, r4, 6
|
|
ldr r1, _080AEFE0 @ =0x0600c026
|
|
adds r0, r1
|
|
mov r3, r8
|
|
lsls r1, r3, 6
|
|
adds r0, r1
|
|
_080AEFC4:
|
|
strh r6, [r0]
|
|
adds r0, 0x40
|
|
adds r4, 0x1
|
|
cmp r4, 0x2
|
|
ble _080AEFC4
|
|
_080AEFCE:
|
|
adds r5, r2, 0
|
|
cmp r5, 0x3
|
|
ble _080AEF5A
|
|
add sp, 0x4
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AEFE0: .4byte 0x0600c026
|
|
_080AEFE4: .4byte 0x02019260
|
|
thumb_func_end sub_80AEF50
|
|
|
|
thumb_func_start sub_80AEFE8
|
|
sub_80AEFE8: @ 80AEFE8
|
|
push {lr}
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
movs r0, 0
|
|
cmp r1, 0x4
|
|
bhi _080AF02A
|
|
lsls r0, r1, 2
|
|
ldr r1, _080AF000 @ =_080AF004
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080AF000: .4byte _080AF004
|
|
.align 2, 0
|
|
_080AF004:
|
|
.4byte _080AF018
|
|
.4byte _080AF01C
|
|
.4byte _080AF020
|
|
.4byte _080AF024
|
|
.4byte _080AF028
|
|
_080AF018:
|
|
movs r0, 0x80
|
|
b _080AF02A
|
|
_080AF01C:
|
|
movs r0, 0x84
|
|
b _080AF02A
|
|
_080AF020:
|
|
movs r0, 0x86
|
|
b _080AF02A
|
|
_080AF024:
|
|
movs r0, 0x88
|
|
b _080AF02A
|
|
_080AF028:
|
|
movs r0, 0x82
|
|
_080AF02A:
|
|
movs r1, 0x90
|
|
lsls r1, 8
|
|
adds r0, r1
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80AEFE8
|
|
|
|
thumb_func_start sub_80AF038
|
|
sub_80AF038: @ 80AF038
|
|
push {r4-r6,lr}
|
|
lsls r0, 24
|
|
lsrs r3, r0, 24
|
|
movs r5, 0x1
|
|
movs r4, 0
|
|
ldr r0, _080AF074 @ =gUnknown_02038696
|
|
adds r0, r3, r0
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
adds r0, 0x2
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
lsls r0, r3, 3
|
|
subs r0, r3
|
|
lsls r0, 2
|
|
ldr r1, _080AF078 @ =0x02019260
|
|
adds r2, r0, r1
|
|
ldr r0, [r2, 0x10]
|
|
ldr r1, _080AF07C @ =0x00ff0003
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _080AF06C
|
|
ldrb r0, [r2, 0xF]
|
|
cmp r0, 0
|
|
beq _080AF080
|
|
_080AF06C:
|
|
adds r0, r3, 0
|
|
movs r1, 0
|
|
b _080AF0A6
|
|
.align 2, 0
|
|
_080AF074: .4byte gUnknown_02038696
|
|
_080AF078: .4byte 0x02019260
|
|
_080AF07C: .4byte 0x00ff0003
|
|
_080AF080:
|
|
ldrb r1, [r2, 0xC]
|
|
adds r0, r5, 0
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080AF090
|
|
adds r0, r3, 0
|
|
movs r1, 0x1
|
|
b _080AF0A6
|
|
_080AF090:
|
|
movs r0, 0x6
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _080AF0A2
|
|
ldrb r1, [r2, 0xB]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080AF0B0
|
|
_080AF0A2:
|
|
adds r0, r3, 0
|
|
movs r1, 0x2
|
|
_080AF0A6:
|
|
bl sub_80AEFE8
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
b _080AF0B2
|
|
_080AF0B0:
|
|
movs r5, 0
|
|
_080AF0B2:
|
|
cmp r5, 0
|
|
beq _080AF0EC
|
|
lsls r2, r6, 6
|
|
ldr r0, _080AF0DC @ =0x0600c028
|
|
adds r0, r2, r0
|
|
strh r4, [r0]
|
|
ldr r0, _080AF0E0 @ =0x0600c02a
|
|
adds r0, r2, r0
|
|
adds r1, r4, 0x1
|
|
strh r1, [r0]
|
|
ldr r0, _080AF0E4 @ =0x0600c068
|
|
adds r1, r2, r0
|
|
adds r0, r4, 0
|
|
adds r0, 0x10
|
|
strh r0, [r1]
|
|
ldr r0, _080AF0E8 @ =0x0600c06a
|
|
adds r2, r0
|
|
adds r0, r4, 0
|
|
adds r0, 0x11
|
|
strh r0, [r2]
|
|
b _080AF106
|
|
.align 2, 0
|
|
_080AF0DC: .4byte 0x0600c028
|
|
_080AF0E0: .4byte 0x0600c02a
|
|
_080AF0E4: .4byte 0x0600c068
|
|
_080AF0E8: .4byte 0x0600c06a
|
|
_080AF0EC:
|
|
lsls r1, r6, 6
|
|
ldr r0, _080AF110 @ =0x0600c028
|
|
adds r0, r1, r0
|
|
strh r5, [r0]
|
|
ldr r0, _080AF114 @ =0x0600c02a
|
|
adds r0, r1, r0
|
|
strh r5, [r0]
|
|
ldr r2, _080AF118 @ =0x0600c068
|
|
adds r0, r1, r2
|
|
strh r5, [r0]
|
|
ldr r0, _080AF11C @ =0x0600c06a
|
|
adds r1, r0
|
|
strh r5, [r1]
|
|
_080AF106:
|
|
adds r0, r5, 0
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080AF110: .4byte 0x0600c028
|
|
_080AF114: .4byte 0x0600c02a
|
|
_080AF118: .4byte 0x0600c068
|
|
_080AF11C: .4byte 0x0600c06a
|
|
thumb_func_end sub_80AF038
|
|
|
|
thumb_func_start sub_80AF120
|
|
sub_80AF120: @ 80AF120
|
|
push {r4,lr}
|
|
movs r4, 0
|
|
_080AF124:
|
|
lsls r0, r4, 24
|
|
lsrs r0, 24
|
|
bl sub_80AF038
|
|
adds r4, 0x1
|
|
cmp r4, 0x3
|
|
ble _080AF124
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80AF120
|
|
|
|
thumb_func_start sub_80AF138
|
|
sub_80AF138: @ 80AF138
|
|
push {lr}
|
|
sub sp, 0x8
|
|
ldr r0, _080AF158 @ =gUnknown_03004210
|
|
movs r1, 0x11
|
|
str r1, [sp]
|
|
movs r1, 0x12
|
|
str r1, [sp, 0x4]
|
|
movs r1, 0
|
|
movs r2, 0x1
|
|
movs r3, 0xF
|
|
bl FillWindowRect_DefaultPalette
|
|
add sp, 0x8
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AF158: .4byte gUnknown_03004210
|
|
thumb_func_end sub_80AF138
|
|
|
|
thumb_func_start sub_80AF15C
|
|
sub_80AF15C: @ 80AF15C
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
adds r5, r4, 0
|
|
adds r0, r4, 0
|
|
bl sub_80AF59C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080AF174
|
|
movs r0, 0
|
|
b _080AF1AA
|
|
_080AF174:
|
|
ldr r0, _080AF190 @ =gUnknown_02038695
|
|
ldrb r0, [r0]
|
|
cmp r4, r0
|
|
beq _080AF198
|
|
adds r0, r4, 0
|
|
bl sub_81288F4
|
|
bl sub_8128944
|
|
lsls r0, 24
|
|
ldr r2, _080AF194 @ =gUnknown_02038570
|
|
lsrs r0, 23
|
|
lsls r1, r4, 6
|
|
b _080AF1A2
|
|
.align 2, 0
|
|
_080AF190: .4byte gUnknown_02038695
|
|
_080AF194: .4byte gUnknown_02038570
|
|
_080AF198:
|
|
ldr r2, _080AF1B0 @ =gUnknown_02038570
|
|
ldr r0, _080AF1B4 @ =0x02019204
|
|
ldrb r0, [r0]
|
|
lsls r0, 1
|
|
lsls r1, r5, 6
|
|
_080AF1A2:
|
|
adds r0, r1
|
|
adds r2, 0x1E
|
|
adds r0, r2
|
|
ldrh r0, [r0]
|
|
_080AF1AA:
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080AF1B0: .4byte gUnknown_02038570
|
|
_080AF1B4: .4byte 0x02019204
|
|
thumb_func_end sub_80AF15C
|
|
|
|
thumb_func_start sub_80AF1B8
|
|
sub_80AF1B8: @ 80AF1B8
|
|
push {r4,lr}
|
|
movs r4, 0
|
|
_080AF1BC:
|
|
adds r0, r4, 0
|
|
bl sub_80AF15C
|
|
lsls r1, r4, 3
|
|
subs r1, r4
|
|
lsls r1, 2
|
|
ldr r2, _080AF1E0 @ =0x02019260
|
|
adds r1, r2
|
|
strh r0, [r1, 0x6]
|
|
adds r0, r4, 0x1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0x3
|
|
bls _080AF1BC
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AF1E0: .4byte 0x02019260
|
|
thumb_func_end sub_80AF1B8
|
|
|
|
thumb_func_start sub_80AF1E4
|
|
sub_80AF1E4: @ 80AF1E4
|
|
push {r4,r5,lr}
|
|
sub sp, 0x4
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
lsls r1, 24
|
|
cmp r1, 0
|
|
bne _080AF1FC
|
|
adds r0, r5, 0
|
|
adds r0, 0xA
|
|
lsls r0, 24
|
|
lsrs r3, r0, 24
|
|
b _080AF1FE
|
|
_080AF1FC:
|
|
movs r3, 0xE
|
|
_080AF1FE:
|
|
lsls r0, r5, 3
|
|
subs r0, r5
|
|
lsls r0, 2
|
|
ldr r1, _080AF21C @ =0x02019260
|
|
adds r1, r0, r1
|
|
ldrh r0, [r1, 0x6]
|
|
cmp r0, 0
|
|
bne _080AF228
|
|
ldr r0, _080AF220 @ =gUnknown_020238CC
|
|
ldr r1, _080AF224 @ =gUnknownText_MissedTurn
|
|
adds r2, r3, 0
|
|
bl sub_80AE598
|
|
b _080AF23A
|
|
.align 2, 0
|
|
_080AF21C: .4byte 0x02019260
|
|
_080AF220: .4byte gUnknown_020238CC
|
|
_080AF224: .4byte gUnknownText_MissedTurn
|
|
_080AF228:
|
|
ldr r0, _080AF270 @ =gUnknown_020238CC
|
|
ldrh r2, [r1, 0x6]
|
|
movs r1, 0xD
|
|
muls r1, r2
|
|
ldr r2, _080AF274 @ =gMoveNames
|
|
adds r1, r2
|
|
adds r2, r3, 0
|
|
bl sub_80AE598
|
|
_080AF23A:
|
|
adds r0, r5, 0
|
|
bl sub_80AF2A0
|
|
ldr r0, _080AF278 @ =gUnknown_03004210
|
|
ldr r1, _080AF270 @ =gUnknown_020238CC
|
|
lsls r2, r5, 2
|
|
adds r2, r5
|
|
lsls r2, 18
|
|
movs r3, 0xAE
|
|
lsls r3, 18
|
|
adds r2, r3
|
|
lsrs r2, 16
|
|
ldr r4, _080AF27C @ =gUnknown_083CA318
|
|
lsls r5, 1
|
|
adds r3, r5, r4
|
|
ldrb r3, [r3]
|
|
adds r4, 0x1
|
|
adds r5, r4
|
|
ldrb r4, [r5]
|
|
str r4, [sp]
|
|
bl sub_8003460
|
|
add sp, 0x4
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AF270: .4byte gUnknown_020238CC
|
|
_080AF274: .4byte gMoveNames
|
|
_080AF278: .4byte gUnknown_03004210
|
|
_080AF27C: .4byte gUnknown_083CA318
|
|
thumb_func_end sub_80AF1E4
|
|
|
|
thumb_func_start unref_sub_80AF280
|
|
unref_sub_80AF280: @ 80AF280
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
movs r4, 0
|
|
_080AF288:
|
|
adds r0, r4, 0
|
|
adds r1, r5, 0
|
|
bl sub_80AF1E4
|
|
adds r0, r4, 0x1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0x3
|
|
bls _080AF288
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end unref_sub_80AF280
|
|
|
|
thumb_func_start sub_80AF2A0
|
|
sub_80AF2A0: @ 80AF2A0
|
|
push {r4,lr}
|
|
sub sp, 0x8
|
|
lsls r0, 24
|
|
ldr r4, _080AF2D8 @ =gUnknown_03004210
|
|
ldr r1, _080AF2DC @ =gUnknown_083CA318
|
|
lsrs r0, 23
|
|
adds r2, r0, r1
|
|
ldrb r2, [r2]
|
|
adds r1, 0x1
|
|
adds r0, r1
|
|
ldrb r3, [r0]
|
|
adds r0, r2, 0x7
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
str r0, [sp]
|
|
adds r0, r3, 0x1
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
str r0, [sp, 0x4]
|
|
adds r0, r4, 0
|
|
movs r1, 0
|
|
bl FillWindowRect_DefaultPalette
|
|
add sp, 0x8
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AF2D8: .4byte gUnknown_03004210
|
|
_080AF2DC: .4byte gUnknown_083CA318
|
|
thumb_func_end sub_80AF2A0
|
|
|
|
thumb_func_start unref_sub_80AF2E0
|
|
unref_sub_80AF2E0: @ 80AF2E0
|
|
push {r4,lr}
|
|
movs r4, 0
|
|
_080AF2E4:
|
|
adds r0, r4, 0
|
|
bl sub_80AF2A0
|
|
adds r0, r4, 0x1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0x3
|
|
bls _080AF2E4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end unref_sub_80AF2E0
|
|
|
|
thumb_func_start sub_80AF2FC
|
|
sub_80AF2FC: @ 80AF2FC
|
|
push {r4-r7,lr}
|
|
sub sp, 0x8
|
|
movs r4, 0
|
|
ldr r2, _080AF398 @ =0x02019260
|
|
_080AF304:
|
|
lsls r0, r4, 3
|
|
subs r0, r4
|
|
lsls r0, 2
|
|
adds r0, r2
|
|
ldrh r1, [r0, 0x2]
|
|
ldrh r3, [r0, 0x4]
|
|
adds r1, r3
|
|
strh r1, [r0, 0x4]
|
|
lsls r0, r4, 1
|
|
add r0, sp
|
|
strh r1, [r0]
|
|
adds r0, r4, 0x1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0x3
|
|
bls _080AF304
|
|
movs r4, 0
|
|
_080AF326:
|
|
movs r2, 0x3
|
|
cmp r2, r4
|
|
bls _080AF354
|
|
_080AF32C:
|
|
subs r5, r2, 0x1
|
|
lsls r0, r5, 1
|
|
mov r7, sp
|
|
adds r3, r7, r0
|
|
lsls r0, r2, 1
|
|
adds r2, r7, r0
|
|
ldrh r6, [r3]
|
|
movs r0, 0
|
|
ldrsh r1, [r3, r0]
|
|
movs r7, 0
|
|
ldrsh r0, [r2, r7]
|
|
cmp r1, r0
|
|
bge _080AF34C
|
|
ldrh r0, [r2]
|
|
strh r6, [r2]
|
|
strh r0, [r3]
|
|
_080AF34C:
|
|
lsls r0, r5, 24
|
|
lsrs r2, r0, 24
|
|
cmp r2, r4
|
|
bhi _080AF32C
|
|
_080AF354:
|
|
adds r0, r4, 0x1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0x2
|
|
bls _080AF326
|
|
movs r4, 0
|
|
ldr r0, _080AF398 @ =0x02019260
|
|
mov r12, r0
|
|
movs r7, 0x4
|
|
negs r7, r7
|
|
movs r6, 0x3
|
|
_080AF36A:
|
|
movs r2, 0
|
|
lsls r0, r4, 3
|
|
adds r5, r4, 0x1
|
|
subs r0, r4
|
|
lsls r0, 2
|
|
mov r1, r12
|
|
adds r3, r0, r1
|
|
movs r4, 0x4
|
|
ldrsh r1, [r3, r4]
|
|
_080AF37C:
|
|
lsls r0, r2, 1
|
|
add r0, sp
|
|
movs r4, 0
|
|
ldrsh r0, [r0, r4]
|
|
cmp r1, r0
|
|
bne _080AF39C
|
|
ands r2, r6
|
|
ldrb r1, [r3, 0xB]
|
|
adds r0, r7, 0
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strb r0, [r3, 0xB]
|
|
b _080AF3A6
|
|
.align 2, 0
|
|
_080AF398: .4byte 0x02019260
|
|
_080AF39C:
|
|
adds r0, r2, 0x1
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
cmp r2, 0x3
|
|
bls _080AF37C
|
|
_080AF3A6:
|
|
lsls r0, r5, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0x3
|
|
bls _080AF36A
|
|
movs r0, 0x1
|
|
bl sub_80B0F28
|
|
bl sub_80B159C
|
|
add sp, 0x8
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80AF2FC
|
|
|
|
thumb_func_start sub_80AF3C0
|
|
sub_80AF3C0: @ 80AF3C0
|
|
push {lr}
|
|
ldr r2, _080AF3D0 @ =0x02019260
|
|
adds r3, r2, 0
|
|
_080AF3C6:
|
|
ldrh r0, [r2, 0x6]
|
|
cmp r0, 0
|
|
bne _080AF3D4
|
|
movs r1, 0x5
|
|
b _080AF3F2
|
|
.align 2, 0
|
|
_080AF3D0: .4byte 0x02019260
|
|
_080AF3D4:
|
|
movs r1, 0x2
|
|
ldrsh r0, [r2, r1]
|
|
movs r1, 0
|
|
cmp r0, 0
|
|
ble _080AF3F2
|
|
movs r1, 0x1
|
|
cmp r0, 0x1D
|
|
ble _080AF3F2
|
|
movs r1, 0x2
|
|
cmp r0, 0x3B
|
|
ble _080AF3F2
|
|
movs r1, 0x4
|
|
cmp r0, 0x4F
|
|
bgt _080AF3F2
|
|
movs r1, 0x3
|
|
_080AF3F2:
|
|
strb r1, [r2, 0x1A]
|
|
adds r2, 0x1C
|
|
adds r0, r3, 0
|
|
adds r0, 0x54
|
|
cmp r2, r0
|
|
ble _080AF3C6
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80AF3C0
|
|
|
|
thumb_func_start sub_80AF404
|
|
sub_80AF404: @ 80AF404
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r1, r0, 3
|
|
subs r1, r0
|
|
lsls r1, 2
|
|
ldr r0, _080AF42C @ =0x02019260
|
|
adds r2, r1, r0
|
|
ldrb r1, [r2, 0xC]
|
|
movs r0, 0x6
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _080AF428
|
|
ldrb r1, [r2, 0xB]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080AF430
|
|
_080AF428:
|
|
movs r0, 0
|
|
b _080AF432
|
|
.align 2, 0
|
|
_080AF42C: .4byte 0x02019260
|
|
_080AF430:
|
|
movs r0, 0x1
|
|
_080AF432:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80AF404
|
|
|
|
thumb_func_start sub_80AF438
|
|
sub_80AF438: @ 80AF438
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
movs r5, 0
|
|
ldr r0, _080AF594 @ =0x02019260
|
|
mov r10, r0
|
|
movs r1, 0
|
|
mov r12, r1
|
|
movs r0, 0x7
|
|
negs r0, r0
|
|
mov r9, r0
|
|
movs r1, 0x2
|
|
negs r1, r1
|
|
mov r8, r1
|
|
_080AF458:
|
|
lsls r0, r5, 3
|
|
subs r0, r5
|
|
lsls r0, 2
|
|
mov r1, r10
|
|
adds r3, r0, r1
|
|
movs r0, 0
|
|
strh r0, [r3, 0x2]
|
|
strh r0, [r3]
|
|
mov r0, r12
|
|
strb r0, [r3, 0x12]
|
|
ldrb r2, [r3, 0xC]
|
|
movs r0, 0x6
|
|
ands r0, r2
|
|
cmp r0, 0
|
|
beq _080AF48A
|
|
lsls r0, r2, 29
|
|
lsrs r0, 30
|
|
subs r0, 0x1
|
|
movs r1, 0x3
|
|
ands r0, r1
|
|
lsls r0, 1
|
|
mov r1, r9
|
|
ands r1, r2
|
|
orrs r1, r0
|
|
strb r1, [r3, 0xC]
|
|
_080AF48A:
|
|
mov r1, r12
|
|
strb r1, [r3, 0xE]
|
|
ldrb r0, [r3, 0x10]
|
|
mov r1, r8
|
|
ands r1, r0
|
|
mov r0, r12
|
|
strb r0, [r3, 0xF]
|
|
movs r0, 0x3
|
|
negs r0, r0
|
|
ands r1, r0
|
|
movs r6, 0x5
|
|
negs r6, r6
|
|
ands r1, r6
|
|
movs r7, 0x9
|
|
negs r7, r7
|
|
ands r1, r7
|
|
ldrb r0, [r3, 0xC]
|
|
mov r4, r8
|
|
ands r4, r0
|
|
strb r4, [r3, 0xC]
|
|
movs r0, 0xFF
|
|
strb r0, [r3, 0x13]
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
strb r0, [r3, 0x14]
|
|
subs r0, 0x30
|
|
ands r1, r0
|
|
strb r1, [r3, 0x10]
|
|
ldrb r2, [r3, 0x15]
|
|
lsls r1, r2, 31
|
|
lsrs r1, 31
|
|
lsls r1, 2
|
|
adds r0, r6, 0
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
mov r1, r8
|
|
ands r0, r1
|
|
strb r0, [r3, 0x15]
|
|
ldrb r0, [r3, 0x11]
|
|
movs r2, 0x4
|
|
negs r2, r2
|
|
ands r2, r0
|
|
movs r0, 0x21
|
|
negs r0, r0
|
|
ands r2, r0
|
|
strb r2, [r3, 0x11]
|
|
movs r0, 0x4
|
|
ands r0, r2
|
|
cmp r0, 0
|
|
beq _080AF500
|
|
adds r0, r4, 0
|
|
mov r1, r9
|
|
ands r0, r1
|
|
movs r1, 0x2
|
|
orrs r0, r1
|
|
strb r0, [r3, 0xC]
|
|
adds r0, r2, 0
|
|
ands r0, r6
|
|
strb r0, [r3, 0x11]
|
|
_080AF500:
|
|
ldrb r2, [r3, 0x11]
|
|
movs r0, 0x8
|
|
ands r0, r2
|
|
cmp r0, 0
|
|
beq _080AF518
|
|
ldrb r0, [r3, 0xB]
|
|
movs r1, 0x80
|
|
orrs r0, r1
|
|
strb r0, [r3, 0xB]
|
|
adds r0, r7, 0
|
|
ands r0, r2
|
|
strb r0, [r3, 0x11]
|
|
_080AF518:
|
|
ldrb r0, [r3, 0x11]
|
|
movs r1, 0x11
|
|
negs r1, r1
|
|
ands r1, r0
|
|
strb r1, [r3, 0x11]
|
|
adds r0, r5, 0x1
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
cmp r5, 0x3
|
|
bls _080AF458
|
|
movs r5, 0
|
|
mov r6, r10
|
|
mov r9, r5
|
|
adds r7, r6, 0
|
|
subs r7, 0x5C
|
|
movs r0, 0x18
|
|
negs r0, r0
|
|
adds r0, r6
|
|
mov r8, r0
|
|
_080AF53E:
|
|
lsls r4, r5, 3
|
|
subs r4, r5
|
|
lsls r4, 2
|
|
adds r4, r6
|
|
ldrh r2, [r4, 0x6]
|
|
strh r2, [r4, 0x8]
|
|
lsls r1, r5, 1
|
|
ldrb r0, [r7, 0x1]
|
|
lsls r0, 3
|
|
adds r1, r0
|
|
adds r0, r6, 0
|
|
subs r0, 0x40
|
|
adds r0, r1
|
|
strh r2, [r0]
|
|
ldrh r0, [r4, 0x6]
|
|
bl contest_get_move_excitement
|
|
ldrb r1, [r7, 0x1]
|
|
lsls r1, 2
|
|
adds r1, r5, r1
|
|
add r1, r8
|
|
strb r0, [r1]
|
|
mov r1, r9
|
|
strh r1, [r4, 0x6]
|
|
adds r0, r5, 0x1
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
cmp r5, 0x3
|
|
bls _080AF53E
|
|
ldr r2, _080AF598 @ =0x02019328
|
|
ldrb r1, [r2, 0x1]
|
|
movs r0, 0x2
|
|
negs r0, r0
|
|
ands r0, r1
|
|
strb r0, [r2, 0x1]
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AF594: .4byte 0x02019260
|
|
_080AF598: .4byte 0x02019328
|
|
thumb_func_end sub_80AF438
|
|
|
|
thumb_func_start sub_80AF59C
|
|
sub_80AF59C: @ 80AF59C
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r1, r0, 3
|
|
subs r1, r0
|
|
lsls r1, 2
|
|
ldr r0, _080AF5C4 @ =0x02019260
|
|
adds r2, r1, r0
|
|
ldrb r1, [r2, 0xC]
|
|
movs r0, 0x6
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _080AF5C0
|
|
ldrb r1, [r2, 0xB]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080AF5C8
|
|
_080AF5C0:
|
|
movs r0, 0x1
|
|
b _080AF5CA
|
|
.align 2, 0
|
|
_080AF5C4: .4byte 0x02019260
|
|
_080AF5C8:
|
|
movs r0, 0
|
|
_080AF5CA:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80AF59C
|
|
|
|
thumb_func_start unref_sub_80AF5D0
|
|
unref_sub_80AF5D0: @ 80AF5D0
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r1, 24
|
|
lsrs r3, r1, 24
|
|
ldr r1, _080AF5E8 @ =gUnknown_02038695
|
|
ldrb r1, [r1]
|
|
cmp r0, r1
|
|
beq _080AF600
|
|
_080AF5E2:
|
|
movs r0, 0x1
|
|
b _080AF626
|
|
.align 2, 0
|
|
_080AF5E8: .4byte gUnknown_02038695
|
|
_080AF5EC:
|
|
ldrb r0, [r4, 0x6]
|
|
movs r1, 0x1
|
|
b _080AF5F6
|
|
_080AF5F2:
|
|
ldrb r0, [r4, 0x6]
|
|
movs r1, 0x2
|
|
_080AF5F6:
|
|
orrs r0, r1
|
|
strb r0, [r4, 0x6]
|
|
b _080AF5E2
|
|
_080AF5FC:
|
|
strb r3, [r2]
|
|
b _080AF5E2
|
|
_080AF600:
|
|
movs r0, 0
|
|
ldr r4, _080AF62C @ =0x02019204
|
|
adds r5, r4, 0x2
|
|
_080AF606:
|
|
cmp r3, 0x3
|
|
beq _080AF5EC
|
|
cmp r3, 0x4
|
|
beq _080AF5F2
|
|
adds r2, r0, r5
|
|
ldrb r1, [r2]
|
|
cmp r1, r3
|
|
beq _080AF5E2
|
|
cmp r1, 0xFF
|
|
beq _080AF5FC
|
|
adds r0, 0x1
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x3
|
|
bls _080AF606
|
|
movs r0, 0
|
|
_080AF626:
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080AF62C: .4byte 0x02019204
|
|
thumb_func_end unref_sub_80AF5D0
|
|
|
|
thumb_func_start sub_80AF630
|
|
sub_80AF630: @ 80AF630
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
adds r0, r4, 0
|
|
bl sub_80AF688
|
|
ldr r1, _080AF65C @ =gUnknown_02038688
|
|
lsls r4, 1
|
|
adds r1, r4, r1
|
|
strh r0, [r1]
|
|
ldr r2, _080AF660 @ =gUnknown_02038678
|
|
adds r2, r4, r2
|
|
ldr r1, _080AF664 @ =gUnknown_02038670
|
|
adds r4, r1
|
|
ldrh r4, [r4]
|
|
adds r0, r4
|
|
strh r0, [r2]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AF65C: .4byte gUnknown_02038688
|
|
_080AF660: .4byte gUnknown_02038678
|
|
_080AF664: .4byte gUnknown_02038670
|
|
thumb_func_end sub_80AF630
|
|
|
|
thumb_func_start sub_80AF668
|
|
sub_80AF668: @ 80AF668
|
|
push {r4,lr}
|
|
movs r4, 0
|
|
_080AF66C:
|
|
adds r0, r4, 0
|
|
bl sub_80AF630
|
|
adds r0, r4, 0x1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0x3
|
|
bls _080AF66C
|
|
bl sub_80AF6A0
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80AF668
|
|
|
|
thumb_func_start sub_80AF688
|
|
sub_80AF688: @ 80AF688
|
|
lsls r0, 24
|
|
ldr r1, _080AF69C @ =gUnknown_02038680
|
|
lsrs r0, 23
|
|
adds r0, r1
|
|
movs r1, 0
|
|
ldrsh r0, [r0, r1]
|
|
lsls r0, 17
|
|
asrs r0, 16
|
|
bx lr
|
|
.align 2, 0
|
|
_080AF69C: .4byte gUnknown_02038680
|
|
thumb_func_end sub_80AF688
|
|
|
|
thumb_func_start sub_80AF6A0
|
|
sub_80AF6A0: @ 80AF6A0
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x70
|
|
mov r0, sp
|
|
movs r1, 0
|
|
movs r2, 0x8
|
|
bl memset
|
|
movs r0, 0
|
|
mov r9, r0
|
|
mov r1, sp
|
|
adds r1, 0x8
|
|
str r1, [sp, 0x64]
|
|
mov r3, sp
|
|
adds r3, 0xC
|
|
str r3, [sp, 0x68]
|
|
mov r6, sp
|
|
adds r6, 0x14
|
|
str r6, [sp, 0x6C]
|
|
mov r4, sp
|
|
_080AF6CE:
|
|
bl Random
|
|
strh r0, [r4]
|
|
movs r2, 0
|
|
cmp r2, r9
|
|
bge _080AF70C
|
|
mov r1, sp
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
ldrh r1, [r1]
|
|
cmp r0, r1
|
|
bne _080AF6F0
|
|
subs r4, 0x2
|
|
movs r7, 0x1
|
|
negs r7, r7
|
|
add r9, r7
|
|
b _080AF70C
|
|
_080AF6F0:
|
|
adds r2, 0x1
|
|
cmp r2, r9
|
|
bge _080AF70C
|
|
lsls r0, r2, 1
|
|
mov r3, sp
|
|
adds r1, r3, r0
|
|
ldrh r0, [r4]
|
|
ldrh r1, [r1]
|
|
cmp r0, r1
|
|
bne _080AF6F0
|
|
subs r4, 0x2
|
|
movs r6, 0x1
|
|
negs r6, r6
|
|
add r9, r6
|
|
_080AF70C:
|
|
adds r4, 0x2
|
|
movs r7, 0x1
|
|
add r9, r7
|
|
mov r0, r9
|
|
cmp r0, 0x3
|
|
ble _080AF6CE
|
|
movs r1, 0
|
|
mov r9, r1
|
|
mov r4, sp
|
|
ldr r6, _080AF81C @ =gUnknown_02038678
|
|
ldr r2, [sp, 0x64]
|
|
ldr r5, _080AF820 @ =gUnknown_02038670
|
|
ldr r3, [sp, 0x68]
|
|
_080AF726:
|
|
mov r7, r9
|
|
lsls r1, r7, 4
|
|
movs r7, 0
|
|
ldrsh r0, [r6, r7]
|
|
str r0, [r2]
|
|
movs r7, 0
|
|
ldrsh r0, [r5, r7]
|
|
str r0, [r3]
|
|
ldrh r0, [r4]
|
|
str r0, [r2, 0x8]
|
|
ldr r0, [sp, 0x6C]
|
|
adds r1, r0, r1
|
|
mov r7, r9
|
|
str r7, [r1]
|
|
adds r4, 0x2
|
|
adds r6, 0x2
|
|
adds r2, 0x10
|
|
adds r5, 0x2
|
|
adds r3, 0x10
|
|
movs r0, 0x1
|
|
add r9, r0
|
|
mov r1, r9
|
|
cmp r1, 0x3
|
|
ble _080AF726
|
|
movs r3, 0
|
|
mov r9, r3
|
|
_080AF75A:
|
|
movs r4, 0x3
|
|
cmp r4, r9
|
|
ble _080AF7E4
|
|
add r7, sp, 0x48
|
|
ldr r6, [sp, 0x68]
|
|
str r6, [sp, 0x58]
|
|
ldr r0, [sp, 0x64]
|
|
adds r0, 0x8
|
|
str r0, [sp, 0x5C]
|
|
ldr r1, [sp, 0x6C]
|
|
str r1, [sp, 0x60]
|
|
_080AF770:
|
|
subs r3, r4, 0x1
|
|
mov r10, r3
|
|
mov r0, r10
|
|
adds r1, r4, 0
|
|
ldr r2, [sp, 0x64]
|
|
bl sub_80AF828
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080AF7DE
|
|
mov r6, r10
|
|
lsls r2, r6, 4
|
|
ldr r0, [sp, 0x64]
|
|
adds r3, r0, r2
|
|
ldr r0, [r3]
|
|
str r0, [sp, 0x48]
|
|
ldr r1, [sp, 0x58]
|
|
adds r6, r1, r2
|
|
ldr r0, [r6]
|
|
str r0, [r7, 0x4]
|
|
ldr r0, [sp, 0x5C]
|
|
adds r0, r2
|
|
mov r8, r0
|
|
ldr r0, [r0]
|
|
str r0, [r7, 0x8]
|
|
ldr r1, [sp, 0x60]
|
|
adds r2, r1, r2
|
|
ldr r0, [r2]
|
|
str r0, [r7, 0xC]
|
|
lsls r1, r4, 4
|
|
ldr r0, [sp, 0x64]
|
|
adds r5, r0, r1
|
|
ldr r0, [r5]
|
|
str r0, [r3]
|
|
ldr r3, [sp, 0x58]
|
|
adds r4, r3, r1
|
|
ldr r0, [r4]
|
|
str r0, [r6]
|
|
ldr r6, [sp, 0x5C]
|
|
adds r3, r6, r1
|
|
ldr r0, [r3]
|
|
mov r6, r8
|
|
str r0, [r6]
|
|
ldr r0, [sp, 0x60]
|
|
adds r1, r0, r1
|
|
ldr r0, [r1]
|
|
str r0, [r2]
|
|
ldr r0, [sp, 0x48]
|
|
str r0, [r5]
|
|
ldr r0, [r7, 0x4]
|
|
str r0, [r4]
|
|
ldr r0, [r7, 0x8]
|
|
str r0, [r3]
|
|
ldr r0, [r7, 0xC]
|
|
str r0, [r1]
|
|
_080AF7DE:
|
|
mov r4, r10
|
|
cmp r4, r9
|
|
bgt _080AF770
|
|
_080AF7E4:
|
|
movs r1, 0x1
|
|
add r9, r1
|
|
mov r3, r9
|
|
cmp r3, 0x2
|
|
ble _080AF75A
|
|
movs r6, 0
|
|
mov r9, r6
|
|
ldr r2, _080AF824 @ =gUnknown_02038690
|
|
ldr r1, [sp, 0x6C]
|
|
_080AF7F6:
|
|
ldr r0, [r1]
|
|
adds r0, r2
|
|
mov r7, r9
|
|
strb r7, [r0]
|
|
adds r1, 0x10
|
|
movs r0, 0x1
|
|
add r9, r0
|
|
mov r3, r9
|
|
cmp r3, 0x3
|
|
ble _080AF7F6
|
|
add sp, 0x70
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AF81C: .4byte gUnknown_02038678
|
|
_080AF820: .4byte gUnknown_02038670
|
|
_080AF824: .4byte gUnknown_02038690
|
|
thumb_func_end sub_80AF6A0
|
|
|
|
thumb_func_start sub_80AF828
|
|
sub_80AF828: @ 80AF828
|
|
push {lr}
|
|
lsls r0, 4
|
|
adds r0, r2
|
|
lsls r1, 4
|
|
adds r3, r1, r2
|
|
ldr r2, [r0]
|
|
ldr r1, [r3]
|
|
cmp r2, r1
|
|
blt _080AF858
|
|
cmp r2, r1
|
|
bgt _080AF84A
|
|
ldr r2, [r0, 0x4]
|
|
ldr r1, [r3, 0x4]
|
|
cmp r2, r1
|
|
blt _080AF858
|
|
cmp r2, r1
|
|
ble _080AF84E
|
|
_080AF84A:
|
|
movs r2, 0
|
|
b _080AF85A
|
|
_080AF84E:
|
|
ldr r1, [r0, 0x8]
|
|
ldr r0, [r3, 0x8]
|
|
movs r2, 0
|
|
cmp r1, r0
|
|
bge _080AF85A
|
|
_080AF858:
|
|
movs r2, 0x1
|
|
_080AF85A:
|
|
adds r0, r2, 0
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80AF828
|
|
|
|
thumb_func_start sub_80AF860
|
|
sub_80AF860: @ 80AF860
|
|
push {lr}
|
|
sub sp, 0x4
|
|
ldr r0, _080AF88C @ =gUnknown_030042A0
|
|
movs r1, 0
|
|
strh r1, [r0]
|
|
ldr r0, _080AF890 @ =gUnknown_03004280
|
|
strh r1, [r0]
|
|
bl sub_80AF138
|
|
ldr r0, _080AF894 @ =gMenuWindow
|
|
ldr r1, _080AF898 @ =gUnknownText_LinkStandbyAndWinner
|
|
movs r2, 0xC2
|
|
lsls r2, 2
|
|
movs r3, 0xF
|
|
str r3, [sp]
|
|
movs r3, 0x1
|
|
bl sub_8003460
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AF88C: .4byte gUnknown_030042A0
|
|
_080AF890: .4byte gUnknown_03004280
|
|
_080AF894: .4byte gMenuWindow
|
|
_080AF898: .4byte gUnknownText_LinkStandbyAndWinner
|
|
thumb_func_end sub_80AF860
|
|
|
|
thumb_func_start unref_sub_80AF89C
|
|
unref_sub_80AF89C: @ 80AF89C
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
adds r4, r0, 0
|
|
adds r6, r1, 0
|
|
mov r8, r2
|
|
lsls r4, 16
|
|
lsrs r4, 16
|
|
lsls r6, 16
|
|
lsrs r6, 16
|
|
mov r0, r8
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r8, r0
|
|
lsls r3, 24
|
|
lsrs r3, 24
|
|
mov r9, r3
|
|
lsls r2, r3, 2
|
|
ldr r0, _080AF940 @ =0x02019338
|
|
adds r2, r0
|
|
ldrb r0, [r2, 0x2]
|
|
movs r1, 0x4
|
|
orrs r0, r1
|
|
strb r0, [r2, 0x2]
|
|
ldr r0, _080AF944 @ =sub_80AF94C
|
|
movs r1, 0x14
|
|
bl CreateTask
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
adds r7, r0, 0
|
|
lsls r4, 16
|
|
asrs r4, 16
|
|
adds r0, r4, 0
|
|
bl sub_80AFB74
|
|
adds r5, r0, 0
|
|
lsls r5, 24
|
|
lsrs r5, 24
|
|
lsls r6, 16
|
|
asrs r6, 16
|
|
adds r4, r6
|
|
lsls r4, 16
|
|
asrs r4, 16
|
|
adds r0, r4, 0
|
|
bl sub_80AFB74
|
|
adds r4, r0, 0
|
|
subs r4, r5
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
mov r0, r9
|
|
bl sub_80AFB40
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
ldr r2, _080AF948 @ =gTasks
|
|
lsls r1, r7, 2
|
|
adds r1, r7
|
|
lsls r1, 3
|
|
adds r1, r2
|
|
strh r5, [r1, 0x8]
|
|
lsls r4, 24
|
|
asrs r4, 24
|
|
strh r4, [r1, 0xA]
|
|
add r0, r8
|
|
strh r0, [r1, 0xC]
|
|
mov r0, r9
|
|
strh r0, [r1, 0xE]
|
|
cmp r6, 0
|
|
bge _080AF932
|
|
mov r0, r9
|
|
bl nullsub_19
|
|
_080AF932:
|
|
adds r0, r7, 0
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080AF940: .4byte 0x02019338
|
|
_080AF944: .4byte sub_80AF94C
|
|
_080AF948: .4byte gTasks
|
|
thumb_func_end unref_sub_80AF89C
|
|
|
|
thumb_func_start sub_80AF94C
|
|
sub_80AF94C: @ 80AF94C
|
|
push {r4-r7,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
ldr r1, _080AF988 @ =gTasks
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r2, r0, r1
|
|
ldrb r5, [r2, 0xE]
|
|
ldrh r3, [r2, 0xA]
|
|
movs r0, 0xA
|
|
ldrsh r1, [r2, r0]
|
|
cmp r1, 0
|
|
bne _080AF990
|
|
adds r0, r5, 0
|
|
bl nullsub_19
|
|
adds r0, r4, 0
|
|
bl DestroyTask
|
|
lsls r1, r5, 2
|
|
ldr r0, _080AF98C @ =0x02019338
|
|
adds r1, r0
|
|
ldrb r2, [r1, 0x2]
|
|
movs r0, 0x5
|
|
negs r0, r0
|
|
ands r0, r2
|
|
strb r0, [r1, 0x2]
|
|
b _080AFA56
|
|
.align 2, 0
|
|
_080AF988: .4byte gTasks
|
|
_080AF98C: .4byte 0x02019338
|
|
_080AF990:
|
|
ldrh r0, [r2, 0x1C]
|
|
adds r0, 0x1
|
|
strh r0, [r2, 0x1C]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r0, 0x1D
|
|
ble _080AFA56
|
|
movs r0, 0
|
|
strh r0, [r2, 0x1C]
|
|
cmp r1, 0
|
|
bge _080AF9BC
|
|
ldrh r0, [r2, 0x8]
|
|
subs r1, r0, 0x1
|
|
strh r1, [r2, 0x8]
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
adds r0, r3, 0x1
|
|
strh r0, [r2, 0xA]
|
|
movs r0, 0x16
|
|
bl PlaySE
|
|
b _080AF9D0
|
|
_080AF9BC:
|
|
ldrh r0, [r2, 0x8]
|
|
adds r0, 0x1
|
|
strh r0, [r2, 0x8]
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
subs r0, r3, 0x1
|
|
strh r0, [r2, 0xA]
|
|
movs r0, 0x15
|
|
bl PlaySE
|
|
_080AF9D0:
|
|
ldr r3, _080AFA00 @ =gTasks
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r2, r0, 3
|
|
adds r0, r2, r3
|
|
ldrh r1, [r0, 0xC]
|
|
ldr r0, _080AFA04 @ =0x0000ffff
|
|
cmp r1, r0
|
|
beq _080AFA38
|
|
adds r0, r3, r2
|
|
adds r0, 0xC
|
|
lsls r1, r5, 2
|
|
adds r1, r5
|
|
lsls r1, 5
|
|
adds r1, 0x93
|
|
adds r1, r6, r1
|
|
lsls r1, 1
|
|
ldr r2, _080AFA08 @ =0x0600c000
|
|
adds r1, r2
|
|
movs r2, 0x2
|
|
bl RequestSpriteCopy
|
|
b _080AFA56
|
|
.align 2, 0
|
|
_080AFA00: .4byte gTasks
|
|
_080AFA04: .4byte 0x0000ffff
|
|
_080AFA08: .4byte 0x0600c000
|
|
_080AFA0C:
|
|
adds r0, r2, r3
|
|
lsls r1, 1
|
|
adds r1, 0xE
|
|
adds r0, r1
|
|
lsls r1, r5, 2
|
|
adds r1, r5
|
|
lsls r1, 5
|
|
adds r1, 0x93
|
|
adds r1, r6, r1
|
|
lsls r1, 1
|
|
ldr r7, _080AFA34 @ =0x0600c000
|
|
adds r1, r7
|
|
movs r2, 0x2
|
|
bl RequestSpriteCopy
|
|
ldrh r0, [r4]
|
|
adds r0, 0x1
|
|
strh r0, [r4]
|
|
b _080AFA56
|
|
.align 2, 0
|
|
_080AFA34: .4byte 0x0600c000
|
|
_080AFA38:
|
|
movs r1, 0
|
|
adds r3, 0x8
|
|
_080AFA3C:
|
|
adds r0, r1, 0x4
|
|
lsls r0, 1
|
|
adds r0, r2
|
|
adds r4, r0, r3
|
|
movs r7, 0
|
|
ldrsh r0, [r4, r7]
|
|
cmp r0, 0
|
|
blt _080AFA0C
|
|
adds r0, r1, 0x1
|
|
lsls r0, 24
|
|
lsrs r1, r0, 24
|
|
cmp r1, 0x2
|
|
bls _080AFA3C
|
|
_080AFA56:
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80AF94C
|
|
|
|
thumb_func_start sub_80AFA5C
|
|
sub_80AFA5C: @ 80AFA5C
|
|
push {r4-r7,lr}
|
|
sub sp, 0x4
|
|
movs r3, 0
|
|
ldr r0, _080AFAAC @ =0x0600c000
|
|
mov r12, r0
|
|
mov r4, sp
|
|
movs r6, 0
|
|
ldr r2, _080AFAB0 @ =0x040000d4
|
|
ldr r5, _080AFAB4 @ =0x81000008
|
|
_080AFA6E:
|
|
lsls r1, r3, 2
|
|
adds r1, r3
|
|
lsls r1, 5
|
|
adds r0, r1, 0
|
|
adds r0, 0x56
|
|
lsls r0, 1
|
|
add r0, r12
|
|
strh r6, [r4]
|
|
mov r7, sp
|
|
str r7, [r2]
|
|
str r0, [r2, 0x4]
|
|
str r5, [r2, 0x8]
|
|
ldr r0, [r2, 0x8]
|
|
adds r1, 0x76
|
|
lsls r1, 1
|
|
add r1, r12
|
|
strh r6, [r4]
|
|
str r7, [r2]
|
|
str r1, [r2, 0x4]
|
|
str r5, [r2, 0x8]
|
|
ldr r0, [r2, 0x8]
|
|
adds r0, r3, 0x1
|
|
lsls r0, 24
|
|
lsrs r3, r0, 24
|
|
cmp r3, 0x3
|
|
bls _080AFA6E
|
|
add sp, 0x4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AFAAC: .4byte 0x0600c000
|
|
_080AFAB0: .4byte 0x040000d4
|
|
_080AFAB4: .4byte 0x81000008
|
|
thumb_func_end sub_80AFA5C
|
|
|
|
thumb_func_start unref_sub_80AFAB8
|
|
unref_sub_80AFAB8: @ 80AFAB8
|
|
push {r4-r6,lr}
|
|
sub sp, 0x14
|
|
lsls r1, 24
|
|
lsrs r4, r1, 24
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
bl sub_80AFB74
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
ldr r2, _080AFAF4 @ =0x000050a2
|
|
cmp r4, 0
|
|
beq _080AFAE0
|
|
ldr r2, _080AFAF8 @ =0x000060a2
|
|
cmp r4, 0x1
|
|
beq _080AFAE0
|
|
ldr r2, _080AFAFC @ =0x000080a2
|
|
cmp r4, 0x2
|
|
bne _080AFAE0
|
|
ldr r2, _080AFB00 @ =0x000070a2
|
|
_080AFAE0:
|
|
movs r1, 0
|
|
lsls r3, r4, 2
|
|
movs r6, 0
|
|
_080AFAE6:
|
|
cmp r1, r5
|
|
bcs _080AFB04
|
|
lsls r0, r1, 1
|
|
add r0, sp
|
|
strh r2, [r0]
|
|
b _080AFB0A
|
|
.align 2, 0
|
|
_080AFAF4: .4byte 0x000050a2
|
|
_080AFAF8: .4byte 0x000060a2
|
|
_080AFAFC: .4byte 0x000080a2
|
|
_080AFB00: .4byte 0x000070a2
|
|
_080AFB04:
|
|
lsls r0, r1, 1
|
|
add r0, sp
|
|
strh r6, [r0]
|
|
_080AFB0A:
|
|
adds r0, r1, 0x1
|
|
lsls r0, 24
|
|
lsrs r1, r0, 24
|
|
cmp r1, 0x8
|
|
bls _080AFAE6
|
|
adds r0, r3, r4
|
|
lsls r0, 6
|
|
ldr r1, _080AFB34 @ =0x0600c128
|
|
adds r0, r1
|
|
ldr r1, _080AFB38 @ =0x040000d4
|
|
mov r2, sp
|
|
str r2, [r1]
|
|
str r0, [r1, 0x4]
|
|
ldr r0, _080AFB3C @ =0x80000009
|
|
str r0, [r1, 0x8]
|
|
ldr r0, [r1, 0x8]
|
|
add sp, 0x14
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AFB34: .4byte 0x0600c128
|
|
_080AFB38: .4byte 0x040000d4
|
|
_080AFB3C: .4byte 0x80000009
|
|
thumb_func_end unref_sub_80AFAB8
|
|
|
|
thumb_func_start sub_80AFB40
|
|
sub_80AFB40: @ 80AFB40
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _080AFB64 @ =0x00005011
|
|
cmp r0, 0
|
|
beq _080AFB5A
|
|
ldr r1, _080AFB68 @ =0x00006011
|
|
cmp r0, 0x1
|
|
beq _080AFB5A
|
|
ldr r1, _080AFB6C @ =0x00008011
|
|
cmp r0, 0x2
|
|
bne _080AFB5A
|
|
ldr r1, _080AFB70 @ =0x00007011
|
|
_080AFB5A:
|
|
adds r0, r1, 0x1
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080AFB64: .4byte 0x00005011
|
|
_080AFB68: .4byte 0x00006011
|
|
_080AFB6C: .4byte 0x00008011
|
|
_080AFB70: .4byte 0x00007011
|
|
thumb_func_end sub_80AFB40
|
|
|
|
thumb_func_start sub_80AFB74
|
|
sub_80AFB74: @ 80AFB74
|
|
push {lr}
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
movs r1, 0xA
|
|
bl __divsi3
|
|
lsls r0, 24
|
|
lsrs r1, r0, 24
|
|
asrs r2, r0, 24
|
|
cmp r2, 0x10
|
|
ble _080AFB8E
|
|
movs r1, 0x10
|
|
b _080AFB98
|
|
_080AFB8E:
|
|
movs r0, 0x10
|
|
negs r0, r0
|
|
cmp r2, r0
|
|
bge _080AFB98
|
|
movs r1, 0xF0
|
|
_080AFB98:
|
|
lsls r0, r1, 24
|
|
asrs r0, 24
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80AFB74
|
|
|
|
thumb_func_start sub_80AFBA0
|
|
sub_80AFBA0: @ 80AFBA0
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
adds r5, r0, 0
|
|
lsls r5, 16
|
|
lsrs r5, 16
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
mov r8, r1
|
|
lsls r2, 24
|
|
lsrs r7, r2, 24
|
|
lsls r2, r7, 2
|
|
ldr r0, _080AFC30 @ =0x02019338
|
|
adds r2, r0
|
|
ldrb r0, [r2, 0x2]
|
|
movs r1, 0x4
|
|
orrs r0, r1
|
|
strb r0, [r2, 0x2]
|
|
ldr r0, _080AFC34 @ =sub_80AFC74
|
|
movs r1, 0x14
|
|
bl CreateTask
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
lsls r5, 16
|
|
asrs r5, 16
|
|
adds r0, r5, 0
|
|
bl sub_80AFB74
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
mov r1, r8
|
|
lsls r0, r1, 16
|
|
asrs r0, 16
|
|
adds r5, r0
|
|
lsls r5, 16
|
|
asrs r5, 16
|
|
adds r0, r5, 0
|
|
bl sub_80AFB74
|
|
lsls r4, 24
|
|
asrs r4, 24
|
|
subs r0, r4
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
adds r0, r7, 0
|
|
bl sub_80AFB40
|
|
ldr r2, _080AFC38 @ =gTasks
|
|
lsls r3, r6, 2
|
|
adds r0, r3, r6
|
|
lsls r0, 3
|
|
adds r1, r0, r2
|
|
adds r0, r4, 0
|
|
cmp r4, 0
|
|
bge _080AFC14
|
|
negs r0, r4
|
|
_080AFC14:
|
|
strh r0, [r1, 0x8]
|
|
lsls r0, r5, 24
|
|
asrs r0, 24
|
|
strh r0, [r1, 0xA]
|
|
cmp r4, 0
|
|
bgt _080AFC28
|
|
cmp r4, 0
|
|
bne _080AFC3C
|
|
cmp r0, 0
|
|
ble _080AFC3C
|
|
_080AFC28:
|
|
movs r0, 0x1
|
|
strh r0, [r1, 0xC]
|
|
b _080AFC4A
|
|
.align 2, 0
|
|
_080AFC30: .4byte 0x02019338
|
|
_080AFC34: .4byte sub_80AFC74
|
|
_080AFC38: .4byte gTasks
|
|
_080AFC3C:
|
|
ldr r2, _080AFC6C @ =gTasks
|
|
lsls r3, r6, 2
|
|
adds r0, r3, r6
|
|
lsls r0, 3
|
|
adds r0, r2
|
|
ldr r1, _080AFC70 @ =0x0000ffff
|
|
strh r1, [r0, 0xC]
|
|
_080AFC4A:
|
|
adds r0, r3, r6
|
|
lsls r0, 3
|
|
adds r0, r2
|
|
strh r7, [r0, 0xE]
|
|
mov r1, r8
|
|
lsls r0, r1, 16
|
|
cmp r0, 0
|
|
bge _080AFC60
|
|
adds r0, r7, 0
|
|
bl nullsub_19
|
|
_080AFC60:
|
|
adds r0, r6, 0
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080AFC6C: .4byte gTasks
|
|
_080AFC70: .4byte 0x0000ffff
|
|
thumb_func_end sub_80AFBA0
|
|
|
|
thumb_func_start sub_80AFC74
|
|
sub_80AFC74: @ 80AFC74
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x4
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r8, r0
|
|
ldr r1, _080AFCD4 @ =gTasks
|
|
lsls r0, 2
|
|
add r0, r8
|
|
lsls r0, 3
|
|
adds r4, r0, r1
|
|
ldrb r7, [r4, 0xE]
|
|
ldrh r3, [r4, 0x8]
|
|
ldrh r1, [r4, 0xA]
|
|
ldrh r0, [r4, 0x1C]
|
|
adds r0, 0x1
|
|
strh r0, [r4, 0x1C]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r0, 0xE
|
|
bgt _080AFCA6
|
|
b _080AFE1C
|
|
_080AFCA6:
|
|
movs r0, 0
|
|
strh r0, [r4, 0x1C]
|
|
ldrh r2, [r4, 0xA]
|
|
movs r5, 0xA
|
|
ldrsh r0, [r4, r5]
|
|
cmp r0, 0
|
|
bne _080AFCDC
|
|
adds r0, r7, 0
|
|
bl nullsub_19
|
|
mov r0, r8
|
|
bl DestroyTask
|
|
lsls r1, r7, 2
|
|
ldr r0, _080AFCD8 @ =0x02019338
|
|
adds r1, r0
|
|
ldrb r2, [r1, 0x2]
|
|
movs r0, 0x5
|
|
negs r0, r0
|
|
ands r0, r2
|
|
strb r0, [r1, 0x2]
|
|
b _080AFE1C
|
|
.align 2, 0
|
|
_080AFCD4: .4byte gTasks
|
|
_080AFCD8: .4byte 0x02019338
|
|
_080AFCDC:
|
|
cmp r3, 0
|
|
bne _080AFD28
|
|
lsls r0, r1, 16
|
|
mov r9, r0
|
|
cmp r0, 0
|
|
bge _080AFCFA
|
|
adds r0, r7, 0
|
|
bl sub_80AFB40
|
|
adds r0, 0x2
|
|
lsls r0, 16
|
|
lsrs r6, r0, 16
|
|
ldrh r0, [r4, 0xA]
|
|
adds r0, 0x1
|
|
b _080AFD08
|
|
_080AFCFA:
|
|
adds r0, r7, 0
|
|
bl sub_80AFB40
|
|
lsls r0, 16
|
|
lsrs r6, r0, 16
|
|
ldrh r0, [r4, 0xA]
|
|
subs r0, 0x1
|
|
_080AFD08:
|
|
strh r0, [r4, 0xA]
|
|
ldr r1, _080AFD24 @ =gTasks
|
|
mov r2, r8
|
|
lsls r0, r2, 2
|
|
add r0, r8
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldrh r1, [r0, 0x8]
|
|
adds r2, r1, 0x1
|
|
strh r2, [r0, 0x8]
|
|
lsls r1, 24
|
|
lsrs r5, r1, 24
|
|
b _080AFD94
|
|
.align 2, 0
|
|
_080AFD24: .4byte gTasks
|
|
_080AFD28:
|
|
movs r3, 0xC
|
|
ldrsh r0, [r4, r3]
|
|
cmp r0, 0
|
|
bge _080AFD62
|
|
lsls r0, r1, 16
|
|
mov r9, r0
|
|
cmp r0, 0
|
|
bge _080AFD50
|
|
ldrh r0, [r4, 0x8]
|
|
adds r1, r0, 0x1
|
|
strh r1, [r4, 0x8]
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
adds r0, r2, 0x1
|
|
strh r0, [r4, 0xA]
|
|
adds r0, r7, 0
|
|
bl sub_80AFB40
|
|
adds r0, 0x2
|
|
b _080AFD90
|
|
_080AFD50:
|
|
ldrh r0, [r4, 0x8]
|
|
subs r0, 0x1
|
|
strh r0, [r4, 0x8]
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
movs r6, 0
|
|
subs r0, r2, 0x1
|
|
strh r0, [r4, 0xA]
|
|
b _080AFD94
|
|
_080AFD62:
|
|
lsls r0, r1, 16
|
|
mov r9, r0
|
|
cmp r0, 0
|
|
bge _080AFD7C
|
|
ldrh r0, [r4, 0x8]
|
|
subs r0, 0x1
|
|
strh r0, [r4, 0x8]
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
movs r6, 0
|
|
adds r0, r2, 0x1
|
|
strh r0, [r4, 0xA]
|
|
b _080AFD94
|
|
_080AFD7C:
|
|
ldrh r0, [r4, 0x8]
|
|
adds r1, r0, 0x1
|
|
strh r1, [r4, 0x8]
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
subs r0, r2, 0x1
|
|
strh r0, [r4, 0xA]
|
|
adds r0, r7, 0
|
|
bl sub_80AFB40
|
|
_080AFD90:
|
|
lsls r0, 16
|
|
lsrs r6, r0, 16
|
|
_080AFD94:
|
|
mov r10, r5
|
|
cmp r5, 0x7
|
|
bls _080AFDA2
|
|
adds r0, r5, 0
|
|
adds r0, 0x18
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
_080AFDA2:
|
|
mov r0, sp
|
|
strh r6, [r0]
|
|
ldr r0, _080AFDE8 @ =gUnknown_02038696
|
|
adds r0, r7, r0
|
|
ldrb r0, [r0]
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r1, 5
|
|
adds r1, 0x56
|
|
adds r1, r5, r1
|
|
lsls r1, 1
|
|
ldr r0, _080AFDEC @ =0x0600c000
|
|
adds r1, r0
|
|
ldr r2, _080AFDF0 @ =0x01000001
|
|
mov r0, sp
|
|
bl CpuSet
|
|
mov r2, r9
|
|
cmp r2, 0
|
|
ble _080AFDFC
|
|
movs r0, 0x60
|
|
bl PlaySE
|
|
ldr r4, _080AFDF4 @ =gMPlay_SE1
|
|
adds r0, r4, 0
|
|
bl m4aMPlayImmInit
|
|
ldr r1, _080AFDF8 @ =0x0000ffff
|
|
mov r3, r10
|
|
lsls r2, r3, 24
|
|
asrs r2, 16
|
|
adds r0, r4, 0
|
|
bl m4aMPlayPitchControl
|
|
b _080AFE02
|
|
.align 2, 0
|
|
_080AFDE8: .4byte gUnknown_02038696
|
|
_080AFDEC: .4byte 0x0600c000
|
|
_080AFDF0: .4byte 0x01000001
|
|
_080AFDF4: .4byte gMPlay_SE1
|
|
_080AFDF8: .4byte 0x0000ffff
|
|
_080AFDFC:
|
|
movs r0, 0x16
|
|
bl PlaySE
|
|
_080AFE02:
|
|
cmp r5, 0
|
|
bne _080AFE1C
|
|
cmp r6, 0
|
|
bne _080AFE1C
|
|
ldr r0, _080AFE2C @ =gTasks
|
|
mov r5, r8
|
|
lsls r1, r5, 2
|
|
add r1, r8
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldrh r0, [r1, 0xC]
|
|
negs r0, r0
|
|
strh r0, [r1, 0xC]
|
|
_080AFE1C:
|
|
add sp, 0x4
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AFE2C: .4byte gTasks
|
|
thumb_func_end sub_80AFC74
|
|
|
|
thumb_func_start sub_80AFE30
|
|
sub_80AFE30: @ 80AFE30
|
|
push {r4,r5,lr}
|
|
ldr r0, _080AFE64 @ =gUnknown_083CA350
|
|
bl LoadSpriteSheet
|
|
movs r4, 0
|
|
ldr r5, _080AFE68 @ =gUnknown_083CA338
|
|
_080AFE3C:
|
|
ldr r0, _080AFE6C @ =gUnknown_02038696
|
|
adds r0, r4, r0
|
|
ldrb r0, [r0]
|
|
adds r0, r5
|
|
ldrb r2, [r0]
|
|
ldr r0, _080AFE70 @ =gSpriteTemplate_83CA3AC
|
|
movs r1, 0xB4
|
|
movs r3, 0x1
|
|
bl CreateSprite
|
|
lsls r1, r4, 2
|
|
ldr r2, _080AFE74 @ =0x02019338
|
|
adds r1, r2
|
|
strb r0, [r1]
|
|
adds r4, 0x1
|
|
cmp r4, 0x3
|
|
ble _080AFE3C
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AFE64: .4byte gUnknown_083CA350
|
|
_080AFE68: .4byte gUnknown_083CA338
|
|
_080AFE6C: .4byte gUnknown_02038696
|
|
_080AFE70: .4byte gSpriteTemplate_83CA3AC
|
|
_080AFE74: .4byte 0x02019338
|
|
thumb_func_end sub_80AFE30
|
|
|
|
thumb_func_start sub_80AFE78
|
|
sub_80AFE78: @ 80AFE78
|
|
push {r4-r7,lr}
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
lsls r2, r6, 2
|
|
ldr r3, _080AFEB0 @ =0x02019338
|
|
adds r2, r3
|
|
ldrb r0, [r2, 0x2]
|
|
movs r1, 0x1
|
|
orrs r0, r1
|
|
strb r0, [r2, 0x2]
|
|
ldrb r7, [r2]
|
|
lsls r0, r6, 3
|
|
subs r0, r6
|
|
lsls r0, 2
|
|
subs r3, 0xD8
|
|
adds r0, r3
|
|
movs r1, 0x4
|
|
ldrsh r0, [r0, r1]
|
|
movs r1, 0xA
|
|
bl __divsi3
|
|
lsls r0, 17
|
|
lsrs r5, r0, 16
|
|
asrs r0, 16
|
|
cmp r0, 0x38
|
|
ble _080AFEB4
|
|
movs r5, 0x38
|
|
b _080AFEBA
|
|
.align 2, 0
|
|
_080AFEB0: .4byte 0x02019338
|
|
_080AFEB4:
|
|
cmp r0, 0
|
|
bge _080AFEBA
|
|
movs r5, 0
|
|
_080AFEBA:
|
|
ldr r2, _080AFEEC @ =gSprites
|
|
lsls r3, r7, 4
|
|
adds r0, r3, r7
|
|
lsls r0, 2
|
|
adds r4, r0, r2
|
|
movs r0, 0x3E
|
|
adds r0, r4
|
|
mov r12, r0
|
|
ldrb r1, [r0]
|
|
movs r0, 0x5
|
|
negs r0, r0
|
|
ands r0, r1
|
|
mov r1, r12
|
|
strb r0, [r1]
|
|
strh r6, [r4, 0x2E]
|
|
strh r5, [r4, 0x30]
|
|
lsls r0, r5, 16
|
|
asrs r0, 16
|
|
movs r5, 0x24
|
|
ldrsh r1, [r4, r5]
|
|
cmp r0, r1
|
|
ble _080AFEF0
|
|
movs r0, 0x1
|
|
b _080AFEF2
|
|
.align 2, 0
|
|
_080AFEEC: .4byte gSprites
|
|
_080AFEF0:
|
|
ldr r0, _080AFF08 @ =0x0000ffff
|
|
_080AFEF2:
|
|
strh r0, [r4, 0x32]
|
|
adds r0, r3, r7
|
|
lsls r0, 2
|
|
adds r1, r2, 0
|
|
adds r1, 0x1C
|
|
adds r0, r1
|
|
ldr r1, _080AFF0C @ =sub_80AFF60
|
|
str r1, [r0]
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AFF08: .4byte 0x0000ffff
|
|
_080AFF0C: .4byte sub_80AFF60
|
|
thumb_func_end sub_80AFE78
|
|
|
|
thumb_func_start sub_80AFF10
|
|
sub_80AFF10: @ 80AFF10
|
|
push {r4,lr}
|
|
movs r4, 0
|
|
_080AFF14:
|
|
lsls r0, r4, 24
|
|
lsrs r0, 24
|
|
bl sub_80AFE78
|
|
adds r4, 0x1
|
|
cmp r4, 0x3
|
|
ble _080AFF14
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80AFF10
|
|
|
|
thumb_func_start sub_80AFF28
|
|
sub_80AFF28: @ 80AFF28
|
|
push {r4,lr}
|
|
movs r3, 0
|
|
ldr r2, _080AFF54 @ =0x02019338
|
|
ldrb r1, [r2, 0x2]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _080AFF4C
|
|
movs r4, 0x1
|
|
_080AFF3A:
|
|
adds r2, 0x4
|
|
adds r3, 0x1
|
|
cmp r3, 0x3
|
|
bgt _080AFF4C
|
|
ldrb r1, [r2, 0x2]
|
|
adds r0, r4, 0
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080AFF3A
|
|
_080AFF4C:
|
|
cmp r3, 0x4
|
|
beq _080AFF58
|
|
movs r0, 0
|
|
b _080AFF5A
|
|
.align 2, 0
|
|
_080AFF54: .4byte 0x02019338
|
|
_080AFF58:
|
|
movs r0, 0x1
|
|
_080AFF5A:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80AFF28
|
|
|
|
thumb_func_start sub_80AFF60
|
|
sub_80AFF60: @ 80AFF60
|
|
push {r4,lr}
|
|
adds r3, r0, 0
|
|
ldrh r2, [r3, 0x24]
|
|
movs r0, 0x24
|
|
ldrsh r1, [r3, r0]
|
|
movs r4, 0x30
|
|
ldrsh r0, [r3, r4]
|
|
cmp r1, r0
|
|
bne _080AFF94
|
|
movs r0, 0x2E
|
|
ldrsh r1, [r3, r0]
|
|
lsls r1, 2
|
|
ldr r0, _080AFF8C @ =0x02019338
|
|
adds r1, r0
|
|
ldrb r2, [r1, 0x2]
|
|
movs r0, 0x2
|
|
negs r0, r0
|
|
ands r0, r2
|
|
strb r0, [r1, 0x2]
|
|
ldr r0, _080AFF90 @ =SpriteCallbackDummy
|
|
str r0, [r3, 0x1C]
|
|
b _080AFF9A
|
|
.align 2, 0
|
|
_080AFF8C: .4byte 0x02019338
|
|
_080AFF90: .4byte SpriteCallbackDummy
|
|
_080AFF94:
|
|
ldrh r0, [r3, 0x32]
|
|
adds r0, r2, r0
|
|
strh r0, [r3, 0x24]
|
|
_080AFF9A:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80AFF60
|
|
|
|
thumb_func_start sub_80AFFA0
|
|
sub_80AFFA0: @ 80AFFA0
|
|
push {r4-r6,lr}
|
|
movs r2, 0
|
|
ldr r6, _080AFFD0 @ =gSprites
|
|
ldr r5, _080AFFD4 @ =gUnknown_083CA338
|
|
ldr r3, _080AFFD8 @ =0x02019338
|
|
ldr r4, _080AFFDC @ =gUnknown_02038696
|
|
_080AFFAC:
|
|
ldrb r0, [r3]
|
|
lsls r1, r0, 4
|
|
adds r1, r0
|
|
lsls r1, 2
|
|
adds r1, r6
|
|
adds r0, r2, r4
|
|
ldrb r0, [r0]
|
|
adds r0, r5
|
|
ldrb r0, [r0]
|
|
strh r0, [r1, 0x22]
|
|
adds r3, 0x4
|
|
adds r2, 0x1
|
|
cmp r2, 0x3
|
|
ble _080AFFAC
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AFFD0: .4byte gSprites
|
|
_080AFFD4: .4byte gUnknown_083CA338
|
|
_080AFFD8: .4byte 0x02019338
|
|
_080AFFDC: .4byte gUnknown_02038696
|
|
thumb_func_end sub_80AFFA0
|
|
|
|
thumb_func_start sub_80AFFE0
|
|
sub_80AFFE0: @ 80AFFE0
|
|
push {r4-r6,lr}
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
movs r3, 0
|
|
ldr r6, _080B0008 @ =gUnknown_02038696
|
|
ldr r4, _080B000C @ =gSprites
|
|
ldr r2, _080B0010 @ =0x02019338
|
|
_080AFFEE:
|
|
adds r0, r3, r6
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x1
|
|
bls _080B0024
|
|
cmp r5, 0
|
|
bne _080B0014
|
|
ldrb r0, [r2]
|
|
lsls r1, r0, 4
|
|
adds r1, r0
|
|
lsls r1, 2
|
|
adds r1, r4
|
|
movs r0, 0xB4
|
|
b _080B0022
|
|
.align 2, 0
|
|
_080B0008: .4byte gUnknown_02038696
|
|
_080B000C: .4byte gSprites
|
|
_080B0010: .4byte 0x02019338
|
|
_080B0014:
|
|
ldrb r0, [r2]
|
|
lsls r1, r0, 4
|
|
adds r1, r0
|
|
lsls r1, 2
|
|
adds r1, r4
|
|
movs r0, 0x80
|
|
lsls r0, 1
|
|
_080B0022:
|
|
strh r0, [r1, 0x20]
|
|
_080B0024:
|
|
adds r2, 0x4
|
|
adds r3, 0x1
|
|
cmp r3, 0x3
|
|
ble _080AFFEE
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80AFFE0
|
|
|
|
thumb_func_start sub_80B0034
|
|
sub_80B0034: @ 80B0034
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
ldr r0, _080B00A8 @ =gUnknown_083CA3E4
|
|
bl LoadSpritePalette
|
|
movs r5, 0
|
|
ldr r0, _080B00AC @ =gUnknown_083CA33C
|
|
mov r8, r0
|
|
ldr r7, _080B00B0 @ =gSprites
|
|
movs r6, 0
|
|
_080B004A:
|
|
lsls r0, r5, 3
|
|
ldr r1, _080B00B4 @ =gUnknown_083CA3C4
|
|
adds r0, r1
|
|
bl LoadCompressedObjectPic
|
|
ldr r0, _080B00B8 @ =gSpriteTemplate_83CA3F4
|
|
adds r0, r6, r0
|
|
ldr r1, _080B00BC @ =gUnknown_02038696
|
|
adds r1, r5, r1
|
|
ldrb r1, [r1]
|
|
add r1, r8
|
|
ldrb r2, [r1]
|
|
movs r1, 0xCC
|
|
movs r3, 0
|
|
bl CreateSprite
|
|
lsls r4, r5, 2
|
|
ldr r1, _080B00C0 @ =0x02019338
|
|
adds r4, r1
|
|
strb r0, [r4, 0x1]
|
|
ldrb r1, [r4, 0x1]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r7
|
|
ldr r1, _080B00C4 @ =gUnknown_083CA464
|
|
bl SetSubspriteTables
|
|
ldrb r1, [r4, 0x1]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r7
|
|
adds r0, 0x3E
|
|
ldrb r1, [r0]
|
|
movs r2, 0x4
|
|
orrs r1, r2
|
|
strb r1, [r0]
|
|
adds r6, 0x18
|
|
adds r5, 0x1
|
|
cmp r5, 0x3
|
|
ble _080B004A
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080B00A8: .4byte gUnknown_083CA3E4
|
|
_080B00AC: .4byte gUnknown_083CA33C
|
|
_080B00B0: .4byte gSprites
|
|
_080B00B4: .4byte gUnknown_083CA3C4
|
|
_080B00B8: .4byte gSpriteTemplate_83CA3F4
|
|
_080B00BC: .4byte gUnknown_02038696
|
|
_080B00C0: .4byte 0x02019338
|
|
_080B00C4: .4byte gUnknown_083CA464
|
|
thumb_func_end sub_80B0034
|
|
|
|
thumb_func_start sub_80B00C8
|
|
sub_80B00C8: @ 80B00C8
|
|
push {lr}
|
|
ldr r0, _080B0104 @ =gUnknown_083CA46C
|
|
bl LoadCompressedObjectPic
|
|
ldr r0, _080B0108 @ =gUnknown_083CA474
|
|
bl LoadSpritePalette
|
|
ldr r0, _080B010C @ =gSpriteTemplate_83CA484
|
|
movs r1, 0x1E
|
|
movs r2, 0x2C
|
|
movs r3, 0x1
|
|
bl CreateSprite
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r2, _080B0110 @ =gSprites
|
|
lsls r1, r0, 4
|
|
adds r1, r0
|
|
lsls r1, 2
|
|
adds r1, r2
|
|
adds r1, 0x3E
|
|
ldrb r2, [r1]
|
|
movs r3, 0x4
|
|
orrs r2, r3
|
|
strb r2, [r1]
|
|
ldr r1, _080B0114 @ =0x02019204
|
|
adds r1, 0x58
|
|
strb r0, [r1]
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080B0104: .4byte gUnknown_083CA46C
|
|
_080B0108: .4byte gUnknown_083CA474
|
|
_080B010C: .4byte gSpriteTemplate_83CA484
|
|
_080B0110: .4byte gSprites
|
|
_080B0114: .4byte 0x02019204
|
|
thumb_func_end sub_80B00C8
|
|
|
|
thumb_func_start nullsub_18
|
|
nullsub_18: @ 80B0118
|
|
bx lr
|
|
thumb_func_end nullsub_18
|
|
|
|
thumb_func_start unref_sub_80B011C
|
|
unref_sub_80B011C: @ 80B011C
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
ldr r0, _080B0198 @ =gUnknown_083CC3AC
|
|
bl LoadCompressedObjectPic
|
|
movs r4, 0
|
|
ldr r5, _080B019C @ =gUnknown_083CC3B4
|
|
_080B012C:
|
|
lsls r0, r4, 3
|
|
adds r0, r5
|
|
bl LoadCompressedObjectPalette
|
|
adds r0, r4, 0x1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0x3
|
|
bls _080B012C
|
|
movs r4, 0
|
|
ldr r5, _080B01A0 @ =gUnknown_083CA330
|
|
adds r0, r5, 0x1
|
|
mov r8, r0
|
|
ldr r7, _080B01A4 @ =gSprites
|
|
ldr r6, _080B01A8 @ =0x0201920d
|
|
_080B014A:
|
|
lsls r2, r4, 1
|
|
adds r0, r2, r4
|
|
lsls r0, 3
|
|
ldr r1, _080B01AC @ =gSpriteTemplate_83CC454
|
|
adds r0, r1
|
|
adds r1, r2, r5
|
|
ldrb r1, [r1]
|
|
add r2, r8
|
|
ldrb r2, [r2]
|
|
movs r3, 0x5
|
|
bl CreateSprite
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r1, r0, 4
|
|
adds r1, r0
|
|
lsls r1, 2
|
|
adds r1, r7
|
|
movs r2, 0x3E
|
|
adds r2, r1
|
|
mov r12, r2
|
|
ldrb r2, [r2]
|
|
movs r3, 0x4
|
|
orrs r2, r3
|
|
mov r3, r12
|
|
strb r2, [r3]
|
|
strh r4, [r1, 0x2E]
|
|
adds r1, r4, r6
|
|
strb r0, [r1]
|
|
adds r0, r4, 0x1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0x3
|
|
bls _080B014A
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080B0198: .4byte gUnknown_083CC3AC
|
|
_080B019C: .4byte gUnknown_083CC3B4
|
|
_080B01A0: .4byte gUnknown_083CA330
|
|
_080B01A4: .4byte gSprites
|
|
_080B01A8: .4byte 0x0201920d
|
|
_080B01AC: .4byte gSpriteTemplate_83CC454
|
|
thumb_func_end unref_sub_80B011C
|
|
|
|
thumb_func_start unref_sub_80B01B0
|
|
unref_sub_80B01B0: @ 80B01B0
|
|
push {r4,r5,lr}
|
|
movs r2, 0
|
|
ldr r5, _080B01D4 @ =0x0201920d
|
|
ldr r4, _080B01D8 @ =gSprites + 0x1C
|
|
ldr r3, _080B01DC @ =sub_80B0238
|
|
_080B01BA:
|
|
adds r0, r2, r5
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r4
|
|
str r3, [r0]
|
|
adds r2, 0x1
|
|
cmp r2, 0x3
|
|
ble _080B01BA
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080B01D4: .4byte 0x0201920d
|
|
_080B01D8: .4byte gSprites + 0x1C
|
|
_080B01DC: .4byte sub_80B0238
|
|
thumb_func_end unref_sub_80B01B0
|
|
|
|
thumb_func_start unref_sub_80B01E0
|
|
unref_sub_80B01E0: @ 80B01E0
|
|
push {r4,r5,lr}
|
|
movs r3, 0
|
|
ldr r2, _080B0224 @ =gSprites
|
|
ldr r4, _080B0228 @ =0x02019204
|
|
ldrb r1, [r4, 0x9]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r2, 0x1C
|
|
adds r0, r2
|
|
ldr r1, [r0]
|
|
ldr r0, _080B022C @ =SpriteCallbackDummy
|
|
cmp r1, r0
|
|
bne _080B021A
|
|
adds r5, r4, 0
|
|
adds r5, 0x9
|
|
adds r4, r1, 0
|
|
_080B0202:
|
|
adds r3, 0x1
|
|
cmp r3, 0x3
|
|
bgt _080B021A
|
|
adds r0, r3, r5
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r2
|
|
ldr r0, [r0]
|
|
cmp r0, r4
|
|
beq _080B0202
|
|
_080B021A:
|
|
cmp r3, 0x4
|
|
beq _080B0230
|
|
movs r0, 0
|
|
b _080B0232
|
|
.align 2, 0
|
|
_080B0224: .4byte gSprites
|
|
_080B0228: .4byte 0x02019204
|
|
_080B022C: .4byte SpriteCallbackDummy
|
|
_080B0230:
|
|
movs r0, 0x1
|
|
_080B0232:
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end unref_sub_80B01E0
|
|
|
|
thumb_func_start sub_80B0238
|
|
sub_80B0238: @ 80B0238
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
ldrb r1, [r4, 0x1]
|
|
movs r0, 0x4
|
|
negs r0, r0
|
|
ands r0, r1
|
|
movs r1, 0x1
|
|
orrs r0, r1
|
|
strb r0, [r4, 0x1]
|
|
adds r0, r4, 0
|
|
bl InitSpriteAffineAnim
|
|
adds r0, r4, 0
|
|
adds r0, 0x3E
|
|
ldrb r1, [r0]
|
|
movs r0, 0x4
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080B0268
|
|
ldr r0, _080B0264 @ =sub_80B02A8
|
|
b _080B0272
|
|
.align 2, 0
|
|
_080B0264: .4byte sub_80B02A8
|
|
_080B0268:
|
|
adds r0, r4, 0
|
|
movs r1, 0x1
|
|
bl StartSpriteAffineAnim
|
|
ldr r0, _080B027C @ =sub_80B0280
|
|
_080B0272:
|
|
str r0, [r4, 0x1C]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080B027C: .4byte sub_80B0280
|
|
thumb_func_end sub_80B0238
|
|
|
|
thumb_func_start sub_80B0280
|
|
sub_80B0280: @ 80B0280
|
|
push {lr}
|
|
adds r3, r0, 0
|
|
adds r0, 0x3F
|
|
ldrb r1, [r0]
|
|
movs r0, 0x20
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080B02A0
|
|
adds r2, r3, 0
|
|
adds r2, 0x3E
|
|
ldrb r0, [r2]
|
|
movs r1, 0x4
|
|
orrs r0, r1
|
|
strb r0, [r2]
|
|
ldr r0, _080B02A4 @ =sub_80B02A8
|
|
str r0, [r3, 0x1C]
|
|
_080B02A0:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080B02A4: .4byte sub_80B02A8
|
|
thumb_func_end sub_80B0280
|
|
|
|
thumb_func_start sub_80B02A8
|
|
sub_80B02A8: @ 80B02A8
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
adds r2, r4, 0
|
|
adds r2, 0x3E
|
|
ldrb r1, [r2]
|
|
movs r0, 0x5
|
|
negs r0, r0
|
|
ands r0, r1
|
|
strb r0, [r2]
|
|
movs r0, 0x2E
|
|
ldrsh r1, [r4, r0]
|
|
lsls r0, r1, 3
|
|
subs r0, r1
|
|
lsls r0, 2
|
|
ldr r1, _080B02EC @ =0x02019260
|
|
adds r0, r1
|
|
ldrb r1, [r0, 0xB]
|
|
lsls r1, 30
|
|
lsrs r1, 30
|
|
adds r0, r4, 0
|
|
bl StartSpriteAnim
|
|
adds r0, r4, 0
|
|
movs r1, 0x2
|
|
bl StartSpriteAffineAnim
|
|
ldr r0, _080B02F0 @ =sub_80B02F4
|
|
str r0, [r4, 0x1C]
|
|
movs r0, 0x18
|
|
bl PlaySE
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080B02EC: .4byte 0x02019260
|
|
_080B02F0: .4byte sub_80B02F4
|
|
thumb_func_end sub_80B02A8
|
|
|
|
thumb_func_start sub_80B02F4
|
|
sub_80B02F4: @ 80B02F4
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
adds r0, 0x3F
|
|
ldrb r1, [r0]
|
|
movs r0, 0x20
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080B0318
|
|
adds r0, r4, 0
|
|
bl FreeSpriteOamMatrix
|
|
ldrb r0, [r4, 0x1]
|
|
movs r1, 0x4
|
|
negs r1, r1
|
|
ands r1, r0
|
|
strb r1, [r4, 0x1]
|
|
ldr r0, _080B0320 @ =SpriteCallbackDummy
|
|
str r0, [r4, 0x1C]
|
|
_080B0318:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080B0320: .4byte SpriteCallbackDummy
|
|
thumb_func_end sub_80B02F4
|
|
|
|
thumb_func_start sub_80B0324
|
|
sub_80B0324: @ 80B0324
|
|
push {r4,lr}
|
|
ldr r0, _080B035C @ =sub_80B0458
|
|
movs r1, 0x1E
|
|
bl CreateTask
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _080B0360 @ =0x02019204
|
|
strb r0, [r1, 0xD]
|
|
movs r2, 0
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
ldr r4, _080B0364 @ =gTasks + 0x8
|
|
movs r3, 0xFF
|
|
_080B0342:
|
|
lsls r0, r2, 3
|
|
adds r0, r1
|
|
adds r0, r4
|
|
strh r3, [r0]
|
|
adds r0, r2, 0x1
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
cmp r2, 0x3
|
|
bls _080B0342
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080B035C: .4byte sub_80B0458
|
|
_080B0360: .4byte 0x02019204
|
|
_080B0364: .4byte gTasks + 0x8
|
|
thumb_func_end sub_80B0324
|
|
|
|
thumb_func_start sub_80B0368
|
|
sub_80B0368: @ 80B0368
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r3, _080B03A0 @ =gTasks
|
|
ldr r5, _080B03A4 @ =0x02019204
|
|
ldrb r2, [r5, 0xD]
|
|
lsls r1, r2, 2
|
|
adds r1, r2
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r3, 0x8
|
|
adds r1, r3
|
|
movs r4, 0
|
|
strh r4, [r1]
|
|
lsls r0, 2
|
|
adds r0, 0x1
|
|
lsls r0, 1
|
|
ldrb r2, [r5, 0xD]
|
|
lsls r1, r2, 2
|
|
adds r1, r2
|
|
lsls r1, 3
|
|
adds r0, r1
|
|
adds r0, r3
|
|
strh r4, [r0]
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080B03A0: .4byte gTasks
|
|
_080B03A4: .4byte 0x02019204
|
|
thumb_func_end sub_80B0368
|
|
|
|
thumb_func_start sub_80B03A8
|
|
sub_80B03A8: @ 80B03A8
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
ldr r0, _080B03D0 @ =sub_80B03D8
|
|
movs r1, 0x1F
|
|
bl CreateTask
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r2, _080B03D4 @ =gTasks
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r1, r2
|
|
strh r4, [r1, 0x8]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080B03D0: .4byte sub_80B03D8
|
|
_080B03D4: .4byte gTasks
|
|
thumb_func_end sub_80B03A8
|
|
|
|
thumb_func_start sub_80B03D8
|
|
sub_80B03D8: @ 80B03D8
|
|
push {r4-r7,lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
adds r5, r0, 0
|
|
ldr r2, _080B044C @ =gTasks
|
|
lsls r0, r5, 2
|
|
adds r0, r5
|
|
lsls r0, 3
|
|
adds r0, r2
|
|
ldrb r0, [r0, 0x8]
|
|
adds r4, r0, 0
|
|
ldr r6, _080B0450 @ =0x02019204
|
|
ldrb r1, [r6, 0xD]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r7, r2, 0
|
|
adds r7, 0x8
|
|
adds r1, r0, r7
|
|
movs r2, 0
|
|
ldrsh r0, [r1, r2]
|
|
cmp r0, 0
|
|
beq _080B040C
|
|
cmp r0, 0xFF
|
|
bne _080B0444
|
|
_080B040C:
|
|
movs r3, 0
|
|
movs r0, 0xFF
|
|
strh r0, [r1]
|
|
lsls r1, r4, 2
|
|
adds r1, 0x1
|
|
lsls r1, 1
|
|
ldrb r2, [r6, 0xD]
|
|
lsls r0, r2, 2
|
|
adds r0, r2
|
|
lsls r0, 3
|
|
adds r1, r0
|
|
adds r1, r7
|
|
strh r3, [r1]
|
|
adds r0, r6, 0
|
|
adds r0, 0x14
|
|
adds r0, r4, r0
|
|
ldrb r0, [r0]
|
|
adds r0, 0x5
|
|
lsls r0, 4
|
|
adds r0, 0x6
|
|
ldr r3, _080B0454 @ =0x00004bff
|
|
movs r1, 0x2
|
|
movs r2, 0
|
|
bl BlendPalette
|
|
adds r0, r5, 0
|
|
bl DestroyTask
|
|
_080B0444:
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080B044C: .4byte gTasks
|
|
_080B0450: .4byte 0x02019204
|
|
_080B0454: .4byte 0x00004bff
|
|
thumb_func_end sub_80B03D8
|
|
|
|
thumb_func_start sub_80B0458
|
|
sub_80B0458: @ 80B0458
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
movs r6, 0
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
mov r9, r1
|
|
lsls r7, r1, 3
|
|
ldr r0, _080B04A8 @ =gTasks + 0x8
|
|
mov r8, r0
|
|
movs r1, 0x8
|
|
negs r1, r1
|
|
add r1, r8
|
|
mov r10, r1
|
|
_080B047C:
|
|
lsls r0, r6, 26
|
|
lsrs r3, r0, 24
|
|
lsls r0, r3, 1
|
|
adds r0, r7
|
|
mov r4, r8
|
|
adds r2, r0, r4
|
|
ldrh r4, [r2]
|
|
movs r5, 0
|
|
ldrsh r0, [r2, r5]
|
|
cmp r0, 0xFF
|
|
beq _080B04F6
|
|
adds r0, r3, 0x1
|
|
lsls r1, r0, 1
|
|
adds r1, r7
|
|
add r1, r8
|
|
movs r5, 0
|
|
ldrsh r1, [r1, r5]
|
|
adds r5, r0, 0
|
|
cmp r1, 0
|
|
bne _080B04AC
|
|
adds r0, r4, 0x1
|
|
b _080B04AE
|
|
.align 2, 0
|
|
_080B04A8: .4byte gTasks + 0x8
|
|
_080B04AC:
|
|
subs r0, r4, 0x1
|
|
_080B04AE:
|
|
strh r0, [r2]
|
|
lsls r1, r3, 1
|
|
mov r0, r9
|
|
lsls r2, r0, 3
|
|
adds r0, r1, r2
|
|
mov r3, r10
|
|
adds r3, 0x8
|
|
adds r0, r3
|
|
movs r4, 0
|
|
ldrsh r0, [r0, r4]
|
|
adds r4, r1, 0
|
|
cmp r0, 0x10
|
|
beq _080B04CC
|
|
cmp r0, 0
|
|
bne _080B04DA
|
|
_080B04CC:
|
|
lsls r0, r5, 1
|
|
adds r0, r2
|
|
adds r0, r3
|
|
ldrh r1, [r0]
|
|
movs r2, 0x1
|
|
eors r1, r2
|
|
strh r1, [r0]
|
|
_080B04DA:
|
|
ldr r0, _080B0510 @ =0x02019204
|
|
adds r0, 0x14
|
|
adds r0, r6, r0
|
|
ldrb r0, [r0]
|
|
adds r0, 0x5
|
|
lsls r0, 4
|
|
adds r0, 0x6
|
|
adds r1, r4, r7
|
|
add r1, r8
|
|
ldrb r2, [r1]
|
|
movs r1, 0x2
|
|
ldr r3, _080B0514 @ =0x00004bff
|
|
bl BlendPalette
|
|
_080B04F6:
|
|
adds r0, r6, 0x1
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
cmp r6, 0x3
|
|
bls _080B047C
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080B0510: .4byte 0x02019204
|
|
_080B0514: .4byte 0x00004bff
|
|
thumb_func_end sub_80B0458
|
|
|
|
thumb_func_start sub_80B0518
|
|
sub_80B0518: @ 80B0518
|
|
push {r4,lr}
|
|
ldr r0, _080B0540 @ =sub_80B05FC
|
|
movs r1, 0x1E
|
|
bl CreateTask
|
|
ldr r1, _080B0544 @ =0x02019204
|
|
strb r0, [r1, 0xE]
|
|
movs r4, 0
|
|
_080B0528:
|
|
adds r0, r4, 0
|
|
bl sub_80B0548
|
|
adds r0, r4, 0x1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0x3
|
|
bls _080B0528
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080B0540: .4byte sub_80B05FC
|
|
_080B0544: .4byte 0x02019204
|
|
thumb_func_end sub_80B0518
|
|
|
|
thumb_func_start sub_80B0548
|
|
sub_80B0548: @ 80B0548
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r3, _080B0580 @ =gTasks
|
|
ldr r4, _080B0584 @ =0x02019204
|
|
ldrb r2, [r4, 0xE]
|
|
lsls r1, r2, 2
|
|
adds r1, r2
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r3, 0x8
|
|
adds r1, r3
|
|
movs r5, 0
|
|
movs r2, 0xFF
|
|
strh r2, [r1]
|
|
lsls r0, 2
|
|
adds r0, 0x1
|
|
lsls r0, 1
|
|
ldrb r2, [r4, 0xE]
|
|
lsls r1, r2, 2
|
|
adds r1, r2
|
|
lsls r1, 3
|
|
adds r0, r1
|
|
adds r0, r3
|
|
strh r5, [r0]
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080B0580: .4byte gTasks
|
|
_080B0584: .4byte 0x02019204
|
|
thumb_func_end sub_80B0548
|
|
|
|
thumb_func_start sub_80B0588
|
|
sub_80B0588: @ 80B0588
|
|
push {r4,lr}
|
|
movs r4, 0
|
|
_080B058C:
|
|
adds r0, r4, 0
|
|
bl sub_80B05A4
|
|
adds r0, r4, 0x1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0x3
|
|
bls _080B058C
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80B0588
|
|
|
|
thumb_func_start sub_80B05A4
|
|
sub_80B05A4: @ 80B05A4
|
|
push {r4-r6,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
adds r0, r4, 0
|
|
bl sub_80B0548
|
|
adds r0, r4, 0x5
|
|
lsls r2, r0, 5
|
|
ldr r3, _080B05E8 @ =gPlttBufferUnfaded + 0x14
|
|
adds r6, r2, r3
|
|
ldr r5, _080B05EC @ =gPlttBufferFaded + 0x14
|
|
adds r2, r5
|
|
ldr r1, _080B05F0 @ =0x040000d4
|
|
str r6, [r1]
|
|
str r2, [r1, 0x4]
|
|
ldr r2, _080B05F4 @ =0x80000001
|
|
str r2, [r1, 0x8]
|
|
ldr r6, [r1, 0x8]
|
|
lsls r0, 4
|
|
adds r4, 0xC
|
|
adds r0, r4
|
|
lsls r0, 1
|
|
subs r3, 0x14
|
|
adds r3, r0, r3
|
|
subs r5, 0x14
|
|
adds r0, r5
|
|
str r3, [r1]
|
|
str r0, [r1, 0x4]
|
|
str r2, [r1, 0x8]
|
|
ldr r0, [r1, 0x8]
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080B05E8: .4byte gPlttBufferUnfaded + 0x14
|
|
_080B05EC: .4byte gPlttBufferFaded + 0x14
|
|
_080B05F0: .4byte 0x040000d4
|
|
_080B05F4: .4byte 0x80000001
|
|
thumb_func_end sub_80B05A4
|
|
|
|
thumb_func_start nullsub_19
|
|
nullsub_19: @ 80B05F8
|
|
bx lr
|
|
thumb_func_end nullsub_19
|
|
|
|
thumb_func_start sub_80B05FC
|
|
sub_80B05FC: @ 80B05FC
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
movs r7, 0
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
mov r9, r1
|
|
lsls r6, r1, 3
|
|
ldr r0, _080B0664 @ =gTasks + 0x8
|
|
mov r8, r0
|
|
ldr r1, _080B0668 @ =0x00004bff
|
|
mov r10, r1
|
|
_080B061C:
|
|
lsls r0, r7, 26
|
|
lsrs r3, r0, 24
|
|
lsls r0, r3, 1
|
|
adds r0, r6
|
|
mov r4, r8
|
|
adds r2, r0, r4
|
|
movs r5, 0
|
|
ldrsh r0, [r2, r5]
|
|
cmp r0, 0xFF
|
|
beq _080B06C2
|
|
adds r0, r3, 0x2
|
|
lsls r0, 1
|
|
adds r0, r6
|
|
adds r1, r0, r4
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
movs r4, 0
|
|
strh r0, [r1]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r0, 0x2
|
|
ble _080B06C2
|
|
strh r4, [r1]
|
|
adds r0, r3, 0x1
|
|
lsls r1, r0, 1
|
|
adds r1, r6
|
|
add r1, r8
|
|
movs r4, 0
|
|
ldrsh r1, [r1, r4]
|
|
adds r4, r0, 0
|
|
cmp r1, 0
|
|
bne _080B066C
|
|
ldrh r0, [r2]
|
|
adds r0, 0x1
|
|
b _080B0670
|
|
.align 2, 0
|
|
_080B0664: .4byte gTasks + 0x8
|
|
_080B0668: .4byte 0x00004bff
|
|
_080B066C:
|
|
ldrh r0, [r2]
|
|
subs r0, 0x1
|
|
_080B0670:
|
|
strh r0, [r2]
|
|
lsls r1, r3, 1
|
|
mov r5, r9
|
|
lsls r2, r5, 3
|
|
adds r0, r1, r2
|
|
ldr r3, _080B06DC @ =gTasks
|
|
adds r3, 0x8
|
|
adds r0, r3
|
|
movs r5, 0
|
|
ldrsh r0, [r0, r5]
|
|
adds r5, r1, 0
|
|
cmp r0, 0x10
|
|
beq _080B068E
|
|
cmp r0, 0
|
|
bne _080B069C
|
|
_080B068E:
|
|
lsls r0, r4, 1
|
|
adds r0, r2
|
|
adds r0, r3
|
|
ldrh r1, [r0]
|
|
movs r2, 0x1
|
|
eors r1, r2
|
|
strh r1, [r0]
|
|
_080B069C:
|
|
adds r4, r7, 0x5
|
|
lsls r4, 4
|
|
adds r0, r4, 0
|
|
adds r0, 0xA
|
|
adds r5, r6
|
|
add r5, r8
|
|
ldrb r2, [r5]
|
|
movs r1, 0x1
|
|
mov r3, r10
|
|
bl BlendPalette
|
|
adds r4, 0xC
|
|
adds r4, r7
|
|
ldrb r2, [r5]
|
|
adds r0, r4, 0
|
|
movs r1, 0x1
|
|
mov r3, r10
|
|
bl BlendPalette
|
|
_080B06C2:
|
|
adds r0, r7, 0x1
|
|
lsls r0, 24
|
|
lsrs r7, r0, 24
|
|
cmp r7, 0x3
|
|
bls _080B061C
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080B06DC: .4byte gTasks
|
|
thumb_func_end sub_80B05FC
|
|
|
|
thumb_func_start unref_sub_80B06E0
|
|
unref_sub_80B06E0: @ 80B06E0
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
adds r7, r0, 0
|
|
ldr r0, _080B073C @ =sub_80B0748
|
|
movs r1, 0xA
|
|
bl CreateTask
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
movs r3, 0
|
|
lsls r0, r5, 2
|
|
adds r0, r5
|
|
lsls r6, r0, 3
|
|
ldr r0, _080B0740 @ =gTasks + 0x8
|
|
mov r8, r0
|
|
ldr r1, _080B0744 @ =0x02019338
|
|
mov r12, r1
|
|
_080B0704:
|
|
lsls r4, r3, 2
|
|
lsls r0, r3, 26
|
|
lsrs r0, 23
|
|
adds r0, r6
|
|
add r0, r8
|
|
adds r2, r7, r3
|
|
ldrb r1, [r2]
|
|
strh r1, [r0]
|
|
ldrb r0, [r2]
|
|
cmp r0, 0
|
|
beq _080B0726
|
|
mov r1, r12
|
|
adds r0, r4, r1
|
|
ldrb r1, [r0, 0x2]
|
|
movs r2, 0x2
|
|
orrs r1, r2
|
|
strb r1, [r0, 0x2]
|
|
_080B0726:
|
|
adds r0, r3, 0x1
|
|
lsls r0, 24
|
|
lsrs r3, r0, 24
|
|
cmp r3, 0x3
|
|
bls _080B0704
|
|
adds r0, r5, 0
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080B073C: .4byte sub_80B0748
|
|
_080B0740: .4byte gTasks + 0x8
|
|
_080B0744: .4byte 0x02019338
|
|
thumb_func_end unref_sub_80B06E0
|
|
|
|
thumb_func_start sub_80B0748
|
|
sub_80B0748: @ 80B0748
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x20
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
str r0, [sp]
|
|
movs r0, 0
|
|
str r0, [sp, 0x4]
|
|
ldr r2, _080B07F4 @ =gTasks
|
|
movs r1, 0x8
|
|
adds r1, r2
|
|
mov r10, r1
|
|
ldr r3, [sp]
|
|
lsls r3, 2
|
|
str r3, [sp, 0x1C]
|
|
ldr r1, [sp]
|
|
adds r0, r3, r1
|
|
lsls r0, 3
|
|
str r0, [sp, 0xC]
|
|
_080B0774:
|
|
ldr r0, _080B07F8 @ =gUnknown_02038696
|
|
ldr r3, [sp, 0x4]
|
|
adds r0, r3, r0
|
|
ldrb r4, [r0]
|
|
lsls r0, r4, 26
|
|
lsrs r1, r0, 24
|
|
lsls r0, r1, 1
|
|
str r0, [sp, 0x8]
|
|
ldr r3, [sp]
|
|
lsls r0, r3, 2
|
|
adds r0, r3
|
|
lsls r6, r0, 3
|
|
ldr r3, [sp, 0x8]
|
|
adds r0, r3, r6
|
|
add r0, r10
|
|
mov r9, r0
|
|
ldrb r7, [r0]
|
|
cmp r7, 0
|
|
bne _080B079C
|
|
b _080B0910
|
|
_080B079C:
|
|
adds r3, r1, 0x1
|
|
lsls r0, r3, 1
|
|
adds r0, r6
|
|
add r0, r10
|
|
ldrb r0, [r0]
|
|
mov r8, r0
|
|
adds r2, r1, 0x2
|
|
lsls r0, r2, 1
|
|
adds r0, r6
|
|
add r0, r10
|
|
ldrb r5, [r0]
|
|
adds r1, 0x3
|
|
lsls r0, r1, 1
|
|
adds r0, r6
|
|
add r0, r10
|
|
ldrb r6, [r0]
|
|
str r3, [sp, 0x10]
|
|
str r2, [sp, 0x14]
|
|
str r1, [sp, 0x18]
|
|
cmp r7, 0x1
|
|
bne _080B0818
|
|
adds r0, r6, 0x1
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
cmp r6, 0x1
|
|
beq _080B07D2
|
|
b _080B08EA
|
|
_080B07D2:
|
|
movs r6, 0
|
|
adds r0, r4, 0x5
|
|
lsls r0, 4
|
|
adds r0, 0x1
|
|
movs r1, 0x3
|
|
adds r2, r5, 0
|
|
ldr r3, _080B07FC @ =0x00007fff
|
|
bl BlendPalette
|
|
cmp r5, 0
|
|
bne _080B0800
|
|
mov r0, r8
|
|
cmp r0, 0x4
|
|
bne _080B0800
|
|
mov r1, r9
|
|
strh r6, [r1]
|
|
b _080B08EA
|
|
.align 2, 0
|
|
_080B07F4: .4byte gTasks
|
|
_080B07F8: .4byte gUnknown_02038696
|
|
_080B07FC: .4byte 0x00007fff
|
|
_080B0800:
|
|
adds r0, r5, 0x2
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
cmp r5, 0xD
|
|
bls _080B08EA
|
|
movs r5, 0
|
|
mov r0, r8
|
|
adds r0, 0x1
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r8, r0
|
|
b _080B08EA
|
|
_080B0818:
|
|
cmp r7, 0x2
|
|
beq _080B0820
|
|
cmp r7, 0x4
|
|
bne _080B0896
|
|
_080B0820:
|
|
adds r0, r6, 0x1
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
cmp r6, 0x3
|
|
bne _080B08EA
|
|
movs r6, 0
|
|
adds r0, r4, 0x5
|
|
lsls r0, 4
|
|
adds r0, 0x1
|
|
ldr r2, _080B0854 @ =gUnknown_083CC5A4
|
|
lsls r1, r4, 1
|
|
adds r1, r2
|
|
ldrh r3, [r1]
|
|
movs r1, 0x3
|
|
adds r2, r5, 0
|
|
bl BlendPalette
|
|
cmp r5, 0
|
|
bne _080B0858
|
|
mov r2, r8
|
|
cmp r2, 0x2
|
|
bne _080B0858
|
|
mov r3, r9
|
|
strh r6, [r3]
|
|
b _080B08EA
|
|
.align 2, 0
|
|
_080B0854: .4byte gUnknown_083CC5A4
|
|
_080B0858:
|
|
adds r0, r5, 0x1
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
cmp r5, 0xE
|
|
bne _080B08EA
|
|
movs r5, 0
|
|
mov r0, r8
|
|
adds r0, 0x1
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r8, r0
|
|
cmp r7, 0x4
|
|
bne _080B08EA
|
|
cmp r0, 0x1
|
|
bne _080B08EA
|
|
adds r4, 0x9
|
|
lsls r4, 4
|
|
adds r0, r4, 0x2
|
|
movs r1, 0x1
|
|
movs r2, 0x4
|
|
movs r3, 0
|
|
bl BlendPalette
|
|
adds r4, 0x5
|
|
adds r0, r4, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x4
|
|
movs r3, 0
|
|
bl BlendPalette
|
|
b _080B08EA
|
|
_080B0896:
|
|
cmp r7, 0x3
|
|
bne _080B08EA
|
|
adds r0, r6, 0x1
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
cmp r6, 0xC
|
|
bne _080B08EA
|
|
movs r6, 0
|
|
adds r0, r4, 0x5
|
|
lsls r0, 4
|
|
adds r4, r0, 0x1
|
|
adds r0, r4, 0
|
|
movs r1, 0x3
|
|
adds r2, r5, 0
|
|
movs r3, 0
|
|
bl BlendPalette
|
|
adds r0, r5, 0x1
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
cmp r5, 0x5
|
|
bne _080B08EA
|
|
ldr r0, _080B0930 @ =gPlttBufferFaded
|
|
lsls r1, r4, 1
|
|
adds r0, r1, r0
|
|
ldrh r2, [r0]
|
|
ldr r0, _080B0934 @ =gPlttBufferUnfaded
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
ldr r1, _080B0938 @ =0x040000d4
|
|
str r2, [r1]
|
|
str r0, [r1, 0x4]
|
|
movs r0, 0x80
|
|
lsls r0, 24
|
|
orrs r7, r0
|
|
str r7, [r1, 0x8]
|
|
ldr r0, [r1, 0x8]
|
|
ldr r1, [sp, 0x8]
|
|
ldr r2, [sp, 0xC]
|
|
adds r0, r1, r2
|
|
add r0, r10
|
|
strh r6, [r0]
|
|
_080B08EA:
|
|
ldr r3, [sp, 0x10]
|
|
lsls r0, r3, 1
|
|
ldr r1, [sp, 0xC]
|
|
adds r0, r1
|
|
add r0, r10
|
|
mov r2, r8
|
|
strh r2, [r0]
|
|
ldr r3, [sp, 0x14]
|
|
lsls r0, r3, 1
|
|
adds r0, r1
|
|
add r0, r10
|
|
strh r5, [r0]
|
|
ldr r1, [sp, 0x18]
|
|
lsls r0, r1, 1
|
|
ldr r2, [sp, 0xC]
|
|
adds r0, r2
|
|
add r0, r10
|
|
strh r6, [r0]
|
|
ldr r2, _080B093C @ =gTasks
|
|
_080B0910:
|
|
ldr r0, [sp, 0x4]
|
|
adds r0, 0x1
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
str r0, [sp, 0x4]
|
|
cmp r0, 0x3
|
|
bhi _080B0920
|
|
b _080B0774
|
|
_080B0920:
|
|
movs r4, 0
|
|
ldr r3, [sp, 0x1C]
|
|
ldr r1, [sp]
|
|
adds r0, r3, r1
|
|
lsls r1, r0, 3
|
|
adds r2, 0x8
|
|
adds r0, r1, r2
|
|
b _080B0950
|
|
.align 2, 0
|
|
_080B0930: .4byte gPlttBufferFaded
|
|
_080B0934: .4byte gPlttBufferUnfaded
|
|
_080B0938: .4byte 0x040000d4
|
|
_080B093C: .4byte gTasks
|
|
_080B0940:
|
|
adds r0, r4, 0x1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0x3
|
|
bhi _080B0958
|
|
lsls r0, r4, 3
|
|
adds r0, r1
|
|
adds r0, r2
|
|
_080B0950:
|
|
movs r3, 0
|
|
ldrsh r0, [r0, r3]
|
|
cmp r0, 0
|
|
beq _080B0940
|
|
_080B0958:
|
|
cmp r4, 0x4
|
|
bne _080B0980
|
|
movs r4, 0
|
|
ldr r3, _080B0990 @ =0x02019338
|
|
movs r5, 0x3
|
|
negs r5, r5
|
|
_080B0964:
|
|
lsls r1, r4, 2
|
|
adds r1, r3
|
|
ldrb r2, [r1, 0x2]
|
|
adds r0, r5, 0
|
|
ands r0, r2
|
|
strb r0, [r1, 0x2]
|
|
adds r0, r4, 0x1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0x3
|
|
bls _080B0964
|
|
ldr r0, [sp]
|
|
bl DestroyTask
|
|
_080B0980:
|
|
add sp, 0x20
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080B0990: .4byte 0x02019338
|
|
thumb_func_end sub_80B0748
|
|
|
|
thumb_func_start unref_sub_80B0994
|
|
unref_sub_80B0994: @ 80B0994
|
|
push {lr}
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080B09A6
|
|
ldr r0, _080B09AC @ =0x02019204
|
|
ldrb r1, [r0, 0x6]
|
|
movs r2, 0x4
|
|
orrs r1, r2
|
|
strb r1, [r0, 0x6]
|
|
_080B09A6:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080B09AC: .4byte 0x02019204
|
|
thumb_func_end unref_sub_80B0994
|
|
|
|
thumb_func_start sub_80B09B0
|
|
sub_80B09B0: @ 80B09B0
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
lsls r0, r2, 3
|
|
subs r0, r2
|
|
lsls r0, 2
|
|
ldr r1, _080B09D4 @ =0x02019260
|
|
adds r0, r1
|
|
ldrb r1, [r0, 0x15]
|
|
movs r0, 0x10
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080B09D8
|
|
adds r0, r2, 0
|
|
bl sub_80B0368
|
|
b _080B09DE
|
|
.align 2, 0
|
|
_080B09D4: .4byte 0x02019260
|
|
_080B09D8:
|
|
adds r0, r2, 0
|
|
bl sub_80B03A8
|
|
_080B09DE:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80B09B0
|
|
|
|
thumb_func_start sub_80B09E4
|
|
sub_80B09E4: @ 80B09E4
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0xC
|
|
mov r9, r0
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r9, r0
|
|
ldr r0, _080B0B2C @ =gUnknown_02038696
|
|
mov r1, r9
|
|
adds r7, r1, r0
|
|
ldrb r0, [r7]
|
|
lsls r5, r0, 2
|
|
adds r5, r0
|
|
lsls r5, 27
|
|
movs r2, 0x80
|
|
lsls r2, 22
|
|
adds r5, r2
|
|
lsrs r5, 24
|
|
lsls r4, r1, 3
|
|
ldr r0, _080B0B30 @ =gUnknown_083CC4B4
|
|
adds r0, r4, r0
|
|
bl LoadCompressedObjectPic
|
|
ldr r0, _080B0B34 @ =gUnknown_083CC4D4
|
|
adds r4, r0
|
|
adds r0, r4, 0
|
|
bl LoadSpritePalette
|
|
mov r3, r9
|
|
lsls r4, r3, 1
|
|
add r4, r9
|
|
lsls r4, 3
|
|
ldr r0, _080B0B38 @ =gSpriteTemplate_83CC53C
|
|
adds r4, r0
|
|
adds r0, r4, 0
|
|
movs r1, 0xB8
|
|
adds r2, r5, 0
|
|
movs r3, 0x1D
|
|
bl CreateSprite
|
|
mov r8, r0
|
|
mov r0, r8
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r8, r0
|
|
adds r0, r4, 0
|
|
movs r1, 0xF8
|
|
adds r2, r5, 0
|
|
movs r3, 0x1D
|
|
bl CreateSprite
|
|
adds r6, r0, 0
|
|
lsls r6, 24
|
|
lsrs r6, 24
|
|
ldr r1, _080B0B3C @ =gSprites
|
|
mov r10, r1
|
|
lsls r5, r6, 4
|
|
adds r5, r6
|
|
lsls r5, 2
|
|
add r5, r10
|
|
ldrh r2, [r5, 0x4]
|
|
lsls r1, r2, 22
|
|
lsrs r1, 22
|
|
adds r1, 0x40
|
|
ldr r3, _080B0B40 @ =0x000003ff
|
|
adds r0, r3, 0
|
|
ands r1, r0
|
|
ldr r0, _080B0B44 @ =0xfffffc00
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
strh r0, [r5, 0x4]
|
|
ldrb r0, [r7]
|
|
lsls r3, r0, 2
|
|
adds r3, r0
|
|
lsls r3, 6
|
|
ldr r0, _080B0B48 @ =0x0600e026
|
|
adds r3, r0
|
|
mov r1, r8
|
|
lsls r4, r1, 4
|
|
add r4, r8
|
|
lsls r4, 2
|
|
add r4, r10
|
|
ldrh r0, [r4, 0x4]
|
|
lsls r0, 22
|
|
lsrs r0, 17
|
|
ldr r2, _080B0B4C @ =0x06010000
|
|
mov r10, r2
|
|
add r0, r10
|
|
str r0, [sp]
|
|
movs r0, 0
|
|
movs r1, 0x3
|
|
movs r2, 0xC0
|
|
lsls r2, 19
|
|
bl sub_8040F80
|
|
ldrb r0, [r7]
|
|
lsls r3, r0, 2
|
|
adds r3, r0
|
|
lsls r3, 6
|
|
ldr r7, _080B0B50 @ =0x0600e036
|
|
adds r3, r7
|
|
ldrh r0, [r5, 0x4]
|
|
lsls r0, 22
|
|
lsrs r0, 17
|
|
add r0, r10
|
|
str r0, [sp]
|
|
movs r0, 0
|
|
movs r1, 0x3
|
|
movs r2, 0xC0
|
|
lsls r2, 19
|
|
bl sub_8040F80
|
|
ldrh r0, [r4, 0x4]
|
|
lsls r0, 22
|
|
lsrs r0, 17
|
|
movs r1, 0xA0
|
|
lsls r1, 3
|
|
adds r0, r1
|
|
add r0, r10
|
|
movs r2, 0
|
|
str r2, [sp, 0x8]
|
|
ldr r1, _080B0B54 @ =0x040000d4
|
|
add r3, sp, 0x8
|
|
mov r12, r3
|
|
str r3, [r1]
|
|
str r0, [r1, 0x4]
|
|
ldr r3, _080B0B58 @ =0x850000c0
|
|
str r3, [r1, 0x8]
|
|
ldr r0, [r1, 0x8]
|
|
add r0, sp, 0x4
|
|
strb r2, [r0]
|
|
strb r2, [r0]
|
|
ldrh r0, [r5, 0x4]
|
|
lsls r0, 22
|
|
lsrs r0, 17
|
|
movs r7, 0xA0
|
|
lsls r7, 3
|
|
adds r0, r7
|
|
add r0, r10
|
|
str r2, [sp, 0x8]
|
|
mov r2, r12
|
|
str r2, [r1]
|
|
str r0, [r1, 0x4]
|
|
str r3, [r1, 0x8]
|
|
ldr r0, [r1, 0x8]
|
|
strh r6, [r4, 0x2E]
|
|
mov r3, r8
|
|
strh r3, [r5, 0x2E]
|
|
mov r7, r9
|
|
strh r7, [r4, 0x30]
|
|
mov r0, r9
|
|
strh r0, [r5, 0x30]
|
|
mov r0, r8
|
|
add sp, 0xC
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080B0B2C: .4byte gUnknown_02038696
|
|
_080B0B30: .4byte gUnknown_083CC4B4
|
|
_080B0B34: .4byte gUnknown_083CC4D4
|
|
_080B0B38: .4byte gSpriteTemplate_83CC53C
|
|
_080B0B3C: .4byte gSprites
|
|
_080B0B40: .4byte 0x000003ff
|
|
_080B0B44: .4byte 0xfffffc00
|
|
_080B0B48: .4byte 0x0600e026
|
|
_080B0B4C: .4byte 0x06010000
|
|
_080B0B50: .4byte 0x0600e036
|
|
_080B0B54: .4byte 0x040000d4
|
|
_080B0B58: .4byte 0x850000c0
|
|
thumb_func_end sub_80B09E4
|
|
|
|
thumb_func_start sub_80B0B5C
|
|
sub_80B0B5C: @ 80B0B5C
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _080B0B94 @ =gSprites
|
|
lsls r5, r0, 4
|
|
adds r5, r0
|
|
lsls r5, 2
|
|
adds r5, r1
|
|
ldrh r0, [r5, 0x2E]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r4, r0, 4
|
|
adds r4, r0
|
|
lsls r4, 2
|
|
adds r4, r1
|
|
adds r0, r4, 0
|
|
bl FreeSpriteOamMatrix
|
|
adds r0, r4, 0
|
|
bl DestroySprite
|
|
adds r0, r5, 0
|
|
bl DestroySpriteAndFreeResources
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080B0B94: .4byte gSprites
|
|
thumb_func_end sub_80B0B5C
|
|
|
|
thumb_func_start sub_80B0B98
|
|
sub_80B0B98: @ 80B0B98
|
|
ldr r1, _080B0BAC @ =REG_BLDCNT
|
|
movs r2, 0xFD
|
|
lsls r2, 6
|
|
adds r0, r2, 0
|
|
strh r0, [r1]
|
|
adds r1, 0x2
|
|
ldr r2, _080B0BB0 @ =0x00000907
|
|
adds r0, r2, 0
|
|
strh r0, [r1]
|
|
bx lr
|
|
.align 2, 0
|
|
_080B0BAC: .4byte REG_BLDCNT
|
|
_080B0BB0: .4byte 0x00000907
|
|
thumb_func_end sub_80B0B98
|
|
|
|
thumb_func_start sub_80B0BB4
|
|
sub_80B0BB4: @ 80B0BB4
|
|
ldr r0, _080B0BC0 @ =REG_BLDCNT
|
|
movs r1, 0
|
|
strh r1, [r0]
|
|
adds r0, 0x2
|
|
strh r1, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_080B0BC0: .4byte REG_BLDCNT
|
|
thumb_func_end sub_80B0BB4
|
|
|
|
thumb_func_start sub_80B0BC4
|
|
sub_80B0BC4: @ 80B0BC4
|
|
push {r4-r6,lr}
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5,r6}
|
|
adds r4, r0, 0
|
|
mov r9, r1
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
mov r0, r9
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r9, r0
|
|
bl sub_80B0B98
|
|
ldr r1, _080B0C38 @ =gSprites
|
|
mov r8, r1
|
|
lsls r6, r4, 4
|
|
adds r6, r4
|
|
lsls r6, 2
|
|
adds r0, r6, r1
|
|
movs r1, 0x30
|
|
ldrsh r2, [r0, r1]
|
|
lsls r2, 2
|
|
ldr r1, _080B0C3C @ =0x02019338
|
|
adds r2, r1
|
|
ldrb r1, [r2, 0x2]
|
|
movs r3, 0x2
|
|
orrs r1, r3
|
|
strb r1, [r2, 0x2]
|
|
ldrh r5, [r0, 0x2E]
|
|
lsls r5, 24
|
|
lsrs r5, 24
|
|
movs r1, 0x1
|
|
bl StartSpriteAffineAnim
|
|
lsls r4, r5, 4
|
|
adds r4, r5
|
|
lsls r4, 2
|
|
mov r1, r8
|
|
adds r0, r4, r1
|
|
movs r1, 0x1
|
|
bl StartSpriteAffineAnim
|
|
movs r0, 0x1C
|
|
add r8, r0
|
|
add r6, r8
|
|
ldr r0, _080B0C40 @ =sub_80B0C5C
|
|
str r0, [r6]
|
|
add r4, r8
|
|
ldr r0, _080B0C44 @ =SpriteCallbackDummy
|
|
str r0, [r4]
|
|
mov r1, r9
|
|
cmp r1, 0
|
|
bne _080B0C48
|
|
movs r0, 0x65
|
|
bl PlaySE
|
|
b _080B0C4E
|
|
.align 2, 0
|
|
_080B0C38: .4byte gSprites
|
|
_080B0C3C: .4byte 0x02019338
|
|
_080B0C40: .4byte sub_80B0C5C
|
|
_080B0C44: .4byte SpriteCallbackDummy
|
|
_080B0C48:
|
|
movs r0, 0x2
|
|
bl PlaySE
|
|
_080B0C4E:
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80B0BC4
|
|
|
|
thumb_func_start sub_80B0C5C
|
|
sub_80B0C5C: @ 80B0C5C
|
|
push {lr}
|
|
mov r12, r0
|
|
adds r0, 0x3F
|
|
ldrb r1, [r0]
|
|
movs r0, 0x20
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080B0CA4
|
|
mov r0, r12
|
|
ldrh r1, [r0, 0x2E]
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
ldr r2, _080B0CA8 @ =gSprites
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r1, r0, r2
|
|
adds r0, r1, 0
|
|
adds r0, 0x3F
|
|
ldrb r0, [r0]
|
|
lsls r0, 26
|
|
cmp r0, 0
|
|
bge _080B0CA4
|
|
mov r3, r12
|
|
adds r3, 0x3E
|
|
ldrb r0, [r3]
|
|
movs r2, 0x4
|
|
orrs r0, r2
|
|
strb r0, [r3]
|
|
adds r1, 0x3E
|
|
ldrb r0, [r1]
|
|
orrs r0, r2
|
|
strb r0, [r1]
|
|
ldr r0, _080B0CAC @ =sub_80B0CB0
|
|
mov r1, r12
|
|
str r0, [r1, 0x1C]
|
|
_080B0CA4:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080B0CA8: .4byte gSprites
|
|
_080B0CAC: .4byte sub_80B0CB0
|
|
thumb_func_end sub_80B0C5C
|
|
|
|
thumb_func_start sub_80B0CB0
|
|
sub_80B0CB0: @ 80B0CB0
|
|
push {lr}
|
|
movs r1, 0x30
|
|
ldrsh r2, [r0, r1]
|
|
lsls r2, 2
|
|
ldr r1, _080B0CD8 @ =0x02019338
|
|
adds r2, r1
|
|
ldrb r3, [r2, 0x2]
|
|
movs r1, 0x3
|
|
negs r1, r1
|
|
ands r1, r3
|
|
strb r1, [r2, 0x2]
|
|
ldrh r0, [r0, 0x2E]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_80B0B5C
|
|
bl sub_80B0BB4
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080B0CD8: .4byte 0x02019338
|
|
thumb_func_end sub_80B0CB0
|
|
|
|
thumb_func_start sub_80B0CDC
|
|
sub_80B0CDC: @ 80B0CDC
|
|
lsls r0, 24
|
|
lsrs r0, 22
|
|
ldr r1, _080B0CF0 @ =0x02019338
|
|
adds r0, r1
|
|
ldrb r2, [r0, 0x2]
|
|
movs r1, 0x3
|
|
negs r1, r1
|
|
ands r1, r2
|
|
strb r1, [r0, 0x2]
|
|
bx lr
|
|
.align 2, 0
|
|
_080B0CF0: .4byte 0x02019338
|
|
thumb_func_end sub_80B0CDC
|
|
|
|
thumb_func_start unref_sub_80B0CF4
|
|
unref_sub_80B0CF4: @ 80B0CF4
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0x8
|
|
ldr r0, _080B0D5C @ =0x02000000
|
|
movs r1, 0xC0
|
|
lsls r1, 9
|
|
adds r0, r1
|
|
ldrb r1, [r0]
|
|
movs r2, 0x1
|
|
eors r1, r2
|
|
strb r1, [r0]
|
|
cmp r1, 0
|
|
bne _080B0D6C
|
|
movs r4, 0
|
|
ldr r6, _080B0D60 @ =gUnknown_083CA308
|
|
adds r3, r6, 0x1
|
|
mov r8, r3
|
|
ldr r5, _080B0D64 @ =gUnknown_083CA310
|
|
adds r7, r5, 0x1
|
|
_080B0D1C:
|
|
lsls r1, r4, 1
|
|
adds r0, r1, r6
|
|
ldrb r2, [r0]
|
|
mov r3, r8
|
|
adds r0, r1, r3
|
|
ldrb r3, [r0]
|
|
adds r0, r1, r5
|
|
ldrb r0, [r0]
|
|
adds r0, 0x5
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
str r0, [sp]
|
|
adds r1, r7
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
str r0, [sp, 0x4]
|
|
ldr r0, _080B0D68 @ =gUnknown_03004210
|
|
movs r1, 0
|
|
bl FillWindowRect_DefaultPalette
|
|
adds r0, r4, 0x1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0x3
|
|
bls _080B0D1C
|
|
bl sub_80AE514
|
|
bl sub_80AEB30
|
|
b _080B0D70
|
|
.align 2, 0
|
|
_080B0D5C: .4byte 0x02000000
|
|
_080B0D60: .4byte gUnknown_083CA308
|
|
_080B0D64: .4byte gUnknown_083CA310
|
|
_080B0D68: .4byte gUnknown_03004210
|
|
_080B0D6C:
|
|
bl sub_80B0D7C
|
|
_080B0D70:
|
|
add sp, 0x8
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end unref_sub_80B0CF4
|
|
|
|
thumb_func_start sub_80B0D7C
|
|
sub_80B0D7C: @ 80B0D7C
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
sub sp, 0x10
|
|
movs r5, 0
|
|
ldr r0, _080B0ED0 @ =0x02000000
|
|
movs r1, 0xC0
|
|
lsls r1, 9
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
bne _080B0D98
|
|
b _080B0EC2
|
|
_080B0D98:
|
|
movs r4, 0
|
|
ldr r7, _080B0ED4 @ =gUnknown_083CA308
|
|
adds r3, r7, 0x1
|
|
mov r9, r3
|
|
ldr r6, _080B0ED8 @ =gUnknown_083CA310
|
|
adds r0, r6, 0x1
|
|
mov r8, r0
|
|
_080B0DA6:
|
|
lsls r1, r4, 1
|
|
adds r0, r1, r7
|
|
ldrb r2, [r0]
|
|
mov r3, r9
|
|
adds r0, r1, r3
|
|
ldrb r3, [r0]
|
|
adds r0, r1, r6
|
|
ldrb r0, [r0]
|
|
adds r0, 0x5
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
str r0, [sp]
|
|
add r1, r8
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
str r0, [sp, 0x4]
|
|
ldr r0, _080B0EDC @ =gUnknown_03004210
|
|
movs r1, 0
|
|
bl FillWindowRect_DefaultPalette
|
|
adds r0, r4, 0x1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0x3
|
|
bls _080B0DA6
|
|
movs r4, 0
|
|
ldr r6, _080B0ED8 @ =gUnknown_083CA310
|
|
adds r7, r6, 0x1
|
|
_080B0DE2:
|
|
lsls r0, r4, 3
|
|
subs r0, r4
|
|
lsls r0, 2
|
|
ldr r1, _080B0EE0 @ =0x02019260
|
|
adds r0, r1
|
|
ldrh r2, [r0, 0x4]
|
|
movs r1, 0x4
|
|
ldrsh r0, [r0, r1]
|
|
cmp r0, 0
|
|
bge _080B0E08
|
|
negs r0, r0
|
|
lsls r0, 16
|
|
lsrs r2, r0, 16
|
|
add r1, sp, 0x8
|
|
movs r0, 0xAE
|
|
strb r0, [r1]
|
|
adds r0, r5, 0x1
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
_080B0E08:
|
|
mov r0, sp
|
|
adds r0, r5
|
|
adds r0, 0x8
|
|
lsls r1, r2, 16
|
|
asrs r1, 16
|
|
movs r2, 0
|
|
movs r3, 0x4
|
|
bl ConvertIntToDecimalStringN
|
|
ldr r0, _080B0EE4 @ =gUnknown_02038696
|
|
adds r0, r4, r0
|
|
ldrb r0, [r0]
|
|
movs r1, 0x16
|
|
adds r2, r0, 0
|
|
muls r2, r1
|
|
movs r3, 0x94
|
|
lsls r3, 2
|
|
adds r2, r3
|
|
lsls r0, 1
|
|
adds r1, r0, r6
|
|
ldrb r3, [r1]
|
|
adds r0, r7
|
|
ldrb r0, [r0]
|
|
str r0, [sp]
|
|
ldr r0, _080B0EDC @ =gUnknown_03004210
|
|
add r1, sp, 0x8
|
|
bl sub_8003460
|
|
movs r5, 0
|
|
adds r0, r4, 0x1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0x3
|
|
bls _080B0DE2
|
|
movs r4, 0
|
|
ldr r6, _080B0ED4 @ =gUnknown_083CA308
|
|
adds r7, r6, 0x1
|
|
_080B0E52:
|
|
lsls r0, r4, 3
|
|
subs r0, r4
|
|
lsls r0, 2
|
|
ldr r1, _080B0EE0 @ =0x02019260
|
|
adds r0, r1
|
|
ldrh r2, [r0, 0x2]
|
|
movs r1, 0x2
|
|
ldrsh r0, [r0, r1]
|
|
cmp r0, 0
|
|
bge _080B0E78
|
|
negs r0, r0
|
|
lsls r0, 16
|
|
lsrs r2, r0, 16
|
|
add r1, sp, 0x8
|
|
movs r0, 0xAE
|
|
strb r0, [r1]
|
|
adds r0, r5, 0x1
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
_080B0E78:
|
|
mov r0, sp
|
|
adds r0, r5
|
|
adds r0, 0x8
|
|
lsls r1, r2, 16
|
|
asrs r1, 16
|
|
movs r2, 0
|
|
movs r3, 0x4
|
|
bl ConvertIntToDecimalStringN
|
|
ldr r0, _080B0EE4 @ =gUnknown_02038696
|
|
adds r0, r4, r0
|
|
ldrb r1, [r0]
|
|
lsls r2, r1, 2
|
|
adds r2, r1
|
|
lsls r2, 18
|
|
movs r3, 0x80
|
|
lsls r3, 18
|
|
adds r2, r3
|
|
lsrs r2, 16
|
|
lsls r1, 1
|
|
adds r0, r1, r6
|
|
ldrb r3, [r0]
|
|
adds r1, r7
|
|
ldrb r0, [r1]
|
|
str r0, [sp]
|
|
ldr r0, _080B0EDC @ =gUnknown_03004210
|
|
add r1, sp, 0x8
|
|
bl sub_8003460
|
|
movs r5, 0
|
|
adds r0, r4, 0x1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0x3
|
|
bls _080B0E52
|
|
bl sub_80AEB30
|
|
_080B0EC2:
|
|
add sp, 0x10
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080B0ED0: .4byte 0x02000000
|
|
_080B0ED4: .4byte gUnknown_083CA308
|
|
_080B0ED8: .4byte gUnknown_083CA310
|
|
_080B0EDC: .4byte gUnknown_03004210
|
|
_080B0EE0: .4byte 0x02019260
|
|
_080B0EE4: .4byte gUnknown_02038696
|
|
thumb_func_end sub_80B0D7C
|
|
|
|
thumb_func_start unref_sub_80B0EE8
|
|
unref_sub_80B0EE8: @ 80B0EE8
|
|
push {r4-r7,lr}
|
|
adds r7, r0, 0
|
|
movs r4, 0
|
|
subs r0, r1, 0x1
|
|
cmp r4, r0
|
|
bge _080B0F20
|
|
adds r6, r0, 0
|
|
_080B0EF6:
|
|
adds r3, r0, 0
|
|
adds r5, r4, 0x1
|
|
cmp r0, r4
|
|
ble _080B0F18
|
|
lsls r0, 2
|
|
subs r0, 0x4
|
|
adds r0, r7
|
|
_080B0F04:
|
|
ldr r1, [r0]
|
|
ldr r2, [r0, 0x4]
|
|
cmp r1, r2
|
|
ble _080B0F10
|
|
str r1, [r0, 0x4]
|
|
str r2, [r0]
|
|
_080B0F10:
|
|
subs r0, 0x4
|
|
subs r3, 0x1
|
|
cmp r3, r4
|
|
bgt _080B0F04
|
|
_080B0F18:
|
|
adds r4, r5, 0
|
|
adds r0, r6, 0
|
|
cmp r4, r0
|
|
blt _080B0EF6
|
|
_080B0F20:
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end unref_sub_80B0EE8
|
|
|
|
thumb_func_start sub_80B0F28
|
|
sub_80B0F28: @ 80B0F28
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x14
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r8, r0
|
|
add r4, sp, 0x4
|
|
adds r0, r4, 0
|
|
movs r1, 0
|
|
movs r2, 0x8
|
|
bl memset
|
|
movs r5, 0
|
|
add r4, sp, 0x4
|
|
adds r6, r4, 0
|
|
movs r7, 0
|
|
_080B0F4E:
|
|
bl Random
|
|
adds r1, r0, 0
|
|
mov r0, sp
|
|
adds r0, r7
|
|
adds r0, 0x4
|
|
strh r1, [r0]
|
|
movs r2, 0
|
|
cmp r2, r5
|
|
bge _080B0F86
|
|
lsls r0, r1, 16
|
|
lsrs r0, 16
|
|
mov r1, sp
|
|
ldrh r1, [r1, 0x4]
|
|
cmp r0, r1
|
|
beq _080B0F80
|
|
_080B0F6E:
|
|
adds r2, 0x1
|
|
cmp r2, r5
|
|
bge _080B0F86
|
|
lsls r0, r2, 1
|
|
adds r0, r4, r0
|
|
ldrh r1, [r6]
|
|
ldrh r0, [r0]
|
|
cmp r1, r0
|
|
bne _080B0F6E
|
|
_080B0F80:
|
|
subs r6, 0x2
|
|
subs r7, 0x2
|
|
subs r5, 0x1
|
|
_080B0F86:
|
|
adds r6, 0x2
|
|
adds r7, 0x2
|
|
adds r5, 0x1
|
|
cmp r5, 0x3
|
|
ble _080B0F4E
|
|
mov r2, r8
|
|
cmp r2, 0
|
|
bne _080B1050
|
|
movs r5, 0
|
|
ldr r3, _080B1008 @ =gUnknown_02038696
|
|
mov r8, r3
|
|
_080B0F9C:
|
|
mov r6, r8
|
|
strb r5, [r6]
|
|
movs r4, 0
|
|
cmp r4, r5
|
|
bge _080B1018
|
|
ldr r7, _080B100C @ =gUnknown_02038670
|
|
mov r9, r7
|
|
lsls r0, r5, 1
|
|
adds r1, r0, 0
|
|
add r1, r9
|
|
mov r12, r1
|
|
mov r2, sp
|
|
adds r2, 0x4
|
|
str r2, [sp, 0xC]
|
|
add r0, sp
|
|
adds r0, 0x4
|
|
str r0, [sp, 0x10]
|
|
ldr r3, _080B1008 @ =gUnknown_02038696
|
|
adds r6, r3, 0
|
|
mov r10, r6
|
|
_080B0FC4:
|
|
ldrb r0, [r3]
|
|
lsls r2, r0, 1
|
|
mov r7, r9
|
|
adds r0, r2, r7
|
|
movs r6, 0
|
|
ldrsh r1, [r0, r6]
|
|
mov r7, r12
|
|
movs r6, 0
|
|
ldrsh r0, [r7, r6]
|
|
cmp r1, r0
|
|
blt _080B0FEC
|
|
cmp r1, r0
|
|
bne _080B1010
|
|
ldr r7, [sp, 0xC]
|
|
adds r0, r7, r2
|
|
ldrh r0, [r0]
|
|
ldr r1, [sp, 0x10]
|
|
ldrh r1, [r1]
|
|
cmp r0, r1
|
|
bcs _080B1010
|
|
_080B0FEC:
|
|
adds r2, r5, 0
|
|
cmp r5, r4
|
|
ble _080B1004
|
|
subs r0, r5, 0x1
|
|
mov r6, r10
|
|
adds r1, r0, r6
|
|
_080B0FF8:
|
|
ldrb r0, [r1]
|
|
strb r0, [r1, 0x1]
|
|
subs r1, 0x1
|
|
subs r2, 0x1
|
|
cmp r2, r4
|
|
bgt _080B0FF8
|
|
_080B1004:
|
|
strb r5, [r3]
|
|
b _080B1018
|
|
.align 2, 0
|
|
_080B1008: .4byte gUnknown_02038696
|
|
_080B100C: .4byte gUnknown_02038670
|
|
_080B1010:
|
|
adds r3, 0x1
|
|
adds r4, 0x1
|
|
cmp r4, r5
|
|
blt _080B0FC4
|
|
_080B1018:
|
|
cmp r4, r5
|
|
bne _080B1020
|
|
mov r7, r8
|
|
strb r5, [r7]
|
|
_080B1020:
|
|
movs r0, 0x1
|
|
add r8, r0
|
|
adds r5, 0x1
|
|
cmp r5, 0x3
|
|
ble _080B0F9C
|
|
ldr r4, _080B104C @ =gUnknown_02038696
|
|
mov r0, sp
|
|
adds r1, r4, 0
|
|
movs r2, 0x4
|
|
bl memcpy
|
|
movs r5, 0
|
|
_080B1038:
|
|
mov r1, sp
|
|
adds r0, r1, r5
|
|
ldrb r0, [r0]
|
|
adds r0, r4
|
|
strb r5, [r0]
|
|
adds r5, 0x1
|
|
cmp r5, 0x3
|
|
ble _080B1038
|
|
b _080B10FC
|
|
.align 2, 0
|
|
_080B104C: .4byte gUnknown_02038696
|
|
_080B1050:
|
|
mov r0, sp
|
|
movs r1, 0xFF
|
|
movs r2, 0x4
|
|
bl memset
|
|
movs r5, 0
|
|
ldr r3, _080B1070 @ =gUnknown_02038696
|
|
movs r6, 0
|
|
_080B1060:
|
|
ldr r0, _080B1074 @ =0x02019260
|
|
adds r0, r6, r0
|
|
ldrb r0, [r0, 0xB]
|
|
lsls r0, 30
|
|
lsrs r2, r0, 30
|
|
mov r7, sp
|
|
adds r1, r7, r2
|
|
b _080B1082
|
|
.align 2, 0
|
|
_080B1070: .4byte gUnknown_02038696
|
|
_080B1074: .4byte 0x02019260
|
|
_080B1078:
|
|
adds r0, r2, 0x1
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
mov r0, sp
|
|
adds r1, r0, r2
|
|
_080B1082:
|
|
ldrb r0, [r1]
|
|
cmp r0, 0xFF
|
|
bne _080B1078
|
|
strb r5, [r1]
|
|
strb r2, [r3]
|
|
adds r3, 0x1
|
|
adds r6, 0x1C
|
|
adds r5, 0x1
|
|
cmp r5, 0x3
|
|
ble _080B1060
|
|
movs r5, 0
|
|
_080B1098:
|
|
movs r4, 0x3
|
|
adds r1, r5, 0x1
|
|
mov r10, r1
|
|
cmp r4, r5
|
|
ble _080B10F6
|
|
mov r9, r4
|
|
ldr r2, _080B110C @ =gUnknown_02038696
|
|
mov r8, r2
|
|
add r3, sp, 0x4
|
|
mov r12, r3
|
|
_080B10AC:
|
|
lsls r0, r4, 3
|
|
subs r0, r4
|
|
lsls r0, 2
|
|
ldr r6, _080B1110 @ =0x02019244
|
|
adds r1, r0, r6
|
|
ldrb r2, [r1, 0xB]
|
|
ldr r7, _080B1114 @ =0x02019260
|
|
adds r0, r7
|
|
ldrb r3, [r0, 0xB]
|
|
mov r1, r9
|
|
ands r1, r2
|
|
mov r0, r9
|
|
ands r0, r3
|
|
subs r3, r4, 0x1
|
|
cmp r1, r0
|
|
bne _080B10F0
|
|
mov r0, r8
|
|
adds r7, r3, r0
|
|
adds r2, r4, r0
|
|
ldrb r6, [r7]
|
|
ldrb r1, [r2]
|
|
cmp r6, r1
|
|
bcs _080B10F0
|
|
lsls r0, r3, 1
|
|
add r0, r12
|
|
lsls r1, r4, 1
|
|
add r1, r12
|
|
ldrh r0, [r0]
|
|
ldrh r1, [r1]
|
|
cmp r0, r1
|
|
bcs _080B10F0
|
|
ldrb r0, [r2]
|
|
strb r6, [r2]
|
|
strb r0, [r7]
|
|
_080B10F0:
|
|
adds r4, r3, 0
|
|
cmp r4, r5
|
|
bgt _080B10AC
|
|
_080B10F6:
|
|
mov r5, r10
|
|
cmp r5, 0x2
|
|
ble _080B1098
|
|
_080B10FC:
|
|
add sp, 0x14
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080B110C: .4byte gUnknown_02038696
|
|
_080B1110: .4byte 0x02019244
|
|
_080B1114: .4byte 0x02019260
|
|
thumb_func_end sub_80B0F28
|
|
|
|
thumb_func_start sub_80B1118
|
|
sub_80B1118: @ 80B1118
|
|
push {r4,r5,lr}
|
|
movs r4, 0
|
|
movs r5, 0xA0
|
|
_080B111E:
|
|
ldr r0, _080B1144 @ =0x02018004
|
|
adds r0, r5, r0
|
|
ldr r1, _080B1148 @ =gUnknown_02038696
|
|
adds r1, r4, r1
|
|
ldrb r1, [r1]
|
|
adds r1, 0x5
|
|
lsls r1, 4
|
|
movs r2, 0x20
|
|
bl LoadPalette
|
|
adds r5, 0x20
|
|
adds r4, 0x1
|
|
cmp r4, 0x3
|
|
ble _080B111E
|
|
bl sub_80AE514
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080B1144: .4byte 0x02018004
|
|
_080B1148: .4byte gUnknown_02038696
|
|
thumb_func_end sub_80B1118
|
|
|
|
thumb_func_start sub_80B114C
|
|
sub_80B114C: @ 80B114C
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
lsls r7, r6, 3
|
|
subs r0, r7, r6
|
|
lsls r0, 2
|
|
ldr r4, _080B11B8 @ =0x02019260
|
|
adds r5, r0, r4
|
|
movs r0, 0
|
|
strh r0, [r5, 0x2]
|
|
strh r0, [r5]
|
|
adds r0, r6, 0
|
|
bl sub_80AF404
|
|
lsls r0, 24
|
|
mov r8, r4
|
|
cmp r0, 0
|
|
bne _080B1176
|
|
b _080B13DC
|
|
_080B1176:
|
|
ldrh r0, [r5, 0x6]
|
|
ldr r1, _080B11BC @ =gContestMoves
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldrb r1, [r0]
|
|
mov r12, r1
|
|
ldrb r0, [r0, 0x1]
|
|
lsls r0, 29
|
|
lsrs r0, 29
|
|
strb r0, [r5, 0xA]
|
|
ldrh r0, [r5, 0x6]
|
|
ldrh r1, [r5, 0x8]
|
|
cmp r0, r1
|
|
bne _080B11C0
|
|
cmp r0, 0
|
|
beq _080B11C0
|
|
ldrb r0, [r5, 0x15]
|
|
movs r1, 0x1
|
|
orrs r0, r1
|
|
strb r0, [r5, 0x15]
|
|
ldrb r2, [r5, 0xB]
|
|
lsls r1, r2, 25
|
|
lsrs r1, 29
|
|
adds r1, 0x1
|
|
movs r0, 0x7
|
|
ands r1, r0
|
|
lsls r1, 4
|
|
movs r0, 0x71
|
|
negs r0, r0
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
strb r0, [r5, 0xB]
|
|
b _080B11D8
|
|
.align 2, 0
|
|
_080B11B8: .4byte 0x02019260
|
|
_080B11BC: .4byte gContestMoves
|
|
_080B11C0:
|
|
lsls r4, r6, 3
|
|
subs r1, r4, r6
|
|
lsls r1, 2
|
|
ldr r3, _080B1264 @ =0x02019260
|
|
adds r1, r3
|
|
ldrb r2, [r1, 0xB]
|
|
movs r0, 0x71
|
|
negs r0, r0
|
|
ands r0, r2
|
|
strb r0, [r1, 0xB]
|
|
adds r7, r4, 0
|
|
mov r8, r3
|
|
_080B11D8:
|
|
subs r0, r7, r6
|
|
lsls r0, 2
|
|
add r0, r8
|
|
ldr r2, _080B1268 @ =gContestEffects
|
|
mov r1, r12
|
|
lsls r3, r1, 2
|
|
adds r2, r3, r2
|
|
ldrb r1, [r2, 0x1]
|
|
strh r1, [r0]
|
|
strh r1, [r0, 0x2]
|
|
mov r0, r8
|
|
adds r0, 0x70
|
|
ldrb r1, [r2, 0x2]
|
|
strh r1, [r0, 0x4]
|
|
strh r1, [r0, 0x6]
|
|
strb r6, [r0, 0x11]
|
|
movs r2, 0
|
|
adds r4, r3, 0
|
|
movs r1, 0
|
|
mov r5, r8
|
|
adds r5, 0x7D
|
|
mov r3, r8
|
|
_080B1204:
|
|
strb r1, [r3, 0xE]
|
|
adds r0, r5, r2
|
|
strb r1, [r0]
|
|
adds r3, 0x1C
|
|
adds r2, 0x1
|
|
cmp r2, 0x3
|
|
ble _080B1204
|
|
subs r0, r7, r6
|
|
lsls r0, 2
|
|
ldr r1, _080B1264 @ =0x02019260
|
|
adds r5, r0, r1
|
|
ldrb r1, [r5, 0x15]
|
|
movs r0, 0x10
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080B123C
|
|
ldrh r0, [r5, 0x8]
|
|
ldrh r1, [r5, 0x6]
|
|
bl AreMovesContestCombo
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080B123C
|
|
ldrb r1, [r5, 0x15]
|
|
movs r0, 0x11
|
|
negs r0, r0
|
|
ands r0, r1
|
|
strb r0, [r5, 0x15]
|
|
_080B123C:
|
|
ldr r0, _080B126C @ =gContestEffectFuncs
|
|
adds r0, r4, r0
|
|
ldr r0, [r0]
|
|
bl _call_via_r0
|
|
subs r0, r7, r6
|
|
lsls r0, 2
|
|
ldr r1, _080B1264 @ =0x02019260
|
|
adds r2, r0, r1
|
|
ldrb r1, [r2, 0x10]
|
|
movs r0, 0x30
|
|
ands r0, r1
|
|
cmp r0, 0x10
|
|
bne _080B1270
|
|
ldrh r1, [r2, 0x2]
|
|
subs r1, 0xA
|
|
movs r0, 0xD
|
|
ldrsb r0, [r2, r0]
|
|
b _080B128A
|
|
.align 2, 0
|
|
_080B1264: .4byte 0x02019260
|
|
_080B1268: .4byte gContestEffects
|
|
_080B126C: .4byte gContestEffectFuncs
|
|
_080B1270:
|
|
ldrb r1, [r2, 0x11]
|
|
movs r0, 0x20
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080B1284
|
|
movs r1, 0xD
|
|
ldrsb r1, [r2, r1]
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
b _080B1288
|
|
_080B1284:
|
|
movs r0, 0xD
|
|
ldrsb r0, [r2, r0]
|
|
_080B1288:
|
|
ldrh r1, [r2, 0x2]
|
|
_080B128A:
|
|
adds r0, r1
|
|
strh r0, [r2, 0x2]
|
|
subs r0, r7, r6
|
|
lsls r0, 2
|
|
ldr r1, _080B12E8 @ =0x02019260
|
|
adds r4, r0, r1
|
|
movs r0, 0
|
|
strb r0, [r4, 0x16]
|
|
ldrb r1, [r4, 0x15]
|
|
subs r0, 0x41
|
|
ands r0, r1
|
|
strb r0, [r4, 0x15]
|
|
adds r0, r6, 0
|
|
bl sub_80B214C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080B1322
|
|
ldrh r0, [r4, 0x8]
|
|
ldrh r1, [r4, 0x6]
|
|
bl AreMovesContestCombo
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
cmp r2, 0
|
|
beq _080B12EC
|
|
ldrb r1, [r4, 0x15]
|
|
movs r0, 0x10
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080B12EC
|
|
strb r2, [r4, 0x16]
|
|
movs r0, 0x40
|
|
orrs r1, r0
|
|
movs r0, 0x11
|
|
negs r0, r0
|
|
ands r1, r0
|
|
movs r0, 0
|
|
ldrsh r2, [r4, r0]
|
|
ldrb r0, [r4, 0x16]
|
|
muls r0, r2
|
|
strb r0, [r4, 0x17]
|
|
movs r0, 0x8
|
|
orrs r1, r0
|
|
strb r1, [r4, 0x15]
|
|
b _080B1322
|
|
.align 2, 0
|
|
_080B12E8: .4byte 0x02019260
|
|
_080B12EC:
|
|
ldr r2, _080B1310 @ =gContestMoves
|
|
subs r0, r7, r6
|
|
lsls r0, 2
|
|
ldr r1, _080B1314 @ =0x02019260
|
|
adds r3, r0, r1
|
|
ldrh r0, [r3, 0x6]
|
|
lsls r0, 3
|
|
adds r0, r2
|
|
ldrb r0, [r0, 0x2]
|
|
cmp r0, 0
|
|
beq _080B1318
|
|
ldrb r0, [r3, 0x15]
|
|
movs r1, 0x10
|
|
orrs r0, r1
|
|
movs r1, 0x40
|
|
orrs r0, r1
|
|
b _080B1320
|
|
.align 2, 0
|
|
_080B1310: .4byte gContestMoves
|
|
_080B1314: .4byte 0x02019260
|
|
_080B1318:
|
|
ldrb r1, [r3, 0x15]
|
|
movs r0, 0x11
|
|
negs r0, r0
|
|
ands r0, r1
|
|
_080B1320:
|
|
strb r0, [r3, 0x15]
|
|
_080B1322:
|
|
subs r0, r7, r6
|
|
lsls r0, 2
|
|
ldr r1, _080B139C @ =0x02019260
|
|
mov r8, r1
|
|
adds r4, r0, r1
|
|
ldrb r1, [r4, 0x15]
|
|
movs r5, 0x1
|
|
adds r0, r5, 0
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080B1348
|
|
ldrb r0, [r4, 0xB]
|
|
lsls r0, 25
|
|
lsrs r0, 29
|
|
adds r0, 0x1
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r1, 1
|
|
strb r1, [r4, 0x18]
|
|
_080B1348:
|
|
ldrb r1, [r4, 0xC]
|
|
adds r0, r5, 0
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080B1362
|
|
ldrb r0, [r4, 0x15]
|
|
movs r1, 0x11
|
|
negs r1, r1
|
|
ands r1, r0
|
|
strb r1, [r4, 0x15]
|
|
movs r0, 0
|
|
strh r0, [r4, 0x2]
|
|
strh r0, [r4]
|
|
_080B1362:
|
|
ldrh r0, [r4, 0x6]
|
|
bl contest_get_move_excitement
|
|
mov r2, r8
|
|
adds r2, 0xC8
|
|
strb r0, [r2]
|
|
ldrb r1, [r4, 0x11]
|
|
movs r0, 0x10
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080B137A
|
|
strb r5, [r2]
|
|
_080B137A:
|
|
movs r0, 0
|
|
ldrsb r0, [r2, r0]
|
|
cmp r0, 0
|
|
ble _080B13A4
|
|
mov r0, r8
|
|
subs r0, 0x5C
|
|
ldrb r0, [r0, 0x13]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
movs r1, 0
|
|
ldrsb r1, [r2, r1]
|
|
adds r0, r1
|
|
cmp r0, 0x4
|
|
ble _080B13A0
|
|
movs r0, 0x3C
|
|
b _080B13A6
|
|
.align 2, 0
|
|
_080B139C: .4byte 0x02019260
|
|
_080B13A0:
|
|
movs r0, 0xA
|
|
b _080B13A6
|
|
_080B13A4:
|
|
movs r0, 0
|
|
_080B13A6:
|
|
strb r0, [r2, 0x2]
|
|
bl Random
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
movs r1, 0x3
|
|
bl __umodsi3
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
movs r2, 0
|
|
b _080B13CA
|
|
_080B13BE:
|
|
subs r0, 0x1
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
_080B13C4:
|
|
adds r2, 0x1
|
|
cmp r2, 0x3
|
|
bgt _080B13D2
|
|
_080B13CA:
|
|
cmp r2, r6
|
|
beq _080B13C4
|
|
cmp r0, 0
|
|
bne _080B13BE
|
|
_080B13D2:
|
|
subs r0, r7, r6
|
|
lsls r0, 2
|
|
ldr r1, _080B13E8 @ =0x02019260
|
|
adds r0, r1
|
|
strb r2, [r0, 0x1B]
|
|
_080B13DC:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080B13E8: .4byte 0x02019260
|
|
thumb_func_end sub_80B114C
|
|
|
|
thumb_func_start sub_80B13EC
|
|
sub_80B13EC: @ 80B13EC
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r2, r0, 3
|
|
subs r2, r0
|
|
lsls r2, 2
|
|
ldr r0, _080B1400 @ =0x02019260
|
|
adds r2, r0
|
|
strb r1, [r2, 0x13]
|
|
bx lr
|
|
.align 2, 0
|
|
_080B1400: .4byte 0x02019260
|
|
thumb_func_end sub_80B13EC
|
|
|
|
thumb_func_start sub_80B1404
|
|
sub_80B1404: @ 80B1404
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r2, r0, 3
|
|
subs r2, r0
|
|
lsls r2, 2
|
|
ldr r0, _080B1418 @ =0x02019260
|
|
adds r2, r0
|
|
strb r1, [r2, 0x14]
|
|
bx lr
|
|
.align 2, 0
|
|
_080B1418: .4byte 0x02019260
|
|
thumb_func_end sub_80B1404
|
|
|
|
thumb_func_start sub_80B141C
|
|
sub_80B141C: @ 80B141C
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
adds r3, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
adds r2, r1, 0
|
|
cmp r1, 0x3B
|
|
bls _080B1436
|
|
movs r1, 0x35
|
|
bl sub_80B13EC
|
|
b _080B1466
|
|
_080B1436:
|
|
cmp r1, 0x27
|
|
bls _080B1442
|
|
movs r1, 0x34
|
|
bl sub_80B13EC
|
|
b _080B1466
|
|
_080B1442:
|
|
cmp r1, 0x1D
|
|
bls _080B144E
|
|
movs r1, 0x33
|
|
bl sub_80B13EC
|
|
b _080B1466
|
|
_080B144E:
|
|
cmp r1, 0x13
|
|
bls _080B145A
|
|
movs r1, 0x32
|
|
bl sub_80B13EC
|
|
b _080B1466
|
|
_080B145A:
|
|
cmp r2, 0x9
|
|
bls _080B1466
|
|
adds r0, r3, 0
|
|
movs r1, 0x31
|
|
bl sub_80B13EC
|
|
_080B1466:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80B141C
|
|
|
|
thumb_func_start sub_80B146C
|
|
sub_80B146C: @ 80B146C
|
|
push {r4,r5,lr}
|
|
sub sp, 0x4
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
lsls r1, 24
|
|
lsrs r5, r1, 24
|
|
ldr r0, _080B14C8 @ =gStringVar1
|
|
lsls r1, r4, 6
|
|
ldr r2, _080B14CC @ =gUnknown_02038572
|
|
adds r1, r2
|
|
bl StringCopy
|
|
ldr r0, _080B14D0 @ =gStringVar2
|
|
lsls r1, r4, 3
|
|
subs r1, r4
|
|
lsls r1, 2
|
|
ldr r4, _080B14D4 @ =0x02019260
|
|
adds r1, r4
|
|
ldrh r2, [r1, 0x6]
|
|
movs r1, 0xD
|
|
muls r1, r2
|
|
ldr r2, _080B14D8 @ =gMoveNames
|
|
adds r1, r2
|
|
bl StringCopy
|
|
ldr r2, _080B14DC @ =gContestMoves
|
|
adds r0, r4, 0
|
|
adds r0, 0x70
|
|
ldrb r1, [r0, 0x11]
|
|
lsls r0, r1, 3
|
|
subs r0, r1
|
|
lsls r0, 2
|
|
adds r0, r4
|
|
ldrh r0, [r0, 0x6]
|
|
lsls r0, 3
|
|
adds r0, r2
|
|
ldrb r0, [r0, 0x1]
|
|
lsls r1, r0, 29
|
|
cmp r1, 0
|
|
bne _080B14E8
|
|
ldr r0, _080B14E0 @ =gStringVar3
|
|
ldr r1, _080B14E4 @ =gUnknown_083CC280
|
|
bl StringCopy
|
|
b _080B1538
|
|
.align 2, 0
|
|
_080B14C8: .4byte gStringVar1
|
|
_080B14CC: .4byte gUnknown_02038572
|
|
_080B14D0: .4byte gStringVar2
|
|
_080B14D4: .4byte 0x02019260
|
|
_080B14D8: .4byte gMoveNames
|
|
_080B14DC: .4byte gContestMoves
|
|
_080B14E0: .4byte gStringVar3
|
|
_080B14E4: .4byte gUnknown_083CC280
|
|
_080B14E8:
|
|
lsrs r0, r1, 29
|
|
cmp r0, 0x1
|
|
bne _080B1500
|
|
ldr r0, _080B14F8 @ =gStringVar3
|
|
ldr r1, _080B14FC @ =gUnknown_083CC288
|
|
bl StringCopy
|
|
b _080B1538
|
|
.align 2, 0
|
|
_080B14F8: .4byte gStringVar3
|
|
_080B14FC: .4byte gUnknown_083CC288
|
|
_080B1500:
|
|
lsrs r0, r1, 29
|
|
cmp r0, 0x2
|
|
bne _080B1518
|
|
ldr r0, _080B1510 @ =gStringVar3
|
|
ldr r1, _080B1514 @ =gUnknown_083CC290
|
|
bl StringCopy
|
|
b _080B1538
|
|
.align 2, 0
|
|
_080B1510: .4byte gStringVar3
|
|
_080B1514: .4byte gUnknown_083CC290
|
|
_080B1518:
|
|
lsrs r0, r1, 29
|
|
cmp r0, 0x3
|
|
bne _080B1530
|
|
ldr r0, _080B1528 @ =gStringVar3
|
|
ldr r1, _080B152C @ =gUnknown_083CC299
|
|
bl StringCopy
|
|
b _080B1538
|
|
.align 2, 0
|
|
_080B1528: .4byte gStringVar3
|
|
_080B152C: .4byte gUnknown_083CC299
|
|
_080B1530:
|
|
ldr r0, _080B1568 @ =gStringVar3
|
|
ldr r1, _080B156C @ =gUnknown_083CC2A3
|
|
bl StringCopy
|
|
_080B1538:
|
|
ldr r4, _080B1570 @ =gStringVar4
|
|
ldr r1, _080B1574 @ =gUnknown_083CC188
|
|
lsls r0, r5, 2
|
|
adds r0, r1
|
|
ldr r1, [r0]
|
|
adds r0, r4, 0
|
|
bl StringExpandPlaceholders
|
|
bl sub_80AF138
|
|
ldr r0, _080B1578 @ =gMenuWindow
|
|
movs r2, 0xC2
|
|
lsls r2, 2
|
|
movs r1, 0xF
|
|
str r1, [sp]
|
|
adds r1, r4, 0
|
|
movs r3, 0x1
|
|
bl sub_8002EB0
|
|
add sp, 0x4
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080B1568: .4byte gStringVar3
|
|
_080B156C: .4byte gUnknown_083CC2A3
|
|
_080B1570: .4byte gStringVar4
|
|
_080B1574: .4byte gUnknown_083CC188
|
|
_080B1578: .4byte gMenuWindow
|
|
thumb_func_end sub_80B146C
|
|
|
|
thumb_func_start sub_80B157C
|
|
sub_80B157C: @ 80B157C
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r1, r0, 3
|
|
subs r1, r0
|
|
lsls r1, 2
|
|
ldr r0, _080B1598 @ =0x02019260
|
|
adds r1, r0
|
|
ldrb r0, [r1, 0xC]
|
|
movs r2, 0x1
|
|
orrs r0, r2
|
|
strb r0, [r1, 0xC]
|
|
movs r0, 0
|
|
strh r0, [r1, 0x6]
|
|
bx lr
|
|
.align 2, 0
|
|
_080B1598: .4byte 0x02019260
|
|
thumb_func_end sub_80B157C
|
|
|
|
thumb_func_start sub_80B159C
|
|
sub_80B159C: @ 80B159C
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
sub sp, 0x8
|
|
movs r0, 0
|
|
mov r12, r0
|
|
movs r4, 0
|
|
ldr r1, _080B1600 @ =gUnknown_02038696
|
|
mov r9, r1
|
|
add r2, sp, 0x4
|
|
mov r6, r9
|
|
movs r5, 0
|
|
adds r3, r2, 0
|
|
_080B15B8:
|
|
mov r0, sp
|
|
adds r1, r0, r4
|
|
adds r0, r4, r6
|
|
ldrb r0, [r0]
|
|
strb r0, [r1]
|
|
adds r0, r3, r4
|
|
strb r5, [r0]
|
|
adds r4, 0x1
|
|
cmp r4, 0x3
|
|
ble _080B15B8
|
|
movs r4, 0
|
|
ldr r7, _080B1604 @ =0x02019260
|
|
adds r5, r2, 0
|
|
movs r1, 0x1
|
|
mov r8, r1
|
|
_080B15D6:
|
|
movs r2, 0
|
|
adds r1, r7, 0
|
|
_080B15DA:
|
|
ldrb r0, [r1, 0x19]
|
|
cmp r0, r4
|
|
beq _080B1608
|
|
adds r1, 0x1C
|
|
adds r2, 0x1
|
|
cmp r2, 0x3
|
|
ble _080B15DA
|
|
_080B15E8:
|
|
cmp r2, 0x4
|
|
bne _080B1680
|
|
movs r2, 0
|
|
ldrb r0, [r5]
|
|
cmp r0, 0
|
|
bne _080B1616
|
|
ldrb r0, [r7, 0x19]
|
|
cmp r0, 0xFF
|
|
bne _080B1616
|
|
mov r12, r2
|
|
movs r2, 0x1
|
|
b _080B163A
|
|
.align 2, 0
|
|
_080B1600: .4byte gUnknown_02038696
|
|
_080B1604: .4byte 0x02019260
|
|
_080B1608:
|
|
mov r1, sp
|
|
adds r0, r1, r2
|
|
strb r4, [r0]
|
|
adds r0, r5, r2
|
|
mov r1, r8
|
|
strb r1, [r0]
|
|
b _080B15E8
|
|
_080B1616:
|
|
adds r2, 0x1
|
|
cmp r2, 0x3
|
|
bgt _080B1672
|
|
adds r0, r5, r2
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
bne _080B1616
|
|
lsls r0, r2, 3
|
|
subs r0, r2
|
|
lsls r0, 2
|
|
adds r0, r7
|
|
ldrb r0, [r0, 0x19]
|
|
cmp r0, 0xFF
|
|
bne _080B1616
|
|
lsls r0, r2, 24
|
|
lsrs r0, 24
|
|
mov r12, r0
|
|
adds r2, 0x1
|
|
_080B163A:
|
|
cmp r2, 0x3
|
|
bgt _080B1672
|
|
ldr r6, _080B16C8 @ =gUnknown_02038696
|
|
lsls r0, r2, 3
|
|
subs r0, r2
|
|
lsls r3, r0, 2
|
|
_080B1646:
|
|
adds r0, r5, r2
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
bne _080B166A
|
|
adds r0, r3, r7
|
|
ldrb r0, [r0, 0x19]
|
|
cmp r0, 0xFF
|
|
bne _080B166A
|
|
mov r1, r12
|
|
adds r0, r1, r6
|
|
adds r1, r2, r6
|
|
ldrb r0, [r0]
|
|
ldrb r1, [r1]
|
|
cmp r0, r1
|
|
bls _080B166A
|
|
lsls r0, r2, 24
|
|
lsrs r0, 24
|
|
mov r12, r0
|
|
_080B166A:
|
|
adds r3, 0x1C
|
|
adds r2, 0x1
|
|
cmp r2, 0x3
|
|
ble _080B1646
|
|
_080B1672:
|
|
mov r0, sp
|
|
add r0, r12
|
|
strb r4, [r0]
|
|
mov r1, r12
|
|
adds r0, r5, r1
|
|
mov r1, r8
|
|
strb r1, [r0]
|
|
_080B1680:
|
|
adds r4, 0x1
|
|
cmp r4, 0x3
|
|
ble _080B15D6
|
|
movs r4, 0
|
|
ldr r5, _080B16CC @ =0x020192d0
|
|
adds r3, r5, 0
|
|
subs r3, 0x60
|
|
movs r6, 0xFF
|
|
movs r7, 0x3F
|
|
_080B1692:
|
|
adds r1, r4, r5
|
|
mov r0, sp
|
|
adds r2, r0, r4
|
|
ldrb r0, [r2]
|
|
strb r0, [r1]
|
|
ldrb r0, [r3, 0x9]
|
|
orrs r0, r6
|
|
strb r0, [r3, 0x9]
|
|
ldrb r1, [r3]
|
|
adds r0, r7, 0
|
|
ands r0, r1
|
|
strb r0, [r3]
|
|
mov r0, r9
|
|
adds r1, r4, r0
|
|
ldrb r0, [r2]
|
|
strb r0, [r1]
|
|
adds r3, 0x1C
|
|
adds r4, 0x1
|
|
cmp r4, 0x3
|
|
ble _080B1692
|
|
add sp, 0x8
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080B16C8: .4byte gUnknown_02038696
|
|
_080B16CC: .4byte 0x020192d0
|
|
thumb_func_end sub_80B159C
|
|
|
|
thumb_func_start sub_80B16D0
|
|
sub_80B16D0: @ 80B16D0
|
|
push {lr}
|
|
adds r2, r0, 0
|
|
ldrh r0, [r2, 0x30]
|
|
adds r1, r0, 0x1
|
|
strh r1, [r2, 0x30]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r0, 0x54
|
|
ble _080B1702
|
|
movs r0, 0
|
|
strh r0, [r2, 0x30]
|
|
adds r3, r2, 0
|
|
adds r3, 0x3E
|
|
ldrb r0, [r3]
|
|
movs r1, 0x4
|
|
orrs r0, r1
|
|
strb r0, [r3]
|
|
ldr r0, _080B1708 @ =SpriteCallbackDummy
|
|
str r0, [r2, 0x1C]
|
|
ldr r2, _080B170C @ =0x02019204
|
|
ldrb r1, [r2, 0x6]
|
|
movs r0, 0x11
|
|
negs r0, r0
|
|
ands r0, r1
|
|
strb r0, [r2, 0x6]
|
|
_080B1702:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080B1708: .4byte SpriteCallbackDummy
|
|
_080B170C: .4byte 0x02019204
|
|
thumb_func_end sub_80B16D0
|
|
|
|
thumb_func_start sub_80B1710
|
|
sub_80B1710: @ 80B1710
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r1, r0, 24
|
|
ldr r0, _080B172C @ =0x02019204
|
|
ldrb r5, [r0, 0x12]
|
|
cmp r1, 0x8
|
|
bls _080B1720
|
|
b _080B18C0
|
|
_080B1720:
|
|
lsls r0, r1, 2
|
|
ldr r1, _080B1730 @ =_080B1734
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080B172C: .4byte 0x02019204
|
|
_080B1730: .4byte _080B1734
|
|
.align 2, 0
|
|
_080B1734:
|
|
.4byte _080B1758
|
|
.4byte _080B1758
|
|
.4byte _080B1788
|
|
.4byte _080B17BC
|
|
.4byte _080B17F0
|
|
.4byte _080B1824
|
|
.4byte _080B1858
|
|
.4byte _080B18C0
|
|
.4byte _080B188C
|
|
_080B1758:
|
|
ldr r0, _080B177C @ =gSprites
|
|
lsls r4, r5, 4
|
|
adds r1, r4, r5
|
|
lsls r1, 2
|
|
adds r1, r0
|
|
ldrh r0, [r1, 0x2E]
|
|
ldr r2, _080B1780 @ =0x000003ff
|
|
ands r2, r0
|
|
ldrh r3, [r1, 0x4]
|
|
ldr r0, _080B1784 @ =0xfffffc00
|
|
ands r0, r3
|
|
orrs r0, r2
|
|
strh r0, [r1, 0x4]
|
|
movs r0, 0x20
|
|
bl PlaySE
|
|
b _080B18E4
|
|
.align 2, 0
|
|
_080B177C: .4byte gSprites
|
|
_080B1780: .4byte 0x000003ff
|
|
_080B1784: .4byte 0xfffffc00
|
|
_080B1788:
|
|
ldr r0, _080B17B0 @ =gSprites
|
|
lsls r4, r5, 4
|
|
adds r1, r4, r5
|
|
lsls r1, 2
|
|
adds r1, r0
|
|
ldrh r2, [r1, 0x2E]
|
|
adds r2, 0x4
|
|
ldr r3, _080B17B4 @ =0x000003ff
|
|
adds r0, r3, 0
|
|
ands r2, r0
|
|
ldrh r3, [r1, 0x4]
|
|
ldr r0, _080B17B8 @ =0xfffffc00
|
|
ands r0, r3
|
|
orrs r0, r2
|
|
strh r0, [r1, 0x4]
|
|
movs r0, 0x1F
|
|
bl PlaySE
|
|
b _080B18E4
|
|
.align 2, 0
|
|
_080B17B0: .4byte gSprites
|
|
_080B17B4: .4byte 0x000003ff
|
|
_080B17B8: .4byte 0xfffffc00
|
|
_080B17BC:
|
|
ldr r0, _080B17E4 @ =gSprites
|
|
lsls r4, r5, 4
|
|
adds r1, r4, r5
|
|
lsls r1, 2
|
|
adds r1, r0
|
|
ldrh r2, [r1, 0x2E]
|
|
adds r2, 0x8
|
|
ldr r3, _080B17E8 @ =0x000003ff
|
|
adds r0, r3, 0
|
|
ands r2, r0
|
|
ldrh r3, [r1, 0x4]
|
|
ldr r0, _080B17EC @ =0xfffffc00
|
|
ands r0, r3
|
|
orrs r0, r2
|
|
strh r0, [r1, 0x4]
|
|
movs r0, 0x1F
|
|
bl PlaySE
|
|
b _080B18E4
|
|
.align 2, 0
|
|
_080B17E4: .4byte gSprites
|
|
_080B17E8: .4byte 0x000003ff
|
|
_080B17EC: .4byte 0xfffffc00
|
|
_080B17F0:
|
|
ldr r0, _080B1818 @ =gSprites
|
|
lsls r4, r5, 4
|
|
adds r1, r4, r5
|
|
lsls r1, 2
|
|
adds r1, r0
|
|
ldrh r2, [r1, 0x2E]
|
|
adds r2, 0xC
|
|
ldr r3, _080B181C @ =0x000003ff
|
|
adds r0, r3, 0
|
|
ands r2, r0
|
|
ldrh r3, [r1, 0x4]
|
|
ldr r0, _080B1820 @ =0xfffffc00
|
|
ands r0, r3
|
|
orrs r0, r2
|
|
strh r0, [r1, 0x4]
|
|
movs r0, 0x2D
|
|
bl PlaySE
|
|
b _080B18E4
|
|
.align 2, 0
|
|
_080B1818: .4byte gSprites
|
|
_080B181C: .4byte 0x000003ff
|
|
_080B1820: .4byte 0xfffffc00
|
|
_080B1824:
|
|
ldr r0, _080B184C @ =gSprites
|
|
lsls r4, r5, 4
|
|
adds r1, r4, r5
|
|
lsls r1, 2
|
|
adds r1, r0
|
|
ldrh r2, [r1, 0x2E]
|
|
adds r2, 0xC
|
|
ldr r3, _080B1850 @ =0x000003ff
|
|
adds r0, r3, 0
|
|
ands r2, r0
|
|
ldrh r3, [r1, 0x4]
|
|
ldr r0, _080B1854 @ =0xfffffc00
|
|
ands r0, r3
|
|
orrs r0, r2
|
|
strh r0, [r1, 0x4]
|
|
movs r0, 0x2D
|
|
bl PlaySE
|
|
b _080B18E4
|
|
.align 2, 0
|
|
_080B184C: .4byte gSprites
|
|
_080B1850: .4byte 0x000003ff
|
|
_080B1854: .4byte 0xfffffc00
|
|
_080B1858:
|
|
ldr r0, _080B1880 @ =gSprites
|
|
lsls r4, r5, 4
|
|
adds r1, r4, r5
|
|
lsls r1, 2
|
|
adds r1, r0
|
|
ldrh r2, [r1, 0x2E]
|
|
adds r2, 0x10
|
|
ldr r3, _080B1884 @ =0x000003ff
|
|
adds r0, r3, 0
|
|
ands r2, r0
|
|
ldrh r3, [r1, 0x4]
|
|
ldr r0, _080B1888 @ =0xfffffc00
|
|
ands r0, r3
|
|
orrs r0, r2
|
|
strh r0, [r1, 0x4]
|
|
movs r0, 0x2D
|
|
bl PlaySE
|
|
b _080B18E4
|
|
.align 2, 0
|
|
_080B1880: .4byte gSprites
|
|
_080B1884: .4byte 0x000003ff
|
|
_080B1888: .4byte 0xfffffc00
|
|
_080B188C:
|
|
ldr r0, _080B18B4 @ =gSprites
|
|
lsls r4, r5, 4
|
|
adds r1, r4, r5
|
|
lsls r1, 2
|
|
adds r1, r0
|
|
ldrh r2, [r1, 0x2E]
|
|
adds r2, 0x18
|
|
ldr r3, _080B18B8 @ =0x000003ff
|
|
adds r0, r3, 0
|
|
ands r2, r0
|
|
ldrh r3, [r1, 0x4]
|
|
ldr r0, _080B18BC @ =0xfffffc00
|
|
ands r0, r3
|
|
orrs r0, r2
|
|
strh r0, [r1, 0x4]
|
|
movs r0, 0xC3
|
|
bl PlaySE
|
|
b _080B18E4
|
|
.align 2, 0
|
|
_080B18B4: .4byte gSprites
|
|
_080B18B8: .4byte 0x000003ff
|
|
_080B18BC: .4byte 0xfffffc00
|
|
_080B18C0:
|
|
ldr r0, _080B1914 @ =gSprites
|
|
lsls r4, r5, 4
|
|
adds r1, r4, r5
|
|
lsls r1, 2
|
|
adds r1, r0
|
|
ldrh r2, [r1, 0x2E]
|
|
adds r2, 0x14
|
|
ldr r3, _080B1918 @ =0x000003ff
|
|
adds r0, r3, 0
|
|
ands r2, r0
|
|
ldrh r3, [r1, 0x4]
|
|
ldr r0, _080B191C @ =0xfffffc00
|
|
ands r0, r3
|
|
orrs r0, r2
|
|
strh r0, [r1, 0x4]
|
|
movs r0, 0x2D
|
|
bl PlaySE
|
|
_080B18E4:
|
|
adds r2, r4, 0
|
|
ldr r4, _080B1914 @ =gSprites
|
|
adds r2, r5
|
|
lsls r2, 2
|
|
adds r1, r2, r4
|
|
movs r0, 0
|
|
strh r0, [r1, 0x30]
|
|
adds r1, 0x3E
|
|
ldrb r3, [r1]
|
|
subs r0, 0x5
|
|
ands r0, r3
|
|
strb r0, [r1]
|
|
adds r4, 0x1C
|
|
adds r2, r4
|
|
ldr r0, _080B1920 @ =sub_80B16D0
|
|
str r0, [r2]
|
|
ldr r2, _080B1924 @ =0x02019204
|
|
ldrb r0, [r2, 0x6]
|
|
movs r1, 0x10
|
|
orrs r0, r1
|
|
strb r0, [r2, 0x6]
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080B1914: .4byte gSprites
|
|
_080B1918: .4byte 0x000003ff
|
|
_080B191C: .4byte 0xfffffc00
|
|
_080B1920: .4byte sub_80B16D0
|
|
_080B1924: .4byte 0x02019204
|
|
thumb_func_end sub_80B1710
|
|
|
|
thumb_func_start sub_80B1928
|
|
sub_80B1928: @ 80B1928
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
movs r5, 0
|
|
ldr r6, _080B19BC @ =0x02019204
|
|
ldr r0, _080B19C0 @ =gSprites
|
|
mov r10, r0
|
|
movs r1, 0x58
|
|
adds r1, r6
|
|
mov r9, r1
|
|
ldr r0, _080B19C4 @ =0x06010000
|
|
mov r8, r0
|
|
ldr r7, _080B19C8 @ =REG_BG0CNT
|
|
_080B1946:
|
|
movs r0, 0x13
|
|
ldrsb r0, [r6, r0]
|
|
ldr r4, _080B19CC @ =gContestApplauseMeterGfx
|
|
cmp r5, r0
|
|
bge _080B1952
|
|
adds r4, 0x40
|
|
_080B1952:
|
|
mov r0, r9
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
add r0, r10
|
|
ldrh r1, [r0, 0x4]
|
|
lsls r1, 22
|
|
lsrs r1, 22
|
|
adds r0, r5, 0
|
|
adds r0, 0x11
|
|
adds r1, r0
|
|
lsls r1, 5
|
|
add r1, r8
|
|
adds r0, r4, 0
|
|
adds r2, r7, 0
|
|
bl CpuSet
|
|
adds r0, r4, 0
|
|
adds r0, 0x20
|
|
mov r1, r9
|
|
ldrb r2, [r1]
|
|
lsls r1, r2, 4
|
|
adds r1, r2
|
|
lsls r1, 2
|
|
add r1, r10
|
|
ldrh r1, [r1, 0x4]
|
|
lsls r1, 22
|
|
lsrs r1, 22
|
|
adds r2, r5, 0
|
|
adds r2, 0x19
|
|
adds r1, r2
|
|
lsls r1, 5
|
|
add r1, r8
|
|
adds r2, r7, 0
|
|
bl CpuSet
|
|
movs r0, 0x13
|
|
ldrsb r0, [r6, r0]
|
|
cmp r0, 0x4
|
|
ble _080B19A8
|
|
bl sub_80B1A2C
|
|
_080B19A8:
|
|
adds r5, 0x1
|
|
cmp r5, 0x4
|
|
ble _080B1946
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080B19BC: .4byte 0x02019204
|
|
_080B19C0: .4byte gSprites
|
|
_080B19C4: .4byte 0x06010000
|
|
_080B19C8: .4byte REG_BG0CNT
|
|
_080B19CC: .4byte gContestApplauseMeterGfx
|
|
thumb_func_end sub_80B1928
|
|
|
|
thumb_func_start unref_sub_80B19D0
|
|
unref_sub_80B19D0: @ 80B19D0
|
|
push {lr}
|
|
sub sp, 0x18
|
|
ldr r1, _080B19F4 @ =gUnknown_083CC2EC
|
|
add r0, sp, 0x4
|
|
bl StringCopy
|
|
ldr r0, _080B19F8 @ =gUnknown_03004210
|
|
movs r2, 0xAA
|
|
lsls r2, 2
|
|
movs r1, 0
|
|
str r1, [sp]
|
|
add r1, sp, 0x4
|
|
movs r3, 0
|
|
bl sub_8003460
|
|
add sp, 0x18
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080B19F4: .4byte gUnknown_083CC2EC
|
|
_080B19F8: .4byte gUnknown_03004210
|
|
thumb_func_end unref_sub_80B19D0
|
|
|
|
thumb_func_start contest_get_move_excitement
|
|
contest_get_move_excitement: @ 80B19FC
|
|
lsls r0, 16
|
|
ldr r3, _080B1A20 @ =gContestExcitementTable
|
|
ldr r1, _080B1A24 @ =gContestMoves
|
|
lsrs r0, 13
|
|
adds r0, r1
|
|
ldrb r1, [r0, 0x1]
|
|
lsls r1, 29
|
|
lsrs r1, 29
|
|
ldr r0, _080B1A28 @ =gUnknown_0203869C
|
|
ldrh r2, [r0]
|
|
lsls r0, r2, 2
|
|
adds r0, r2
|
|
adds r1, r0
|
|
adds r1, r3
|
|
movs r0, 0
|
|
ldrsb r0, [r1, r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_080B1A20: .4byte gContestExcitementTable
|
|
_080B1A24: .4byte gContestMoves
|
|
_080B1A28: .4byte gUnknown_0203869C
|
|
thumb_func_end contest_get_move_excitement
|
|
|
|
thumb_func_start sub_80B1A2C
|
|
sub_80B1A2C: @ 80B1A2C
|
|
push {r4,r5,lr}
|
|
ldr r0, _080B1A60 @ =c3_08130B10
|
|
movs r1, 0xA
|
|
bl CreateTask
|
|
adds r5, r0, 0
|
|
lsls r5, 24
|
|
lsrs r5, 24
|
|
ldr r0, _080B1A64 @ =gTasks
|
|
lsls r4, r5, 2
|
|
adds r4, r5
|
|
lsls r4, 3
|
|
adds r4, r0
|
|
movs r0, 0x1
|
|
strh r0, [r4, 0xA]
|
|
ldr r0, _080B1A68 @ =0x0000abe2
|
|
bl IndexOfSpritePaletteTag
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
strh r0, [r4, 0xC]
|
|
adds r0, r5, 0
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080B1A60: .4byte c3_08130B10
|
|
_080B1A64: .4byte gTasks
|
|
_080B1A68: .4byte 0x0000abe2
|
|
thumb_func_end sub_80B1A2C
|
|
|
|
thumb_func_start c3_08130B10
|
|
c3_08130B10: @ 80B1A6C
|
|
push {r4-r6,lr}
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
ldr r1, _080B1A9C @ =gTasks
|
|
lsls r0, r5, 2
|
|
adds r0, r5
|
|
lsls r0, 3
|
|
adds r2, r0, r1
|
|
ldrh r0, [r2, 0x8]
|
|
adds r0, 0x1
|
|
strh r0, [r2, 0x8]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r0, 0x1
|
|
bne _080B1B06
|
|
movs r0, 0
|
|
strh r0, [r2, 0x8]
|
|
movs r3, 0xE
|
|
ldrsh r0, [r2, r3]
|
|
cmp r0, 0
|
|
bne _080B1AA0
|
|
ldrh r0, [r2, 0x10]
|
|
adds r0, 0x1
|
|
b _080B1AA4
|
|
.align 2, 0
|
|
_080B1A9C: .4byte gTasks
|
|
_080B1AA0:
|
|
ldrh r0, [r2, 0x10]
|
|
subs r0, 0x1
|
|
_080B1AA4:
|
|
strh r0, [r2, 0x10]
|
|
lsls r0, r5, 2
|
|
adds r0, r5
|
|
lsls r0, 3
|
|
adds r4, r0, r1
|
|
movs r1, 0xC
|
|
ldrsh r0, [r4, r1]
|
|
lsls r0, 4
|
|
movs r3, 0x84
|
|
lsls r3, 1
|
|
adds r6, r3, 0
|
|
adds r0, r6
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
ldrb r2, [r4, 0x10]
|
|
ldr r3, _080B1B0C @ =0x00007fff
|
|
movs r1, 0x1
|
|
bl BlendPalette
|
|
movs r1, 0x10
|
|
ldrsh r0, [r4, r1]
|
|
cmp r0, 0
|
|
beq _080B1AD6
|
|
cmp r0, 0x10
|
|
bne _080B1B06
|
|
_080B1AD6:
|
|
ldrh r0, [r4, 0xE]
|
|
movs r1, 0x1
|
|
eors r0, r1
|
|
strh r0, [r4, 0xE]
|
|
ldr r0, _080B1B10 @ =0x02019204
|
|
ldrb r0, [r0, 0x13]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
cmp r0, 0x4
|
|
bgt _080B1B06
|
|
movs r3, 0xC
|
|
ldrsh r0, [r4, r3]
|
|
lsls r0, 4
|
|
adds r0, r6
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
movs r1, 0x1
|
|
movs r2, 0
|
|
movs r3, 0x1F
|
|
bl BlendPalette
|
|
adds r0, r5, 0
|
|
bl DestroyTask
|
|
_080B1B06:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080B1B0C: .4byte 0x00007fff
|
|
_080B1B10: .4byte 0x02019204
|
|
thumb_func_end c3_08130B10
|
|
|
|
thumb_func_start sub_80B1B14
|
|
sub_80B1B14: @ 80B1B14
|
|
push {r4,lr}
|
|
ldr r0, _080B1B58 @ =sub_80B1B68
|
|
movs r1, 0xA
|
|
bl CreateTask
|
|
ldr r4, _080B1B5C @ =gSprites
|
|
ldr r3, _080B1B60 @ =0x02019204
|
|
adds r2, r3, 0
|
|
adds r2, 0x58
|
|
ldrb r1, [r2]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r4
|
|
ldr r1, _080B1B64 @ =0x0000ffba
|
|
strh r1, [r0, 0x24]
|
|
ldrb r1, [r2]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r4
|
|
adds r0, 0x3E
|
|
ldrb r2, [r0]
|
|
movs r1, 0x5
|
|
negs r1, r1
|
|
ands r1, r2
|
|
strb r1, [r0]
|
|
ldrb r0, [r3, 0x6]
|
|
movs r1, 0x40
|
|
orrs r0, r1
|
|
strb r0, [r3, 0x6]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080B1B58: .4byte sub_80B1B68
|
|
_080B1B5C: .4byte gSprites
|
|
_080B1B60: .4byte 0x02019204
|
|
_080B1B64: .4byte 0x0000ffba
|
|
thumb_func_end sub_80B1B14
|
|
|
|
thumb_func_start sub_80B1B68
|
|
sub_80B1B68: @ 80B1B68
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
adds r3, r0, 0
|
|
ldr r4, _080B1BD0 @ =0x02019204
|
|
adds r0, r4, 0
|
|
adds r0, 0x58
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r1, _080B1BD4 @ =gSprites
|
|
adds r2, r0, r1
|
|
ldr r0, _080B1BD8 @ =gTasks
|
|
lsls r1, r3, 2
|
|
adds r1, r3
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
movs r5, 0xD0
|
|
lsls r5, 3
|
|
adds r0, r5, 0
|
|
ldrh r5, [r1, 0x1C]
|
|
adds r0, r5
|
|
strh r0, [r1, 0x1C]
|
|
lsls r0, 16
|
|
asrs r0, 24
|
|
ldrh r5, [r2, 0x24]
|
|
adds r0, r5
|
|
strh r0, [r2, 0x24]
|
|
ldrb r0, [r1, 0x1C]
|
|
strh r0, [r1, 0x1C]
|
|
movs r1, 0x24
|
|
ldrsh r0, [r2, r1]
|
|
cmp r0, 0
|
|
ble _080B1BB2
|
|
movs r0, 0
|
|
strh r0, [r2, 0x24]
|
|
_080B1BB2:
|
|
movs r5, 0x24
|
|
ldrsh r0, [r2, r5]
|
|
cmp r0, 0
|
|
bne _080B1BCA
|
|
ldrb r1, [r4, 0x6]
|
|
movs r0, 0x41
|
|
negs r0, r0
|
|
ands r0, r1
|
|
strb r0, [r4, 0x6]
|
|
adds r0, r3, 0
|
|
bl DestroyTask
|
|
_080B1BCA:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080B1BD0: .4byte 0x02019204
|
|
_080B1BD4: .4byte gSprites
|
|
_080B1BD8: .4byte gTasks
|
|
thumb_func_end sub_80B1B68
|
|
|
|
thumb_func_start sub_80B1BDC
|
|
sub_80B1BDC: @ 80B1BDC
|
|
push {r4-r6,lr}
|
|
ldr r6, _080B1C04 @ =gSprites
|
|
ldr r4, _080B1C08 @ =0x02019204
|
|
adds r5, r4, 0
|
|
adds r5, 0x58
|
|
ldrb r0, [r5]
|
|
lsls r1, r0, 4
|
|
adds r1, r0
|
|
lsls r1, 2
|
|
adds r1, r6
|
|
adds r1, 0x3E
|
|
ldrb r0, [r1]
|
|
lsls r0, 29
|
|
cmp r0, 0
|
|
bge _080B1C0C
|
|
ldrb r1, [r4, 0x6]
|
|
movs r0, 0x41
|
|
negs r0, r0
|
|
ands r0, r1
|
|
b _080B1C28
|
|
.align 2, 0
|
|
_080B1C04: .4byte gSprites
|
|
_080B1C08: .4byte 0x02019204
|
|
_080B1C0C:
|
|
ldr r0, _080B1C30 @ =sub_80B1C34
|
|
movs r1, 0xA
|
|
bl CreateTask
|
|
ldrb r1, [r5]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r6
|
|
movs r1, 0
|
|
strh r1, [r0, 0x24]
|
|
ldrb r0, [r4, 0x6]
|
|
movs r1, 0x40
|
|
orrs r0, r1
|
|
_080B1C28:
|
|
strb r0, [r4, 0x6]
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080B1C30: .4byte sub_80B1C34
|
|
thumb_func_end sub_80B1BDC
|
|
|
|
thumb_func_start sub_80B1C34
|
|
sub_80B1C34: @ 80B1C34
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
adds r4, r0, 0
|
|
ldr r5, _080B1CAC @ =0x02019204
|
|
adds r0, r5, 0
|
|
adds r0, 0x58
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r1, _080B1CB0 @ =gSprites
|
|
adds r3, r0, r1
|
|
ldr r0, _080B1CB4 @ =gTasks
|
|
lsls r2, r4, 2
|
|
adds r2, r4
|
|
lsls r2, 3
|
|
adds r2, r0
|
|
movs r1, 0xD0
|
|
lsls r1, 3
|
|
adds r0, r1, 0
|
|
ldrh r1, [r2, 0x1C]
|
|
adds r0, r1
|
|
strh r0, [r2, 0x1C]
|
|
lsls r0, 16
|
|
asrs r0, 24
|
|
ldrh r1, [r3, 0x24]
|
|
subs r1, r0
|
|
strh r1, [r3, 0x24]
|
|
ldrb r0, [r2, 0x1C]
|
|
strh r0, [r2, 0x1C]
|
|
movs r2, 0x24
|
|
ldrsh r0, [r3, r2]
|
|
movs r1, 0x46
|
|
negs r1, r1
|
|
cmp r0, r1
|
|
bge _080B1C82
|
|
ldr r0, _080B1CB8 @ =0x0000ffba
|
|
strh r0, [r3, 0x24]
|
|
_080B1C82:
|
|
movs r2, 0x24
|
|
ldrsh r0, [r3, r2]
|
|
cmp r0, r1
|
|
bne _080B1CA6
|
|
adds r2, r3, 0
|
|
adds r2, 0x3E
|
|
ldrb r0, [r2]
|
|
movs r1, 0x4
|
|
orrs r0, r1
|
|
strb r0, [r2]
|
|
ldrb r1, [r5, 0x6]
|
|
movs r0, 0x41
|
|
negs r0, r0
|
|
ands r0, r1
|
|
strb r0, [r5, 0x6]
|
|
adds r0, r4, 0
|
|
bl DestroyTask
|
|
_080B1CA6:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080B1CAC: .4byte 0x02019204
|
|
_080B1CB0: .4byte gSprites
|
|
_080B1CB4: .4byte gTasks
|
|
_080B1CB8: .4byte 0x0000ffba
|
|
thumb_func_end sub_80B1C34
|
|
|
|
thumb_func_start sub_80B1CBC
|
|
sub_80B1CBC: @ 80B1CBC
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
ldr r0, _080B1CF0 @ =sub_80B1CFC
|
|
movs r1, 0x5
|
|
bl CreateTask
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r2, _080B1CF4 @ =gTasks
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r1, r2
|
|
lsls r4, 24
|
|
asrs r4, 24
|
|
strh r4, [r1, 0x8]
|
|
ldr r2, _080B1CF8 @ =0x02019204
|
|
ldrb r0, [r2, 0x6]
|
|
movs r1, 0x20
|
|
orrs r0, r1
|
|
strb r0, [r2, 0x6]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080B1CF0: .4byte sub_80B1CFC
|
|
_080B1CF4: .4byte gTasks
|
|
_080B1CF8: .4byte 0x02019204
|
|
thumb_func_end sub_80B1CBC
|
|
|
|
thumb_func_start sub_80B1CFC
|
|
sub_80B1CFC: @ 80B1CFC
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
ldr r1, _080B1D20 @ =gTasks
|
|
lsls r0, r5, 2
|
|
adds r0, r5
|
|
lsls r0, 3
|
|
adds r4, r0, r1
|
|
movs r1, 0x1C
|
|
ldrsh r0, [r4, r1]
|
|
cmp r0, 0x1
|
|
beq _080B1D30
|
|
cmp r0, 0x1
|
|
bgt _080B1D24
|
|
cmp r0, 0
|
|
beq _080B1D2A
|
|
b _080B1D78
|
|
.align 2, 0
|
|
_080B1D20: .4byte gTasks
|
|
_080B1D24:
|
|
cmp r0, 0x2
|
|
beq _080B1D50
|
|
b _080B1D78
|
|
_080B1D2A:
|
|
bl sub_80B1B14
|
|
b _080B1D44
|
|
_080B1D30:
|
|
ldr r0, _080B1D4C @ =0x02019204
|
|
ldrb r1, [r0, 0x6]
|
|
movs r0, 0x40
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _080B1D78
|
|
movs r0, 0x8
|
|
ldrsb r0, [r4, r0]
|
|
bl nullsub_18
|
|
_080B1D44:
|
|
ldrh r0, [r4, 0x1C]
|
|
adds r0, 0x1
|
|
strh r0, [r4, 0x1C]
|
|
b _080B1D78
|
|
.align 2, 0
|
|
_080B1D4C: .4byte 0x02019204
|
|
_080B1D50:
|
|
ldrh r0, [r4, 0x1E]
|
|
adds r1, r0, 0x1
|
|
strh r1, [r4, 0x1E]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r0, 0x14
|
|
ble _080B1D78
|
|
movs r0, 0
|
|
strh r0, [r4, 0x1E]
|
|
bl sub_80B1928
|
|
ldr r2, _080B1D80 @ =0x02019204
|
|
ldrb r1, [r2, 0x6]
|
|
movs r0, 0x21
|
|
negs r0, r0
|
|
ands r0, r1
|
|
strb r0, [r2, 0x6]
|
|
adds r0, r5, 0
|
|
bl DestroyTask
|
|
_080B1D78:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080B1D80: .4byte 0x02019204
|
|
thumb_func_end sub_80B1CFC
|
|
|
|
thumb_func_start unref_sub_80B1D84
|
|
unref_sub_80B1D84: @ 80B1D84
|
|
ldr r3, _080B1DB0 @ =gSprites
|
|
ldr r2, _080B1DB4 @ =0x02019204
|
|
adds r2, 0x58
|
|
ldrb r1, [r2]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r3
|
|
movs r1, 0
|
|
strh r1, [r0, 0x24]
|
|
ldrb r1, [r2]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r3
|
|
adds r0, 0x3E
|
|
ldrb r2, [r0]
|
|
movs r1, 0x5
|
|
negs r1, r1
|
|
ands r1, r2
|
|
strb r1, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_080B1DB0: .4byte gSprites
|
|
_080B1DB4: .4byte 0x02019204
|
|
thumb_func_end unref_sub_80B1D84
|
|
|
|
thumb_func_start unref_sub_80B1DB8
|
|
unref_sub_80B1DB8: @ 80B1DB8
|
|
ldr r2, _080B1DD4 @ =gSprites
|
|
ldr r0, _080B1DD8 @ =0x02019204
|
|
adds r0, 0x58
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r2
|
|
adds r0, 0x3E
|
|
ldrb r1, [r0]
|
|
movs r2, 0x4
|
|
orrs r1, r2
|
|
strb r1, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_080B1DD4: .4byte gSprites
|
|
_080B1DD8: .4byte 0x02019204
|
|
thumb_func_end unref_sub_80B1DB8
|
|
|
|
thumb_func_start sub_80B1DDC
|
|
sub_80B1DDC: @ 80B1DDC
|
|
push {lr}
|
|
ldr r0, _080B1DF4 @ =sub_80B1DFC
|
|
movs r1, 0xF
|
|
bl CreateTask
|
|
ldr r2, _080B1DF8 @ =0x02019204
|
|
ldrb r0, [r2, 0x6]
|
|
movs r1, 0x80
|
|
orrs r0, r1
|
|
strb r0, [r2, 0x6]
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080B1DF4: .4byte sub_80B1DFC
|
|
_080B1DF8: .4byte 0x02019204
|
|
thumb_func_end sub_80B1DDC
|
|
|
|
thumb_func_start sub_80B1DFC
|
|
sub_80B1DFC: @ 80B1DFC
|
|
push {r4-r6,lr}
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
ldr r2, _080B1E3C @ =gTasks
|
|
lsls r4, r5, 2
|
|
adds r0, r4, r5
|
|
lsls r0, 3
|
|
adds r3, r0, r2
|
|
ldrh r0, [r3, 0x1C]
|
|
adds r1, r0, 0x1
|
|
strh r1, [r3, 0x1C]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
adds r6, r2, 0
|
|
cmp r0, 0x6
|
|
ble _080B1E8E
|
|
movs r0, 0
|
|
strh r0, [r3, 0x1C]
|
|
movs r1, 0x1E
|
|
ldrsh r0, [r3, r1]
|
|
cmp r0, 0
|
|
bne _080B1E50
|
|
ldr r1, _080B1E40 @ =0x02016800
|
|
ldr r2, _080B1E44 @ =0x06002000
|
|
ldr r0, _080B1E48 @ =0x040000d4
|
|
str r1, [r0]
|
|
str r2, [r0, 0x4]
|
|
ldr r1, _080B1E4C @ =0x84000400
|
|
str r1, [r0, 0x8]
|
|
ldr r0, [r0, 0x8]
|
|
b _080B1E66
|
|
.align 2, 0
|
|
_080B1E3C: .4byte gTasks
|
|
_080B1E40: .4byte 0x02016800
|
|
_080B1E44: .4byte 0x06002000
|
|
_080B1E48: .4byte 0x040000d4
|
|
_080B1E4C: .4byte 0x84000400
|
|
_080B1E50:
|
|
ldr r1, _080B1E94 @ =0x02015800
|
|
ldr r2, _080B1E98 @ =0x06002000
|
|
ldr r0, _080B1E9C @ =0x040000d4
|
|
str r1, [r0]
|
|
str r2, [r0, 0x4]
|
|
ldr r1, _080B1EA0 @ =0x84000400
|
|
str r1, [r0, 0x8]
|
|
ldr r0, [r0, 0x8]
|
|
ldrh r0, [r3, 0x20]
|
|
adds r0, 0x1
|
|
strh r0, [r3, 0x20]
|
|
_080B1E66:
|
|
adds r0, r4, 0
|
|
adds r0, r5
|
|
lsls r0, 3
|
|
adds r0, r6
|
|
ldrh r1, [r0, 0x1E]
|
|
movs r2, 0x1
|
|
eors r1, r2
|
|
strh r1, [r0, 0x1E]
|
|
movs r1, 0x20
|
|
ldrsh r0, [r0, r1]
|
|
cmp r0, 0x9
|
|
bne _080B1E8E
|
|
ldr r2, _080B1EA4 @ =0x02019204
|
|
ldrb r1, [r2, 0x6]
|
|
movs r0, 0x7F
|
|
ands r0, r1
|
|
strb r0, [r2, 0x6]
|
|
adds r0, r5, 0
|
|
bl DestroyTask
|
|
_080B1E8E:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080B1E94: .4byte 0x02015800
|
|
_080B1E98: .4byte 0x06002000
|
|
_080B1E9C: .4byte 0x040000d4
|
|
_080B1EA0: .4byte 0x84000400
|
|
_080B1EA4: .4byte 0x02019204
|
|
thumb_func_end sub_80B1DFC
|
|
|
|
thumb_func_start sub_80B1EA8
|
|
sub_80B1EA8: @ 80B1EA8
|
|
push {r4-r7,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
lsls r1, 24
|
|
lsrs r5, r1, 24
|
|
ldr r0, _080B1EE4 @ =sub_80B1F4C
|
|
movs r1, 0xA
|
|
bl CreateTask
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
lsls r4, 24
|
|
cmp r4, 0
|
|
ble _080B1F08
|
|
ldr r7, _080B1EE8 @ =0x0000237e
|
|
lsls r0, r5, 24
|
|
adds r4, r0, 0
|
|
cmp r4, 0
|
|
ble _080B1EF0
|
|
movs r5, 0
|
|
ldr r2, _080B1EEC @ =0x02019204
|
|
movs r1, 0x13
|
|
ldrsb r1, [r2, r1]
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 24
|
|
lsrs r3, r0, 24
|
|
b _080B1F1E
|
|
.align 2, 0
|
|
_080B1EE4: .4byte sub_80B1F4C
|
|
_080B1EE8: .4byte 0x0000237e
|
|
_080B1EEC: .4byte 0x02019204
|
|
_080B1EF0:
|
|
ldr r2, _080B1F04 @ =0x02019204
|
|
movs r1, 0x13
|
|
ldrsb r1, [r2, r1]
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
movs r3, 0
|
|
b _080B1F1E
|
|
.align 2, 0
|
|
_080B1F04: .4byte 0x02019204
|
|
_080B1F08:
|
|
movs r7, 0
|
|
lsls r0, r5, 24
|
|
adds r4, r0, 0
|
|
cmp r4, 0
|
|
ble _080B1F18
|
|
movs r5, 0
|
|
movs r3, 0xC
|
|
b _080B1F1C
|
|
_080B1F18:
|
|
movs r5, 0xC
|
|
movs r3, 0
|
|
_080B1F1C:
|
|
ldr r2, _080B1F44 @ =0x02019204
|
|
_080B1F1E:
|
|
ldr r1, _080B1F48 @ =gTasks
|
|
lsls r0, r6, 2
|
|
adds r0, r6
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
strh r7, [r0, 0x8]
|
|
strh r5, [r0, 0xA]
|
|
asrs r1, r4, 24
|
|
strh r1, [r0, 0xC]
|
|
strh r3, [r0, 0xE]
|
|
ldrb r1, [r2, 0x7]
|
|
movs r0, 0x2
|
|
negs r0, r0
|
|
ands r0, r1
|
|
strb r0, [r2, 0x7]
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080B1F44: .4byte 0x02019204
|
|
_080B1F48: .4byte gTasks
|
|
thumb_func_end sub_80B1EA8
|
|
|
|
thumb_func_start sub_80B1F4C
|
|
sub_80B1F4C: @ 80B1F4C
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
ldr r2, _080B1F7C @ =gTasks
|
|
lsls r0, r5, 2
|
|
adds r0, r5
|
|
lsls r0, 3
|
|
adds r3, r0, r2
|
|
ldrh r0, [r3, 0x1C]
|
|
adds r1, r0, 0x1
|
|
strh r1, [r3, 0x1C]
|
|
lsls r0, 16
|
|
cmp r0, 0
|
|
blt _080B1FC4
|
|
movs r0, 0
|
|
strh r0, [r3, 0x1C]
|
|
movs r1, 0xC
|
|
ldrsh r0, [r3, r1]
|
|
cmp r0, 0
|
|
ble _080B1F80
|
|
ldrh r0, [r3, 0xA]
|
|
adds r0, 0x1
|
|
b _080B1F84
|
|
.align 2, 0
|
|
_080B1F7C: .4byte gTasks
|
|
_080B1F80:
|
|
ldrh r0, [r3, 0xA]
|
|
subs r0, 0x1
|
|
_080B1F84:
|
|
strh r0, [r3, 0xA]
|
|
lsls r4, r5, 2
|
|
adds r4, r5
|
|
lsls r4, 3
|
|
adds r4, r2
|
|
ldrb r2, [r4, 0xA]
|
|
ldrh r3, [r4, 0x8]
|
|
movs r0, 0x11
|
|
movs r1, 0x1
|
|
bl BlendPalette
|
|
ldrb r2, [r4, 0xA]
|
|
ldrh r3, [r4, 0x8]
|
|
movs r0, 0x1A
|
|
movs r1, 0x1
|
|
bl BlendPalette
|
|
movs r2, 0xA
|
|
ldrsh r1, [r4, r2]
|
|
movs r2, 0xE
|
|
ldrsh r0, [r4, r2]
|
|
cmp r1, r0
|
|
bne _080B1FC4
|
|
adds r0, r5, 0
|
|
bl DestroyTask
|
|
ldr r2, _080B1FCC @ =0x02019204
|
|
ldrb r1, [r2, 0x7]
|
|
movs r0, 0x2
|
|
negs r0, r0
|
|
ands r0, r1
|
|
strb r0, [r2, 0x7]
|
|
_080B1FC4:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080B1FCC: .4byte 0x02019204
|
|
thumb_func_end sub_80B1F4C
|
|
|
|
thumb_func_start sub_80B1FD0
|
|
sub_80B1FD0: @ 80B1FD0
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r8, r0
|
|
movs r5, 0
|
|
ldr r0, _080B204C @ =0x02019260
|
|
ldr r6, _080B2050 @ =gSprites
|
|
adds r4, r0, 0
|
|
adds r4, 0xD8
|
|
adds r7, r0, 0
|
|
_080B1FE8:
|
|
ldrb r1, [r7, 0x10]
|
|
movs r0, 0xC0
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080B2064
|
|
mov r0, r8
|
|
cmp r0, 0
|
|
beq _080B2064
|
|
lsls r0, r5, 24
|
|
lsrs r0, 24
|
|
bl sub_80B208C
|
|
ldrb r2, [r4, 0x1]
|
|
lsls r1, r2, 4
|
|
adds r1, r2
|
|
lsls r1, 2
|
|
adds r1, r6
|
|
ldrh r1, [r1, 0x4]
|
|
lsls r1, 22
|
|
lsrs r1, 17
|
|
ldr r2, _080B2054 @ =0x060100a0
|
|
adds r1, r2
|
|
ldr r2, _080B2058 @ =REG_BG0HOFS
|
|
bl CpuSet
|
|
ldrb r0, [r4, 0x1]
|
|
lsls r1, r0, 4
|
|
adds r1, r0
|
|
lsls r1, 2
|
|
adds r1, r6
|
|
ldr r2, _080B205C @ =gUnknown_083CA33C
|
|
ldr r0, _080B2060 @ =gUnknown_02038696
|
|
adds r0, r5, r0
|
|
ldrb r0, [r0]
|
|
adds r0, r2
|
|
ldrb r0, [r0]
|
|
strh r0, [r1, 0x22]
|
|
ldrb r1, [r4, 0x1]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r6
|
|
adds r0, 0x3E
|
|
ldrb r1, [r0]
|
|
movs r3, 0x5
|
|
negs r3, r3
|
|
adds r2, r3, 0
|
|
ands r1, r2
|
|
b _080B2076
|
|
.align 2, 0
|
|
_080B204C: .4byte 0x02019260
|
|
_080B2050: .4byte gSprites
|
|
_080B2054: .4byte 0x060100a0
|
|
_080B2058: .4byte REG_BG0HOFS
|
|
_080B205C: .4byte gUnknown_083CA33C
|
|
_080B2060: .4byte gUnknown_02038696
|
|
_080B2064:
|
|
ldrb r1, [r4, 0x1]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r6
|
|
adds r0, 0x3E
|
|
ldrb r1, [r0]
|
|
movs r2, 0x4
|
|
orrs r1, r2
|
|
_080B2076:
|
|
strb r1, [r0]
|
|
adds r4, 0x4
|
|
adds r7, 0x1C
|
|
adds r5, 0x1
|
|
cmp r5, 0x3
|
|
ble _080B1FE8
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80B1FD0
|
|
|
|
thumb_func_start sub_80B208C
|
|
sub_80B208C: @ 80B208C
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r1, r0, 3
|
|
subs r1, r0
|
|
lsls r1, 2
|
|
ldr r0, _080B20B0 @ =0x02019260
|
|
adds r2, r1, r0
|
|
ldrb r1, [r2, 0x10]
|
|
movs r0, 0xC0
|
|
ands r0, r1
|
|
cmp r0, 0x40
|
|
bne _080B20B8
|
|
ldrb r0, [r2, 0x19]
|
|
lsls r0, 6
|
|
ldr r1, _080B20B4 @ =gContestNextTurnNumbersGfx
|
|
adds r0, r1
|
|
b _080B20BA
|
|
.align 2, 0
|
|
_080B20B0: .4byte 0x02019260
|
|
_080B20B4: .4byte gContestNextTurnNumbersGfx
|
|
_080B20B8:
|
|
ldr r0, _080B20C0 @ =gContestNextTurnRandomGfx
|
|
_080B20BA:
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080B20C0: .4byte gContestNextTurnRandomGfx
|
|
thumb_func_end sub_80B208C
|
|
|
|
thumb_func_start sub_80B20C4
|
|
sub_80B20C4: @ 80B20C4
|
|
push {r4-r7,lr}
|
|
movs r6, 0
|
|
ldr r7, _080B2134 @ =0x020192dd
|
|
_080B20CA:
|
|
adds r0, r6, r7
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _080B2126
|
|
lsls r0, r6, 24
|
|
lsrs r5, r0, 24
|
|
adds r0, r5, 0
|
|
bl sub_80AF59C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080B2126
|
|
ldr r0, _080B2138 @ =gUnknown_02038696
|
|
adds r0, r6, r0
|
|
ldrb r0, [r0]
|
|
lsls r4, r0, 2
|
|
adds r4, r0
|
|
adds r4, 0x2
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
adds r0, r5, 0
|
|
movs r1, 0x3
|
|
bl sub_80AEFE8
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
lsls r4, 6
|
|
ldr r2, _080B213C @ =0x0600c028
|
|
adds r1, r4, r2
|
|
strh r0, [r1]
|
|
ldr r1, _080B2140 @ =0x0600c02a
|
|
adds r2, r4, r1
|
|
adds r1, r0, 0x1
|
|
strh r1, [r2]
|
|
ldr r1, _080B2144 @ =0x0600c068
|
|
adds r2, r4, r1
|
|
adds r1, r0, 0
|
|
adds r1, 0x10
|
|
strh r1, [r2]
|
|
ldr r2, _080B2148 @ =0x0600c06a
|
|
adds r4, r2
|
|
adds r0, 0x11
|
|
strh r0, [r4]
|
|
movs r0, 0x63
|
|
bl PlaySE
|
|
_080B2126:
|
|
adds r6, 0x1
|
|
cmp r6, 0x3
|
|
ble _080B20CA
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080B2134: .4byte 0x020192dd
|
|
_080B2138: .4byte gUnknown_02038696
|
|
_080B213C: .4byte 0x0600c028
|
|
_080B2140: .4byte 0x0600c02a
|
|
_080B2144: .4byte 0x0600c068
|
|
_080B2148: .4byte 0x0600c06a
|
|
thumb_func_end sub_80B20C4
|
|
|
|
thumb_func_start sub_80B214C
|
|
sub_80B214C: @ 80B214C
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r1, r0, 3
|
|
subs r1, r0
|
|
lsls r1, 2
|
|
ldr r0, _080B2178 @ =0x02019260
|
|
adds r2, r1, r0
|
|
ldrb r1, [r2, 0x15]
|
|
movs r3, 0x1
|
|
adds r0, r3, 0
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _080B2172
|
|
ldrb r1, [r2, 0xC]
|
|
adds r0, r3, 0
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080B217C
|
|
_080B2172:
|
|
movs r0, 0
|
|
b _080B217E
|
|
.align 2, 0
|
|
_080B2178: .4byte 0x02019260
|
|
_080B217C:
|
|
movs r0, 0x1
|
|
_080B217E:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80B214C
|
|
|
|
thumb_func_start sub_80B2184
|
|
sub_80B2184: @ 80B2184
|
|
push {r4-r7,lr}
|
|
sub sp, 0x4
|
|
ldr r4, _080B2250 @ =REG_BG1CNT
|
|
ldrb r1, [r4]
|
|
movs r0, 0x4
|
|
negs r0, r0
|
|
ands r0, r1
|
|
strb r0, [r4]
|
|
ldrb r1, [r4, 0x1]
|
|
movs r0, 0x3F
|
|
ands r0, r1
|
|
movs r1, 0x40
|
|
orrs r0, r1
|
|
strb r0, [r4, 0x1]
|
|
ldrb r1, [r4, 0x1]
|
|
movs r0, 0x21
|
|
negs r0, r0
|
|
ands r0, r1
|
|
strb r0, [r4, 0x1]
|
|
ldr r0, _080B2254 @ =gUnknown_030042C0
|
|
movs r2, 0xF0
|
|
strh r2, [r0]
|
|
ldr r0, _080B2258 @ =gUnknown_030041B4
|
|
movs r1, 0xA0
|
|
strh r1, [r0]
|
|
ldr r0, _080B225C @ =REG_BG1HOFS
|
|
strh r2, [r0]
|
|
adds r0, 0x2
|
|
strh r1, [r0]
|
|
ldr r1, _080B2260 @ =0x0600f000
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
ldr r0, _080B2264 @ =0x040000d4
|
|
mov r2, sp
|
|
str r2, [r0]
|
|
str r1, [r0, 0x4]
|
|
ldr r2, _080B2268 @ =0x85000400
|
|
str r2, [r0, 0x8]
|
|
ldr r0, [r0, 0x8]
|
|
ldr r0, _080B226C @ =gUnknown_08D17C3C
|
|
bl LZDecompressVram
|
|
ldrb r1, [r4]
|
|
movs r2, 0xD
|
|
negs r2, r2
|
|
adds r0, r2, 0
|
|
ands r0, r1
|
|
strb r0, [r4]
|
|
movs r4, 0
|
|
ldr r6, _080B2270 @ =gSprites
|
|
adds r7, r2, 0
|
|
movs r5, 0x4
|
|
ldr r3, _080B2274 @ =0x02019338
|
|
_080B21EE:
|
|
ldrb r0, [r3]
|
|
lsls r1, r0, 4
|
|
adds r1, r0
|
|
lsls r1, 2
|
|
adds r1, r6
|
|
ldrb r2, [r1, 0x5]
|
|
adds r0, r7, 0
|
|
ands r0, r2
|
|
orrs r0, r5
|
|
strb r0, [r1, 0x5]
|
|
ldrb r0, [r3, 0x1]
|
|
lsls r1, r0, 4
|
|
adds r1, r0
|
|
lsls r1, 2
|
|
adds r1, r6
|
|
ldrb r2, [r1, 0x5]
|
|
adds r0, r7, 0
|
|
ands r0, r2
|
|
orrs r0, r5
|
|
strb r0, [r1, 0x5]
|
|
adds r3, 0x4
|
|
adds r4, 0x1
|
|
cmp r4, 0x3
|
|
ble _080B21EE
|
|
ldr r3, _080B2278 @ =REG_BG2CNT
|
|
ldrb r2, [r3]
|
|
movs r1, 0x4
|
|
negs r1, r1
|
|
adds r0, r1, 0
|
|
ands r0, r2
|
|
movs r4, 0x1
|
|
orrs r0, r4
|
|
strb r0, [r3]
|
|
ldr r2, _080B227C @ =REG_BG0CNT
|
|
ldrb r0, [r2]
|
|
ands r1, r0
|
|
orrs r1, r4
|
|
strb r1, [r2]
|
|
adds r2, 0x2
|
|
ldrb r1, [r2, 0x1]
|
|
movs r0, 0x3F
|
|
ands r0, r1
|
|
movs r1, 0x80
|
|
orrs r0, r1
|
|
strb r0, [r2, 0x1]
|
|
add sp, 0x4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080B2250: .4byte REG_BG1CNT
|
|
_080B2254: .4byte gUnknown_030042C0
|
|
_080B2258: .4byte gUnknown_030041B4
|
|
_080B225C: .4byte REG_BG1HOFS
|
|
_080B2260: .4byte 0x0600f000
|
|
_080B2264: .4byte 0x040000d4
|
|
_080B2268: .4byte 0x85000400
|
|
_080B226C: .4byte gUnknown_08D17C3C
|
|
_080B2270: .4byte gSprites
|
|
_080B2274: .4byte 0x02019338
|
|
_080B2278: .4byte REG_BG2CNT
|
|
_080B227C: .4byte REG_BG0CNT
|
|
thumb_func_end sub_80B2184
|
|
|
|
thumb_func_start sub_80B2280
|
|
sub_80B2280: @ 80B2280
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0x4
|
|
ldr r2, _080B2358 @ =0x06008000
|
|
movs r3, 0x80
|
|
lsls r3, 6
|
|
ldr r0, _080B235C @ =gUnknown_030042C0
|
|
mov r12, r0
|
|
ldr r0, _080B2360 @ =gUnknown_030041B4
|
|
mov r8, r0
|
|
movs r5, 0
|
|
ldr r1, _080B2364 @ =0x040000d4
|
|
movs r4, 0x80
|
|
lsls r4, 5
|
|
ldr r6, _080B2368 @ =0x85000400
|
|
movs r7, 0x85
|
|
lsls r7, 24
|
|
_080B22A4:
|
|
str r5, [sp]
|
|
mov r0, sp
|
|
str r0, [r1]
|
|
str r2, [r1, 0x4]
|
|
str r6, [r1, 0x8]
|
|
ldr r0, [r1, 0x8]
|
|
adds r2, r4
|
|
subs r3, r4
|
|
cmp r3, r4
|
|
bhi _080B22A4
|
|
str r5, [sp]
|
|
mov r0, sp
|
|
str r0, [r1]
|
|
str r2, [r1, 0x4]
|
|
lsrs r0, r3, 2
|
|
orrs r0, r7
|
|
str r0, [r1, 0x8]
|
|
ldr r0, [r1, 0x8]
|
|
ldr r1, _080B236C @ =0x0600f000
|
|
movs r2, 0
|
|
str r2, [sp]
|
|
ldr r0, _080B2364 @ =0x040000d4
|
|
mov r3, sp
|
|
str r3, [r0]
|
|
str r1, [r0, 0x4]
|
|
ldr r1, _080B2368 @ =0x85000400
|
|
str r1, [r0, 0x8]
|
|
ldr r0, [r0, 0x8]
|
|
mov r0, r12
|
|
strh r2, [r0]
|
|
mov r3, r8
|
|
strh r2, [r3]
|
|
ldr r2, _080B2370 @ =REG_BG1CNT
|
|
ldrb r1, [r2]
|
|
movs r0, 0x4
|
|
negs r0, r0
|
|
ands r0, r1
|
|
movs r1, 0x1
|
|
orrs r0, r1
|
|
strb r0, [r2]
|
|
ldrb r1, [r2, 0x1]
|
|
movs r0, 0x3F
|
|
ands r0, r1
|
|
strb r0, [r2, 0x1]
|
|
ldrb r1, [r2, 0x1]
|
|
movs r0, 0x21
|
|
negs r0, r0
|
|
ands r0, r1
|
|
strb r0, [r2, 0x1]
|
|
ldrb r1, [r2]
|
|
movs r3, 0xD
|
|
negs r3, r3
|
|
adds r0, r3, 0
|
|
ands r0, r1
|
|
movs r1, 0x8
|
|
orrs r0, r1
|
|
strb r0, [r2]
|
|
movs r4, 0
|
|
ldr r5, _080B2374 @ =gSprites
|
|
adds r6, r3, 0
|
|
ldr r3, _080B2378 @ =0x02019338
|
|
_080B231E:
|
|
ldrb r0, [r3]
|
|
lsls r1, r0, 4
|
|
adds r1, r0
|
|
lsls r1, 2
|
|
adds r1, r5
|
|
ldrb r2, [r1, 0x5]
|
|
adds r0, r6, 0
|
|
ands r0, r2
|
|
strb r0, [r1, 0x5]
|
|
ldrb r0, [r3, 0x1]
|
|
lsls r1, r0, 4
|
|
adds r1, r0
|
|
lsls r1, 2
|
|
adds r1, r5
|
|
ldrb r2, [r1, 0x5]
|
|
adds r0, r6, 0
|
|
ands r0, r2
|
|
strb r0, [r1, 0x5]
|
|
adds r3, 0x4
|
|
adds r4, 0x1
|
|
cmp r4, 0x3
|
|
ble _080B231E
|
|
add sp, 0x4
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080B2358: .4byte 0x06008000
|
|
_080B235C: .4byte gUnknown_030042C0
|
|
_080B2360: .4byte gUnknown_030041B4
|
|
_080B2364: .4byte 0x040000d4
|
|
_080B2368: .4byte 0x85000400
|
|
_080B236C: .4byte 0x0600f000
|
|
_080B2370: .4byte REG_BG1CNT
|
|
_080B2374: .4byte gSprites
|
|
_080B2378: .4byte 0x02019338
|
|
thumb_func_end sub_80B2280
|
|
|
|
thumb_func_start sub_80B237C
|
|
sub_80B237C: @ 80B237C
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
ldr r1, _080B23AC @ =gUnknown_030042C0
|
|
movs r0, 0
|
|
strh r0, [r1]
|
|
ldr r1, _080B23B0 @ =gUnknown_030041B4
|
|
movs r0, 0xA0
|
|
strh r0, [r1]
|
|
movs r0, 0x62
|
|
movs r1, 0
|
|
bl PlaySE12WithPanning
|
|
ldr r1, _080B23B4 @ =gTasks
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _080B23B8 @ =sub_80B23BC
|
|
str r1, [r0]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080B23AC: .4byte gUnknown_030042C0
|
|
_080B23B0: .4byte gUnknown_030041B4
|
|
_080B23B4: .4byte gTasks
|
|
_080B23B8: .4byte sub_80B23BC
|
|
thumb_func_end sub_80B237C
|
|
|
|
thumb_func_start sub_80B23BC
|
|
sub_80B23BC: @ 80B23BC
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r3, r0, 24
|
|
ldr r1, _080B23F4 @ =gUnknown_030041B4
|
|
ldrh r0, [r1]
|
|
subs r0, 0x7
|
|
strh r0, [r1]
|
|
lsls r0, 16
|
|
cmp r0, 0
|
|
bge _080B23D4
|
|
movs r0, 0
|
|
strh r0, [r1]
|
|
_080B23D4:
|
|
ldrh r2, [r1]
|
|
cmp r2, 0
|
|
bne _080B23EE
|
|
ldr r0, _080B23F8 @ =gTasks
|
|
lsls r1, r3, 2
|
|
adds r1, r3
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
strh r2, [r1, 0x8]
|
|
strh r2, [r1, 0xA]
|
|
strh r2, [r1, 0xC]
|
|
ldr r0, _080B23FC @ =sub_80B2400
|
|
str r0, [r1]
|
|
_080B23EE:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080B23F4: .4byte gUnknown_030041B4
|
|
_080B23F8: .4byte gTasks
|
|
_080B23FC: .4byte sub_80B2400
|
|
thumb_func_end sub_80B23BC
|
|
|
|
thumb_func_start sub_80B2400
|
|
sub_80B2400: @ 80B2400
|
|
push {r4-r6,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
ldr r1, _080B2424 @ =gTasks
|
|
lsls r3, r4, 2
|
|
adds r0, r3, r4
|
|
lsls r0, 3
|
|
adds r5, r0, r1
|
|
movs r0, 0x8
|
|
ldrsh r1, [r5, r0]
|
|
cmp r1, 0x1
|
|
beq _080B247C
|
|
cmp r1, 0x1
|
|
bgt _080B2428
|
|
cmp r1, 0
|
|
beq _080B2432
|
|
b _080B24FC
|
|
.align 2, 0
|
|
_080B2424: .4byte gTasks
|
|
_080B2428:
|
|
cmp r1, 0x2
|
|
beq _080B24D6
|
|
cmp r1, 0x3
|
|
beq _080B24EC
|
|
b _080B24FC
|
|
_080B2432:
|
|
movs r2, 0
|
|
adds r6, r3, 0
|
|
ldr r5, _080B2470 @ =0x02019218
|
|
ldr r3, _080B2474 @ =gUnknown_02038696
|
|
_080B243A:
|
|
adds r0, r2, r5
|
|
adds r1, r2, r3
|
|
ldrb r1, [r1]
|
|
strb r1, [r0]
|
|
adds r2, 0x1
|
|
cmp r2, 0x3
|
|
ble _080B243A
|
|
bl sub_80AFA5C
|
|
bl sub_80B0588
|
|
bl sub_80AEF50
|
|
bl sub_80B1118
|
|
movs r0, 0x1
|
|
bl sub_80B1FD0
|
|
bl sub_80AFFA0
|
|
ldr r0, _080B2478 @ =gTasks
|
|
adds r1, r6, r4
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
movs r0, 0x1
|
|
strh r0, [r1, 0x8]
|
|
b _080B24FC
|
|
.align 2, 0
|
|
_080B2470: .4byte 0x02019218
|
|
_080B2474: .4byte gUnknown_02038696
|
|
_080B2478: .4byte gTasks
|
|
_080B247C:
|
|
ldr r0, _080B24C0 @ =gUnknown_0203869A
|
|
ldrb r0, [r0]
|
|
ands r1, r0
|
|
cmp r1, 0
|
|
beq _080B24D0
|
|
ldr r2, _080B24C4 @ =0x02019204
|
|
ldrb r0, [r2, 0x7]
|
|
movs r1, 0x4
|
|
orrs r0, r1
|
|
strb r0, [r2, 0x7]
|
|
bl sub_80AE074
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080B249E
|
|
bl sub_80AF438
|
|
_080B249E:
|
|
ldr r4, _080B24C8 @ =sub_80C8C80
|
|
adds r0, r4, 0
|
|
movs r1, 0
|
|
bl CreateTask
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r2, _080B24CC @ =sub_80AD8DC
|
|
adds r1, r4, 0
|
|
bl SetTaskFuncWithFollowupFunc
|
|
bl sub_80AF860
|
|
movs r0, 0x2
|
|
strh r0, [r5, 0x8]
|
|
b _080B24FC
|
|
.align 2, 0
|
|
_080B24C0: .4byte gUnknown_0203869A
|
|
_080B24C4: .4byte 0x02019204
|
|
_080B24C8: .4byte sub_80C8C80
|
|
_080B24CC: .4byte sub_80AD8DC
|
|
_080B24D0:
|
|
bl sub_80AF438
|
|
b _080B24E2
|
|
_080B24D6:
|
|
ldr r0, _080B24E8 @ =0x02019204
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x4
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _080B24FC
|
|
_080B24E2:
|
|
movs r0, 0x3
|
|
strh r0, [r5, 0x8]
|
|
b _080B24FC
|
|
.align 2, 0
|
|
_080B24E8: .4byte 0x02019204
|
|
_080B24EC:
|
|
bl sub_80AF120
|
|
bl sub_80AEB30
|
|
movs r0, 0
|
|
strh r0, [r5, 0x8]
|
|
ldr r0, _080B2504 @ =sub_80B253C
|
|
str r0, [r5]
|
|
_080B24FC:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080B2504: .4byte sub_80B253C
|
|
thumb_func_end sub_80B2400
|
|
|
|
thumb_func_start sub_80B2508
|
|
sub_80B2508: @ 80B2508
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
ldr r1, _080B2530 @ =gUnknown_030041B4
|
|
ldrh r0, [r1]
|
|
adds r0, 0x7
|
|
strh r0, [r1]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r0, 0xA0
|
|
ble _080B252C
|
|
ldr r0, _080B2534 @ =gTasks
|
|
lsls r1, r2, 2
|
|
adds r1, r2
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldr r0, _080B2538 @ =sub_80ADCDC
|
|
str r0, [r1]
|
|
_080B252C:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080B2530: .4byte gUnknown_030041B4
|
|
_080B2534: .4byte gTasks
|
|
_080B2538: .4byte sub_80ADCDC
|
|
thumb_func_end sub_80B2508
|
|
|
|
thumb_func_start sub_80B253C
|
|
sub_80B253C: @ 80B253C
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r2, _080B255C @ =gTasks
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r1, r2
|
|
ldrh r2, [r1, 0xC]
|
|
movs r3, 0xC
|
|
ldrsh r0, [r1, r3]
|
|
cmp r0, 0x9
|
|
bgt _080B2560
|
|
adds r0, r2, 0x1
|
|
strh r0, [r1, 0xC]
|
|
b _080B259C
|
|
.align 2, 0
|
|
_080B255C: .4byte gTasks
|
|
_080B2560:
|
|
ldrh r3, [r1, 0xA]
|
|
movs r4, 0xA
|
|
ldrsh r0, [r1, r4]
|
|
cmp r0, 0
|
|
bne _080B257E
|
|
ldrh r2, [r1, 0x8]
|
|
movs r4, 0x8
|
|
ldrsh r0, [r1, r4]
|
|
cmp r0, 0x10
|
|
bne _080B257A
|
|
adds r0, r3, 0x1
|
|
strh r0, [r1, 0xA]
|
|
b _080B259C
|
|
_080B257A:
|
|
adds r0, r2, 0x1
|
|
b _080B259A
|
|
_080B257E:
|
|
ldrh r0, [r1, 0x8]
|
|
movs r3, 0x8
|
|
ldrsh r2, [r1, r3]
|
|
cmp r2, 0
|
|
bne _080B2598
|
|
strh r2, [r1, 0xA]
|
|
strh r2, [r1, 0xC]
|
|
ldr r0, _080B2594 @ =sub_80B25A4
|
|
str r0, [r1]
|
|
b _080B259C
|
|
.align 2, 0
|
|
_080B2594: .4byte sub_80B25A4
|
|
_080B2598:
|
|
subs r0, 0x1
|
|
_080B259A:
|
|
strh r0, [r1, 0x8]
|
|
_080B259C:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80B253C
|
|
|
|
thumb_func_start sub_80B25A4
|
|
sub_80B25A4: @ 80B25A4
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r2, _080B25C4 @ =gTasks
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r4, r1, r2
|
|
ldrh r1, [r4, 0xC]
|
|
movs r2, 0xC
|
|
ldrsh r0, [r4, r2]
|
|
cmp r0, 0x9
|
|
bgt _080B25C8
|
|
adds r0, r1, 0x1
|
|
strh r0, [r4, 0xC]
|
|
b _080B25D8
|
|
.align 2, 0
|
|
_080B25C4: .4byte gTasks
|
|
_080B25C8:
|
|
movs r0, 0
|
|
strh r0, [r4, 0xC]
|
|
movs r0, 0x61
|
|
movs r1, 0
|
|
bl PlaySE12WithPanning
|
|
ldr r0, _080B25E0 @ =sub_80B2508
|
|
str r0, [r4]
|
|
_080B25D8:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080B25E0: .4byte sub_80B2508
|
|
thumb_func_end sub_80B25A4
|
|
|
|
thumb_func_start sub_80B25E4
|
|
sub_80B25E4: @ 80B25E4
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r9, r0
|
|
movs r6, 0
|
|
ldr r5, _080B26B4 @ =gSprites
|
|
_080B25F6:
|
|
bl AllocOamMatrix
|
|
lsls r1, r6, 2
|
|
ldr r2, _080B26B8 @ =0x02019338
|
|
mov r8, r2
|
|
adds r4, r1, r2
|
|
ldrb r1, [r4]
|
|
lsls r3, r1, 4
|
|
adds r3, r1
|
|
lsls r3, 2
|
|
adds r3, r5
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
movs r1, 0x1F
|
|
ands r0, r1
|
|
lsls r0, 1
|
|
ldrb r1, [r3, 0x3]
|
|
movs r7, 0x3F
|
|
negs r7, r7
|
|
adds r2, r7, 0
|
|
ands r1, r2
|
|
orrs r1, r0
|
|
strb r1, [r3, 0x3]
|
|
ldrb r1, [r4]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r5
|
|
ldrb r2, [r0, 0x1]
|
|
movs r3, 0x4
|
|
negs r3, r3
|
|
adds r1, r3, 0
|
|
ands r2, r1
|
|
movs r1, 0x1
|
|
orrs r2, r1
|
|
strb r2, [r0, 0x1]
|
|
ldrb r1, [r4]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r5
|
|
mov r1, r9
|
|
bl StartSpriteAffineAnim
|
|
mov r7, r9
|
|
cmp r7, 0x2
|
|
bne _080B267A
|
|
ldrb r1, [r4]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r5
|
|
bl AnimateSprite
|
|
ldrb r1, [r4]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r5
|
|
adds r0, 0x3E
|
|
ldrb r1, [r0]
|
|
movs r3, 0x5
|
|
negs r3, r3
|
|
adds r2, r3, 0
|
|
ands r1, r2
|
|
strb r1, [r0]
|
|
_080B267A:
|
|
adds r6, 0x1
|
|
cmp r6, 0x3
|
|
ble _080B25F6
|
|
ldr r0, _080B26BC @ =sub_80B26C8
|
|
movs r1, 0x5
|
|
bl CreateTask
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r2, _080B26C0 @ =gTasks
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r1, r2
|
|
mov r7, r9
|
|
strh r7, [r1, 0x8]
|
|
ldr r2, _080B26C4 @ =0xfffffecc
|
|
add r2, r8
|
|
ldrb r0, [r2, 0x7]
|
|
movs r1, 0x2
|
|
orrs r0, r1
|
|
strb r0, [r2, 0x7]
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080B26B4: .4byte gSprites
|
|
_080B26B8: .4byte 0x02019338
|
|
_080B26BC: .4byte sub_80B26C8
|
|
_080B26C0: .4byte gTasks
|
|
_080B26C4: .4byte 0xfffffecc
|
|
thumb_func_end sub_80B25E4
|
|
|
|
thumb_func_start sub_80B26C8
|
|
sub_80B26C8: @ 80B26C8
|
|
push {r4-r6,lr}
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
ldr r2, _080B2750 @ =gSprites
|
|
ldr r4, _080B2754 @ =0x02019338
|
|
ldrb r1, [r4]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r2
|
|
adds r0, 0x3F
|
|
ldrb r0, [r0]
|
|
lsls r0, 26
|
|
cmp r0, 0
|
|
bge _080B274A
|
|
ldr r0, _080B2758 @ =gTasks
|
|
lsls r1, r6, 2
|
|
adds r1, r6
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldrb r0, [r1, 0x8]
|
|
cmp r0, 0x1
|
|
bne _080B2718
|
|
adds r5, r2, 0
|
|
movs r3, 0x4
|
|
adds r2, r4, 0
|
|
movs r4, 0x3
|
|
_080B26FE:
|
|
ldrb r0, [r2]
|
|
lsls r1, r0, 4
|
|
adds r1, r0
|
|
lsls r1, 2
|
|
adds r1, r5
|
|
adds r1, 0x3E
|
|
ldrb r0, [r1]
|
|
orrs r0, r3
|
|
strb r0, [r1]
|
|
adds r2, 0x4
|
|
subs r4, 0x1
|
|
cmp r4, 0
|
|
bge _080B26FE
|
|
_080B2718:
|
|
movs r4, 0
|
|
_080B271A:
|
|
lsls r0, r4, 2
|
|
ldr r5, _080B2754 @ =0x02019338
|
|
adds r0, r5
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r1, _080B2750 @ =gSprites
|
|
adds r0, r1
|
|
bl FreeSpriteOamMatrix
|
|
adds r4, 0x1
|
|
cmp r4, 0x3
|
|
ble _080B271A
|
|
ldr r0, _080B275C @ =0xfffffecc
|
|
adds r2, r5, r0
|
|
ldrb r1, [r2, 0x7]
|
|
movs r0, 0x3
|
|
negs r0, r0
|
|
ands r0, r1
|
|
strb r0, [r2, 0x7]
|
|
adds r0, r6, 0
|
|
bl DestroyTask
|
|
_080B274A:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080B2750: .4byte gSprites
|
|
_080B2754: .4byte 0x02019338
|
|
_080B2758: .4byte gTasks
|
|
_080B275C: .4byte 0xfffffecc
|
|
thumb_func_end sub_80B26C8
|
|
|
|
thumb_func_start sub_80B2760
|
|
sub_80B2760: @ 80B2760
|
|
push {lr}
|
|
lsls r0, 16
|
|
lsrs r1, r0, 16
|
|
movs r0, 0xB1
|
|
lsls r0, 1
|
|
cmp r1, r0
|
|
bls _080B2770
|
|
movs r1, 0x1
|
|
_080B2770:
|
|
adds r0, r1, 0
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80B2760
|
|
|
|
thumb_func_start sub_80B2778
|
|
sub_80B2778: @ 80B2778
|
|
push {lr}
|
|
lsls r0, 16
|
|
lsrs r1, r0, 16
|
|
ldr r0, _080B278C @ =0x0000019b
|
|
cmp r1, r0
|
|
bls _080B2786
|
|
movs r1, 0
|
|
_080B2786:
|
|
adds r0, r1, 0
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080B278C: .4byte 0x0000019b
|
|
thumb_func_end sub_80B2778
|
|
|
|
thumb_func_start sub_80B2790
|
|
sub_80B2790: @ 80B2790
|
|
push {r4-r7,lr}
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
lsls r0, r6, 3
|
|
subs r0, r6
|
|
lsls r0, 2
|
|
ldr r4, _080B27F0 @ =0x02019260
|
|
adds r0, r4
|
|
ldrh r0, [r0, 0x6]
|
|
bl sub_80B2760
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
ldr r1, _080B27F4 @ =gUnknown_02038570
|
|
lsls r0, r6, 6
|
|
adds r0, r1
|
|
ldrh r0, [r0]
|
|
bl sub_80B2778
|
|
lsls r0, 16
|
|
lsrs r7, r0, 16
|
|
adds r4, 0xE8
|
|
adds r0, r4, 0
|
|
movs r1, 0
|
|
movs r2, 0x14
|
|
bl memset
|
|
bl sub_8075624
|
|
ldr r1, _080B27F8 @ =gUnknown_02024E84
|
|
movs r2, 0
|
|
adds r0, r1, 0x3
|
|
_080B27D0:
|
|
strb r2, [r0]
|
|
subs r0, 0x1
|
|
cmp r0, r1
|
|
bge _080B27D0
|
|
cmp r5, 0x90
|
|
beq _080B2848
|
|
cmp r5, 0x90
|
|
bgt _080B2806
|
|
cmp r5, 0x4C
|
|
beq _080B2898
|
|
cmp r5, 0x4C
|
|
bgt _080B27FC
|
|
cmp r5, 0xD
|
|
beq _080B2898
|
|
b _080B28BE
|
|
.align 2, 0
|
|
_080B27F0: .4byte 0x02019260
|
|
_080B27F4: .4byte gUnknown_02038570
|
|
_080B27F8: .4byte gUnknown_02024E84
|
|
_080B27FC:
|
|
cmp r5, 0x82
|
|
beq _080B2898
|
|
cmp r5, 0x8F
|
|
beq _080B2898
|
|
b _080B28BE
|
|
_080B2806:
|
|
cmp r5, 0xD8
|
|
beq _080B2880
|
|
cmp r5, 0xD8
|
|
bgt _080B2814
|
|
cmp r5, 0xAE
|
|
beq _080B2822
|
|
b _080B28BE
|
|
_080B2814:
|
|
cmp r5, 0xDA
|
|
beq _080B288C
|
|
movs r0, 0x88
|
|
lsls r0, 1
|
|
cmp r5, r0
|
|
beq _080B2848
|
|
b _080B28BE
|
|
_080B2822:
|
|
ldr r0, _080B2840 @ =gBaseStats
|
|
lsls r1, r7, 3
|
|
subs r1, r7
|
|
lsls r1, 2
|
|
adds r1, r0
|
|
ldrb r0, [r1, 0x6]
|
|
cmp r0, 0x7
|
|
beq _080B2838
|
|
ldrb r0, [r1, 0x7]
|
|
cmp r0, 0x7
|
|
bne _080B28B8
|
|
_080B2838:
|
|
ldr r1, _080B2844 @ =gUnknown_0202F7C4
|
|
movs r0, 0
|
|
b _080B28BC
|
|
.align 2, 0
|
|
_080B2840: .4byte gBaseStats
|
|
_080B2844: .4byte gUnknown_0202F7C4
|
|
_080B2848:
|
|
lsls r0, r6, 3
|
|
subs r0, r6
|
|
lsls r0, 2
|
|
ldr r4, _080B2878 @ =0x02019260
|
|
adds r0, r4
|
|
ldrb r5, [r0, 0x1B]
|
|
ldr r6, _080B287C @ =gUnknown_02038570
|
|
lsls r5, 6
|
|
adds r0, r5, r6
|
|
ldrh r0, [r0]
|
|
bl sub_80B2778
|
|
adds r4, 0xE8
|
|
strh r0, [r4, 0x2]
|
|
adds r6, 0x38
|
|
adds r5, r6
|
|
ldr r0, [r5]
|
|
str r0, [r4, 0x10]
|
|
ldrb r0, [r4, 0x4]
|
|
movs r1, 0x1
|
|
orrs r0, r1
|
|
strb r0, [r4, 0x4]
|
|
b _080B28BE
|
|
.align 2, 0
|
|
_080B2878: .4byte 0x02019260
|
|
_080B287C: .4byte gUnknown_02038570
|
|
_080B2880:
|
|
ldr r1, _080B2888 @ =gUnknown_0202F7BE
|
|
movs r0, 0xFF
|
|
b _080B28BC
|
|
.align 2, 0
|
|
_080B2888: .4byte gUnknown_0202F7BE
|
|
_080B288C:
|
|
ldr r1, _080B2894 @ =gUnknown_0202F7BE
|
|
movs r0, 0
|
|
b _080B28BC
|
|
.align 2, 0
|
|
_080B2894: .4byte gUnknown_0202F7BE
|
|
_080B2898:
|
|
ldr r0, _080B28B0 @ =0x02019204
|
|
adds r2, r0, 0
|
|
adds r2, 0x5A
|
|
ldrb r1, [r2]
|
|
cmp r1, 0
|
|
bne _080B28B8
|
|
movs r0, 0x2
|
|
strb r0, [r2]
|
|
ldr r0, _080B28B4 @ =gUnknown_0202F7C4
|
|
strb r1, [r0]
|
|
b _080B28BE
|
|
.align 2, 0
|
|
_080B28B0: .4byte 0x02019204
|
|
_080B28B4: .4byte gUnknown_0202F7C4
|
|
_080B28B8:
|
|
ldr r1, _080B28C8 @ =gUnknown_0202F7C4
|
|
movs r0, 0x1
|
|
_080B28BC:
|
|
strb r0, [r1]
|
|
_080B28BE:
|
|
bl sub_80B2968
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080B28C8: .4byte gUnknown_0202F7C4
|
|
thumb_func_end sub_80B2790
|
|
|
|
thumb_func_start sub_80B28CC
|
|
sub_80B28CC: @ 80B28CC
|
|
push {r4,lr}
|
|
ldr r4, _080B28EC @ =0x02019348
|
|
adds r0, r4, 0
|
|
movs r1, 0
|
|
movs r2, 0x14
|
|
bl memset
|
|
subs r4, 0xEA
|
|
ldrb r0, [r4]
|
|
cmp r0, 0
|
|
beq _080B28E6
|
|
subs r0, 0x1
|
|
strb r0, [r4]
|
|
_080B28E6:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080B28EC: .4byte 0x02019348
|
|
thumb_func_end sub_80B28CC
|
|
|
|
thumb_func_start sub_80B28F0
|
|
sub_80B28F0: @ 80B28F0
|
|
push {r4-r6,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
ldr r6, _080B2924 @ =0x02019348
|
|
strb r4, [r6, 0x5]
|
|
ldr r5, _080B2928 @ =gUnknown_02038570
|
|
lsls r4, 6
|
|
adds r0, r4, r5
|
|
ldrh r0, [r0]
|
|
bl sub_80B2778
|
|
strh r0, [r6]
|
|
adds r0, r5, 0
|
|
adds r0, 0x38
|
|
adds r0, r4, r0
|
|
ldr r0, [r0]
|
|
str r0, [r6, 0x8]
|
|
adds r5, 0x3C
|
|
adds r4, r5
|
|
ldr r0, [r4]
|
|
str r0, [r6, 0xC]
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080B2924: .4byte 0x02019348
|
|
_080B2928: .4byte gUnknown_02038570
|
|
thumb_func_end sub_80B28F0
|
|
|
|
thumb_func_start sub_80B292C
|
|
sub_80B292C: @ 80B292C
|
|
push {lr}
|
|
ldr r0, _080B2958 @ =SpriteCallbackDummy
|
|
bl object_new_hidden_with_callback
|
|
ldr r1, _080B295C @ =gUnknown_02024BE0
|
|
strb r0, [r1, 0x3]
|
|
ldr r0, _080B2960 @ =gUnknown_02024C08
|
|
ldrb r0, [r0]
|
|
adds r0, r1
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r1, _080B2964 @ =gSprites
|
|
adds r0, r1
|
|
bl InitSpriteAffineAnim
|
|
bl sub_80B2968
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080B2958: .4byte SpriteCallbackDummy
|
|
_080B295C: .4byte gUnknown_02024BE0
|
|
_080B2960: .4byte gUnknown_02024C08
|
|
_080B2964: .4byte gSprites
|
|
thumb_func_end sub_80B292C
|
|
|
|
thumb_func_start sub_80B2968
|
|
sub_80B2968: @ 80B2968
|
|
push {r4,lr}
|
|
ldr r0, _080B29AC @ =gUnknown_02024BE0
|
|
ldrb r0, [r0, 0x3]
|
|
lsls r4, r0, 4
|
|
adds r4, r0
|
|
lsls r4, 2
|
|
ldr r0, _080B29B0 @ =gSprites
|
|
adds r4, r0
|
|
movs r0, 0
|
|
strh r0, [r4, 0x24]
|
|
strh r0, [r4, 0x26]
|
|
movs r0, 0x3
|
|
movs r1, 0
|
|
bl sub_8077ABC
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
strh r0, [r4, 0x20]
|
|
movs r0, 0x3
|
|
movs r1, 0x1
|
|
bl sub_8077ABC
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
strh r0, [r4, 0x22]
|
|
adds r4, 0x3E
|
|
ldrb r0, [r4]
|
|
movs r1, 0x4
|
|
orrs r0, r1
|
|
strb r0, [r4]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080B29AC: .4byte gUnknown_02024BE0
|
|
_080B29B0: .4byte gSprites
|
|
thumb_func_end sub_80B2968
|
|
|
|
thumb_func_start sub_80B29B4
|
|
sub_80B29B4: @ 80B29B4
|
|
push {lr}
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
ldr r2, _080B29D4 @ =gBattleMoves
|
|
lsls r1, r0, 1
|
|
adds r1, r0
|
|
lsls r1, 2
|
|
adds r1, r2
|
|
ldrb r0, [r1, 0x6]
|
|
cmp r0, 0x20
|
|
bhi _080B2A6C
|
|
lsls r0, 2
|
|
ldr r1, _080B29D8 @ =_080B29DC
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080B29D4: .4byte gBattleMoves
|
|
_080B29D8: .4byte _080B29DC
|
|
.align 2, 0
|
|
_080B29DC:
|
|
.4byte _080B2A6C
|
|
.4byte _080B2A6C
|
|
.4byte _080B2A60
|
|
.4byte _080B2A6C
|
|
.4byte _080B2A6C
|
|
.4byte _080B2A6C
|
|
.4byte _080B2A6C
|
|
.4byte _080B2A6C
|
|
.4byte _080B2A6C
|
|
.4byte _080B2A6C
|
|
.4byte _080B2A6C
|
|
.4byte _080B2A6C
|
|
.4byte _080B2A6C
|
|
.4byte _080B2A6C
|
|
.4byte _080B2A6C
|
|
.4byte _080B2A6C
|
|
.4byte _080B2A60
|
|
.4byte _080B2A6C
|
|
.4byte _080B2A6C
|
|
.4byte _080B2A6C
|
|
.4byte _080B2A6C
|
|
.4byte _080B2A6C
|
|
.4byte _080B2A6C
|
|
.4byte _080B2A6C
|
|
.4byte _080B2A6C
|
|
.4byte _080B2A6C
|
|
.4byte _080B2A6C
|
|
.4byte _080B2A6C
|
|
.4byte _080B2A6C
|
|
.4byte _080B2A6C
|
|
.4byte _080B2A6C
|
|
.4byte _080B2A6C
|
|
.4byte _080B2A6C
|
|
_080B2A60:
|
|
ldr r1, _080B2A68 @ =gUnknown_02024C08
|
|
movs r0, 0x2
|
|
b _080B2A70
|
|
.align 2, 0
|
|
_080B2A68: .4byte gUnknown_02024C08
|
|
_080B2A6C:
|
|
ldr r1, _080B2A78 @ =gUnknown_02024C08
|
|
movs r0, 0x3
|
|
_080B2A70:
|
|
strb r0, [r1]
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080B2A78: .4byte gUnknown_02024C08
|
|
thumb_func_end sub_80B29B4
|
|
|
|
thumb_func_start sub_80B2A7C
|
|
sub_80B2A7C: @ 80B2A7C
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
sub sp, 0x4
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r9, r0
|
|
bl Random
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
movs r1, 0x3
|
|
bl __umodsi3
|
|
lsls r0, 24
|
|
lsrs r7, r0, 24
|
|
movs r6, 0
|
|
ldr r1, _080B2AC8 @ =gUnknown_02038690
|
|
ldrb r0, [r1]
|
|
cmp r0, 0
|
|
beq _080B2AB6
|
|
_080B2AA8:
|
|
adds r6, 0x1
|
|
cmp r6, 0x2
|
|
bgt _080B2AB6
|
|
adds r0, r6, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
bne _080B2AA8
|
|
_080B2AB6:
|
|
mov r0, r9
|
|
cmp r0, 0xFF
|
|
bne _080B2AD0
|
|
ldr r0, _080B2ACC @ =gUnknown_02038695
|
|
ldrb r0, [r0]
|
|
cmp r6, r0
|
|
beq _080B2AD0
|
|
movs r0, 0
|
|
b _080B2C38
|
|
.align 2, 0
|
|
_080B2AC8: .4byte gUnknown_02038690
|
|
_080B2ACC: .4byte gUnknown_02038695
|
|
_080B2AD0:
|
|
ldr r0, _080B2AE4 @ =gUnknown_0203869C
|
|
ldrh r0, [r0]
|
|
cmp r0, 0x4
|
|
bhi _080B2B16
|
|
lsls r0, 2
|
|
ldr r1, _080B2AE8 @ =_080B2AEC
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080B2AE4: .4byte gUnknown_0203869C
|
|
_080B2AE8: .4byte _080B2AEC
|
|
.align 2, 0
|
|
_080B2AEC:
|
|
.4byte _080B2B16
|
|
.4byte _080B2B00
|
|
.4byte _080B2B04
|
|
.4byte _080B2B08
|
|
.4byte _080B2B0E
|
|
_080B2B00:
|
|
adds r0, r7, 0x3
|
|
b _080B2B12
|
|
_080B2B04:
|
|
adds r0, r7, 0x6
|
|
b _080B2B12
|
|
_080B2B08:
|
|
adds r0, r7, 0
|
|
adds r0, 0x9
|
|
b _080B2B12
|
|
_080B2B0E:
|
|
adds r0, r7, 0
|
|
adds r0, 0xC
|
|
_080B2B12:
|
|
lsls r0, 24
|
|
lsrs r7, r0, 24
|
|
_080B2B16:
|
|
mov r1, r9
|
|
cmp r1, 0xFE
|
|
beq _080B2BC4
|
|
mov r0, r9
|
|
movs r1, 0x1
|
|
bl sub_80B2C4C
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
ldr r2, _080B2B98 @ =gSaveBlock1
|
|
lsrs r4, 19
|
|
ldr r0, _080B2B9C @ =0x00002dfc
|
|
adds r1, r2, r0
|
|
adds r1, r4, r1
|
|
ldr r5, _080B2BA0 @ =gUnknown_02038570
|
|
lsls r6, 6
|
|
adds r0, r5, 0
|
|
adds r0, 0x38
|
|
adds r0, r6, r0
|
|
ldr r0, [r0]
|
|
str r0, [r1]
|
|
adds r1, r4, r2
|
|
mov r8, r1
|
|
adds r0, r6, r5
|
|
ldrh r1, [r0]
|
|
ldr r0, _080B2BA4 @ =0x00002e04
|
|
add r0, r8
|
|
strh r1, [r0]
|
|
movs r0, 0xB8
|
|
lsls r0, 6
|
|
adds r1, r2, r0
|
|
adds r1, r4, r1
|
|
adds r0, r5, 0
|
|
adds r0, 0x3C
|
|
adds r0, r6, r0
|
|
ldr r0, [r0]
|
|
str r0, [r1]
|
|
ldr r1, _080B2BA8 @ =0x00002e07
|
|
adds r0, r2, r1
|
|
adds r0, r4, r0
|
|
adds r1, r5, 0x2
|
|
adds r1, r6, r1
|
|
str r2, [sp]
|
|
bl StringCopy
|
|
ldr r2, [sp]
|
|
ldr r0, _080B2BAC @ =0x00002e12
|
|
adds r2, r0
|
|
adds r4, r2
|
|
adds r5, 0xD
|
|
adds r6, r5
|
|
adds r0, r4, 0
|
|
adds r1, r6, 0
|
|
bl StringCopy
|
|
mov r1, r9
|
|
cmp r1, 0xFF
|
|
beq _080B2BB8
|
|
ldr r0, _080B2BB0 @ =gUnknown_0203869C
|
|
ldrh r1, [r0]
|
|
ldr r0, _080B2BB4 @ =0x00002e06
|
|
add r0, r8
|
|
strb r1, [r0]
|
|
b _080B2C36
|
|
.align 2, 0
|
|
_080B2B98: .4byte gSaveBlock1
|
|
_080B2B9C: .4byte 0x00002dfc
|
|
_080B2BA0: .4byte gUnknown_02038570
|
|
_080B2BA4: .4byte 0x00002e04
|
|
_080B2BA8: .4byte 0x00002e07
|
|
_080B2BAC: .4byte 0x00002e12
|
|
_080B2BB0: .4byte gUnknown_0203869C
|
|
_080B2BB4: .4byte 0x00002e06
|
|
_080B2BB8:
|
|
ldr r0, _080B2BC0 @ =0x00002e06
|
|
add r0, r8
|
|
strb r7, [r0]
|
|
b _080B2C36
|
|
.align 2, 0
|
|
_080B2BC0: .4byte 0x00002e06
|
|
_080B2BC4:
|
|
ldr r5, _080B2C14 @ =0x02015de0
|
|
ldr r2, _080B2C18 @ =gUnknown_02038570
|
|
lsls r4, r6, 6
|
|
adds r0, r2, 0
|
|
adds r0, 0x38
|
|
adds r0, r4, r0
|
|
ldr r0, [r0]
|
|
str r0, [r5]
|
|
adds r0, r2, 0
|
|
adds r0, 0x3C
|
|
adds r0, r4, r0
|
|
ldr r0, [r0]
|
|
str r0, [r5, 0x4]
|
|
adds r0, r4, r2
|
|
ldrh r0, [r0]
|
|
strh r0, [r5, 0x8]
|
|
adds r0, r5, 0
|
|
adds r0, 0xB
|
|
adds r1, r2, 0x2
|
|
adds r1, r4, r1
|
|
str r2, [sp]
|
|
bl StringCopy
|
|
ldr r0, _080B2C1C @ =gUnknown_0203869A
|
|
ldrb r1, [r0]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
ldr r2, [sp]
|
|
cmp r0, 0
|
|
beq _080B2C24
|
|
adds r0, r5, 0
|
|
adds r0, 0x16
|
|
lsls r1, r6, 3
|
|
subs r1, r6
|
|
lsls r1, 2
|
|
ldr r2, _080B2C20 @ =gLinkPlayers + 0x8
|
|
adds r1, r2
|
|
bl StringCopy
|
|
b _080B2C32
|
|
.align 2, 0
|
|
_080B2C14: .4byte 0x02015de0
|
|
_080B2C18: .4byte gUnknown_02038570
|
|
_080B2C1C: .4byte gUnknown_0203869A
|
|
_080B2C20: .4byte gLinkPlayers + 0x8
|
|
_080B2C24:
|
|
adds r0, r5, 0
|
|
adds r0, 0x16
|
|
adds r1, r2, 0
|
|
adds r1, 0xD
|
|
adds r1, r4, r1
|
|
bl StringCopy
|
|
_080B2C32:
|
|
ldr r0, _080B2C48 @ =0x02015de0
|
|
strb r7, [r0, 0xA]
|
|
_080B2C36:
|
|
movs r0, 0x1
|
|
_080B2C38:
|
|
add sp, 0x4
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080B2C48: .4byte 0x02015de0
|
|
thumb_func_end sub_80B2A7C
|
|
|
|
thumb_func_start sub_80B2C4C
|
|
sub_80B2C4C: @ 80B2C4C
|
|
push {r4-r7,lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
adds r2, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
cmp r0, 0x2
|
|
beq _080B2C6E
|
|
cmp r0, 0x2
|
|
ble _080B2C66
|
|
cmp r0, 0x3
|
|
beq _080B2CA0
|
|
b _080B2CD4
|
|
_080B2C66:
|
|
cmp r2, 0
|
|
blt _080B2CD4
|
|
adds r0, r2, 0
|
|
b _080B2D16
|
|
_080B2C6E:
|
|
cmp r1, 0
|
|
beq _080B2C98
|
|
movs r2, 0x4
|
|
ldr r0, _080B2C9C @ =gSaveBlock1 + 0x2DFC
|
|
adds r4, r0, 0
|
|
adds r4, 0x60
|
|
adds r3, r0, 0
|
|
adds r3, 0x80
|
|
_080B2C7E:
|
|
adds r1, r3, 0
|
|
adds r0, r4, 0
|
|
ldm r0!, {r5-r7}
|
|
stm r1!, {r5-r7}
|
|
ldm r0!, {r5-r7}
|
|
stm r1!, {r5-r7}
|
|
ldm r0!, {r5,r6}
|
|
stm r1!, {r5,r6}
|
|
subs r4, 0x20
|
|
subs r3, 0x20
|
|
subs r2, 0x1
|
|
cmp r2, 0x2
|
|
bgt _080B2C7E
|
|
_080B2C98:
|
|
movs r0, 0x2
|
|
b _080B2D16
|
|
.align 2, 0
|
|
_080B2C9C: .4byte gSaveBlock1 + 0x2DFC
|
|
_080B2CA0:
|
|
cmp r1, 0
|
|
beq _080B2CCA
|
|
movs r2, 0x7
|
|
ldr r0, _080B2CD0 @ =gSaveBlock1 + 0x2DFC
|
|
adds r4, r0, 0
|
|
adds r4, 0xC0
|
|
adds r3, r0, 0
|
|
adds r3, 0xE0
|
|
_080B2CB0:
|
|
adds r1, r3, 0
|
|
adds r0, r4, 0
|
|
ldm r0!, {r5-r7}
|
|
stm r1!, {r5-r7}
|
|
ldm r0!, {r5-r7}
|
|
stm r1!, {r5-r7}
|
|
ldm r0!, {r5,r7}
|
|
stm r1!, {r5,r7}
|
|
subs r4, 0x20
|
|
subs r3, 0x20
|
|
subs r2, 0x1
|
|
cmp r2, 0x5
|
|
bgt _080B2CB0
|
|
_080B2CCA:
|
|
movs r0, 0x5
|
|
b _080B2D16
|
|
.align 2, 0
|
|
_080B2CD0: .4byte gSaveBlock1 + 0x2DFC
|
|
_080B2CD4:
|
|
ldr r0, _080B2CE8 @ =gUnknown_0203869C
|
|
ldrh r0, [r0]
|
|
cmp r0, 0x4
|
|
bhi _080B2D14
|
|
lsls r0, 2
|
|
ldr r1, _080B2CEC @ =_080B2CF0
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080B2CE8: .4byte gUnknown_0203869C
|
|
_080B2CEC: .4byte _080B2CF0
|
|
.align 2, 0
|
|
_080B2CF0:
|
|
.4byte _080B2D04
|
|
.4byte _080B2D08
|
|
.4byte _080B2D0C
|
|
.4byte _080B2D10
|
|
.4byte _080B2D14
|
|
_080B2D04:
|
|
movs r0, 0x8
|
|
b _080B2D16
|
|
_080B2D08:
|
|
movs r0, 0x9
|
|
b _080B2D16
|
|
_080B2D0C:
|
|
movs r0, 0xA
|
|
b _080B2D16
|
|
_080B2D10:
|
|
movs r0, 0xB
|
|
b _080B2D16
|
|
_080B2D14:
|
|
movs r0, 0xC
|
|
_080B2D16:
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80B2C4C
|
|
|
|
thumb_func_start sub_80B2D1C
|
|
sub_80B2D1C: @ 80B2D1C
|
|
push {r4-r7,lr}
|
|
ldr r0, _080B2D48 @ =gSaveBlock1
|
|
ldr r4, _080B2D4C @ =gUnknown_083CC5D0
|
|
ldr r1, _080B2D50 @ =0x00002dfc
|
|
adds r3, r0, r1
|
|
movs r2, 0x7
|
|
_080B2D28:
|
|
adds r1, r3, 0
|
|
adds r0, r4, 0
|
|
ldm r0!, {r5-r7}
|
|
stm r1!, {r5-r7}
|
|
ldm r0!, {r5-r7}
|
|
stm r1!, {r5-r7}
|
|
ldm r0!, {r5,r6}
|
|
stm r1!, {r5,r6}
|
|
adds r4, 0x20
|
|
adds r3, 0x20
|
|
subs r2, 0x1
|
|
cmp r2, 0
|
|
bge _080B2D28
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080B2D48: .4byte gSaveBlock1
|
|
_080B2D4C: .4byte gUnknown_083CC5D0
|
|
_080B2D50: .4byte 0x00002dfc
|
|
thumb_func_end sub_80B2D1C
|
|
|
|
.align 2, 0 @ Don't pad with nop.
|