mirror of
https://github.com/pret/pokeruby.git
synced 2026-08-08 10:34:12 -05:00
2878 lines
50 KiB
ArmAsm
2878 lines
50 KiB
ArmAsm
.include "constants/gba_constants.inc"
|
|
.include "constants/species_constants.inc"
|
|
.include "asm/macros.inc"
|
|
|
|
.syntax unified
|
|
|
|
.text
|
|
|
|
thumb_func_start unref_sub_80A9B28
|
|
unref_sub_80A9B28: @ 80A9B28
|
|
push {lr}
|
|
sub sp, 0x8
|
|
bl MenuZeroFillScreen
|
|
movs r0, 0
|
|
movs r1, 0
|
|
movs r2, 0x11
|
|
movs r3, 0x12
|
|
bl MenuDrawTextWindow
|
|
ldr r3, _080A9B6C @ =gUnknown_083C91F0
|
|
movs r0, 0x1
|
|
movs r1, 0x1
|
|
movs r2, 0x7
|
|
bl PrintMenuItems
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0x10
|
|
str r0, [sp, 0x4]
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
movs r3, 0x7
|
|
bl InitMenu
|
|
ldr r1, _080A9B70 @ =gCallback_03004AE8
|
|
ldr r0, _080A9B74 @ =sub_80A9B78
|
|
str r0, [r1]
|
|
movs r0, 0
|
|
add sp, 0x8
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080A9B6C: .4byte gUnknown_083C91F0
|
|
_080A9B70: .4byte gCallback_03004AE8
|
|
_080A9B74: .4byte sub_80A9B78
|
|
thumb_func_end unref_sub_80A9B28
|
|
|
|
thumb_func_start sub_80A9B78
|
|
sub_80A9B78: @ 80A9B78
|
|
push {lr}
|
|
bl ProcessMenuInput
|
|
lsls r0, 24
|
|
asrs r1, r0, 24
|
|
movs r0, 0x2
|
|
negs r0, r0
|
|
cmp r1, r0
|
|
bne _080A9B8E
|
|
movs r0, 0
|
|
b _080A9BB6
|
|
_080A9B8E:
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r1, r0
|
|
beq _080A9BB0
|
|
ldr r2, _080A9BA8 @ =gCallback_03004AE8
|
|
ldr r0, _080A9BAC @ =gUnknown_083C91F0
|
|
lsls r1, 3
|
|
adds r0, 0x4
|
|
adds r1, r0
|
|
ldr r0, [r1]
|
|
str r0, [r2]
|
|
movs r0, 0
|
|
b _080A9BB6
|
|
.align 2, 0
|
|
_080A9BA8: .4byte gCallback_03004AE8
|
|
_080A9BAC: .4byte gUnknown_083C91F0
|
|
_080A9BB0:
|
|
bl sub_8071C20
|
|
movs r0, 0x1
|
|
_080A9BB6:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80A9B78
|
|
|
|
thumb_func_start sub_80A9BBC
|
|
sub_80A9BBC: @ 80A9BBC
|
|
push {lr}
|
|
sub sp, 0x4
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
movs r1, 0
|
|
str r1, [sp]
|
|
movs r2, 0
|
|
movs r3, 0x10
|
|
bl BeginNormalPaletteFade
|
|
ldr r0, _080A9BE0 @ =sub_80A9BE4
|
|
movs r1, 0xFF
|
|
bl CreateTask
|
|
movs r0, 0x1
|
|
add sp, 0x4
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080A9BE0: .4byte sub_80A9BE4
|
|
thumb_func_end sub_80A9BBC
|
|
|
|
thumb_func_start sub_80A9BE4
|
|
sub_80A9BE4: @ 80A9BE4
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
ldr r0, _080A9C14 @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _080A9C10
|
|
adds r0, r2, 0
|
|
bl DestroyTask
|
|
ldr r0, _080A9C18 @ =gUnknown_0203869A
|
|
ldrb r1, [r0]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _080A9C0C
|
|
bl sub_80AF668
|
|
_080A9C0C:
|
|
bl sub_80C2358
|
|
_080A9C10:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080A9C14: .4byte gPaletteFade
|
|
_080A9C18: .4byte gUnknown_0203869A
|
|
thumb_func_end sub_80A9BE4
|
|
|
|
thumb_func_start sub_80A9C1C
|
|
sub_80A9C1C: @ 80A9C1C
|
|
push {lr}
|
|
ldr r1, _080A9C30 @ =gUnknown_0203869A
|
|
movs r0, 0
|
|
strb r0, [r1]
|
|
bl sub_80AA10C
|
|
movs r0, 0
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080A9C30: .4byte gUnknown_0203869A
|
|
thumb_func_end sub_80A9C1C
|
|
|
|
thumb_func_start sub_80A9C34
|
|
sub_80A9C34: @ 80A9C34
|
|
push {lr}
|
|
bl sub_80AA10C
|
|
movs r0, 0
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80A9C34
|
|
|
|
thumb_func_start sub_80A9C40
|
|
sub_80A9C40: @ 80A9C40
|
|
push {r4,r5,lr}
|
|
ldr r5, _080A9C88 @ =sub_80A9E3C
|
|
adds r0, r5, 0
|
|
movs r1, 0
|
|
bl CreateTask
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
ldr r2, _080A9C8C @ =sub_80A9C98
|
|
adds r0, r4, 0
|
|
adds r1, r5, 0
|
|
bl SetTaskFuncWithFollowupFunc
|
|
ldr r0, _080A9C90 @ =sub_80A9E04
|
|
movs r1, 0x1
|
|
bl CreateTask
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r2, _080A9C94 @ =gTasks
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r1, r2
|
|
strh r4, [r1, 0x1C]
|
|
lsls r1, r4, 2
|
|
adds r1, r4
|
|
lsls r1, 3
|
|
adds r1, r2
|
|
strh r0, [r1, 0x1C]
|
|
movs r0, 0x1
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080A9C88: .4byte sub_80A9E3C
|
|
_080A9C8C: .4byte sub_80A9C98
|
|
_080A9C90: .4byte sub_80A9E04
|
|
_080A9C94: .4byte gTasks
|
|
thumb_func_end sub_80A9C40
|
|
|
|
thumb_func_start sub_80A9C98
|
|
sub_80A9C98: @ 80A9C98
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
movs r0, 0
|
|
bl sub_80AE098
|
|
ldr r1, _080A9CB8 @ =sub_80C8734
|
|
ldr r2, _080A9CBC @ =sub_80A9CC0
|
|
adds r0, r4, 0
|
|
bl SetTaskFuncWithFollowupFunc
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080A9CB8: .4byte sub_80C8734
|
|
_080A9CBC: .4byte sub_80A9CC0
|
|
thumb_func_end sub_80A9C98
|
|
|
|
thumb_func_start sub_80A9CC0
|
|
sub_80A9CC0: @ 80A9CC0
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _080A9CD4 @ =sub_80C88AC
|
|
ldr r2, _080A9CD8 @ =sub_80A9CDC
|
|
bl SetTaskFuncWithFollowupFunc
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080A9CD4: .4byte sub_80C88AC
|
|
_080A9CD8: .4byte sub_80A9CDC
|
|
thumb_func_end sub_80A9CC0
|
|
|
|
thumb_func_start sub_80A9CDC
|
|
sub_80A9CDC: @ 80A9CDC
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _080A9CF0 @ =sub_80C8E1C
|
|
ldr r2, _080A9CF4 @ =sub_80A9D58
|
|
bl SetTaskFuncWithFollowupFunc
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080A9CF0: .4byte sub_80C8E1C
|
|
_080A9CF4: .4byte sub_80A9D58
|
|
thumb_func_end sub_80A9CDC
|
|
|
|
thumb_func_start sub_80A9CF8
|
|
sub_80A9CF8: @ 80A9CF8
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
ldr r0, _080A9D28 @ =gReceivedRemoteLinkPlayers
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
bne _080A9D20
|
|
ldr r0, _080A9D2C @ =gTasks
|
|
lsls r1, r4, 2
|
|
adds r1, r4
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldrb r0, [r1, 0x1C]
|
|
bl DestroyTask
|
|
adds r0, r4, 0
|
|
bl DestroyTask
|
|
bl sub_8071C20
|
|
_080A9D20:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080A9D28: .4byte gReceivedRemoteLinkPlayers
|
|
_080A9D2C: .4byte gTasks
|
|
thumb_func_end sub_80A9CF8
|
|
|
|
thumb_func_start sub_80A9D30
|
|
sub_80A9D30: @ 80A9D30
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
bl sub_800832C
|
|
ldr r1, _080A9D50 @ =gTasks
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _080A9D54 @ =sub_80A9CF8
|
|
str r1, [r0]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080A9D50: .4byte gTasks
|
|
_080A9D54: .4byte sub_80A9CF8
|
|
thumb_func_end sub_80A9D30
|
|
|
|
thumb_func_start sub_80A9D58
|
|
sub_80A9D58: @ 80A9D58
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
movs r3, 0
|
|
ldr r1, _080A9DA8 @ =gTasks
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r1, 0x12
|
|
adds r2, r0, r1
|
|
_080A9D6E:
|
|
mov r0, sp
|
|
adds r1, r0, r3
|
|
ldrh r0, [r2]
|
|
strb r0, [r1]
|
|
adds r2, 0x2
|
|
adds r3, 0x1
|
|
cmp r3, 0x3
|
|
ble _080A9D6E
|
|
mov r0, sp
|
|
bl sub_80C4B34
|
|
ldr r1, _080A9DAC @ =gUnknown_0203869B
|
|
strb r0, [r1]
|
|
ldr r0, _080A9DB0 @ =gUnknown_0203869C
|
|
ldrb r0, [r0]
|
|
bl sub_80AE82C
|
|
movs r0, 0
|
|
bl sub_80B0F28
|
|
ldr r1, _080A9DB4 @ =sub_80C8EBC
|
|
ldr r2, _080A9DB8 @ =sub_80A9DBC
|
|
adds r0, r4, 0
|
|
bl SetTaskFuncWithFollowupFunc
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080A9DA8: .4byte gTasks
|
|
_080A9DAC: .4byte gUnknown_0203869B
|
|
_080A9DB0: .4byte gUnknown_0203869C
|
|
_080A9DB4: .4byte sub_80C8EBC
|
|
_080A9DB8: .4byte sub_80A9DBC
|
|
thumb_func_end sub_80A9D58
|
|
|
|
thumb_func_start sub_80A9DBC
|
|
sub_80A9DBC: @ 80A9DBC
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _080A9DD0 @ =sub_80C8F34
|
|
ldr r2, _080A9DD4 @ =sub_80A9DD8
|
|
bl SetTaskFuncWithFollowupFunc
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080A9DD0: .4byte sub_80C8F34
|
|
_080A9DD4: .4byte sub_80A9DD8
|
|
thumb_func_end sub_80A9DBC
|
|
|
|
thumb_func_start sub_80A9DD8
|
|
sub_80A9DD8: @ 80A9DD8
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
ldr r1, _080A9E00 @ =gTasks
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldrb r0, [r0, 0x1C]
|
|
bl DestroyTask
|
|
adds r0, r4, 0
|
|
bl DestroyTask
|
|
bl sub_8071C20
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080A9E00: .4byte gTasks
|
|
thumb_func_end sub_80A9DD8
|
|
|
|
thumb_func_start sub_80A9E04
|
|
sub_80A9E04: @ 80A9E04
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r1, r0, 24
|
|
ldr r0, _080A9E30 @ =gMain
|
|
ldrh r0, [r0, 0x2E]
|
|
cmp r0, 0x2
|
|
bne _080A9E2A
|
|
ldr r2, _080A9E34 @ =gTasks
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r0, r2
|
|
ldrb r1, [r0, 0x1C]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r0, r2
|
|
ldr r1, _080A9E38 @ =sub_80A9D30
|
|
str r1, [r0]
|
|
_080A9E2A:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080A9E30: .4byte gMain
|
|
_080A9E34: .4byte gTasks
|
|
_080A9E38: .4byte sub_80A9D30
|
|
thumb_func_end sub_80A9E04
|
|
|
|
thumb_func_start sub_80A9E3C
|
|
sub_80A9E3C: @ 80A9E3C
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
bl OpenLink
|
|
movs r1, 0
|
|
ldr r3, _080A9E74 @ =gBlockRecvBuffer
|
|
movs r2, 0xFF
|
|
_080A9E4C:
|
|
lsls r0, r1, 8
|
|
adds r0, r3
|
|
strh r2, [r0]
|
|
adds r0, r1, 0x1
|
|
lsls r0, 24
|
|
lsrs r1, r0, 24
|
|
cmp r1, 0x3
|
|
bls _080A9E4C
|
|
ldr r1, _080A9E78 @ =gTasks
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
movs r1, 0
|
|
strh r1, [r0, 0x8]
|
|
ldr r1, _080A9E7C @ =sub_80A9E80
|
|
str r1, [r0]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080A9E74: .4byte gBlockRecvBuffer
|
|
_080A9E78: .4byte gTasks
|
|
_080A9E7C: .4byte sub_80A9E80
|
|
thumb_func_end sub_80A9E3C
|
|
|
|
thumb_func_start sub_80A9E80
|
|
sub_80A9E80: @ 80A9E80
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r2, _080A9EA0 @ =gTasks
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r4, r1, r2
|
|
ldrh r1, [r4, 0x8]
|
|
movs r2, 0x8
|
|
ldrsh r0, [r4, r2]
|
|
cmp r0, 0x9
|
|
bgt _080A9EA4
|
|
adds r0, r1, 0x1
|
|
strh r0, [r4, 0x8]
|
|
b _080A9ECC
|
|
.align 2, 0
|
|
_080A9EA0: .4byte gTasks
|
|
_080A9EA4:
|
|
bl GetLinkPlayerCount_2
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x3
|
|
bls _080A9ECC
|
|
movs r0, 0
|
|
strh r0, [r4, 0x8]
|
|
bl IsLinkMaster
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080A9EC8
|
|
ldr r0, _080A9EC4 @ =sub_80A9ED8
|
|
b _080A9ECA
|
|
.align 2, 0
|
|
_080A9EC4: .4byte sub_80A9ED8
|
|
_080A9EC8:
|
|
ldr r0, _080A9ED4 @ =sub_80A9F10
|
|
_080A9ECA:
|
|
str r0, [r4]
|
|
_080A9ECC:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080A9ED4: .4byte sub_80A9F10
|
|
thumb_func_end sub_80A9E80
|
|
|
|
thumb_func_start sub_80A9ED8
|
|
sub_80A9ED8: @ 80A9ED8
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r2, _080A9F08 @ =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, 0x65
|
|
bne _080A9F02
|
|
bl sub_8007F4C
|
|
movs r0, 0
|
|
strh r0, [r4, 0x8]
|
|
ldr r0, _080A9F0C @ =sub_80A9F10
|
|
str r0, [r4]
|
|
_080A9F02:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080A9F08: .4byte gTasks
|
|
_080A9F0C: .4byte sub_80A9F10
|
|
thumb_func_end sub_80A9ED8
|
|
|
|
thumb_func_start sub_80A9F10
|
|
sub_80A9F10: @ 80A9F10
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
ldr r0, _080A9F44 @ =gReceivedRemoteLinkPlayers
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _080A9F3E
|
|
bl GetMultiplayerId
|
|
ldr r1, _080A9F48 @ =gUnknown_02038695
|
|
strb r0, [r1]
|
|
bl GetLinkPlayerCount
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x4
|
|
bne _080A9F3E
|
|
ldr r1, _080A9F4C @ =gUnknown_0203869A
|
|
movs r0, 0x1
|
|
strb r0, [r1]
|
|
adds r0, r4, 0
|
|
bl SwitchTaskToFollowupFunc
|
|
_080A9F3E:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080A9F44: .4byte gReceivedRemoteLinkPlayers
|
|
_080A9F48: .4byte gUnknown_02038695
|
|
_080A9F4C: .4byte gUnknown_0203869A
|
|
thumb_func_end sub_80A9F10
|
|
|
|
thumb_func_start sub_80A9F50
|
|
sub_80A9F50: @ 80A9F50
|
|
push {r4,lr}
|
|
movs r2, 0x80
|
|
lsls r2, 19
|
|
movs r0, 0x40
|
|
strh r0, [r2]
|
|
ldrh r0, [r2]
|
|
movs r3, 0x88
|
|
lsls r3, 5
|
|
adds r1, r3, 0
|
|
orrs r0, r1
|
|
strh r0, [r2]
|
|
ldr r4, _080A9FB8 @ =gWindowConfig_81E6C3C
|
|
adds r0, r4, 0
|
|
bl SetUpWindowConfig
|
|
ldr r0, _080A9FBC @ =gMenuWindow
|
|
adds r1, r4, 0
|
|
bl InitWindowFromConfig
|
|
ldr r0, _080A9FC0 @ =REG_MOSAIC
|
|
movs r1, 0
|
|
strh r1, [r0]
|
|
adds r0, 0x4
|
|
strh r1, [r0]
|
|
adds r0, 0x2
|
|
strh r1, [r0]
|
|
adds r0, 0x2
|
|
strh r1, [r0]
|
|
subs r0, 0x44
|
|
strh r1, [r0]
|
|
adds r0, 0x2
|
|
strh r1, [r0]
|
|
ldr r0, _080A9FC4 @ =gUnknown_030042A4
|
|
strh r1, [r0]
|
|
ldr r0, _080A9FC8 @ =gUnknown_030042A0
|
|
strh r1, [r0]
|
|
ldr r0, _080A9FCC @ =gUnknown_030042C0
|
|
strh r1, [r0]
|
|
ldr r0, _080A9FD0 @ =gUnknown_030041B4
|
|
strh r1, [r0]
|
|
ldr r0, _080A9FD4 @ =gUnknown_03004288
|
|
strh r1, [r0]
|
|
ldr r0, _080A9FD8 @ =gUnknown_03004280
|
|
strh r1, [r0]
|
|
ldr r0, _080A9FDC @ =gUnknown_030041B0
|
|
strh r1, [r0]
|
|
ldr r0, _080A9FE0 @ =gUnknown_030041B8
|
|
strh r1, [r0]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080A9FB8: .4byte gWindowConfig_81E6C3C
|
|
_080A9FBC: .4byte gMenuWindow
|
|
_080A9FC0: .4byte REG_MOSAIC
|
|
_080A9FC4: .4byte gUnknown_030042A4
|
|
_080A9FC8: .4byte gUnknown_030042A0
|
|
_080A9FCC: .4byte gUnknown_030042C0
|
|
_080A9FD0: .4byte gUnknown_030041B4
|
|
_080A9FD4: .4byte gUnknown_03004288
|
|
_080A9FD8: .4byte gUnknown_03004280
|
|
_080A9FDC: .4byte gUnknown_030041B0
|
|
_080A9FE0: .4byte gUnknown_030041B8
|
|
thumb_func_end sub_80A9F50
|
|
|
|
thumb_func_start sub_80A9FE4
|
|
sub_80A9FE4: @ 80A9FE4
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0xC
|
|
ldr r1, _080AA054 @ =gUnknown_083C9228
|
|
mov r0, sp
|
|
movs r2, 0x5
|
|
bl memcpy
|
|
movs r2, 0xC0
|
|
lsls r2, 19
|
|
movs r3, 0xC0
|
|
lsls r3, 9
|
|
add r5, sp, 0x8
|
|
movs r6, 0
|
|
ldr r1, _080AA058 @ =0x040000d4
|
|
movs r4, 0x80
|
|
lsls r4, 5
|
|
mov r12, r5
|
|
ldr r7, _080AA05C @ =0x85000400
|
|
movs r0, 0x85
|
|
lsls r0, 24
|
|
mov r8, r0
|
|
_080AA012:
|
|
str r6, [sp, 0x8]
|
|
mov r0, r12
|
|
str r0, [r1]
|
|
str r2, [r1, 0x4]
|
|
str r7, [r1, 0x8]
|
|
ldr r0, [r1, 0x8]
|
|
adds r2, r4
|
|
subs r3, r4
|
|
cmp r3, r4
|
|
bhi _080AA012
|
|
str r6, [sp, 0x8]
|
|
str r5, [r1]
|
|
str r2, [r1, 0x4]
|
|
lsrs r0, r3, 2
|
|
mov r2, r8
|
|
orrs r0, r2
|
|
str r0, [r1, 0x8]
|
|
ldr r0, [r1, 0x8]
|
|
movs r0, 0xC0
|
|
lsls r0, 19
|
|
mov r1, sp
|
|
bl sub_80034D4
|
|
ldr r0, _080AA060 @ =gWindowConfig_81E6C3C
|
|
bl LoadFontDefaultPalette
|
|
add sp, 0xC
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AA054: .4byte gUnknown_083C9228
|
|
_080AA058: .4byte 0x040000d4
|
|
_080AA05C: .4byte 0x85000400
|
|
_080AA060: .4byte gWindowConfig_81E6C3C
|
|
thumb_func_end sub_80A9FE4
|
|
|
|
thumb_func_start sub_80AA064
|
|
sub_80AA064: @ 80AA064
|
|
push {lr}
|
|
bl AnimateSprites
|
|
bl BuildOamBuffer
|
|
bl RunTasks
|
|
bl UpdatePaletteFade
|
|
ldr r0, _080AA088 @ =gMain
|
|
ldrh r0, [r0, 0x2E]
|
|
cmp r0, 0x4
|
|
bne _080AA084
|
|
ldr r0, _080AA08C @ =sub_805469C
|
|
bl SetMainCallback2
|
|
_080AA084:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AA088: .4byte gMain
|
|
_080AA08C: .4byte sub_805469C
|
|
thumb_func_end sub_80AA064
|
|
|
|
thumb_func_start sub_80AA090
|
|
sub_80AA090: @ 80AA090
|
|
push {lr}
|
|
ldr r1, _080AA0E8 @ =REG_BG0HOFS
|
|
ldr r0, _080AA0EC @ =gUnknown_030042A4
|
|
ldrh r0, [r0]
|
|
strh r0, [r1]
|
|
adds r1, 0x2
|
|
ldr r0, _080AA0F0 @ =gUnknown_030042A0
|
|
ldrh r0, [r0]
|
|
strh r0, [r1]
|
|
adds r1, 0x2
|
|
ldr r0, _080AA0F4 @ =gUnknown_030042C0
|
|
ldrh r0, [r0]
|
|
strh r0, [r1]
|
|
adds r1, 0x2
|
|
ldr r0, _080AA0F8 @ =gUnknown_030041B4
|
|
ldrh r0, [r0]
|
|
strh r0, [r1]
|
|
adds r1, 0x2
|
|
ldr r0, _080AA0FC @ =gUnknown_03004288
|
|
ldrh r0, [r0]
|
|
strh r0, [r1]
|
|
adds r1, 0x2
|
|
ldr r0, _080AA100 @ =gUnknown_03004280
|
|
ldrh r0, [r0]
|
|
strh r0, [r1]
|
|
adds r1, 0x2
|
|
ldr r0, _080AA104 @ =gUnknown_030041B0
|
|
ldrh r0, [r0]
|
|
strh r0, [r1]
|
|
adds r1, 0x2
|
|
ldr r0, _080AA108 @ =gUnknown_030041B8
|
|
ldrh r0, [r0]
|
|
strh r0, [r1]
|
|
bl LoadOam
|
|
bl ProcessSpriteCopyRequests
|
|
bl TransferPlttBuffer
|
|
bl sub_8089668
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AA0E8: .4byte REG_BG0HOFS
|
|
_080AA0EC: .4byte gUnknown_030042A4
|
|
_080AA0F0: .4byte gUnknown_030042A0
|
|
_080AA0F4: .4byte gUnknown_030042C0
|
|
_080AA0F8: .4byte gUnknown_030041B4
|
|
_080AA0FC: .4byte gUnknown_03004288
|
|
_080AA100: .4byte gUnknown_03004280
|
|
_080AA104: .4byte gUnknown_030041B0
|
|
_080AA108: .4byte gUnknown_030041B8
|
|
thumb_func_end sub_80AA090
|
|
|
|
thumb_func_start sub_80AA10C
|
|
sub_80AA10C: @ 80AA10C
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0x4
|
|
ldr r4, _080AA238 @ =gPaletteFade
|
|
ldrb r0, [r4, 0x8]
|
|
movs r1, 0x80
|
|
orrs r0, r1
|
|
strb r0, [r4, 0x8]
|
|
movs r0, 0
|
|
bl SetVBlankCallback
|
|
bl sub_80A9F50
|
|
bl dp12_8087EA4
|
|
bl ResetPaletteFade
|
|
bl ResetSpriteData
|
|
bl ResetTasks
|
|
bl FreeAllSpritePalettes
|
|
bl sub_80A9FE4
|
|
ldr r0, _080AA23C @ =sub_80AA090
|
|
bl SetVBlankCallback
|
|
ldr r0, _080AA240 @ =sub_80AA064
|
|
bl SetMainCallback2
|
|
ldrb r1, [r4, 0x8]
|
|
movs r0, 0x7F
|
|
ands r0, r1
|
|
strb r0, [r4, 0x8]
|
|
ldr r4, _080AA244 @ =gUnknown_02038694
|
|
movs r0, 0
|
|
strb r0, [r4]
|
|
ldr r0, _080AA248 @ =gUnknown_02038570
|
|
ldrb r0, [r0, 0x2]
|
|
cmp r0, 0
|
|
bne _080AA16A
|
|
movs r0, 0
|
|
movs r1, 0
|
|
bl sub_80AE398
|
|
_080AA16A:
|
|
ldrb r0, [r4]
|
|
bl sub_80AE098
|
|
movs r5, 0
|
|
ldr r6, _080AA24C @ =gUnknown_083C9276
|
|
adds r0, r6, 0x1
|
|
mov r8, r0
|
|
ldr r7, _080AA250 @ =gUnknown_083C9364
|
|
_080AA17A:
|
|
lsls r2, r5, 2
|
|
adds r0, r2, r7
|
|
ldr r1, [r0]
|
|
adds r2, r5
|
|
lsls r2, 17
|
|
movs r0, 0xA8
|
|
lsls r0, 14
|
|
adds r2, r0
|
|
lsrs r2, 16
|
|
lsls r4, r5, 1
|
|
adds r0, r4, r6
|
|
ldrb r3, [r0]
|
|
add r4, r8
|
|
ldrb r0, [r4]
|
|
str r0, [sp]
|
|
ldr r0, _080AA254 @ =gMenuWindow
|
|
bl sub_8003460
|
|
adds r0, r5, 0x1
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
cmp r5, 0x5
|
|
bls _080AA17A
|
|
ldr r1, _080AA258 @ =gUnknown_0203869C
|
|
ldr r4, _080AA25C @ =gUnknown_0203869E
|
|
movs r0, 0
|
|
strh r0, [r4]
|
|
strh r0, [r1]
|
|
movs r5, 0
|
|
movs r0, 0
|
|
bl sub_80AA5BC
|
|
ldrb r0, [r4]
|
|
bl sub_80AA5E8
|
|
ldr r4, _080AA254 @ =gMenuWindow
|
|
ldr r1, _080AA260 @ =gUnknown_083C9337
|
|
movs r0, 0x12
|
|
str r0, [sp]
|
|
adds r0, r4, 0
|
|
movs r2, 0xD6
|
|
movs r3, 0x12
|
|
bl sub_8003460
|
|
ldr r1, _080AA264 @ =gUnknown_083C933B
|
|
movs r0, 0xC
|
|
str r0, [sp]
|
|
adds r0, r4, 0
|
|
movs r2, 0xDC
|
|
movs r3, 0
|
|
bl sub_8003460
|
|
ldr r0, _080AA268 @ =gUnknown_083C92B4
|
|
bl LoadSpriteSheet
|
|
ldr r0, _080AA26C @ =gUnknown_083C92BC
|
|
bl LoadSpritePalette
|
|
movs r0, 0x3
|
|
bl sub_80AA280
|
|
movs r0, 0x3
|
|
bl sub_80AA658
|
|
movs r0, 0x3
|
|
movs r1, 0
|
|
bl sub_80AA614
|
|
ldr r0, _080AA270 @ =gSpriteTemplate_83C92CC
|
|
ldr r1, _080AA274 @ =gUnknown_083C9296
|
|
ldrb r1, [r1, 0x3]
|
|
ldr r2, _080AA278 @ =gUnknown_083C92A8
|
|
ldrb r2, [r2, 0x1]
|
|
movs r3, 0x5
|
|
bl CreateSprite
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r2, _080AA27C @ =gSprites
|
|
lsls r1, r0, 4
|
|
adds r1, r0
|
|
lsls r1, 2
|
|
adds r1, r2
|
|
movs r0, 0x1
|
|
strh r0, [r1, 0x2E]
|
|
strh r0, [r1, 0x30]
|
|
movs r0, 0x3
|
|
strh r0, [r1, 0x32]
|
|
strh r5, [r1, 0x34]
|
|
add sp, 0x4
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AA238: .4byte gPaletteFade
|
|
_080AA23C: .4byte sub_80AA090
|
|
_080AA240: .4byte sub_80AA064
|
|
_080AA244: .4byte gUnknown_02038694
|
|
_080AA248: .4byte gUnknown_02038570
|
|
_080AA24C: .4byte gUnknown_083C9276
|
|
_080AA250: .4byte gUnknown_083C9364
|
|
_080AA254: .4byte gMenuWindow
|
|
_080AA258: .4byte gUnknown_0203869C
|
|
_080AA25C: .4byte gUnknown_0203869E
|
|
_080AA260: .4byte gUnknown_083C9337
|
|
_080AA264: .4byte gUnknown_083C933B
|
|
_080AA268: .4byte gUnknown_083C92B4
|
|
_080AA26C: .4byte gUnknown_083C92BC
|
|
_080AA270: .4byte gSpriteTemplate_83C92CC
|
|
_080AA274: .4byte gUnknown_083C9296
|
|
_080AA278: .4byte gUnknown_083C92A8
|
|
_080AA27C: .4byte gSprites
|
|
thumb_func_end sub_80AA10C
|
|
|
|
thumb_func_start sub_80AA280
|
|
sub_80AA280: @ 80AA280
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0x8
|
|
lsls r0, 24
|
|
lsrs r7, r0, 24
|
|
ldr r0, _080AA2E8 @ =gMenuWindow
|
|
movs r1, 0x1E
|
|
str r1, [sp]
|
|
movs r1, 0x3
|
|
str r1, [sp, 0x4]
|
|
movs r1, 0
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl FillWindowRect_DefaultPalette
|
|
ldr r4, _080AA2EC @ =0x02000000
|
|
ldr r1, _080AA2F0 @ =gUnknown_083C932C
|
|
adds r0, r4, 0
|
|
bl StringCopy
|
|
lsls r1, r7, 6
|
|
ldr r0, _080AA2F4 @ =gUnknown_0203857D
|
|
adds r1, r0
|
|
adds r0, r4, 0
|
|
bl StringAppend
|
|
movs r5, 0
|
|
ldr r6, _080AA2F8 @ =gUnknown_083C926E
|
|
adds r0, r6, 0x1
|
|
mov r8, r0
|
|
_080AA2BE:
|
|
cmp r7, r5
|
|
bne _080AA2FC
|
|
lsls r2, r5, 2
|
|
adds r2, r5
|
|
lsls r2, 17
|
|
movs r0, 0x80
|
|
lsls r0, 10
|
|
adds r2, r0
|
|
lsrs r2, 16
|
|
lsls r1, r5, 1
|
|
adds r0, r1, r6
|
|
ldrb r3, [r0]
|
|
add r1, r8
|
|
ldrb r0, [r1]
|
|
str r0, [sp]
|
|
ldr r0, _080AA2E8 @ =gMenuWindow
|
|
ldr r1, _080AA2EC @ =0x02000000
|
|
bl sub_8003460
|
|
b _080AA322
|
|
.align 2, 0
|
|
_080AA2E8: .4byte gMenuWindow
|
|
_080AA2EC: .4byte 0x02000000
|
|
_080AA2F0: .4byte gUnknown_083C932C
|
|
_080AA2F4: .4byte gUnknown_0203857D
|
|
_080AA2F8: .4byte gUnknown_083C926E
|
|
_080AA2FC:
|
|
lsls r1, r5, 6
|
|
ldr r0, _080AA338 @ =gUnknown_0203857D
|
|
adds r1, r0
|
|
lsls r2, r5, 2
|
|
adds r2, r5
|
|
lsls r2, 17
|
|
movs r0, 0x80
|
|
lsls r0, 10
|
|
adds r2, r0
|
|
lsrs r2, 16
|
|
lsls r4, r5, 1
|
|
adds r0, r4, r6
|
|
ldrb r3, [r0]
|
|
add r4, r8
|
|
ldrb r0, [r4]
|
|
str r0, [sp]
|
|
ldr r0, _080AA33C @ =gMenuWindow
|
|
bl sub_8003460
|
|
_080AA322:
|
|
adds r0, r5, 0x1
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
cmp r5, 0x3
|
|
bls _080AA2BE
|
|
add sp, 0x8
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AA338: .4byte gUnknown_0203857D
|
|
_080AA33C: .4byte gMenuWindow
|
|
thumb_func_end sub_80AA280
|
|
|
|
thumb_func_start sub_80AA340
|
|
sub_80AA340: @ 80AA340
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
lsls r0, 24
|
|
ldr r4, _080AA378 @ =0x02000000
|
|
ldr r1, _080AA37C @ =gUnknown_02038570
|
|
lsrs r0, 18
|
|
adds r0, r1
|
|
adds r0, 0x26
|
|
ldrb r1, [r0]
|
|
adds r0, r4, 0
|
|
movs r2, 0x1
|
|
movs r3, 0x3
|
|
bl ConvertIntToDecimalStringN
|
|
ldr r0, _080AA380 @ =gMenuWindow
|
|
ldr r1, _080AA384 @ =gUnknown_083C9282
|
|
ldrb r3, [r1]
|
|
ldrb r1, [r1, 0x1]
|
|
str r1, [sp]
|
|
adds r1, r4, 0
|
|
movs r2, 0x66
|
|
bl sub_8003460
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AA378: .4byte 0x02000000
|
|
_080AA37C: .4byte gUnknown_02038570
|
|
_080AA380: .4byte gMenuWindow
|
|
_080AA384: .4byte gUnknown_083C9282
|
|
thumb_func_end sub_80AA340
|
|
|
|
thumb_func_start sub_80AA388
|
|
sub_80AA388: @ 80AA388
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
lsls r0, 24
|
|
ldr r4, _080AA3C0 @ =0x02000000
|
|
ldr r1, _080AA3C4 @ =gUnknown_02038570
|
|
lsrs r0, 18
|
|
adds r0, r1
|
|
adds r0, 0x28
|
|
ldrb r1, [r0]
|
|
adds r0, r4, 0
|
|
movs r2, 0x1
|
|
movs r3, 0x3
|
|
bl ConvertIntToDecimalStringN
|
|
ldr r0, _080AA3C8 @ =gMenuWindow
|
|
ldr r1, _080AA3CC @ =gUnknown_083C9282
|
|
ldrb r3, [r1, 0x2]
|
|
ldrb r1, [r1, 0x3]
|
|
str r1, [sp]
|
|
adds r1, r4, 0
|
|
movs r2, 0x6C
|
|
bl sub_8003460
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AA3C0: .4byte 0x02000000
|
|
_080AA3C4: .4byte gUnknown_02038570
|
|
_080AA3C8: .4byte gMenuWindow
|
|
_080AA3CC: .4byte gUnknown_083C9282
|
|
thumb_func_end sub_80AA388
|
|
|
|
thumb_func_start sub_80AA3D0
|
|
sub_80AA3D0: @ 80AA3D0
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
lsls r0, 24
|
|
ldr r4, _080AA408 @ =0x02000000
|
|
ldr r1, _080AA40C @ =gUnknown_02038570
|
|
lsrs r0, 18
|
|
adds r0, r1
|
|
adds r0, 0x27
|
|
ldrb r1, [r0]
|
|
adds r0, r4, 0
|
|
movs r2, 0x1
|
|
movs r3, 0x3
|
|
bl ConvertIntToDecimalStringN
|
|
ldr r0, _080AA410 @ =gMenuWindow
|
|
ldr r1, _080AA414 @ =gUnknown_083C9282
|
|
ldrb r3, [r1, 0x4]
|
|
ldrb r1, [r1, 0x5]
|
|
str r1, [sp]
|
|
adds r1, r4, 0
|
|
movs r2, 0x72
|
|
bl sub_8003460
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AA408: .4byte 0x02000000
|
|
_080AA40C: .4byte gUnknown_02038570
|
|
_080AA410: .4byte gMenuWindow
|
|
_080AA414: .4byte gUnknown_083C9282
|
|
thumb_func_end sub_80AA3D0
|
|
|
|
thumb_func_start sub_80AA418
|
|
sub_80AA418: @ 80AA418
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
lsls r0, 24
|
|
ldr r4, _080AA450 @ =0x02000000
|
|
ldr r1, _080AA454 @ =gUnknown_02038570
|
|
lsrs r0, 18
|
|
adds r0, r1
|
|
adds r0, 0x29
|
|
ldrb r1, [r0]
|
|
adds r0, r4, 0
|
|
movs r2, 0x1
|
|
movs r3, 0x3
|
|
bl ConvertIntToDecimalStringN
|
|
ldr r0, _080AA458 @ =gMenuWindow
|
|
ldr r1, _080AA45C @ =gUnknown_083C9282
|
|
ldrb r3, [r1, 0x6]
|
|
ldrb r1, [r1, 0x7]
|
|
str r1, [sp]
|
|
adds r1, r4, 0
|
|
movs r2, 0x78
|
|
bl sub_8003460
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AA450: .4byte 0x02000000
|
|
_080AA454: .4byte gUnknown_02038570
|
|
_080AA458: .4byte gMenuWindow
|
|
_080AA45C: .4byte gUnknown_083C9282
|
|
thumb_func_end sub_80AA418
|
|
|
|
thumb_func_start sub_80AA460
|
|
sub_80AA460: @ 80AA460
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
lsls r0, 24
|
|
ldr r4, _080AA498 @ =0x02000000
|
|
ldr r1, _080AA49C @ =gUnknown_02038570
|
|
lsrs r0, 18
|
|
adds r0, r1
|
|
adds r0, 0x2A
|
|
ldrb r1, [r0]
|
|
adds r0, r4, 0
|
|
movs r2, 0x1
|
|
movs r3, 0x3
|
|
bl ConvertIntToDecimalStringN
|
|
ldr r0, _080AA4A0 @ =gMenuWindow
|
|
ldr r1, _080AA4A4 @ =gUnknown_083C9282
|
|
ldrb r3, [r1, 0x8]
|
|
ldrb r1, [r1, 0x9]
|
|
str r1, [sp]
|
|
adds r1, r4, 0
|
|
movs r2, 0x7E
|
|
bl sub_8003460
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AA498: .4byte 0x02000000
|
|
_080AA49C: .4byte gUnknown_02038570
|
|
_080AA4A0: .4byte gMenuWindow
|
|
_080AA4A4: .4byte gUnknown_083C9282
|
|
thumb_func_end sub_80AA460
|
|
|
|
thumb_func_start sub_80AA4A8
|
|
sub_80AA4A8: @ 80AA4A8
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
lsls r0, 24
|
|
ldr r4, _080AA4E0 @ =0x02000000
|
|
ldr r1, _080AA4E4 @ =gUnknown_02038570
|
|
lsrs r0, 18
|
|
adds r0, r1
|
|
adds r0, 0x2B
|
|
ldrb r1, [r0]
|
|
adds r0, r4, 0
|
|
movs r2, 0x1
|
|
movs r3, 0x3
|
|
bl ConvertIntToDecimalStringN
|
|
ldr r0, _080AA4E8 @ =gMenuWindow
|
|
ldr r1, _080AA4EC @ =gUnknown_083C9282
|
|
ldrb r3, [r1, 0xA]
|
|
ldrb r1, [r1, 0xB]
|
|
str r1, [sp]
|
|
adds r1, r4, 0
|
|
movs r2, 0x84
|
|
bl sub_8003460
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AA4E0: .4byte 0x02000000
|
|
_080AA4E4: .4byte gUnknown_02038570
|
|
_080AA4E8: .4byte gMenuWindow
|
|
_080AA4EC: .4byte gUnknown_083C9282
|
|
thumb_func_end sub_80AA4A8
|
|
|
|
thumb_func_start sub_80AA4F0
|
|
sub_80AA4F0: @ 80AA4F0
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x8
|
|
adds r4, r0, 0
|
|
adds r6, r1, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
lsls r6, 24
|
|
lsrs r6, 24
|
|
ldr r7, _080AA5A8 @ =gMenuWindow
|
|
ldr r0, _080AA5AC @ =gUnknown_083C928E
|
|
lsls r5, r6, 1
|
|
adds r1, r5, r0
|
|
ldrb r1, [r1]
|
|
mov r9, r1
|
|
adds r0, 0x1
|
|
adds r0, r5, r0
|
|
ldrb r0, [r0]
|
|
mov r10, r0
|
|
movs r0, 0x7
|
|
add r0, r9
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r8, r0
|
|
str r0, [sp]
|
|
mov r0, r10
|
|
adds r0, 0x1
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
str r0, [sp, 0x4]
|
|
adds r0, r7, 0
|
|
movs r1, 0
|
|
mov r2, r9
|
|
mov r3, r10
|
|
bl FillWindowRect_DefaultPalette
|
|
ldr r0, _080AA5B0 @ =gUnknown_02038570
|
|
lsls r4, 6
|
|
adds r4, r5, r4
|
|
adds r0, 0x1E
|
|
adds r4, r0
|
|
ldrh r1, [r4]
|
|
movs r0, 0xD
|
|
muls r1, r0
|
|
ldr r0, _080AA5B4 @ =gMoveNames
|
|
adds r1, r0
|
|
lsls r2, r6, 3
|
|
subs r2, r6
|
|
lsls r2, 17
|
|
movs r0, 0x8A
|
|
lsls r0, 16
|
|
adds r2, r0
|
|
lsrs r2, 16
|
|
mov r0, r10
|
|
str r0, [sp]
|
|
adds r0, r7, 0
|
|
mov r3, r9
|
|
bl sub_8003460
|
|
ldr r0, _080AA5B8 @ =gStringVar1
|
|
mov r9, r0
|
|
ldrh r1, [r4]
|
|
movs r2, 0x2
|
|
movs r3, 0x3
|
|
bl ConvertIntToDecimalStringN
|
|
adds r5, r6
|
|
lsls r5, 17
|
|
movs r0, 0xFA
|
|
lsls r0, 16
|
|
adds r5, r0
|
|
lsrs r5, 16
|
|
mov r0, r10
|
|
str r0, [sp]
|
|
adds r0, r7, 0
|
|
mov r1, r9
|
|
adds r2, r5, 0
|
|
mov r3, r8
|
|
bl sub_8003460
|
|
add sp, 0x8
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AA5A8: .4byte gMenuWindow
|
|
_080AA5AC: .4byte gUnknown_083C928E
|
|
_080AA5B0: .4byte gUnknown_02038570
|
|
_080AA5B4: .4byte gMoveNames
|
|
_080AA5B8: .4byte gStringVar1
|
|
thumb_func_end sub_80AA4F0
|
|
|
|
thumb_func_start sub_80AA5BC
|
|
sub_80AA5BC: @ 80AA5BC
|
|
push {lr}
|
|
sub sp, 0x4
|
|
lsls r0, 24
|
|
ldr r2, _080AA5E0 @ =gMenuWindow
|
|
ldr r1, _080AA5E4 @ =gUnknown_083C93B4
|
|
lsrs r0, 22
|
|
adds r0, r1
|
|
ldr r1, [r0]
|
|
movs r0, 0x12
|
|
str r0, [sp]
|
|
adds r0, r2, 0
|
|
movs r2, 0xC2
|
|
movs r3, 0x3
|
|
bl sub_8003460
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AA5E0: .4byte gMenuWindow
|
|
_080AA5E4: .4byte gUnknown_083C93B4
|
|
thumb_func_end sub_80AA5BC
|
|
|
|
thumb_func_start sub_80AA5E8
|
|
sub_80AA5E8: @ 80AA5E8
|
|
push {lr}
|
|
sub sp, 0x4
|
|
lsls r0, 24
|
|
ldr r2, _080AA60C @ =gMenuWindow
|
|
ldr r1, _080AA610 @ =gUnknown_083C93F0
|
|
lsrs r0, 22
|
|
adds r0, r1
|
|
ldr r1, [r0]
|
|
movs r0, 0x4
|
|
str r0, [sp]
|
|
adds r0, r2, 0
|
|
movs r2, 0xE8
|
|
movs r3, 0x3
|
|
bl sub_8003460
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AA60C: .4byte gMenuWindow
|
|
_080AA610: .4byte gUnknown_083C93F0
|
|
thumb_func_end sub_80AA5E8
|
|
|
|
thumb_func_start sub_80AA614
|
|
sub_80AA614: @ 80AA614
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
bl sub_80AE770
|
|
adds r1, r0, 0
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
ldr r4, _080AA650 @ =0x02000000
|
|
adds r0, r4, 0
|
|
movs r2, 0x1
|
|
movs r3, 0x3
|
|
bl ConvertIntToDecimalStringN
|
|
ldr r0, _080AA654 @ =gMenuWindow
|
|
movs r1, 0xC
|
|
str r1, [sp]
|
|
adds r1, r4, 0
|
|
movs r2, 0xE2
|
|
movs r3, 0x3
|
|
bl sub_8003460
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AA650: .4byte 0x02000000
|
|
_080AA654: .4byte gMenuWindow
|
|
thumb_func_end sub_80AA614
|
|
|
|
thumb_func_start sub_80AA658
|
|
sub_80AA658: @ 80AA658
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
adds r0, r5, 0
|
|
bl sub_80AA340
|
|
adds r0, r5, 0
|
|
bl sub_80AA388
|
|
adds r0, r5, 0
|
|
bl sub_80AA3D0
|
|
adds r0, r5, 0
|
|
bl sub_80AA418
|
|
adds r0, r5, 0
|
|
bl sub_80AA460
|
|
adds r0, r5, 0
|
|
bl sub_80AA4A8
|
|
movs r4, 0
|
|
_080AA684:
|
|
adds r0, r5, 0
|
|
adds r1, r4, 0
|
|
bl sub_80AA4F0
|
|
adds r0, r4, 0x1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0x3
|
|
bls _080AA684
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80AA658
|
|
|
|
thumb_func_start sub_80AA69C
|
|
sub_80AA69C: @ 80AA69C
|
|
push {r4-r6,lr}
|
|
ldr r6, _080AA748 @ =gPlayerParty
|
|
ldr r5, _080AA74C @ =gUnknown_02038695
|
|
ldrb r2, [r5]
|
|
lsls r2, 6
|
|
ldr r4, _080AA750 @ =gUnknown_02038596
|
|
adds r2, r4
|
|
adds r0, r6, 0
|
|
movs r1, 0x16
|
|
bl SetMonData
|
|
ldrb r2, [r5]
|
|
lsls r2, 6
|
|
adds r0, r4, 0x2
|
|
adds r2, r0
|
|
adds r0, r6, 0
|
|
movs r1, 0x18
|
|
bl SetMonData
|
|
ldrb r2, [r5]
|
|
lsls r2, 6
|
|
adds r0, r4, 0x1
|
|
adds r2, r0
|
|
adds r0, r6, 0
|
|
movs r1, 0x17
|
|
bl SetMonData
|
|
ldrb r2, [r5]
|
|
lsls r2, 6
|
|
adds r0, r4, 0x3
|
|
adds r2, r0
|
|
adds r0, r6, 0
|
|
movs r1, 0x21
|
|
bl SetMonData
|
|
ldrb r2, [r5]
|
|
lsls r2, 6
|
|
adds r0, r4, 0x4
|
|
adds r2, r0
|
|
adds r0, r6, 0
|
|
movs r1, 0x2F
|
|
bl SetMonData
|
|
ldrb r2, [r5]
|
|
lsls r2, 6
|
|
adds r0, r4, 0x5
|
|
adds r2, r0
|
|
adds r0, r6, 0
|
|
movs r1, 0x30
|
|
bl SetMonData
|
|
ldrb r2, [r5]
|
|
lsls r2, 6
|
|
subs r4, 0x8
|
|
adds r2, r4
|
|
adds r0, r6, 0
|
|
movs r1, 0xD
|
|
bl SetMonData
|
|
ldrb r2, [r5]
|
|
lsls r2, 6
|
|
adds r2, r4
|
|
adds r2, 0x2
|
|
adds r0, r6, 0
|
|
movs r1, 0xE
|
|
bl SetMonData
|
|
ldrb r2, [r5]
|
|
lsls r2, 6
|
|
adds r2, r4
|
|
adds r2, 0x4
|
|
adds r0, r6, 0
|
|
movs r1, 0xF
|
|
bl SetMonData
|
|
ldrb r2, [r5]
|
|
lsls r2, 6
|
|
adds r2, r4
|
|
adds r2, 0x6
|
|
adds r0, r6, 0
|
|
movs r1, 0x10
|
|
bl SetMonData
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AA748: .4byte gPlayerParty
|
|
_080AA74C: .4byte gUnknown_02038695
|
|
_080AA750: .4byte gUnknown_02038596
|
|
thumb_func_end sub_80AA69C
|
|
|
|
thumb_func_start sub_80AA754
|
|
sub_80AA754: @ 80AA754
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
ldr r0, _080AA774 @ =gMain
|
|
ldrh r1, [r0, 0x30]
|
|
cmp r1, 0x20
|
|
beq _080AA7A2
|
|
cmp r1, 0x20
|
|
bgt _080AA782
|
|
cmp r1, 0x2
|
|
beq _080AA7F8
|
|
cmp r1, 0x2
|
|
bgt _080AA778
|
|
cmp r1, 0x1
|
|
beq _080AA7D8
|
|
b _080AA870
|
|
.align 2, 0
|
|
_080AA774: .4byte gMain
|
|
_080AA778:
|
|
cmp r1, 0x8
|
|
beq _080AA868
|
|
cmp r1, 0x10
|
|
beq _080AA7A2
|
|
b _080AA870
|
|
_080AA782:
|
|
cmp r1, 0x80
|
|
beq _080AA7C2
|
|
cmp r1, 0x80
|
|
bgt _080AA790
|
|
cmp r1, 0x40
|
|
beq _080AA7AC
|
|
b _080AA870
|
|
_080AA790:
|
|
movs r0, 0x80
|
|
lsls r0, 1
|
|
cmp r1, r0
|
|
beq _080AA814
|
|
movs r0, 0x80
|
|
lsls r0, 2
|
|
cmp r1, r0
|
|
beq _080AA834
|
|
b _080AA870
|
|
_080AA7A2:
|
|
ldrh r0, [r4, 0x2E]
|
|
movs r1, 0x1
|
|
eors r0, r1
|
|
strh r0, [r4, 0x2E]
|
|
b _080AA870
|
|
_080AA7AC:
|
|
ldrh r1, [r4, 0x30]
|
|
movs r2, 0x30
|
|
ldrsh r0, [r4, r2]
|
|
cmp r0, 0
|
|
bne _080AA7BC
|
|
movs r0, 0x8
|
|
strh r0, [r4, 0x30]
|
|
b _080AA870
|
|
_080AA7BC:
|
|
subs r0, r1, 0x1
|
|
strh r0, [r4, 0x30]
|
|
b _080AA870
|
|
_080AA7C2:
|
|
ldrh r1, [r4, 0x30]
|
|
movs r3, 0x30
|
|
ldrsh r0, [r4, r3]
|
|
cmp r0, 0x8
|
|
bne _080AA7D2
|
|
movs r0, 0
|
|
strh r0, [r4, 0x30]
|
|
b _080AA870
|
|
_080AA7D2:
|
|
adds r0, r1, 0x1
|
|
strh r0, [r4, 0x30]
|
|
b _080AA870
|
|
_080AA7D8:
|
|
ldr r2, _080AA7F4 @ =gUnknown_083C92E4
|
|
movs r1, 0x2E
|
|
ldrsh r0, [r4, r1]
|
|
lsls r0, 2
|
|
movs r3, 0x30
|
|
ldrsh r1, [r4, r3]
|
|
lsls r1, 3
|
|
adds r0, r1
|
|
adds r0, r2
|
|
ldr r2, [r0]
|
|
adds r0, r4, 0
|
|
movs r1, 0x1
|
|
b _080AA84E
|
|
.align 2, 0
|
|
_080AA7F4: .4byte gUnknown_083C92E4
|
|
_080AA7F8:
|
|
ldr r1, _080AA810 @ =gUnknown_083C92E4
|
|
movs r0, 0x2E
|
|
ldrsh r2, [r4, r0]
|
|
lsls r2, 2
|
|
movs r3, 0x30
|
|
ldrsh r0, [r4, r3]
|
|
lsls r0, 3
|
|
adds r2, r0
|
|
adds r2, r1
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
b _080AA84A
|
|
.align 2, 0
|
|
_080AA810: .4byte gUnknown_083C92E4
|
|
_080AA814:
|
|
ldr r2, _080AA830 @ =gUnknown_083C92E4
|
|
movs r1, 0x2E
|
|
ldrsh r0, [r4, r1]
|
|
lsls r0, 2
|
|
movs r3, 0x30
|
|
ldrsh r1, [r4, r3]
|
|
lsls r1, 3
|
|
adds r0, r1
|
|
adds r0, r2
|
|
ldr r2, [r0]
|
|
adds r0, r4, 0
|
|
movs r1, 0xA
|
|
b _080AA84E
|
|
.align 2, 0
|
|
_080AA830: .4byte gUnknown_083C92E4
|
|
_080AA834:
|
|
ldr r1, _080AA864 @ =gUnknown_083C92E4
|
|
movs r0, 0x2E
|
|
ldrsh r2, [r4, r0]
|
|
lsls r2, 2
|
|
movs r3, 0x30
|
|
ldrsh r0, [r4, r3]
|
|
lsls r0, 3
|
|
adds r2, r0
|
|
adds r2, r1
|
|
movs r1, 0xA
|
|
negs r1, r1
|
|
_080AA84A:
|
|
ldr r2, [r2]
|
|
adds r0, r4, 0
|
|
_080AA84E:
|
|
bl _call_via_r2
|
|
ldrh r0, [r4, 0x32]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldrh r1, [r4, 0x34]
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
bl sub_80AA614
|
|
b _080AA870
|
|
.align 2, 0
|
|
_080AA864: .4byte gUnknown_083C92E4
|
|
_080AA868:
|
|
adds r0, r4, 0
|
|
movs r1, 0x1
|
|
bl sub_80AAD08
|
|
_080AA870:
|
|
ldr r2, _080AA898 @ =gUnknown_083C9296
|
|
movs r0, 0x2E
|
|
ldrsh r1, [r4, r0]
|
|
movs r3, 0x30
|
|
ldrsh r0, [r4, r3]
|
|
lsls r0, 1
|
|
adds r1, r0
|
|
adds r1, r2
|
|
ldrb r0, [r1]
|
|
strh r0, [r4, 0x20]
|
|
ldr r1, _080AA89C @ =gUnknown_083C92A8
|
|
movs r2, 0x30
|
|
ldrsh r0, [r4, r2]
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
strh r0, [r4, 0x22]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AA898: .4byte gUnknown_083C9296
|
|
_080AA89C: .4byte gUnknown_083C92A8
|
|
thumb_func_end sub_80AA754
|
|
|
|
thumb_func_start sub_80AA8A0
|
|
sub_80AA8A0: @ 80AA8A0
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
lsls r2, 24
|
|
lsrs r0, r2, 24
|
|
lsls r1, 24
|
|
asrs r1, 24
|
|
cmp r1, 0x1
|
|
bne _080AA8C0
|
|
strh r0, [r4, 0x32]
|
|
bl sub_80AA280
|
|
ldrh r0, [r4, 0x32]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_80AA658
|
|
_080AA8C0:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80AA8A0
|
|
|
|
thumb_func_start sub_80AA8C8
|
|
sub_80AA8C8: @ 80AA8C8
|
|
push {lr}
|
|
lsls r1, 24
|
|
asrs r1, 24
|
|
movs r2, 0
|
|
bl sub_80AA8A0
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80AA8C8
|
|
|
|
thumb_func_start sub_80AA8D8
|
|
sub_80AA8D8: @ 80AA8D8
|
|
push {lr}
|
|
lsls r1, 24
|
|
asrs r1, 24
|
|
movs r2, 0x1
|
|
bl sub_80AA8A0
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80AA8D8
|
|
|
|
thumb_func_start sub_80AA8E8
|
|
sub_80AA8E8: @ 80AA8E8
|
|
push {lr}
|
|
lsls r1, 24
|
|
asrs r1, 24
|
|
movs r2, 0x2
|
|
bl sub_80AA8A0
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80AA8E8
|
|
|
|
thumb_func_start sub_80AA8F8
|
|
sub_80AA8F8: @ 80AA8F8
|
|
push {lr}
|
|
lsls r1, 24
|
|
asrs r1, 24
|
|
movs r2, 0x3
|
|
bl sub_80AA8A0
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80AA8F8
|
|
|
|
thumb_func_start sub_80AA908
|
|
sub_80AA908: @ 80AA908
|
|
push {lr}
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
lsls r2, 24
|
|
asrs r2, 24
|
|
adds r2, r1
|
|
lsls r2, 16
|
|
lsrs r0, r2, 16
|
|
asrs r2, 16
|
|
cmp r2, 0xFF
|
|
ble _080AA922
|
|
movs r0, 0xFF
|
|
b _080AA928
|
|
_080AA922:
|
|
cmp r2, 0
|
|
bge _080AA928
|
|
movs r0, 0
|
|
_080AA928:
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80AA908
|
|
|
|
thumb_func_start sub_80AA930
|
|
sub_80AA930: @ 80AA930
|
|
push {r4,r5,lr}
|
|
adds r4, r0, 0
|
|
ldrh r0, [r4, 0x32]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r5, _080AA970 @ =gUnknown_02038570
|
|
movs r3, 0x32
|
|
ldrsh r2, [r4, r3]
|
|
lsls r2, 6
|
|
adds r2, r5
|
|
adds r2, 0x26
|
|
ldrb r3, [r2]
|
|
lsls r2, r1, 24
|
|
asrs r2, 24
|
|
adds r1, r3, 0
|
|
bl sub_80AA908
|
|
movs r2, 0x32
|
|
ldrsh r1, [r4, r2]
|
|
lsls r1, 6
|
|
adds r1, r5
|
|
adds r1, 0x26
|
|
strb r0, [r1]
|
|
ldrh r0, [r4, 0x32]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_80AA340
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AA970: .4byte gUnknown_02038570
|
|
thumb_func_end sub_80AA930
|
|
|
|
thumb_func_start sub_80AA974
|
|
sub_80AA974: @ 80AA974
|
|
push {r4,r5,lr}
|
|
adds r4, r0, 0
|
|
ldrh r0, [r4, 0x32]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r5, _080AA9B4 @ =gUnknown_02038570
|
|
movs r3, 0x32
|
|
ldrsh r2, [r4, r3]
|
|
lsls r2, 6
|
|
adds r2, r5
|
|
adds r2, 0x28
|
|
ldrb r3, [r2]
|
|
lsls r2, r1, 24
|
|
asrs r2, 24
|
|
adds r1, r3, 0
|
|
bl sub_80AA908
|
|
movs r2, 0x32
|
|
ldrsh r1, [r4, r2]
|
|
lsls r1, 6
|
|
adds r1, r5
|
|
adds r1, 0x28
|
|
strb r0, [r1]
|
|
ldrh r0, [r4, 0x32]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_80AA388
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AA9B4: .4byte gUnknown_02038570
|
|
thumb_func_end sub_80AA974
|
|
|
|
thumb_func_start sub_80AA9B8
|
|
sub_80AA9B8: @ 80AA9B8
|
|
push {r4,r5,lr}
|
|
adds r4, r0, 0
|
|
ldrh r0, [r4, 0x32]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r5, _080AA9F8 @ =gUnknown_02038570
|
|
movs r3, 0x32
|
|
ldrsh r2, [r4, r3]
|
|
lsls r2, 6
|
|
adds r2, r5
|
|
adds r2, 0x27
|
|
ldrb r3, [r2]
|
|
lsls r2, r1, 24
|
|
asrs r2, 24
|
|
adds r1, r3, 0
|
|
bl sub_80AA908
|
|
movs r2, 0x32
|
|
ldrsh r1, [r4, r2]
|
|
lsls r1, 6
|
|
adds r1, r5
|
|
adds r1, 0x27
|
|
strb r0, [r1]
|
|
ldrh r0, [r4, 0x32]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_80AA3D0
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AA9F8: .4byte gUnknown_02038570
|
|
thumb_func_end sub_80AA9B8
|
|
|
|
thumb_func_start sub_80AA9FC
|
|
sub_80AA9FC: @ 80AA9FC
|
|
push {r4,r5,lr}
|
|
adds r4, r0, 0
|
|
ldrh r0, [r4, 0x32]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r5, _080AAA3C @ =gUnknown_02038570
|
|
movs r3, 0x32
|
|
ldrsh r2, [r4, r3]
|
|
lsls r2, 6
|
|
adds r2, r5
|
|
adds r2, 0x29
|
|
ldrb r3, [r2]
|
|
lsls r2, r1, 24
|
|
asrs r2, 24
|
|
adds r1, r3, 0
|
|
bl sub_80AA908
|
|
movs r2, 0x32
|
|
ldrsh r1, [r4, r2]
|
|
lsls r1, 6
|
|
adds r1, r5
|
|
adds r1, 0x29
|
|
strb r0, [r1]
|
|
ldrh r0, [r4, 0x32]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_80AA418
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AAA3C: .4byte gUnknown_02038570
|
|
thumb_func_end sub_80AA9FC
|
|
|
|
thumb_func_start sub_80AAA40
|
|
sub_80AAA40: @ 80AAA40
|
|
push {r4,r5,lr}
|
|
adds r4, r0, 0
|
|
ldrh r0, [r4, 0x32]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r5, _080AAA80 @ =gUnknown_02038570
|
|
movs r3, 0x32
|
|
ldrsh r2, [r4, r3]
|
|
lsls r2, 6
|
|
adds r2, r5
|
|
adds r2, 0x2A
|
|
ldrb r3, [r2]
|
|
lsls r2, r1, 24
|
|
asrs r2, 24
|
|
adds r1, r3, 0
|
|
bl sub_80AA908
|
|
movs r2, 0x32
|
|
ldrsh r1, [r4, r2]
|
|
lsls r1, 6
|
|
adds r1, r5
|
|
adds r1, 0x2A
|
|
strb r0, [r1]
|
|
ldrh r0, [r4, 0x32]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_80AA460
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AAA80: .4byte gUnknown_02038570
|
|
thumb_func_end sub_80AAA40
|
|
|
|
thumb_func_start sub_80AAA84
|
|
sub_80AAA84: @ 80AAA84
|
|
push {r4,r5,lr}
|
|
adds r4, r0, 0
|
|
ldrh r0, [r4, 0x32]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r5, _080AAAC4 @ =gUnknown_02038570
|
|
movs r3, 0x32
|
|
ldrsh r2, [r4, r3]
|
|
lsls r2, 6
|
|
adds r2, r5
|
|
adds r2, 0x2B
|
|
ldrb r3, [r2]
|
|
lsls r2, r1, 24
|
|
asrs r2, 24
|
|
adds r1, r3, 0
|
|
bl sub_80AA908
|
|
movs r2, 0x32
|
|
ldrsh r1, [r4, r2]
|
|
lsls r1, 6
|
|
adds r1, r5
|
|
adds r1, 0x2B
|
|
strb r0, [r1]
|
|
ldrh r0, [r4, 0x32]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_80AA4A8
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AAAC4: .4byte gUnknown_02038570
|
|
thumb_func_end sub_80AAA84
|
|
|
|
thumb_func_start sub_80AAAC8
|
|
sub_80AAAC8: @ 80AAAC8
|
|
push {lr}
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
lsls r2, 24
|
|
asrs r2, 24
|
|
adds r1, r2
|
|
lsls r1, 16
|
|
lsrs r0, r1, 16
|
|
asrs r1, 16
|
|
movs r2, 0xB1
|
|
lsls r2, 1
|
|
cmp r1, r2
|
|
ble _080AAAE6
|
|
movs r0, 0x1
|
|
b _080AAAEC
|
|
_080AAAE6:
|
|
cmp r1, 0
|
|
bge _080AAAEC
|
|
adds r0, r2, 0
|
|
_080AAAEC:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80AAAC8
|
|
|
|
thumb_func_start sub_80AAAF0
|
|
sub_80AAAF0: @ 80AAAF0
|
|
push {r4,r5,lr}
|
|
adds r4, r0, 0
|
|
ldrh r0, [r4, 0x32]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r5, _080AAB2C @ =gUnknown_02038570
|
|
movs r3, 0x32
|
|
ldrsh r2, [r4, r3]
|
|
lsls r2, 6
|
|
adds r2, r5
|
|
ldrh r3, [r2, 0x1E]
|
|
lsls r2, r1, 24
|
|
asrs r2, 24
|
|
adds r1, r3, 0
|
|
bl sub_80AAAC8
|
|
movs r2, 0x32
|
|
ldrsh r1, [r4, r2]
|
|
lsls r1, 6
|
|
adds r1, r5
|
|
strh r0, [r1, 0x1E]
|
|
ldrh r0, [r4, 0x32]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
movs r1, 0
|
|
bl sub_80AA4F0
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AAB2C: .4byte gUnknown_02038570
|
|
thumb_func_end sub_80AAAF0
|
|
|
|
thumb_func_start sub_80AAB30
|
|
sub_80AAB30: @ 80AAB30
|
|
push {r4,r5,lr}
|
|
adds r4, r0, 0
|
|
ldrh r0, [r4, 0x32]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r5, _080AAB6C @ =gUnknown_02038570
|
|
movs r3, 0x32
|
|
ldrsh r2, [r4, r3]
|
|
lsls r2, 6
|
|
adds r2, r5
|
|
ldrh r3, [r2, 0x20]
|
|
lsls r2, r1, 24
|
|
asrs r2, 24
|
|
adds r1, r3, 0
|
|
bl sub_80AAAC8
|
|
movs r2, 0x32
|
|
ldrsh r1, [r4, r2]
|
|
lsls r1, 6
|
|
adds r1, r5
|
|
strh r0, [r1, 0x20]
|
|
ldrh r0, [r4, 0x32]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
movs r1, 0x1
|
|
bl sub_80AA4F0
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AAB6C: .4byte gUnknown_02038570
|
|
thumb_func_end sub_80AAB30
|
|
|
|
thumb_func_start sub_80AAB70
|
|
sub_80AAB70: @ 80AAB70
|
|
push {r4,r5,lr}
|
|
adds r4, r0, 0
|
|
ldrh r0, [r4, 0x32]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r5, _080AABAC @ =gUnknown_02038570
|
|
movs r3, 0x32
|
|
ldrsh r2, [r4, r3]
|
|
lsls r2, 6
|
|
adds r2, r5
|
|
ldrh r3, [r2, 0x22]
|
|
lsls r2, r1, 24
|
|
asrs r2, 24
|
|
adds r1, r3, 0
|
|
bl sub_80AAAC8
|
|
movs r2, 0x32
|
|
ldrsh r1, [r4, r2]
|
|
lsls r1, 6
|
|
adds r1, r5
|
|
strh r0, [r1, 0x22]
|
|
ldrh r0, [r4, 0x32]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
movs r1, 0x2
|
|
bl sub_80AA4F0
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AABAC: .4byte gUnknown_02038570
|
|
thumb_func_end sub_80AAB70
|
|
|
|
thumb_func_start sub_80AABB0
|
|
sub_80AABB0: @ 80AABB0
|
|
push {r4,r5,lr}
|
|
adds r4, r0, 0
|
|
ldrh r0, [r4, 0x32]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r5, _080AABEC @ =gUnknown_02038570
|
|
movs r3, 0x32
|
|
ldrsh r2, [r4, r3]
|
|
lsls r2, 6
|
|
adds r2, r5
|
|
ldrh r3, [r2, 0x24]
|
|
lsls r2, r1, 24
|
|
asrs r2, 24
|
|
adds r1, r3, 0
|
|
bl sub_80AAAC8
|
|
movs r2, 0x32
|
|
ldrsh r1, [r4, r2]
|
|
lsls r1, 6
|
|
adds r1, r5
|
|
strh r0, [r1, 0x24]
|
|
ldrh r0, [r4, 0x32]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
movs r1, 0x3
|
|
bl sub_80AA4F0
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AABEC: .4byte gUnknown_02038570
|
|
thumb_func_end sub_80AABB0
|
|
|
|
thumb_func_start sub_80AABF0
|
|
sub_80AABF0: @ 80AABF0
|
|
push {r4,r5,lr}
|
|
adds r5, r0, 0
|
|
lsls r1, 24
|
|
movs r0, 0xFF
|
|
cmp r1, 0
|
|
ble _080AABFE
|
|
movs r0, 0x1
|
|
_080AABFE:
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
ldrh r1, [r5, 0x34]
|
|
adds r0, r1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
asrs r0, 24
|
|
cmp r0, 0
|
|
bge _080AAC14
|
|
movs r4, 0
|
|
b _080AAC1A
|
|
_080AAC14:
|
|
cmp r0, 0x4
|
|
ble _080AAC1A
|
|
movs r4, 0x4
|
|
_080AAC1A:
|
|
lsls r4, 24
|
|
lsrs r0, r4, 24
|
|
bl sub_80AA5BC
|
|
asrs r4, 24
|
|
strh r4, [r5, 0x34]
|
|
ldr r0, _080AAC54 @ =gUnknown_0203869C
|
|
strh r4, [r0]
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
ldr r0, _080AAC58 @ =gUnknown_0203869E
|
|
ldrb r1, [r0]
|
|
adds r0, r4, 0
|
|
bl sub_80AE398
|
|
ldrh r0, [r5, 0x32]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_80AA280
|
|
ldrh r0, [r5, 0x32]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_80AA658
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AAC54: .4byte gUnknown_0203869C
|
|
_080AAC58: .4byte gUnknown_0203869E
|
|
thumb_func_end sub_80AABF0
|
|
|
|
thumb_func_start sub_80AAC5C
|
|
sub_80AAC5C: @ 80AAC5C
|
|
push {r4,r5,lr}
|
|
adds r5, r0, 0
|
|
lsls r1, 24
|
|
cmp r1, 0
|
|
ble _080AAC78
|
|
ldr r1, _080AAC74 @ =gUnknown_0203869E
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
adds r4, r1, 0
|
|
b _080AAC86
|
|
.align 2, 0
|
|
_080AAC74: .4byte gUnknown_0203869E
|
|
_080AAC78:
|
|
ldr r0, _080AACBC @ =gUnknown_0203869E
|
|
ldrh r2, [r0]
|
|
adds r4, r0, 0
|
|
cmp r2, 0
|
|
beq _080AAC86
|
|
subs r0, r2, 0x1
|
|
strh r0, [r4]
|
|
_080AAC86:
|
|
adds r1, r4, 0
|
|
ldrh r0, [r1]
|
|
cmp r0, 0x3
|
|
bls _080AAC92
|
|
movs r0, 0x3
|
|
strh r0, [r1]
|
|
_080AAC92:
|
|
ldrb r0, [r4]
|
|
bl sub_80AA5E8
|
|
ldr r0, _080AACC0 @ =gUnknown_0203869C
|
|
ldrb r0, [r0]
|
|
ldrb r1, [r4]
|
|
bl sub_80AE398
|
|
ldrh r0, [r5, 0x32]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_80AA280
|
|
ldrh r0, [r5, 0x32]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_80AA658
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AACBC: .4byte gUnknown_0203869E
|
|
_080AACC0: .4byte gUnknown_0203869C
|
|
thumb_func_end sub_80AAC5C
|
|
|
|
thumb_func_start sub_80AACC4
|
|
sub_80AACC4: @ 80AACC4
|
|
push {lr}
|
|
bl UpdatePaletteFade
|
|
ldr r0, _080AACF8 @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _080AACF4
|
|
bl sub_80AA69C
|
|
ldr r0, _080AACFC @ =gUnknown_0203869A
|
|
ldrb r1, [r0]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _080AACEE
|
|
ldr r0, _080AAD00 @ =0x02000000
|
|
ldrb r0, [r0]
|
|
bl sub_80AE82C
|
|
_080AACEE:
|
|
ldr r0, _080AAD04 @ =sub_80AB47C
|
|
bl SetMainCallback2
|
|
_080AACF4:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AACF8: .4byte gPaletteFade
|
|
_080AACFC: .4byte gUnknown_0203869A
|
|
_080AAD00: .4byte 0x02000000
|
|
_080AAD04: .4byte sub_80AB47C
|
|
thumb_func_end sub_80AACC4
|
|
|
|
thumb_func_start sub_80AAD08
|
|
sub_80AAD08: @ 80AAD08
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
lsls r1, 24
|
|
asrs r1, 24
|
|
cmp r1, 0x1
|
|
bne _080AAD32
|
|
ldr r1, _080AAD3C @ =0x02000000
|
|
ldrh r0, [r0, 0x34]
|
|
movs r4, 0
|
|
strb r0, [r1]
|
|
ldr r0, _080AAD40 @ =sub_80AACC4
|
|
bl SetMainCallback2
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
str r4, [sp]
|
|
movs r1, 0
|
|
movs r2, 0
|
|
movs r3, 0x10
|
|
bl BeginNormalPaletteFade
|
|
_080AAD32:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AAD3C: .4byte 0x02000000
|
|
_080AAD40: .4byte sub_80AACC4
|
|
thumb_func_end sub_80AAD08
|
|
|
|
thumb_func_start sub_80AAD44
|
|
sub_80AAD44: @ 80AAD44
|
|
push {r4,r5,lr}
|
|
lsls r1, 24
|
|
asrs r1, 24
|
|
cmp r1, 0x1
|
|
bne _080AAD72
|
|
bl sub_80AA69C
|
|
movs r4, 0
|
|
ldr r5, _080AAD78 @ =gUnknown_02038670
|
|
_080AAD56:
|
|
lsls r0, r4, 24
|
|
lsrs r0, 24
|
|
ldr r1, _080AAD7C @ =gUnknown_0203869C
|
|
ldrb r1, [r1]
|
|
bl sub_80AE770
|
|
strh r0, [r5]
|
|
adds r5, 0x2
|
|
adds r4, 0x1
|
|
cmp r4, 0x3
|
|
ble _080AAD56
|
|
ldr r0, _080AAD80 @ =sub_805469C
|
|
bl SetMainCallback2
|
|
_080AAD72:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AAD78: .4byte gUnknown_02038670
|
|
_080AAD7C: .4byte gUnknown_0203869C
|
|
_080AAD80: .4byte sub_805469C
|
|
thumb_func_end sub_80AAD44
|
|
|
|
thumb_func_start sub_80AAD84
|
|
sub_80AAD84: @ 80AAD84
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x64
|
|
mov r9, r0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
str r1, [sp, 0x48]
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
str r2, [sp, 0x4C]
|
|
lsls r3, 24
|
|
lsrs r3, 24
|
|
mov r10, r3
|
|
mov r5, r10
|
|
adds r5, 0x1
|
|
lsls r1, r5, 8
|
|
ldr r0, _080AAEC4 @ =0x06018000
|
|
subs r1, r0, r1
|
|
movs r0, 0
|
|
str r0, [sp, 0x44]
|
|
ldr r4, _080AAEC8 @ =0x040000d4
|
|
add r0, sp, 0x44
|
|
str r0, [r4]
|
|
str r1, [r4, 0x4]
|
|
ldr r0, _080AAECC @ =0x85000040
|
|
str r0, [r4, 0x8]
|
|
ldr r0, [r4, 0x8]
|
|
mov r0, r9
|
|
bl StringLength
|
|
lsls r0, 16
|
|
lsrs r7, r0, 16
|
|
cmp r7, 0x8
|
|
bls _080AADD0
|
|
movs r7, 0x8
|
|
_080AADD0:
|
|
movs r6, 0
|
|
mov r8, r5
|
|
mov r1, r10
|
|
lsls r1, 1
|
|
str r1, [sp, 0x58]
|
|
ldr r2, [sp, 0x48]
|
|
adds r2, 0x20
|
|
str r2, [sp, 0x5C]
|
|
cmp r6, r7
|
|
bge _080AAE1E
|
|
add r5, sp, 0x40
|
|
add r0, sp, 0x20
|
|
mov r10, r0
|
|
ldr r2, _080AAEC4 @ =0x06018000
|
|
_080AADEC:
|
|
mov r1, r9
|
|
adds r0, r1, r6
|
|
ldrb r0, [r0]
|
|
strb r0, [r5]
|
|
movs r0, 0xFF
|
|
strb r0, [r5, 0x1]
|
|
mov r0, sp
|
|
adds r1, r5, 0
|
|
str r2, [sp, 0x60]
|
|
bl sub_80034D4
|
|
mov r1, r8
|
|
lsls r0, r1, 8
|
|
ldr r2, [sp, 0x60]
|
|
subs r0, r2, r0
|
|
mov r1, r10
|
|
str r1, [r4]
|
|
str r0, [r4, 0x4]
|
|
ldr r0, _080AAED0 @ =0x84000008
|
|
str r0, [r4, 0x8]
|
|
ldr r0, [r4, 0x8]
|
|
adds r2, 0x20
|
|
adds r6, 0x1
|
|
cmp r6, r7
|
|
blt _080AADEC
|
|
_080AAE1E:
|
|
movs r1, 0x7C
|
|
ldr r2, [sp, 0x58]
|
|
subs r1, r2
|
|
lsls r1, 24
|
|
lsrs r7, r1, 24
|
|
ldr r0, _080AAED4 @ =gMain
|
|
mov r9, r0
|
|
lsls r3, r7, 3
|
|
add r3, r9
|
|
ldr r0, _080AAED8 @ =gUnknown_083C9400
|
|
ldr r1, [r0]
|
|
ldr r2, [r0, 0x4]
|
|
str r1, [sp, 0x50]
|
|
str r2, [sp, 0x54]
|
|
str r1, [r3, 0x3C]
|
|
str r2, [r3, 0x40]
|
|
mov r2, r8
|
|
lsls r0, r2, 3
|
|
movs r1, 0x80
|
|
lsls r1, 3
|
|
adds r2, r1, 0
|
|
subs r2, r0
|
|
adds r6, r3, 0
|
|
adds r6, 0x40
|
|
ldr r0, _080AAEDC @ =0x000003ff
|
|
mov r8, r0
|
|
mov r1, r8
|
|
ands r2, r1
|
|
ldrh r5, [r6]
|
|
ldr r4, _080AAEE0 @ =0xfffffc00
|
|
adds r0, r4, 0
|
|
ands r0, r5
|
|
orrs r0, r2
|
|
strh r0, [r6]
|
|
ldrh r5, [r3, 0x3E]
|
|
ldr r2, _080AAEE4 @ =0xfffffe00
|
|
adds r0, r2, 0
|
|
ands r0, r5
|
|
ldr r1, [sp, 0x48]
|
|
orrs r0, r1
|
|
strh r0, [r3, 0x3E]
|
|
adds r3, 0x3C
|
|
add r0, sp, 0x4C
|
|
ldrb r0, [r0]
|
|
strb r0, [r3]
|
|
adds r1, r7, 0x1
|
|
lsls r1, 3
|
|
mov r0, r9
|
|
adds r7, r1, r0
|
|
ldr r0, [sp, 0x50]
|
|
ldr r1, [sp, 0x54]
|
|
str r0, [r7, 0x3C]
|
|
str r1, [r7, 0x40]
|
|
ldrh r0, [r6]
|
|
lsls r0, 22
|
|
lsrs r0, 22
|
|
adds r0, 0x4
|
|
adds r5, r7, 0
|
|
adds r5, 0x40
|
|
mov r1, r8
|
|
ands r0, r1
|
|
ldrh r3, [r5]
|
|
ands r4, r3
|
|
orrs r4, r0
|
|
strh r4, [r5]
|
|
ldrh r0, [r7, 0x3E]
|
|
ands r2, r0
|
|
ldr r0, [sp, 0x5C]
|
|
orrs r2, r0
|
|
strh r2, [r7, 0x3E]
|
|
adds r1, r7, 0
|
|
adds r1, 0x3C
|
|
add r2, sp, 0x4C
|
|
ldrb r2, [r2]
|
|
strb r2, [r1]
|
|
add sp, 0x64
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AAEC4: .4byte 0x06018000
|
|
_080AAEC8: .4byte 0x040000d4
|
|
_080AAECC: .4byte 0x85000040
|
|
_080AAED0: .4byte 0x84000008
|
|
_080AAED4: .4byte gMain
|
|
_080AAED8: .4byte gUnknown_083C9400
|
|
_080AAEDC: .4byte 0x000003ff
|
|
_080AAEE0: .4byte 0xfffffc00
|
|
_080AAEE4: .4byte 0xfffffe00
|
|
thumb_func_end sub_80AAD84
|
|
|
|
thumb_func_start unref_sub_80AAEE8
|
|
unref_sub_80AAEE8: @ 80AAEE8
|
|
push {r4-r7,lr}
|
|
sub sp, 0xC
|
|
adds r4, r0, 0
|
|
lsls r1, 24
|
|
lsrs r7, r1, 24
|
|
lsls r2, 24
|
|
lsrs r6, r2, 24
|
|
lsls r3, 24
|
|
lsrs r5, r3, 24
|
|
movs r0, 0
|
|
cmp r4, 0
|
|
bge _080AAF08
|
|
mov r1, sp
|
|
movs r0, 0xAE
|
|
strb r0, [r1]
|
|
movs r0, 0x1
|
|
_080AAF08:
|
|
add r0, sp
|
|
adds r1, r4, 0
|
|
cmp r1, 0
|
|
bge _080AAF12
|
|
negs r1, r1
|
|
_080AAF12:
|
|
movs r2, 0
|
|
movs r3, 0x8
|
|
bl ConvertIntToDecimalStringN
|
|
mov r0, sp
|
|
adds r1, r7, 0
|
|
adds r2, r6, 0
|
|
adds r3, r5, 0
|
|
bl sub_80AAD84
|
|
add sp, 0xC
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end unref_sub_80AAEE8
|
|
|
|
thumb_func_start sub_80AAF30
|
|
sub_80AAF30: @ 80AAF30
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
sub sp, 0x4
|
|
ldr r1, _080AAFC0 @ =gUnknown_0203856C
|
|
movs r0, 0x1
|
|
strb r0, [r1]
|
|
ldr r1, _080AAFC4 @ =gUnknown_02038695
|
|
movs r0, 0x3
|
|
strb r0, [r1]
|
|
movs r0, 0
|
|
bl sub_80AE098
|
|
movs r4, 0x3
|
|
movs r5, 0x1
|
|
negs r5, r5
|
|
ldr r3, _080AAFC8 @ =gUnknown_02038690
|
|
movs r2, 0x3
|
|
_080AAF56:
|
|
adds r1, r4, r3
|
|
subs r0, r2, r4
|
|
strb r0, [r1]
|
|
subs r4, 0x1
|
|
cmp r4, r5
|
|
bgt _080AAF56
|
|
movs r4, 0
|
|
movs r6, 0
|
|
ldr r7, _080AAFCC @ =gUnknown_02038670
|
|
ldr r5, _080AAFD0 @ =gUnknown_02038570
|
|
mov r9, r5
|
|
_080AAF6C:
|
|
lsls r1, r4, 1
|
|
strh r6, [r7]
|
|
ldr r0, _080AAFD4 @ =gUnknown_02038680
|
|
mov r8, r0
|
|
adds r0, r1, r0
|
|
strh r6, [r0]
|
|
ldr r3, _080AAFD8 @ =gUnknown_02038678
|
|
adds r1, r3
|
|
strh r6, [r1]
|
|
adds r0, r5, 0
|
|
mov r1, r9
|
|
adds r1, 0xC0
|
|
movs r2, 0x40
|
|
str r3, [sp]
|
|
bl memcpy
|
|
adds r7, 0x2
|
|
adds r5, 0x40
|
|
adds r4, 0x1
|
|
ldr r3, [sp]
|
|
cmp r4, 0x2
|
|
ble _080AAF6C
|
|
ldr r0, _080AAFCC @ =gUnknown_02038670
|
|
movs r1, 0x96
|
|
lsls r1, 1
|
|
strh r1, [r0, 0x6]
|
|
movs r0, 0xC8
|
|
lsls r0, 1
|
|
mov r1, r8
|
|
strh r0, [r1, 0x6]
|
|
strh r0, [r3, 0x6]
|
|
movs r0, 0xFE
|
|
bl sub_80B2A7C
|
|
add sp, 0x4
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AAFC0: .4byte gUnknown_0203856C
|
|
_080AAFC4: .4byte gUnknown_02038695
|
|
_080AAFC8: .4byte gUnknown_02038690
|
|
_080AAFCC: .4byte gUnknown_02038670
|
|
_080AAFD0: .4byte gUnknown_02038570
|
|
_080AAFD4: .4byte gUnknown_02038680
|
|
_080AAFD8: .4byte gUnknown_02038678
|
|
thumb_func_end sub_80AAF30
|
|
|
|
thumb_func_start sub_80AAFDC
|
|
sub_80AAFDC: @ 80AAFDC
|
|
push {lr}
|
|
bl sub_80AAF30
|
|
bl sub_8071C20
|
|
movs r0, 0x1
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80AAFDC
|
|
|
|
thumb_func_start sub_80AAFEC
|
|
sub_80AAFEC: @ 80AAFEC
|
|
push {r4,lr}
|
|
ldr r1, _080AB01C @ =gUnknown_0203856C
|
|
movs r0, 0
|
|
strb r0, [r1]
|
|
movs r4, 0
|
|
ldr r3, _080AB020 @ =gUnknown_02038678
|
|
ldr r2, _080AB024 @ =gUnknown_02038680
|
|
ldr r1, _080AB028 @ =gUnknown_02038670
|
|
movs r0, 0x3
|
|
_080AAFFE:
|
|
strh r4, [r1]
|
|
strh r4, [r2]
|
|
strh r4, [r3]
|
|
adds r3, 0x2
|
|
adds r2, 0x2
|
|
adds r1, 0x2
|
|
subs r0, 0x1
|
|
cmp r0, 0
|
|
bge _080AAFFE
|
|
bl sub_8071C20
|
|
movs r0, 0x1
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080AB01C: .4byte gUnknown_0203856C
|
|
_080AB020: .4byte gUnknown_02038678
|
|
_080AB024: .4byte gUnknown_02038680
|
|
_080AB028: .4byte gUnknown_02038670
|
|
thumb_func_end sub_80AAFEC
|
|
|
|
thumb_func_start sub_80AB02C
|
|
sub_80AB02C: @ 80AB02C
|
|
push {r4,r5,lr}
|
|
ldr r1, _080AB078 @ =gUnknown_02038695
|
|
movs r0, 0x3
|
|
strb r0, [r1]
|
|
movs r0, 0
|
|
bl sub_80AE098
|
|
movs r2, 0x3
|
|
movs r5, 0x1
|
|
negs r5, r5
|
|
ldr r4, _080AB07C @ =gUnknown_02038690
|
|
movs r3, 0x3
|
|
_080AB044:
|
|
adds r1, r2, r4
|
|
subs r0, r3, r2
|
|
strb r0, [r1]
|
|
subs r2, 0x1
|
|
cmp r2, r5
|
|
bgt _080AB044
|
|
ldr r1, _080AB080 @ =gUnknown_0203869C
|
|
movs r0, 0
|
|
strh r0, [r1]
|
|
adds r4, r1, 0
|
|
_080AB058:
|
|
movs r0, 0xFF
|
|
bl sub_80B2A7C
|
|
ldrh r0, [r4]
|
|
adds r0, 0x1
|
|
strh r0, [r4]
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
cmp r0, 0x4
|
|
bls _080AB058
|
|
bl sub_8071C20
|
|
movs r0, 0x1
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080AB078: .4byte gUnknown_02038695
|
|
_080AB07C: .4byte gUnknown_02038690
|
|
_080AB080: .4byte gUnknown_0203869C
|
|
thumb_func_end sub_80AB02C
|
|
|
|
thumb_func_start unref_sub_80AB084
|
|
unref_sub_80AB084: @ 80AB084
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0x8
|
|
mov r8, r0
|
|
ldr r0, _080AB160 @ =REG_BG0HOFS
|
|
movs r1, 0
|
|
strh r1, [r0]
|
|
adds r0, 0x2
|
|
strh r1, [r0]
|
|
adds r0, 0x2
|
|
strh r1, [r0]
|
|
adds r0, 0x2
|
|
strh r1, [r0]
|
|
adds r0, 0x2
|
|
strh r1, [r0]
|
|
adds r0, 0x2
|
|
strh r1, [r0]
|
|
adds r0, 0x2
|
|
strh r1, [r0]
|
|
adds r0, 0x2
|
|
strh r1, [r0]
|
|
adds r0, 0x22
|
|
strh r1, [r0]
|
|
adds r0, 0x4
|
|
strh r1, [r0]
|
|
subs r0, 0x2
|
|
strh r1, [r0]
|
|
adds r0, 0x4
|
|
strh r1, [r0]
|
|
movs r2, 0x80
|
|
lsls r2, 19
|
|
movs r3, 0xFA
|
|
lsls r3, 5
|
|
adds r0, r3, 0
|
|
strh r0, [r2]
|
|
ldr r3, _080AB164 @ =0x04000208
|
|
ldrh r2, [r3]
|
|
strh r1, [r3]
|
|
ldr r4, _080AB168 @ =0x04000200
|
|
ldrh r0, [r4]
|
|
movs r1, 0x1
|
|
orrs r0, r1
|
|
strh r0, [r4]
|
|
strh r2, [r3]
|
|
ldr r1, _080AB16C @ =REG_DISPSTAT
|
|
movs r0, 0x8
|
|
strh r0, [r1]
|
|
bl ResetTasks
|
|
bl ResetSpriteData
|
|
ldr r0, _080AB170 @ =sub_80AB184
|
|
bl SetMainCallback2
|
|
movs r2, 0xC0
|
|
lsls r2, 19
|
|
movs r3, 0xC0
|
|
lsls r3, 9
|
|
movs r5, 0
|
|
ldr r1, _080AB174 @ =0x040000d4
|
|
movs r4, 0x80
|
|
lsls r4, 5
|
|
ldr r6, _080AB178 @ =0x85000400
|
|
movs r7, 0x85
|
|
lsls r7, 24
|
|
_080AB108:
|
|
str r5, [sp, 0x4]
|
|
add r0, sp, 0x4
|
|
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 _080AB108
|
|
str r5, [sp, 0x4]
|
|
add r0, sp, 0x4
|
|
str r0, [r1]
|
|
str r2, [r1, 0x4]
|
|
lsrs r0, r3, 2
|
|
orrs r0, r7
|
|
str r0, [r1, 0x8]
|
|
ldr r0, [r1, 0x8]
|
|
ldr r4, _080AB17C @ =gWindowConfig_81E6FD8
|
|
adds r0, r4, 0
|
|
bl SetUpWindowConfig
|
|
ldr r5, _080AB180 @ =gUnknown_03004210
|
|
adds r0, r5, 0
|
|
adds r1, r4, 0
|
|
bl InitWindowFromConfig
|
|
adds r0, r4, 0
|
|
bl LoadFontDefaultPalette
|
|
movs r0, 0x7
|
|
str r0, [sp]
|
|
adds r0, r5, 0
|
|
mov r1, r8
|
|
movs r2, 0x1
|
|
movs r3, 0x9
|
|
bl sub_8003460
|
|
add sp, 0x8
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080AB160: .4byte REG_BG0HOFS
|
|
_080AB164: .4byte 0x04000208
|
|
_080AB168: .4byte 0x04000200
|
|
_080AB16C: .4byte REG_DISPSTAT
|
|
_080AB170: .4byte sub_80AB184
|
|
_080AB174: .4byte 0x040000d4
|
|
_080AB178: .4byte 0x85000400
|
|
_080AB17C: .4byte gWindowConfig_81E6FD8
|
|
_080AB180: .4byte gUnknown_03004210
|
|
thumb_func_end unref_sub_80AB084
|
|
|
|
thumb_func_start sub_80AB184
|
|
sub_80AB184: @ 80AB184
|
|
ldr r0, _080AB1A8 @ =REG_BG0HOFS
|
|
movs r1, 0
|
|
strh r1, [r0]
|
|
adds r0, 0x2
|
|
strh r1, [r0]
|
|
adds r0, 0x2
|
|
strh r1, [r0]
|
|
adds r0, 0x2
|
|
strh r1, [r0]
|
|
adds r0, 0x2
|
|
strh r1, [r0]
|
|
adds r0, 0x2
|
|
strh r1, [r0]
|
|
adds r0, 0x2
|
|
strh r1, [r0]
|
|
adds r0, 0x2
|
|
strh r1, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_080AB1A8: .4byte REG_BG0HOFS
|
|
thumb_func_end sub_80AB184
|
|
|
|
.align 2, 0 @ Don't pad with nop.
|