mirror of
https://github.com/pret/pokeruby.git
synced 2024-12-14 00:08:37 +00:00
8777 lines
147 KiB
ArmAsm
8777 lines
147 KiB
ArmAsm
.include "constants/gba_constants.inc"
|
|
.include "constants/species_constants.inc"
|
|
.include "asm/macros.inc"
|
|
|
|
.syntax unified
|
|
|
|
.text
|
|
|
|
thumb_func_start sub_809D844
|
|
sub_809D844: @ 809D844
|
|
push {lr}
|
|
bl RunTasks
|
|
bl AnimateSprites
|
|
bl BuildOamBuffer
|
|
bl UpdatePaletteFade
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_809D844
|
|
|
|
thumb_func_start sub_809D85C
|
|
sub_809D85C: @ 809D85C
|
|
push {lr}
|
|
ldr r1, _0809D8A0 @ =REG_BG1HOFS
|
|
ldr r0, _0809D8A4 @ =gUnknown_030042C0
|
|
ldrh r0, [r0]
|
|
strh r0, [r1]
|
|
adds r1, 0x2
|
|
ldr r0, _0809D8A8 @ =gUnknown_030041B4
|
|
ldrh r0, [r0]
|
|
strh r0, [r1]
|
|
adds r1, 0x2
|
|
ldr r0, _0809D8AC @ =gUnknown_03004288
|
|
ldrh r0, [r0]
|
|
strh r0, [r1]
|
|
adds r1, 0x2
|
|
ldr r0, _0809D8B0 @ =gUnknown_03004280
|
|
ldrh r0, [r0]
|
|
strh r0, [r1]
|
|
adds r1, 0x2
|
|
ldr r0, _0809D8B4 @ =gUnknown_030041B0
|
|
ldrh r0, [r0]
|
|
strh r0, [r1]
|
|
adds r1, 0x2
|
|
ldr r0, _0809D8B8 @ =gUnknown_030041B8
|
|
ldrh r0, [r0]
|
|
strh r0, [r1]
|
|
bl LoadOam
|
|
bl ProcessSpriteCopyRequests
|
|
bl TransferPlttBuffer
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0809D8A0: .4byte REG_BG1HOFS
|
|
_0809D8A4: .4byte gUnknown_030042C0
|
|
_0809D8A8: .4byte gUnknown_030041B4
|
|
_0809D8AC: .4byte gUnknown_03004288
|
|
_0809D8B0: .4byte gUnknown_03004280
|
|
_0809D8B4: .4byte gUnknown_030041B0
|
|
_0809D8B8: .4byte gUnknown_030041B8
|
|
thumb_func_end sub_809D85C
|
|
|
|
thumb_func_start ShowPokemonSummaryScreen
|
|
ShowPokemonSummaryScreen: @ 809D8BC
|
|
push {r4-r7,lr}
|
|
ldr r4, [sp, 0x14]
|
|
lsls r4, 24
|
|
lsrs r7, r4, 24
|
|
ldr r6, _0809D904 @ =gPaletteFade
|
|
ldrb r4, [r6, 0x8]
|
|
movs r5, 0x80
|
|
orrs r4, r5
|
|
strb r4, [r6, 0x8]
|
|
ldr r5, _0809D908 @ =0x02018000
|
|
str r0, [r5]
|
|
movs r4, 0
|
|
strb r7, [r5, 0x8]
|
|
strb r1, [r5, 0x9]
|
|
strb r2, [r5, 0xA]
|
|
str r3, [r5, 0x4]
|
|
adds r0, r5, 0
|
|
adds r0, 0x74
|
|
strb r4, [r0]
|
|
adds r1, r5, 0
|
|
adds r1, 0x79
|
|
movs r0, 0x4
|
|
strb r0, [r1]
|
|
adds r0, r5, 0
|
|
adds r0, 0x7C
|
|
movs r1, 0
|
|
strh r4, [r0]
|
|
adds r0, 0x4
|
|
strb r1, [r0]
|
|
subs r0, 0x5
|
|
strb r1, [r0]
|
|
cmp r7, 0x4
|
|
bls _0809D90C
|
|
movs r0, 0x1
|
|
strb r0, [r5, 0xE]
|
|
b _0809D90E
|
|
.align 2, 0
|
|
_0809D904: .4byte gPaletteFade
|
|
_0809D908: .4byte 0x02018000
|
|
_0809D90C:
|
|
strb r1, [r5, 0xE]
|
|
_0809D90E:
|
|
cmp r7, 0x6
|
|
bhi _0809D9D6
|
|
lsls r0, r7, 2
|
|
ldr r1, _0809D91C @ =_0809D920
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0809D91C: .4byte _0809D920
|
|
.align 2, 0
|
|
_0809D920:
|
|
.4byte _0809D93C
|
|
.4byte _0809D9BC
|
|
.4byte _0809D992
|
|
.4byte _0809D9D6
|
|
.4byte _0809D966
|
|
.4byte _0809D93C
|
|
.4byte _0809D9BC
|
|
_0809D93C:
|
|
adds r0, r5, 0
|
|
adds r0, 0x75
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
adds r2, r5, 0
|
|
adds r2, 0x76
|
|
movs r0, 0x3
|
|
strb r0, [r2]
|
|
adds r0, r5, 0
|
|
adds r0, 0x77
|
|
strb r1, [r0]
|
|
adds r0, 0x1
|
|
strb r1, [r0]
|
|
adds r1, r5, 0
|
|
adds r1, 0x7E
|
|
movs r0, 0x1
|
|
strb r0, [r1]
|
|
adds r1, 0x1
|
|
movs r0, 0x7
|
|
strb r0, [r1]
|
|
b _0809D9D6
|
|
_0809D966:
|
|
adds r0, r5, 0
|
|
adds r0, 0x75
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
adds r2, r5, 0
|
|
adds r2, 0x76
|
|
movs r0, 0x3
|
|
strb r0, [r2]
|
|
adds r0, r5, 0
|
|
adds r0, 0x77
|
|
strb r1, [r0]
|
|
adds r0, 0x1
|
|
strb r1, [r0]
|
|
adds r0, 0x6
|
|
movs r1, 0x1
|
|
strb r1, [r0]
|
|
adds r2, 0x9
|
|
movs r0, 0x7
|
|
strb r0, [r2]
|
|
adds r0, r5, 0
|
|
adds r0, 0x7B
|
|
b _0809D9D4
|
|
_0809D992:
|
|
adds r1, r5, 0
|
|
adds r1, 0x75
|
|
movs r3, 0
|
|
movs r0, 0x2
|
|
strb r0, [r1]
|
|
adds r0, r5, 0
|
|
adds r0, 0x76
|
|
movs r2, 0x3
|
|
strb r2, [r0]
|
|
adds r0, 0x1
|
|
movs r1, 0x1
|
|
strb r1, [r0]
|
|
adds r0, 0x1
|
|
strb r1, [r0]
|
|
adds r0, 0x6
|
|
strb r2, [r0]
|
|
adds r0, 0x1
|
|
strb r3, [r0]
|
|
subs r0, 0x6
|
|
strb r3, [r0]
|
|
b _0809D9D6
|
|
_0809D9BC:
|
|
adds r1, r5, 0
|
|
adds r1, 0x75
|
|
movs r0, 0x2
|
|
strb r0, [r1]
|
|
adds r1, 0x1
|
|
movs r0, 0x3
|
|
strb r0, [r1]
|
|
adds r0, r5, 0
|
|
adds r0, 0x77
|
|
movs r1, 0x1
|
|
strb r1, [r0]
|
|
adds r0, 0x1
|
|
_0809D9D4:
|
|
strb r1, [r0]
|
|
_0809D9D6:
|
|
adds r0, r5, 0
|
|
adds r0, 0x75
|
|
ldrb r0, [r0]
|
|
strb r0, [r5, 0xB]
|
|
ldr r0, _0809D9EC @ =sub_809DE44
|
|
bl SetMainCallback2
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0809D9EC: .4byte sub_809DE44
|
|
thumb_func_end ShowPokemonSummaryScreen
|
|
|
|
thumb_func_start sub_809D9F0
|
|
sub_809D9F0: @ 809D9F0
|
|
push {r4,r5,lr}
|
|
sub sp, 0x4
|
|
ldr r5, [sp, 0x10]
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
lsls r5, 16
|
|
lsrs r5, 16
|
|
movs r4, 0x2
|
|
str r4, [sp]
|
|
bl ShowPokemonSummaryScreen
|
|
ldr r0, _0809DA18 @ =0x02018000
|
|
adds r0, 0x7C
|
|
strh r5, [r0]
|
|
add sp, 0x4
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0809DA18: .4byte 0x02018000
|
|
thumb_func_end sub_809D9F0
|
|
|
|
thumb_func_start sub_809DA1C
|
|
sub_809DA1C: @ 809DA1C
|
|
push {lr}
|
|
ldr r0, _0809DA30 @ =0x02018000
|
|
ldrb r0, [r0, 0x8]
|
|
cmp r0, 0x6
|
|
bhi _0809DA78
|
|
lsls r0, 2
|
|
ldr r1, _0809DA34 @ =_0809DA38
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0809DA30: .4byte 0x02018000
|
|
_0809DA34: .4byte _0809DA38
|
|
.align 2, 0
|
|
_0809DA38:
|
|
.4byte _0809DA54
|
|
.4byte _0809DA6C
|
|
.4byte _0809DA64
|
|
.4byte _0809DA64
|
|
.4byte _0809DA5C
|
|
.4byte _0809DA54
|
|
.4byte _0809DA6C
|
|
_0809DA54:
|
|
ldr r0, _0809DA58 @ =SummaryScreenHandleKeyInput
|
|
b _0809DA6E
|
|
.align 2, 0
|
|
_0809DA58: .4byte SummaryScreenHandleKeyInput
|
|
_0809DA5C:
|
|
ldr r0, _0809DA60 @ =SummaryScreenHandleKeyInput
|
|
b _0809DA6E
|
|
.align 2, 0
|
|
_0809DA60: .4byte SummaryScreenHandleKeyInput
|
|
_0809DA64:
|
|
ldr r0, _0809DA68 @ =sub_809EB40
|
|
b _0809DA6E
|
|
.align 2, 0
|
|
_0809DA68: .4byte sub_809EB40
|
|
_0809DA6C:
|
|
ldr r0, _0809DA7C @ =sub_809E3FC
|
|
_0809DA6E:
|
|
movs r1, 0
|
|
bl CreateTask
|
|
ldr r1, _0809DA80 @ =0x02018000
|
|
strb r0, [r1, 0xF]
|
|
_0809DA78:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0809DA7C: .4byte sub_809E3FC
|
|
_0809DA80: .4byte 0x02018000
|
|
thumb_func_end sub_809DA1C
|
|
|
|
thumb_func_start sub_809DA84
|
|
sub_809DA84: @ 809DA84
|
|
push {r4-r7,lr}
|
|
sub sp, 0x8
|
|
ldr r1, _0809DAA4 @ =gMain
|
|
ldr r2, _0809DAA8 @ =0x0000043c
|
|
adds r0, r1, r2
|
|
ldrb r0, [r0]
|
|
mov r12, r1
|
|
cmp r0, 0x16
|
|
bls _0809DA98
|
|
b _0809DE00
|
|
_0809DA98:
|
|
lsls r0, 2
|
|
ldr r1, _0809DAAC @ =_0809DAB0
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0809DAA4: .4byte gMain
|
|
_0809DAA8: .4byte 0x0000043c
|
|
_0809DAAC: .4byte _0809DAB0
|
|
.align 2, 0
|
|
_0809DAB0:
|
|
.4byte _0809DB0C
|
|
.4byte _0809DB18
|
|
.4byte _0809DB2C
|
|
.4byte _0809DB32
|
|
.4byte _0809DB80
|
|
.4byte _0809DB94
|
|
.4byte _0809DBA0
|
|
.4byte _0809DBBC
|
|
.4byte _0809DBC8
|
|
.4byte _0809DBDC
|
|
.4byte _0809DC2C
|
|
.4byte _0809DC48
|
|
.4byte _0809DC5C
|
|
.4byte _0809DC90
|
|
.4byte _0809DCB0
|
|
.4byte _0809DCC4
|
|
.4byte _0809DCF8
|
|
.4byte _0809DD02
|
|
.4byte _0809DD30
|
|
.4byte _0809DD3C
|
|
.4byte _0809DD68
|
|
.4byte _0809DD98
|
|
.4byte _0809DDE0
|
|
_0809DB0C:
|
|
movs r0, 0
|
|
bl SetVBlankCallback
|
|
bl ResetSpriteData
|
|
b _0809DDE8
|
|
_0809DB18:
|
|
bl remove_some_task
|
|
ldr r1, _0809DB24 @ =gMain
|
|
ldr r2, _0809DB28 @ =0x0000043c
|
|
adds r1, r2
|
|
b _0809DDEE
|
|
.align 2, 0
|
|
_0809DB24: .4byte gMain
|
|
_0809DB28: .4byte 0x0000043c
|
|
_0809DB2C:
|
|
bl FreeAllSpritePalettes
|
|
b _0809DDE8
|
|
_0809DB32:
|
|
movs r2, 0xC0
|
|
lsls r2, 19
|
|
movs r3, 0x80
|
|
lsls r3, 9
|
|
movs r5, 0
|
|
ldr r1, _0809DB74 @ =0x040000d4
|
|
movs r4, 0x80
|
|
lsls r4, 5
|
|
ldr r6, _0809DB78 @ =0x85000400
|
|
movs r7, 0x85
|
|
lsls r7, 24
|
|
_0809DB48:
|
|
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 _0809DB48
|
|
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 r1, _0809DB7C @ =0x0000043c
|
|
add r1, r12
|
|
b _0809DDEE
|
|
.align 2, 0
|
|
_0809DB74: .4byte 0x040000d4
|
|
_0809DB78: .4byte 0x85000400
|
|
_0809DB7C: .4byte 0x0000043c
|
|
_0809DB80:
|
|
bl sub_809DE64
|
|
ldr r1, _0809DB8C @ =gMain
|
|
ldr r2, _0809DB90 @ =0x0000043c
|
|
adds r1, r2
|
|
b _0809DDEE
|
|
.align 2, 0
|
|
_0809DB8C: .4byte gMain
|
|
_0809DB90: .4byte 0x0000043c
|
|
_0809DB94:
|
|
ldr r0, _0809DB9C @ =gWindowConfig_81E6E6C
|
|
bl SetUpWindowConfig
|
|
b _0809DDE8
|
|
.align 2, 0
|
|
_0809DB9C: .4byte gWindowConfig_81E6E6C
|
|
_0809DBA0:
|
|
ldr r0, _0809DBB0 @ =gWindowConfig_81E6E6C
|
|
bl MultistepInitMenuWindowBegin
|
|
ldr r1, _0809DBB4 @ =gMain
|
|
ldr r2, _0809DBB8 @ =0x0000043c
|
|
adds r1, r2
|
|
b _0809DDEE
|
|
.align 2, 0
|
|
_0809DBB0: .4byte gWindowConfig_81E6E6C
|
|
_0809DBB4: .4byte gMain
|
|
_0809DBB8: .4byte 0x0000043c
|
|
_0809DBBC:
|
|
bl MultistepInitMenuWindowContinue
|
|
cmp r0, 0
|
|
bne _0809DBC6
|
|
b _0809DE38
|
|
_0809DBC6:
|
|
b _0809DDE8
|
|
_0809DBC8:
|
|
bl sub_809DA1C
|
|
ldr r1, _0809DBD4 @ =gMain
|
|
ldr r2, _0809DBD8 @ =0x0000043c
|
|
adds r1, r2
|
|
b _0809DDEE
|
|
.align 2, 0
|
|
_0809DBD4: .4byte gMain
|
|
_0809DBD8: .4byte 0x0000043c
|
|
_0809DBDC:
|
|
ldr r1, _0809DC08 @ =gSummaryScreenTextTiles
|
|
ldr r2, _0809DC0C @ =0x0600d000
|
|
ldr r0, _0809DC10 @ =0x040000d4
|
|
str r1, [r0]
|
|
str r2, [r0, 0x4]
|
|
ldr r1, _0809DC14 @ =0x800000a0
|
|
str r1, [r0, 0x8]
|
|
ldr r1, [r0, 0x8]
|
|
ldr r1, _0809DC18 @ =gSummaryScreenButtonTiles
|
|
ldr r2, _0809DC1C @ =0x0600d140
|
|
str r1, [r0]
|
|
str r2, [r0, 0x4]
|
|
ldr r1, _0809DC20 @ =0x80000080
|
|
str r1, [r0, 0x8]
|
|
ldr r0, [r0, 0x8]
|
|
ldr r0, _0809DC24 @ =0x02018000
|
|
adds r0, 0x74
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
ldr r1, _0809DC28 @ =0x0000043c
|
|
add r1, r12
|
|
b _0809DDEE
|
|
.align 2, 0
|
|
_0809DC08: .4byte gSummaryScreenTextTiles
|
|
_0809DC0C: .4byte 0x0600d000
|
|
_0809DC10: .4byte 0x040000d4
|
|
_0809DC14: .4byte 0x800000a0
|
|
_0809DC18: .4byte gSummaryScreenButtonTiles
|
|
_0809DC1C: .4byte 0x0600d140
|
|
_0809DC20: .4byte 0x80000080
|
|
_0809DC24: .4byte 0x02018000
|
|
_0809DC28: .4byte 0x0000043c
|
|
_0809DC2C:
|
|
bl sub_809DF00
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0809DC38
|
|
b _0809DE38
|
|
_0809DC38:
|
|
ldr r0, _0809DC44 @ =0x02018000
|
|
adds r0, 0x74
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
b _0809DDE8
|
|
.align 2, 0
|
|
_0809DC44: .4byte 0x02018000
|
|
_0809DC48:
|
|
bl sub_80A18C4
|
|
ldr r1, _0809DC54 @ =gMain
|
|
ldr r2, _0809DC58 @ =0x0000043c
|
|
adds r1, r2
|
|
b _0809DDEE
|
|
.align 2, 0
|
|
_0809DC54: .4byte gMain
|
|
_0809DC58: .4byte 0x0000043c
|
|
_0809DC5C:
|
|
ldr r4, _0809DC78 @ =0x02018010
|
|
adds r0, r4, 0
|
|
bl sub_809F678
|
|
adds r0, r4, 0
|
|
bl GetMonStatusAndPokerus
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0809DC7C
|
|
movs r0, 0
|
|
bl sub_80A12D0
|
|
b _0809DC82
|
|
.align 2, 0
|
|
_0809DC78: .4byte 0x02018010
|
|
_0809DC7C:
|
|
movs r0, 0xA
|
|
bl sub_80A12D0
|
|
_0809DC82:
|
|
ldr r0, _0809DC8C @ =0x02018010
|
|
bl sub_80A0EA4
|
|
b _0809DDE8
|
|
.align 2, 0
|
|
_0809DC8C: .4byte 0x02018010
|
|
_0809DC90:
|
|
bl sub_80A1950
|
|
ldr r0, _0809DCA4 @ =0x02018010
|
|
bl sub_80A1D84
|
|
ldr r1, _0809DCA8 @ =gMain
|
|
ldr r2, _0809DCAC @ =0x0000043c
|
|
adds r1, r2
|
|
b _0809DDEE
|
|
.align 2, 0
|
|
_0809DCA4: .4byte 0x02018010
|
|
_0809DCA8: .4byte gMain
|
|
_0809DCAC: .4byte 0x0000043c
|
|
_0809DCB0:
|
|
ldr r4, _0809DCC0 @ =0x02018010
|
|
adds r0, r4, 0
|
|
bl sub_80A1DE8
|
|
adds r4, 0x64
|
|
movs r0, 0
|
|
strb r0, [r4]
|
|
b _0809DDE8
|
|
.align 2, 0
|
|
_0809DCC0: .4byte 0x02018010
|
|
_0809DCC4:
|
|
ldr r4, _0809DCEC @ =0x02018010
|
|
adds r5, r4, 0
|
|
adds r5, 0x64
|
|
adds r0, r4, 0
|
|
adds r1, r5, 0
|
|
bl sub_809F6B4
|
|
subs r4, 0x10
|
|
strb r0, [r4, 0xC]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0xFF
|
|
bne _0809DCE0
|
|
b _0809DE38
|
|
_0809DCE0:
|
|
movs r0, 0
|
|
strb r0, [r5]
|
|
ldr r1, _0809DCF0 @ =gMain
|
|
ldr r2, _0809DCF4 @ =0x0000043c
|
|
adds r1, r2
|
|
b _0809DDEE
|
|
.align 2, 0
|
|
_0809DCEC: .4byte 0x02018010
|
|
_0809DCF0: .4byte gMain
|
|
_0809DCF4: .4byte 0x0000043c
|
|
_0809DCF8:
|
|
bl sub_809E044
|
|
bl sub_80A0EE8
|
|
b _0809DDE8
|
|
_0809DD02:
|
|
ldr r1, _0809DD20 @ =0x02018000
|
|
ldrb r0, [r1, 0xB]
|
|
cmp r0, 0x1
|
|
bhi _0809DD18
|
|
ldr r0, _0809DD24 @ =gUnknown_083C1580
|
|
ldrb r1, [r1, 0xB]
|
|
lsls r1, 2
|
|
adds r1, r0
|
|
ldr r0, [r1]
|
|
bl _call_via_r0
|
|
_0809DD18:
|
|
ldr r1, _0809DD28 @ =gMain
|
|
ldr r2, _0809DD2C @ =0x0000043c
|
|
adds r1, r2
|
|
b _0809DDEE
|
|
.align 2, 0
|
|
_0809DD20: .4byte 0x02018000
|
|
_0809DD24: .4byte gUnknown_083C1580
|
|
_0809DD28: .4byte gMain
|
|
_0809DD2C: .4byte 0x0000043c
|
|
_0809DD30:
|
|
ldr r0, _0809DD38 @ =0x02018010
|
|
bl sub_809FAC8
|
|
b _0809DDE8
|
|
.align 2, 0
|
|
_0809DD38: .4byte 0x02018010
|
|
_0809DD3C:
|
|
ldr r2, _0809DD58 @ =gUnknown_083C1598
|
|
ldr r0, _0809DD5C @ =0x02018000
|
|
ldrb r1, [r0, 0xB]
|
|
lsls r1, 2
|
|
adds r1, r2
|
|
adds r0, 0x10
|
|
ldr r1, [r1]
|
|
bl _call_via_r1
|
|
ldr r1, _0809DD60 @ =gMain
|
|
ldr r2, _0809DD64 @ =0x0000043c
|
|
adds r1, r2
|
|
b _0809DDEE
|
|
.align 2, 0
|
|
_0809DD58: .4byte gUnknown_083C1598
|
|
_0809DD5C: .4byte 0x02018000
|
|
_0809DD60: .4byte gMain
|
|
_0809DD64: .4byte 0x0000043c
|
|
_0809DD68:
|
|
ldr r0, _0809DD84 @ =0x02018010
|
|
movs r1, 0x2D
|
|
bl GetMonData
|
|
adds r1, r0, 0
|
|
cmp r1, 0
|
|
beq _0809DD8C
|
|
ldr r1, _0809DD88 @ =gUnknown_030041B0
|
|
movs r2, 0x80
|
|
lsls r2, 1
|
|
adds r0, r2, 0
|
|
strh r0, [r1]
|
|
b _0809DDE8
|
|
.align 2, 0
|
|
_0809DD84: .4byte 0x02018010
|
|
_0809DD88: .4byte gUnknown_030041B0
|
|
_0809DD8C:
|
|
ldr r0, _0809DD94 @ =gUnknown_030041B0
|
|
strh r1, [r0]
|
|
b _0809DDE8
|
|
.align 2, 0
|
|
_0809DD94: .4byte gUnknown_030041B0
|
|
_0809DD98:
|
|
bl sub_809EBC4
|
|
ldr r0, _0809DDB8 @ =0x02018000
|
|
adds r0, 0x79
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _0809DDBC
|
|
movs r0, 0
|
|
movs r1, 0
|
|
bl sub_80A1488
|
|
movs r0, 0
|
|
movs r1, 0
|
|
bl sub_80A1654
|
|
b _0809DDCC
|
|
.align 2, 0
|
|
_0809DDB8: .4byte 0x02018000
|
|
_0809DDBC:
|
|
movs r0, 0xA
|
|
movs r1, 0
|
|
bl sub_80A1488
|
|
movs r0, 0xA
|
|
movs r1, 0
|
|
bl sub_80A1654
|
|
_0809DDCC:
|
|
bl sub_80A0DD0
|
|
ldr r1, _0809DDD8 @ =gMain
|
|
ldr r2, _0809DDDC @ =0x0000043c
|
|
adds r1, r2
|
|
b _0809DDEE
|
|
.align 2, 0
|
|
_0809DDD8: .4byte gMain
|
|
_0809DDDC: .4byte 0x0000043c
|
|
_0809DDE0:
|
|
bl sub_8055870
|
|
cmp r0, 0x1
|
|
beq _0809DE38
|
|
_0809DDE8:
|
|
ldr r1, _0809DDF8 @ =gMain
|
|
ldr r0, _0809DDFC @ =0x0000043c
|
|
adds r1, r0
|
|
_0809DDEE:
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
b _0809DE38
|
|
.align 2, 0
|
|
_0809DDF8: .4byte gMain
|
|
_0809DDFC: .4byte 0x0000043c
|
|
_0809DE00:
|
|
ldr r0, _0809DE2C @ =sub_809D85C
|
|
bl SetVBlankCallback
|
|
movs r0, 0x1
|
|
str r0, [sp]
|
|
movs r0, 0xFF
|
|
movs r1, 0
|
|
movs r2, 0x10
|
|
movs r3, 0
|
|
bl BeginHardwarePaletteFade
|
|
ldr r0, _0809DE30 @ =sub_809D844
|
|
bl SetMainCallback2
|
|
ldr r2, _0809DE34 @ =gPaletteFade
|
|
ldrb r1, [r2, 0x8]
|
|
movs r0, 0x7F
|
|
ands r0, r1
|
|
strb r0, [r2, 0x8]
|
|
movs r0, 0x1
|
|
b _0809DE3A
|
|
.align 2, 0
|
|
_0809DE2C: .4byte sub_809D85C
|
|
_0809DE30: .4byte sub_809D844
|
|
_0809DE34: .4byte gPaletteFade
|
|
_0809DE38:
|
|
movs r0, 0
|
|
_0809DE3A:
|
|
add sp, 0x8
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_809DA84
|
|
|
|
thumb_func_start sub_809DE44
|
|
sub_809DE44: @ 809DE44
|
|
push {lr}
|
|
_0809DE46:
|
|
bl sub_809DA84
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
beq _0809DE5E
|
|
bl sub_80F9344
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
bne _0809DE46
|
|
_0809DE5E:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_809DE44
|
|
|
|
thumb_func_start sub_809DE64
|
|
sub_809DE64: @ 809DE64
|
|
ldr r1, _0809DED0 @ =REG_BG0CNT
|
|
ldr r2, _0809DED4 @ =0x00001e08
|
|
adds r0, r2, 0
|
|
strh r0, [r1]
|
|
adds r1, 0x2
|
|
ldr r2, _0809DED8 @ =0x00004801
|
|
adds r0, r2, 0
|
|
strh r0, [r1]
|
|
adds r1, 0x2
|
|
ldr r2, _0809DEDC @ =0x00004a02
|
|
adds r0, r2, 0
|
|
strh r0, [r1]
|
|
adds r1, 0x2
|
|
ldr r2, _0809DEE0 @ =0x00005c03
|
|
adds r0, r2, 0
|
|
strh r0, [r1]
|
|
ldr r1, _0809DEE4 @ =gUnknown_030042C0
|
|
movs r0, 0
|
|
strh r0, [r1]
|
|
ldr r1, _0809DEE8 @ =gUnknown_030041B4
|
|
strh r0, [r1]
|
|
ldr r1, _0809DEEC @ =gUnknown_03004288
|
|
strh r0, [r1]
|
|
ldr r1, _0809DEF0 @ =gUnknown_03004280
|
|
strh r0, [r1]
|
|
ldr r1, _0809DEF4 @ =gUnknown_030041B0
|
|
strh r0, [r1]
|
|
ldr r1, _0809DEF8 @ =gUnknown_030041B8
|
|
strh r0, [r1]
|
|
ldr r1, _0809DEFC @ =REG_BG0HOFS
|
|
strh r0, [r1]
|
|
adds r1, 0x2
|
|
strh r0, [r1]
|
|
adds r1, 0x2
|
|
strh r0, [r1]
|
|
adds r1, 0x2
|
|
strh r0, [r1]
|
|
adds r1, 0x2
|
|
strh r0, [r1]
|
|
adds r1, 0x2
|
|
strh r0, [r1]
|
|
adds r1, 0x2
|
|
strh r0, [r1]
|
|
adds r1, 0x2
|
|
strh r0, [r1]
|
|
adds r1, 0x32
|
|
strh r0, [r1]
|
|
subs r1, 0x50
|
|
movs r2, 0xFA
|
|
lsls r2, 5
|
|
adds r0, r2, 0
|
|
strh r0, [r1]
|
|
bx lr
|
|
.align 2, 0
|
|
_0809DED0: .4byte REG_BG0CNT
|
|
_0809DED4: .4byte 0x00001e08
|
|
_0809DED8: .4byte 0x00004801
|
|
_0809DEDC: .4byte 0x00004a02
|
|
_0809DEE0: .4byte 0x00005c03
|
|
_0809DEE4: .4byte gUnknown_030042C0
|
|
_0809DEE8: .4byte gUnknown_030041B4
|
|
_0809DEEC: .4byte gUnknown_03004288
|
|
_0809DEF0: .4byte gUnknown_03004280
|
|
_0809DEF4: .4byte gUnknown_030041B0
|
|
_0809DEF8: .4byte gUnknown_030041B8
|
|
_0809DEFC: .4byte REG_BG0HOFS
|
|
thumb_func_end sub_809DE64
|
|
|
|
thumb_func_start sub_809DF00
|
|
sub_809DF00: @ 809DF00
|
|
push {lr}
|
|
ldr r0, _0809DF18 @ =0x02018000
|
|
adds r0, 0x74
|
|
ldrb r0, [r0]
|
|
cmp r0, 0xC
|
|
bls _0809DF0E
|
|
b _0809E030
|
|
_0809DF0E:
|
|
lsls r0, 2
|
|
ldr r1, _0809DF1C @ =_0809DF20
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0809DF18: .4byte 0x02018000
|
|
_0809DF1C: .4byte _0809DF20
|
|
.align 2, 0
|
|
_0809DF20:
|
|
.4byte _0809DF54
|
|
.4byte _0809DF64
|
|
.4byte _0809DF74
|
|
.4byte _0809DF88
|
|
.4byte _0809DF9C
|
|
.4byte _0809DFAC
|
|
.4byte _0809DFC4
|
|
.4byte _0809DFD4
|
|
.4byte _0809DFE0
|
|
.4byte _0809DFEC
|
|
.4byte _0809DFF8
|
|
.4byte _0809E004
|
|
.4byte _0809E010
|
|
_0809DF54:
|
|
ldr r0, _0809DF60 @ =gStatusScreen_Gfx
|
|
movs r1, 0xC0
|
|
lsls r1, 19
|
|
bl LZDecompressVram
|
|
b _0809E030
|
|
.align 2, 0
|
|
_0809DF60: .4byte gStatusScreen_Gfx
|
|
_0809DF64:
|
|
ldr r0, _0809DF6C @ =gUnknown_08E73508
|
|
ldr r1, _0809DF70 @ =0x0600e000
|
|
b _0809DFB0
|
|
.align 2, 0
|
|
_0809DF6C: .4byte gUnknown_08E73508
|
|
_0809DF70: .4byte 0x0600e000
|
|
_0809DF74:
|
|
ldr r0, _0809DF80 @ =gUnknown_08E74E88
|
|
ldr r1, _0809DF84 @ =0x0600e800
|
|
bl LZDecompressVram
|
|
b _0809E030
|
|
.align 2, 0
|
|
_0809DF80: .4byte gUnknown_08E74E88
|
|
_0809DF84: .4byte 0x0600e800
|
|
_0809DF88:
|
|
ldr r0, _0809DF94 @ =gStatusScreen_Tilemap
|
|
ldr r1, _0809DF98 @ =0x06004800
|
|
bl LZDecompressVram
|
|
b _0809E030
|
|
.align 2, 0
|
|
_0809DF94: .4byte gStatusScreen_Tilemap
|
|
_0809DF98: .4byte 0x06004800
|
|
_0809DF9C:
|
|
ldr r0, _0809DFA4 @ =gUnknown_08E73E88
|
|
ldr r1, _0809DFA8 @ =0x06005800
|
|
b _0809DFB0
|
|
.align 2, 0
|
|
_0809DFA4: .4byte gUnknown_08E73E88
|
|
_0809DFA8: .4byte 0x06005800
|
|
_0809DFAC:
|
|
ldr r0, _0809DFBC @ =gUnknown_08E74688
|
|
ldr r1, _0809DFC0 @ =0x06006800
|
|
_0809DFB0:
|
|
movs r2, 0x80
|
|
lsls r2, 3
|
|
bl CpuSet
|
|
b _0809E030
|
|
.align 2, 0
|
|
_0809DFBC: .4byte gUnknown_08E74688
|
|
_0809DFC0: .4byte 0x06006800
|
|
_0809DFC4:
|
|
ldr r0, _0809DFD0 @ =gStatusScreen_Pal
|
|
movs r1, 0
|
|
movs r2, 0xA0
|
|
bl LoadCompressedPalette
|
|
b _0809E030
|
|
.align 2, 0
|
|
_0809DFD0: .4byte gStatusScreen_Pal
|
|
_0809DFD4:
|
|
ldr r0, _0809DFDC @ =gUnknown_083C11B8
|
|
bl LoadCompressedObjectPic
|
|
b _0809E030
|
|
.align 2, 0
|
|
_0809DFDC: .4byte gUnknown_083C11B8
|
|
_0809DFE0:
|
|
ldr r0, _0809DFE8 @ =gUnknown_083C1270
|
|
bl LoadCompressedObjectPic
|
|
b _0809E030
|
|
.align 2, 0
|
|
_0809DFE8: .4byte gUnknown_083C1270
|
|
_0809DFEC:
|
|
ldr r0, _0809DFF4 @ =gUnknown_083C12F4
|
|
bl LoadCompressedObjectPic
|
|
b _0809E030
|
|
.align 2, 0
|
|
_0809DFF4: .4byte gUnknown_083C12F4
|
|
_0809DFF8:
|
|
ldr r0, _0809E000 @ =gUnknown_083C12FC
|
|
bl LoadCompressedObjectPalette
|
|
b _0809E030
|
|
.align 2, 0
|
|
_0809E000: .4byte gUnknown_083C12FC
|
|
_0809E004:
|
|
ldr r0, _0809E00C @ =gUnknown_083C1278
|
|
bl LoadCompressedObjectPalette
|
|
b _0809E030
|
|
.align 2, 0
|
|
_0809E00C: .4byte gUnknown_083C1278
|
|
_0809E010:
|
|
ldr r0, _0809E028 @ =gMoveTypes_Pal
|
|
movs r1, 0xE8
|
|
lsls r1, 1
|
|
movs r2, 0x60
|
|
bl LoadCompressedPalette
|
|
ldr r0, _0809E02C @ =0x02018000
|
|
adds r0, 0x74
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
movs r0, 0x1
|
|
b _0809E03C
|
|
.align 2, 0
|
|
_0809E028: .4byte gMoveTypes_Pal
|
|
_0809E02C: .4byte 0x02018000
|
|
_0809E030:
|
|
ldr r1, _0809E040 @ =0x02018000
|
|
adds r1, 0x74
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
movs r0, 0
|
|
_0809E03C:
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0809E040: .4byte 0x02018000
|
|
thumb_func_end sub_809DF00
|
|
|
|
thumb_func_start sub_809E044
|
|
sub_809E044: @ 809E044
|
|
push {r4,r5,lr}
|
|
ldr r4, _0809E0F4 @ =gUnknownPalette_81E6692+0x1C
|
|
adds r0, r4, 0
|
|
movs r1, 0x81
|
|
movs r2, 0x2
|
|
bl LoadPalette
|
|
adds r5, r4, 0x2
|
|
adds r0, r5, 0
|
|
movs r1, 0x88
|
|
movs r2, 0x2
|
|
bl LoadPalette
|
|
adds r0, r4, 0
|
|
movs r1, 0x8F
|
|
movs r2, 0x2
|
|
bl LoadPalette
|
|
adds r0, r5, 0
|
|
movs r1, 0x89
|
|
movs r2, 0x2
|
|
bl LoadPalette
|
|
subs r5, 0x12
|
|
adds r0, r5, 0
|
|
movs r1, 0xD1
|
|
movs r2, 0x4
|
|
bl LoadPalette
|
|
adds r0, r4, 0
|
|
subs r0, 0x8
|
|
movs r1, 0xD3
|
|
movs r2, 0x4
|
|
bl LoadPalette
|
|
adds r0, r4, 0
|
|
movs r1, 0xD5
|
|
movs r2, 0x4
|
|
bl LoadPalette
|
|
adds r0, r5, 0
|
|
movs r1, 0xD7
|
|
movs r2, 0x4
|
|
bl LoadPalette
|
|
adds r0, r4, 0
|
|
subs r0, 0x14
|
|
movs r1, 0xD9
|
|
movs r2, 0x4
|
|
bl LoadPalette
|
|
adds r0, r4, 0
|
|
subs r0, 0xC
|
|
movs r1, 0xDB
|
|
movs r2, 0x4
|
|
bl LoadPalette
|
|
adds r0, r4, 0
|
|
subs r0, 0x18
|
|
movs r1, 0xDD
|
|
movs r2, 0x2
|
|
bl LoadPalette
|
|
subs r5, 0x6
|
|
adds r0, r5, 0
|
|
movs r1, 0xDE
|
|
movs r2, 0x2
|
|
bl LoadPalette
|
|
subs r4, 0x1A
|
|
adds r0, r4, 0
|
|
movs r1, 0xDF
|
|
movs r2, 0x2
|
|
bl LoadPalette
|
|
ldr r0, _0809E0F8 @ =gFontDefaultPalette
|
|
movs r1, 0xF0
|
|
movs r2, 0x20
|
|
bl LoadPalette
|
|
adds r0, r5, 0
|
|
movs r1, 0xF9
|
|
movs r2, 0x2
|
|
bl LoadPalette
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0809E0F4: .4byte gUnknownPalette_81E6692+0x1C
|
|
_0809E0F8: .4byte gFontDefaultPalette
|
|
thumb_func_end sub_809E044
|
|
|
|
thumb_func_start SummaryScreenExit
|
|
SummaryScreenExit: @ 809E0FC
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
movs r1, 0
|
|
str r1, [sp]
|
|
movs r2, 0
|
|
movs r3, 0x10
|
|
bl BeginNormalPaletteFade
|
|
ldr r1, _0809E134 @ =gTasks
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _0809E138 @ =sub_809E13C
|
|
str r1, [r0]
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0809E134: .4byte gTasks
|
|
_0809E138: .4byte sub_809E13C
|
|
thumb_func_end SummaryScreenExit
|
|
|
|
thumb_func_start sub_809E13C
|
|
sub_809E13C: @ 809E13C
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
bl sub_8055870
|
|
cmp r0, 0x1
|
|
beq _0809E182
|
|
ldr r0, _0809E188 @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _0809E182
|
|
ldr r1, _0809E18C @ =gUnknown_020384F0
|
|
ldr r4, _0809E190 @ =0x02018000
|
|
ldrb r0, [r4, 0x9]
|
|
strb r0, [r1]
|
|
bl ResetSpriteData
|
|
bl FreeAllSpritePalettes
|
|
bl StopCryAndClearCrySongs
|
|
ldr r0, _0809E194 @ =gMPlay_BGM
|
|
ldr r1, _0809E198 @ =0x0000ffff
|
|
movs r2, 0x80
|
|
lsls r2, 1
|
|
bl m4aMPlayVolumeControl
|
|
ldr r0, [r4, 0x4]
|
|
bl SetMainCallback2
|
|
adds r0, r5, 0
|
|
bl DestroyTask
|
|
_0809E182:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0809E188: .4byte gPaletteFade
|
|
_0809E18C: .4byte gUnknown_020384F0
|
|
_0809E190: .4byte 0x02018000
|
|
_0809E194: .4byte gMPlay_BGM
|
|
_0809E198: .4byte 0x0000ffff
|
|
thumb_func_end sub_809E13C
|
|
|
|
thumb_func_start SummaryScreenHandleKeyInput
|
|
SummaryScreenHandleKeyInput: @ 809E19C
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
ldr r0, _0809E1C8 @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r2, 0x80
|
|
adds r0, r2, 0
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _0809E25A
|
|
ldr r5, _0809E1CC @ =gMain
|
|
ldrh r1, [r5, 0x2E]
|
|
movs r0, 0x40
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0809E1D0
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
adds r0, r4, 0
|
|
bl SummaryScreenHandleUpDownInput
|
|
b _0809E25A
|
|
.align 2, 0
|
|
_0809E1C8: .4byte gPaletteFade
|
|
_0809E1CC: .4byte gMain
|
|
_0809E1D0:
|
|
adds r0, r2, 0
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0809E1E2
|
|
adds r0, r4, 0
|
|
movs r1, 0x1
|
|
bl SummaryScreenHandleUpDownInput
|
|
b _0809E25A
|
|
_0809E1E2:
|
|
movs r0, 0x20
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _0809E1F6
|
|
bl sub_80F9284
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
bne _0809E202
|
|
_0809E1F6:
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
adds r0, r4, 0
|
|
bl SummaryScreenHandleLeftRightInput
|
|
b _0809E25A
|
|
_0809E202:
|
|
ldrh r1, [r5, 0x2E]
|
|
movs r0, 0x10
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _0809E218
|
|
bl sub_80F9284
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x2
|
|
bne _0809E222
|
|
_0809E218:
|
|
adds r0, r4, 0
|
|
movs r1, 0x1
|
|
bl SummaryScreenHandleLeftRightInput
|
|
b _0809E25A
|
|
_0809E222:
|
|
ldrh r1, [r5, 0x2E]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0809E24C
|
|
ldr r5, _0809E248 @ =0x02018000
|
|
ldrb r0, [r5, 0xB]
|
|
cmp r0, 0x1
|
|
bls _0809E23A
|
|
adds r0, r4, 0
|
|
bl SummaryScreenHandleAButton
|
|
_0809E23A:
|
|
ldrb r0, [r5, 0xB]
|
|
cmp r0, 0
|
|
bne _0809E25A
|
|
adds r0, r4, 0
|
|
bl SummaryScreenExit
|
|
b _0809E25A
|
|
.align 2, 0
|
|
_0809E248: .4byte 0x02018000
|
|
_0809E24C:
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0809E25A
|
|
adds r0, r4, 0
|
|
bl SummaryScreenExit
|
|
_0809E25A:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end SummaryScreenHandleKeyInput
|
|
|
|
thumb_func_start sub_809E260
|
|
sub_809E260: @ 809E260
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
ldr r0, _0809E29C @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r2, 0x80
|
|
adds r0, r2, 0
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0809E276
|
|
b _0809E3EE
|
|
_0809E276:
|
|
ldr r5, _0809E2A0 @ =gMain
|
|
ldrh r1, [r5, 0x2E]
|
|
movs r0, 0x40
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0809E2AC
|
|
ldr r1, _0809E2A4 @ =gTasks
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
movs r1, 0x4
|
|
strh r1, [r0, 0x8]
|
|
subs r1, 0x5
|
|
ldr r2, _0809E2A8 @ =0x02018079
|
|
adds r0, r4, 0
|
|
bl sub_809E8F0
|
|
b _0809E3EE
|
|
.align 2, 0
|
|
_0809E29C: .4byte gPaletteFade
|
|
_0809E2A0: .4byte gMain
|
|
_0809E2A4: .4byte gTasks
|
|
_0809E2A8: .4byte 0x02018079
|
|
_0809E2AC:
|
|
adds r0, r2, 0
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0809E2D8
|
|
ldr r1, _0809E2D0 @ =gTasks
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
movs r1, 0x4
|
|
strh r1, [r0, 0x8]
|
|
ldr r2, _0809E2D4 @ =0x02018079
|
|
adds r0, r4, 0
|
|
movs r1, 0x1
|
|
bl sub_809E8F0
|
|
b _0809E3EE
|
|
.align 2, 0
|
|
_0809E2D0: .4byte gTasks
|
|
_0809E2D4: .4byte 0x02018079
|
|
_0809E2D8:
|
|
movs r0, 0x20
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _0809E2EC
|
|
bl sub_80F9284
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
bne _0809E324
|
|
_0809E2EC:
|
|
ldr r1, _0809E320 @ =0x02018000
|
|
ldrb r0, [r1, 0xB]
|
|
cmp r0, 0x3
|
|
bne _0809E314
|
|
adds r0, r1, 0
|
|
adds r0, 0x79
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x4
|
|
bne _0809E308
|
|
adds r0, r1, 0
|
|
adds r0, 0x7C
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
beq _0809E314
|
|
_0809E308:
|
|
movs r0, 0
|
|
movs r1, 0xE
|
|
movs r2, 0x9
|
|
movs r3, 0x12
|
|
bl MenuZeroFillWindowRect
|
|
_0809E314:
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
adds r0, r4, 0
|
|
bl SummaryScreenHandleLeftRightInput
|
|
b _0809E3EE
|
|
.align 2, 0
|
|
_0809E320: .4byte 0x02018000
|
|
_0809E324:
|
|
ldrh r1, [r5, 0x2E]
|
|
movs r0, 0x10
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _0809E33A
|
|
bl sub_80F9284
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x2
|
|
bne _0809E37C
|
|
_0809E33A:
|
|
ldr r1, _0809E378 @ =0x02018000
|
|
adds r2, r1, 0
|
|
adds r2, 0x76
|
|
ldrb r0, [r1, 0xB]
|
|
ldrb r2, [r2]
|
|
cmp r0, r2
|
|
beq _0809E3EE
|
|
cmp r0, 0x2
|
|
bne _0809E36C
|
|
adds r0, r1, 0
|
|
adds r0, 0x79
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x4
|
|
bne _0809E360
|
|
adds r0, r1, 0
|
|
adds r0, 0x7C
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
beq _0809E36C
|
|
_0809E360:
|
|
movs r0, 0
|
|
movs r1, 0xE
|
|
movs r2, 0x9
|
|
movs r3, 0x12
|
|
bl MenuZeroFillWindowRect
|
|
_0809E36C:
|
|
adds r0, r4, 0
|
|
movs r1, 0x1
|
|
bl SummaryScreenHandleLeftRightInput
|
|
b _0809E3EE
|
|
.align 2, 0
|
|
_0809E378: .4byte 0x02018000
|
|
_0809E37C:
|
|
ldrh r1, [r5, 0x2E]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0809E3D4
|
|
adds r0, r4, 0
|
|
bl sub_809F7D0
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
beq _0809E3A0
|
|
ldr r0, _0809E3BC @ =0x02018000
|
|
adds r5, r0, 0
|
|
adds r5, 0x79
|
|
ldrb r0, [r5]
|
|
cmp r0, 0x4
|
|
bne _0809E3C4
|
|
_0809E3A0:
|
|
ldr r0, _0809E3BC @ =0x02018000
|
|
adds r1, r0, 0
|
|
adds r1, 0x79
|
|
ldrb r1, [r1]
|
|
adds r0, 0x7A
|
|
strb r1, [r0]
|
|
ldr r1, _0809E3C0 @ =gSpecialVar_0x8005
|
|
ldrb r0, [r0]
|
|
strh r0, [r1]
|
|
adds r0, r4, 0
|
|
bl SummaryScreenExit
|
|
b _0809E3EE
|
|
.align 2, 0
|
|
_0809E3BC: .4byte 0x02018000
|
|
_0809E3C0: .4byte gSpecialVar_0x8005
|
|
_0809E3C4:
|
|
movs r0, 0x20
|
|
bl PlaySE
|
|
ldrb r1, [r5]
|
|
adds r0, r4, 0
|
|
bl sub_809F9D0
|
|
b _0809E3EE
|
|
_0809E3D4:
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0809E3EE
|
|
ldr r0, _0809E3F4 @ =0x02018000
|
|
adds r0, 0x7A
|
|
movs r1, 0x4
|
|
strb r1, [r0]
|
|
ldr r0, _0809E3F8 @ =gSpecialVar_0x8005
|
|
strh r1, [r0]
|
|
adds r0, r4, 0
|
|
bl SummaryScreenExit
|
|
_0809E3EE:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0809E3F4: .4byte 0x02018000
|
|
_0809E3F8: .4byte gSpecialVar_0x8005
|
|
thumb_func_end sub_809E260
|
|
|
|
thumb_func_start sub_809E3FC
|
|
sub_809E3FC: @ 809E3FC
|
|
push {r4-r7,lr}
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
adds r7, r5, 0
|
|
ldr r0, _0809E438 @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r2, 0x80
|
|
adds r0, r2, 0
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _0809E502
|
|
ldr r0, _0809E43C @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0x40
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0809E448
|
|
ldr r1, _0809E440 @ =gTasks
|
|
lsls r0, r5, 2
|
|
adds r0, r5
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
movs r1, 0x4
|
|
strh r1, [r0, 0x8]
|
|
subs r1, 0x5
|
|
ldr r2, _0809E444 @ =0x02018079
|
|
adds r0, r5, 0
|
|
bl sub_809E8F0
|
|
b _0809E502
|
|
.align 2, 0
|
|
_0809E438: .4byte gPaletteFade
|
|
_0809E43C: .4byte gMain
|
|
_0809E440: .4byte gTasks
|
|
_0809E444: .4byte 0x02018079
|
|
_0809E448:
|
|
adds r0, r2, 0
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0809E474
|
|
ldr r1, _0809E46C @ =gTasks
|
|
lsls r0, r5, 2
|
|
adds r0, r5
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
movs r1, 0x4
|
|
strh r1, [r0, 0x8]
|
|
ldr r2, _0809E470 @ =0x02018079
|
|
adds r0, r5, 0
|
|
movs r1, 0x1
|
|
bl sub_809E8F0
|
|
b _0809E502
|
|
.align 2, 0
|
|
_0809E46C: .4byte gTasks
|
|
_0809E470: .4byte 0x02018079
|
|
_0809E474:
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0809E4EE
|
|
ldr r4, _0809E4A8 @ =0x02018000
|
|
adds r6, r4, 0
|
|
adds r6, 0x79
|
|
ldrb r0, [r6]
|
|
cmp r0, 0x4
|
|
beq _0809E4E0
|
|
adds r0, r4, 0
|
|
adds r0, 0x7B
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
bne _0809E4E0
|
|
adds r0, r4, 0
|
|
adds r0, 0x10
|
|
bl sub_809E508
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0809E4AC
|
|
movs r0, 0x20
|
|
bl PlaySE
|
|
b _0809E502
|
|
.align 2, 0
|
|
_0809E4A8: .4byte 0x02018000
|
|
_0809E4AC:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldrb r1, [r6]
|
|
adds r0, r4, 0
|
|
adds r0, 0x7A
|
|
strb r1, [r0]
|
|
movs r0, 0x1
|
|
bl sub_80A1B40
|
|
movs r0, 0x13
|
|
bl sub_80A1A30
|
|
ldr r1, _0809E4D8 @ =gTasks
|
|
lsls r0, r5, 2
|
|
adds r0, r5
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _0809E4DC @ =sub_809E534
|
|
str r1, [r0]
|
|
b _0809E502
|
|
.align 2, 0
|
|
_0809E4D8: .4byte gTasks
|
|
_0809E4DC: .4byte sub_809E534
|
|
_0809E4E0:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
adds r0, r7, 0
|
|
bl sub_809EAC8
|
|
b _0809E502
|
|
_0809E4EE:
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0809E502
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
adds r0, r7, 0
|
|
bl sub_809EAC8
|
|
_0809E502:
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_809E3FC
|
|
|
|
thumb_func_start sub_809E508
|
|
sub_809E508: @ 809E508
|
|
push {r4,r5,lr}
|
|
adds r5, r0, 0
|
|
movs r4, 0x1
|
|
_0809E50E:
|
|
adds r0, r5, 0
|
|
adds r1, r4, 0
|
|
bl sub_809F760
|
|
lsls r0, 16
|
|
cmp r0, 0
|
|
beq _0809E520
|
|
movs r0, 0x1
|
|
b _0809E52C
|
|
_0809E520:
|
|
adds r0, r4, 0x1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0x3
|
|
bls _0809E50E
|
|
movs r0, 0
|
|
_0809E52C:
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_809E508
|
|
|
|
thumb_func_start sub_809E534
|
|
sub_809E534: @ 809E534
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r3, r0, 24
|
|
adds r2, r3, 0
|
|
ldr r0, _0809E564 @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0x40
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0809E570
|
|
ldr r1, _0809E568 @ =gTasks
|
|
lsls r0, r3, 2
|
|
adds r0, r3
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
movs r1, 0x3
|
|
strh r1, [r0, 0x8]
|
|
subs r1, 0x4
|
|
ldr r2, _0809E56C @ =0x0201807a
|
|
adds r0, r3, 0
|
|
bl sub_809E8F0
|
|
b _0809E5C0
|
|
.align 2, 0
|
|
_0809E564: .4byte gMain
|
|
_0809E568: .4byte gTasks
|
|
_0809E56C: .4byte 0x0201807a
|
|
_0809E570:
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0809E59C
|
|
ldr r1, _0809E594 @ =gTasks
|
|
lsls r0, r3, 2
|
|
adds r0, r3
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
movs r1, 0x3
|
|
strh r1, [r0, 0x8]
|
|
ldr r2, _0809E598 @ =0x0201807a
|
|
adds r0, r3, 0
|
|
movs r1, 0x1
|
|
bl sub_809E8F0
|
|
b _0809E5C0
|
|
.align 2, 0
|
|
_0809E594: .4byte gTasks
|
|
_0809E598: .4byte 0x0201807a
|
|
_0809E59C:
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0809E5AE
|
|
adds r0, r3, 0
|
|
movs r1, 0x1
|
|
bl sub_809E83C
|
|
b _0809E5C0
|
|
_0809E5AE:
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0809E5C0
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
adds r0, r2, 0
|
|
bl sub_809E83C
|
|
_0809E5C0:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_809E534
|
|
|
|
thumb_func_start sub_809E5C4
|
|
sub_809E5C4: @ 809E5C4
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x20
|
|
ldr r1, _0809E6D0 @ =0x02018000
|
|
ldr r5, [r1]
|
|
ldrb r2, [r1, 0x9]
|
|
movs r0, 0x64
|
|
muls r0, r2
|
|
adds r5, r0
|
|
adds r0, r1, 0
|
|
adds r0, 0x79
|
|
ldrb r0, [r0]
|
|
mov r8, r0
|
|
adds r1, 0x7A
|
|
ldrb r6, [r1]
|
|
adds r0, 0xD
|
|
str r0, [sp, 0x8]
|
|
adds r0, r5, 0
|
|
ldr r1, [sp, 0x8]
|
|
bl GetMonData
|
|
mov r1, sp
|
|
adds r1, 0x2
|
|
str r1, [sp, 0x14]
|
|
strh r0, [r1]
|
|
adds r2, r6, 0
|
|
adds r2, 0xD
|
|
str r2, [sp, 0xC]
|
|
adds r0, r5, 0
|
|
adds r1, r2, 0
|
|
bl GetMonData
|
|
mov r1, sp
|
|
strh r0, [r1]
|
|
mov r3, r8
|
|
adds r3, 0x11
|
|
str r3, [sp, 0x10]
|
|
adds r0, r5, 0
|
|
adds r1, r3, 0
|
|
bl GetMonData
|
|
mov r7, sp
|
|
adds r7, 0x5
|
|
str r7, [sp, 0x18]
|
|
strb r0, [r7]
|
|
adds r0, r6, 0
|
|
adds r0, 0x11
|
|
str r0, [sp, 0x1C]
|
|
adds r0, r5, 0
|
|
ldr r1, [sp, 0x1C]
|
|
bl GetMonData
|
|
add r1, sp, 0x4
|
|
mov r10, r1
|
|
strb r0, [r1]
|
|
adds r0, r5, 0
|
|
movs r1, 0x15
|
|
bl GetMonData
|
|
mov r4, sp
|
|
adds r4, 0x6
|
|
strb r0, [r4]
|
|
ldr r1, _0809E6D4 @ =gUnknown_08208238
|
|
mov r2, r8
|
|
adds r0, r2, r1
|
|
ldrb r0, [r0]
|
|
mov r9, r0
|
|
ldrb r0, [r4]
|
|
adds r2, r0, 0
|
|
mov r3, r9
|
|
ands r2, r3
|
|
mov r7, r8
|
|
lsls r7, 1
|
|
mov r8, r7
|
|
asrs r2, r7
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
adds r1, r6, r1
|
|
ldrb r3, [r1]
|
|
adds r1, r0, 0
|
|
ands r1, r3
|
|
lsls r6, 1
|
|
asrs r1, r6
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
mov r7, r9
|
|
bics r0, r7
|
|
strb r0, [r4]
|
|
ldrb r0, [r4]
|
|
bics r0, r3
|
|
strb r0, [r4]
|
|
lsls r2, r6
|
|
mov r0, r8
|
|
lsls r1, r0
|
|
adds r2, r1
|
|
ldrb r0, [r4]
|
|
orrs r0, r2
|
|
strb r0, [r4]
|
|
adds r0, r5, 0
|
|
ldr r1, [sp, 0x8]
|
|
mov r2, sp
|
|
bl SetMonData
|
|
adds r0, r5, 0
|
|
ldr r1, [sp, 0xC]
|
|
ldr r2, [sp, 0x14]
|
|
bl SetMonData
|
|
adds r0, r5, 0
|
|
ldr r1, [sp, 0x10]
|
|
mov r2, r10
|
|
bl SetMonData
|
|
adds r0, r5, 0
|
|
ldr r1, [sp, 0x1C]
|
|
ldr r2, [sp, 0x18]
|
|
bl SetMonData
|
|
adds r0, r5, 0
|
|
movs r1, 0x15
|
|
adds r2, r4, 0
|
|
bl SetMonData
|
|
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
|
|
_0809E6D0: .4byte 0x02018000
|
|
_0809E6D4: .4byte gUnknown_08208238
|
|
thumb_func_end sub_809E5C4
|
|
|
|
thumb_func_start sub_809E6D8
|
|
sub_809E6D8: @ 809E6D8
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x20
|
|
ldr r2, _0809E7E8 @ =0x02018000
|
|
ldr r5, [r2]
|
|
ldrb r1, [r2, 0x9]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 4
|
|
adds r5, r0
|
|
adds r0, r2, 0
|
|
adds r0, 0x79
|
|
ldrb r0, [r0]
|
|
mov r8, r0
|
|
adds r2, 0x7A
|
|
ldrb r6, [r2]
|
|
adds r0, 0xD
|
|
str r0, [sp, 0x8]
|
|
adds r0, r5, 0
|
|
ldr r1, [sp, 0x8]
|
|
bl GetBoxMonData
|
|
mov r1, sp
|
|
adds r1, 0x2
|
|
str r1, [sp, 0x14]
|
|
strh r0, [r1]
|
|
adds r2, r6, 0
|
|
adds r2, 0xD
|
|
str r2, [sp, 0xC]
|
|
adds r0, r5, 0
|
|
adds r1, r2, 0
|
|
bl GetBoxMonData
|
|
mov r1, sp
|
|
strh r0, [r1]
|
|
mov r3, r8
|
|
adds r3, 0x11
|
|
str r3, [sp, 0x10]
|
|
adds r0, r5, 0
|
|
adds r1, r3, 0
|
|
bl GetBoxMonData
|
|
mov r7, sp
|
|
adds r7, 0x5
|
|
str r7, [sp, 0x18]
|
|
strb r0, [r7]
|
|
adds r0, r6, 0
|
|
adds r0, 0x11
|
|
str r0, [sp, 0x1C]
|
|
adds r0, r5, 0
|
|
ldr r1, [sp, 0x1C]
|
|
bl GetBoxMonData
|
|
add r1, sp, 0x4
|
|
mov r10, r1
|
|
strb r0, [r1]
|
|
adds r0, r5, 0
|
|
movs r1, 0x15
|
|
bl GetBoxMonData
|
|
mov r4, sp
|
|
adds r4, 0x6
|
|
strb r0, [r4]
|
|
ldr r1, _0809E7EC @ =gUnknown_08208238
|
|
mov r2, r8
|
|
adds r0, r2, r1
|
|
ldrb r0, [r0]
|
|
mov r9, r0
|
|
ldrb r0, [r4]
|
|
adds r2, r0, 0
|
|
mov r3, r9
|
|
ands r2, r3
|
|
mov r7, r8
|
|
lsls r7, 1
|
|
mov r8, r7
|
|
asrs r2, r7
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
adds r1, r6, r1
|
|
ldrb r3, [r1]
|
|
adds r1, r0, 0
|
|
ands r1, r3
|
|
lsls r6, 1
|
|
asrs r1, r6
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
mov r7, r9
|
|
bics r0, r7
|
|
strb r0, [r4]
|
|
ldrb r0, [r4]
|
|
bics r0, r3
|
|
strb r0, [r4]
|
|
lsls r2, r6
|
|
mov r0, r8
|
|
lsls r1, r0
|
|
adds r2, r1
|
|
ldrb r0, [r4]
|
|
orrs r0, r2
|
|
strb r0, [r4]
|
|
adds r0, r5, 0
|
|
ldr r1, [sp, 0x8]
|
|
mov r2, sp
|
|
bl SetBoxMonData
|
|
adds r0, r5, 0
|
|
ldr r1, [sp, 0xC]
|
|
ldr r2, [sp, 0x14]
|
|
bl SetBoxMonData
|
|
adds r0, r5, 0
|
|
ldr r1, [sp, 0x10]
|
|
mov r2, r10
|
|
bl SetBoxMonData
|
|
adds r0, r5, 0
|
|
ldr r1, [sp, 0x1C]
|
|
ldr r2, [sp, 0x18]
|
|
bl SetBoxMonData
|
|
adds r0, r5, 0
|
|
movs r1, 0x15
|
|
adds r2, r4, 0
|
|
bl SetBoxMonData
|
|
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
|
|
_0809E7E8: .4byte 0x02018000
|
|
_0809E7EC: .4byte gUnknown_08208238
|
|
thumb_func_end sub_809E6D8
|
|
|
|
thumb_func_start sub_809E7F0
|
|
sub_809E7F0: @ 809E7F0
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
bl sub_809F5F8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0809E828
|
|
ldr r1, _0809E830 @ =0x02018000
|
|
adds r2, r1, 0
|
|
adds r2, 0x74
|
|
movs r0, 0
|
|
strb r0, [r2]
|
|
adds r0, r1, 0
|
|
adds r0, 0x10
|
|
adds r1, 0x79
|
|
bl sub_80A0428
|
|
ldr r1, _0809E834 @ =gTasks
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _0809E838 @ =sub_809E3FC
|
|
str r1, [r0]
|
|
adds r0, r4, 0
|
|
bl sub_80A2078
|
|
_0809E828:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0809E830: .4byte 0x02018000
|
|
_0809E834: .4byte gTasks
|
|
_0809E838: .4byte sub_809E3FC
|
|
thumb_func_end sub_809E7F0
|
|
|
|
thumb_func_start sub_809E83C
|
|
sub_809E83C: @ 809E83C
|
|
push {r4,r5,lr}
|
|
adds r4, r1, 0
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
movs r0, 0x13
|
|
bl sub_80A1B1C
|
|
movs r0, 0
|
|
bl sub_80A1B40
|
|
cmp r4, 0x1
|
|
bne _0809E8C0
|
|
ldr r1, _0809E87C @ =0x02018000
|
|
adds r0, r1, 0
|
|
adds r0, 0x79
|
|
adds r2, r1, 0
|
|
adds r2, 0x7A
|
|
ldrb r0, [r0]
|
|
ldrb r2, [r2]
|
|
cmp r0, r2
|
|
beq _0809E8CA
|
|
ldrb r0, [r1, 0xE]
|
|
cmp r0, 0
|
|
bne _0809E880
|
|
bl sub_809E5C4
|
|
b _0809E884
|
|
.align 2, 0
|
|
_0809E87C: .4byte 0x02018000
|
|
_0809E880:
|
|
bl sub_809E6D8
|
|
_0809E884:
|
|
ldr r4, _0809E8B4 @ =0x02018000
|
|
adds r0, r4, 0
|
|
adds r0, 0x7A
|
|
ldrb r0, [r0]
|
|
adds r1, r4, 0
|
|
adds r1, 0x79
|
|
strb r0, [r1]
|
|
adds r0, r4, 0
|
|
adds r0, 0x10
|
|
bl sub_809F678
|
|
adds r1, r4, 0
|
|
adds r1, 0x74
|
|
movs r0, 0x1
|
|
strb r0, [r1]
|
|
ldr r1, _0809E8B8 @ =gTasks
|
|
lsls r0, r5, 2
|
|
adds r0, r5
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _0809E8BC @ =sub_809E7F0
|
|
str r1, [r0]
|
|
b _0809E8DE
|
|
.align 2, 0
|
|
_0809E8B4: .4byte 0x02018000
|
|
_0809E8B8: .4byte gTasks
|
|
_0809E8BC: .4byte sub_809E7F0
|
|
_0809E8C0:
|
|
ldr r0, _0809E8E4 @ =0x02018010
|
|
adds r1, r0, 0
|
|
adds r1, 0x69
|
|
bl sub_80A0428
|
|
_0809E8CA:
|
|
ldr r0, _0809E8E8 @ =gTasks
|
|
lsls r1, r5, 2
|
|
adds r1, r5
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldr r0, _0809E8EC @ =sub_809E3FC
|
|
str r0, [r1]
|
|
adds r0, r5, 0
|
|
bl sub_80A2078
|
|
_0809E8DE:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0809E8E4: .4byte 0x02018010
|
|
_0809E8E8: .4byte gTasks
|
|
_0809E8EC: .4byte sub_809E3FC
|
|
thumb_func_end sub_809E83C
|
|
|
|
thumb_func_start sub_809E8F0
|
|
sub_809E8F0: @ 809E8F0
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x8
|
|
adds r4, r1, 0
|
|
mov r9, r2
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r8, r0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
movs r0, 0x1
|
|
str r0, [sp]
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
mov r1, r9
|
|
ldrb r6, [r1]
|
|
ldr r1, _0809E944 @ =gTasks
|
|
mov r2, r8
|
|
lsls r0, r2, 2
|
|
add r0, r8
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldrb r0, [r0, 0x8]
|
|
movs r2, 0
|
|
lsls r4, 24
|
|
asrs r4, 24
|
|
mov r10, r4
|
|
lsls r7, r0, 24
|
|
_0809E930:
|
|
lsls r0, r6, 24
|
|
asrs r0, 24
|
|
add r0, r10
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
asrs r1, r0, 24
|
|
cmp r0, r7
|
|
ble _0809E948
|
|
movs r6, 0
|
|
b _0809E94E
|
|
.align 2, 0
|
|
_0809E944: .4byte gTasks
|
|
_0809E948:
|
|
cmp r1, 0
|
|
bge _0809E94E
|
|
lsrs r6, r7, 24
|
|
_0809E94E:
|
|
lsls r4, r6, 24
|
|
lsrs r1, r4, 24
|
|
ldr r0, _0809EA10 @ =0x02018010
|
|
str r2, [sp, 0x4]
|
|
bl sub_809F760
|
|
lsls r0, 16
|
|
adds r5, r4, 0
|
|
ldr r2, [sp, 0x4]
|
|
cmp r0, 0
|
|
bne _0809E97A
|
|
asrs r0, r5, 24
|
|
cmp r0, 0x4
|
|
beq _0809E97A
|
|
lsls r0, r2, 24
|
|
movs r3, 0x80
|
|
lsls r3, 17
|
|
adds r0, r3
|
|
lsrs r2, r0, 24
|
|
asrs r0, 24
|
|
cmp r0, 0x3
|
|
ble _0809E930
|
|
_0809E97A:
|
|
mov r1, r9
|
|
ldrb r0, [r1]
|
|
cmp r0, 0x4
|
|
bne _0809E996
|
|
asrs r0, r5, 24
|
|
cmp r0, 0x4
|
|
beq _0809E996
|
|
ldr r0, _0809EA14 @ =0x02018000
|
|
adds r0, 0x7C
|
|
ldrh r0, [r0]
|
|
mov r2, r8
|
|
lsls r7, r2, 2
|
|
cmp r0, 0
|
|
beq _0809E9AC
|
|
_0809E996:
|
|
ldr r2, _0809EA18 @ =gTasks
|
|
mov r3, r8
|
|
lsls r1, r3, 2
|
|
adds r0, r1, r3
|
|
lsls r0, 3
|
|
adds r0, r2
|
|
movs r2, 0x22
|
|
ldrsh r0, [r0, r2]
|
|
adds r7, r1, 0
|
|
cmp r0, 0x1
|
|
bne _0809E9D0
|
|
_0809E9AC:
|
|
lsrs r4, r5, 24
|
|
movs r0, 0x2
|
|
adds r1, r4, 0
|
|
bl sub_80A1488
|
|
movs r0, 0x2
|
|
adds r1, r4, 0
|
|
bl sub_80A1654
|
|
ldr r1, _0809EA18 @ =gTasks
|
|
mov r3, r8
|
|
adds r0, r7, r3
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
movs r1, 0
|
|
strh r1, [r0, 0x22]
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
_0809E9D0:
|
|
mov r1, r9
|
|
ldrb r0, [r1]
|
|
cmp r0, 0x4
|
|
beq _0809E9FE
|
|
asrs r0, r5, 24
|
|
cmp r0, 0x4
|
|
bne _0809E9FE
|
|
ldr r0, _0809EA14 @ =0x02018000
|
|
adds r0, 0x7C
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
bne _0809E9FE
|
|
movs r4, 0x2
|
|
negs r4, r4
|
|
lsrs r5, 24
|
|
adds r0, r4, 0
|
|
adds r1, r5, 0
|
|
bl sub_80A1488
|
|
adds r0, r4, 0
|
|
adds r1, r5, 0
|
|
bl sub_80A1654
|
|
_0809E9FE:
|
|
mov r2, r9
|
|
strb r6, [r2]
|
|
ldr r0, _0809EA1C @ =0x02018079
|
|
cmp r9, r0
|
|
bne _0809EA20
|
|
movs r0, 0
|
|
bl sub_80A1C30
|
|
b _0809EA26
|
|
.align 2, 0
|
|
_0809EA10: .4byte 0x02018010
|
|
_0809EA14: .4byte 0x02018000
|
|
_0809EA18: .4byte gTasks
|
|
_0809EA1C: .4byte 0x02018079
|
|
_0809EA20:
|
|
movs r0, 0x1
|
|
bl sub_80A1C30
|
|
_0809EA26:
|
|
ldr r3, [sp]
|
|
cmp r3, 0
|
|
beq _0809EA34
|
|
ldr r0, _0809EA4C @ =0x02018010
|
|
mov r1, r9
|
|
bl sub_80A0428
|
|
_0809EA34:
|
|
mov r0, r8
|
|
bl sub_80A2078
|
|
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
|
|
_0809EA4C: .4byte 0x02018010
|
|
thumb_func_end sub_809E8F0
|
|
|
|
thumb_func_start SummaryScreenHandleAButton
|
|
SummaryScreenHandleAButton: @ 809EA50
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r4, _0809EABC @ =0x02018000
|
|
adds r1, r4, 0
|
|
adds r1, 0x79
|
|
movs r0, 0
|
|
strb r0, [r1]
|
|
movs r0, 0x2
|
|
movs r1, 0
|
|
bl sub_80A1488
|
|
movs r0, 0x2
|
|
movs r1, 0
|
|
bl sub_80A1654
|
|
adds r0, r4, 0
|
|
adds r0, 0x7B
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
bne _0809EA8C
|
|
adds r1, r4, 0
|
|
adds r1, 0x7F
|
|
movs r0, 0x5
|
|
strb r0, [r1]
|
|
bl sub_80A0DD0
|
|
_0809EA8C:
|
|
movs r0, 0
|
|
bl sub_80A16CC
|
|
adds r0, r4, 0
|
|
adds r0, 0x10
|
|
bl sub_80A029C
|
|
movs r0, 0x9
|
|
bl sub_80A1A30
|
|
ldr r1, _0809EAC0 @ =gTasks
|
|
lsls r0, r5, 2
|
|
adds r0, r5
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _0809EAC4 @ =sub_809E3FC
|
|
str r1, [r0]
|
|
adds r0, r5, 0
|
|
bl sub_80A2078
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0809EABC: .4byte 0x02018000
|
|
_0809EAC0: .4byte gTasks
|
|
_0809EAC4: .4byte sub_809E3FC
|
|
thumb_func_end SummaryScreenHandleAButton
|
|
|
|
thumb_func_start sub_809EAC8
|
|
sub_809EAC8: @ 809EAC8
|
|
push {r4-r6,lr}
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
ldr r6, _0809EB34 @ =0x02018000
|
|
adds r0, r6, 0
|
|
adds r0, 0x79
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x4
|
|
beq _0809EAEE
|
|
movs r4, 0x2
|
|
negs r4, r4
|
|
adds r0, r4, 0
|
|
movs r1, 0
|
|
bl sub_80A1488
|
|
adds r0, r4, 0
|
|
movs r1, 0
|
|
bl sub_80A1654
|
|
_0809EAEE:
|
|
movs r0, 0x9
|
|
bl sub_80A1B1C
|
|
movs r0, 0x1
|
|
bl sub_80A16CC
|
|
movs r0, 0xF
|
|
movs r1, 0xC
|
|
movs r2, 0x1C
|
|
movs r3, 0xD
|
|
bl MenuZeroFillWindowRect
|
|
movs r0, 0xB
|
|
movs r1, 0xF
|
|
movs r2, 0x1C
|
|
movs r3, 0x12
|
|
bl MenuZeroFillWindowRect
|
|
adds r1, r6, 0
|
|
adds r1, 0x7F
|
|
movs r0, 0x6
|
|
strb r0, [r1]
|
|
bl sub_80A0DD0
|
|
ldr r1, _0809EB38 @ =gTasks
|
|
lsls r0, r5, 2
|
|
adds r0, r5
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _0809EB3C @ =SummaryScreenHandleKeyInput
|
|
str r1, [r0]
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0809EB34: .4byte 0x02018000
|
|
_0809EB38: .4byte gTasks
|
|
_0809EB3C: .4byte SummaryScreenHandleKeyInput
|
|
thumb_func_end sub_809EAC8
|
|
|
|
thumb_func_start sub_809EB40
|
|
sub_809EB40: @ 809EB40
|
|
push {r4-r6,lr}
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
ldr r1, _0809EB6C @ =gTasks
|
|
lsls r0, r5, 2
|
|
adds r0, r5
|
|
lsls r0, 3
|
|
adds r4, r0, r1
|
|
movs r1, 0x8
|
|
ldrsh r0, [r4, r1]
|
|
cmp r0, 0
|
|
beq _0809EB74
|
|
cmp r0, 0x5
|
|
bne _0809EBA4
|
|
movs r0, 0x9
|
|
bl sub_80A1A30
|
|
movs r0, 0
|
|
strh r0, [r4, 0x8]
|
|
ldr r0, _0809EB70 @ =sub_809E260
|
|
str r0, [r4]
|
|
b _0809EBB4
|
|
.align 2, 0
|
|
_0809EB6C: .4byte gTasks
|
|
_0809EB70: .4byte sub_809E260
|
|
_0809EB74:
|
|
ldr r4, _0809EBBC @ =0x02018000
|
|
adds r6, r4, 0
|
|
adds r6, 0x79
|
|
strb r0, [r6]
|
|
adds r0, r4, 0
|
|
adds r0, 0x7C
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
beq _0809EB96
|
|
movs r0, 0xA
|
|
movs r1, 0
|
|
bl sub_80A1488
|
|
ldrb r1, [r6]
|
|
movs r0, 0xA
|
|
bl sub_80A1654
|
|
_0809EB96:
|
|
movs r0, 0
|
|
bl sub_80A16CC
|
|
adds r0, r4, 0
|
|
adds r0, 0x10
|
|
bl sub_80A029C
|
|
_0809EBA4:
|
|
ldr r0, _0809EBC0 @ =gTasks
|
|
lsls r1, r5, 2
|
|
adds r1, r5
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldrh r0, [r1, 0x8]
|
|
adds r0, 0x1
|
|
strh r0, [r1, 0x8]
|
|
_0809EBB4:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0809EBBC: .4byte 0x02018000
|
|
_0809EBC0: .4byte gTasks
|
|
thumb_func_end sub_809EB40
|
|
|
|
thumb_func_start sub_809EBC4
|
|
sub_809EBC4: @ 809EBC4
|
|
push {r4,lr}
|
|
ldr r4, _0809EC28 @ =0x02018000
|
|
ldrb r0, [r4, 0xB]
|
|
cmp r0, 0
|
|
beq _0809EC22
|
|
bl sub_80A0EE8
|
|
ldr r0, _0809EC2C @ =gUnknown_030042C0
|
|
movs r2, 0x80
|
|
lsls r2, 1
|
|
adds r1, r2, 0
|
|
strh r1, [r0]
|
|
ldrb r0, [r4, 0xB]
|
|
cmp r0, 0x1
|
|
bne _0809EBF4
|
|
ldr r2, _0809EC30 @ =REG_BG1CNT
|
|
ldrh r1, [r2]
|
|
ldr r0, _0809EC34 @ =0x0000e0ff
|
|
ands r0, r1
|
|
movs r3, 0x80
|
|
lsls r3, 4
|
|
adds r1, r3, 0
|
|
adds r0, r1
|
|
strh r0, [r2]
|
|
_0809EBF4:
|
|
ldrb r3, [r4, 0xB]
|
|
cmp r3, 0x2
|
|
bne _0809EC0C
|
|
ldr r2, _0809EC30 @ =REG_BG1CNT
|
|
ldrh r1, [r2]
|
|
ldr r0, _0809EC34 @ =0x0000e0ff
|
|
ands r0, r1
|
|
movs r4, 0xA0
|
|
lsls r4, 4
|
|
adds r1, r4, 0
|
|
adds r0, r1
|
|
strh r0, [r2]
|
|
_0809EC0C:
|
|
cmp r3, 0x3
|
|
bne _0809EC22
|
|
ldr r2, _0809EC30 @ =REG_BG1CNT
|
|
ldrh r1, [r2]
|
|
ldr r0, _0809EC34 @ =0x0000e0ff
|
|
ands r0, r1
|
|
movs r3, 0xC0
|
|
lsls r3, 4
|
|
adds r1, r3, 0
|
|
adds r0, r1
|
|
strh r0, [r2]
|
|
_0809EC22:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0809EC28: .4byte 0x02018000
|
|
_0809EC2C: .4byte gUnknown_030042C0
|
|
_0809EC30: .4byte REG_BG1CNT
|
|
_0809EC34: .4byte 0x0000e0ff
|
|
thumb_func_end sub_809EBC4
|
|
|
|
thumb_func_start sub_809EC38
|
|
sub_809EC38: @ 809EC38
|
|
push {r4-r6,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
ldr r1, _0809EC5C @ =gTasks + 0x8
|
|
adds r6, r0, r1
|
|
movs r1, 0
|
|
ldrsh r0, [r6, r1]
|
|
cmp r0, 0x5
|
|
bls _0809EC52
|
|
b _0809EE64
|
|
_0809EC52:
|
|
lsls r0, 2
|
|
ldr r1, _0809EC60 @ =_0809EC64
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0809EC5C: .4byte gTasks + 0x8
|
|
_0809EC60: .4byte _0809EC64
|
|
.align 2, 0
|
|
_0809EC64:
|
|
.4byte _0809EC7C
|
|
.4byte _0809ED14
|
|
.4byte _0809ED98
|
|
.4byte _0809EE12
|
|
.4byte _0809EE1C
|
|
.4byte _0809EE4C
|
|
_0809EC7C:
|
|
ldr r1, _0809ECB8 @ =0x02018000
|
|
adds r0, r1, 0
|
|
adds r0, 0x80
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
bne _0809ECC8
|
|
ldrb r3, [r1, 0xB]
|
|
cmp r3, 0
|
|
beq _0809EC98
|
|
ldr r1, _0809ECBC @ =gUnknown_03004288
|
|
movs r2, 0x80
|
|
lsls r2, 1
|
|
adds r0, r2, 0
|
|
strh r0, [r1]
|
|
_0809EC98:
|
|
cmp r3, 0x1
|
|
bne _0809ECAE
|
|
ldr r2, _0809ECC0 @ =REG_BG2CNT
|
|
ldrh r1, [r2]
|
|
ldr r0, _0809ECC4 @ =0x0000e0ff
|
|
ands r0, r1
|
|
movs r4, 0x80
|
|
lsls r4, 4
|
|
adds r1, r4, 0
|
|
adds r0, r1
|
|
strh r0, [r2]
|
|
_0809ECAE:
|
|
cmp r3, 0x2
|
|
beq _0809ECB4
|
|
b _0809EE3A
|
|
_0809ECB4:
|
|
ldr r2, _0809ECC0 @ =REG_BG2CNT
|
|
b _0809ECF6
|
|
.align 2, 0
|
|
_0809ECB8: .4byte 0x02018000
|
|
_0809ECBC: .4byte gUnknown_03004288
|
|
_0809ECC0: .4byte REG_BG2CNT
|
|
_0809ECC4: .4byte 0x0000e0ff
|
|
_0809ECC8:
|
|
ldrb r3, [r1, 0xB]
|
|
cmp r3, 0
|
|
beq _0809ECD8
|
|
ldr r1, _0809ED08 @ =gUnknown_030042C0
|
|
movs r4, 0x80
|
|
lsls r4, 1
|
|
adds r0, r4, 0
|
|
strh r0, [r1]
|
|
_0809ECD8:
|
|
cmp r3, 0x1
|
|
bne _0809ECEE
|
|
ldr r2, _0809ED0C @ =REG_BG1CNT
|
|
ldrh r1, [r2]
|
|
ldr r0, _0809ED10 @ =0x0000e0ff
|
|
ands r0, r1
|
|
movs r4, 0x80
|
|
lsls r4, 4
|
|
adds r1, r4, 0
|
|
adds r0, r1
|
|
strh r0, [r2]
|
|
_0809ECEE:
|
|
cmp r3, 0x2
|
|
beq _0809ECF4
|
|
b _0809EE3A
|
|
_0809ECF4:
|
|
ldr r2, _0809ED0C @ =REG_BG1CNT
|
|
_0809ECF6:
|
|
ldrh r1, [r2]
|
|
ldr r0, _0809ED10 @ =0x0000e0ff
|
|
ands r0, r1
|
|
movs r3, 0xA0
|
|
lsls r3, 4
|
|
adds r1, r3, 0
|
|
adds r0, r1
|
|
strh r0, [r2]
|
|
b _0809EE3A
|
|
.align 2, 0
|
|
_0809ED08: .4byte gUnknown_030042C0
|
|
_0809ED0C: .4byte REG_BG1CNT
|
|
_0809ED10: .4byte 0x0000e0ff
|
|
_0809ED14:
|
|
ldr r0, _0809ED48 @ =0x02018000
|
|
adds r0, 0x80
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
bne _0809ED5C
|
|
ldr r1, _0809ED4C @ =gUnknown_030042C0
|
|
ldrh r0, [r1]
|
|
subs r0, 0x20
|
|
strh r0, [r1]
|
|
lsls r0, 16
|
|
cmp r0, 0
|
|
beq _0809ED2E
|
|
b _0809EE64
|
|
_0809ED2E:
|
|
ldr r3, _0809ED50 @ =REG_BG1CNT
|
|
ldrh r2, [r3]
|
|
ldr r1, _0809ED54 @ =0x0000fffc
|
|
adds r0, r1, 0
|
|
ands r0, r2
|
|
adds r0, 0x2
|
|
strh r0, [r3]
|
|
ldr r2, _0809ED58 @ =REG_BG2CNT
|
|
ldrh r0, [r2]
|
|
ands r1, r0
|
|
adds r1, 0x1
|
|
strh r1, [r2]
|
|
b _0809EE3A
|
|
.align 2, 0
|
|
_0809ED48: .4byte 0x02018000
|
|
_0809ED4C: .4byte gUnknown_030042C0
|
|
_0809ED50: .4byte REG_BG1CNT
|
|
_0809ED54: .4byte 0x0000fffc
|
|
_0809ED58: .4byte REG_BG2CNT
|
|
_0809ED5C:
|
|
ldr r1, _0809ED88 @ =gUnknown_03004288
|
|
ldrh r0, [r1]
|
|
subs r0, 0x20
|
|
strh r0, [r1]
|
|
lsls r0, 16
|
|
cmp r0, 0
|
|
beq _0809ED6C
|
|
b _0809EE64
|
|
_0809ED6C:
|
|
ldr r3, _0809ED8C @ =REG_BG1CNT
|
|
ldrh r2, [r3]
|
|
ldr r1, _0809ED90 @ =0x0000fffc
|
|
adds r0, r1, 0
|
|
ands r0, r2
|
|
adds r0, 0x1
|
|
strh r0, [r3]
|
|
ldr r2, _0809ED94 @ =REG_BG2CNT
|
|
ldrh r0, [r2]
|
|
ands r1, r0
|
|
adds r1, 0x2
|
|
strh r1, [r2]
|
|
b _0809EE3A
|
|
.align 2, 0
|
|
_0809ED88: .4byte gUnknown_03004288
|
|
_0809ED8C: .4byte REG_BG1CNT
|
|
_0809ED90: .4byte 0x0000fffc
|
|
_0809ED94: .4byte REG_BG2CNT
|
|
_0809ED98:
|
|
ldr r1, _0809EDD4 @ =0x02018000
|
|
ldrb r3, [r1, 0xB]
|
|
adds r0, r3, 0x1
|
|
adds r2, r1, 0
|
|
adds r2, 0x7E
|
|
strb r0, [r2]
|
|
ldrb r2, [r1, 0x8]
|
|
subs r0, r2, 0x2
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
adds r5, r1, 0
|
|
cmp r0, 0x1
|
|
bhi _0809EDD8
|
|
adds r1, 0x7F
|
|
movs r0, 0
|
|
strb r0, [r1]
|
|
adds r4, r5, 0
|
|
adds r4, 0x10
|
|
adds r0, r4, 0
|
|
bl sub_80A029C
|
|
adds r5, 0x79
|
|
adds r0, r4, 0
|
|
adds r1, r5, 0
|
|
bl sub_80A0428
|
|
ldrb r0, [r5]
|
|
bl sub_80A00F4
|
|
b _0809EE3A
|
|
.align 2, 0
|
|
_0809EDD4: .4byte 0x02018000
|
|
_0809EDD8:
|
|
lsls r0, r3, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
bls _0809EDFA
|
|
adds r0, r5, 0
|
|
adds r0, 0x7B
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _0809EDF2
|
|
lsls r0, r2, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x4
|
|
bne _0809EDFA
|
|
_0809EDF2:
|
|
adds r1, r5, 0
|
|
adds r1, 0x7F
|
|
movs r0, 0x6
|
|
b _0809EE0E
|
|
_0809EDFA:
|
|
ldrb r0, [r5, 0xB]
|
|
cmp r0, 0
|
|
bne _0809EE08
|
|
adds r1, r5, 0
|
|
adds r1, 0x7F
|
|
movs r0, 0x7
|
|
b _0809EE0E
|
|
_0809EE08:
|
|
adds r1, r5, 0
|
|
adds r1, 0x7F
|
|
movs r0, 0
|
|
_0809EE0E:
|
|
strb r0, [r1]
|
|
b _0809EE3A
|
|
_0809EE12:
|
|
bl sub_80A0EE8
|
|
bl sub_80A0DD0
|
|
b _0809EE3A
|
|
_0809EE1C:
|
|
ldr r0, _0809EE44 @ =gUnknown_083C1598
|
|
ldr r4, _0809EE48 @ =0x02018000
|
|
ldrb r1, [r4, 0xB]
|
|
lsls r1, 2
|
|
adds r1, r0
|
|
adds r0, r4, 0
|
|
adds r0, 0x10
|
|
ldr r1, [r1]
|
|
bl _call_via_r1
|
|
adds r4, 0x80
|
|
ldrb r0, [r4]
|
|
movs r1, 0x1
|
|
eors r0, r1
|
|
strb r0, [r4]
|
|
_0809EE3A:
|
|
ldrh r0, [r6]
|
|
adds r0, 0x1
|
|
strh r0, [r6]
|
|
b _0809EE64
|
|
.align 2, 0
|
|
_0809EE44: .4byte gUnknown_083C1598
|
|
_0809EE48: .4byte 0x02018000
|
|
_0809EE4C:
|
|
bl sub_8055870
|
|
cmp r0, 0x1
|
|
beq _0809EE64
|
|
ldr r1, _0809EE6C @ =gTasks
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _0809EE70 @ =gUnknown_03005CF0
|
|
ldr r1, [r1]
|
|
str r1, [r0]
|
|
_0809EE64:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0809EE6C: .4byte gTasks
|
|
_0809EE70: .4byte gUnknown_03005CF0
|
|
thumb_func_end sub_809EC38
|
|
|
|
thumb_func_start sub_809EE74
|
|
sub_809EE74: @ 809EE74
|
|
push {r4-r6,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
ldr r1, _0809EE98 @ =gTasks + 0x8
|
|
adds r6, r0, r1
|
|
movs r1, 0
|
|
ldrsh r0, [r6, r1]
|
|
cmp r0, 0x6
|
|
bls _0809EE8E
|
|
b _0809F0C0
|
|
_0809EE8E:
|
|
lsls r0, 2
|
|
ldr r1, _0809EE9C @ =_0809EEA0
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0809EE98: .4byte gTasks + 0x8
|
|
_0809EE9C: .4byte _0809EEA0
|
|
.align 2, 0
|
|
_0809EEA0:
|
|
.4byte _0809EEBC
|
|
.4byte _0809EEE0
|
|
.4byte _0809EFB4
|
|
.4byte _0809EFF4
|
|
.4byte _0809F06E
|
|
.4byte _0809F078
|
|
.4byte _0809F0A8
|
|
_0809EEBC:
|
|
ldr r0, _0809EECC @ =0x02018000
|
|
adds r0, 0x80
|
|
ldrb r1, [r0]
|
|
cmp r1, 0
|
|
bne _0809EED4
|
|
ldr r0, _0809EED0 @ =gUnknown_03004288
|
|
strh r1, [r0]
|
|
b _0809F096
|
|
.align 2, 0
|
|
_0809EECC: .4byte 0x02018000
|
|
_0809EED0: .4byte gUnknown_03004288
|
|
_0809EED4:
|
|
ldr r1, _0809EEDC @ =gUnknown_030042C0
|
|
movs r0, 0
|
|
strh r0, [r1]
|
|
b _0809F096
|
|
.align 2, 0
|
|
_0809EEDC: .4byte gUnknown_030042C0
|
|
_0809EEE0:
|
|
ldr r1, _0809EF30 @ =0x02018000
|
|
adds r0, r1, 0
|
|
adds r0, 0x80
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
bne _0809EF4C
|
|
ldrb r3, [r1, 0xB]
|
|
cmp r3, 0x1
|
|
bne _0809EF02
|
|
ldr r2, _0809EF34 @ =REG_BG2CNT
|
|
ldrh r1, [r2]
|
|
ldr r0, _0809EF38 @ =0x0000e0fc
|
|
ands r0, r1
|
|
ldr r4, _0809EF3C @ =0x00000801
|
|
adds r1, r4, 0
|
|
adds r0, r1
|
|
strh r0, [r2]
|
|
_0809EF02:
|
|
cmp r3, 0x2
|
|
bne _0809EF16
|
|
ldr r2, _0809EF34 @ =REG_BG2CNT
|
|
ldrh r1, [r2]
|
|
ldr r0, _0809EF38 @ =0x0000e0fc
|
|
ands r0, r1
|
|
ldr r4, _0809EF40 @ =0x00000a01
|
|
adds r1, r4, 0
|
|
adds r0, r1
|
|
strh r0, [r2]
|
|
_0809EF16:
|
|
cmp r3, 0x3
|
|
bne _0809EF2A
|
|
ldr r2, _0809EF34 @ =REG_BG2CNT
|
|
ldrh r1, [r2]
|
|
ldr r0, _0809EF38 @ =0x0000e0fc
|
|
ands r0, r1
|
|
ldr r3, _0809EF44 @ =0x00000c01
|
|
adds r1, r3, 0
|
|
adds r0, r1
|
|
strh r0, [r2]
|
|
_0809EF2A:
|
|
ldr r2, _0809EF48 @ =REG_BG1CNT
|
|
b _0809EF8C
|
|
.align 2, 0
|
|
_0809EF30: .4byte 0x02018000
|
|
_0809EF34: .4byte REG_BG2CNT
|
|
_0809EF38: .4byte 0x0000e0fc
|
|
_0809EF3C: .4byte 0x00000801
|
|
_0809EF40: .4byte 0x00000a01
|
|
_0809EF44: .4byte 0x00000c01
|
|
_0809EF48: .4byte REG_BG1CNT
|
|
_0809EF4C:
|
|
ldrb r3, [r1, 0xB]
|
|
cmp r3, 0x1
|
|
bne _0809EF62
|
|
ldr r2, _0809EF98 @ =REG_BG1CNT
|
|
ldrh r1, [r2]
|
|
ldr r0, _0809EF9C @ =0x0000e0fc
|
|
ands r0, r1
|
|
ldr r4, _0809EFA0 @ =0x00000801
|
|
adds r1, r4, 0
|
|
adds r0, r1
|
|
strh r0, [r2]
|
|
_0809EF62:
|
|
cmp r3, 0x2
|
|
bne _0809EF76
|
|
ldr r2, _0809EF98 @ =REG_BG1CNT
|
|
ldrh r1, [r2]
|
|
ldr r0, _0809EF9C @ =0x0000e0fc
|
|
ands r0, r1
|
|
ldr r4, _0809EFA4 @ =0x00000a01
|
|
adds r1, r4, 0
|
|
adds r0, r1
|
|
strh r0, [r2]
|
|
_0809EF76:
|
|
cmp r3, 0x3
|
|
bne _0809EF8A
|
|
ldr r2, _0809EF98 @ =REG_BG1CNT
|
|
ldrh r1, [r2]
|
|
ldr r0, _0809EF9C @ =0x0000e0fc
|
|
ands r0, r1
|
|
ldr r3, _0809EFA8 @ =0x00000c01
|
|
adds r1, r3, 0
|
|
adds r0, r1
|
|
strh r0, [r2]
|
|
_0809EF8A:
|
|
ldr r2, _0809EFAC @ =REG_BG2CNT
|
|
_0809EF8C:
|
|
ldrh r1, [r2]
|
|
ldr r0, _0809EFB0 @ =0x0000fffc
|
|
ands r0, r1
|
|
adds r0, 0x2
|
|
strh r0, [r2]
|
|
b _0809F096
|
|
.align 2, 0
|
|
_0809EF98: .4byte REG_BG1CNT
|
|
_0809EF9C: .4byte 0x0000e0fc
|
|
_0809EFA0: .4byte 0x00000801
|
|
_0809EFA4: .4byte 0x00000a01
|
|
_0809EFA8: .4byte 0x00000c01
|
|
_0809EFAC: .4byte REG_BG2CNT
|
|
_0809EFB0: .4byte 0x0000fffc
|
|
_0809EFB4:
|
|
ldr r0, _0809EFD4 @ =0x02018000
|
|
adds r0, 0x80
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
bne _0809EFDC
|
|
ldr r0, _0809EFD8 @ =gUnknown_03004288
|
|
ldrh r1, [r0]
|
|
adds r1, 0x20
|
|
strh r1, [r0]
|
|
lsls r1, 16
|
|
movs r0, 0x80
|
|
lsls r0, 17
|
|
cmp r1, r0
|
|
bne _0809F0C0
|
|
b _0809F096
|
|
.align 2, 0
|
|
_0809EFD4: .4byte 0x02018000
|
|
_0809EFD8: .4byte gUnknown_03004288
|
|
_0809EFDC:
|
|
ldr r0, _0809EFF0 @ =gUnknown_030042C0
|
|
ldrh r1, [r0]
|
|
adds r1, 0x20
|
|
strh r1, [r0]
|
|
lsls r1, 16
|
|
movs r0, 0x80
|
|
lsls r0, 17
|
|
cmp r1, r0
|
|
bne _0809F0C0
|
|
b _0809F096
|
|
.align 2, 0
|
|
_0809EFF0: .4byte gUnknown_030042C0
|
|
_0809EFF4:
|
|
ldr r1, _0809F030 @ =0x02018000
|
|
ldrb r3, [r1, 0xB]
|
|
adds r0, r3, 0x1
|
|
adds r2, r1, 0
|
|
adds r2, 0x7E
|
|
strb r0, [r2]
|
|
ldrb r2, [r1, 0x8]
|
|
subs r0, r2, 0x2
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
adds r5, r1, 0
|
|
cmp r0, 0x1
|
|
bhi _0809F034
|
|
adds r1, 0x7F
|
|
movs r0, 0
|
|
strb r0, [r1]
|
|
adds r4, r5, 0
|
|
adds r4, 0x10
|
|
adds r0, r4, 0
|
|
bl sub_80A029C
|
|
adds r5, 0x79
|
|
adds r0, r4, 0
|
|
adds r1, r5, 0
|
|
bl sub_80A0428
|
|
ldrb r0, [r5]
|
|
bl sub_80A00F4
|
|
b _0809F096
|
|
.align 2, 0
|
|
_0809F030: .4byte 0x02018000
|
|
_0809F034:
|
|
lsls r0, r3, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
bls _0809F056
|
|
adds r0, r5, 0
|
|
adds r0, 0x7B
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _0809F04E
|
|
lsls r0, r2, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x4
|
|
bne _0809F056
|
|
_0809F04E:
|
|
adds r1, r5, 0
|
|
adds r1, 0x7F
|
|
movs r0, 0x6
|
|
b _0809F06A
|
|
_0809F056:
|
|
ldrb r0, [r5, 0xB]
|
|
cmp r0, 0
|
|
bne _0809F064
|
|
adds r1, r5, 0
|
|
adds r1, 0x7F
|
|
movs r0, 0x7
|
|
b _0809F06A
|
|
_0809F064:
|
|
adds r1, r5, 0
|
|
adds r1, 0x7F
|
|
movs r0, 0
|
|
_0809F06A:
|
|
strb r0, [r1]
|
|
b _0809F096
|
|
_0809F06E:
|
|
bl sub_80A0EE8
|
|
bl sub_80A0DD0
|
|
b _0809F096
|
|
_0809F078:
|
|
ldr r0, _0809F0A0 @ =gUnknown_083C1598
|
|
ldr r4, _0809F0A4 @ =0x02018000
|
|
ldrb r1, [r4, 0xB]
|
|
lsls r1, 2
|
|
adds r1, r0
|
|
adds r0, r4, 0
|
|
adds r0, 0x10
|
|
ldr r1, [r1]
|
|
bl _call_via_r1
|
|
adds r4, 0x80
|
|
ldrb r0, [r4]
|
|
movs r1, 0x1
|
|
eors r0, r1
|
|
strb r0, [r4]
|
|
_0809F096:
|
|
ldrh r0, [r6]
|
|
adds r0, 0x1
|
|
strh r0, [r6]
|
|
b _0809F0C0
|
|
.align 2, 0
|
|
_0809F0A0: .4byte gUnknown_083C1598
|
|
_0809F0A4: .4byte 0x02018000
|
|
_0809F0A8:
|
|
bl sub_8055870
|
|
cmp r0, 0x1
|
|
beq _0809F0C0
|
|
ldr r1, _0809F0C8 @ =gTasks
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _0809F0CC @ =gUnknown_03005CF0
|
|
ldr r1, [r1]
|
|
str r1, [r0]
|
|
_0809F0C0:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0809F0C8: .4byte gTasks
|
|
_0809F0CC: .4byte gUnknown_03005CF0
|
|
thumb_func_end sub_809EE74
|
|
|
|
thumb_func_start sub_809F0D0
|
|
sub_809F0D0: @ 809F0D0
|
|
push {r4-r7,lr}
|
|
adds r4, r1, 0
|
|
lsls r0, 24
|
|
lsrs r7, r0, 24
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
ldr r1, _0809F110 @ =0x02018000
|
|
ldrb r0, [r1, 0xB]
|
|
adds r0, r4
|
|
movs r5, 0
|
|
strb r0, [r1, 0xB]
|
|
ldr r2, _0809F114 @ =gUnknown_03005CF0
|
|
ldr r1, _0809F118 @ =gTasks
|
|
lsls r0, r7, 2
|
|
adds r0, r7
|
|
lsls r0, 3
|
|
adds r6, r0, r1
|
|
ldr r0, [r6]
|
|
str r0, [r2]
|
|
bl sub_809FBE4
|
|
strh r5, [r6, 0x8]
|
|
lsls r4, 24
|
|
asrs r4, 24
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r4, r0
|
|
bne _0809F120
|
|
ldr r0, _0809F11C @ =sub_809EC38
|
|
str r0, [r6]
|
|
b _0809F12A
|
|
.align 2, 0
|
|
_0809F110: .4byte 0x02018000
|
|
_0809F114: .4byte gUnknown_03005CF0
|
|
_0809F118: .4byte gTasks
|
|
_0809F11C: .4byte sub_809EC38
|
|
_0809F120:
|
|
ldr r1, _0809F130 @ =sub_809EE74
|
|
str r1, [r6]
|
|
adds r0, r7, 0
|
|
bl _call_via_r1
|
|
_0809F12A:
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0809F130: .4byte sub_809EE74
|
|
thumb_func_end sub_809F0D0
|
|
|
|
thumb_func_start SummaryScreenHandleLeftRightInput
|
|
SummaryScreenHandleLeftRightInput: @ 809F134
|
|
push {r4-r6,lr}
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
lsls r1, 24
|
|
lsrs r5, r1, 24
|
|
ldr r4, _0809F1AC @ =0x02018010
|
|
adds r0, r4, 0
|
|
movs r1, 0x2D
|
|
bl GetMonData
|
|
cmp r0, 0
|
|
bne _0809F1A6
|
|
lsls r0, r5, 24
|
|
asrs r5, r0, 24
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r5, r0
|
|
bne _0809F168
|
|
adds r0, r4, 0
|
|
subs r0, 0x10
|
|
adds r1, r4, 0
|
|
adds r1, 0x65
|
|
ldrb r0, [r0, 0xB]
|
|
ldrb r1, [r1]
|
|
cmp r0, r1
|
|
beq _0809F1A6
|
|
_0809F168:
|
|
cmp r5, 0x1
|
|
bne _0809F17C
|
|
adds r0, r4, 0
|
|
subs r0, 0x10
|
|
adds r1, r4, 0
|
|
adds r1, 0x66
|
|
ldrb r0, [r0, 0xB]
|
|
ldrb r1, [r1]
|
|
cmp r0, r1
|
|
beq _0809F1A6
|
|
_0809F17C:
|
|
ldr r0, _0809F1B0 @ =sub_80A1334
|
|
bl FindTaskIdByFunc
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0xFF
|
|
bne _0809F1A6
|
|
ldr r0, _0809F1B4 @ =sub_80A1500
|
|
bl FindTaskIdByFunc
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0xFF
|
|
bne _0809F1A6
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
adds r0, r6, 0
|
|
adds r1, r5, 0
|
|
bl sub_809F0D0
|
|
_0809F1A6:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0809F1AC: .4byte 0x02018010
|
|
_0809F1B0: .4byte sub_80A1334
|
|
_0809F1B4: .4byte sub_80A1500
|
|
thumb_func_end SummaryScreenHandleLeftRightInput
|
|
|
|
thumb_func_start SummaryScreenHandleUpDownInput
|
|
SummaryScreenHandleUpDownInput: @ 809F1B8
|
|
push {r4-r6,lr}
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
lsls r1, 24
|
|
lsrs r4, r1, 24
|
|
ldr r0, _0809F1E4 @ =0x02018000
|
|
ldrb r1, [r0, 0xE]
|
|
adds r2, r0, 0
|
|
cmp r1, 0x1
|
|
bne _0809F202
|
|
ldrb r0, [r2, 0xB]
|
|
cmp r0, 0
|
|
beq _0809F1E8
|
|
lsls r1, r4, 24
|
|
asrs r1, 24
|
|
movs r4, 0x1
|
|
eors r1, r4
|
|
negs r0, r1
|
|
orrs r0, r1
|
|
lsrs r4, r0, 31
|
|
b _0809F1F4
|
|
.align 2, 0
|
|
_0809F1E4: .4byte 0x02018000
|
|
_0809F1E8:
|
|
lsls r0, r4, 24
|
|
asrs r0, 24
|
|
movs r4, 0x3
|
|
cmp r0, 0x1
|
|
bne _0809F1F4
|
|
movs r4, 0x2
|
|
_0809F1F4:
|
|
ldr r0, [r2]
|
|
ldrb r1, [r2, 0x9]
|
|
ldrb r2, [r2, 0xA]
|
|
adds r3, r4, 0
|
|
bl StorageSystemGetNextMonIndex
|
|
b _0809F22C
|
|
_0809F202:
|
|
bl sub_80F9344
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
bne _0809F224
|
|
bl IsLinkDoubleBattle
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
bne _0809F224
|
|
lsls r0, r4, 24
|
|
asrs r0, 24
|
|
bl sub_809F3CC
|
|
b _0809F22C
|
|
_0809F224:
|
|
lsls r0, r4, 24
|
|
asrs r0, 24
|
|
bl sub_809F284
|
|
_0809F22C:
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
lsls r0, r4, 24
|
|
asrs r0, 24
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
cmp r0, r1
|
|
beq _0809F270
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r5, _0809F278 @ =0x02018010
|
|
adds r0, r5, 0
|
|
bl GetMonStatusAndPokerus
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0809F258
|
|
movs r0, 0x2
|
|
negs r0, r0
|
|
bl sub_80A12D0
|
|
_0809F258:
|
|
adds r0, r5, 0
|
|
subs r0, 0x10
|
|
strb r4, [r0, 0x9]
|
|
ldr r1, _0809F27C @ =gTasks
|
|
lsls r0, r6, 2
|
|
adds r0, r6
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, [r0]
|
|
str r1, [r5, 0x74]
|
|
ldr r1, _0809F280 @ =sub_809F43C
|
|
str r1, [r0]
|
|
_0809F270:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0809F278: .4byte 0x02018010
|
|
_0809F27C: .4byte gTasks
|
|
_0809F280: .4byte sub_809F43C
|
|
thumb_func_end SummaryScreenHandleUpDownInput
|
|
|
|
thumb_func_start sub_809F284
|
|
sub_809F284: @ 809F284
|
|
push {r4-r7,lr}
|
|
lsls r0, 24
|
|
lsrs r3, r0, 24
|
|
ldr r0, _0809F2C0 @ =0x02018000
|
|
ldr r7, [r0]
|
|
movs r6, 0
|
|
ldrb r1, [r0, 0xB]
|
|
adds r4, r0, 0
|
|
cmp r1, 0
|
|
bne _0809F2C4
|
|
lsls r0, r3, 24
|
|
asrs r2, r0, 24
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
adds r5, r0, 0
|
|
cmp r2, r1
|
|
bne _0809F2AC
|
|
ldrb r0, [r4, 0x9]
|
|
cmp r0, 0
|
|
beq _0809F2E4
|
|
_0809F2AC:
|
|
asrs r0, r5, 24
|
|
cmp r0, 0x1
|
|
bne _0809F2BA
|
|
ldrb r0, [r4, 0x9]
|
|
ldrb r1, [r4, 0xA]
|
|
cmp r0, r1
|
|
bcs _0809F2E4
|
|
_0809F2BA:
|
|
ldrb r0, [r4, 0x9]
|
|
adds r0, r3
|
|
b _0809F304
|
|
.align 2, 0
|
|
_0809F2C0: .4byte 0x02018000
|
|
_0809F2C4:
|
|
lsls r5, r3, 24
|
|
_0809F2C6:
|
|
lsls r0, r6, 24
|
|
asrs r0, 24
|
|
asrs r1, r5, 24
|
|
adds r0, r1
|
|
lsls r0, 24
|
|
ldr r4, _0809F2EC @ =0x02018000
|
|
lsrs r6, r0, 24
|
|
asrs r0, 24
|
|
ldrb r2, [r4, 0x9]
|
|
adds r1, r0, r2
|
|
cmp r1, 0
|
|
blt _0809F2E4
|
|
ldrb r0, [r4, 0xA]
|
|
cmp r1, r0
|
|
ble _0809F2F0
|
|
_0809F2E4:
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
b _0809F308
|
|
.align 2, 0
|
|
_0809F2EC: .4byte 0x02018000
|
|
_0809F2F0:
|
|
movs r0, 0x64
|
|
muls r0, r1
|
|
adds r0, r7, r0
|
|
movs r1, 0x2D
|
|
bl GetMonData
|
|
cmp r0, 0
|
|
bne _0809F2C6
|
|
ldrb r0, [r4, 0x9]
|
|
adds r0, r6
|
|
_0809F304:
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
_0809F308:
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_809F284
|
|
|
|
thumb_func_start sub_809F310
|
|
sub_809F310: @ 809F310
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
movs r1, 0xB
|
|
bl GetMonData
|
|
cmp r0, 0
|
|
beq _0809F33C
|
|
ldr r0, _0809F338 @ =0x02018000
|
|
ldrb r0, [r0, 0xB]
|
|
cmp r0, 0
|
|
bne _0809F332
|
|
adds r0, r4, 0
|
|
movs r1, 0x2D
|
|
bl GetMonData
|
|
cmp r0, 0
|
|
bne _0809F33C
|
|
_0809F332:
|
|
movs r0, 0x1
|
|
b _0809F33E
|
|
.align 2, 0
|
|
_0809F338: .4byte 0x02018000
|
|
_0809F33C:
|
|
movs r0, 0
|
|
_0809F33E:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_809F310
|
|
|
|
thumb_func_start sub_809F344
|
|
sub_809F344: @ 809F344
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
_0809F34A:
|
|
adds r0, r4, 0x1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0x6
|
|
beq _0809F37C
|
|
ldr r0, _0809F374 @ =gUnknown_083C15A8
|
|
adds r5, r4, r0
|
|
ldrb r1, [r5]
|
|
movs r0, 0x64
|
|
muls r0, r1
|
|
ldr r1, _0809F378 @ =gPlayerParty
|
|
adds r0, r1
|
|
bl sub_809F310
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
bne _0809F34A
|
|
movs r0, 0
|
|
ldrsb r0, [r5, r0]
|
|
b _0809F380
|
|
.align 2, 0
|
|
_0809F374: .4byte gUnknown_083C15A8
|
|
_0809F378: .4byte gPlayerParty
|
|
_0809F37C:
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
_0809F380:
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_809F344
|
|
|
|
thumb_func_start sub_809F388
|
|
sub_809F388: @ 809F388
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
_0809F38E:
|
|
cmp r4, 0
|
|
beq _0809F3C0
|
|
subs r0, r4, 0x1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
ldr r0, _0809F3B8 @ =gUnknown_083C15A8
|
|
adds r5, r4, r0
|
|
ldrb r1, [r5]
|
|
movs r0, 0x64
|
|
muls r0, r1
|
|
ldr r1, _0809F3BC @ =gPlayerParty
|
|
adds r0, r1
|
|
bl sub_809F310
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
bne _0809F38E
|
|
movs r0, 0
|
|
ldrsb r0, [r5, r0]
|
|
b _0809F3C4
|
|
.align 2, 0
|
|
_0809F3B8: .4byte gUnknown_083C15A8
|
|
_0809F3BC: .4byte gPlayerParty
|
|
_0809F3C0:
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
_0809F3C4:
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_809F388
|
|
|
|
thumb_func_start sub_809F3CC
|
|
sub_809F3CC: @ 809F3CC
|
|
push {r4-r6,lr}
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
movs r2, 0
|
|
movs r1, 0
|
|
ldr r3, _0809F41C @ =gUnknown_083C15A8
|
|
ldr r4, _0809F420 @ =0x02018000
|
|
ldrb r0, [r3]
|
|
ldrb r5, [r4, 0x9]
|
|
cmp r0, r5
|
|
beq _0809F3FC
|
|
adds r5, r3, 0
|
|
adds r3, r4, 0
|
|
_0809F3E6:
|
|
adds r0, r1, 0x1
|
|
lsls r0, 24
|
|
lsrs r1, r0, 24
|
|
cmp r1, 0x5
|
|
bhi _0809F3FC
|
|
adds r0, r1, r5
|
|
ldrb r0, [r0]
|
|
ldrb r4, [r3, 0x9]
|
|
cmp r0, r4
|
|
bne _0809F3E6
|
|
adds r2, r1, 0
|
|
_0809F3FC:
|
|
lsls r0, r6, 24
|
|
asrs r1, r0, 24
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r1, r0
|
|
bne _0809F40C
|
|
cmp r2, 0
|
|
beq _0809F414
|
|
_0809F40C:
|
|
cmp r1, 0x1
|
|
bne _0809F424
|
|
cmp r2, 0x5
|
|
bne _0809F42C
|
|
_0809F414:
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
b _0809F436
|
|
.align 2, 0
|
|
_0809F41C: .4byte gUnknown_083C15A8
|
|
_0809F420: .4byte 0x02018000
|
|
_0809F424:
|
|
adds r0, r2, 0
|
|
bl sub_809F388
|
|
b _0809F432
|
|
_0809F42C:
|
|
adds r0, r2, 0
|
|
bl sub_809F344
|
|
_0809F432:
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
_0809F436:
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_809F3CC
|
|
|
|
thumb_func_start sub_809F43C
|
|
sub_809F43C: @ 809F43C
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
ldr r0, _0809F45C @ =gMain
|
|
ldr r1, _0809F460 @ =0x0000043c
|
|
adds r5, r0, r1
|
|
ldrb r2, [r5]
|
|
adds r3, r0, 0
|
|
cmp r2, 0x8
|
|
bls _0809F452
|
|
b _0809F5CC
|
|
_0809F452:
|
|
lsls r0, r2, 2
|
|
ldr r1, _0809F464 @ =_0809F468
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0809F45C: .4byte gMain
|
|
_0809F460: .4byte 0x0000043c
|
|
_0809F464: .4byte _0809F468
|
|
.align 2, 0
|
|
_0809F468:
|
|
.4byte _0809F48C
|
|
.4byte _0809F492
|
|
.4byte _0809F4BC
|
|
.4byte _0809F4D8
|
|
.4byte _0809F4F4
|
|
.4byte _0809F51C
|
|
.4byte _0809F578
|
|
.4byte _0809F584
|
|
.4byte _0809F5A0
|
|
_0809F48C:
|
|
bl StopCryAndClearCrySongs
|
|
b _0809F5B2
|
|
_0809F492:
|
|
ldr r0, _0809F4AC @ =0x02018000
|
|
ldrb r1, [r0, 0xC]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r1, _0809F4B0 @ =gSprites
|
|
adds r0, r1
|
|
bl DestroySpriteAndFreeResources
|
|
ldr r1, _0809F4B4 @ =gMain
|
|
ldr r0, _0809F4B8 @ =0x0000043c
|
|
adds r1, r0
|
|
b _0809F5B8
|
|
.align 2, 0
|
|
_0809F4AC: .4byte 0x02018000
|
|
_0809F4B0: .4byte gSprites
|
|
_0809F4B4: .4byte gMain
|
|
_0809F4B8: .4byte 0x0000043c
|
|
_0809F4BC:
|
|
ldr r0, _0809F4D0 @ =0x02018000
|
|
ldrb r1, [r0, 0xD]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r1, _0809F4D4 @ =gSprites
|
|
adds r0, r1
|
|
bl DestroySpriteAndFreeResources
|
|
b _0809F5B2
|
|
.align 2, 0
|
|
_0809F4D0: .4byte 0x02018000
|
|
_0809F4D4: .4byte gSprites
|
|
_0809F4D8:
|
|
ldr r0, _0809F4EC @ =0x02018000
|
|
adds r1, r0, 0
|
|
adds r1, 0x74
|
|
movs r2, 0
|
|
strb r2, [r1]
|
|
adds r0, 0x79
|
|
strb r2, [r0]
|
|
ldr r0, _0809F4F0 @ =0x0000043c
|
|
adds r1, r3, r0
|
|
b _0809F5B8
|
|
.align 2, 0
|
|
_0809F4EC: .4byte 0x02018000
|
|
_0809F4F0: .4byte 0x0000043c
|
|
_0809F4F4:
|
|
ldr r4, _0809F518 @ =0x02018010
|
|
adds r0, r4, 0
|
|
bl sub_809F678
|
|
adds r0, r4, 0
|
|
bl GetMonStatusAndPokerus
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0809F50E
|
|
movs r0, 0x2
|
|
bl sub_80A12D0
|
|
_0809F50E:
|
|
adds r0, r4, 0
|
|
bl sub_80A0EA4
|
|
b _0809F5B2
|
|
.align 2, 0
|
|
_0809F518: .4byte 0x02018010
|
|
_0809F51C:
|
|
ldr r4, _0809F558 @ =0x02018010
|
|
adds r5, r4, 0
|
|
adds r5, 0x64
|
|
adds r0, r4, 0
|
|
adds r1, r5, 0
|
|
bl sub_809F6B4
|
|
adds r1, r4, 0
|
|
subs r1, 0x10
|
|
strb r0, [r1, 0xC]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0xFF
|
|
beq _0809F5EA
|
|
movs r0, 0
|
|
strb r0, [r5]
|
|
adds r0, r4, 0
|
|
movs r1, 0x2D
|
|
bl GetMonData
|
|
adds r1, r0, 0
|
|
cmp r1, 0
|
|
beq _0809F560
|
|
ldr r1, _0809F55C @ =gUnknown_030041B0
|
|
movs r2, 0x80
|
|
lsls r2, 1
|
|
adds r0, r2, 0
|
|
strh r0, [r1]
|
|
b _0809F564
|
|
.align 2, 0
|
|
_0809F558: .4byte 0x02018010
|
|
_0809F55C: .4byte gUnknown_030041B0
|
|
_0809F560:
|
|
ldr r0, _0809F56C @ =gUnknown_030041B0
|
|
strh r1, [r0]
|
|
_0809F564:
|
|
ldr r1, _0809F570 @ =gMain
|
|
ldr r0, _0809F574 @ =0x0000043c
|
|
adds r1, r0
|
|
b _0809F5B8
|
|
.align 2, 0
|
|
_0809F56C: .4byte gUnknown_030041B0
|
|
_0809F570: .4byte gMain
|
|
_0809F574: .4byte 0x0000043c
|
|
_0809F578:
|
|
ldr r0, _0809F580 @ =0x02018010
|
|
bl sub_80A1DCC
|
|
b _0809F5B2
|
|
.align 2, 0
|
|
_0809F580: .4byte 0x02018010
|
|
_0809F584:
|
|
ldr r0, _0809F594 @ =0x02018010
|
|
bl sub_80A1DE8
|
|
ldr r1, _0809F598 @ =gMain
|
|
ldr r0, _0809F59C @ =0x0000043c
|
|
adds r1, r0
|
|
b _0809F5B8
|
|
.align 2, 0
|
|
_0809F594: .4byte 0x02018010
|
|
_0809F598: .4byte gMain
|
|
_0809F59C: .4byte 0x0000043c
|
|
_0809F5A0:
|
|
bl sub_809F5F8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0809F5EA
|
|
ldr r0, _0809F5C0 @ =0x02018000
|
|
adds r0, 0x74
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
_0809F5B2:
|
|
ldr r1, _0809F5C4 @ =gMain
|
|
ldr r2, _0809F5C8 @ =0x0000043c
|
|
adds r1, r2
|
|
_0809F5B8:
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
b _0809F5EA
|
|
.align 2, 0
|
|
_0809F5C0: .4byte 0x02018000
|
|
_0809F5C4: .4byte gMain
|
|
_0809F5C8: .4byte 0x0000043c
|
|
_0809F5CC:
|
|
bl sub_8055870
|
|
cmp r0, 0x1
|
|
beq _0809F5EA
|
|
movs r0, 0
|
|
strb r0, [r5]
|
|
ldr r0, _0809F5F0 @ =gTasks
|
|
lsls r1, r4, 2
|
|
adds r1, r4
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldr r0, _0809F5F4 @ =0x02018000
|
|
adds r0, 0x84
|
|
ldr r0, [r0]
|
|
str r0, [r1]
|
|
_0809F5EA:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0809F5F0: .4byte gTasks
|
|
_0809F5F4: .4byte 0x02018000
|
|
thumb_func_end sub_809F43C
|
|
|
|
thumb_func_start sub_809F5F8
|
|
sub_809F5F8: @ 809F5F8
|
|
push {r4,lr}
|
|
ldr r2, _0809F61C @ =0x02018000
|
|
adds r4, r2, 0
|
|
adds r4, 0x74
|
|
ldrb r0, [r4]
|
|
cmp r0, 0
|
|
beq _0809F624
|
|
ldr r0, _0809F620 @ =gUnknown_083C1588
|
|
ldrb r1, [r2, 0xB]
|
|
lsls r1, 2
|
|
adds r1, r0
|
|
adds r0, r2, 0
|
|
adds r0, 0x10
|
|
ldr r1, [r1]
|
|
bl _call_via_r1
|
|
movs r0, 0x1
|
|
b _0809F634
|
|
.align 2, 0
|
|
_0809F61C: .4byte 0x02018000
|
|
_0809F620: .4byte gUnknown_083C1588
|
|
_0809F624:
|
|
adds r0, r2, 0
|
|
adds r0, 0x10
|
|
bl sub_809FAC8
|
|
ldrb r0, [r4]
|
|
adds r0, 0x1
|
|
strb r0, [r4]
|
|
movs r0, 0
|
|
_0809F634:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_809F5F8
|
|
|
|
thumb_func_start sub_809F63C
|
|
sub_809F63C: @ 809F63C
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
bl sub_809FE80
|
|
adds r0, r4, 0
|
|
bl sub_809FC34
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_809F63C
|
|
|
|
thumb_func_start sub_809F650
|
|
sub_809F650: @ 809F650
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
bl sub_80A00A4
|
|
adds r0, r4, 0
|
|
bl sub_809FF64
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_809F650
|
|
|
|
thumb_func_start sub_809F664
|
|
sub_809F664: @ 809F664
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
bl sub_80A0390
|
|
adds r0, r4, 0
|
|
bl sub_80A015C
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_809F664
|
|
|
|
thumb_func_start sub_809F678
|
|
sub_809F678: @ 809F678
|
|
push {lr}
|
|
adds r3, r0, 0
|
|
ldr r1, _0809F698 @ =0x02018000
|
|
ldrb r0, [r1, 0xE]
|
|
cmp r0, 0
|
|
bne _0809F69C
|
|
ldr r2, [r1]
|
|
ldrb r1, [r1, 0x9]
|
|
movs r0, 0x64
|
|
muls r1, r0
|
|
adds r1, r2
|
|
adds r0, r3, 0
|
|
movs r2, 0x64
|
|
bl memcpy
|
|
b _0809F6AE
|
|
.align 2, 0
|
|
_0809F698: .4byte 0x02018000
|
|
_0809F69C:
|
|
ldr r0, [r1]
|
|
ldrb r2, [r1, 0x9]
|
|
lsls r1, r2, 2
|
|
adds r1, r2
|
|
lsls r1, 4
|
|
adds r0, r1
|
|
adds r1, r3, 0
|
|
bl sub_803B4B4
|
|
_0809F6AE:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_809F678
|
|
|
|
thumb_func_start sub_809F6B4
|
|
sub_809F6B4: @ 809F6B4
|
|
push {r4-r7,lr}
|
|
sub sp, 0xC
|
|
adds r4, r0, 0
|
|
adds r7, r1, 0
|
|
ldrb r0, [r7]
|
|
cmp r0, 0
|
|
beq _0809F6D2
|
|
cmp r0, 0x1
|
|
beq _0809F718
|
|
adds r0, r4, 0
|
|
bl sub_80A1808
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
b _0809F756
|
|
_0809F6D2:
|
|
adds r0, r4, 0
|
|
movs r1, 0x41
|
|
bl GetMonData
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
adds r0, r4, 0
|
|
movs r1, 0
|
|
bl GetMonData
|
|
adds r6, r0, 0
|
|
lsls r0, r5, 3
|
|
ldr r1, _0809F70C @ =gMonFrontPicTable
|
|
adds r0, r1
|
|
ldr r1, _0809F710 @ =gMonFrontPicCoords
|
|
lsls r2, r5, 2
|
|
adds r2, r1
|
|
ldrb r1, [r2]
|
|
ldrb r2, [r2, 0x1]
|
|
movs r3, 0x80
|
|
lsls r3, 18
|
|
ldr r4, _0809F714 @ =gUnknown_081FAF4C
|
|
ldr r4, [r4, 0x4]
|
|
str r4, [sp]
|
|
str r5, [sp, 0x4]
|
|
str r6, [sp, 0x8]
|
|
bl HandleLoadSpecialPokePic
|
|
b _0809F74E
|
|
.align 2, 0
|
|
_0809F70C: .4byte gMonFrontPicTable
|
|
_0809F710: .4byte gMonFrontPicCoords
|
|
_0809F714: .4byte gUnknown_081FAF4C
|
|
_0809F718:
|
|
adds r0, r4, 0
|
|
movs r1, 0x41
|
|
bl GetMonData
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
adds r0, r4, 0
|
|
movs r1, 0
|
|
bl GetMonData
|
|
adds r6, r0, 0
|
|
adds r0, r4, 0
|
|
movs r1, 0x1
|
|
bl GetMonData
|
|
adds r1, r0, 0
|
|
adds r0, r5, 0
|
|
adds r2, r6, 0
|
|
bl sub_80409C8
|
|
adds r4, r0, 0
|
|
bl LoadCompressedObjectPalette
|
|
ldrh r0, [r4, 0x4]
|
|
movs r1, 0x1
|
|
bl GetMonSpriteTemplate_803C56C
|
|
_0809F74E:
|
|
ldrb r0, [r7]
|
|
adds r0, 0x1
|
|
strb r0, [r7]
|
|
movs r0, 0xFF
|
|
_0809F756:
|
|
add sp, 0xC
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_809F6B4
|
|
|
|
thumb_func_start sub_809F760
|
|
sub_809F760: @ 809F760
|
|
push {lr}
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
adds r2, r1, 0
|
|
cmp r1, 0x1
|
|
beq _0809F780
|
|
cmp r1, 0x1
|
|
bgt _0809F776
|
|
cmp r1, 0
|
|
beq _0809F77C
|
|
b _0809F788
|
|
_0809F776:
|
|
cmp r2, 0x2
|
|
beq _0809F784
|
|
b _0809F788
|
|
_0809F77C:
|
|
movs r1, 0xD
|
|
b _0809F78A
|
|
_0809F780:
|
|
movs r1, 0xE
|
|
b _0809F78A
|
|
_0809F784:
|
|
movs r1, 0xF
|
|
b _0809F78A
|
|
_0809F788:
|
|
movs r1, 0x10
|
|
_0809F78A:
|
|
bl GetMonData
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_809F760
|
|
|
|
thumb_func_start sub_809F798
|
|
sub_809F798: @ 809F798
|
|
push {lr}
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
adds r2, r1, 0
|
|
cmp r1, 0x1
|
|
beq _0809F7B8
|
|
cmp r1, 0x1
|
|
bgt _0809F7AE
|
|
cmp r1, 0
|
|
beq _0809F7B4
|
|
b _0809F7C0
|
|
_0809F7AE:
|
|
cmp r2, 0x2
|
|
beq _0809F7BC
|
|
b _0809F7C0
|
|
_0809F7B4:
|
|
movs r1, 0x11
|
|
b _0809F7C2
|
|
_0809F7B8:
|
|
movs r1, 0x12
|
|
b _0809F7C2
|
|
_0809F7BC:
|
|
movs r1, 0x13
|
|
b _0809F7C2
|
|
_0809F7C0:
|
|
movs r1, 0x14
|
|
_0809F7C2:
|
|
bl GetMonData
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_809F798
|
|
|
|
thumb_func_start sub_809F7D0
|
|
sub_809F7D0: @ 809F7D0
|
|
push {r4,lr}
|
|
sub sp, 0x64
|
|
mov r0, sp
|
|
bl sub_809F678
|
|
ldr r4, _0809F804 @ =0x02018000
|
|
adds r0, r4, 0
|
|
adds r0, 0x79
|
|
ldrb r1, [r0]
|
|
mov r0, sp
|
|
bl sub_809F760
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
bl IsHMMove
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
bne _0809F808
|
|
ldrb r0, [r4, 0x8]
|
|
cmp r0, 0x3
|
|
beq _0809F808
|
|
movs r0, 0
|
|
b _0809F80A
|
|
.align 2, 0
|
|
_0809F804: .4byte 0x02018000
|
|
_0809F808:
|
|
movs r0, 0x1
|
|
_0809F80A:
|
|
add sp, 0x64
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_809F7D0
|
|
|
|
thumb_func_start sub_809F814
|
|
sub_809F814: @ 809F814
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
lsls r0, r5, 2
|
|
adds r0, r5
|
|
lsls r6, r0, 3
|
|
ldr r0, _0809F83C @ =gTasks + 0x8
|
|
mov r8, r0
|
|
adds r4, r6, r0
|
|
ldrh r1, [r4, 0x1C]
|
|
movs r2, 0x1C
|
|
ldrsh r0, [r4, r2]
|
|
cmp r0, 0x3
|
|
bgt _0809F840
|
|
adds r0, r1, 0x1
|
|
strh r0, [r4, 0x1C]
|
|
b _0809F9C0
|
|
.align 2, 0
|
|
_0809F83C: .4byte gTasks + 0x8
|
|
_0809F840:
|
|
ldr r7, _0809F874 @ =gMain
|
|
ldrh r1, [r7, 0x2E]
|
|
movs r0, 0x40
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0809F880
|
|
mov r0, r8
|
|
subs r0, 0x8
|
|
adds r0, r6, r0
|
|
ldr r1, _0809F878 @ =sub_809E260
|
|
str r1, [r0]
|
|
movs r0, 0x4
|
|
strh r0, [r4]
|
|
movs r0, 0x1
|
|
strh r0, [r4, 0x1A]
|
|
ldr r2, _0809F87C @ =0x02018000
|
|
ldrh r0, [r4, 0x1E]
|
|
adds r2, 0x79
|
|
strb r0, [r2]
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
adds r0, r5, 0
|
|
bl sub_809E8F0
|
|
b _0809F9C0
|
|
.align 2, 0
|
|
_0809F874: .4byte gMain
|
|
_0809F878: .4byte sub_809E260
|
|
_0809F87C: .4byte 0x02018000
|
|
_0809F880:
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0809F8B4
|
|
mov r0, r8
|
|
subs r0, 0x8
|
|
adds r0, r6, r0
|
|
ldr r1, _0809F8AC @ =sub_809E260
|
|
str r1, [r0]
|
|
movs r0, 0x4
|
|
strh r0, [r4]
|
|
movs r0, 0x1
|
|
strh r0, [r4, 0x1A]
|
|
ldr r2, _0809F8B0 @ =0x02018000
|
|
ldrh r0, [r4, 0x1E]
|
|
adds r2, 0x79
|
|
strb r0, [r2]
|
|
adds r0, r5, 0
|
|
movs r1, 0x1
|
|
bl sub_809E8F0
|
|
b _0809F9C0
|
|
.align 2, 0
|
|
_0809F8AC: .4byte sub_809E260
|
|
_0809F8B0: .4byte 0x02018000
|
|
_0809F8B4:
|
|
movs r0, 0x20
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _0809F8C8
|
|
bl sub_80F9284
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
bne _0809F918
|
|
_0809F8C8:
|
|
ldr r1, _0809F90C @ =0x02018000
|
|
ldrb r0, [r1, 0xB]
|
|
cmp r0, 0x2
|
|
beq _0809F9C0
|
|
cmp r0, 0x3
|
|
bne _0809F8F4
|
|
adds r0, r1, 0
|
|
adds r0, 0x79
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x4
|
|
bne _0809F8E8
|
|
adds r0, r1, 0
|
|
adds r0, 0x7C
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
beq _0809F8F4
|
|
_0809F8E8:
|
|
movs r0, 0
|
|
movs r1, 0xE
|
|
movs r2, 0x9
|
|
movs r3, 0x12
|
|
bl MenuZeroFillWindowRect
|
|
_0809F8F4:
|
|
ldr r1, _0809F910 @ =gTasks
|
|
lsls r0, r5, 2
|
|
adds r0, r5
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _0809F914 @ =sub_809E260
|
|
str r1, [r0]
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
adds r0, r5, 0
|
|
b _0809F972
|
|
.align 2, 0
|
|
_0809F90C: .4byte 0x02018000
|
|
_0809F910: .4byte gTasks
|
|
_0809F914: .4byte sub_809E260
|
|
_0809F918:
|
|
ldrh r1, [r7, 0x2E]
|
|
movs r0, 0x10
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _0809F92E
|
|
bl sub_80F9284
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x2
|
|
bne _0809F994
|
|
_0809F92E:
|
|
ldr r1, _0809F988 @ =0x02018000
|
|
adds r2, r1, 0
|
|
adds r2, 0x76
|
|
ldrb r0, [r1, 0xB]
|
|
ldrb r2, [r2]
|
|
cmp r0, r2
|
|
beq _0809F9C0
|
|
cmp r0, 0x2
|
|
bne _0809F960
|
|
adds r0, r1, 0
|
|
adds r0, 0x79
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x4
|
|
bne _0809F954
|
|
adds r0, r1, 0
|
|
adds r0, 0x7C
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
beq _0809F960
|
|
_0809F954:
|
|
movs r0, 0
|
|
movs r1, 0xE
|
|
movs r2, 0x9
|
|
movs r3, 0x12
|
|
bl MenuZeroFillWindowRect
|
|
_0809F960:
|
|
ldr r1, _0809F98C @ =gTasks
|
|
lsls r0, r5, 2
|
|
adds r0, r5
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _0809F990 @ =sub_809E260
|
|
str r1, [r0]
|
|
adds r0, r5, 0
|
|
movs r1, 0x1
|
|
_0809F972:
|
|
bl SummaryScreenHandleLeftRightInput
|
|
ldrb r1, [r4, 0x1E]
|
|
movs r0, 0x1
|
|
bl sub_80A1488
|
|
ldrb r1, [r4, 0x1E]
|
|
movs r0, 0x1
|
|
bl sub_80A1654
|
|
b _0809F9C0
|
|
.align 2, 0
|
|
_0809F988: .4byte 0x02018000
|
|
_0809F98C: .4byte gTasks
|
|
_0809F990: .4byte sub_809E260
|
|
_0809F994:
|
|
ldrh r1, [r7, 0x2E]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _0809F9A6
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0809F9C0
|
|
_0809F9A6:
|
|
ldrb r1, [r4, 0x1E]
|
|
movs r0, 0x2
|
|
bl sub_80A1488
|
|
ldrb r1, [r4, 0x1E]
|
|
movs r0, 0x2
|
|
bl sub_80A1654
|
|
mov r0, r8
|
|
subs r0, 0x8
|
|
adds r0, r6, r0
|
|
ldr r1, _0809F9CC @ =sub_809E260
|
|
str r1, [r0]
|
|
_0809F9C0:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0809F9CC: .4byte sub_809E260
|
|
thumb_func_end sub_809F814
|
|
|
|
thumb_func_start sub_809F9D0
|
|
sub_809F9D0: @ 809F9D0
|
|
push {r4-r6,lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
lsls r4, r0, 2
|
|
adds r4, r0
|
|
lsls r4, 3
|
|
ldr r6, _0809FA24 @ =gTasks + 0x8
|
|
adds r2, r4, r6
|
|
movs r0, 0
|
|
strh r0, [r2, 0x1C]
|
|
strh r1, [r2, 0x1E]
|
|
movs r5, 0x2
|
|
negs r5, r5
|
|
adds r0, r5, 0
|
|
movs r1, 0x4
|
|
bl sub_80A1488
|
|
adds r0, r5, 0
|
|
movs r1, 0x4
|
|
bl sub_80A1654
|
|
movs r0, 0xB
|
|
movs r1, 0xF
|
|
movs r2, 0x1C
|
|
movs r3, 0x12
|
|
bl MenuZeroFillWindowRect
|
|
ldr r0, _0809FA28 @ =gOtherText_CantForgetHMs
|
|
movs r1, 0xB
|
|
movs r2, 0xF
|
|
bl MenuPrint
|
|
subs r6, 0x8
|
|
adds r4, r6
|
|
ldr r0, _0809FA2C @ =sub_809F814
|
|
str r0, [r4]
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0809FA24: .4byte gTasks + 0x8
|
|
_0809FA28: .4byte gOtherText_CantForgetHMs
|
|
_0809FA2C: .4byte sub_809F814
|
|
thumb_func_end sub_809F9D0
|
|
|
|
thumb_func_start sub_809FA30
|
|
sub_809FA30: @ 809FA30
|
|
ldr r0, _0809FA38 @ =0x02018000
|
|
adds r0, 0x7A
|
|
ldrb r0, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_0809FA38: .4byte 0x02018000
|
|
thumb_func_end sub_809FA30
|
|
|
|
thumb_func_start GetStringCenterAlignXOffsetWithLetterSpacing
|
|
GetStringCenterAlignXOffsetWithLetterSpacing: @ 809FA3C
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsls r1, 24
|
|
lsls r2, 24
|
|
lsls r3, 24
|
|
lsrs r2, 23
|
|
lsrs r3, 18
|
|
ldr r4, _0809FA70 @ =0x0600f000
|
|
adds r3, r4
|
|
adds r2, r3
|
|
lsrs r1, 12
|
|
lsrs r0, 23
|
|
movs r4, 0x80
|
|
lsls r4, 2
|
|
adds r3, r4, 0
|
|
adds r0, r3
|
|
adds r1, r0
|
|
adds r0, r1, 0
|
|
adds r0, 0x80
|
|
strh r0, [r2]
|
|
adds r2, 0x40
|
|
adds r1, 0x81
|
|
strh r1, [r2]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0809FA70: .4byte 0x0600f000
|
|
thumb_func_end GetStringCenterAlignXOffsetWithLetterSpacing
|
|
|
|
thumb_func_start GetStringCenterAlignXOffset
|
|
GetStringCenterAlignXOffset: @ 809FA74
|
|
push {r4,lr}
|
|
adds r4, r1, 0
|
|
adds r3, r2, 0
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
lsls r3, 24
|
|
lsrs r3, 24
|
|
movs r1, 0xF
|
|
adds r2, r4, 0
|
|
bl GetStringCenterAlignXOffsetWithLetterSpacing
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end GetStringCenterAlignXOffset
|
|
|
|
thumb_func_start sub_809FA94
|
|
sub_809FA94: @ 809FA94
|
|
push {lr}
|
|
bl IsShiny
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0809FAB4
|
|
ldr r0, _0809FAB0 @ =gUnknown_083C157E
|
|
movs r1, 0x4
|
|
movs r2, 0x2
|
|
bl LoadPalette
|
|
movs r0, 0x1
|
|
b _0809FAC0
|
|
.align 2, 0
|
|
_0809FAB0: .4byte gUnknown_083C157E
|
|
_0809FAB4:
|
|
ldr r0, _0809FAC4 @ =gUnknown_083C157C
|
|
movs r1, 0x4
|
|
movs r2, 0x2
|
|
bl LoadPalette
|
|
movs r0, 0
|
|
_0809FAC0:
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0809FAC4: .4byte gUnknown_083C157C
|
|
thumb_func_end sub_809FA94
|
|
|
|
thumb_func_start sub_809FAC8
|
|
sub_809FAC8: @ 809FAC8
|
|
push {r4-r6,lr}
|
|
sub sp, 0xC
|
|
adds r5, r0, 0
|
|
movs r1, 0x2D
|
|
bl GetMonData
|
|
cmp r0, 0
|
|
beq _0809FB28
|
|
movs r0, 0x1
|
|
movs r1, 0x2
|
|
movs r2, 0x4
|
|
movs r3, 0x3
|
|
bl MenuZeroFillWindowRect
|
|
movs r0, 0x3
|
|
movs r1, 0x10
|
|
movs r2, 0x9
|
|
movs r3, 0x11
|
|
bl MenuZeroFillWindowRect
|
|
movs r0, 0
|
|
movs r1, 0xC
|
|
movs r2, 0xB
|
|
movs r3, 0xF
|
|
bl MenuZeroFillWindowRect
|
|
ldr r4, _0809FB20 @ =gStringVar1
|
|
adds r0, r5, 0
|
|
adds r1, r4, 0
|
|
bl GetMonNickname
|
|
adds r0, r4, 0
|
|
movs r1, 0xD
|
|
movs r2, 0x3
|
|
movs r3, 0x10
|
|
bl sub_80A1FF8
|
|
ldr r0, _0809FB24 @ =gUnknown_083C157C
|
|
movs r1, 0x4
|
|
movs r2, 0x2
|
|
bl LoadPalette
|
|
b _0809FBD6
|
|
.align 2, 0
|
|
_0809FB20: .4byte gStringVar1
|
|
_0809FB24: .4byte gUnknown_083C157C
|
|
_0809FB28:
|
|
adds r0, r5, 0
|
|
bl sub_809FA94
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
adds r0, r5, 0
|
|
movs r1, 0xB
|
|
bl GetMonData
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
bl SpeciesToPokedexNum
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
ldr r0, _0809FB6C @ =0x0000ffff
|
|
cmp r4, r0
|
|
beq _0809FB96
|
|
cmp r6, 0
|
|
bne _0809FB70
|
|
movs r0, 0x2
|
|
movs r1, 0x1
|
|
movs r2, 0x2
|
|
bl GetStringCenterAlignXOffset
|
|
movs r0, 0x11
|
|
str r0, [sp]
|
|
movs r0, 0x10
|
|
str r0, [sp, 0x4]
|
|
movs r0, 0x1
|
|
str r0, [sp, 0x8]
|
|
adds r0, r4, 0
|
|
movs r1, 0xD
|
|
b _0809FB8C
|
|
.align 2, 0
|
|
_0809FB6C: .4byte 0x0000ffff
|
|
_0809FB70:
|
|
movs r0, 0x2
|
|
movs r1, 0x8
|
|
movs r2, 0x1
|
|
movs r3, 0x2
|
|
bl GetStringCenterAlignXOffsetWithLetterSpacing
|
|
movs r0, 0x11
|
|
str r0, [sp]
|
|
movs r0, 0x10
|
|
str r0, [sp, 0x4]
|
|
movs r0, 0x1
|
|
str r0, [sp, 0x8]
|
|
adds r0, r4, 0
|
|
movs r1, 0x8
|
|
_0809FB8C:
|
|
movs r2, 0x3
|
|
movs r3, 0x2
|
|
bl sub_80A1F98
|
|
b _0809FBA2
|
|
_0809FB96:
|
|
movs r0, 0x1
|
|
movs r1, 0x2
|
|
movs r2, 0x4
|
|
movs r3, 0x3
|
|
bl MenuZeroFillWindowRect
|
|
_0809FBA2:
|
|
ldr r1, _0809FBE0 @ =gStringVar1
|
|
adds r0, r1, 0
|
|
movs r1, 0xD
|
|
bl sub_80A1E58
|
|
adds r1, r0, 0
|
|
adds r0, r5, 0
|
|
bl GetMonNickname
|
|
adds r1, r0, 0
|
|
movs r0, 0xFC
|
|
strb r0, [r1]
|
|
movs r0, 0x13
|
|
strb r0, [r1, 0x1]
|
|
movs r0, 0x3C
|
|
strb r0, [r1, 0x2]
|
|
movs r0, 0xFF
|
|
strb r0, [r1, 0x3]
|
|
ldr r0, _0809FBE0 @ =gStringVar1
|
|
movs r1, 0x1
|
|
movs r2, 0xC
|
|
bl MenuPrint
|
|
adds r0, r5, 0
|
|
bl sub_80A0958
|
|
_0809FBD6:
|
|
add sp, 0xC
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0809FBE0: .4byte gStringVar1
|
|
thumb_func_end sub_809FAC8
|
|
|
|
thumb_func_start sub_809FBE4
|
|
sub_809FBE4: @ 809FBE4
|
|
push {r4,lr}
|
|
movs r4, 0
|
|
_0809FBE8:
|
|
adds r0, r4, 0
|
|
movs r1, 0x1
|
|
bl sub_80A1918
|
|
adds r0, r4, 0x1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0x1B
|
|
bls _0809FBE8
|
|
movs r0, 0xB
|
|
movs r1, 0x4
|
|
movs r2, 0x1D
|
|
movs r3, 0x12
|
|
bl MenuZeroFillWindowRect
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_809FBE4
|
|
|
|
thumb_func_start sub_809FC0C
|
|
sub_809FC0C: @ 809FC0C
|
|
push {lr}
|
|
ldr r0, _0809FC30 @ =gOtherText_Type2
|
|
movs r1, 0xB
|
|
movs r2, 0x6
|
|
bl MenuPrint
|
|
movs r0, 0
|
|
movs r1, 0x16
|
|
movs r2, 0x4
|
|
bl GetStringCenterAlignXOffset
|
|
movs r0, 0x2
|
|
movs r1, 0x17
|
|
movs r2, 0x4
|
|
bl GetStringCenterAlignXOffset
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0809FC30: .4byte gOtherText_Type2
|
|
thumb_func_end sub_809FC0C
|
|
|
|
thumb_func_start sub_809FC34
|
|
sub_809FC34: @ 809FC34
|
|
push {r4-r6,lr}
|
|
sub sp, 0xC
|
|
adds r6, r0, 0
|
|
movs r4, 0
|
|
_0809FC3C:
|
|
adds r0, r4, 0
|
|
movs r1, 0x1
|
|
bl sub_80A1918
|
|
adds r0, r4, 0x1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0x4
|
|
bls _0809FC3C
|
|
movs r0, 0xB
|
|
movs r1, 0x9
|
|
movs r2, 0x1C
|
|
movs r3, 0xC
|
|
bl MenuZeroFillWindowRect
|
|
adds r0, r6, 0
|
|
movs r1, 0x2D
|
|
bl GetMonData
|
|
cmp r0, 0
|
|
beq _0809FD1C
|
|
ldr r5, _0809FCD0 @ =gStringVar1
|
|
adds r0, r5, 0
|
|
movs r1, 0xD
|
|
bl sub_80A1E58
|
|
adds r5, r0, 0
|
|
ldr r1, _0809FCD4 @ =gOtherText_OriginalTrainer
|
|
bl StringCopy
|
|
adds r5, r0, 0
|
|
ldr r4, _0809FCD8 @ =gOtherText_FiveQuestionsAndSlash
|
|
adds r1, r4, 0
|
|
bl StringCopy
|
|
adds r5, r0, 0
|
|
movs r0, 0xFC
|
|
strb r0, [r5]
|
|
movs r0, 0x13
|
|
strb r0, [r5, 0x1]
|
|
movs r0, 0x4E
|
|
strb r0, [r5, 0x2]
|
|
movs r0, 0xFF
|
|
strb r0, [r5, 0x3]
|
|
ldr r0, _0809FCD0 @ =gStringVar1
|
|
movs r1, 0xB
|
|
movs r2, 0x4
|
|
bl MenuPrint
|
|
movs r0, 0x1
|
|
str r0, [sp]
|
|
adds r0, r4, 0
|
|
movs r1, 0xD
|
|
movs r2, 0xC1
|
|
movs r3, 0x20
|
|
bl sub_80A1EF8
|
|
movs r0, 0x9
|
|
movs r1, 0x78
|
|
movs r2, 0x30
|
|
movs r3, 0
|
|
bl sub_80A198C
|
|
adds r0, r6, 0
|
|
movs r1, 0x20
|
|
bl GetMonData
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
adds r1, r0, 0
|
|
cmp r0, 0x5
|
|
bhi _0809FCE0
|
|
ldr r0, _0809FCDC @ =gOtherText_EggAbout
|
|
b _0809FCF2
|
|
.align 2, 0
|
|
_0809FCD0: .4byte gStringVar1
|
|
_0809FCD4: .4byte gOtherText_OriginalTrainer
|
|
_0809FCD8: .4byte gOtherText_FiveQuestionsAndSlash
|
|
_0809FCDC: .4byte gOtherText_EggAbout
|
|
_0809FCE0:
|
|
cmp r0, 0xA
|
|
bhi _0809FCEC
|
|
ldr r0, _0809FCE8 @ =gOtherText_EggSoon
|
|
b _0809FCF2
|
|
.align 2, 0
|
|
_0809FCE8: .4byte gOtherText_EggSoon
|
|
_0809FCEC:
|
|
cmp r1, 0x28
|
|
bhi _0809FD00
|
|
ldr r0, _0809FCFC @ =gOtherText_EggSomeTime
|
|
_0809FCF2:
|
|
movs r1, 0xB
|
|
movs r2, 0x9
|
|
bl MenuPrint
|
|
b _0809FD0A
|
|
.align 2, 0
|
|
_0809FCFC: .4byte gOtherText_EggSomeTime
|
|
_0809FD00:
|
|
ldr r0, _0809FD18 @ =gOtherText_EggLongTime
|
|
movs r1, 0xB
|
|
movs r2, 0x9
|
|
bl MenuPrint
|
|
_0809FD0A:
|
|
adds r0, r6, 0
|
|
movs r1, 0xB
|
|
movs r2, 0xE
|
|
bl PokemonSummaryScreen_PrintEggTrainerMemo
|
|
b _0809FE4C
|
|
.align 2, 0
|
|
_0809FD18: .4byte gOtherText_EggLongTime
|
|
_0809FD1C:
|
|
ldr r4, _0809FD64 @ =gStringVar2
|
|
adds r0, r6, 0
|
|
movs r1, 0x7
|
|
adds r2, r4, 0
|
|
bl GetMonData
|
|
adds r0, r6, 0
|
|
movs r1, 0x3
|
|
bl GetMonData
|
|
adds r1, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
adds r0, r4, 0
|
|
bl ConvertInternationalString
|
|
ldr r5, _0809FD68 @ =gStringVar1
|
|
adds r0, r5, 0
|
|
movs r1, 0xD
|
|
bl sub_80A1E58
|
|
adds r5, r0, 0
|
|
ldr r1, _0809FD6C @ =gOtherText_OriginalTrainer
|
|
bl StringCopy
|
|
adds r5, r0, 0
|
|
adds r0, r6, 0
|
|
movs r1, 0x31
|
|
bl GetMonData
|
|
cmp r0, 0
|
|
bne _0809FD70
|
|
adds r0, r5, 0
|
|
movs r1, 0x9
|
|
b _0809FD74
|
|
.align 2, 0
|
|
_0809FD64: .4byte gStringVar2
|
|
_0809FD68: .4byte gStringVar1
|
|
_0809FD6C: .4byte gOtherText_OriginalTrainer
|
|
_0809FD70:
|
|
adds r0, r5, 0
|
|
movs r1, 0xA
|
|
_0809FD74:
|
|
bl sub_80A1E58
|
|
adds r5, r0, 0
|
|
ldr r1, _0809FE54 @ =gStringVar2
|
|
adds r0, r5, 0
|
|
bl StringCopy
|
|
adds r5, r0, 0
|
|
movs r0, 0xFC
|
|
strb r0, [r5]
|
|
movs r0, 0x13
|
|
strb r0, [r5, 0x1]
|
|
movs r0, 0x4E
|
|
strb r0, [r5, 0x2]
|
|
movs r0, 0xFF
|
|
strb r0, [r5, 0x3]
|
|
ldr r0, _0809FE58 @ =gStringVar1
|
|
movs r1, 0xB
|
|
movs r2, 0x4
|
|
bl MenuPrint
|
|
adds r0, r6, 0
|
|
movs r1, 0x1
|
|
bl GetMonData
|
|
ldr r1, _0809FE5C @ =0x0000ffff
|
|
ands r1, r0
|
|
movs r0, 0xC1
|
|
str r0, [sp]
|
|
movs r0, 0x20
|
|
str r0, [sp, 0x4]
|
|
movs r0, 0x1
|
|
str r0, [sp, 0x8]
|
|
adds r0, r1, 0
|
|
movs r1, 0xD
|
|
movs r2, 0x5
|
|
movs r3, 0x2
|
|
bl sub_80A1F98
|
|
adds r0, r6, 0
|
|
movs r1, 0xB
|
|
bl GetMonData
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
ldr r2, _0809FE60 @ =gBaseStats
|
|
lsls r1, r0, 3
|
|
subs r1, r0
|
|
lsls r1, 2
|
|
adds r5, r1, r2
|
|
ldrb r4, [r5, 0x6]
|
|
adds r0, r4, 0
|
|
movs r1, 0x78
|
|
movs r2, 0x30
|
|
movs r3, 0
|
|
bl sub_80A198C
|
|
ldrb r0, [r5, 0x7]
|
|
cmp r4, r0
|
|
beq _0809FDF8
|
|
ldrb r0, [r5, 0x7]
|
|
movs r1, 0xA0
|
|
movs r2, 0x30
|
|
movs r3, 0x1
|
|
bl sub_80A198C
|
|
_0809FDF8:
|
|
adds r0, r6, 0
|
|
movs r1, 0xB
|
|
bl GetMonData
|
|
adds r4, r0, 0
|
|
lsls r4, 16
|
|
lsrs r4, 16
|
|
adds r0, r6, 0
|
|
movs r1, 0x2E
|
|
bl GetMonData
|
|
adds r1, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
adds r0, r4, 0
|
|
bl GetAbilityBySpecies
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
movs r0, 0xD
|
|
muls r0, r4
|
|
ldr r1, _0809FE64 @ =gAbilityNames
|
|
adds r0, r1
|
|
movs r1, 0xD
|
|
movs r2, 0xB
|
|
movs r3, 0x9
|
|
bl sub_80A1FF8
|
|
ldr r0, _0809FE68 @ =gAbilityDescriptions
|
|
lsls r4, 2
|
|
adds r4, r0
|
|
ldr r0, [r4]
|
|
movs r1, 0xB
|
|
movs r2, 0xB
|
|
bl MenuPrint
|
|
adds r0, r6, 0
|
|
movs r1, 0xB
|
|
movs r2, 0xE
|
|
bl PokemonSummaryScreen_PrintTrainerMemo
|
|
_0809FE4C:
|
|
add sp, 0xC
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0809FE54: .4byte gStringVar2
|
|
_0809FE58: .4byte gStringVar1
|
|
_0809FE5C: .4byte 0x0000ffff
|
|
_0809FE60: .4byte gBaseStats
|
|
_0809FE64: .4byte gAbilityNames
|
|
_0809FE68: .4byte gAbilityDescriptions
|
|
thumb_func_end sub_809FC34
|
|
|
|
thumb_func_start sub_809FE6C
|
|
sub_809FE6C: @ 809FE6C
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
bl sub_809FC0C
|
|
adds r0, r4, 0
|
|
bl sub_809FC34
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_809FE6C
|
|
|
|
thumb_func_start sub_809FE80
|
|
sub_809FE80: @ 809FE80
|
|
push {lr}
|
|
movs r0, 0xE
|
|
movs r1, 0x4
|
|
movs r2, 0x12
|
|
movs r3, 0x5
|
|
bl MenuZeroFillWindowRect
|
|
movs r0, 0x19
|
|
movs r1, 0x4
|
|
movs r2, 0x1E
|
|
movs r3, 0x5
|
|
bl MenuZeroFillWindowRect
|
|
movs r0, 0xB
|
|
movs r1, 0x9
|
|
movs r2, 0x1C
|
|
movs r3, 0xC
|
|
bl MenuZeroFillWindowRect
|
|
movs r0, 0xB
|
|
movs r1, 0xE
|
|
movs r2, 0x1C
|
|
movs r3, 0x11
|
|
bl MenuZeroFillWindowRect
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_809FE80
|
|
|
|
thumb_func_start sub_809FEB8
|
|
sub_809FEB8: @ 809FEB8
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
ldr r0, _0809FF40 @ =gOtherText_ExpPoints
|
|
movs r1, 0xD
|
|
movs r2, 0xB
|
|
movs r3, 0xE
|
|
bl sub_80A1FF8
|
|
ldr r0, _0809FF44 @ =gOtherText_NextLv
|
|
movs r1, 0xD
|
|
movs r2, 0xB
|
|
movs r3, 0x10
|
|
bl sub_80A1FF8
|
|
ldr r0, _0809FF48 @ =gOtherText_Terminator18
|
|
movs r1, 0x15
|
|
movs r2, 0x10
|
|
bl MenuPrint
|
|
ldr r0, _0809FF4C @ =gOtherText_HP
|
|
movs r4, 0x2A
|
|
str r4, [sp]
|
|
movs r1, 0xD
|
|
movs r2, 0xB
|
|
movs r3, 0x7
|
|
bl sub_80A1F48
|
|
ldr r0, _0809FF50 @ =gOtherText_Attack
|
|
str r4, [sp]
|
|
movs r1, 0xD
|
|
movs r2, 0xB
|
|
movs r3, 0x9
|
|
bl sub_80A1F48
|
|
ldr r0, _0809FF54 @ =gOtherText_Defense
|
|
str r4, [sp]
|
|
movs r1, 0xD
|
|
movs r2, 0xB
|
|
movs r3, 0xB
|
|
bl sub_80A1F48
|
|
ldr r0, _0809FF58 @ =gOtherText_SpAtk
|
|
movs r4, 0x24
|
|
str r4, [sp]
|
|
movs r1, 0xD
|
|
movs r2, 0x16
|
|
movs r3, 0x7
|
|
bl sub_80A1F48
|
|
ldr r0, _0809FF5C @ =gOtherText_SpDef
|
|
str r4, [sp]
|
|
movs r1, 0xD
|
|
movs r2, 0x16
|
|
movs r3, 0x9
|
|
bl sub_80A1F48
|
|
ldr r0, _0809FF60 @ =gOtherText_Speed
|
|
str r4, [sp]
|
|
movs r1, 0xD
|
|
movs r2, 0x16
|
|
movs r3, 0xB
|
|
bl sub_80A1F48
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0809FF40: .4byte gOtherText_ExpPoints
|
|
_0809FF44: .4byte gOtherText_NextLv
|
|
_0809FF48: .4byte gOtherText_Terminator18
|
|
_0809FF4C: .4byte gOtherText_HP
|
|
_0809FF50: .4byte gOtherText_Attack
|
|
_0809FF54: .4byte gOtherText_Defense
|
|
_0809FF58: .4byte gOtherText_SpAtk
|
|
_0809FF5C: .4byte gOtherText_SpDef
|
|
_0809FF60: .4byte gOtherText_Speed
|
|
thumb_func_end sub_809FEB8
|
|
|
|
thumb_func_start sub_809FF64
|
|
sub_809FF64: @ 809FF64
|
|
push {r4,r5,lr}
|
|
adds r5, r0, 0
|
|
movs r4, 0
|
|
_0809FF6A:
|
|
adds r0, r4, 0
|
|
movs r1, 0x1
|
|
bl sub_80A1918
|
|
adds r0, r4, 0x1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0x4
|
|
bls _0809FF6A
|
|
adds r0, r5, 0
|
|
movs r1, 0xC
|
|
bl GetMonData
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
movs r1, 0xB
|
|
movs r2, 0x4
|
|
bl sub_80A0BF4
|
|
adds r0, r5, 0
|
|
bl sub_80A0B88
|
|
ldr r4, _080A008C @ =gStringVar1
|
|
adds r0, r5, 0
|
|
movs r1, 0x19
|
|
bl GetMonData
|
|
adds r1, r0, 0
|
|
adds r0, r4, 0
|
|
bl ConvertIntToDecimalString
|
|
adds r0, r4, 0
|
|
movs r1, 0x1D
|
|
movs r2, 0xE
|
|
bl MenuPrint_RightAligned
|
|
adds r0, r5, 0
|
|
movs r1, 0x17
|
|
movs r2, 0x10
|
|
bl sub_80A0C80
|
|
adds r0, r5, 0
|
|
movs r1, 0x3B
|
|
bl GetMonData
|
|
adds r1, r0, 0
|
|
adds r0, r4, 0
|
|
bl ConvertIntToDecimalString
|
|
adds r0, r4, 0
|
|
movs r1, 0x10
|
|
movs r2, 0x9
|
|
movs r3, 0x32
|
|
bl sub_8072BD8
|
|
adds r0, r5, 0
|
|
movs r1, 0x3C
|
|
bl GetMonData
|
|
adds r1, r0, 0
|
|
adds r0, r4, 0
|
|
bl ConvertIntToDecimalString
|
|
adds r0, r4, 0
|
|
movs r1, 0x10
|
|
movs r2, 0xB
|
|
movs r3, 0x32
|
|
bl sub_8072BD8
|
|
adds r0, r5, 0
|
|
movs r1, 0x3E
|
|
bl GetMonData
|
|
adds r1, r0, 0
|
|
adds r0, r4, 0
|
|
bl ConvertIntToDecimalString
|
|
adds r0, r4, 0
|
|
movs r1, 0x1B
|
|
movs r2, 0x7
|
|
movs r3, 0x12
|
|
bl sub_8072BD8
|
|
adds r0, r5, 0
|
|
movs r1, 0x3F
|
|
bl GetMonData
|
|
adds r1, r0, 0
|
|
adds r0, r4, 0
|
|
bl ConvertIntToDecimalString
|
|
adds r0, r4, 0
|
|
movs r1, 0x1B
|
|
movs r2, 0x9
|
|
movs r3, 0x12
|
|
bl sub_8072BD8
|
|
adds r0, r5, 0
|
|
movs r1, 0x3D
|
|
bl GetMonData
|
|
adds r1, r0, 0
|
|
adds r0, r4, 0
|
|
bl ConvertIntToDecimalString
|
|
adds r0, r4, 0
|
|
movs r1, 0x1B
|
|
movs r2, 0xB
|
|
movs r3, 0x12
|
|
bl sub_8072BD8
|
|
adds r0, r5, 0
|
|
movs r1, 0x39
|
|
bl GetMonData
|
|
adds r1, r0, 0
|
|
adds r0, r4, 0
|
|
movs r2, 0x18
|
|
movs r3, 0x1
|
|
bl sub_8072C14
|
|
adds r4, r0, 0
|
|
movs r0, 0xBA
|
|
strb r0, [r4]
|
|
adds r4, 0x1
|
|
adds r0, r5, 0
|
|
movs r1, 0x3A
|
|
bl GetMonData
|
|
adds r1, r0, 0
|
|
adds r0, r4, 0
|
|
movs r2, 0x30
|
|
movs r3, 0x1
|
|
bl sub_8072C14
|
|
ldr r0, _080A008C @ =gStringVar1
|
|
movs r1, 0x7E
|
|
movs r2, 0x38
|
|
movs r3, 0x1
|
|
bl MenuPrint_PixelCoords
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080A008C: .4byte gStringVar1
|
|
thumb_func_end sub_809FF64
|
|
|
|
thumb_func_start sub_80A0090
|
|
sub_80A0090: @ 80A0090
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
bl sub_809FEB8
|
|
adds r0, r4, 0
|
|
bl sub_809FF64
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80A0090
|
|
|
|
thumb_func_start sub_80A00A4
|
|
sub_80A00A4: @ 80A00A4
|
|
push {lr}
|
|
movs r0, 0xB
|
|
movs r1, 0x4
|
|
movs r2, 0x13
|
|
movs r3, 0x5
|
|
bl MenuZeroFillWindowRect
|
|
movs r0, 0x10
|
|
movs r1, 0x7
|
|
movs r2, 0x15
|
|
movs r3, 0x8
|
|
bl MenuZeroFillWindowRect
|
|
movs r0, 0x11
|
|
movs r1, 0x9
|
|
movs r2, 0x15
|
|
movs r3, 0xC
|
|
bl MenuZeroFillWindowRect
|
|
movs r0, 0x1B
|
|
movs r1, 0x7
|
|
movs r2, 0x1D
|
|
movs r3, 0xC
|
|
bl MenuZeroFillWindowRect
|
|
movs r0, 0x16
|
|
movs r1, 0xE
|
|
movs r2, 0x1C
|
|
movs r3, 0xF
|
|
bl MenuZeroFillWindowRect
|
|
movs r0, 0x17
|
|
movs r1, 0x10
|
|
movs r2, 0x1C
|
|
movs r3, 0x11
|
|
bl MenuZeroFillWindowRect
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80A00A4
|
|
|
|
thumb_func_start sub_80A00F4
|
|
sub_80A00F4: @ 80A00F4
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r1, r0, 24
|
|
ldr r2, _080A012C @ =0x02018000
|
|
adds r0, r2, 0
|
|
adds r0, 0x7C
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
bne _080A010A
|
|
cmp r1, 0x4
|
|
beq _080A0150
|
|
_080A010A:
|
|
ldrb r0, [r2, 0xB]
|
|
cmp r0, 0x2
|
|
bne _080A0138
|
|
ldr r0, _080A0130 @ =gOtherText_Power2
|
|
movs r1, 0xD
|
|
movs r2, 0x1
|
|
movs r3, 0xF
|
|
bl sub_80A1FF8
|
|
ldr r0, _080A0134 @ =gOtherText_Accuracy2
|
|
movs r1, 0xD
|
|
movs r2, 0x1
|
|
movs r3, 0x11
|
|
bl sub_80A1FF8
|
|
b _080A0150
|
|
.align 2, 0
|
|
_080A012C: .4byte 0x02018000
|
|
_080A0130: .4byte gOtherText_Power2
|
|
_080A0134: .4byte gOtherText_Accuracy2
|
|
_080A0138:
|
|
ldr r0, _080A0154 @ =gOtherText_Appeal2
|
|
movs r1, 0xD
|
|
movs r2, 0x1
|
|
movs r3, 0xF
|
|
bl sub_80A1FF8
|
|
ldr r0, _080A0158 @ =gOtherText_Jam2
|
|
movs r1, 0xD
|
|
movs r2, 0x1
|
|
movs r3, 0x11
|
|
bl sub_80A1FF8
|
|
_080A0150:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080A0154: .4byte gOtherText_Appeal2
|
|
_080A0158: .4byte gOtherText_Jam2
|
|
thumb_func_end sub_80A00F4
|
|
|
|
thumb_func_start sub_80A015C
|
|
sub_80A015C: @ 80A015C
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
mov r8, r0
|
|
movs r7, 0
|
|
_080A0168:
|
|
mov r0, r8
|
|
adds r1, r7, 0
|
|
bl sub_809F760
|
|
lsls r0, 16
|
|
lsrs r6, r0, 16
|
|
mov r0, r8
|
|
adds r1, r7, 0
|
|
bl sub_809F798
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
mov r9, r0
|
|
cmp r6, 0
|
|
bne _080A01B8
|
|
adds r0, r7, 0
|
|
movs r1, 0x1
|
|
bl sub_80A1918
|
|
lsls r4, r7, 25
|
|
movs r0, 0x80
|
|
lsls r0, 19
|
|
adds r4, r0
|
|
lsrs r4, 24
|
|
ldr r0, _080A01B0 @ =gOtherText_OneDash
|
|
movs r1, 0xD
|
|
movs r2, 0xF
|
|
adds r3, r4, 0
|
|
bl sub_80A1FF8
|
|
ldr r0, _080A01B4 @ =gOtherText_TwoDashes
|
|
movs r1, 0x1A
|
|
adds r2, r4, 0
|
|
bl MenuPrint
|
|
b _080A0276
|
|
.align 2, 0
|
|
_080A01B0: .4byte gOtherText_OneDash
|
|
_080A01B4: .4byte gOtherText_TwoDashes
|
|
_080A01B8:
|
|
ldr r0, _080A01E0 @ =0x02018000
|
|
ldrb r0, [r0, 0xB]
|
|
cmp r0, 0x2
|
|
bne _080A01E8
|
|
ldr r1, _080A01E4 @ =gBattleMoves
|
|
lsls r0, r6, 1
|
|
adds r0, r6
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldrb r0, [r0, 0x2]
|
|
lsls r4, r7, 1
|
|
adds r2, r4, 0x4
|
|
lsls r2, 27
|
|
lsrs r2, 24
|
|
movs r1, 0x57
|
|
adds r3, r7, 0
|
|
bl sub_80A198C
|
|
b _080A020C
|
|
.align 2, 0
|
|
_080A01E0: .4byte 0x02018000
|
|
_080A01E4: .4byte gBattleMoves
|
|
_080A01E8:
|
|
ldr r1, _080A0290 @ =gContestMoves
|
|
lsls r0, r6, 3
|
|
adds r0, r1
|
|
ldrb r0, [r0, 0x1]
|
|
lsls r0, 29
|
|
lsrs r0, 5
|
|
movs r1, 0x90
|
|
lsls r1, 21
|
|
adds r0, r1
|
|
lsrs r0, 24
|
|
lsls r4, r7, 1
|
|
adds r2, r4, 0x4
|
|
lsls r2, 27
|
|
lsrs r2, 24
|
|
movs r1, 0x57
|
|
adds r3, r7, 0
|
|
bl sub_80A198C
|
|
_080A020C:
|
|
movs r0, 0xD
|
|
muls r0, r6
|
|
ldr r1, _080A0294 @ =gMoveNames
|
|
adds r0, r1
|
|
adds r5, r4, 0x4
|
|
lsls r5, 24
|
|
lsrs r5, 24
|
|
movs r1, 0xD
|
|
movs r2, 0xF
|
|
adds r3, r5, 0
|
|
bl sub_80A1FF8
|
|
movs r0, 0x1
|
|
movs r1, 0x18
|
|
adds r2, r5, 0
|
|
bl GetStringCenterAlignXOffset
|
|
mov r0, r8
|
|
movs r1, 0x15
|
|
bl GetMonData
|
|
adds r1, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
adds r0, r6, 0
|
|
adds r2, r7, 0
|
|
bl CalculatePPWithBonus
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
ldr r1, _080A0298 @ =gStringVar1
|
|
adds r0, r1, 0
|
|
mov r1, r9
|
|
movs r2, 0xE
|
|
movs r3, 0x1
|
|
bl sub_8072C14
|
|
adds r1, r0, 0
|
|
movs r0, 0xBA
|
|
strb r0, [r1]
|
|
adds r1, 0x1
|
|
adds r0, r1, 0
|
|
adds r1, r4, 0
|
|
movs r2, 0x20
|
|
movs r3, 0x1
|
|
bl sub_8072C14
|
|
ldr r0, _080A0298 @ =gStringVar1
|
|
movs r1, 0x19
|
|
adds r2, r5, 0
|
|
bl MenuPrint
|
|
_080A0276:
|
|
adds r0, r7, 0x1
|
|
lsls r0, 24
|
|
lsrs r7, r0, 24
|
|
cmp r7, 0x3
|
|
bhi _080A0282
|
|
b _080A0168
|
|
_080A0282:
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080A0290: .4byte gContestMoves
|
|
_080A0294: .4byte gMoveNames
|
|
_080A0298: .4byte gStringVar1
|
|
thumb_func_end sub_80A015C
|
|
|
|
thumb_func_start sub_80A029C
|
|
sub_80A029C: @ 80A029C
|
|
push {r4,r5,lr}
|
|
ldr r1, _080A02B8 @ =0x02018000
|
|
adds r4, r1, 0
|
|
adds r4, 0x7C
|
|
ldrh r0, [r4]
|
|
cmp r0, 0
|
|
bne _080A02C0
|
|
ldr r0, _080A02BC @ =gOtherText_CancelNoTerminator
|
|
movs r1, 0xD
|
|
movs r2, 0xF
|
|
movs r3, 0xC
|
|
bl sub_80A1FF8
|
|
b _080A037E
|
|
.align 2, 0
|
|
_080A02B8: .4byte 0x02018000
|
|
_080A02BC: .4byte gOtherText_CancelNoTerminator
|
|
_080A02C0:
|
|
ldrh r5, [r4]
|
|
ldrb r0, [r1, 0xB]
|
|
cmp r0, 0x2
|
|
bne _080A02E4
|
|
ldr r1, _080A02E0 @ =gBattleMoves
|
|
lsls r4, r5, 1
|
|
adds r0, r4, r5
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldrb r0, [r0, 0x2]
|
|
movs r1, 0x57
|
|
movs r2, 0x60
|
|
movs r3, 0x4
|
|
bl sub_80A198C
|
|
b _080A0304
|
|
.align 2, 0
|
|
_080A02E0: .4byte gBattleMoves
|
|
_080A02E4:
|
|
ldr r1, _080A0320 @ =gContestMoves
|
|
lsls r0, r5, 3
|
|
adds r0, r1
|
|
ldrb r0, [r0, 0x1]
|
|
lsls r0, 29
|
|
lsrs r0, 5
|
|
movs r1, 0x90
|
|
lsls r1, 21
|
|
adds r0, r1
|
|
lsrs r0, 24
|
|
movs r1, 0x57
|
|
movs r2, 0x60
|
|
movs r3, 0x4
|
|
bl sub_80A198C
|
|
lsls r4, r5, 1
|
|
_080A0304:
|
|
ldr r0, _080A0324 @ =0x02018000
|
|
ldrb r0, [r0, 0xB]
|
|
cmp r0, 0x2
|
|
bne _080A032C
|
|
movs r0, 0xD
|
|
muls r0, r5
|
|
ldr r1, _080A0328 @ =gMoveNames
|
|
adds r0, r1
|
|
movs r1, 0xA
|
|
movs r2, 0xF
|
|
movs r3, 0xC
|
|
bl sub_80A1FF8
|
|
b _080A033E
|
|
.align 2, 0
|
|
_080A0320: .4byte gContestMoves
|
|
_080A0324: .4byte 0x02018000
|
|
_080A0328: .4byte gMoveNames
|
|
_080A032C:
|
|
movs r0, 0xD
|
|
muls r0, r5
|
|
ldr r1, _080A0384 @ =gMoveNames
|
|
adds r0, r1
|
|
movs r1, 0x9
|
|
movs r2, 0xF
|
|
movs r3, 0xC
|
|
bl sub_80A1FF8
|
|
_080A033E:
|
|
movs r0, 0x1
|
|
movs r1, 0x18
|
|
movs r2, 0xC
|
|
bl GetStringCenterAlignXOffset
|
|
ldr r2, _080A0388 @ =gStringVar1
|
|
ldr r1, _080A038C @ =gBattleMoves
|
|
adds r0, r4, r5
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldrb r4, [r0, 0x4]
|
|
adds r0, r2, 0
|
|
adds r1, r4, 0
|
|
movs r2, 0xE
|
|
movs r3, 0x1
|
|
bl sub_8072C14
|
|
adds r2, r0, 0
|
|
movs r0, 0xBA
|
|
strb r0, [r2]
|
|
adds r2, 0x1
|
|
adds r0, r2, 0
|
|
adds r1, r4, 0
|
|
movs r2, 0x20
|
|
movs r3, 0x1
|
|
bl sub_8072C14
|
|
ldr r0, _080A0388 @ =gStringVar1
|
|
movs r1, 0x19
|
|
movs r2, 0xC
|
|
bl MenuPrint
|
|
_080A037E:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080A0384: .4byte gMoveNames
|
|
_080A0388: .4byte gStringVar1
|
|
_080A038C: .4byte gBattleMoves
|
|
thumb_func_end sub_80A029C
|
|
|
|
thumb_func_start sub_80A0390
|
|
sub_80A0390: @ 80A0390
|
|
push {r4,lr}
|
|
movs r4, 0
|
|
_080A0394:
|
|
lsls r3, r4, 1
|
|
adds r1, r3, 0x4
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
adds r3, 0x5
|
|
lsls r3, 24
|
|
lsrs r3, 24
|
|
movs r0, 0xF
|
|
movs r2, 0x1C
|
|
bl MenuZeroFillWindowRect
|
|
adds r0, r4, 0x1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0x3
|
|
bls _080A0394
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80A0390
|
|
|
|
thumb_func_start sub_80A03BC
|
|
sub_80A03BC: @ 80A03BC
|
|
push {lr}
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
cmp r1, 0x4
|
|
beq _080A03D0
|
|
bl sub_809F760
|
|
lsls r0, 16
|
|
lsrs r1, r0, 16
|
|
b _080A03E0
|
|
_080A03D0:
|
|
ldr r0, _080A03E8 @ =0x02018000
|
|
adds r2, r0, 0
|
|
adds r2, 0x7C
|
|
ldrh r0, [r2]
|
|
ldr r1, _080A03EC @ =0x0000ffff
|
|
cmp r0, 0
|
|
beq _080A03E0
|
|
adds r1, r0, 0
|
|
_080A03E0:
|
|
adds r0, r1, 0
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080A03E8: .4byte 0x02018000
|
|
_080A03EC: .4byte 0x0000ffff
|
|
thumb_func_end sub_80A03BC
|
|
|
|
thumb_func_start sub_80A03F0
|
|
sub_80A03F0: @ 80A03F0
|
|
push {lr}
|
|
ldrb r1, [r1]
|
|
bl sub_80A03BC
|
|
lsls r0, 16
|
|
lsrs r1, r0, 16
|
|
ldr r0, _080A0414 @ =0x02018000
|
|
ldrb r0, [r0, 0xB]
|
|
cmp r0, 0x2
|
|
bne _080A041C
|
|
adds r0, r1, 0
|
|
bl sub_80A04CC
|
|
ldr r0, _080A0418 @ =0x0000ffff
|
|
bl sub_80A057C
|
|
b _080A0422
|
|
.align 2, 0
|
|
_080A0414: .4byte 0x02018000
|
|
_080A0418: .4byte 0x0000ffff
|
|
_080A041C:
|
|
adds r0, r1, 0
|
|
bl sub_80A057C
|
|
_080A0422:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80A03F0
|
|
|
|
thumb_func_start sub_80A0428
|
|
sub_80A0428: @ 80A0428
|
|
push {r4-r6,lr}
|
|
adds r5, r0, 0
|
|
adds r6, r1, 0
|
|
ldrb r1, [r6]
|
|
bl sub_80A03BC
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
movs r0, 0xB
|
|
movs r1, 0xF
|
|
movs r2, 0x1C
|
|
movs r3, 0x12
|
|
bl MenuZeroFillWindowRect
|
|
ldr r0, _080A0454 @ =0x02018000
|
|
ldrb r0, [r0, 0xB]
|
|
cmp r0, 0x2
|
|
bne _080A0458
|
|
adds r0, r4, 0
|
|
bl sub_80A046C
|
|
b _080A045E
|
|
.align 2, 0
|
|
_080A0454: .4byte 0x02018000
|
|
_080A0458:
|
|
adds r0, r4, 0
|
|
bl sub_80A0498
|
|
_080A045E:
|
|
adds r0, r5, 0
|
|
adds r1, r6, 0
|
|
bl sub_80A03F0
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80A0428
|
|
|
|
thumb_func_start sub_80A046C
|
|
sub_80A046C: @ 80A046C
|
|
push {lr}
|
|
lsls r0, 16
|
|
lsrs r1, r0, 16
|
|
ldr r0, _080A0490 @ =0x0000ffff
|
|
cmp r1, r0
|
|
beq _080A048A
|
|
ldr r0, _080A0494 @ =gMoveDescriptions
|
|
subs r1, 0x1
|
|
lsls r1, 2
|
|
adds r1, r0
|
|
ldr r0, [r1]
|
|
movs r1, 0xB
|
|
movs r2, 0xF
|
|
bl MenuPrint
|
|
_080A048A:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080A0490: .4byte 0x0000ffff
|
|
_080A0494: .4byte gMoveDescriptions
|
|
thumb_func_end sub_80A046C
|
|
|
|
thumb_func_start sub_80A0498
|
|
sub_80A0498: @ 80A0498
|
|
push {lr}
|
|
lsls r0, 16
|
|
lsrs r3, r0, 16
|
|
ldr r0, _080A04C0 @ =0x0000ffff
|
|
cmp r3, r0
|
|
beq _080A04BC
|
|
ldr r2, _080A04C4 @ =gUnknown_083CADD4
|
|
ldr r1, _080A04C8 @ =gContestMoves
|
|
lsls r0, r3, 3
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
lsls r0, 2
|
|
adds r0, r2
|
|
ldr r0, [r0]
|
|
movs r1, 0xB
|
|
movs r2, 0xF
|
|
bl MenuPrint
|
|
_080A04BC:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080A04C0: .4byte 0x0000ffff
|
|
_080A04C4: .4byte gUnknown_083CADD4
|
|
_080A04C8: .4byte gContestMoves
|
|
thumb_func_end sub_80A0498
|
|
|
|
thumb_func_start sub_80A04CC
|
|
sub_80A04CC: @ 80A04CC
|
|
push {r4,r5,lr}
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
ldr r0, _080A0504 @ =0x0000ffff
|
|
cmp r4, r0
|
|
beq _080A0572
|
|
ldr r2, _080A0508 @ =gBattleMoves
|
|
lsls r1, r4, 1
|
|
adds r0, r1, r4
|
|
lsls r0, 2
|
|
adds r2, r0, r2
|
|
ldrb r0, [r2, 0x1]
|
|
adds r5, r1, 0
|
|
cmp r0, 0x1
|
|
bhi _080A0514
|
|
ldr r0, _080A050C @ =gStringVar1
|
|
ldr r1, _080A0510 @ =gOtherText_ThreeDashes2
|
|
movs r2, 0x15
|
|
movs r3, 0x1
|
|
bl sub_8072C74
|
|
ldr r0, _080A050C @ =gStringVar1
|
|
movs r1, 0x7
|
|
movs r2, 0xF
|
|
bl MenuPrint
|
|
b _080A052A
|
|
.align 2, 0
|
|
_080A0504: .4byte 0x0000ffff
|
|
_080A0508: .4byte gBattleMoves
|
|
_080A050C: .4byte gStringVar1
|
|
_080A0510: .4byte gOtherText_ThreeDashes2
|
|
_080A0514:
|
|
ldr r0, _080A0550 @ =gStringVar1
|
|
ldrb r1, [r2, 0x1]
|
|
movs r2, 0x15
|
|
movs r3, 0x1
|
|
bl sub_8072C14
|
|
ldr r0, _080A0550 @ =gStringVar1
|
|
movs r1, 0x7
|
|
movs r2, 0xF
|
|
bl MenuPrint
|
|
_080A052A:
|
|
ldr r0, _080A0554 @ =gBattleMoves
|
|
adds r1, r5, r4
|
|
lsls r1, 2
|
|
adds r1, r0
|
|
ldrb r0, [r1, 0x3]
|
|
cmp r0, 0
|
|
bne _080A055C
|
|
ldr r0, _080A0550 @ =gStringVar1
|
|
ldr r1, _080A0558 @ =gOtherText_ThreeDashes2
|
|
movs r2, 0x15
|
|
movs r3, 0x1
|
|
bl sub_8072C74
|
|
ldr r0, _080A0550 @ =gStringVar1
|
|
movs r1, 0x7
|
|
movs r2, 0x11
|
|
bl MenuPrint
|
|
b _080A0572
|
|
.align 2, 0
|
|
_080A0550: .4byte gStringVar1
|
|
_080A0554: .4byte gBattleMoves
|
|
_080A0558: .4byte gOtherText_ThreeDashes2
|
|
_080A055C:
|
|
ldr r0, _080A0578 @ =gStringVar1
|
|
ldrb r1, [r1, 0x3]
|
|
movs r2, 0x15
|
|
movs r3, 0x1
|
|
bl sub_8072C14
|
|
ldr r0, _080A0578 @ =gStringVar1
|
|
movs r1, 0x7
|
|
movs r2, 0x11
|
|
bl MenuPrint
|
|
_080A0572:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080A0578: .4byte gStringVar1
|
|
thumb_func_end sub_80A04CC
|
|
|
|
thumb_func_start sub_80A057C
|
|
sub_80A057C: @ 80A057C
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
ldr r0, _080A0648 @ =0x06006800
|
|
mov r8, r0
|
|
ldr r0, _080A064C @ =0x0000ffff
|
|
cmp r5, r0
|
|
beq _080A063A
|
|
ldr r1, _080A0650 @ =gContestEffects
|
|
ldr r2, _080A0654 @ =gContestMoves
|
|
lsls r3, r5, 3
|
|
adds r0, r3, r2
|
|
ldrb r0, [r0]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldrb r4, [r0, 0x1]
|
|
mov r10, r2
|
|
mov r9, r3
|
|
cmp r4, 0xFF
|
|
beq _080A05B8
|
|
adds r0, r4, 0
|
|
movs r1, 0xA
|
|
bl __udivsi3
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
_080A05B8:
|
|
movs r2, 0
|
|
movs r7, 0x3
|
|
movs r6, 0xF3
|
|
lsls r6, 2
|
|
_080A05C0:
|
|
ldr r3, _080A0658 @ =0x00001039
|
|
cmp r4, 0xFF
|
|
beq _080A05CC
|
|
cmp r2, r4
|
|
bcs _080A05CC
|
|
adds r3, 0x1
|
|
_080A05CC:
|
|
lsrs r0, r2, 2
|
|
lsls r0, 5
|
|
adds r1, r2, 0
|
|
ands r1, r7
|
|
adds r1, r0
|
|
lsls r1, 1
|
|
add r1, r8
|
|
adds r1, r6
|
|
strh r3, [r1]
|
|
adds r0, r2, 0x1
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
cmp r2, 0x7
|
|
bls _080A05C0
|
|
ldr r0, _080A064C @ =0x0000ffff
|
|
cmp r5, r0
|
|
beq _080A063A
|
|
mov r0, r9
|
|
add r0, r10
|
|
ldrb r0, [r0]
|
|
lsls r0, 2
|
|
ldr r1, _080A0650 @ =gContestEffects
|
|
adds r0, r1
|
|
ldrb r4, [r0, 0x2]
|
|
cmp r4, 0xFF
|
|
beq _080A060C
|
|
adds r0, r4, 0
|
|
movs r1, 0xA
|
|
bl __udivsi3
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
_080A060C:
|
|
movs r2, 0
|
|
movs r6, 0x3
|
|
ldr r5, _080A065C @ =0x0000044c
|
|
_080A0612:
|
|
ldr r3, _080A0660 @ =0x0000103d
|
|
cmp r4, 0xFF
|
|
beq _080A061E
|
|
cmp r2, r4
|
|
bcs _080A061E
|
|
subs r3, 0x1
|
|
_080A061E:
|
|
lsrs r0, r2, 2
|
|
lsls r0, 5
|
|
adds r1, r2, 0
|
|
ands r1, r6
|
|
adds r1, r0
|
|
lsls r1, 1
|
|
add r1, r8
|
|
adds r1, r5
|
|
strh r3, [r1]
|
|
adds r0, r2, 0x1
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
cmp r2, 0x7
|
|
bls _080A0612
|
|
_080A063A:
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080A0648: .4byte 0x06006800
|
|
_080A064C: .4byte 0x0000ffff
|
|
_080A0650: .4byte gContestEffects
|
|
_080A0654: .4byte gContestMoves
|
|
_080A0658: .4byte 0x00001039
|
|
_080A065C: .4byte 0x0000044c
|
|
_080A0660: .4byte 0x0000103d
|
|
thumb_func_end sub_80A057C
|
|
|
|
.section .text_80A0958
|
|
|
|
thumb_func_start sub_80A0958
|
|
sub_80A0958: @ 80A0958
|
|
push {r4-r6,lr}
|
|
mov r6, r10
|
|
mov r5, r9
|
|
mov r4, r8
|
|
push {r4-r6}
|
|
mov r8, r0
|
|
movs r1, 0xB
|
|
bl GetMonData
|
|
adds r4, r0, 0
|
|
lsls r4, 16
|
|
lsrs r4, 16
|
|
ldr r2, _080A0A24 @ =gStringVar1
|
|
adds r0, r2, 0
|
|
movs r1, 0xD
|
|
bl sub_80A1E58
|
|
adds r2, r0, 0
|
|
movs r6, 0xFC
|
|
strb r6, [r2]
|
|
movs r0, 0x11
|
|
strb r0, [r2, 0x1]
|
|
movs r0, 0x7
|
|
strb r0, [r2, 0x2]
|
|
movs r0, 0xBA
|
|
strb r0, [r2, 0x3]
|
|
adds r2, 0x4
|
|
movs r0, 0xB
|
|
adds r1, r4, 0
|
|
muls r1, r0
|
|
ldr r0, _080A0A28 @ =gSpeciesNames
|
|
adds r1, r0
|
|
adds r0, r2, 0
|
|
bl StringCopy
|
|
adds r2, r0, 0
|
|
strb r6, [r2]
|
|
movs r0, 0x13
|
|
mov r10, r0
|
|
strb r0, [r2, 0x1]
|
|
movs r0, 0x50
|
|
strb r0, [r2, 0x2]
|
|
movs r0, 0xFF
|
|
mov r9, r0
|
|
strb r0, [r2, 0x3]
|
|
ldr r5, _080A0A24 @ =gStringVar1
|
|
adds r0, r5, 0
|
|
movs r1, 0
|
|
movs r2, 0xE
|
|
bl MenuPrint
|
|
movs r0, 0x3
|
|
movs r1, 0x10
|
|
movs r2, 0x9
|
|
movs r3, 0x11
|
|
bl MenuZeroFillWindowRect
|
|
mov r0, r8
|
|
movs r1, 0x38
|
|
bl GetMonData
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
adds r0, r5, 0
|
|
movs r1, 0xD
|
|
bl sub_80A1E58
|
|
adds r2, r0, 0
|
|
movs r0, 0x34
|
|
strb r0, [r2]
|
|
adds r2, 0x1
|
|
adds r0, r2, 0
|
|
adds r1, r4, 0
|
|
bl ConvertIntToDecimalString
|
|
adds r2, r0, 0
|
|
strb r6, [r2]
|
|
mov r0, r10
|
|
strb r0, [r2, 0x1]
|
|
movs r0, 0x20
|
|
strb r0, [r2, 0x2]
|
|
mov r0, r9
|
|
strb r0, [r2, 0x3]
|
|
adds r0, r5, 0
|
|
movs r1, 0x3
|
|
movs r2, 0x10
|
|
bl MenuPrint
|
|
mov r0, r8
|
|
movs r1, 0x7
|
|
movs r2, 0x10
|
|
bl sub_80A0A2C
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080A0A24: .4byte gStringVar1
|
|
_080A0A28: .4byte gSpeciesNames
|
|
thumb_func_end sub_80A0958
|
|
|
|
thumb_func_start sub_80A0A2C
|
|
sub_80A0A2C: @ 80A0A2C
|
|
push {r4-r6,lr}
|
|
adds r6, r0, 0
|
|
lsls r1, 24
|
|
lsrs r5, r1, 24
|
|
lsls r2, 24
|
|
lsrs r4, r2, 24
|
|
movs r1, 0x41
|
|
bl GetMonData
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
cmp r0, 0x20
|
|
beq _080A0A84
|
|
cmp r0, 0x1D
|
|
beq _080A0A84
|
|
adds r0, r6, 0
|
|
bl GetMonGender
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0
|
|
beq _080A0A6E
|
|
cmp r0, 0xFE
|
|
beq _080A0A78
|
|
adds r3, r4, 0x1
|
|
lsls r3, 24
|
|
lsrs r3, 24
|
|
adds r0, r5, 0
|
|
adds r1, r4, 0
|
|
adds r2, r5, 0
|
|
bl MenuZeroFillWindowRect
|
|
b _080A0A84
|
|
_080A0A6E:
|
|
ldr r0, _080A0A74 @ =gOtherText_MaleSymbol2
|
|
movs r1, 0xB
|
|
b _080A0A7C
|
|
.align 2, 0
|
|
_080A0A74: .4byte gOtherText_MaleSymbol2
|
|
_080A0A78:
|
|
ldr r0, _080A0A8C @ =gOtherText_FemaleSymbolAndLv
|
|
movs r1, 0xC
|
|
_080A0A7C:
|
|
adds r2, r5, 0
|
|
adds r3, r4, 0
|
|
bl sub_80A1FF8
|
|
_080A0A84:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080A0A8C: .4byte gOtherText_FemaleSymbolAndLv
|
|
thumb_func_end sub_80A0A2C
|
|
|
|
thumb_func_start sub_80A0A90
|
|
sub_80A0A90: @ 80A0A90
|
|
push {r4,r5,lr}
|
|
adds r5, r0, 0
|
|
movs r1, 0x32
|
|
bl GetMonData
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
adds r0, r5, 0
|
|
movs r1, 0x33
|
|
bl GetMonData
|
|
adds r4, r0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
adds r0, r5, 0
|
|
movs r1, 0x34
|
|
bl GetMonData
|
|
adds r4, r0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
adds r0, r5, 0
|
|
movs r1, 0x35
|
|
bl GetMonData
|
|
adds r4, r0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
adds r0, r5, 0
|
|
movs r1, 0x36
|
|
bl GetMonData
|
|
adds r4, r0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
adds r0, r5, 0
|
|
movs r1, 0x43
|
|
bl GetMonData
|
|
adds r4, r0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
adds r0, r5, 0
|
|
movs r1, 0x44
|
|
bl GetMonData
|
|
adds r4, r0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
adds r0, r5, 0
|
|
movs r1, 0x45
|
|
bl GetMonData
|
|
adds r4, r0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
adds r0, r5, 0
|
|
movs r1, 0x46
|
|
bl GetMonData
|
|
adds r4, r0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
adds r0, r5, 0
|
|
movs r1, 0x47
|
|
bl GetMonData
|
|
adds r4, r0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
adds r0, r5, 0
|
|
movs r1, 0x48
|
|
bl GetMonData
|
|
adds r4, r0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
adds r0, r5, 0
|
|
movs r1, 0x49
|
|
bl GetMonData
|
|
adds r4, r0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
adds r0, r5, 0
|
|
movs r1, 0x4A
|
|
bl GetMonData
|
|
adds r4, r0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
adds r0, r5, 0
|
|
movs r1, 0x4B
|
|
bl GetMonData
|
|
adds r4, r0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
adds r0, r5, 0
|
|
movs r1, 0x4C
|
|
bl GetMonData
|
|
adds r4, r0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
adds r0, r5, 0
|
|
movs r1, 0x4D
|
|
bl GetMonData
|
|
adds r4, r0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
adds r0, r5, 0
|
|
movs r1, 0x4E
|
|
bl GetMonData
|
|
adds r4, r0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
adds r0, r4, 0
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80A0A90
|
|
|
|
thumb_func_start sub_80A0B88
|
|
sub_80A0B88: @ 80A0B88
|
|
push {r4,r5,lr}
|
|
bl sub_80A0A90
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
cmp r5, 0
|
|
bne _080A0BA8
|
|
ldr r0, _080A0BA0 @ =gStringVar1
|
|
ldr r1, _080A0BA4 @ =gOtherText_None
|
|
bl StringCopy
|
|
b _080A0BD8
|
|
.align 2, 0
|
|
_080A0BA0: .4byte gStringVar1
|
|
_080A0BA4: .4byte gOtherText_None
|
|
_080A0BA8:
|
|
ldr r4, _080A0BE8 @ =gStringVar1
|
|
ldr r1, _080A0BEC @ =gOtherText_Ribbons00
|
|
adds r0, r4, 0
|
|
bl StringCopy
|
|
adds r0, r4, 0
|
|
bl StringLength
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
subs r4, 0x2
|
|
adds r0, r4
|
|
movs r1, 0xFC
|
|
strb r1, [r0]
|
|
movs r1, 0x14
|
|
strb r1, [r0, 0x1]
|
|
movs r1, 0x6
|
|
strb r1, [r0, 0x2]
|
|
adds r0, 0x3
|
|
adds r1, r5, 0
|
|
movs r2, 0x1
|
|
movs r3, 0x2
|
|
bl ConvertIntToDecimalStringN
|
|
_080A0BD8:
|
|
ldr r0, _080A0BF0 @ =gUnknown_083C15AE
|
|
movs r1, 0x15
|
|
movs r2, 0x4
|
|
bl MenuPrint
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080A0BE8: .4byte gStringVar1
|
|
_080A0BEC: .4byte gOtherText_Ribbons00
|
|
_080A0BF0: .4byte gUnknown_083C15AE
|
|
thumb_func_end sub_80A0B88
|
|
|
|
thumb_func_start sub_80A0BF4
|
|
sub_80A0BF4: @ 80A0BF4
|
|
push {r4-r7,lr}
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
lsls r1, 24
|
|
lsrs r7, r1, 24
|
|
lsls r2, 24
|
|
lsrs r6, r2, 24
|
|
cmp r5, 0xAF
|
|
bne _080A0C48
|
|
bl sub_80F9344
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
bne _080A0C48
|
|
bl IsLinkDoubleBattle
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
bne _080A0C48
|
|
ldr r0, _080A0C40 @ =0x02018000
|
|
ldrb r0, [r0, 0x9]
|
|
cmp r0, 0x1
|
|
beq _080A0C2E
|
|
cmp r0, 0x4
|
|
beq _080A0C2E
|
|
cmp r0, 0x5
|
|
bne _080A0C48
|
|
_080A0C2E:
|
|
ldr r4, _080A0C44 @ =gStringVar1
|
|
adds r0, r5, 0
|
|
bl ItemId_GetItem
|
|
adds r1, r0, 0
|
|
adds r0, r4, 0
|
|
bl StringCopy
|
|
b _080A0C68
|
|
.align 2, 0
|
|
_080A0C40: .4byte 0x02018000
|
|
_080A0C44: .4byte gStringVar1
|
|
_080A0C48:
|
|
cmp r5, 0
|
|
bne _080A0C60
|
|
ldr r0, _080A0C58 @ =gStringVar1
|
|
ldr r1, _080A0C5C @ =gOtherText_None
|
|
bl StringCopy
|
|
b _080A0C68
|
|
.align 2, 0
|
|
_080A0C58: .4byte gStringVar1
|
|
_080A0C5C: .4byte gOtherText_None
|
|
_080A0C60:
|
|
ldr r1, _080A0C78 @ =gStringVar1
|
|
adds r0, r5, 0
|
|
bl CopyItemName
|
|
_080A0C68:
|
|
ldr r0, _080A0C7C @ =gUnknown_083C15B4
|
|
adds r1, r7, 0
|
|
adds r2, r6, 0
|
|
bl MenuPrint
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080A0C78: .4byte gStringVar1
|
|
_080A0C7C: .4byte gUnknown_083C15B4
|
|
thumb_func_end sub_80A0BF4
|
|
|
|
thumb_func_start sub_80A0C80
|
|
sub_80A0C80: @ 80A0C80
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x4
|
|
adds r4, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
mov r10, r1
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
str r2, [sp]
|
|
movs r0, 0
|
|
mov r9, r0
|
|
movs r6, 0
|
|
movs r7, 0
|
|
adds r0, r4, 0
|
|
movs r1, 0x19
|
|
bl GetMonData
|
|
mov r8, r0
|
|
adds r0, r4, 0
|
|
movs r1, 0x38
|
|
bl GetMonData
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
adds r0, r4, 0
|
|
movs r1, 0xB
|
|
bl GetMonData
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
cmp r5, 0x63
|
|
bhi _080A0D14
|
|
ldr r3, _080A0D4C @ =gExperienceTables
|
|
adds r1, r5, 0x1
|
|
lsls r1, 2
|
|
ldr r2, _080A0D50 @ =gBaseStats
|
|
lsls r0, r4, 3
|
|
subs r0, r4
|
|
lsls r0, 2
|
|
adds r0, r2
|
|
ldrb r2, [r0, 0x13]
|
|
movs r0, 0xCA
|
|
lsls r0, 1
|
|
muls r2, r0
|
|
adds r1, r2
|
|
adds r1, r3
|
|
ldr r1, [r1]
|
|
mov r0, r8
|
|
subs r0, r1, r0
|
|
mov r9, r0
|
|
lsls r0, r5, 2
|
|
adds r0, r2
|
|
adds r0, r3
|
|
ldr r0, [r0]
|
|
subs r1, r0
|
|
mov r2, r8
|
|
subs r4, r2, r0
|
|
lsls r0, r4, 6
|
|
bl __udivsi3
|
|
adds r6, r0, 0
|
|
movs r7, 0
|
|
adds r0, r7, 0
|
|
orrs r0, r6
|
|
cmp r0, 0
|
|
bne _080A0D14
|
|
cmp r4, 0
|
|
beq _080A0D14
|
|
movs r6, 0x1
|
|
movs r7, 0
|
|
_080A0D14:
|
|
ldr r4, _080A0D54 @ =gStringVar1
|
|
adds r0, r4, 0
|
|
mov r1, r9
|
|
bl ConvertIntToDecimalString
|
|
mov r1, r10
|
|
adds r1, 0x6
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
adds r0, r4, 0
|
|
ldr r2, [sp]
|
|
bl MenuPrint_RightAligned
|
|
ldr r0, _080A0D58 @ =0x06004caa
|
|
mov r9, r0
|
|
movs r2, 0
|
|
mov r12, r2
|
|
ldr r0, _080A0D5C @ =0x00002062
|
|
mov r8, r0
|
|
_080A0D3A:
|
|
cmp r7, 0
|
|
bgt _080A0D46
|
|
cmp r7, 0
|
|
bne _080A0D64
|
|
cmp r6, 0x7
|
|
bls _080A0D64
|
|
_080A0D46:
|
|
ldr r1, _080A0D60 @ =0x0000206a
|
|
b _080A0D96
|
|
.align 2, 0
|
|
_080A0D4C: .4byte gExperienceTables
|
|
_080A0D50: .4byte gBaseStats
|
|
_080A0D54: .4byte gStringVar1
|
|
_080A0D58: .4byte 0x06004caa
|
|
_080A0D5C: .4byte 0x00002062
|
|
_080A0D60: .4byte 0x0000206a
|
|
_080A0D64:
|
|
adds r5, r7, 0
|
|
adds r4, r6, 0
|
|
cmp r7, 0
|
|
bge _080A0D74
|
|
movs r4, 0x7
|
|
movs r5, 0
|
|
adds r4, r6
|
|
adcs r5, r7
|
|
_080A0D74:
|
|
lsls r3, r5, 29
|
|
lsrs r2, r4, 3
|
|
adds r0, r3, 0
|
|
orrs r0, r2
|
|
asrs r1, r5, 3
|
|
lsrs r5, r0, 29
|
|
lsls r4, r1, 3
|
|
adds r3, r5, 0
|
|
orrs r3, r4
|
|
lsls r2, r0, 3
|
|
adds r1, r7, 0
|
|
adds r0, r6, 0
|
|
subs r0, r2
|
|
sbcs r1, r3
|
|
add r0, r8
|
|
lsls r0, 16
|
|
lsrs r1, r0, 16
|
|
_080A0D96:
|
|
mov r2, r12
|
|
lsls r0, r2, 1
|
|
add r0, r9
|
|
strh r1, [r0]
|
|
movs r0, 0x8
|
|
negs r0, r0
|
|
asrs r1, r0, 31
|
|
adds r6, r0
|
|
adcs r7, r1
|
|
cmp r7, 0
|
|
bge _080A0DB0
|
|
movs r6, 0
|
|
movs r7, 0
|
|
_080A0DB0:
|
|
mov r0, r12
|
|
adds r0, 0x1
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r12, r0
|
|
cmp r0, 0x7
|
|
bls _080A0D3A
|
|
add sp, 0x4
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80A0C80
|
|
|
|
thumb_func_start sub_80A0DD0
|
|
sub_80A0DD0: @ 80A0DD0
|
|
push {r4,r5,lr}
|
|
ldr r2, _080A0E3C @ =gStringVar1
|
|
movs r5, 0xFC
|
|
strb r5, [r2]
|
|
movs r0, 0x12
|
|
strb r0, [r2, 0x1]
|
|
movs r0, 0x2
|
|
strb r0, [r2, 0x2]
|
|
adds r2, 0x3
|
|
adds r0, r2, 0
|
|
movs r1, 0xD
|
|
bl sub_80A1E58
|
|
adds r2, r0, 0
|
|
ldr r1, _080A0E40 @ =gUnknown_083C1068
|
|
ldr r4, _080A0E44 @ =0x02018000
|
|
adds r0, r4, 0
|
|
adds r0, 0x7E
|
|
ldrb r0, [r0]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, [r0]
|
|
adds r0, r2, 0
|
|
bl StringCopy
|
|
adds r2, r0, 0
|
|
strb r5, [r2]
|
|
movs r0, 0x13
|
|
strb r0, [r2, 0x1]
|
|
movs r0, 0x58
|
|
strb r0, [r2, 0x2]
|
|
movs r0, 0xFF
|
|
strb r0, [r2, 0x3]
|
|
ldr r0, _080A0E3C @ =gStringVar1
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl MenuPrint
|
|
adds r4, 0x7F
|
|
ldrb r0, [r4]
|
|
cmp r0, 0
|
|
beq _080A0E48
|
|
movs r0, 0x5
|
|
movs r1, 0x17
|
|
movs r2, 0
|
|
bl GetStringCenterAlignXOffset
|
|
movs r0, 0x6
|
|
movs r1, 0x18
|
|
movs r2, 0
|
|
bl GetStringCenterAlignXOffset
|
|
b _080A0E54
|
|
.align 2, 0
|
|
_080A0E3C: .4byte gStringVar1
|
|
_080A0E40: .4byte gUnknown_083C1068
|
|
_080A0E44: .4byte 0x02018000
|
|
_080A0E48:
|
|
movs r0, 0x17
|
|
movs r1, 0
|
|
movs r2, 0x18
|
|
movs r3, 0x1
|
|
bl MenuZeroFillWindowRect
|
|
_080A0E54:
|
|
ldr r2, _080A0E98 @ =gStringVar1
|
|
adds r0, r2, 0
|
|
movs r1, 0xD
|
|
bl sub_80A1E58
|
|
adds r2, r0, 0
|
|
ldr r1, _080A0E9C @ =gUnknown_083C1068
|
|
ldr r0, _080A0EA0 @ =0x02018000
|
|
adds r0, 0x7F
|
|
ldrb r0, [r0]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, [r0]
|
|
adds r0, r2, 0
|
|
bl StringCopy
|
|
adds r2, r0, 0
|
|
movs r0, 0xFC
|
|
strb r0, [r2]
|
|
movs r0, 0x13
|
|
strb r0, [r2, 0x1]
|
|
movs r0, 0x28
|
|
strb r0, [r2, 0x2]
|
|
movs r0, 0xFF
|
|
strb r0, [r2, 0x3]
|
|
ldr r0, _080A0E98 @ =gStringVar1
|
|
movs r1, 0x19
|
|
movs r2, 0
|
|
bl MenuPrint
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080A0E98: .4byte gStringVar1
|
|
_080A0E9C: .4byte gUnknown_083C1068
|
|
_080A0EA0: .4byte 0x02018000
|
|
thumb_func_end sub_80A0DD0
|
|
|
|
thumb_func_start sub_80A0EA4
|
|
sub_80A0EA4: @ 80A0EA4
|
|
push {r4-r6,lr}
|
|
adds r4, r0, 0
|
|
ldr r5, _080A0ECC @ =0x0600e444
|
|
ldr r6, _080A0ED0 @ =0x0600ec44
|
|
movs r1, 0
|
|
bl CheckPartyPokerus
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080A0ED4
|
|
adds r0, r4, 0
|
|
movs r1, 0
|
|
bl CheckPartyHasHadPokerus
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080A0ED4
|
|
movs r0, 0x2C
|
|
b _080A0ED8
|
|
.align 2, 0
|
|
_080A0ECC: .4byte 0x0600e444
|
|
_080A0ED0: .4byte 0x0600ec44
|
|
_080A0ED4:
|
|
ldr r1, _080A0EE4 @ =0x0000081a
|
|
adds r0, r1, 0
|
|
_080A0ED8:
|
|
strh r0, [r5]
|
|
strh r0, [r6]
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080A0EE4: .4byte 0x0000081a
|
|
thumb_func_end sub_80A0EA4
|
|
|
|
thumb_func_start sub_80A0EE8
|
|
sub_80A0EE8: @ 80A0EE8
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x10
|
|
movs r3, 0
|
|
ldr r6, _080A0F24 @ =0x02018000
|
|
adds r5, r6, 0
|
|
ldr r1, _080A0F28 @ =0x00004040
|
|
mov r8, r1
|
|
ldr r2, _080A0F2C @ =0x0000404a
|
|
mov r10, r2
|
|
_080A0F02:
|
|
adds r0, r5, 0
|
|
adds r0, 0x75
|
|
ldrb r0, [r0]
|
|
cmp r3, r0
|
|
bcs _080A0F30
|
|
lsls r1, r3, 1
|
|
lsls r0, r3, 2
|
|
add r0, sp
|
|
mov r4, r8
|
|
strh r4, [r0]
|
|
adds r1, 0x1
|
|
lsls r1, 1
|
|
mov r7, sp
|
|
adds r0, r7, r1
|
|
strh r4, [r0]
|
|
b _080A0FE2
|
|
.align 2, 0
|
|
_080A0F24: .4byte 0x02018000
|
|
_080A0F28: .4byte 0x00004040
|
|
_080A0F2C: .4byte 0x0000404a
|
|
_080A0F30:
|
|
movs r0, 0x76
|
|
adds r0, r6
|
|
mov r12, r0
|
|
ldrb r1, [r0]
|
|
cmp r3, r1
|
|
bls _080A0F52
|
|
lsls r1, r3, 1
|
|
lsls r0, r3, 2
|
|
add r0, sp
|
|
mov r2, r10
|
|
strh r2, [r0]
|
|
adds r1, 0x1
|
|
lsls r1, 1
|
|
mov r4, sp
|
|
adds r0, r4, r1
|
|
strh r2, [r0]
|
|
b _080A0FE2
|
|
_080A0F52:
|
|
ldrb r4, [r5, 0xB]
|
|
cmp r3, r4
|
|
bcs _080A0F6E
|
|
lsls r1, r3, 1
|
|
lsls r0, r3, 2
|
|
mov r7, sp
|
|
adds r2, r7, r0
|
|
ldr r0, _080A0F88 @ =0x00004046
|
|
strh r0, [r2]
|
|
adds r1, 0x1
|
|
lsls r1, 1
|
|
add r1, sp
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
_080A0F6E:
|
|
cmp r3, r4
|
|
bne _080A0FA6
|
|
mov r0, r12
|
|
ldrb r0, [r0]
|
|
cmp r3, r0
|
|
beq _080A0F90
|
|
lsls r1, r3, 1
|
|
lsls r0, r3, 2
|
|
mov r4, sp
|
|
adds r2, r4, r0
|
|
ldr r0, _080A0F8C @ =0x00004041
|
|
b _080A0F9A
|
|
.align 2, 0
|
|
_080A0F88: .4byte 0x00004046
|
|
_080A0F8C: .4byte 0x00004041
|
|
_080A0F90:
|
|
lsls r1, r3, 1
|
|
lsls r0, r3, 2
|
|
mov r7, sp
|
|
adds r2, r7, r0
|
|
ldr r0, _080A0FC4 @ =0x0000404b
|
|
_080A0F9A:
|
|
strh r0, [r2]
|
|
adds r1, 0x1
|
|
lsls r1, 1
|
|
add r1, sp
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
_080A0FA6:
|
|
ldrb r0, [r5, 0xB]
|
|
cmp r3, r0
|
|
bls _080A0FE2
|
|
adds r0, r6, 0
|
|
adds r0, 0x76
|
|
ldrb r0, [r0]
|
|
cmp r3, r0
|
|
beq _080A0FCC
|
|
lsls r1, r3, 1
|
|
lsls r0, r3, 2
|
|
mov r4, sp
|
|
adds r2, r4, r0
|
|
ldr r0, _080A0FC8 @ =0x00004043
|
|
b _080A0FD6
|
|
.align 2, 0
|
|
_080A0FC4: .4byte 0x0000404b
|
|
_080A0FC8: .4byte 0x00004043
|
|
_080A0FCC:
|
|
lsls r1, r3, 1
|
|
lsls r0, r3, 2
|
|
mov r7, sp
|
|
adds r2, r7, r0
|
|
ldr r0, _080A1034 @ =0x00004048
|
|
_080A0FD6:
|
|
strh r0, [r2]
|
|
adds r1, 0x1
|
|
lsls r1, 1
|
|
add r1, sp
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
_080A0FE2:
|
|
adds r0, r3, 0x1
|
|
lsls r0, 24
|
|
lsrs r3, r0, 24
|
|
cmp r3, 0x3
|
|
bls _080A0F02
|
|
ldr r1, _080A1038 @ =0x0600e016
|
|
ldr r0, _080A103C @ =0x040000d4
|
|
mov r2, sp
|
|
str r2, [r0]
|
|
str r1, [r0, 0x4]
|
|
ldr r1, _080A1040 @ =0x80000008
|
|
str r1, [r0, 0x8]
|
|
ldr r0, [r0, 0x8]
|
|
movs r3, 0
|
|
_080A0FFE:
|
|
lsls r0, r3, 1
|
|
mov r4, sp
|
|
adds r1, r4, r0
|
|
ldrh r0, [r1]
|
|
adds r0, 0x10
|
|
strh r0, [r1]
|
|
adds r0, r3, 0x1
|
|
lsls r0, 24
|
|
lsrs r3, r0, 24
|
|
cmp r3, 0x7
|
|
bls _080A0FFE
|
|
ldr r1, _080A1044 @ =0x0600e056
|
|
ldr r0, _080A103C @ =0x040000d4
|
|
str r4, [r0]
|
|
str r1, [r0, 0x4]
|
|
ldr r1, _080A1040 @ =0x80000008
|
|
str r1, [r0, 0x8]
|
|
ldr r0, [r0, 0x8]
|
|
add sp, 0x10
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080A1034: .4byte 0x00004048
|
|
_080A1038: .4byte 0x0600e016
|
|
_080A103C: .4byte 0x040000d4
|
|
_080A1040: .4byte 0x80000008
|
|
_080A1044: .4byte 0x0600e056
|
|
thumb_func_end sub_80A0EE8
|
|
|
|
thumb_func_start sub_80A1048
|
|
sub_80A1048: @ 80A1048
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r8, r0
|
|
lsls r0, 2
|
|
add r0, r8
|
|
lsls r0, 3
|
|
ldr r1, _080A10A0 @ =gTasks + 0x8
|
|
adds r6, r0, r1
|
|
ldrh r0, [r6]
|
|
ldrh r1, [r6, 0x2]
|
|
adds r0, r1
|
|
strh r0, [r6, 0x2]
|
|
lsls r0, 16
|
|
cmp r0, 0
|
|
bne _080A106E
|
|
b _080A1224
|
|
_080A106E:
|
|
movs r5, 0x2
|
|
ldrsh r2, [r6, r5]
|
|
ldr r0, _080A10A4 @ =0x0000024a
|
|
subs r0, r2
|
|
lsls r0, 1
|
|
ldr r1, _080A10A8 @ =gUnknown_08E73508
|
|
adds r4, r0, r1
|
|
ldr r5, _080A10AC @ =0x0600e480
|
|
lsls r2, 1
|
|
movs r0, 0x80
|
|
lsls r0, 5
|
|
adds r7, r1, 0
|
|
cmp r2, r0
|
|
bhi _080A10B4
|
|
ldr r0, _080A10B0 @ =0x040000d4
|
|
str r4, [r0]
|
|
str r5, [r0, 0x4]
|
|
lsrs r1, r2, 1
|
|
movs r2, 0x80
|
|
lsls r2, 24
|
|
orrs r1, r2
|
|
str r1, [r0, 0x8]
|
|
ldr r0, [r0, 0x8]
|
|
b _080A10E0
|
|
.align 2, 0
|
|
_080A10A0: .4byte gTasks + 0x8
|
|
_080A10A4: .4byte 0x0000024a
|
|
_080A10A8: .4byte gUnknown_08E73508
|
|
_080A10AC: .4byte 0x0600e480
|
|
_080A10B0: .4byte 0x040000d4
|
|
_080A10B4:
|
|
ldr r3, _080A110C @ =0x040000d4
|
|
str r4, [r3]
|
|
str r5, [r3, 0x4]
|
|
ldr r0, _080A1110 @ =0x80000800
|
|
str r0, [r3, 0x8]
|
|
ldr r0, [r3, 0x8]
|
|
movs r0, 0x80
|
|
lsls r0, 5
|
|
adds r4, r0
|
|
adds r5, r0
|
|
ldr r1, _080A1114 @ =0xfffff000
|
|
adds r2, r1
|
|
cmp r2, r0
|
|
bhi _080A10B4
|
|
str r4, [r3]
|
|
str r5, [r3, 0x4]
|
|
lsrs r0, r2, 1
|
|
movs r1, 0x80
|
|
lsls r1, 24
|
|
orrs r0, r1
|
|
str r0, [r3, 0x8]
|
|
ldr r0, [r3, 0x8]
|
|
_080A10E0:
|
|
movs r5, 0x2
|
|
ldrsh r0, [r6, r5]
|
|
ldr r1, _080A1118 @ =0x0000026a
|
|
subs r1, r0
|
|
lsls r1, 1
|
|
adds r3, r1, r7
|
|
ldr r4, _080A111C @ =0x0600e4c0
|
|
lsls r1, r0, 1
|
|
movs r0, 0x80
|
|
lsls r0, 5
|
|
cmp r1, r0
|
|
bhi _080A1120
|
|
ldr r0, _080A110C @ =0x040000d4
|
|
str r3, [r0]
|
|
str r4, [r0, 0x4]
|
|
lsrs r1, 1
|
|
movs r2, 0x80
|
|
lsls r2, 24
|
|
orrs r1, r2
|
|
str r1, [r0, 0x8]
|
|
ldr r0, [r0, 0x8]
|
|
b _080A114C
|
|
.align 2, 0
|
|
_080A110C: .4byte 0x040000d4
|
|
_080A1110: .4byte 0x80000800
|
|
_080A1114: .4byte 0xfffff000
|
|
_080A1118: .4byte 0x0000026a
|
|
_080A111C: .4byte 0x0600e4c0
|
|
_080A1120:
|
|
ldr r2, _080A1178 @ =0x040000d4
|
|
str r3, [r2]
|
|
str r4, [r2, 0x4]
|
|
ldr r0, _080A117C @ =0x80000800
|
|
str r0, [r2, 0x8]
|
|
ldr r0, [r2, 0x8]
|
|
movs r0, 0x80
|
|
lsls r0, 5
|
|
adds r3, r0
|
|
adds r4, r0
|
|
ldr r5, _080A1180 @ =0xfffff000
|
|
adds r1, r5
|
|
cmp r1, r0
|
|
bhi _080A1120
|
|
str r3, [r2]
|
|
str r4, [r2, 0x4]
|
|
lsrs r0, r1, 1
|
|
movs r1, 0x80
|
|
lsls r1, 24
|
|
orrs r0, r1
|
|
str r0, [r2, 0x8]
|
|
ldr r0, [r2, 0x8]
|
|
_080A114C:
|
|
movs r1, 0x2
|
|
ldrsh r0, [r6, r1]
|
|
ldr r1, _080A1184 @ =0x0000024a
|
|
subs r1, r0
|
|
lsls r1, 1
|
|
adds r3, r1, r7
|
|
ldr r4, _080A1188 @ =0x0600ec80
|
|
lsls r1, r0, 1
|
|
movs r0, 0x80
|
|
lsls r0, 5
|
|
cmp r1, r0
|
|
bhi _080A118C
|
|
ldr r0, _080A1178 @ =0x040000d4
|
|
str r3, [r0]
|
|
str r4, [r0, 0x4]
|
|
lsrs r1, 1
|
|
movs r2, 0x80
|
|
lsls r2, 24
|
|
orrs r1, r2
|
|
str r1, [r0, 0x8]
|
|
ldr r0, [r0, 0x8]
|
|
b _080A11B8
|
|
.align 2, 0
|
|
_080A1178: .4byte 0x040000d4
|
|
_080A117C: .4byte 0x80000800
|
|
_080A1180: .4byte 0xfffff000
|
|
_080A1184: .4byte 0x0000024a
|
|
_080A1188: .4byte 0x0600ec80
|
|
_080A118C:
|
|
ldr r2, _080A11E4 @ =0x040000d4
|
|
str r3, [r2]
|
|
str r4, [r2, 0x4]
|
|
ldr r0, _080A11E8 @ =0x80000800
|
|
str r0, [r2, 0x8]
|
|
ldr r0, [r2, 0x8]
|
|
movs r0, 0x80
|
|
lsls r0, 5
|
|
adds r3, r0
|
|
adds r4, r0
|
|
ldr r5, _080A11EC @ =0xfffff000
|
|
adds r1, r5
|
|
cmp r1, r0
|
|
bhi _080A118C
|
|
str r3, [r2]
|
|
str r4, [r2, 0x4]
|
|
lsrs r0, r1, 1
|
|
movs r1, 0x80
|
|
lsls r1, 24
|
|
orrs r0, r1
|
|
str r0, [r2, 0x8]
|
|
ldr r0, [r2, 0x8]
|
|
_080A11B8:
|
|
movs r1, 0x2
|
|
ldrsh r0, [r6, r1]
|
|
ldr r1, _080A11F0 @ =0x0000026a
|
|
subs r1, r0
|
|
lsls r1, 1
|
|
adds r3, r1, r7
|
|
ldr r4, _080A11F4 @ =0x0600ecc0
|
|
lsls r1, r0, 1
|
|
movs r0, 0x80
|
|
lsls r0, 5
|
|
cmp r1, r0
|
|
bhi _080A11F8
|
|
ldr r0, _080A11E4 @ =0x040000d4
|
|
str r3, [r0]
|
|
str r4, [r0, 0x4]
|
|
lsrs r1, 1
|
|
movs r2, 0x80
|
|
lsls r2, 24
|
|
orrs r1, r2
|
|
str r1, [r0, 0x8]
|
|
ldr r0, [r0, 0x8]
|
|
b _080A1224
|
|
.align 2, 0
|
|
_080A11E4: .4byte 0x040000d4
|
|
_080A11E8: .4byte 0x80000800
|
|
_080A11EC: .4byte 0xfffff000
|
|
_080A11F0: .4byte 0x0000026a
|
|
_080A11F4: .4byte 0x0600ecc0
|
|
_080A11F8:
|
|
ldr r2, _080A12B0 @ =0x040000d4
|
|
str r3, [r2]
|
|
str r4, [r2, 0x4]
|
|
ldr r0, _080A12B4 @ =0x80000800
|
|
str r0, [r2, 0x8]
|
|
ldr r0, [r2, 0x8]
|
|
movs r0, 0x80
|
|
lsls r0, 5
|
|
adds r3, r0
|
|
adds r4, r0
|
|
ldr r5, _080A12B8 @ =0xfffff000
|
|
adds r1, r5
|
|
cmp r1, r0
|
|
bhi _080A11F8
|
|
str r3, [r2]
|
|
str r4, [r2, 0x4]
|
|
lsrs r0, r1, 1
|
|
movs r1, 0x80
|
|
lsls r1, 24
|
|
orrs r0, r1
|
|
str r0, [r2, 0x8]
|
|
ldr r0, [r2, 0x8]
|
|
_080A1224:
|
|
ldrb r4, [r6, 0x2]
|
|
ldrh r7, [r6, 0x2]
|
|
ldrh r0, [r6]
|
|
mov r12, r0
|
|
cmp r4, 0x9
|
|
bhi _080A1272
|
|
adds r3, r6, 0x4
|
|
ldr r2, _080A12B0 @ =0x040000d4
|
|
ldr r5, _080A12BC @ =0x80000001
|
|
_080A1236:
|
|
lsls r1, r4, 1
|
|
ldr r6, _080A12C0 @ =0x0600e480
|
|
adds r0, r1, r6
|
|
str r3, [r2]
|
|
str r0, [r2, 0x4]
|
|
str r5, [r2, 0x8]
|
|
ldr r0, [r2, 0x8]
|
|
adds r6, 0x40
|
|
adds r0, r1, r6
|
|
str r3, [r2]
|
|
str r0, [r2, 0x4]
|
|
str r5, [r2, 0x8]
|
|
ldr r0, [r2, 0x8]
|
|
ldr r6, _080A12C4 @ =0x0600ec80
|
|
adds r0, r1, r6
|
|
str r3, [r2]
|
|
str r0, [r2, 0x4]
|
|
str r5, [r2, 0x8]
|
|
ldr r0, [r2, 0x8]
|
|
ldr r0, _080A12C8 @ =0x0600ecc0
|
|
adds r1, r0
|
|
str r3, [r2]
|
|
str r1, [r2, 0x4]
|
|
str r5, [r2, 0x8]
|
|
ldr r0, [r2, 0x8]
|
|
adds r0, r4, 0x1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0x9
|
|
bls _080A1236
|
|
_080A1272:
|
|
mov r1, r12
|
|
lsls r0, r1, 16
|
|
cmp r0, 0
|
|
beq _080A1286
|
|
lsls r0, r7, 16
|
|
asrs r0, 16
|
|
cmp r0, 0
|
|
ble _080A1286
|
|
cmp r0, 0x9
|
|
ble _080A12A4
|
|
_080A1286:
|
|
lsls r0, r7, 16
|
|
asrs r0, 16
|
|
cmp r0, 0x9
|
|
ble _080A129A
|
|
ldr r0, _080A12CC @ =gOtherText_Status
|
|
movs r1, 0xD
|
|
movs r2, 0x1
|
|
movs r3, 0x12
|
|
bl sub_80A1FF8
|
|
_080A129A:
|
|
bl sub_80A1D18
|
|
mov r0, r8
|
|
bl DestroyTask
|
|
_080A12A4:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080A12B0: .4byte 0x040000d4
|
|
_080A12B4: .4byte 0x80000800
|
|
_080A12B8: .4byte 0xfffff000
|
|
_080A12BC: .4byte 0x80000001
|
|
_080A12C0: .4byte 0x0600e480
|
|
_080A12C4: .4byte 0x0600ec80
|
|
_080A12C8: .4byte 0x0600ecc0
|
|
_080A12CC: .4byte gOtherText_Status
|
|
thumb_func_end sub_80A1048
|
|
|
|
thumb_func_start sub_80A12D0
|
|
sub_80A12D0: @ 80A12D0
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
movs r0, 0x1
|
|
movs r1, 0x12
|
|
movs r2, 0x5
|
|
movs r3, 0x13
|
|
bl MenuZeroFillWindowRect
|
|
movs r0, 0x1D
|
|
bl sub_80A18E4
|
|
ldr r0, _080A1310 @ =sub_80A1048
|
|
movs r1, 0
|
|
bl CreateTask
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
ldr r1, _080A1314 @ =gTasks
|
|
lsls r0, r2, 2
|
|
adds r0, r2
|
|
lsls r0, 3
|
|
adds r1, r0, r1
|
|
lsls r4, 24
|
|
asrs r4, 24
|
|
strh r4, [r1, 0x8]
|
|
cmp r4, 0
|
|
bge _080A1318
|
|
movs r0, 0xA
|
|
b _080A131A
|
|
.align 2, 0
|
|
_080A1310: .4byte sub_80A1048
|
|
_080A1314: .4byte gTasks
|
|
_080A1318:
|
|
movs r0, 0
|
|
_080A131A:
|
|
strh r0, [r1, 0xA]
|
|
ldr r0, _080A1330 @ =gTasks
|
|
lsls r1, r2, 2
|
|
adds r1, r2
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
movs r0, 0x1
|
|
strh r0, [r1, 0xC]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080A1330: .4byte gTasks
|
|
thumb_func_end sub_80A12D0
|
|
|
|
thumb_func_start sub_80A1334
|
|
sub_80A1334: @ 80A1334
|
|
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 r10, r0
|
|
lsls r0, 2
|
|
add r0, r10
|
|
lsls r0, 3
|
|
ldr r1, _080A13E4 @ =gTasks + 0x8
|
|
adds r7, r0, r1
|
|
ldrh r0, [r7]
|
|
ldrh r1, [r7, 0x2]
|
|
adds r0, r1
|
|
strh r0, [r7, 0x2]
|
|
lsls r0, 16
|
|
asrs r1, r0, 16
|
|
movs r0, 0
|
|
cmp r1, 0
|
|
blt _080A136A
|
|
movs r0, 0xA
|
|
cmp r1, 0xA
|
|
bgt _080A136A
|
|
ldrh r0, [r7, 0x2]
|
|
_080A136A:
|
|
lsls r0, 16
|
|
asrs r2, r0, 16
|
|
mov r9, r0
|
|
cmp r2, 0
|
|
ble _080A13A6
|
|
movs r0, 0xA
|
|
subs r0, r2
|
|
lsls r0, 1
|
|
ldr r1, _080A13E8 @ =0x06005b40
|
|
adds r4, r0, r1
|
|
movs r5, 0
|
|
adds r6, r2, 0
|
|
ldr r0, _080A13EC @ =0x001fffff
|
|
mov r8, r0
|
|
_080A1386:
|
|
adds r0, r5, 0
|
|
adds r0, 0xD
|
|
lsls r0, 6
|
|
ldr r1, _080A13F0 @ =gUnknown_08E73E88
|
|
adds r0, r1
|
|
adds r1, r4, 0
|
|
mov r2, r8
|
|
ands r2, r6
|
|
bl CpuSet
|
|
adds r4, 0x40
|
|
adds r0, r5, 0x1
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
cmp r5, 0x6
|
|
bls _080A1386
|
|
_080A13A6:
|
|
mov r1, r9
|
|
asrs r2, r1, 16
|
|
cmp r2, 0x9
|
|
bgt _080A13F4
|
|
ldr r4, _080A13E8 @ =0x06005b40
|
|
movs r5, 0
|
|
mov r8, sp
|
|
movs r0, 0xA
|
|
subs r6, r0, r2
|
|
ldr r0, _080A13EC @ =0x001fffff
|
|
ands r6, r0
|
|
movs r0, 0x80
|
|
lsls r0, 17
|
|
mov r9, r0
|
|
_080A13C2:
|
|
ldrh r0, [r7, 0x4]
|
|
mov r1, r8
|
|
strh r0, [r1]
|
|
mov r0, sp
|
|
adds r1, r4, 0
|
|
mov r2, r9
|
|
orrs r2, r6
|
|
bl CpuSet
|
|
adds r4, 0x40
|
|
adds r0, r5, 0x1
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
cmp r5, 0x6
|
|
bls _080A13C2
|
|
b _080A1400
|
|
.align 2, 0
|
|
_080A13E4: .4byte gTasks + 0x8
|
|
_080A13E8: .4byte 0x06005b40
|
|
_080A13EC: .4byte 0x001fffff
|
|
_080A13F0: .4byte gUnknown_08E73E88
|
|
_080A13F4:
|
|
movs r0, 0
|
|
movs r1, 0x13
|
|
movs r2, 0x9
|
|
movs r3, 0x13
|
|
bl MenuZeroFillWindowRect
|
|
_080A1400:
|
|
movs r1, 0
|
|
ldrsh r0, [r7, r1]
|
|
cmp r0, 0
|
|
beq _080A1410
|
|
movs r1, 0x2
|
|
ldrsh r0, [r7, r1]
|
|
cmp r0, 0
|
|
bge _080A144A
|
|
_080A1410:
|
|
ldr r4, _080A1480 @ =0x02018000
|
|
ldrb r0, [r4, 0xB]
|
|
cmp r0, 0x2
|
|
bne _080A1444
|
|
movs r0, 0
|
|
movs r1, 0xE
|
|
movs r2, 0x9
|
|
movs r3, 0x12
|
|
bl MenuZeroFillWindowRect
|
|
adds r4, 0x10
|
|
adds r0, r4, 0
|
|
bl sub_80A0958
|
|
adds r0, r4, 0
|
|
bl GetMonStatusAndPokerus
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080A1444
|
|
ldr r0, _080A1484 @ =gOtherText_Status
|
|
movs r1, 0xD
|
|
movs r2, 0x1
|
|
movs r3, 0x12
|
|
bl sub_80A1FF8
|
|
_080A1444:
|
|
mov r0, r10
|
|
bl DestroyTask
|
|
_080A144A:
|
|
movs r1, 0x2
|
|
ldrsh r0, [r7, r1]
|
|
cmp r0, 0x9
|
|
ble _080A1470
|
|
ldr r4, _080A1480 @ =0x02018000
|
|
ldrb r0, [r4, 0xB]
|
|
cmp r0, 0x2
|
|
bne _080A1460
|
|
ldrb r0, [r7, 0x6]
|
|
bl sub_80A00F4
|
|
_080A1460:
|
|
adds r0, r4, 0
|
|
adds r0, 0x10
|
|
adds r1, r7, 0x6
|
|
bl sub_80A0428
|
|
mov r0, r10
|
|
bl DestroyTask
|
|
_080A1470:
|
|
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
|
|
_080A1480: .4byte 0x02018000
|
|
_080A1484: .4byte gOtherText_Status
|
|
thumb_func_end sub_80A1334
|
|
|
|
thumb_func_start sub_80A1488
|
|
sub_80A1488: @ 80A1488
|
|
push {r4-r7,lr}
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
lsls r1, 24
|
|
lsrs r7, r1, 24
|
|
ldr r0, _080A14DC @ =0x02018000
|
|
ldrb r0, [r0, 0xB]
|
|
cmp r0, 0x2
|
|
bne _080A14A6
|
|
movs r0, 0
|
|
movs r1, 0xE
|
|
movs r2, 0x9
|
|
movs r3, 0x13
|
|
bl MenuZeroFillWindowRect
|
|
_080A14A6:
|
|
ldr r5, _080A14E0 @ =sub_80A1334
|
|
adds r0, r5, 0
|
|
bl FindTaskIdByFunc
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0xFF
|
|
bne _080A14C2
|
|
adds r0, r5, 0
|
|
movs r1, 0
|
|
bl CreateTask
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
_080A14C2:
|
|
ldr r1, _080A14E4 @ =gTasks
|
|
lsls r2, r4, 2
|
|
adds r0, r2, r4
|
|
lsls r0, 3
|
|
adds r3, r0, r1
|
|
lsls r0, r6, 24
|
|
asrs r0, 24
|
|
strh r0, [r3, 0x8]
|
|
cmp r0, 0
|
|
bge _080A14E8
|
|
movs r0, 0xA
|
|
b _080A14EA
|
|
.align 2, 0
|
|
_080A14DC: .4byte 0x02018000
|
|
_080A14E0: .4byte sub_80A1334
|
|
_080A14E4: .4byte gTasks
|
|
_080A14E8:
|
|
movs r0, 0
|
|
_080A14EA:
|
|
strh r0, [r3, 0xA]
|
|
adds r0, r2, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
movs r1, 0
|
|
strh r1, [r0, 0xC]
|
|
strh r7, [r0, 0xE]
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80A1488
|
|
|
|
thumb_func_start sub_80A1500
|
|
sub_80A1500: @ 80A1500
|
|
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 r10, r0
|
|
lsls r0, 2
|
|
add r0, r10
|
|
lsls r0, 3
|
|
ldr r1, _080A15B0 @ =gTasks + 0x8
|
|
adds r7, r0, r1
|
|
ldrh r0, [r7]
|
|
ldrh r1, [r7, 0x2]
|
|
adds r0, r1
|
|
strh r0, [r7, 0x2]
|
|
lsls r0, 16
|
|
asrs r1, r0, 16
|
|
movs r0, 0
|
|
cmp r1, 0
|
|
blt _080A1536
|
|
movs r0, 0xA
|
|
cmp r1, 0xA
|
|
bgt _080A1536
|
|
ldrh r0, [r7, 0x2]
|
|
_080A1536:
|
|
lsls r0, 16
|
|
asrs r2, r0, 16
|
|
mov r9, r0
|
|
cmp r2, 0
|
|
ble _080A1572
|
|
movs r0, 0xA
|
|
subs r0, r2
|
|
lsls r0, 1
|
|
ldr r1, _080A15B4 @ =0x06006b40
|
|
adds r4, r0, r1
|
|
movs r5, 0
|
|
adds r6, r2, 0
|
|
ldr r0, _080A15B8 @ =0x001fffff
|
|
mov r8, r0
|
|
_080A1552:
|
|
adds r0, r5, 0
|
|
adds r0, 0xD
|
|
lsls r0, 6
|
|
ldr r1, _080A15BC @ =gUnknown_08E74688
|
|
adds r0, r1
|
|
adds r1, r4, 0
|
|
mov r2, r8
|
|
ands r2, r6
|
|
bl CpuSet
|
|
adds r4, 0x40
|
|
adds r0, r5, 0x1
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
cmp r5, 0x6
|
|
bls _080A1552
|
|
_080A1572:
|
|
mov r1, r9
|
|
asrs r2, r1, 16
|
|
cmp r2, 0x9
|
|
bgt _080A15C0
|
|
ldr r4, _080A15B4 @ =0x06006b40
|
|
movs r5, 0
|
|
mov r8, sp
|
|
movs r0, 0xA
|
|
subs r6, r0, r2
|
|
ldr r0, _080A15B8 @ =0x001fffff
|
|
ands r6, r0
|
|
movs r0, 0x80
|
|
lsls r0, 17
|
|
mov r9, r0
|
|
_080A158E:
|
|
ldrh r0, [r7, 0x4]
|
|
mov r1, r8
|
|
strh r0, [r1]
|
|
mov r0, sp
|
|
adds r1, r4, 0
|
|
mov r2, r9
|
|
orrs r2, r6
|
|
bl CpuSet
|
|
adds r4, 0x40
|
|
adds r0, r5, 0x1
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
cmp r5, 0x6
|
|
bls _080A158E
|
|
b _080A15CC
|
|
.align 2, 0
|
|
_080A15B0: .4byte gTasks + 0x8
|
|
_080A15B4: .4byte 0x06006b40
|
|
_080A15B8: .4byte 0x001fffff
|
|
_080A15BC: .4byte gUnknown_08E74688
|
|
_080A15C0:
|
|
movs r0, 0
|
|
movs r1, 0x13
|
|
movs r2, 0x9
|
|
movs r3, 0x13
|
|
bl MenuZeroFillWindowRect
|
|
_080A15CC:
|
|
movs r1, 0
|
|
ldrsh r0, [r7, r1]
|
|
cmp r0, 0
|
|
beq _080A15DC
|
|
movs r1, 0x2
|
|
ldrsh r0, [r7, r1]
|
|
cmp r0, 0
|
|
bge _080A1616
|
|
_080A15DC:
|
|
ldr r4, _080A164C @ =0x02018000
|
|
ldrb r0, [r4, 0xB]
|
|
cmp r0, 0x3
|
|
bne _080A1610
|
|
movs r0, 0
|
|
movs r1, 0xE
|
|
movs r2, 0x9
|
|
movs r3, 0x12
|
|
bl MenuZeroFillWindowRect
|
|
adds r4, 0x10
|
|
adds r0, r4, 0
|
|
bl sub_80A0958
|
|
adds r0, r4, 0
|
|
bl GetMonStatusAndPokerus
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080A1610
|
|
ldr r0, _080A1650 @ =gOtherText_Status
|
|
movs r1, 0xD
|
|
movs r2, 0x1
|
|
movs r3, 0x12
|
|
bl sub_80A1FF8
|
|
_080A1610:
|
|
mov r0, r10
|
|
bl DestroyTask
|
|
_080A1616:
|
|
movs r1, 0x2
|
|
ldrsh r0, [r7, r1]
|
|
cmp r0, 0x9
|
|
ble _080A163C
|
|
ldr r4, _080A164C @ =0x02018000
|
|
ldrb r0, [r4, 0xB]
|
|
cmp r0, 0x3
|
|
bne _080A162C
|
|
ldrb r0, [r7, 0x6]
|
|
bl sub_80A00F4
|
|
_080A162C:
|
|
adds r0, r4, 0
|
|
adds r0, 0x10
|
|
adds r1, r7, 0x6
|
|
bl sub_80A0428
|
|
mov r0, r10
|
|
bl DestroyTask
|
|
_080A163C:
|
|
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
|
|
_080A164C: .4byte 0x02018000
|
|
_080A1650: .4byte gOtherText_Status
|
|
thumb_func_end sub_80A1500
|
|
|
|
thumb_func_start sub_80A1654
|
|
sub_80A1654: @ 80A1654
|
|
push {r4-r7,lr}
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
lsls r1, 24
|
|
lsrs r7, r1, 24
|
|
ldr r0, _080A16A8 @ =0x02018000
|
|
ldrb r0, [r0, 0xB]
|
|
cmp r0, 0x3
|
|
bne _080A1672
|
|
movs r0, 0
|
|
movs r1, 0xE
|
|
movs r2, 0x9
|
|
movs r3, 0x13
|
|
bl MenuZeroFillWindowRect
|
|
_080A1672:
|
|
ldr r5, _080A16AC @ =sub_80A1500
|
|
adds r0, r5, 0
|
|
bl FindTaskIdByFunc
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0xFF
|
|
bne _080A168E
|
|
adds r0, r5, 0
|
|
movs r1, 0
|
|
bl CreateTask
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
_080A168E:
|
|
ldr r1, _080A16B0 @ =gTasks
|
|
lsls r2, r4, 2
|
|
adds r0, r2, r4
|
|
lsls r0, 3
|
|
adds r3, r0, r1
|
|
lsls r0, r6, 24
|
|
asrs r0, 24
|
|
strh r0, [r3, 0x8]
|
|
cmp r0, 0
|
|
bge _080A16B4
|
|
movs r0, 0xA
|
|
b _080A16B6
|
|
.align 2, 0
|
|
_080A16A8: .4byte 0x02018000
|
|
_080A16AC: .4byte sub_80A1500
|
|
_080A16B0: .4byte gTasks
|
|
_080A16B4:
|
|
movs r0, 0
|
|
_080A16B6:
|
|
strh r0, [r3, 0xA]
|
|
adds r0, r2, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
movs r1, 0
|
|
strh r1, [r0, 0xC]
|
|
strh r7, [r0, 0xE]
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80A1654
|
|
|
|
thumb_func_start sub_80A16CC
|
|
sub_80A16CC: @ 80A16CC
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r9, r0
|
|
ldr r0, _080A1724 @ =0x06006ad4
|
|
mov r12, r0
|
|
mov r1, r9
|
|
cmp r1, 0
|
|
bne _080A172C
|
|
movs r5, 0
|
|
ldr r7, _080A1728 @ =gUnknown_08E94510
|
|
movs r0, 0x80
|
|
lsls r0, 5
|
|
adds r6, r0, 0
|
|
movs r1, 0x40
|
|
adds r1, r7
|
|
mov r8, r1
|
|
_080A16F4:
|
|
lsls r2, r5, 1
|
|
mov r0, r12
|
|
adds r3, r2, r0
|
|
adds r4, r2, r7
|
|
ldrh r1, [r4]
|
|
adds r0, r6, r1
|
|
strh r0, [r3]
|
|
adds r1, r3, 0
|
|
adds r1, 0x40
|
|
ldrh r4, [r4]
|
|
adds r0, r6, r4
|
|
strh r0, [r1]
|
|
adds r3, 0x80
|
|
add r2, r8
|
|
ldrh r2, [r2]
|
|
adds r0, r6, r2
|
|
strh r0, [r3]
|
|
adds r0, r5, 0x1
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
cmp r5, 0x13
|
|
bls _080A16F4
|
|
b _080A1768
|
|
.align 2, 0
|
|
_080A1724: .4byte 0x06006ad4
|
|
_080A1728: .4byte gUnknown_08E94510
|
|
_080A172C:
|
|
movs r5, 0
|
|
ldr r6, _080A17B0 @ =gUnknown_08E94550
|
|
movs r7, 0x80
|
|
lsls r7, 5
|
|
adds r4, r7, 0
|
|
movs r0, 0x40
|
|
adds r0, r6
|
|
mov r8, r0
|
|
_080A173C:
|
|
lsls r1, r5, 1
|
|
mov r7, r12
|
|
adds r2, r1, r7
|
|
adds r0, r1, r6
|
|
ldrh r0, [r0]
|
|
adds r0, r4, r0
|
|
strh r0, [r2]
|
|
adds r3, r2, 0
|
|
adds r3, 0x40
|
|
add r1, r8
|
|
ldrh r7, [r1]
|
|
adds r0, r4, r7
|
|
strh r0, [r3]
|
|
adds r2, 0x80
|
|
ldrh r1, [r1]
|
|
adds r0, r4, r1
|
|
strh r0, [r2]
|
|
adds r0, r5, 0x1
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
cmp r5, 0x13
|
|
bls _080A173C
|
|
_080A1768:
|
|
ldr r0, _080A17B4 @ =0x06005ad4
|
|
mov r12, r0
|
|
mov r1, r9
|
|
cmp r1, 0
|
|
bne _080A17BC
|
|
movs r5, 0
|
|
ldr r7, _080A17B8 @ =gUnknown_08E94510
|
|
movs r0, 0xC0
|
|
lsls r0, 6
|
|
adds r6, r0, 0
|
|
movs r1, 0x40
|
|
adds r1, r7
|
|
mov r8, r1
|
|
_080A1782:
|
|
lsls r2, r5, 1
|
|
mov r0, r12
|
|
adds r3, r2, r0
|
|
adds r4, r2, r7
|
|
ldrh r1, [r4]
|
|
adds r0, r6, r1
|
|
strh r0, [r3]
|
|
adds r1, r3, 0
|
|
adds r1, 0x40
|
|
ldrh r4, [r4]
|
|
adds r0, r6, r4
|
|
strh r0, [r1]
|
|
adds r3, 0x80
|
|
add r2, r8
|
|
ldrh r2, [r2]
|
|
adds r0, r6, r2
|
|
strh r0, [r3]
|
|
adds r0, r5, 0x1
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
cmp r5, 0x13
|
|
bls _080A1782
|
|
b _080A17F8
|
|
.align 2, 0
|
|
_080A17B0: .4byte gUnknown_08E94550
|
|
_080A17B4: .4byte 0x06005ad4
|
|
_080A17B8: .4byte gUnknown_08E94510
|
|
_080A17BC:
|
|
movs r5, 0
|
|
ldr r6, _080A1804 @ =gUnknown_08E94550
|
|
movs r7, 0xC0
|
|
lsls r7, 6
|
|
adds r4, r7, 0
|
|
movs r0, 0x40
|
|
adds r0, r6
|
|
mov r8, r0
|
|
_080A17CC:
|
|
lsls r1, r5, 1
|
|
mov r7, r12
|
|
adds r2, r1, r7
|
|
adds r0, r1, r6
|
|
ldrh r0, [r0]
|
|
adds r0, r4, r0
|
|
strh r0, [r2]
|
|
adds r3, r2, 0
|
|
adds r3, 0x40
|
|
add r1, r8
|
|
ldrh r7, [r1]
|
|
adds r0, r4, r7
|
|
strh r0, [r3]
|
|
adds r2, 0x80
|
|
ldrh r1, [r1]
|
|
adds r0, r4, r1
|
|
strh r0, [r2]
|
|
adds r0, r5, 0x1
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
cmp r5, 0x13
|
|
bls _080A17CC
|
|
_080A17F8:
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080A1804: .4byte gUnknown_08E94550
|
|
thumb_func_end sub_80A16CC
|
|
|
|
thumb_func_start sub_80A1808
|
|
sub_80A1808: @ 80A1808
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
movs r1, 0x41
|
|
bl GetMonData
|
|
adds r6, r0, 0
|
|
lsls r6, 16
|
|
lsrs r6, 16
|
|
ldr r0, _080A1860 @ =gUnknown_02024E8C
|
|
movs r1, 0x28
|
|
movs r2, 0x40
|
|
movs r3, 0x5
|
|
bl CreateSprite
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r8, r0
|
|
lsls r4, r0, 4
|
|
add r4, r8
|
|
lsls r4, 2
|
|
ldr r5, _080A1864 @ =gSprites
|
|
adds r7, r4, r5
|
|
adds r0, r7, 0
|
|
bl FreeSpriteOamMatrix
|
|
strh r6, [r7, 0x2E]
|
|
adds r5, 0x1C
|
|
adds r4, r5
|
|
ldr r0, _080A1868 @ =sub_80A1888
|
|
str r0, [r4]
|
|
adds r0, r6, 0
|
|
bl sub_8040A3C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080A186C
|
|
adds r0, r7, 0
|
|
adds r0, 0x3F
|
|
ldrb r1, [r0]
|
|
movs r2, 0x1
|
|
orrs r1, r2
|
|
strb r1, [r0]
|
|
b _080A187A
|
|
.align 2, 0
|
|
_080A1860: .4byte gUnknown_02024E8C
|
|
_080A1864: .4byte gSprites
|
|
_080A1868: .4byte sub_80A1888
|
|
_080A186C:
|
|
adds r2, r7, 0
|
|
adds r2, 0x3F
|
|
ldrb r1, [r2]
|
|
movs r0, 0x2
|
|
negs r0, r0
|
|
ands r0, r1
|
|
strb r0, [r2]
|
|
_080A187A:
|
|
mov r0, r8
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80A1808
|
|
|
|
thumb_func_start sub_80A1888
|
|
sub_80A1888: @ 80A1888
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
ldr r0, _080A18B8 @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _080A18B0
|
|
ldr r0, _080A18BC @ =SpriteCallbackDummy
|
|
str r0, [r4, 0x1C]
|
|
ldr r0, _080A18C0 @ =0x02018010
|
|
movs r1, 0x2D
|
|
bl GetMonData
|
|
cmp r0, 0
|
|
bne _080A18B0
|
|
ldrh r0, [r4, 0x2E]
|
|
movs r1, 0
|
|
bl PlayCry1
|
|
_080A18B0:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080A18B8: .4byte gPaletteFade
|
|
_080A18BC: .4byte SpriteCallbackDummy
|
|
_080A18C0: .4byte 0x02018010
|
|
thumb_func_end sub_80A1888
|
|
|
|
thumb_func_start sub_80A18C4
|
|
sub_80A18C4: @ 80A18C4
|
|
push {lr}
|
|
movs r1, 0
|
|
ldr r3, _080A18E0 @ =0x0201a000
|
|
movs r2, 0xFF
|
|
_080A18CC:
|
|
adds r0, r1, r3
|
|
strb r2, [r0]
|
|
adds r0, r1, 0x1
|
|
lsls r0, 24
|
|
lsrs r1, r0, 24
|
|
cmp r1, 0x1D
|
|
bls _080A18CC
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080A18E0: .4byte 0x0201a000
|
|
thumb_func_end sub_80A18C4
|
|
|
|
thumb_func_start sub_80A18E4
|
|
sub_80A18E4: @ 80A18E4
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _080A1910 @ =0x0201a000
|
|
adds r4, r0, r1
|
|
ldrb r0, [r4]
|
|
cmp r0, 0xFF
|
|
beq _080A1908
|
|
adds r1, r0, 0
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r1, _080A1914 @ =gSprites
|
|
adds r0, r1
|
|
bl DestroySprite
|
|
movs r0, 0xFF
|
|
strb r0, [r4]
|
|
_080A1908:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080A1910: .4byte 0x0201a000
|
|
_080A1914: .4byte gSprites
|
|
thumb_func_end sub_80A18E4
|
|
|
|
thumb_func_start sub_80A1918
|
|
sub_80A1918: @ 80A1918
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
ldr r3, _080A1948 @ =gSprites
|
|
ldr r2, _080A194C @ =0x0201a000
|
|
adds r0, r2
|
|
ldrb r0, [r0]
|
|
lsls r2, r0, 4
|
|
adds r2, r0
|
|
lsls r2, 2
|
|
adds r2, r3
|
|
adds r2, 0x3E
|
|
movs r0, 0x1
|
|
ands r1, r0
|
|
lsls r1, 2
|
|
ldrb r3, [r2]
|
|
movs r0, 0x5
|
|
negs r0, r0
|
|
ands r0, r3
|
|
orrs r0, r1
|
|
strb r0, [r2]
|
|
bx lr
|
|
.align 2, 0
|
|
_080A1948: .4byte gSprites
|
|
_080A194C: .4byte 0x0201a000
|
|
thumb_func_end sub_80A1918
|
|
|
|
thumb_func_start sub_80A1950
|
|
sub_80A1950: @ 80A1950
|
|
push {r4,r5,lr}
|
|
movs r5, 0
|
|
_080A1954:
|
|
ldr r0, _080A1984 @ =0x0201a000
|
|
adds r4, r5, r0
|
|
ldrb r0, [r4]
|
|
cmp r0, 0xFF
|
|
bne _080A196C
|
|
ldr r0, _080A1988 @ =gSpriteTemplate_83C11C0
|
|
movs r1, 0
|
|
movs r2, 0
|
|
movs r3, 0x2
|
|
bl CreateSprite
|
|
strb r0, [r4]
|
|
_080A196C:
|
|
adds r0, r5, 0
|
|
movs r1, 0x1
|
|
bl sub_80A1918
|
|
adds r0, r5, 0x1
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
cmp r5, 0x4
|
|
bls _080A1954
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080A1984: .4byte 0x0201a000
|
|
_080A1988: .4byte gSpriteTemplate_83C11C0
|
|
thumb_func_end sub_80A1950
|
|
|
|
thumb_func_start sub_80A198C
|
|
sub_80A198C: @ 80A198C
|
|
push {r4-r6,lr}
|
|
mov r6, r10
|
|
mov r5, r9
|
|
mov r4, r8
|
|
push {r4-r6}
|
|
adds r4, r0, 0
|
|
adds r5, r1, 0
|
|
adds r6, r2, 0
|
|
mov r10, r3
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
lsls r5, 24
|
|
lsrs r5, 24
|
|
lsls r6, 24
|
|
lsrs r6, 24
|
|
mov r0, r10
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r10, r0
|
|
ldr r1, _080A1A24 @ =0x0201a000
|
|
mov r8, r1
|
|
add r8, r10
|
|
mov r0, r8
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r1, _080A1A28 @ =gSprites
|
|
mov r9, r1
|
|
add r0, r9
|
|
adds r1, r4, 0
|
|
bl StartSpriteAnim
|
|
mov r1, r8
|
|
ldrb r0, [r1]
|
|
lsls r1, r0, 4
|
|
adds r1, r0
|
|
lsls r1, 2
|
|
add r1, r9
|
|
ldr r0, _080A1A2C @ =gUnknown_083C11D8
|
|
adds r4, r0
|
|
ldrb r2, [r4]
|
|
lsls r2, 4
|
|
ldrb r3, [r1, 0x5]
|
|
movs r0, 0xF
|
|
ands r0, r3
|
|
orrs r0, r2
|
|
strb r0, [r1, 0x5]
|
|
mov r0, r8
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
add r0, r9
|
|
adds r5, 0x10
|
|
strh r5, [r0, 0x20]
|
|
mov r0, r8
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
add r0, r9
|
|
adds r6, 0x8
|
|
strh r6, [r0, 0x22]
|
|
mov r0, r10
|
|
movs r1, 0
|
|
bl sub_80A1918
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080A1A24: .4byte 0x0201a000
|
|
_080A1A28: .4byte gSprites
|
|
_080A1A2C: .4byte gUnknown_083C11D8
|
|
thumb_func_end sub_80A198C
|
|
|
|
thumb_func_start sub_80A1A30
|
|
sub_80A1A30: @ 80A1A30
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
movs r0, 0
|
|
mov r9, r0
|
|
ldr r1, _080A1A98 @ =0x02018000
|
|
ldrb r0, [r1, 0xB]
|
|
cmp r0, 0x1
|
|
bls _080A1B0A
|
|
cmp r4, 0x9
|
|
bne _080A1A52
|
|
movs r3, 0x1
|
|
mov r9, r3
|
|
_080A1A52:
|
|
movs r5, 0
|
|
movs r0, 0x80
|
|
lsls r0, 6
|
|
adds r0, r1
|
|
mov r8, r0
|
|
ldr r6, _080A1A9C @ =gSprites
|
|
mov r10, r5
|
|
_080A1A60:
|
|
lsls r1, r5, 20
|
|
movs r3, 0xB0
|
|
lsls r3, 15
|
|
adds r1, r3
|
|
asrs r1, 16
|
|
ldr r0, _080A1AA0 @ =gSpriteTemplate_83C1280
|
|
movs r2, 0x28
|
|
mov r3, r9
|
|
bl CreateSprite
|
|
adds r1, r4, r5
|
|
mov r3, r8
|
|
adds r2, r1, r3
|
|
strb r0, [r2]
|
|
adds r7, r1, 0
|
|
cmp r5, 0
|
|
bne _080A1AA4
|
|
adds r0, r4, r3
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r6
|
|
movs r1, 0x4
|
|
bl StartSpriteAnim
|
|
b _080A1AD0
|
|
.align 2, 0
|
|
_080A1A98: .4byte 0x02018000
|
|
_080A1A9C: .4byte gSprites
|
|
_080A1AA0: .4byte gSpriteTemplate_83C1280
|
|
_080A1AA4:
|
|
cmp r5, 0x9
|
|
bne _080A1AC0
|
|
adds r0, r4, 0
|
|
adds r0, 0x9
|
|
add r0, r8
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r6
|
|
movs r1, 0x5
|
|
bl StartSpriteAnim
|
|
b _080A1AD0
|
|
_080A1AC0:
|
|
ldrb r1, [r2]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r6
|
|
movs r1, 0x6
|
|
bl StartSpriteAnim
|
|
_080A1AD0:
|
|
mov r0, r8
|
|
adds r2, r7, r0
|
|
ldrb r1, [r2]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r1, r6, 0
|
|
adds r1, 0x1C
|
|
adds r0, r1
|
|
ldr r1, _080A1B18 @ =sub_80A1BC0
|
|
str r1, [r0]
|
|
ldrb r1, [r2]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r6
|
|
strh r4, [r0, 0x2E]
|
|
ldrb r1, [r2]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r6
|
|
mov r1, r10
|
|
strh r1, [r0, 0x30]
|
|
adds r0, r5, 0x1
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
cmp r5, 0x9
|
|
bls _080A1A60
|
|
_080A1B0A:
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080A1B18: .4byte sub_80A1BC0
|
|
thumb_func_end sub_80A1A30
|
|
|
|
thumb_func_start sub_80A1B1C
|
|
sub_80A1B1C: @ 80A1B1C
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
movs r4, 0
|
|
_080A1B24:
|
|
adds r0, r5, r4
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_80A18E4
|
|
adds r0, r4, 0x1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0x9
|
|
bls _080A1B24
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80A1B1C
|
|
|
|
thumb_func_start sub_80A1B40
|
|
sub_80A1B40: @ 80A1B40
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
lsls r0, 24
|
|
lsrs r7, r0, 24
|
|
lsls r1, r7, 1
|
|
adds r1, r7
|
|
lsls r1, 24
|
|
ldr r0, _080A1BB4 @ =0x0201a009
|
|
ldrb r2, [r0]
|
|
lsls r0, r2, 4
|
|
adds r0, r2
|
|
lsls r0, 2
|
|
ldr r2, _080A1BB8 @ =gSprites
|
|
adds r0, r2
|
|
lsrs r7, r1, 24
|
|
movs r2, 0x80
|
|
lsls r2, 19
|
|
adds r1, r2
|
|
lsrs r1, 24
|
|
bl StartSpriteAnim
|
|
movs r4, 0
|
|
adds r0, r7, 0x6
|
|
lsls r0, 24
|
|
mov r8, r0
|
|
_080A1B74:
|
|
ldr r6, _080A1BBC @ =0x0201a00a
|
|
adds r0, r4, r6
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r5, _080A1BB8 @ =gSprites
|
|
adds r0, r5
|
|
mov r2, r8
|
|
lsrs r1, r2, 24
|
|
bl StartSpriteAnim
|
|
adds r0, r4, 0x1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0x7
|
|
bls _080A1B74
|
|
ldrb r1, [r6, 0x8]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r5
|
|
adds r1, r7, 0x5
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
bl StartSpriteAnim
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080A1BB4: .4byte 0x0201a009
|
|
_080A1BB8: .4byte gSprites
|
|
_080A1BBC: .4byte 0x0201a00a
|
|
thumb_func_end sub_80A1B40
|
|
|
|
thumb_func_start sub_80A1BC0
|
|
sub_80A1BC0: @ 80A1BC0
|
|
push {lr}
|
|
adds r2, r0, 0
|
|
adds r0, 0x2A
|
|
ldrb r0, [r0]
|
|
subs r0, 0x4
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x2
|
|
bhi _080A1BF8
|
|
ldrh r0, [r2, 0x30]
|
|
adds r0, 0x1
|
|
movs r1, 0x1F
|
|
ands r0, r1
|
|
strh r0, [r2, 0x30]
|
|
cmp r0, 0x18
|
|
ble _080A1BEC
|
|
adds r3, r2, 0
|
|
adds r3, 0x3E
|
|
ldrb r0, [r3]
|
|
movs r1, 0x4
|
|
orrs r0, r1
|
|
b _080A1C06
|
|
_080A1BEC:
|
|
adds r3, r2, 0
|
|
adds r3, 0x3E
|
|
ldrb r1, [r3]
|
|
movs r0, 0x5
|
|
negs r0, r0
|
|
b _080A1C04
|
|
_080A1BF8:
|
|
movs r0, 0
|
|
strh r0, [r2, 0x30]
|
|
adds r3, r2, 0
|
|
adds r3, 0x3E
|
|
ldrb r1, [r3]
|
|
subs r0, 0x5
|
|
_080A1C04:
|
|
ands r0, r1
|
|
_080A1C06:
|
|
strb r0, [r3]
|
|
movs r1, 0x2E
|
|
ldrsh r0, [r2, r1]
|
|
cmp r0, 0x9
|
|
bne _080A1C1C
|
|
ldr r0, _080A1C18 @ =0x02018000
|
|
adds r0, 0x79
|
|
b _080A1C20
|
|
.align 2, 0
|
|
_080A1C18: .4byte 0x02018000
|
|
_080A1C1C:
|
|
ldr r0, _080A1C2C @ =0x02018000
|
|
adds r0, 0x7A
|
|
_080A1C20:
|
|
ldrb r0, [r0]
|
|
lsls r0, 4
|
|
strh r0, [r2, 0x26]
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080A1C2C: .4byte 0x02018000
|
|
thumb_func_end sub_80A1BC0
|
|
|
|
thumb_func_start sub_80A1C30
|
|
sub_80A1C30: @ 80A1C30
|
|
push {r4-r7,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 25
|
|
lsrs r3, r0, 24
|
|
adds r4, r3, 0
|
|
adds r0, r3, 0
|
|
adds r0, 0xA
|
|
cmp r3, r0
|
|
bge _080A1C82
|
|
ldr r5, _080A1C88 @ =gSprites
|
|
movs r7, 0x5
|
|
negs r7, r7
|
|
ldr r6, _080A1C8C @ =0x0201a009
|
|
_080A1C50:
|
|
adds r2, r3, r6
|
|
ldrb r1, [r2]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r5
|
|
movs r1, 0
|
|
strh r1, [r0, 0x30]
|
|
ldrb r0, [r2]
|
|
lsls r1, r0, 4
|
|
adds r1, r0
|
|
lsls r1, 2
|
|
adds r1, r5
|
|
adds r1, 0x3E
|
|
ldrb r2, [r1]
|
|
adds r0, r7, 0
|
|
ands r0, r2
|
|
strb r0, [r1]
|
|
adds r0, r3, 0x1
|
|
lsls r0, 24
|
|
lsrs r3, r0, 24
|
|
adds r0, r4, 0
|
|
adds r0, 0xA
|
|
cmp r3, r0
|
|
blt _080A1C50
|
|
_080A1C82:
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080A1C88: .4byte gSprites
|
|
_080A1C8C: .4byte 0x0201a009
|
|
thumb_func_end sub_80A1C30
|
|
|
|
thumb_func_start pokemon_ailments_get_primary
|
|
pokemon_ailments_get_primary: @ 80A1C90
|
|
push {lr}
|
|
adds r1, r0, 0
|
|
movs r0, 0x88
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080A1CA0
|
|
movs r0, 0x1
|
|
b _080A1CD2
|
|
_080A1CA0:
|
|
movs r0, 0x40
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080A1CAC
|
|
movs r0, 0x2
|
|
b _080A1CD2
|
|
_080A1CAC:
|
|
movs r0, 0x7
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080A1CB8
|
|
movs r0, 0x3
|
|
b _080A1CD2
|
|
_080A1CB8:
|
|
movs r0, 0x20
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080A1CC4
|
|
movs r0, 0x4
|
|
b _080A1CD2
|
|
_080A1CC4:
|
|
movs r0, 0x10
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _080A1CD0
|
|
movs r0, 0
|
|
b _080A1CD2
|
|
_080A1CD0:
|
|
movs r0, 0x5
|
|
_080A1CD2:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end pokemon_ailments_get_primary
|
|
|
|
thumb_func_start GetMonStatusAndPokerus
|
|
GetMonStatusAndPokerus: @ 80A1CD8
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
movs r1, 0x39
|
|
bl GetMonData
|
|
cmp r0, 0
|
|
bne _080A1CEA
|
|
movs r0, 0x7
|
|
b _080A1D12
|
|
_080A1CEA:
|
|
adds r0, r4, 0
|
|
movs r1, 0x37
|
|
bl GetMonData
|
|
bl pokemon_ailments_get_primary
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0
|
|
bne _080A1D12
|
|
adds r0, r4, 0
|
|
movs r1, 0
|
|
bl CheckPartyPokerus
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080A1D10
|
|
movs r0, 0
|
|
b _080A1D12
|
|
_080A1D10:
|
|
movs r0, 0x6
|
|
_080A1D12:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end GetMonStatusAndPokerus
|
|
|
|
thumb_func_start sub_80A1D18
|
|
sub_80A1D18: @ 80A1D18
|
|
push {r4,r5,lr}
|
|
sub sp, 0x64
|
|
mov r0, sp
|
|
bl sub_809F678
|
|
mov r0, sp
|
|
bl GetMonStatusAndPokerus
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0
|
|
beq _080A1D58
|
|
subs r0, 0x1
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
ldr r4, _080A1D50 @ =0x0201a01d
|
|
ldrb r0, [r4]
|
|
cmp r0, 0xFF
|
|
bne _080A1D60
|
|
ldr r0, _080A1D54 @ =gSpriteTemplate_83C1304
|
|
movs r1, 0x40
|
|
movs r2, 0x98
|
|
movs r3, 0
|
|
bl CreateSprite
|
|
strb r0, [r4]
|
|
b _080A1D60
|
|
.align 2, 0
|
|
_080A1D50: .4byte 0x0201a01d
|
|
_080A1D54: .4byte gSpriteTemplate_83C1304
|
|
_080A1D58:
|
|
movs r0, 0x1D
|
|
bl sub_80A18E4
|
|
b _080A1D74
|
|
_080A1D60:
|
|
ldr r0, _080A1D7C @ =0x0201a01d
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r1, _080A1D80 @ =gSprites
|
|
adds r0, r1
|
|
adds r1, r5, 0
|
|
bl StartSpriteAnim
|
|
_080A1D74:
|
|
add sp, 0x64
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080A1D7C: .4byte 0x0201a01d
|
|
_080A1D80: .4byte gSprites
|
|
thumb_func_end sub_80A1D18
|
|
|
|
thumb_func_start sub_80A1D84
|
|
sub_80A1D84: @ 80A1D84
|
|
push {r4-r6,lr}
|
|
adds r5, r0, 0
|
|
ldr r1, _080A1DC0 @ =0x00007533
|
|
ldr r2, _080A1DC4 @ =gSummaryScreenMonMarkingsPalette
|
|
adds r0, r1, 0
|
|
bl sub_80F7920
|
|
adds r4, r0, 0
|
|
ldr r6, _080A1DC8 @ =gUnknown_020384F4
|
|
str r4, [r6]
|
|
cmp r4, 0
|
|
beq _080A1DBA
|
|
adds r0, r5, 0
|
|
movs r1, 0x8
|
|
bl GetMonData
|
|
adds r1, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
adds r0, r4, 0
|
|
bl StartSpriteAnim
|
|
ldr r1, [r6]
|
|
movs r0, 0x3C
|
|
strh r0, [r1, 0x20]
|
|
movs r0, 0x1A
|
|
strh r0, [r1, 0x22]
|
|
_080A1DBA:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080A1DC0: .4byte 0x00007533
|
|
_080A1DC4: .4byte gSummaryScreenMonMarkingsPalette
|
|
_080A1DC8: .4byte gUnknown_020384F4
|
|
thumb_func_end sub_80A1D84
|
|
|
|
thumb_func_start sub_80A1DCC
|
|
sub_80A1DCC: @ 80A1DCC
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
ldr r0, _080A1DE4 @ =gUnknown_020384F4
|
|
ldr r0, [r0]
|
|
bl DestroySprite
|
|
adds r0, r4, 0
|
|
bl sub_80A1D84
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080A1DE4: .4byte gUnknown_020384F4
|
|
thumb_func_end sub_80A1DCC
|
|
|
|
thumb_func_start sub_80A1DE8
|
|
sub_80A1DE8: @ 80A1DE8
|
|
push {r4,lr}
|
|
movs r1, 0x26
|
|
bl GetMonData
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
bl ball_number_to_ball_processing_index
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
adds r0, r4, 0
|
|
bl sub_80478DC
|
|
lsls r0, r4, 1
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
ldr r1, _080A1E48 @ =gBallSpriteTemplates
|
|
adds r0, r1
|
|
movs r1, 0x6
|
|
movs r2, 0x88
|
|
movs r3, 0
|
|
bl CreateSprite
|
|
ldr r2, _080A1E4C @ =0x02018000
|
|
strb r0, [r2, 0xD]
|
|
ldr r3, _080A1E50 @ =gSprites
|
|
ldrb r1, [r2, 0xD]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r1, r3, 0
|
|
adds r1, 0x1C
|
|
adds r0, r1
|
|
ldr r1, _080A1E54 @ =SpriteCallbackDummy
|
|
str r1, [r0]
|
|
ldrb r1, [r2, 0xD]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r3
|
|
ldrb r1, [r0, 0x5]
|
|
movs r2, 0xC
|
|
orrs r1, r2
|
|
strb r1, [r0, 0x5]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080A1E48: .4byte gBallSpriteTemplates
|
|
_080A1E4C: .4byte 0x02018000
|
|
_080A1E50: .4byte gSprites
|
|
_080A1E54: .4byte SpriteCallbackDummy
|
|
thumb_func_end sub_80A1DE8
|
|
|
|
thumb_func_start sub_80A1E58
|
|
sub_80A1E58: @ 80A1E58
|
|
push {r4,lr}
|
|
adds r2, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
cmp r1, 0xFF
|
|
beq _080A1E92
|
|
ldr r3, _080A1E6C @ =gUnknown_083C15BC
|
|
ldrb r0, [r3]
|
|
adds r4, r2, 0x5
|
|
b _080A1E74
|
|
.align 2, 0
|
|
_080A1E6C: .4byte gUnknown_083C15BC
|
|
_080A1E70:
|
|
adds r3, 0x4
|
|
ldrb r0, [r3]
|
|
_080A1E74:
|
|
cmp r0, 0xFF
|
|
beq _080A1E7C
|
|
cmp r0, r1
|
|
bne _080A1E70
|
|
_080A1E7C:
|
|
movs r0, 0xFC
|
|
strb r0, [r2]
|
|
movs r0, 0x4
|
|
strb r0, [r2, 0x1]
|
|
ldrb r0, [r3, 0x1]
|
|
strb r0, [r2, 0x2]
|
|
ldrb r0, [r3, 0x2]
|
|
strb r0, [r2, 0x3]
|
|
ldrb r0, [r3, 0x3]
|
|
strb r0, [r2, 0x4]
|
|
adds r2, r4, 0
|
|
_080A1E92:
|
|
adds r0, r2, 0
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80A1E58
|
|
|
|
thumb_func_start sub_80A1E9C
|
|
sub_80A1E9C: @ 80A1E9C
|
|
push {r4-r6,lr}
|
|
sub sp, 0x4
|
|
adds r6, r0, 0
|
|
adds r5, r1, 0
|
|
lsls r4, r2, 24
|
|
lsrs r4, 24
|
|
mov r1, sp
|
|
adds r1, 0x1
|
|
mov r2, sp
|
|
adds r2, 0x2
|
|
mov r0, sp
|
|
bl sub_8072CD4
|
|
adds r0, r6, 0
|
|
adds r1, r4, 0
|
|
bl sub_80A1E58
|
|
adds r6, r0, 0
|
|
adds r1, r5, 0
|
|
bl StringCopy
|
|
adds r6, r0, 0
|
|
cmp r4, 0xFF
|
|
beq _080A1EEC
|
|
movs r0, 0xFC
|
|
strb r0, [r6]
|
|
movs r0, 0x4
|
|
strb r0, [r6, 0x1]
|
|
mov r0, sp
|
|
ldrb r0, [r0]
|
|
strb r0, [r6, 0x2]
|
|
mov r0, sp
|
|
ldrb r0, [r0, 0x1]
|
|
strb r0, [r6, 0x3]
|
|
mov r0, sp
|
|
ldrb r0, [r0, 0x2]
|
|
strb r0, [r6, 0x4]
|
|
movs r0, 0xFF
|
|
strb r0, [r6, 0x5]
|
|
adds r6, 0x5
|
|
_080A1EEC:
|
|
adds r0, r6, 0
|
|
add sp, 0x4
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80A1E9C
|
|
|
|
thumb_func_start sub_80A1EF8
|
|
sub_80A1EF8: @ 80A1EF8
|
|
push {r4-r6,lr}
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5,r6}
|
|
sub sp, 0x4
|
|
mov r9, r0
|
|
adds r4, r1, 0
|
|
adds r5, r2, 0
|
|
adds r6, r3, 0
|
|
ldr r3, [sp, 0x1C]
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
lsls r5, 24
|
|
lsrs r5, 24
|
|
lsls r6, 16
|
|
lsrs r6, 16
|
|
ldr r0, _080A1F44 @ =gStringVar4
|
|
mov r8, r0
|
|
mov r1, r9
|
|
adds r2, r4, 0
|
|
str r3, [sp]
|
|
bl sub_80A1E9C
|
|
ldr r3, [sp]
|
|
lsls r3, 24
|
|
lsrs r3, 24
|
|
mov r0, r8
|
|
adds r1, r5, 0
|
|
adds r2, r6, 0
|
|
bl MenuPrint_PixelCoords
|
|
add sp, 0x4
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080A1F44: .4byte gStringVar4
|
|
thumb_func_end sub_80A1EF8
|
|
|
|
thumb_func_start sub_80A1F48
|
|
sub_80A1F48: @ 80A1F48
|
|
push {r4-r6,lr}
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5,r6}
|
|
sub sp, 0x4
|
|
mov r9, r0
|
|
adds r4, r1, 0
|
|
adds r5, r2, 0
|
|
adds r6, r3, 0
|
|
ldr r3, [sp, 0x1C]
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
lsls r5, 24
|
|
lsrs r5, 24
|
|
lsls r6, 24
|
|
lsrs r6, 24
|
|
lsls r3, 16
|
|
lsrs r3, 16
|
|
ldr r0, _080A1F94 @ =gStringVar4
|
|
mov r8, r0
|
|
mov r1, r9
|
|
adds r2, r4, 0
|
|
str r3, [sp]
|
|
bl sub_80A1E9C
|
|
mov r0, r8
|
|
adds r1, r5, 0
|
|
adds r2, r6, 0
|
|
ldr r3, [sp]
|
|
bl sub_8072BD8
|
|
add sp, 0x4
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080A1F94: .4byte gStringVar4
|
|
thumb_func_end sub_80A1F48
|
|
|
|
thumb_func_start sub_80A1F98
|
|
sub_80A1F98: @ 80A1F98
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x4
|
|
mov r10, r0
|
|
mov r8, r1
|
|
adds r4, r2, 0
|
|
adds r2, r3, 0
|
|
ldr r5, [sp, 0x24]
|
|
ldr r6, [sp, 0x28]
|
|
ldr r7, [sp, 0x2C]
|
|
mov r0, r8
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r8, r0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
lsls r5, 24
|
|
lsrs r5, 24
|
|
lsls r6, 16
|
|
lsrs r6, 16
|
|
ldr r0, _080A1FF4 @ =gStringVar1
|
|
mov r9, r0
|
|
mov r1, r10
|
|
adds r3, r4, 0
|
|
bl ConvertIntToDecimalStringN
|
|
str r7, [sp]
|
|
mov r0, r9
|
|
mov r1, r8
|
|
adds r2, r5, 0
|
|
adds r3, r6, 0
|
|
bl sub_80A1EF8
|
|
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
|
|
_080A1FF4: .4byte gStringVar1
|
|
thumb_func_end sub_80A1F98
|
|
|
|
thumb_func_start sub_80A1FF8
|
|
sub_80A1FF8: @ 80A1FF8
|
|
push {r4-r6,lr}
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5,r6}
|
|
mov r9, r0
|
|
adds r4, r1, 0
|
|
adds r5, r2, 0
|
|
adds r6, r3, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
lsls r5, 24
|
|
lsrs r5, 24
|
|
lsls r6, 24
|
|
lsrs r6, 24
|
|
ldr r0, _080A2038 @ =gStringVar4
|
|
mov r8, r0
|
|
mov r1, r9
|
|
adds r2, r4, 0
|
|
bl sub_80A1E9C
|
|
mov r0, r8
|
|
adds r1, r5, 0
|
|
adds r2, r6, 0
|
|
bl MenuPrint
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080A2038: .4byte gStringVar4
|
|
thumb_func_end sub_80A1FF8
|
|
|
|
thumb_func_start PokemonSummaryScreen_CopyPokemonLevel
|
|
PokemonSummaryScreen_CopyPokemonLevel: @ 80A203C
|
|
push {r4,lr}
|
|
sub sp, 0xC
|
|
adds r4, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
movs r0, 0x34
|
|
strb r0, [r4]
|
|
adds r4, 0x1
|
|
cmp r1, 0
|
|
bne _080A2052
|
|
movs r1, 0x5
|
|
_080A2052:
|
|
mov r0, sp
|
|
bl ConvertIntToDecimalString
|
|
adds r0, r4, 0
|
|
mov r1, sp
|
|
movs r2, 0xE
|
|
bl sub_80A1E9C
|
|
adds r4, r0, 0
|
|
ldr r1, _080A2074 @ =gOtherText_Comma
|
|
bl StringCopy
|
|
adds r4, r0, 0
|
|
add sp, 0xC
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080A2074: .4byte gOtherText_Comma
|
|
thumb_func_end PokemonSummaryScreen_CopyPokemonLevel
|
|
|
|
thumb_func_start sub_80A2078
|
|
sub_80A2078: @ 80A2078
|
|
push {lr}
|
|
ldr r3, _080A209C @ =gUnknown_03005CF0
|
|
ldr r2, _080A20A0 @ =gTasks
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r1, r2
|
|
ldr r2, [r1]
|
|
str r2, [r3]
|
|
ldr r2, _080A20A4 @ =sub_80A20A8
|
|
str r2, [r1]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl _call_via_r2
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080A209C: .4byte gUnknown_03005CF0
|
|
_080A20A0: .4byte gTasks
|
|
_080A20A4: .4byte sub_80A20A8
|
|
thumb_func_end sub_80A2078
|
|
|
|
thumb_func_start sub_80A20A8
|
|
sub_80A20A8: @ 80A20A8
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
bl sub_8055870
|
|
cmp r0, 0x1
|
|
beq _080A20C6
|
|
ldr r1, _080A20CC @ =gTasks
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _080A20D0 @ =gUnknown_03005CF0
|
|
ldr r1, [r1]
|
|
str r1, [r0]
|
|
_080A20C6:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080A20CC: .4byte gTasks
|
|
_080A20D0: .4byte gUnknown_03005CF0
|
|
thumb_func_end sub_80A20A8
|
|
|
|
.align 2, 0 @ Don't pad with nop.
|