mirror of
https://github.com/pret/pokeruby.git
synced 2026-08-10 03:17:53 -05:00
5295 lines
87 KiB
ArmAsm
5295 lines
87 KiB
ArmAsm
.include "constants/gba_constants.inc"
|
|
.include "constants/species_constants.inc"
|
|
.include "asm/macros.inc"
|
|
|
|
.syntax unified
|
|
|
|
.text
|
|
|
|
thumb_func_start sub_8090750
|
|
sub_8090750: @ 8090750
|
|
push {r4-r7,lr}
|
|
sub sp, 0x8
|
|
lsls r0, 24
|
|
lsrs r7, r0, 24
|
|
ldr r1, _08090778 @ =gTasks
|
|
lsls r0, r7, 2
|
|
adds r0, r7
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldrh r6, [r0, 0xA]
|
|
movs r2, 0x8
|
|
ldrsh r0, [r0, r2]
|
|
adds r4, r1, 0
|
|
cmp r0, 0x6
|
|
bhi _0809079C
|
|
lsls r0, 2
|
|
ldr r1, _0809077C @ =_08090780
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08090778: .4byte gTasks
|
|
_0809077C: .4byte _08090780
|
|
.align 2, 0
|
|
_08090780:
|
|
.4byte _0809079C
|
|
.4byte _080907E0
|
|
.4byte _0809085C
|
|
.4byte _080908A0
|
|
.4byte _08090960
|
|
.4byte _080909B8
|
|
.4byte _080909F4
|
|
_0809079C:
|
|
ldr r0, _080907D0 @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080907AA
|
|
b _08090A26
|
|
_080907AA:
|
|
ldr r1, _080907D4 @ =gUnknown_03005CEC
|
|
ldr r0, _080907D8 @ =gMain
|
|
ldr r0, [r0, 0xC]
|
|
str r0, [r1]
|
|
movs r0, 0
|
|
bl SetVBlankCallback
|
|
movs r0, 0x80
|
|
lsls r0, 1
|
|
bl sub_8091060
|
|
ldr r1, _080907DC @ =gTasks
|
|
lsls r0, r7, 2
|
|
adds r0, r7
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
movs r1, 0x1
|
|
strh r1, [r0, 0x8]
|
|
b _08090A26
|
|
.align 2, 0
|
|
_080907D0: .4byte gPaletteFade
|
|
_080907D4: .4byte gUnknown_03005CEC
|
|
_080907D8: .4byte gMain
|
|
_080907DC: .4byte gTasks
|
|
_080907E0:
|
|
ldr r0, _08090840 @ =gPokedexMenu_Gfx
|
|
ldr r1, _08090844 @ =0x06004000
|
|
bl LZ77UnCompVram
|
|
ldr r0, _08090848 @ =gUnknown_08E96BD4
|
|
ldr r4, _0809084C @ =0x06007800
|
|
adds r1, r4, 0
|
|
bl LZ77UnCompVram
|
|
movs r2, 0
|
|
lsls r5, r7, 2
|
|
mov r12, r5
|
|
movs r0, 0x80
|
|
lsls r0, 6
|
|
adds r6, r0, 0
|
|
ldr r3, _08090850 @ =0x0000027f
|
|
_08090800:
|
|
lsls r0, r2, 1
|
|
adds r0, r4
|
|
ldrh r5, [r0]
|
|
adds r1, r6, r5
|
|
strh r1, [r0]
|
|
adds r0, r2, 0x1
|
|
lsls r0, 16
|
|
lsrs r2, r0, 16
|
|
cmp r2, r3
|
|
bls _08090800
|
|
ldr r0, _08090854 @ =gTasks
|
|
mov r1, r12
|
|
adds r4, r1, r7
|
|
lsls r4, 3
|
|
adds r4, r0
|
|
ldrh r0, [r4, 0xA]
|
|
movs r2, 0xFF
|
|
lsls r2, 2
|
|
movs r1, 0x2
|
|
bl sub_8091738
|
|
bl ResetPaletteFade
|
|
ldr r0, _08090858 @ =gPokedexMenu_Pal + 0x2
|
|
movs r1, 0x21
|
|
movs r2, 0x9E
|
|
bl LoadPalette
|
|
ldrh r0, [r4, 0x8]
|
|
adds r0, 0x1
|
|
strh r0, [r4, 0x8]
|
|
b _08090A26
|
|
.align 2, 0
|
|
_08090840: .4byte gPokedexMenu_Gfx
|
|
_08090844: .4byte 0x06004000
|
|
_08090848: .4byte gUnknown_08E96BD4
|
|
_0809084C: .4byte 0x06007800
|
|
_08090850: .4byte 0x0000027f
|
|
_08090854: .4byte gTasks
|
|
_08090858: .4byte gPokedexMenu_Pal + 0x2
|
|
_0809085C:
|
|
ldr r4, _0809088C @ =gWindowConfig_81E7064
|
|
adds r0, r4, 0
|
|
bl SetUpWindowConfig
|
|
adds r0, r4, 0
|
|
bl InitMenuWindow
|
|
ldr r2, _08090890 @ =0x0600c000
|
|
add r1, sp, 0x4
|
|
movs r0, 0
|
|
strh r0, [r1]
|
|
ldr r0, _08090894 @ =0x040000d4
|
|
str r1, [r0]
|
|
str r2, [r0, 0x4]
|
|
ldr r1, _08090898 @ =0x81000100
|
|
str r1, [r0, 0x8]
|
|
ldr r0, [r0, 0x8]
|
|
ldr r1, _0809089C @ =gTasks
|
|
lsls r0, r7, 2
|
|
adds r0, r7
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
b _080909E0
|
|
.align 2, 0
|
|
_0809088C: .4byte gWindowConfig_81E7064
|
|
_08090890: .4byte 0x0600c000
|
|
_08090894: .4byte 0x040000d4
|
|
_08090898: .4byte 0x81000100
|
|
_0809089C: .4byte gTasks
|
|
_080908A0:
|
|
ldr r0, _080908C8 @ =gDexText_RegisterComplete
|
|
movs r1, 0x2
|
|
movs r2, 0
|
|
movs r3, 0xD0
|
|
bl sub_8072BD8
|
|
bl IsNationalPokedexEnabled
|
|
cmp r0, 0
|
|
bne _080908CC
|
|
adds r0, r6, 0
|
|
bl NationalToHoennOrder
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
movs r1, 0xD
|
|
movs r2, 0x3
|
|
bl sub_8091154
|
|
b _080908D6
|
|
.align 2, 0
|
|
_080908C8: .4byte gDexText_RegisterComplete
|
|
_080908CC:
|
|
adds r0, r6, 0
|
|
movs r1, 0xD
|
|
movs r2, 0x3
|
|
bl sub_8091154
|
|
_080908D6:
|
|
adds r0, r6, 0
|
|
movs r1, 0x10
|
|
movs r2, 0x3
|
|
bl sub_80911C8
|
|
ldr r0, _0809094C @ =gDexText_UnknownPoke
|
|
movs r1, 0xB
|
|
movs r2, 0x5
|
|
bl MenuPrint
|
|
ldr r0, _08090950 @ =gDexText_UnknownHeight
|
|
movs r1, 0x10
|
|
movs r2, 0x7
|
|
bl MenuPrint
|
|
ldr r0, _08090954 @ =gDexText_UnknownWeight
|
|
movs r1, 0x10
|
|
movs r2, 0x9
|
|
bl MenuPrint
|
|
lsls r4, r6, 3
|
|
adds r4, r6
|
|
lsls r4, 2
|
|
ldr r6, _08090958 @ =gPokedexEntries
|
|
adds r5, r4, r6
|
|
adds r0, r5, 0
|
|
movs r1, 0xB
|
|
movs r2, 0x5
|
|
bl sub_8091304
|
|
ldrh r0, [r5, 0xC]
|
|
movs r1, 0x10
|
|
movs r2, 0x7
|
|
bl sub_8091458
|
|
ldrh r0, [r5, 0xE]
|
|
movs r1, 0x10
|
|
movs r2, 0x9
|
|
bl sub_8091564
|
|
adds r6, 0x10
|
|
adds r4, r6
|
|
ldr r0, [r4]
|
|
movs r1, 0x2
|
|
movs r2, 0xD
|
|
bl MenuPrint
|
|
movs r1, 0xFF
|
|
lsls r1, 2
|
|
movs r0, 0xE
|
|
bl sub_80917CC
|
|
ldr r1, _0809095C @ =gTasks
|
|
lsls r0, r7, 2
|
|
adds r0, r7
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
b _080909E0
|
|
.align 2, 0
|
|
_0809094C: .4byte gDexText_UnknownPoke
|
|
_08090950: .4byte gDexText_UnknownHeight
|
|
_08090954: .4byte gDexText_UnknownWeight
|
|
_08090958: .4byte gPokedexEntries
|
|
_0809095C: .4byte gTasks
|
|
_08090960:
|
|
adds r0, r6, 0
|
|
movs r1, 0x30
|
|
movs r2, 0x38
|
|
movs r3, 0
|
|
bl sub_80918EC
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
ldr r0, _080909AC @ =gSprites
|
|
lsls r1, r4, 4
|
|
adds r1, r4
|
|
lsls r1, 2
|
|
adds r1, r0
|
|
ldrb r2, [r1, 0x5]
|
|
movs r0, 0xD
|
|
negs r0, r0
|
|
ands r0, r2
|
|
strb r0, [r1, 0x5]
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
movs r1, 0
|
|
str r1, [sp]
|
|
movs r2, 0x10
|
|
movs r3, 0
|
|
bl BeginNormalPaletteFade
|
|
ldr r0, _080909B0 @ =gUnknown_03005CEC
|
|
ldr r0, [r0]
|
|
bl SetVBlankCallback
|
|
ldr r1, _080909B4 @ =gTasks
|
|
lsls r0, r7, 2
|
|
adds r0, r7
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
strh r4, [r0, 0xE]
|
|
b _080909E0
|
|
.align 2, 0
|
|
_080909AC: .4byte gSprites
|
|
_080909B0: .4byte gUnknown_03005CEC
|
|
_080909B4: .4byte gTasks
|
|
_080909B8:
|
|
ldr r0, _080909E8 @ =REG_BLDCNT
|
|
movs r1, 0
|
|
strh r1, [r0]
|
|
adds r0, 0x2
|
|
strh r1, [r0]
|
|
adds r0, 0x2
|
|
strh r1, [r0]
|
|
ldr r1, _080909EC @ =REG_BG3CNT
|
|
ldr r2, _080909F0 @ =0x00000f07
|
|
adds r0, r2, 0
|
|
strh r0, [r1]
|
|
subs r1, 0xE
|
|
movs r5, 0xE2
|
|
lsls r5, 5
|
|
adds r0, r5, 0
|
|
strh r0, [r1]
|
|
lsls r0, r7, 2
|
|
adds r0, r7
|
|
lsls r0, 3
|
|
adds r0, r4
|
|
_080909E0:
|
|
ldrh r1, [r0, 0x8]
|
|
adds r1, 0x1
|
|
strh r1, [r0, 0x8]
|
|
b _08090A26
|
|
.align 2, 0
|
|
_080909E8: .4byte REG_BLDCNT
|
|
_080909EC: .4byte REG_BG3CNT
|
|
_080909F0: .4byte 0x00000f07
|
|
_080909F4:
|
|
ldr r0, _08090A30 @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
cmp r5, 0
|
|
bne _08090A26
|
|
adds r0, r6, 0
|
|
bl NationalPokedexNumToSpecies
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
movs r1, 0
|
|
bl PlayCry1
|
|
ldr r1, _08090A34 @ =gTasks
|
|
lsls r0, r7, 2
|
|
adds r0, r7
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
strh r5, [r0, 0xC]
|
|
strh r5, [r0, 0x10]
|
|
ldr r1, _08090A38 @ =sub_8090A3C
|
|
str r1, [r0]
|
|
_08090A26:
|
|
add sp, 0x8
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08090A30: .4byte gPaletteFade
|
|
_08090A34: .4byte gTasks
|
|
_08090A38: .4byte sub_8090A3C
|
|
thumb_func_end sub_8090750
|
|
|
|
thumb_func_start sub_8090A3C
|
|
sub_8090A3C: @ 8090A3C
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0x4
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
ldr r0, _08090A8C @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
lsls r0, 16
|
|
lsrs r2, r0, 16
|
|
cmp r2, 0
|
|
beq _08090AA4
|
|
ldr r0, _08090A90 @ =0x0000fffc
|
|
movs r1, 0
|
|
str r1, [sp]
|
|
movs r2, 0
|
|
movs r3, 0x10
|
|
bl BeginNormalPaletteFade
|
|
ldr r3, _08090A94 @ =gSprites
|
|
ldr r0, _08090A98 @ =gTasks
|
|
lsls r1, r6, 2
|
|
adds r1, r6
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
movs r0, 0xE
|
|
ldrsh r2, [r1, r0]
|
|
lsls r0, r2, 4
|
|
adds r0, r2
|
|
lsls r0, 2
|
|
adds r3, 0x1C
|
|
adds r0, r3
|
|
ldr r2, _08090A9C @ =sub_8090C28
|
|
str r2, [r0]
|
|
ldr r0, _08090AA0 @ =sub_8090B8C
|
|
str r0, [r1]
|
|
b _08090B7A
|
|
.align 2, 0
|
|
_08090A8C: .4byte gMain
|
|
_08090A90: .4byte 0x0000fffc
|
|
_08090A94: .4byte gSprites
|
|
_08090A98: .4byte gTasks
|
|
_08090A9C: .4byte sub_8090C28
|
|
_08090AA0: .4byte sub_8090B8C
|
|
_08090AA4:
|
|
movs r0, 0x1
|
|
mov r8, r0
|
|
ands r0, r1
|
|
lsls r7, r6, 2
|
|
cmp r0, 0
|
|
beq _08090B44
|
|
ldr r0, _08090B00 @ =gTasks
|
|
adds r1, r7, r6
|
|
lsls r1, 3
|
|
adds r5, r1, r0
|
|
movs r1, 0x10
|
|
ldrsh r0, [r5, r1]
|
|
cmp r0, 0
|
|
bne _08090B0C
|
|
ldrh r4, [r5, 0xA]
|
|
movs r0, 0x2
|
|
movs r1, 0xD
|
|
movs r2, 0x1B
|
|
movs r3, 0x13
|
|
bl MenuZeroFillWindowRect
|
|
ldr r1, _08090B04 @ =gPokedexEntries
|
|
lsls r0, r4, 3
|
|
adds r0, r4
|
|
lsls r0, 2
|
|
adds r1, 0x14
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
movs r1, 0x2
|
|
movs r2, 0xD
|
|
bl MenuPrint
|
|
ldr r1, _08090B08 @ =0x06007aca
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
adds r1, 0x40
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
mov r0, r8
|
|
strh r0, [r5, 0x10]
|
|
movs r0, 0x15
|
|
bl PlaySE
|
|
b _08090B44
|
|
.align 2, 0
|
|
_08090B00: .4byte gTasks
|
|
_08090B04: .4byte gPokedexEntries
|
|
_08090B08: .4byte 0x06007aca
|
|
_08090B0C:
|
|
ldr r0, _08090B34 @ =0x0000fffc
|
|
str r2, [sp]
|
|
movs r1, 0
|
|
movs r2, 0
|
|
movs r3, 0x10
|
|
bl BeginNormalPaletteFade
|
|
ldr r2, _08090B38 @ =gSprites
|
|
movs r0, 0xE
|
|
ldrsh r1, [r5, r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r2, 0x1C
|
|
adds r0, r2
|
|
ldr r1, _08090B3C @ =sub_8090C28
|
|
str r1, [r0]
|
|
ldr r0, _08090B40 @ =sub_8090B8C
|
|
str r0, [r5]
|
|
b _08090B7A
|
|
.align 2, 0
|
|
_08090B34: .4byte 0x0000fffc
|
|
_08090B38: .4byte gSprites
|
|
_08090B3C: .4byte sub_8090C28
|
|
_08090B40: .4byte sub_8090B8C
|
|
_08090B44:
|
|
ldr r1, _08090B68 @ =gTasks
|
|
adds r0, r7, r6
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldrh r1, [r0, 0xC]
|
|
adds r1, 0x1
|
|
strh r1, [r0, 0xC]
|
|
movs r0, 0x10
|
|
ands r1, r0
|
|
cmp r1, 0
|
|
beq _08090B70
|
|
ldr r0, _08090B6C @ =gPokedexMenu_Pal + 0x2
|
|
movs r1, 0x51
|
|
movs r2, 0xE
|
|
bl LoadPalette
|
|
b _08090B7A
|
|
.align 2, 0
|
|
_08090B68: .4byte gTasks
|
|
_08090B6C: .4byte gPokedexMenu_Pal + 0x2
|
|
_08090B70:
|
|
ldr r0, _08090B88 @ =gPokedexMenu2_Pal + 0x2
|
|
movs r1, 0x51
|
|
movs r2, 0xE
|
|
bl LoadPalette
|
|
_08090B7A:
|
|
add sp, 0x4
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08090B88: .4byte gPokedexMenu2_Pal + 0x2
|
|
thumb_func_end sub_8090A3C
|
|
|
|
thumb_func_start sub_8090B8C
|
|
sub_8090B8C: @ 8090B8C
|
|
push {r4-r6,lr}
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
ldr r0, _08090C14 @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _08090C0C
|
|
movs r1, 0x80
|
|
lsls r1, 19
|
|
movs r2, 0xCA
|
|
lsls r2, 5
|
|
adds r0, r2, 0
|
|
strh r0, [r1]
|
|
ldr r0, _08090C18 @ =gUnknown_08D00524
|
|
ldr r1, _08090C1C @ =0x0600c000
|
|
movs r2, 0x80
|
|
lsls r2, 4
|
|
bl CpuSet
|
|
bl sub_800D74C
|
|
ldr r0, _08090C20 @ =gTasks
|
|
lsls r4, r6, 2
|
|
adds r4, r6
|
|
lsls r4, 3
|
|
adds r4, r0
|
|
ldrh r0, [r4, 0xA]
|
|
bl NationalPokedexNumToSpecies
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
ldrh r1, [r4, 0x22]
|
|
lsls r1, 16
|
|
ldrh r2, [r4, 0x20]
|
|
orrs r1, r2
|
|
ldrh r2, [r4, 0x26]
|
|
lsls r2, 16
|
|
ldrh r3, [r4, 0x24]
|
|
orrs r2, r3
|
|
ldr r5, _08090C24 @ =gSprites
|
|
movs r3, 0xE
|
|
ldrsh r4, [r4, r3]
|
|
lsls r3, r4, 4
|
|
adds r3, r4
|
|
lsls r3, 2
|
|
adds r3, r5
|
|
ldrb r4, [r3, 0x5]
|
|
lsrs r4, 4
|
|
bl species_and_otid_get_pal
|
|
lsls r4, 4
|
|
movs r2, 0x80
|
|
lsls r2, 1
|
|
adds r1, r2, 0
|
|
orrs r4, r1
|
|
adds r1, r4, 0
|
|
movs r2, 0x20
|
|
bl LoadCompressedPalette
|
|
adds r0, r6, 0
|
|
bl DestroyTask
|
|
_08090C0C:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08090C14: .4byte gPaletteFade
|
|
_08090C18: .4byte gUnknown_08D00524
|
|
_08090C1C: .4byte 0x0600c000
|
|
_08090C20: .4byte gTasks
|
|
_08090C24: .4byte gSprites
|
|
thumb_func_end sub_8090B8C
|
|
|
|
thumb_func_start sub_8090C28
|
|
sub_8090C28: @ 8090C28
|
|
push {lr}
|
|
adds r1, r0, 0
|
|
ldrh r2, [r1, 0x20]
|
|
movs r3, 0x20
|
|
ldrsh r0, [r1, r3]
|
|
cmp r0, 0x77
|
|
bgt _08090C3A
|
|
adds r0, r2, 0x2
|
|
strh r0, [r1, 0x20]
|
|
_08090C3A:
|
|
ldrh r2, [r1, 0x20]
|
|
movs r3, 0x20
|
|
ldrsh r0, [r1, r3]
|
|
cmp r0, 0x78
|
|
ble _08090C48
|
|
subs r0, r2, 0x2
|
|
strh r0, [r1, 0x20]
|
|
_08090C48:
|
|
ldrh r2, [r1, 0x22]
|
|
movs r3, 0x22
|
|
ldrsh r0, [r1, r3]
|
|
cmp r0, 0x4F
|
|
bgt _08090C56
|
|
adds r0, r2, 0x1
|
|
strh r0, [r1, 0x22]
|
|
_08090C56:
|
|
ldrh r2, [r1, 0x22]
|
|
movs r3, 0x22
|
|
ldrsh r0, [r1, r3]
|
|
cmp r0, 0x50
|
|
ble _08090C64
|
|
subs r0, r2, 0x1
|
|
strh r0, [r1, 0x22]
|
|
_08090C64:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8090C28
|
|
|
|
thumb_func_start sub_8090C68
|
|
sub_8090C68: @ 8090C68
|
|
push {r4,r5,lr}
|
|
ldr r4, _08090CD0 @ =gUnknown_0202FFBC
|
|
ldr r0, [r4]
|
|
ldrb r1, [r0, 0x2]
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08090D2A
|
|
ldr r5, _08090CD4 @ =gPokedexView
|
|
ldr r0, [r5]
|
|
ldr r1, _08090CD8 @ =0x0000064e
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
bne _08090CE4
|
|
movs r0, 0x2
|
|
movs r1, 0xD
|
|
movs r2, 0x1B
|
|
movs r3, 0x13
|
|
bl MenuZeroFillWindowRect
|
|
ldr r2, _08090CDC @ =gPokedexEntries
|
|
ldr r0, [r4]
|
|
ldrh r1, [r0]
|
|
lsls r0, r1, 3
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r2, 0x14
|
|
adds r0, r2
|
|
ldr r0, [r0]
|
|
movs r1, 0x2
|
|
movs r2, 0xD
|
|
bl MenuPrint
|
|
ldr r0, [r5]
|
|
ldr r1, _08090CD8 @ =0x0000064e
|
|
adds r0, r1
|
|
movs r1, 0x1
|
|
strb r1, [r0]
|
|
ldr r1, _08090CE0 @ =0x06007aca
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
adds r1, 0x40
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
movs r0, 0x15
|
|
bl PlaySE
|
|
b _08090D2A
|
|
.align 2, 0
|
|
_08090CD0: .4byte gUnknown_0202FFBC
|
|
_08090CD4: .4byte gPokedexView
|
|
_08090CD8: .4byte 0x0000064e
|
|
_08090CDC: .4byte gPokedexEntries
|
|
_08090CE0: .4byte 0x06007aca
|
|
_08090CE4:
|
|
movs r0, 0x2
|
|
movs r1, 0xD
|
|
movs r2, 0x1B
|
|
movs r3, 0x13
|
|
bl MenuZeroFillWindowRect
|
|
ldr r2, _08090D30 @ =gPokedexEntries
|
|
ldr r0, [r4]
|
|
ldrh r1, [r0]
|
|
lsls r0, r1, 3
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r2, 0x10
|
|
adds r0, r2
|
|
ldr r0, [r0]
|
|
movs r1, 0x2
|
|
movs r2, 0xD
|
|
bl MenuPrint
|
|
ldr r0, [r5]
|
|
ldr r1, _08090D34 @ =0x0000064e
|
|
adds r0, r1
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
ldr r1, _08090D38 @ =0x06007aca
|
|
ldrh r0, [r1]
|
|
subs r0, 0x1
|
|
strh r0, [r1]
|
|
adds r1, 0x40
|
|
ldrh r0, [r1]
|
|
subs r0, 0x1
|
|
strh r0, [r1]
|
|
movs r0, 0x15
|
|
bl PlaySE
|
|
_08090D2A:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08090D30: .4byte gPokedexEntries
|
|
_08090D34: .4byte 0x0000064e
|
|
_08090D38: .4byte 0x06007aca
|
|
thumb_func_end sub_8090C68
|
|
|
|
thumb_func_start GetPokemonCategory
|
|
GetPokemonCategory: @ 8090D3C
|
|
adds r1, r0, 0
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
lsls r0, r1, 3
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r1, _08090D50 @ =gPokedexEntries
|
|
adds r0, r1
|
|
bx lr
|
|
.align 2, 0
|
|
_08090D50: .4byte gPokedexEntries
|
|
thumb_func_end GetPokemonCategory
|
|
|
|
thumb_func_start GetPokedexHeightWeight
|
|
GetPokedexHeightWeight: @ 8090D54
|
|
push {lr}
|
|
lsls r0, 16
|
|
lsrs r2, r0, 16
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
cmp r1, 0
|
|
beq _08090D6A
|
|
cmp r1, 0x1
|
|
beq _08090D7C
|
|
movs r0, 0x1
|
|
b _08090D88
|
|
_08090D6A:
|
|
ldr r0, _08090D78 @ =gPokedexEntries
|
|
lsls r1, r2, 3
|
|
adds r1, r2
|
|
lsls r1, 2
|
|
adds r1, r0
|
|
ldrh r0, [r1, 0xC]
|
|
b _08090D88
|
|
.align 2, 0
|
|
_08090D78: .4byte gPokedexEntries
|
|
_08090D7C:
|
|
ldr r0, _08090D8C @ =gPokedexEntries
|
|
lsls r1, r2, 3
|
|
adds r1, r2
|
|
lsls r1, 2
|
|
adds r1, r0
|
|
ldrh r0, [r1, 0xE]
|
|
_08090D88:
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08090D8C: .4byte gPokedexEntries
|
|
thumb_func_end GetPokedexHeightWeight
|
|
|
|
thumb_func_start GetNationalPokedexFlag
|
|
GetNationalPokedexFlag: @ 8090D90
|
|
push {r4-r7,lr}
|
|
lsls r0, 16
|
|
lsls r1, 24
|
|
lsrs r2, r1, 24
|
|
adds r3, r2, 0
|
|
ldr r1, _08090DC4 @ =0xffff0000
|
|
adds r0, r1
|
|
lsrs r1, r0, 16
|
|
lsrs r0, 19
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
movs r0, 0x7
|
|
ands r1, r0
|
|
movs r0, 0x80
|
|
lsls r0, 17
|
|
lsls r0, r1
|
|
lsrs r5, r0, 24
|
|
movs r6, 0
|
|
cmp r2, 0x1
|
|
beq _08090E24
|
|
cmp r2, 0x1
|
|
bgt _08090DC8
|
|
cmp r2, 0
|
|
beq _08090DD4
|
|
b _08090F0A
|
|
.align 2, 0
|
|
_08090DC4: .4byte 0xffff0000
|
|
_08090DC8:
|
|
cmp r3, 0x2
|
|
beq _08090EBC
|
|
cmp r3, 0x3
|
|
bne _08090DD2
|
|
b _08090EFC
|
|
_08090DD2:
|
|
b _08090F0A
|
|
_08090DD4:
|
|
ldr r1, _08090E14 @ =gSaveBlock2
|
|
adds r0, r1, 0
|
|
adds r0, 0x5C
|
|
adds r0, r4, r0
|
|
ldrb r2, [r0]
|
|
ands r2, r5
|
|
adds r7, r1, 0
|
|
cmp r2, 0
|
|
bne _08090DE8
|
|
b _08090F0A
|
|
_08090DE8:
|
|
ldr r0, _08090E18 @ =gSaveBlock1
|
|
ldr r3, _08090E1C @ =0x00000938
|
|
adds r1, r0, r3
|
|
adds r1, r4, r1
|
|
ldrb r1, [r1]
|
|
ands r1, r5
|
|
adds r6, r0, 0
|
|
cmp r2, r1
|
|
bne _08090E08
|
|
ldr r1, _08090E20 @ =0x00003a8c
|
|
adds r0, r6, r1
|
|
adds r0, r4, r0
|
|
ldrb r0, [r0]
|
|
ands r0, r5
|
|
cmp r2, r0
|
|
beq _08090E62
|
|
_08090E08:
|
|
adds r1, r7, 0
|
|
adds r1, 0x5C
|
|
adds r1, r4, r1
|
|
mvns r3, r5
|
|
b _08090E8E
|
|
.align 2, 0
|
|
_08090E14: .4byte gSaveBlock2
|
|
_08090E18: .4byte gSaveBlock1
|
|
_08090E1C: .4byte 0x00000938
|
|
_08090E20: .4byte 0x00003a8c
|
|
_08090E24:
|
|
ldr r1, _08090E68 @ =gSaveBlock2
|
|
adds r0, r1, 0
|
|
adds r0, 0x28
|
|
adds r0, r4, r0
|
|
ldrb r2, [r0]
|
|
ands r2, r5
|
|
adds r7, r1, 0
|
|
cmp r2, 0
|
|
beq _08090F0A
|
|
adds r0, r7, 0
|
|
adds r0, 0x5C
|
|
adds r0, r4, r0
|
|
ldrb r0, [r0]
|
|
ands r0, r5
|
|
ldr r6, _08090E6C @ =gSaveBlock1
|
|
cmp r2, r0
|
|
bne _08090E78
|
|
ldr r3, _08090E70 @ =0x00000938
|
|
adds r0, r6, r3
|
|
adds r0, r4, r0
|
|
ldrb r0, [r0]
|
|
ands r0, r5
|
|
cmp r2, r0
|
|
bne _08090E78
|
|
ldr r1, _08090E74 @ =0x00003a8c
|
|
adds r0, r6, r1
|
|
adds r0, r4, r0
|
|
ldrb r0, [r0]
|
|
ands r0, r5
|
|
cmp r2, r0
|
|
bne _08090E78
|
|
_08090E62:
|
|
movs r6, 0x1
|
|
b _08090F0A
|
|
.align 2, 0
|
|
_08090E68: .4byte gSaveBlock2
|
|
_08090E6C: .4byte gSaveBlock1
|
|
_08090E70: .4byte 0x00000938
|
|
_08090E74: .4byte 0x00003a8c
|
|
_08090E78:
|
|
adds r1, r7, 0
|
|
adds r1, 0x28
|
|
adds r1, r4, r1
|
|
mvns r3, r5
|
|
ldrb r2, [r1]
|
|
adds r0, r3, 0
|
|
ands r0, r2
|
|
strb r0, [r1]
|
|
adds r1, r7, 0
|
|
adds r1, 0x5C
|
|
adds r1, r4, r1
|
|
_08090E8E:
|
|
ldrb r2, [r1]
|
|
adds r0, r3, 0
|
|
ands r0, r2
|
|
strb r0, [r1]
|
|
ldr r0, _08090EB4 @ =0x00000938
|
|
adds r1, r6, r0
|
|
adds r1, r4, r1
|
|
ldrb r2, [r1]
|
|
adds r0, r3, 0
|
|
ands r0, r2
|
|
strb r0, [r1]
|
|
ldr r1, _08090EB8 @ =0x00003a8c
|
|
adds r0, r6, r1
|
|
adds r0, r4, r0
|
|
ldrb r1, [r0]
|
|
ands r3, r1
|
|
strb r3, [r0]
|
|
movs r6, 0
|
|
b _08090F0A
|
|
.align 2, 0
|
|
_08090EB4: .4byte 0x00000938
|
|
_08090EB8: .4byte 0x00003a8c
|
|
_08090EBC:
|
|
ldr r1, _08090EEC @ =gSaveBlock2
|
|
adds r1, 0x5C
|
|
adds r1, r4, r1
|
|
ldrb r2, [r1]
|
|
adds r0, r5, 0
|
|
orrs r0, r2
|
|
strb r0, [r1]
|
|
ldr r1, _08090EF0 @ =gSaveBlock1
|
|
ldr r3, _08090EF4 @ =0x00000938
|
|
adds r2, r1, r3
|
|
adds r2, r4, r2
|
|
ldrb r3, [r2]
|
|
adds r0, r5, 0
|
|
orrs r0, r3
|
|
strb r0, [r2]
|
|
ldr r0, _08090EF8 @ =0x00003a8c
|
|
adds r1, r0
|
|
adds r1, r4, r1
|
|
ldrb r2, [r1]
|
|
adds r0, r5, 0
|
|
orrs r0, r2
|
|
strb r0, [r1]
|
|
b _08090F0A
|
|
.align 2, 0
|
|
_08090EEC: .4byte gSaveBlock2
|
|
_08090EF0: .4byte gSaveBlock1
|
|
_08090EF4: .4byte 0x00000938
|
|
_08090EF8: .4byte 0x00003a8c
|
|
_08090EFC:
|
|
ldr r0, _08090F14 @ =gSaveBlock2
|
|
adds r0, 0x28
|
|
adds r0, r4, r0
|
|
ldrb r2, [r0]
|
|
adds r1, r5, 0
|
|
orrs r1, r2
|
|
strb r1, [r0]
|
|
_08090F0A:
|
|
adds r0, r6, 0
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08090F14: .4byte gSaveBlock2
|
|
thumb_func_end GetNationalPokedexFlag
|
|
|
|
thumb_func_start GetNationalPokedexCount
|
|
GetNationalPokedexCount: @ 8090F18
|
|
push {r4-r7,lr}
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
movs r5, 0
|
|
movs r0, 0
|
|
ldr r7, _08090F30 @ =0x00000181
|
|
_08090F24:
|
|
cmp r6, 0
|
|
beq _08090F34
|
|
cmp r6, 0x1
|
|
beq _08090F3E
|
|
adds r4, r0, 0x1
|
|
b _08090F56
|
|
.align 2, 0
|
|
_08090F30: .4byte 0x00000181
|
|
_08090F34:
|
|
adds r4, r0, 0x1
|
|
lsls r0, r4, 16
|
|
lsrs r0, 16
|
|
movs r1, 0
|
|
b _08090F46
|
|
_08090F3E:
|
|
adds r4, r0, 0x1
|
|
lsls r0, r4, 16
|
|
lsrs r0, 16
|
|
movs r1, 0x1
|
|
_08090F46:
|
|
bl GetNationalPokedexFlag
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08090F56
|
|
adds r0, r5, 0x1
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
_08090F56:
|
|
lsls r0, r4, 16
|
|
lsrs r0, 16
|
|
cmp r0, r7
|
|
bls _08090F24
|
|
adds r0, r5, 0
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end GetNationalPokedexCount
|
|
|
|
thumb_func_start GetHoennPokedexCount
|
|
GetHoennPokedexCount: @ 8090F68
|
|
push {r4-r6,lr}
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
movs r5, 0
|
|
movs r0, 0
|
|
_08090F72:
|
|
cmp r6, 0
|
|
beq _08090F7E
|
|
cmp r6, 0x1
|
|
beq _08090F90
|
|
adds r4, r0, 0x1
|
|
b _08090FB0
|
|
_08090F7E:
|
|
adds r4, r0, 0x1
|
|
lsls r0, r4, 16
|
|
lsrs r0, 16
|
|
bl HoennToNationalOrder
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
movs r1, 0
|
|
b _08090FA0
|
|
_08090F90:
|
|
adds r4, r0, 0x1
|
|
lsls r0, r4, 16
|
|
lsrs r0, 16
|
|
bl HoennToNationalOrder
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
movs r1, 0x1
|
|
_08090FA0:
|
|
bl GetNationalPokedexFlag
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08090FB0
|
|
adds r0, r5, 0x1
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
_08090FB0:
|
|
lsls r0, r4, 16
|
|
lsrs r0, 16
|
|
cmp r0, 0xC9
|
|
bls _08090F72
|
|
adds r0, r5, 0
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end GetHoennPokedexCount
|
|
|
|
thumb_func_start sub_8090FC0
|
|
sub_8090FC0: @ 8090FC0
|
|
push {r4,lr}
|
|
movs r0, 0
|
|
_08090FC4:
|
|
adds r0, 0x1
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
adds r0, r4, 0
|
|
bl HoennToNationalOrder
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
movs r1, 0x1
|
|
bl GetNationalPokedexFlag
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08090FE4
|
|
movs r0, 0
|
|
b _08090FEC
|
|
_08090FE4:
|
|
adds r0, r4, 0
|
|
cmp r0, 0xC7
|
|
bls _08090FC4
|
|
movs r0, 0x1
|
|
_08090FEC:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8090FC0
|
|
|
|
thumb_func_start sub_8090FF4
|
|
sub_8090FF4: @ 8090FF4
|
|
push {r4,r5,lr}
|
|
movs r0, 0
|
|
_08090FF8:
|
|
adds r0, 0x1
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
adds r0, r4, 0
|
|
movs r1, 0x1
|
|
bl GetNationalPokedexFlag
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08091046
|
|
adds r0, r4, 0
|
|
cmp r0, 0x95
|
|
bls _08090FF8
|
|
movs r0, 0x98
|
|
_08091014:
|
|
adds r0, 0x1
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
adds r0, r4, 0
|
|
movs r1, 0x1
|
|
bl GetNationalPokedexFlag
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08091046
|
|
adds r0, r4, 0
|
|
cmp r0, 0xF9
|
|
bls _08091014
|
|
movs r0, 0xFC
|
|
ldr r5, _0809104C @ =0x0000017f
|
|
_08091032:
|
|
adds r0, 0x1
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
adds r0, r4, 0
|
|
movs r1, 0x1
|
|
bl GetNationalPokedexFlag
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08091050
|
|
_08091046:
|
|
movs r0, 0
|
|
b _08091058
|
|
.align 2, 0
|
|
_0809104C: .4byte 0x0000017f
|
|
_08091050:
|
|
adds r0, r4, 0
|
|
cmp r0, r5
|
|
bls _08091032
|
|
movs r0, 0x1
|
|
_08091058:
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8090FF4
|
|
|
|
thumb_func_start sub_8091060
|
|
sub_8091060: @ 8091060
|
|
push {r4,r5,lr}
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
adds r5, r4, 0
|
|
movs r0, 0x80
|
|
lsls r0, 1
|
|
ands r0, r4
|
|
lsls r0, 16
|
|
lsrs r3, r0, 16
|
|
cmp r3, 0
|
|
bne _0809108E
|
|
movs r2, 0x80
|
|
lsls r2, 19
|
|
ldrh r1, [r2]
|
|
ldr r0, _0809112C @ =0x0000feff
|
|
ands r0, r1
|
|
strh r0, [r2]
|
|
ldr r0, _08091130 @ =REG_BG0CNT
|
|
strh r3, [r0]
|
|
adds r0, 0x8
|
|
strh r3, [r0]
|
|
adds r0, 0x2
|
|
strh r3, [r0]
|
|
_0809108E:
|
|
movs r0, 0x80
|
|
lsls r0, 2
|
|
ands r0, r4
|
|
lsls r0, 16
|
|
lsrs r3, r0, 16
|
|
cmp r3, 0
|
|
bne _080910B4
|
|
movs r2, 0x80
|
|
lsls r2, 19
|
|
ldrh r1, [r2]
|
|
ldr r0, _08091134 @ =0x0000fdff
|
|
ands r0, r1
|
|
strh r0, [r2]
|
|
ldr r0, _08091138 @ =REG_BG1CNT
|
|
strh r3, [r0]
|
|
adds r0, 0xA
|
|
strh r3, [r0]
|
|
adds r0, 0x2
|
|
strh r3, [r0]
|
|
_080910B4:
|
|
movs r0, 0x80
|
|
lsls r0, 3
|
|
ands r0, r4
|
|
lsls r0, 16
|
|
lsrs r3, r0, 16
|
|
cmp r3, 0
|
|
bne _080910DA
|
|
movs r2, 0x80
|
|
lsls r2, 19
|
|
ldrh r1, [r2]
|
|
ldr r0, _0809113C @ =0x0000fbff
|
|
ands r0, r1
|
|
strh r0, [r2]
|
|
ldr r0, _08091140 @ =REG_BG2CNT
|
|
strh r3, [r0]
|
|
adds r0, 0xC
|
|
strh r3, [r0]
|
|
adds r0, 0x2
|
|
strh r3, [r0]
|
|
_080910DA:
|
|
movs r0, 0x80
|
|
lsls r0, 4
|
|
ands r0, r4
|
|
lsls r0, 16
|
|
lsrs r3, r0, 16
|
|
cmp r3, 0
|
|
bne _08091100
|
|
movs r2, 0x80
|
|
lsls r2, 19
|
|
ldrh r1, [r2]
|
|
ldr r0, _08091144 @ =0x0000f7ff
|
|
ands r0, r1
|
|
strh r0, [r2]
|
|
ldr r0, _08091148 @ =REG_BG3CNT
|
|
strh r3, [r0]
|
|
adds r0, 0xE
|
|
strh r3, [r0]
|
|
adds r0, 0x2
|
|
strh r3, [r0]
|
|
_08091100:
|
|
movs r0, 0x80
|
|
lsls r0, 5
|
|
ands r5, r0
|
|
cmp r5, 0
|
|
bne _08091124
|
|
movs r2, 0x80
|
|
lsls r2, 19
|
|
ldrh r1, [r2]
|
|
ldr r0, _0809114C @ =0x0000efff
|
|
ands r0, r1
|
|
strh r0, [r2]
|
|
bl ResetSpriteData
|
|
bl FreeAllSpritePalettes
|
|
ldr r1, _08091150 @ =gReservedSpritePaletteCount
|
|
movs r0, 0x8
|
|
strb r0, [r1]
|
|
_08091124:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0809112C: .4byte 0x0000feff
|
|
_08091130: .4byte REG_BG0CNT
|
|
_08091134: .4byte 0x0000fdff
|
|
_08091138: .4byte REG_BG1CNT
|
|
_0809113C: .4byte 0x0000fbff
|
|
_08091140: .4byte REG_BG2CNT
|
|
_08091144: .4byte 0x0000f7ff
|
|
_08091148: .4byte REG_BG3CNT
|
|
_0809114C: .4byte 0x0000efff
|
|
_08091150: .4byte gReservedSpritePaletteCount
|
|
thumb_func_end sub_8091060
|
|
|
|
thumb_func_start sub_8091154
|
|
sub_8091154: @ 8091154
|
|
push {r4-r6,lr}
|
|
mov r6, r8
|
|
push {r6}
|
|
sub sp, 0x4
|
|
adds r4, r0, 0
|
|
adds r6, r1, 0
|
|
mov r8, r2
|
|
lsls r4, 16
|
|
lsrs r4, 16
|
|
lsls r6, 24
|
|
lsrs r6, 24
|
|
mov r0, r8
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r8, r0
|
|
mov r5, sp
|
|
adds r0, r4, 0
|
|
movs r1, 0x64
|
|
bl __udivsi3
|
|
adds r0, 0xA1
|
|
strb r0, [r5]
|
|
mov r5, sp
|
|
adds r0, r4, 0
|
|
movs r1, 0x64
|
|
bl __umodsi3
|
|
adds r4, r0, 0
|
|
lsls r4, 16
|
|
lsrs r4, 16
|
|
adds r0, r4, 0
|
|
movs r1, 0xA
|
|
bl __udivsi3
|
|
adds r0, 0xA1
|
|
strb r0, [r5, 0x1]
|
|
mov r5, sp
|
|
adds r0, r4, 0
|
|
movs r1, 0xA
|
|
bl __umodsi3
|
|
adds r0, 0xA1
|
|
strb r0, [r5, 0x2]
|
|
mov r1, sp
|
|
movs r0, 0xFF
|
|
strb r0, [r1, 0x3]
|
|
mov r0, sp
|
|
adds r1, r6, 0
|
|
mov r2, r8
|
|
bl MenuPrint
|
|
add sp, 0x4
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8091154
|
|
|
|
thumb_func_start sub_80911C8
|
|
sub_80911C8: @ 80911C8
|
|
push {r4-r6,lr}
|
|
sub sp, 0xC
|
|
lsls r0, 16
|
|
lsrs r3, r0, 16
|
|
lsls r1, 24
|
|
lsrs r6, r1, 24
|
|
lsls r2, 24
|
|
lsrs r5, r2, 24
|
|
movs r4, 0
|
|
movs r2, 0xFF
|
|
_080911DC:
|
|
mov r1, sp
|
|
adds r0, r1, r4
|
|
ldrb r1, [r0]
|
|
orrs r1, r2
|
|
strb r1, [r0]
|
|
adds r0, r4, 0x1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0xA
|
|
bls _080911DC
|
|
adds r0, r3, 0
|
|
bl NationalPokedexNumToSpecies
|
|
adds r3, r0, 0
|
|
cmp r3, 0
|
|
beq _08091238
|
|
movs r4, 0
|
|
ldr r2, _08091234 @ =gSpeciesNames
|
|
movs r0, 0xB
|
|
adds r1, r3, 0
|
|
muls r1, r0
|
|
adds r0, r1, r2
|
|
ldrb r0, [r0]
|
|
cmp r0, 0xFF
|
|
beq _0809124C
|
|
adds r3, r2, 0
|
|
adds r2, r1, 0
|
|
_08091212:
|
|
mov r0, sp
|
|
adds r1, r0, r4
|
|
adds r0, r4, r2
|
|
adds r0, r3
|
|
ldrb r0, [r0]
|
|
strb r0, [r1]
|
|
adds r0, r4, 0x1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
adds r0, r4, r2
|
|
adds r0, r3
|
|
ldrb r0, [r0]
|
|
cmp r0, 0xFF
|
|
beq _0809124C
|
|
cmp r4, 0x9
|
|
bls _08091212
|
|
b _0809124C
|
|
.align 2, 0
|
|
_08091234: .4byte gSpeciesNames
|
|
_08091238:
|
|
movs r4, 0
|
|
movs r1, 0xAE
|
|
_0809123C:
|
|
mov r2, sp
|
|
adds r0, r2, r4
|
|
strb r1, [r0]
|
|
adds r0, r4, 0x1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0x9
|
|
bls _0809123C
|
|
_0809124C:
|
|
mov r0, sp
|
|
adds r1, r6, 0
|
|
adds r2, r5, 0
|
|
bl MenuPrint
|
|
adds r0, r4, 0
|
|
add sp, 0xC
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80911C8
|
|
|
|
thumb_func_start sub_8091260
|
|
sub_8091260: @ 8091260
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0x28
|
|
adds r4, r3, 0
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
mov r8, r1
|
|
lsls r2, 24
|
|
lsrs r7, r2, 24
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
ldr r1, _080912CC @ =gUnknown_083B5558
|
|
mov r0, sp
|
|
bl StringCopy
|
|
adds r6, r0, 0
|
|
mov r0, sp
|
|
strb r4, [r0, 0x2]
|
|
adds r0, r5, 0
|
|
bl NationalPokedexNumToSpecies
|
|
adds r5, r0, 0
|
|
cmp r5, 0
|
|
beq _080912D4
|
|
movs r4, 0
|
|
ldr r2, _080912D0 @ =gSpeciesNames
|
|
movs r0, 0xB
|
|
adds r1, r5, 0
|
|
muls r1, r0
|
|
adds r0, r1, r2
|
|
ldrb r0, [r0]
|
|
cmp r0, 0xFF
|
|
beq _080912E6
|
|
adds r3, r2, 0
|
|
adds r2, r1, 0
|
|
_080912AC:
|
|
adds r1, r6, r4
|
|
adds r0, r4, r2
|
|
adds r0, r3
|
|
ldrb r0, [r0]
|
|
strb r0, [r1]
|
|
adds r0, r4, 0x1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
adds r0, r4, r2
|
|
adds r0, r3
|
|
ldrb r0, [r0]
|
|
cmp r0, 0xFF
|
|
beq _080912E6
|
|
cmp r4, 0x9
|
|
bls _080912AC
|
|
b _080912E6
|
|
.align 2, 0
|
|
_080912CC: .4byte gUnknown_083B5558
|
|
_080912D0: .4byte gSpeciesNames
|
|
_080912D4:
|
|
movs r4, 0
|
|
movs r1, 0xAE
|
|
_080912D8:
|
|
adds r0, r6, r4
|
|
strb r1, [r0]
|
|
adds r0, r4, 0x1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0x9
|
|
bls _080912D8
|
|
_080912E6:
|
|
adds r1, r6, r4
|
|
movs r0, 0xFF
|
|
strb r0, [r1]
|
|
mov r0, sp
|
|
mov r1, r8
|
|
adds r2, r7, 0
|
|
bl MenuPrint
|
|
adds r0, r4, 0
|
|
add sp, 0x28
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8091260
|
|
|
|
thumb_func_start sub_8091304
|
|
sub_8091304: @ 8091304
|
|
push {r4-r7,lr}
|
|
sub sp, 0x20
|
|
adds r3, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
mov r12, r1
|
|
lsls r2, 24
|
|
lsrs r7, r2, 24
|
|
movs r4, 0
|
|
ldrb r0, [r3]
|
|
ldr r6, _08091340 @ =gDexText_UnknownPoke
|
|
cmp r0, 0xFF
|
|
beq _0809133A
|
|
_0809131E:
|
|
mov r0, sp
|
|
adds r1, r0, r4
|
|
adds r0, r3, r4
|
|
ldrb r0, [r0]
|
|
strb r0, [r1]
|
|
adds r0, r4, 0x1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
adds r0, r3, r4
|
|
ldrb r0, [r0]
|
|
cmp r0, 0xFF
|
|
beq _0809133A
|
|
cmp r4, 0xA
|
|
bls _0809131E
|
|
_0809133A:
|
|
movs r3, 0
|
|
ldrb r0, [r6]
|
|
b _0809134E
|
|
.align 2, 0
|
|
_08091340: .4byte gDexText_UnknownPoke
|
|
_08091344:
|
|
adds r0, r3, 0x1
|
|
lsls r0, 24
|
|
lsrs r3, r0, 24
|
|
adds r0, r3, r6
|
|
ldrb r0, [r0]
|
|
_0809134E:
|
|
cmp r0, 0xAC
|
|
beq _08091344
|
|
cmp r0, 0
|
|
beq _08091344
|
|
subs r0, r3, 0x1
|
|
lsls r0, 24
|
|
lsrs r3, r0, 24
|
|
adds r0, r3, r6
|
|
ldrb r0, [r0]
|
|
cmp r0, 0xFF
|
|
beq _08091388
|
|
adds r5, r6, 0
|
|
_08091366:
|
|
adds r1, r4, 0
|
|
adds r0, r1, 0x1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
mov r0, sp
|
|
adds r2, r0, r1
|
|
adds r1, r3, 0
|
|
adds r0, r1, 0x1
|
|
lsls r0, 24
|
|
lsrs r3, r0, 24
|
|
adds r1, r5
|
|
ldrb r0, [r1]
|
|
strb r0, [r2]
|
|
adds r0, r3, r5
|
|
ldrb r0, [r0]
|
|
cmp r0, 0xFF
|
|
bne _08091366
|
|
_08091388:
|
|
mov r0, sp
|
|
adds r1, r0, r4
|
|
movs r0, 0xFF
|
|
strb r0, [r1]
|
|
mov r0, sp
|
|
mov r1, r12
|
|
adds r2, r7, 0
|
|
adds r3, r6, 0
|
|
bl sub_8072B80
|
|
add sp, 0x20
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8091304
|
|
|
|
thumb_func_start unref_sub_80913A4
|
|
unref_sub_80913A4: @ 80913A4
|
|
push {r4-r7,lr}
|
|
sub sp, 0x8
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
lsls r1, 24
|
|
lsrs r7, r1, 24
|
|
lsls r2, 24
|
|
lsrs r6, r2, 24
|
|
movs r5, 0
|
|
movs r1, 0xFA
|
|
lsls r1, 2
|
|
adds r0, r4, 0
|
|
bl __udivsi3
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0
|
|
bne _080913CE
|
|
mov r0, sp
|
|
strb r5, [r0]
|
|
b _080913D6
|
|
_080913CE:
|
|
mov r1, sp
|
|
adds r0, 0xA1
|
|
strb r0, [r1]
|
|
movs r5, 0x1
|
|
_080913D6:
|
|
movs r1, 0xFA
|
|
lsls r1, 2
|
|
adds r0, r4, 0
|
|
bl __umodsi3
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
movs r1, 0x64
|
|
bl __udivsi3
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0
|
|
bne _080913FC
|
|
cmp r5, 0
|
|
bne _080913FC
|
|
mov r0, sp
|
|
strb r5, [r0, 0x1]
|
|
b _08091402
|
|
_080913FC:
|
|
mov r1, sp
|
|
adds r0, 0xA1
|
|
strb r0, [r1, 0x1]
|
|
_08091402:
|
|
mov r5, sp
|
|
movs r1, 0xFA
|
|
lsls r1, 2
|
|
adds r0, r4, 0
|
|
bl __umodsi3
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
movs r1, 0x64
|
|
bl __umodsi3
|
|
adds r4, r0, 0
|
|
lsls r4, 16
|
|
lsrs r4, 16
|
|
adds r0, r4, 0
|
|
movs r1, 0xA
|
|
bl __udivsi3
|
|
adds r0, 0xA1
|
|
strb r0, [r5, 0x2]
|
|
mov r1, sp
|
|
movs r0, 0xAD
|
|
strb r0, [r1, 0x3]
|
|
mov r5, sp
|
|
adds r0, r4, 0
|
|
movs r1, 0xA
|
|
bl __umodsi3
|
|
adds r0, 0xA1
|
|
strb r0, [r5, 0x4]
|
|
mov r1, sp
|
|
movs r0, 0xFF
|
|
strb r0, [r1, 0x5]
|
|
mov r0, sp
|
|
adds r1, r7, 0
|
|
adds r2, r6, 0
|
|
bl MenuPrint
|
|
add sp, 0x8
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end unref_sub_80913A4
|
|
|
|
thumb_func_start sub_8091458
|
|
sub_8091458: @ 8091458
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
sub sp, 0x10
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
mov r9, r1
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
mov r8, r2
|
|
ldr r1, _080914D4 @ =0x00002710
|
|
muls r0, r1
|
|
movs r1, 0xFE
|
|
bl __divsi3
|
|
adds r7, r0, 0
|
|
movs r1, 0xA
|
|
bl __umodsi3
|
|
cmp r0, 0x4
|
|
bls _0809148A
|
|
adds r7, 0xA
|
|
_0809148A:
|
|
adds r0, r7, 0
|
|
movs r1, 0x78
|
|
bl __udivsi3
|
|
adds r6, r0, 0
|
|
lsls r0, r6, 4
|
|
subs r0, r6
|
|
lsls r0, 3
|
|
subs r0, r7, r0
|
|
movs r1, 0xA
|
|
bl __udivsi3
|
|
adds r7, r0, 0
|
|
mov r1, sp
|
|
movs r0, 0xFC
|
|
strb r0, [r1]
|
|
adds r1, 0x1
|
|
movs r0, 0x13
|
|
strb r0, [r1]
|
|
adds r0, r6, 0
|
|
movs r1, 0xA
|
|
bl __udivsi3
|
|
adds r2, r0, 0
|
|
cmp r2, 0
|
|
bne _080914D8
|
|
mov r1, sp
|
|
adds r1, 0x2
|
|
movs r0, 0x12
|
|
strb r0, [r1]
|
|
movs r5, 0x4
|
|
adds r1, 0x1
|
|
adds r0, r6, 0
|
|
adds r0, 0xA1
|
|
strb r0, [r1]
|
|
b _080914F8
|
|
.align 2, 0
|
|
_080914D4: .4byte 0x00002710
|
|
_080914D8:
|
|
mov r1, sp
|
|
adds r1, 0x2
|
|
movs r0, 0xC
|
|
strb r0, [r1]
|
|
adds r1, 0x1
|
|
adds r0, r2, 0
|
|
adds r0, 0xA1
|
|
strb r0, [r1]
|
|
movs r5, 0x5
|
|
add r4, sp, 0x4
|
|
adds r0, r6, 0
|
|
movs r1, 0xA
|
|
bl __umodsi3
|
|
adds r0, 0xA1
|
|
strb r0, [r4]
|
|
_080914F8:
|
|
adds r1, r5, 0
|
|
adds r0, r1, 0x1
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
adds r2, r5, 0
|
|
add r1, sp
|
|
movs r0, 0xB4
|
|
strb r0, [r1]
|
|
adds r0, r2, 0x1
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
adds r6, r5, 0
|
|
mov r0, sp
|
|
adds r4, r0, r2
|
|
adds r0, r7, 0
|
|
movs r1, 0xA
|
|
bl __udivsi3
|
|
adds r0, 0xA1
|
|
strb r0, [r4]
|
|
adds r0, r6, 0x1
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
mov r1, sp
|
|
adds r4, r1, r6
|
|
adds r0, r7, 0
|
|
movs r1, 0xA
|
|
bl __umodsi3
|
|
adds r0, 0xA1
|
|
strb r0, [r4]
|
|
adds r0, r5, 0x1
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r1, sp
|
|
adds r2, r1, r5
|
|
movs r1, 0xB2
|
|
strb r1, [r2]
|
|
mov r2, sp
|
|
adds r1, r2, r0
|
|
movs r0, 0xFF
|
|
strb r0, [r1]
|
|
mov r0, sp
|
|
mov r1, r9
|
|
mov r2, r8
|
|
bl MenuPrint
|
|
add sp, 0x10
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8091458
|
|
|
|
thumb_func_start sub_8091564
|
|
sub_8091564: @ 8091564
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x14
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
mov r10, r1
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
str r2, [sp, 0x10]
|
|
ldr r7, _080915BC @ =0x000186a0
|
|
muls r0, r7
|
|
ldr r1, _080915C0 @ =0x000011b8
|
|
bl __divsi3
|
|
adds r6, r0, 0
|
|
movs r1, 0xA
|
|
bl __umodsi3
|
|
cmp r0, 0x4
|
|
bls _08091598
|
|
adds r6, 0xA
|
|
_08091598:
|
|
movs r5, 0
|
|
mov r4, sp
|
|
adds r0, r6, 0
|
|
adds r1, r7, 0
|
|
bl __udivsi3
|
|
adds r0, 0xA1
|
|
strb r0, [r4]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0xA1
|
|
bne _080915C4
|
|
mov r0, sp
|
|
strb r5, [r0]
|
|
movs r7, 0x2
|
|
adds r0, 0x1
|
|
strb r5, [r0]
|
|
b _080915C8
|
|
.align 2, 0
|
|
_080915BC: .4byte 0x000186a0
|
|
_080915C0: .4byte 0x000011b8
|
|
_080915C4:
|
|
movs r5, 0x1
|
|
movs r7, 0x1
|
|
_080915C8:
|
|
ldr r1, _0809160C @ =0x000186a0
|
|
adds r0, r6, 0
|
|
bl __umodsi3
|
|
adds r6, r0, 0
|
|
mov r0, sp
|
|
adds r4, r0, r7
|
|
ldr r1, _08091610 @ =0x00002710
|
|
adds r0, r6, 0
|
|
bl __udivsi3
|
|
adds r0, 0xA1
|
|
strb r0, [r4]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0xA1
|
|
bne _08091614
|
|
cmp r5, 0
|
|
bne _08091614
|
|
adds r1, r7, 0
|
|
adds r0, r1, 0x1
|
|
lsls r0, 24
|
|
lsrs r7, r0, 24
|
|
adds r2, r7, 0
|
|
mov r3, sp
|
|
adds r0, r3, r1
|
|
strb r5, [r0]
|
|
adds r0, r2, 0x1
|
|
lsls r0, 24
|
|
lsrs r7, r0, 24
|
|
adds r0, r3, r2
|
|
strb r5, [r0]
|
|
b _0809161C
|
|
.align 2, 0
|
|
_0809160C: .4byte 0x000186a0
|
|
_08091610: .4byte 0x00002710
|
|
_08091614:
|
|
movs r5, 0x1
|
|
adds r0, r7, 0x1
|
|
lsls r0, 24
|
|
lsrs r7, r0, 24
|
|
_0809161C:
|
|
ldr r1, _08091660 @ =0x00002710
|
|
adds r0, r6, 0
|
|
bl __umodsi3
|
|
adds r6, r0, 0
|
|
mov r0, sp
|
|
adds r4, r0, r7
|
|
movs r1, 0xFA
|
|
lsls r1, 2
|
|
adds r0, r6, 0
|
|
bl __udivsi3
|
|
adds r0, 0xA1
|
|
strb r0, [r4]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0xA1
|
|
bne _08091664
|
|
cmp r5, 0
|
|
bne _08091664
|
|
adds r1, r7, 0
|
|
adds r0, r1, 0x1
|
|
lsls r0, 24
|
|
lsrs r7, r0, 24
|
|
adds r2, r7, 0
|
|
mov r3, sp
|
|
adds r0, r3, r1
|
|
strb r5, [r0]
|
|
adds r0, r2, 0x1
|
|
lsls r0, 24
|
|
lsrs r7, r0, 24
|
|
adds r0, r3, r2
|
|
strb r5, [r0]
|
|
b _0809166A
|
|
.align 2, 0
|
|
_08091660: .4byte 0x00002710
|
|
_08091664:
|
|
adds r0, r7, 0x1
|
|
lsls r0, 24
|
|
lsrs r7, r0, 24
|
|
_0809166A:
|
|
movs r1, 0xFA
|
|
lsls r1, 2
|
|
adds r0, r6, 0
|
|
bl __umodsi3
|
|
adds r6, r0, 0
|
|
adds r1, r7, 0
|
|
adds r0, r1, 0x1
|
|
lsls r0, 24
|
|
lsrs r7, r0, 24
|
|
adds r5, r7, 0
|
|
mov r0, sp
|
|
adds r4, r0, r1
|
|
adds r0, r6, 0
|
|
movs r1, 0x64
|
|
bl __udivsi3
|
|
adds r0, 0xA1
|
|
movs r1, 0
|
|
mov r9, r1
|
|
strb r0, [r4]
|
|
adds r0, r6, 0
|
|
movs r1, 0x64
|
|
bl __umodsi3
|
|
adds r6, r0, 0
|
|
adds r0, r5, 0x1
|
|
lsls r0, 24
|
|
lsrs r7, r0, 24
|
|
adds r1, r7, 0
|
|
mov r2, sp
|
|
adds r0, r2, r5
|
|
movs r3, 0xAD
|
|
mov r8, r3
|
|
mov r2, r8
|
|
strb r2, [r0]
|
|
adds r0, r1, 0x1
|
|
lsls r0, 24
|
|
lsrs r7, r0, 24
|
|
adds r5, r7, 0
|
|
mov r3, sp
|
|
adds r4, r3, r1
|
|
adds r0, r6, 0
|
|
movs r1, 0xA
|
|
bl __udivsi3
|
|
adds r0, 0xA1
|
|
strb r0, [r4]
|
|
adds r0, r5, 0x1
|
|
lsls r0, 24
|
|
lsrs r7, r0, 24
|
|
adds r1, r7, 0
|
|
mov r2, sp
|
|
adds r0, r2, r5
|
|
mov r3, r9
|
|
strb r3, [r0]
|
|
adds r0, r1, 0x1
|
|
lsls r0, 24
|
|
lsrs r7, r0, 24
|
|
adds r2, r7, 0
|
|
add r1, sp
|
|
movs r0, 0xE0
|
|
strb r0, [r1]
|
|
adds r0, r2, 0x1
|
|
lsls r0, 24
|
|
lsrs r7, r0, 24
|
|
adds r3, r7, 0
|
|
mov r0, sp
|
|
adds r1, r0, r2
|
|
movs r0, 0xD6
|
|
strb r0, [r1]
|
|
adds r0, r3, 0x1
|
|
lsls r0, 24
|
|
lsrs r7, r0, 24
|
|
adds r2, r7, 0
|
|
mov r0, sp
|
|
adds r1, r0, r3
|
|
movs r0, 0xE7
|
|
strb r0, [r1]
|
|
adds r0, r2, 0x1
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r3, sp
|
|
adds r1, r3, r2
|
|
mov r2, r8
|
|
strb r2, [r1]
|
|
adds r1, r3, r0
|
|
movs r0, 0xFF
|
|
strb r0, [r1]
|
|
mov r0, sp
|
|
mov r1, r10
|
|
ldr r2, [sp, 0x10]
|
|
bl MenuPrint
|
|
add sp, 0x14
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8091564
|
|
|
|
thumb_func_start sub_8091738
|
|
sub_8091738: @ 8091738
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0x80
|
|
adds r4, r1, 0
|
|
adds r5, r2, 0
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
lsls r4, 16
|
|
lsrs r4, 16
|
|
lsls r5, 16
|
|
lsrs r5, 16
|
|
ldr r6, _080917C8 @ =gMonFootprintTable
|
|
bl NationalPokedexNumToSpecies
|
|
lsls r0, 16
|
|
lsrs r0, 14
|
|
adds r0, r6
|
|
ldr r0, [r0]
|
|
mov r12, r0
|
|
movs r7, 0
|
|
movs r1, 0
|
|
lsls r4, 14
|
|
mov r8, r4
|
|
lsls r5, 5
|
|
_0809176A:
|
|
mov r2, r12
|
|
adds r0, r2, r1
|
|
ldrb r3, [r0]
|
|
movs r6, 0
|
|
adds r4, r1, 0x1
|
|
_08091774:
|
|
lsls r1, r6, 1
|
|
adds r2, r3, 0
|
|
asrs r2, r1
|
|
movs r0, 0x1
|
|
ands r2, r0
|
|
movs r0, 0x2
|
|
lsls r0, r1
|
|
ands r0, r3
|
|
cmp r0, 0
|
|
beq _0809178C
|
|
movs r0, 0x10
|
|
orrs r2, r0
|
|
_0809178C:
|
|
mov r1, sp
|
|
adds r0, r1, r7
|
|
strb r2, [r0]
|
|
adds r0, r7, 0x1
|
|
lsls r0, 16
|
|
lsrs r7, r0, 16
|
|
adds r0, r6, 0x1
|
|
lsls r0, 16
|
|
lsrs r6, r0, 16
|
|
cmp r6, 0x3
|
|
bls _08091774
|
|
lsls r0, r4, 16
|
|
lsrs r1, r0, 16
|
|
cmp r1, 0x1F
|
|
bls _0809176A
|
|
movs r1, 0xC0
|
|
lsls r1, 19
|
|
adds r1, r5, r1
|
|
add r1, r8
|
|
mov r0, sp
|
|
movs r2, 0x40
|
|
bl CpuSet
|
|
add sp, 0x80
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080917C8: .4byte gMonFootprintTable
|
|
thumb_func_end sub_8091738
|
|
|
|
thumb_func_start sub_80917CC
|
|
sub_80917CC: @ 80917CC
|
|
push {r4,lr}
|
|
lsls r0, 16
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
lsrs r0, 5
|
|
ldr r2, _08091808 @ =0x06000232
|
|
adds r3, r0, r2
|
|
movs r4, 0xF0
|
|
lsls r4, 8
|
|
adds r2, r1, r4
|
|
strh r2, [r3]
|
|
ldr r2, _0809180C @ =0x06000234
|
|
adds r3, r0, r2
|
|
adds r4, 0x1
|
|
adds r2, r1, r4
|
|
strh r2, [r3]
|
|
ldr r2, _08091810 @ =0x06000272
|
|
adds r3, r0, r2
|
|
adds r4, 0x1
|
|
adds r2, r1, r4
|
|
strh r2, [r3]
|
|
ldr r2, _08091814 @ =0x06000274
|
|
adds r0, r2
|
|
adds r4, 0x1
|
|
adds r1, r4
|
|
strh r1, [r0]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08091808: .4byte 0x06000232
|
|
_0809180C: .4byte 0x06000234
|
|
_08091810: .4byte 0x06000272
|
|
_08091814: .4byte 0x06000274
|
|
thumb_func_end sub_80917CC
|
|
|
|
thumb_func_start sub_8091818
|
|
sub_8091818: @ 8091818
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
adds r5, r4, 0
|
|
lsls r1, 16
|
|
lsrs r0, r1, 16
|
|
lsls r2, 16
|
|
lsrs r2, 16
|
|
lsls r3, 16
|
|
lsrs r3, 16
|
|
cmp r4, 0x1
|
|
beq _08091844
|
|
cmp r4, 0x1
|
|
bgt _0809183A
|
|
cmp r4, 0
|
|
beq _0809184C
|
|
b _0809186C
|
|
_0809183A:
|
|
cmp r5, 0x2
|
|
beq _0809185E
|
|
cmp r5, 0x3
|
|
beq _08091852
|
|
b _0809186C
|
|
_08091844:
|
|
cmp r0, r2
|
|
bls _0809186C
|
|
subs r0, 0x1
|
|
b _08091864
|
|
_0809184C:
|
|
cmp r0, r3
|
|
bcs _0809186C
|
|
b _08091862
|
|
_08091852:
|
|
cmp r0, r2
|
|
bls _0809185A
|
|
subs r0, 0x1
|
|
b _08091864
|
|
_0809185A:
|
|
adds r0, r3, 0
|
|
b _0809186C
|
|
_0809185E:
|
|
cmp r0, r3
|
|
bcs _0809186A
|
|
_08091862:
|
|
adds r0, 0x1
|
|
_08091864:
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
b _0809186C
|
|
_0809186A:
|
|
adds r0, r2, 0
|
|
_0809186C:
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8091818
|
|
|
|
thumb_func_start nullsub_59
|
|
nullsub_59: @ 8091874
|
|
bx lr
|
|
thumb_func_end nullsub_59
|
|
|
|
thumb_func_start sub_8091878
|
|
sub_8091878: @ 8091878
|
|
push {r4-r7,lr}
|
|
lsls r1, 24
|
|
ldr r4, _080918A0 @ =gUnknown_02024E8C
|
|
adds r3, r4, 0
|
|
ldr r2, _080918A4 @ =gUnknown_083B57A4
|
|
ldm r2!, {r5-r7}
|
|
stm r3!, {r5-r7}
|
|
ldm r2!, {r5-r7}
|
|
stm r3!, {r5-r7}
|
|
strh r0, [r4, 0x2]
|
|
ldr r0, _080918A8 @ =gUnknown_083B5794
|
|
lsrs r1, 22
|
|
adds r1, r0
|
|
ldr r0, [r1]
|
|
str r0, [r4, 0xC]
|
|
ldr r0, _080918AC @ =gSpriteAnimTable_81E7C64
|
|
str r0, [r4, 0x8]
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080918A0: .4byte gUnknown_02024E8C
|
|
_080918A4: .4byte gUnknown_083B57A4
|
|
_080918A8: .4byte gUnknown_083B5794
|
|
_080918AC: .4byte gSpriteAnimTable_81E7C64
|
|
thumb_func_end sub_8091878
|
|
|
|
thumb_func_start sub_80918B0
|
|
sub_80918B0: @ 80918B0
|
|
push {r4-r7,lr}
|
|
lsls r1, 24
|
|
ldr r4, _080918DC @ =gUnknown_02024E8C
|
|
adds r3, r4, 0
|
|
ldr r2, _080918E0 @ =gUnknown_083B57A4
|
|
ldm r2!, {r5-r7}
|
|
stm r3!, {r5-r7}
|
|
ldm r2!, {r5-r7}
|
|
stm r3!, {r5-r7}
|
|
strh r0, [r4, 0x2]
|
|
ldr r0, _080918E4 @ =gUnknown_083B5794
|
|
lsrs r1, 22
|
|
adds r1, r0
|
|
ldr r0, [r1]
|
|
str r0, [r4, 0xC]
|
|
ldr r0, _080918E8 @ =gUnknown_081EC2A4
|
|
ldr r0, [r0]
|
|
str r0, [r4, 0x8]
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080918DC: .4byte gUnknown_02024E8C
|
|
_080918E0: .4byte gUnknown_083B57A4
|
|
_080918E4: .4byte gUnknown_083B5794
|
|
_080918E8: .4byte gUnknown_081EC2A4
|
|
thumb_func_end sub_80918B0
|
|
|
|
thumb_func_start sub_80918EC
|
|
sub_80918EC: @ 80918EC
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x10
|
|
lsls r0, 16
|
|
lsrs r7, r0, 16
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
mov r9, r1
|
|
lsls r2, 16
|
|
lsrs r2, 16
|
|
mov r10, r2
|
|
lsls r3, 16
|
|
lsrs r3, 16
|
|
mov r8, r3
|
|
adds r0, r7, 0
|
|
bl NationalPokedexNumToSpecies
|
|
adds r7, r0, 0
|
|
cmp r7, SPECIES_UNOWN
|
|
beq _0809199C
|
|
movs r0, 0x9A
|
|
lsls r0, 1
|
|
cmp r7, r0
|
|
beq _08091958
|
|
lsls r6, r7, 3
|
|
ldr r0, _0809194C @ =gMonFrontPicTable
|
|
adds r0, r6, r0
|
|
ldr r1, _08091950 @ =gMonFrontPicCoords
|
|
lsls r2, r7, 2
|
|
adds r2, r1
|
|
ldrb r1, [r2]
|
|
ldrb r2, [r2, 0x1]
|
|
movs r3, 0x80
|
|
lsls r3, 18
|
|
ldr r4, _08091954 @ =gUnknown_083B5584
|
|
mov r12, r4
|
|
mov r5, r8
|
|
lsls r4, r5, 2
|
|
add r4, r12
|
|
ldr r4, [r4]
|
|
str r4, [sp]
|
|
str r7, [sp, 0x4]
|
|
bl DecompressPicFromTable_2
|
|
b _080919CE
|
|
.align 2, 0
|
|
_0809194C: .4byte gMonFrontPicTable
|
|
_08091950: .4byte gMonFrontPicCoords
|
|
_08091954: .4byte gUnknown_083B5584
|
|
_08091958:
|
|
lsls r6, r7, 3
|
|
ldr r0, _0809198C @ =gMonFrontPicTable
|
|
adds r0, r6
|
|
ldr r2, _08091990 @ =gMonFrontPicCoords
|
|
lsls r1, r7, 2
|
|
adds r2, r1
|
|
ldrb r1, [r2]
|
|
ldrb r2, [r2, 0x1]
|
|
movs r3, 0x80
|
|
lsls r3, 18
|
|
ldr r4, _08091994 @ =gUnknown_083B5584
|
|
mov r12, r4
|
|
mov r5, r8
|
|
lsls r4, r5, 2
|
|
add r4, r12
|
|
ldr r4, [r4]
|
|
str r4, [sp]
|
|
str r7, [sp, 0x4]
|
|
ldr r4, _08091998 @ =gSaveBlock2
|
|
ldr r4, [r4, 0x20]
|
|
str r4, [sp, 0x8]
|
|
movs r4, 0x1
|
|
str r4, [sp, 0xC]
|
|
bl LoadSpecialPokePic
|
|
b _080919CE
|
|
.align 2, 0
|
|
_0809198C: .4byte gMonFrontPicTable
|
|
_08091990: .4byte gMonFrontPicCoords
|
|
_08091994: .4byte gUnknown_083B5584
|
|
_08091998: .4byte gSaveBlock2
|
|
_0809199C:
|
|
lsls r6, r7, 3
|
|
ldr r0, _08091A30 @ =gMonFrontPicTable
|
|
adds r0, r6
|
|
ldr r2, _08091A34 @ =gMonFrontPicCoords
|
|
lsls r1, r7, 2
|
|
adds r2, r1
|
|
ldrb r1, [r2]
|
|
ldrb r2, [r2, 0x1]
|
|
movs r3, 0x80
|
|
lsls r3, 18
|
|
ldr r4, _08091A38 @ =gUnknown_083B5584
|
|
mov r12, r4
|
|
mov r5, r8
|
|
lsls r4, r5, 2
|
|
add r4, r12
|
|
ldr r4, [r4]
|
|
str r4, [sp]
|
|
str r7, [sp, 0x4]
|
|
ldr r4, _08091A3C @ =gSaveBlock2
|
|
ldr r4, [r4, 0x1C]
|
|
str r4, [sp, 0x8]
|
|
movs r4, 0x1
|
|
str r4, [sp, 0xC]
|
|
bl LoadSpecialPokePic
|
|
_080919CE:
|
|
ldr r0, _08091A40 @ =gMonPaletteTable
|
|
adds r0, r6, r0
|
|
ldr r0, [r0]
|
|
mov r1, r8
|
|
lsls r4, r1, 4
|
|
movs r2, 0x80
|
|
lsls r2, 1
|
|
adds r1, r4, r2
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
movs r2, 0x20
|
|
bl LoadCompressedPalette
|
|
mov r3, r8
|
|
lsls r1, r3, 24
|
|
lsrs r1, 24
|
|
mov r0, r8
|
|
bl sub_8091878
|
|
ldr r0, _08091A44 @ =gUnknown_02024E8C
|
|
mov r5, r9
|
|
lsls r1, r5, 16
|
|
asrs r1, 16
|
|
mov r3, r10
|
|
lsls r2, r3, 16
|
|
asrs r2, 16
|
|
movs r3, 0
|
|
bl CreateSprite
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _08091A48 @ =gSprites
|
|
lsls r2, r0, 4
|
|
adds r2, r0
|
|
lsls r2, 2
|
|
adds r2, r1
|
|
ldrb r3, [r2, 0x5]
|
|
movs r1, 0xF
|
|
ands r1, r3
|
|
orrs r1, r4
|
|
strb r1, [r2, 0x5]
|
|
add sp, 0x10
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08091A30: .4byte gMonFrontPicTable
|
|
_08091A34: .4byte gMonFrontPicCoords
|
|
_08091A38: .4byte gUnknown_083B5584
|
|
_08091A3C: .4byte gSaveBlock2
|
|
_08091A40: .4byte gMonPaletteTable
|
|
_08091A44: .4byte gUnknown_02024E8C
|
|
_08091A48: .4byte gSprites
|
|
thumb_func_end sub_80918EC
|
|
|
|
thumb_func_start sub_8091A4C
|
|
sub_8091A4C: @ 8091A4C
|
|
push {r4-r6,lr}
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5,r6}
|
|
sub sp, 0x8
|
|
adds r5, r0, 0
|
|
adds r6, r1, 0
|
|
mov r8, r2
|
|
mov r9, r3
|
|
lsls r5, 16
|
|
lsrs r5, 16
|
|
lsls r6, 16
|
|
lsrs r6, 16
|
|
mov r0, r8
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
mov r8, r0
|
|
mov r1, r9
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
mov r9, r1
|
|
lsls r0, r5, 3
|
|
ldr r1, _08091AE4 @ =gTrainerFrontPicTable
|
|
adds r0, r1
|
|
ldr r1, _08091AE8 @ =gTrainerFrontPicCoords
|
|
lsls r2, r5, 2
|
|
adds r2, r1
|
|
ldrb r1, [r2]
|
|
ldrb r2, [r2, 0x1]
|
|
movs r3, 0x80
|
|
lsls r3, 18
|
|
ldr r4, _08091AEC @ =gUnknown_083B5584
|
|
ldr r4, [r4]
|
|
str r4, [sp]
|
|
str r5, [sp, 0x4]
|
|
bl DecompressPicFromTable_2
|
|
adds r0, r5, 0
|
|
movs r1, 0
|
|
bl sub_80918B0
|
|
ldr r0, _08091AF0 @ =gUnknown_02024E8C
|
|
lsls r6, 16
|
|
asrs r6, 16
|
|
mov r3, r8
|
|
lsls r3, 16
|
|
asrs r3, 16
|
|
mov r8, r3
|
|
adds r1, r6, 0
|
|
mov r2, r8
|
|
movs r3, 0
|
|
bl CreateSprite
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _08091AF4 @ =gSprites
|
|
lsls r2, r0, 4
|
|
adds r2, r0
|
|
lsls r2, 2
|
|
adds r2, r1
|
|
mov r1, r9
|
|
lsls r1, 4
|
|
mov r9, r1
|
|
ldrb r3, [r2, 0x5]
|
|
movs r1, 0xF
|
|
ands r1, r3
|
|
mov r3, r9
|
|
orrs r1, r3
|
|
strb r1, [r2, 0x5]
|
|
add sp, 0x8
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08091AE4: .4byte gTrainerFrontPicTable
|
|
_08091AE8: .4byte gTrainerFrontPicCoords
|
|
_08091AEC: .4byte gUnknown_083B5584
|
|
_08091AF0: .4byte gUnknown_02024E8C
|
|
_08091AF4: .4byte gSprites
|
|
thumb_func_end sub_8091A4C
|
|
|
|
thumb_func_start sub_8091AF8
|
|
sub_8091AF8: @ 8091AF8
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x14
|
|
ldr r4, [sp, 0x34]
|
|
ldr r5, [sp, 0x38]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
lsls r2, 24
|
|
lsrs r7, r2, 24
|
|
lsls r3, 24
|
|
lsrs r3, 24
|
|
str r3, [sp, 0x4]
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
str r4, [sp, 0x8]
|
|
lsls r5, 24
|
|
lsrs r5, 24
|
|
mov r10, r5
|
|
bl SortPokedex
|
|
movs r5, 0
|
|
movs r6, 0
|
|
ldr r4, _08091D08 @ =0x00000181
|
|
ldr r3, _08091D0C @ =gPokedexView
|
|
_08091B32:
|
|
ldr r2, [r3]
|
|
lsls r0, r5, 2
|
|
adds r1, r2, r0
|
|
ldrb r0, [r1, 0x2]
|
|
lsls r0, 31
|
|
cmp r0, 0
|
|
beq _08091B4E
|
|
lsls r0, r6, 2
|
|
adds r0, r2, r0
|
|
ldr r1, [r1]
|
|
str r1, [r0]
|
|
adds r0, r6, 0x1
|
|
lsls r0, 16
|
|
lsrs r6, r0, 16
|
|
_08091B4E:
|
|
adds r0, r5, 0x1
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
cmp r5, r4
|
|
bls _08091B32
|
|
ldr r1, _08091D0C @ =gPokedexView
|
|
ldr r0, [r1]
|
|
ldr r2, _08091D10 @ =0x0000060c
|
|
adds r0, r2
|
|
adds r1, r6, 0
|
|
strh r6, [r0]
|
|
cmp r7, 0xFF
|
|
beq _08091C04
|
|
movs r5, 0
|
|
lsls r0, r1, 16
|
|
movs r6, 0
|
|
cmp r0, 0
|
|
beq _08091BFA
|
|
lsls r7, 2
|
|
ldr r0, _08091D14 @ =gUnknown_083B57BC
|
|
adds r0, 0x3
|
|
adds r0, r7, r0
|
|
str r0, [sp, 0xC]
|
|
ldr r0, _08091D14 @ =gUnknown_083B57BC
|
|
adds r0, r7
|
|
mov r9, r0
|
|
_08091B82:
|
|
ldr r1, _08091D0C @ =gPokedexView
|
|
ldr r0, [r1]
|
|
lsls r4, r5, 2
|
|
adds r0, r4
|
|
ldrh r0, [r0]
|
|
bl NationalPokedexNumToSpecies
|
|
lsls r0, 16
|
|
lsrs r2, r0, 16
|
|
ldr r1, _08091D18 @ =gSpeciesNames
|
|
movs r0, 0xB
|
|
muls r0, r2
|
|
adds r0, r1
|
|
ldrb r2, [r0]
|
|
adds r3, r2, 0
|
|
mov r0, r9
|
|
ldrb r0, [r0]
|
|
cmp r2, r0
|
|
bcc _08091BBA
|
|
mov r1, r9
|
|
ldrb r0, [r1]
|
|
ldr r1, _08091D14 @ =gUnknown_083B57BC
|
|
adds r1, 0x1
|
|
adds r1, r7, r1
|
|
ldrb r1, [r1]
|
|
adds r0, r1
|
|
cmp r2, r0
|
|
blt _08091BD2
|
|
_08091BBA:
|
|
ldr r0, _08091D14 @ =gUnknown_083B57BC
|
|
adds r0, 0x2
|
|
adds r0, r7, r0
|
|
ldrb r2, [r0]
|
|
cmp r3, r2
|
|
bcc _08091BE6
|
|
ldrb r1, [r0]
|
|
ldr r2, [sp, 0xC]
|
|
ldrb r0, [r2]
|
|
adds r1, r0
|
|
cmp r3, r1
|
|
bge _08091BE6
|
|
_08091BD2:
|
|
ldr r2, _08091D0C @ =gPokedexView
|
|
ldr r0, [r2]
|
|
lsls r1, r6, 2
|
|
adds r1, r0, r1
|
|
adds r0, r4
|
|
ldr r0, [r0]
|
|
str r0, [r1]
|
|
adds r0, r6, 0x1
|
|
lsls r0, 16
|
|
lsrs r6, r0, 16
|
|
_08091BE6:
|
|
adds r0, r5, 0x1
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
ldr r1, _08091D0C @ =gPokedexView
|
|
ldr r0, [r1]
|
|
ldr r2, _08091D10 @ =0x0000060c
|
|
adds r0, r2
|
|
ldrh r0, [r0]
|
|
cmp r5, r0
|
|
bcc _08091B82
|
|
_08091BFA:
|
|
ldr r1, _08091D0C @ =gPokedexView
|
|
ldr r0, [r1]
|
|
ldr r2, _08091D10 @ =0x0000060c
|
|
adds r0, r2
|
|
strh r6, [r0]
|
|
_08091C04:
|
|
ldr r0, [sp, 0x4]
|
|
cmp r0, 0xFF
|
|
beq _08091C74
|
|
movs r5, 0
|
|
movs r6, 0
|
|
ldr r1, _08091D0C @ =gPokedexView
|
|
ldr r0, [r1]
|
|
ldr r2, _08091D10 @ =0x0000060c
|
|
adds r0, r2
|
|
ldrh r0, [r0]
|
|
cmp r6, r0
|
|
bcs _08091C6A
|
|
adds r7, r1, 0
|
|
ldr r0, _08091D1C @ =gBaseStats
|
|
mov r8, r0
|
|
_08091C22:
|
|
ldr r0, [r7]
|
|
lsls r4, r5, 2
|
|
adds r0, r4
|
|
ldrh r0, [r0]
|
|
bl NationalPokedexNumToSpecies
|
|
lsls r0, 16
|
|
lsrs r2, r0, 16
|
|
lsls r0, r2, 3
|
|
subs r0, r2
|
|
lsls r0, 2
|
|
add r0, r8
|
|
ldrb r0, [r0, 0x19]
|
|
lsls r0, 25
|
|
lsrs r0, 25
|
|
ldr r1, [sp, 0x4]
|
|
cmp r1, r0
|
|
bne _08091C58
|
|
ldr r0, [r7]
|
|
lsls r1, r6, 2
|
|
adds r1, r0, r1
|
|
adds r0, r4
|
|
ldr r0, [r0]
|
|
str r0, [r1]
|
|
adds r0, r6, 0x1
|
|
lsls r0, 16
|
|
lsrs r6, r0, 16
|
|
_08091C58:
|
|
adds r0, r5, 0x1
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
ldr r0, [r7]
|
|
ldr r2, _08091D10 @ =0x0000060c
|
|
adds r0, r2
|
|
ldrh r0, [r0]
|
|
cmp r5, r0
|
|
bcc _08091C22
|
|
_08091C6A:
|
|
ldr r1, _08091D0C @ =gPokedexView
|
|
ldr r0, [r1]
|
|
ldr r2, _08091D10 @ =0x0000060c
|
|
adds r0, r2
|
|
strh r6, [r0]
|
|
_08091C74:
|
|
ldr r0, [sp, 0x8]
|
|
cmp r0, 0xFF
|
|
bne _08091C8A
|
|
mov r1, r10
|
|
cmp r1, 0xFF
|
|
bne _08091C82
|
|
b _08091DA6
|
|
_08091C82:
|
|
mov r2, r10
|
|
str r2, [sp, 0x8]
|
|
movs r0, 0xFF
|
|
mov r10, r0
|
|
_08091C8A:
|
|
mov r1, r10
|
|
cmp r1, 0xFF
|
|
bne _08091D20
|
|
movs r5, 0
|
|
movs r6, 0
|
|
ldr r2, _08091D0C @ =gPokedexView
|
|
ldr r0, [r2]
|
|
ldr r1, _08091D10 @ =0x0000060c
|
|
adds r0, r1
|
|
ldrh r0, [r0]
|
|
cmp r6, r0
|
|
bcs _08091D9C
|
|
adds r3, r2, 0
|
|
mov r7, sp
|
|
mov r8, r2
|
|
_08091CA8:
|
|
ldr r0, [r3]
|
|
lsls r4, r5, 2
|
|
adds r1, r0, r4
|
|
ldrb r0, [r1, 0x2]
|
|
lsls r0, 30
|
|
cmp r0, 0
|
|
bge _08091CF2
|
|
ldrh r0, [r1]
|
|
str r3, [sp, 0x10]
|
|
bl NationalPokedexNumToSpecies
|
|
lsls r0, 16
|
|
lsrs r2, r0, 16
|
|
ldr r1, _08091D1C @ =gBaseStats
|
|
lsls r0, r2, 3
|
|
subs r0, r2
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldrb r1, [r0, 0x6]
|
|
strb r1, [r7]
|
|
ldrb r0, [r0, 0x7]
|
|
strb r0, [r7, 0x1]
|
|
ldr r3, [sp, 0x10]
|
|
ldr r2, [sp, 0x8]
|
|
cmp r1, r2
|
|
beq _08091CE0
|
|
cmp r0, r2
|
|
bne _08091CF2
|
|
_08091CE0:
|
|
ldr r0, [r3]
|
|
lsls r1, r6, 2
|
|
adds r1, r0, r1
|
|
adds r0, r4
|
|
ldr r0, [r0]
|
|
str r0, [r1]
|
|
adds r0, r6, 0x1
|
|
lsls r0, 16
|
|
lsrs r6, r0, 16
|
|
_08091CF2:
|
|
adds r0, r5, 0x1
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
mov r1, r8
|
|
ldr r0, [r1]
|
|
ldr r2, _08091D10 @ =0x0000060c
|
|
adds r0, r2
|
|
ldrh r0, [r0]
|
|
cmp r5, r0
|
|
bcc _08091CA8
|
|
b _08091D9C
|
|
.align 2, 0
|
|
_08091D08: .4byte 0x00000181
|
|
_08091D0C: .4byte gPokedexView
|
|
_08091D10: .4byte 0x0000060c
|
|
_08091D14: .4byte gUnknown_083B57BC
|
|
_08091D18: .4byte gSpeciesNames
|
|
_08091D1C: .4byte gBaseStats
|
|
_08091D20:
|
|
movs r5, 0
|
|
movs r6, 0
|
|
ldr r1, _08091E0C @ =gPokedexView
|
|
ldr r0, [r1]
|
|
ldr r2, _08091E10 @ =0x0000060c
|
|
adds r0, r2
|
|
ldrh r0, [r0]
|
|
cmp r6, r0
|
|
bcs _08091D9C
|
|
mov r7, sp
|
|
_08091D34:
|
|
ldr r0, [r1]
|
|
lsls r1, r5, 2
|
|
adds r2, r0, r1
|
|
ldrb r0, [r2, 0x2]
|
|
lsls r0, 30
|
|
adds r4, r1, 0
|
|
cmp r0, 0
|
|
bge _08091D88
|
|
ldrh r0, [r2]
|
|
bl NationalPokedexNumToSpecies
|
|
lsls r0, 16
|
|
lsrs r2, r0, 16
|
|
ldr r1, _08091E14 @ =gBaseStats
|
|
lsls r0, r2, 3
|
|
subs r0, r2
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldrb r1, [r0, 0x6]
|
|
strb r1, [r7]
|
|
ldrb r0, [r0, 0x7]
|
|
strb r0, [r7, 0x1]
|
|
ldr r2, [sp, 0x8]
|
|
cmp r1, r2
|
|
bne _08091D6A
|
|
cmp r0, r10
|
|
beq _08091D74
|
|
_08091D6A:
|
|
cmp r1, r10
|
|
bne _08091D88
|
|
ldr r1, [sp, 0x8]
|
|
cmp r0, r1
|
|
bne _08091D88
|
|
_08091D74:
|
|
ldr r2, _08091E0C @ =gPokedexView
|
|
ldr r0, [r2]
|
|
lsls r1, r6, 2
|
|
adds r1, r0, r1
|
|
adds r0, r4
|
|
ldr r0, [r0]
|
|
str r0, [r1]
|
|
adds r0, r6, 0x1
|
|
lsls r0, 16
|
|
lsrs r6, r0, 16
|
|
_08091D88:
|
|
adds r0, r5, 0x1
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
ldr r1, _08091E0C @ =gPokedexView
|
|
ldr r0, [r1]
|
|
ldr r2, _08091E10 @ =0x0000060c
|
|
adds r0, r2
|
|
ldrh r0, [r0]
|
|
cmp r5, r0
|
|
bcc _08091D34
|
|
_08091D9C:
|
|
ldr r1, _08091E0C @ =gPokedexView
|
|
ldr r0, [r1]
|
|
ldr r2, _08091E10 @ =0x0000060c
|
|
adds r0, r2
|
|
strh r6, [r0]
|
|
_08091DA6:
|
|
ldr r1, _08091E0C @ =gPokedexView
|
|
ldr r0, [r1]
|
|
ldr r2, _08091E10 @ =0x0000060c
|
|
adds r1, r0, r2
|
|
ldrh r0, [r1]
|
|
cmp r0, 0
|
|
beq _08091DFA
|
|
adds r5, r0, 0
|
|
ldr r0, _08091E18 @ =0x00000181
|
|
cmp r5, r0
|
|
bhi _08091DFA
|
|
ldr r4, _08091E0C @ =gPokedexView
|
|
movs r1, 0x2
|
|
negs r1, r1
|
|
mov r10, r1
|
|
movs r2, 0x3
|
|
negs r2, r2
|
|
mov r9, r2
|
|
mov r8, r0
|
|
ldr r0, _08091E1C @ =0x0000ffff
|
|
adds r7, r0, 0
|
|
_08091DD0:
|
|
ldr r1, [r4]
|
|
lsls r3, r5, 2
|
|
adds r1, r3
|
|
ldrh r0, [r1]
|
|
orrs r0, r7
|
|
strh r0, [r1]
|
|
ldrb r2, [r1, 0x2]
|
|
mov r0, r10
|
|
ands r0, r2
|
|
strb r0, [r1, 0x2]
|
|
ldr r1, [r4]
|
|
adds r1, r3
|
|
ldrb r2, [r1, 0x2]
|
|
mov r0, r9
|
|
ands r0, r2
|
|
strb r0, [r1, 0x2]
|
|
adds r0, r5, 0x1
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
cmp r5, r8
|
|
bls _08091DD0
|
|
_08091DFA:
|
|
adds r0, r6, 0
|
|
add sp, 0x14
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08091E0C: .4byte gPokedexView
|
|
_08091E10: .4byte 0x0000060c
|
|
_08091E14: .4byte gBaseStats
|
|
_08091E18: .4byte 0x00000181
|
|
_08091E1C: .4byte 0x0000ffff
|
|
thumb_func_end sub_8091AF8
|
|
|
|
thumb_func_start sub_8091E20
|
|
sub_8091E20: @ 8091E20
|
|
push {lr}
|
|
sub sp, 0x8
|
|
movs r1, 0x20
|
|
str r1, [sp]
|
|
movs r1, 0x1
|
|
str r1, [sp, 0x4]
|
|
movs r1, 0x9
|
|
movs r2, 0x78
|
|
movs r3, 0xD0
|
|
bl sub_8072AB0
|
|
add sp, 0x8
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8091E20
|
|
|
|
thumb_func_start sub_8091E3C
|
|
sub_8091E3C: @ 8091E3C
|
|
push {lr}
|
|
ldr r0, _08091E50 @ =sub_8091E54
|
|
movs r1, 0
|
|
bl CreateTask
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08091E50: .4byte sub_8091E54
|
|
thumb_func_end sub_8091E3C
|
|
|
|
thumb_func_start sub_8091E54
|
|
sub_8091E54: @ 8091E54
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0x4
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
ldr r1, _08091E78 @ =gMain
|
|
ldr r2, _08091E7C @ =0x0000043c
|
|
adds r0, r1, r2
|
|
ldrb r0, [r0]
|
|
adds r3, r1, 0
|
|
cmp r0, 0x4
|
|
bhi _08091E98
|
|
lsls r0, 2
|
|
ldr r1, _08091E80 @ =_08091E84
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08091E78: .4byte gMain
|
|
_08091E7C: .4byte 0x0000043c
|
|
_08091E80: .4byte _08091E84
|
|
.align 2, 0
|
|
_08091E84:
|
|
.4byte _08091E98
|
|
.4byte _08091F50
|
|
.4byte _08091FC0
|
|
.4byte _08091FE0
|
|
.4byte _0809200C
|
|
_08091E98:
|
|
ldr r0, _08091F1C @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08091EA6
|
|
b _08092030
|
|
_08091EA6:
|
|
ldr r0, _08091F20 @ =gPokedexView
|
|
ldr r0, [r0]
|
|
ldr r1, _08091F24 @ =0x0000064a
|
|
adds r0, r1
|
|
movs r1, 0x2
|
|
strb r1, [r0]
|
|
movs r0, 0
|
|
bl sub_8091060
|
|
ldr r0, _08091F28 @ =gPokedexMenuSearch_Gfx
|
|
movs r1, 0xC0
|
|
lsls r1, 19
|
|
bl LZ77UnCompVram
|
|
ldr r0, _08091F2C @ =gUnknown_08E96D2C
|
|
ldr r1, _08091F30 @ =0x06007800
|
|
bl LZ77UnCompVram
|
|
ldr r0, _08091F34 @ =gPokedexMenuSearch_Pal + 0x2
|
|
movs r1, 0x1
|
|
movs r2, 0x7E
|
|
bl LoadPalette
|
|
bl IsNationalPokedexEnabled
|
|
cmp r0, 0
|
|
bne _08091F10
|
|
movs r4, 0
|
|
ldr r2, _08091F38 @ =0x06007a80
|
|
mov r8, r2
|
|
ldr r0, _08091F3C @ =0x06007b00
|
|
mov r12, r0
|
|
movs r5, 0x1
|
|
ldr r7, _08091F40 @ =0x06007ac0
|
|
ldr r6, _08091F44 @ =0x06007b40
|
|
_08091EEC:
|
|
lsls r1, r4, 1
|
|
mov r0, r8
|
|
adds r2, r1, r0
|
|
mov r0, r12
|
|
adds r3, r1, r0
|
|
ldrh r0, [r3]
|
|
strh r0, [r2]
|
|
adds r2, r1, r7
|
|
adds r1, r6
|
|
ldrh r0, [r1]
|
|
strh r0, [r2]
|
|
strh r5, [r3]
|
|
strh r5, [r1]
|
|
adds r0, r4, 0x1
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
cmp r4, 0x10
|
|
bls _08091EEC
|
|
_08091F10:
|
|
ldr r0, _08091F48 @ =gMain
|
|
ldr r1, _08091F4C @ =0x0000043c
|
|
adds r0, r1
|
|
movs r1, 0x1
|
|
strb r1, [r0]
|
|
b _08092030
|
|
.align 2, 0
|
|
_08091F1C: .4byte gPaletteFade
|
|
_08091F20: .4byte gPokedexView
|
|
_08091F24: .4byte 0x0000064a
|
|
_08091F28: .4byte gPokedexMenuSearch_Gfx
|
|
_08091F2C: .4byte gUnknown_08E96D2C
|
|
_08091F30: .4byte 0x06007800
|
|
_08091F34: .4byte gPokedexMenuSearch_Pal + 0x2
|
|
_08091F38: .4byte 0x06007a80
|
|
_08091F3C: .4byte 0x06007b00
|
|
_08091F40: .4byte 0x06007ac0
|
|
_08091F44: .4byte 0x06007b40
|
|
_08091F48: .4byte gMain
|
|
_08091F4C: .4byte 0x0000043c
|
|
_08091F50:
|
|
ldr r4, _08091FA8 @ =gWindowConfig_81E7064
|
|
adds r0, r4, 0
|
|
bl SetUpWindowConfig
|
|
adds r0, r4, 0
|
|
bl InitMenuWindow
|
|
ldr r0, _08091FAC @ =gUnknown_083A05CC
|
|
bl LoadCompressedObjectPic
|
|
ldr r0, _08091FB0 @ =gUnknown_083A05DC
|
|
bl LoadSpritePalettes
|
|
adds r0, r5, 0
|
|
bl sub_809308C
|
|
movs r4, 0
|
|
lsls r0, r5, 2
|
|
adds r0, r5
|
|
lsls r1, r0, 3
|
|
ldr r3, _08091FB4 @ =gTasks + 0x8
|
|
movs r2, 0
|
|
_08091F7C:
|
|
lsls r0, r4, 1
|
|
adds r0, r1
|
|
adds r0, r3
|
|
strh r2, [r0]
|
|
adds r0, r4, 0x1
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
cmp r4, 0xF
|
|
bls _08091F7C
|
|
adds r0, r5, 0
|
|
bl sub_8092EB0
|
|
movs r0, 0
|
|
bl sub_8092AB0
|
|
adds r0, r5, 0
|
|
bl sub_8092B68
|
|
ldr r1, _08091FB8 @ =gMain
|
|
ldr r2, _08091FBC @ =0x0000043c
|
|
adds r1, r2
|
|
b _08091FF6
|
|
.align 2, 0
|
|
_08091FA8: .4byte gWindowConfig_81E7064
|
|
_08091FAC: .4byte gUnknown_083A05CC
|
|
_08091FB0: .4byte gUnknown_083A05DC
|
|
_08091FB4: .4byte gTasks + 0x8
|
|
_08091FB8: .4byte gMain
|
|
_08091FBC: .4byte 0x0000043c
|
|
_08091FC0:
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
movs r1, 0
|
|
str r1, [sp]
|
|
movs r2, 0x10
|
|
movs r3, 0
|
|
bl BeginNormalPaletteFade
|
|
ldr r1, _08091FD8 @ =gMain
|
|
ldr r0, _08091FDC @ =0x0000043c
|
|
adds r1, r0
|
|
b _08091FF6
|
|
.align 2, 0
|
|
_08091FD8: .4byte gMain
|
|
_08091FDC: .4byte 0x0000043c
|
|
_08091FE0:
|
|
ldr r1, _08092000 @ =REG_BG3CNT
|
|
ldr r2, _08092004 @ =0x00000f03
|
|
adds r0, r2, 0
|
|
strh r0, [r1]
|
|
subs r1, 0xE
|
|
movs r2, 0xE2
|
|
lsls r2, 5
|
|
adds r0, r2, 0
|
|
strh r0, [r1]
|
|
ldr r0, _08092008 @ =0x0000043c
|
|
adds r1, r3, r0
|
|
_08091FF6:
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
b _08092030
|
|
.align 2, 0
|
|
_08092000: .4byte REG_BG3CNT
|
|
_08092004: .4byte 0x00000f03
|
|
_08092008: .4byte 0x0000043c
|
|
_0809200C:
|
|
ldr r0, _0809203C @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
cmp r2, 0
|
|
bne _08092030
|
|
ldr r1, _08092040 @ =gTasks
|
|
lsls r0, r5, 2
|
|
adds r0, r5
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _08092044 @ =sub_809204C
|
|
str r1, [r0]
|
|
ldr r1, _08092048 @ =0x0000043c
|
|
adds r0, r3, r1
|
|
strb r2, [r0]
|
|
_08092030:
|
|
add sp, 0x4
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0809203C: .4byte gPaletteFade
|
|
_08092040: .4byte gTasks
|
|
_08092044: .4byte sub_809204C
|
|
_08092048: .4byte 0x0000043c
|
|
thumb_func_end sub_8091E54
|
|
|
|
thumb_func_start sub_809204C
|
|
sub_809204C: @ 809204C
|
|
push {r4,r5,lr}
|
|
adds r5, r0, 0
|
|
lsls r5, 24
|
|
lsrs r5, 24
|
|
ldr r0, _08092074 @ =gTasks
|
|
lsls r4, r5, 2
|
|
adds r4, r5
|
|
lsls r4, 3
|
|
adds r4, r0
|
|
ldrb r0, [r4, 0x8]
|
|
bl sub_8092AB0
|
|
adds r0, r5, 0
|
|
bl sub_8092B68
|
|
ldr r0, _08092078 @ =sub_809207C
|
|
str r0, [r4]
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08092074: .4byte gTasks
|
|
_08092078: .4byte sub_809207C
|
|
thumb_func_end sub_809204C
|
|
|
|
thumb_func_start sub_809207C
|
|
sub_809207C: @ 809207C
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
ldr r0, _080920A4 @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080920B0
|
|
movs r0, 0x3
|
|
bl PlaySE
|
|
ldr r0, _080920A8 @ =gTasks
|
|
lsls r1, r5, 2
|
|
adds r1, r5
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldr r0, _080920AC @ =sub_80927B8
|
|
str r0, [r1]
|
|
b _0809216C
|
|
.align 2, 0
|
|
_080920A4: .4byte gMain
|
|
_080920A8: .4byte gTasks
|
|
_080920AC: .4byte sub_80927B8
|
|
_080920B0:
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0809210C
|
|
ldr r1, _080920D4 @ =gTasks
|
|
lsls r0, r5, 2
|
|
adds r0, r5
|
|
lsls r0, 3
|
|
adds r5, r0, r1
|
|
movs r0, 0x8
|
|
ldrsh r4, [r5, r0]
|
|
cmp r4, 0x1
|
|
beq _080920E8
|
|
cmp r4, 0x1
|
|
bgt _080920D8
|
|
cmp r4, 0
|
|
beq _080920DE
|
|
b _0809216C
|
|
.align 2, 0
|
|
_080920D4: .4byte gTasks
|
|
_080920D8:
|
|
cmp r4, 0x2
|
|
beq _080920FC
|
|
b _0809216C
|
|
_080920DE:
|
|
movs r0, 0x15
|
|
bl PlaySE
|
|
strh r4, [r5, 0xA]
|
|
b _080920F2
|
|
_080920E8:
|
|
movs r0, 0x15
|
|
bl PlaySE
|
|
movs r0, 0x4
|
|
strh r0, [r5, 0xA]
|
|
_080920F2:
|
|
ldr r0, _080920F8 @ =sub_809217C
|
|
str r0, [r5]
|
|
b _0809216C
|
|
.align 2, 0
|
|
_080920F8: .4byte sub_809217C
|
|
_080920FC:
|
|
movs r0, 0x3
|
|
bl PlaySE
|
|
ldr r0, _08092108 @ =sub_80927B8
|
|
str r0, [r5]
|
|
b _0809216C
|
|
.align 2, 0
|
|
_08092108: .4byte sub_80927B8
|
|
_0809210C:
|
|
movs r0, 0x20
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0809213A
|
|
ldr r0, _08092174 @ =gTasks
|
|
lsls r1, r5, 2
|
|
adds r1, r5
|
|
lsls r1, 3
|
|
adds r4, r1, r0
|
|
movs r1, 0x8
|
|
ldrsh r0, [r4, r1]
|
|
cmp r0, 0
|
|
ble _0809213A
|
|
movs r0, 0x6D
|
|
bl PlaySE
|
|
ldrh r0, [r4, 0x8]
|
|
subs r0, 0x1
|
|
strh r0, [r4, 0x8]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_8092AB0
|
|
_0809213A:
|
|
ldr r0, _08092178 @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0x10
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0809216C
|
|
ldr r0, _08092174 @ =gTasks
|
|
lsls r1, r5, 2
|
|
adds r1, r5
|
|
lsls r1, 3
|
|
adds r4, r1, r0
|
|
movs r1, 0x8
|
|
ldrsh r0, [r4, r1]
|
|
cmp r0, 0x1
|
|
bgt _0809216C
|
|
movs r0, 0x6D
|
|
bl PlaySE
|
|
ldrh r0, [r4, 0x8]
|
|
adds r0, 0x1
|
|
strh r0, [r4, 0x8]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_8092AB0
|
|
_0809216C:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08092174: .4byte gTasks
|
|
_08092178: .4byte gMain
|
|
thumb_func_end sub_809207C
|
|
|
|
thumb_func_start sub_809217C
|
|
sub_809217C: @ 809217C
|
|
push {r4,r5,lr}
|
|
adds r5, r0, 0
|
|
lsls r5, 24
|
|
lsrs r5, 24
|
|
ldr r0, _080921A8 @ =gTasks
|
|
lsls r4, r5, 2
|
|
adds r4, r5
|
|
lsls r4, 3
|
|
adds r4, r0
|
|
ldrb r0, [r4, 0x8]
|
|
ldrb r1, [r4, 0xA]
|
|
bl sub_8092AD4
|
|
adds r0, r5, 0
|
|
bl sub_8092B68
|
|
ldr r0, _080921AC @ =sub_80921B0
|
|
str r0, [r4]
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080921A8: .4byte gTasks
|
|
_080921AC: .4byte sub_80921B0
|
|
thumb_func_end sub_809217C
|
|
|
|
thumb_func_start sub_80921B0
|
|
sub_80921B0: @ 80921B0
|
|
push {r4-r7,lr}
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
ldr r1, _080921D8 @ =gTasks
|
|
lsls r0, r5, 2
|
|
adds r0, r5
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
movs r1, 0x8
|
|
ldrsh r0, [r0, r1]
|
|
cmp r0, 0
|
|
beq _080921E4
|
|
bl IsNationalPokedexEnabled
|
|
ldr r6, _080921DC @ =gUnknown_083B586C
|
|
cmp r0, 0
|
|
bne _080921F0
|
|
ldr r6, _080921E0 @ =gUnknown_083B58A4
|
|
b _080921F0
|
|
.align 2, 0
|
|
_080921D8: .4byte gTasks
|
|
_080921DC: .4byte gUnknown_083B586C
|
|
_080921E0: .4byte gUnknown_083B58A4
|
|
_080921E4:
|
|
bl IsNationalPokedexEnabled
|
|
ldr r6, _0809221C @ =gUnknown_083B5850
|
|
cmp r0, 0
|
|
bne _080921F0
|
|
ldr r6, _08092220 @ =gUnknown_083B5888
|
|
_080921F0:
|
|
ldr r0, _08092224 @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
lsls r0, 16
|
|
lsrs r3, r0, 16
|
|
cmp r3, 0
|
|
beq _08092230
|
|
movs r0, 0x17
|
|
bl PlaySE
|
|
adds r0, r5, 0
|
|
bl sub_8092EB0
|
|
ldr r0, _08092228 @ =gTasks
|
|
lsls r1, r5, 2
|
|
adds r1, r5
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldr r0, _0809222C @ =sub_809204C
|
|
str r0, [r1]
|
|
b _080923EC
|
|
.align 2, 0
|
|
_0809221C: .4byte gUnknown_083B5850
|
|
_08092220: .4byte gUnknown_083B5888
|
|
_08092224: .4byte gMain
|
|
_08092228: .4byte gTasks
|
|
_0809222C: .4byte sub_809204C
|
|
_08092230:
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08092300
|
|
ldr r0, _080922B4 @ =gTasks
|
|
lsls r1, r5, 2
|
|
adds r1, r5
|
|
lsls r1, 3
|
|
adds r6, r1, r0
|
|
movs r2, 0xA
|
|
ldrsh r0, [r6, r2]
|
|
cmp r0, 0x6
|
|
bne _080922F0
|
|
movs r1, 0x8
|
|
ldrsh r0, [r6, r1]
|
|
cmp r0, 0
|
|
beq _080922D4
|
|
ldr r1, _080922B8 @ =gUnknown_0202FFBA
|
|
movs r0, 0x40
|
|
strb r0, [r1]
|
|
ldr r7, _080922BC @ =gPokedexView
|
|
ldr r1, [r7]
|
|
ldr r0, _080922C0 @ =0x0000062a
|
|
adds r2, r1, r0
|
|
movs r0, 0x40
|
|
strh r0, [r2]
|
|
ldr r0, _080922C4 @ =gUnknown_0202FFB8
|
|
strh r3, [r0]
|
|
movs r2, 0xC2
|
|
lsls r2, 3
|
|
adds r1, r2
|
|
strh r3, [r1]
|
|
adds r0, r5, 0
|
|
movs r1, 0x5
|
|
bl sub_8092E10
|
|
ldr r4, _080922C8 @ =gSaveBlock2
|
|
strb r0, [r4, 0x19]
|
|
bl IsNationalPokedexEnabled
|
|
cmp r0, 0
|
|
bne _08092288
|
|
movs r0, 0
|
|
strb r0, [r4, 0x19]
|
|
_08092288:
|
|
ldr r0, [r7]
|
|
ldrb r1, [r4, 0x19]
|
|
ldr r2, _080922CC @ =0x00000614
|
|
adds r0, r2
|
|
strh r1, [r0]
|
|
adds r0, r5, 0
|
|
movs r1, 0x4
|
|
bl sub_8092E10
|
|
strb r0, [r4, 0x18]
|
|
ldr r0, [r7]
|
|
ldrb r1, [r4, 0x18]
|
|
movs r2, 0xC3
|
|
lsls r2, 3
|
|
adds r0, r2
|
|
strh r1, [r0]
|
|
movs r0, 0x3
|
|
bl PlaySE
|
|
ldr r0, _080922D0 @ =sub_80927B8
|
|
str r0, [r6]
|
|
b _080923EC
|
|
.align 2, 0
|
|
_080922B4: .4byte gTasks
|
|
_080922B8: .4byte gUnknown_0202FFBA
|
|
_080922BC: .4byte gPokedexView
|
|
_080922C0: .4byte 0x0000062a
|
|
_080922C4: .4byte gUnknown_0202FFB8
|
|
_080922C8: .4byte gSaveBlock2
|
|
_080922CC: .4byte 0x00000614
|
|
_080922D0: .4byte sub_80927B8
|
|
_080922D4:
|
|
ldr r0, _080922E8 @ =gDexText_Searching
|
|
bl sub_8091E20
|
|
ldr r0, _080922EC @ =sub_80923FC
|
|
str r0, [r6]
|
|
movs r0, 0x70
|
|
bl PlaySE
|
|
b _080923EC
|
|
.align 2, 0
|
|
_080922E8: .4byte gDexText_Searching
|
|
_080922EC: .4byte sub_80923FC
|
|
_080922F0:
|
|
movs r0, 0x15
|
|
bl PlaySE
|
|
ldr r0, _080922FC @ =sub_80925CC
|
|
str r0, [r6]
|
|
b _080923EC
|
|
.align 2, 0
|
|
_080922FC: .4byte sub_80925CC
|
|
_08092300:
|
|
movs r0, 0x20
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08092338
|
|
ldr r1, _080923F4 @ =gTasks
|
|
lsls r0, r5, 2
|
|
adds r0, r5
|
|
lsls r0, 3
|
|
adds r4, r0, r1
|
|
movs r1, 0xA
|
|
ldrsh r0, [r4, r1]
|
|
lsls r0, 2
|
|
adds r0, r6
|
|
ldrb r0, [r0]
|
|
cmp r0, 0xFF
|
|
beq _08092338
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
movs r2, 0xA
|
|
ldrsh r0, [r4, r2]
|
|
lsls r0, 2
|
|
adds r0, r6
|
|
ldrb r1, [r0]
|
|
strh r1, [r4, 0xA]
|
|
ldrb r0, [r4, 0x8]
|
|
bl sub_8092AD4
|
|
_08092338:
|
|
ldr r0, _080923F8 @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0x10
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08092374
|
|
ldr r1, _080923F4 @ =gTasks
|
|
lsls r0, r5, 2
|
|
adds r0, r5
|
|
lsls r0, 3
|
|
adds r4, r0, r1
|
|
movs r1, 0xA
|
|
ldrsh r0, [r4, r1]
|
|
lsls r0, 2
|
|
adds r0, r6
|
|
ldrb r0, [r0, 0x1]
|
|
cmp r0, 0xFF
|
|
beq _08092374
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
movs r2, 0xA
|
|
ldrsh r0, [r4, r2]
|
|
lsls r0, 2
|
|
adds r0, r6
|
|
ldrb r1, [r0, 0x1]
|
|
strh r1, [r4, 0xA]
|
|
ldrb r0, [r4, 0x8]
|
|
bl sub_8092AD4
|
|
_08092374:
|
|
ldr r0, _080923F8 @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0x40
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080923B0
|
|
ldr r1, _080923F4 @ =gTasks
|
|
lsls r0, r5, 2
|
|
adds r0, r5
|
|
lsls r0, 3
|
|
adds r4, r0, r1
|
|
movs r1, 0xA
|
|
ldrsh r0, [r4, r1]
|
|
lsls r0, 2
|
|
adds r0, r6
|
|
ldrb r0, [r0, 0x2]
|
|
cmp r0, 0xFF
|
|
beq _080923B0
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
movs r2, 0xA
|
|
ldrsh r0, [r4, r2]
|
|
lsls r0, 2
|
|
adds r0, r6
|
|
ldrb r1, [r0, 0x2]
|
|
strh r1, [r4, 0xA]
|
|
ldrb r0, [r4, 0x8]
|
|
bl sub_8092AD4
|
|
_080923B0:
|
|
ldr r0, _080923F8 @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080923EC
|
|
ldr r1, _080923F4 @ =gTasks
|
|
lsls r0, r5, 2
|
|
adds r0, r5
|
|
lsls r0, 3
|
|
adds r4, r0, r1
|
|
movs r1, 0xA
|
|
ldrsh r0, [r4, r1]
|
|
lsls r0, 2
|
|
adds r0, r6
|
|
ldrb r0, [r0, 0x3]
|
|
cmp r0, 0xFF
|
|
beq _080923EC
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
movs r2, 0xA
|
|
ldrsh r0, [r4, r2]
|
|
lsls r0, 2
|
|
adds r0, r6
|
|
ldrb r1, [r0, 0x3]
|
|
strh r1, [r4, 0xA]
|
|
ldrb r0, [r4, 0x8]
|
|
bl sub_8092AD4
|
|
_080923EC:
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080923F4: .4byte gTasks
|
|
_080923F8: .4byte gMain
|
|
thumb_func_end sub_80921B0
|
|
|
|
thumb_func_start sub_80923FC
|
|
sub_80923FC: @ 80923FC
|
|
push {r4-r6,lr}
|
|
mov r6, r10
|
|
mov r5, r9
|
|
mov r4, r8
|
|
push {r4-r6}
|
|
sub sp, 0x8
|
|
adds r5, r0, 0
|
|
lsls r5, 24
|
|
lsrs r5, 24
|
|
adds r0, r5, 0
|
|
movs r1, 0x5
|
|
bl sub_8092E10
|
|
mov r10, r0
|
|
mov r0, r10
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r10, r0
|
|
adds r0, r5, 0
|
|
movs r1, 0x4
|
|
bl sub_8092E10
|
|
mov r9, r0
|
|
mov r0, r9
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r9, r0
|
|
adds r0, r5, 0
|
|
movs r1, 0
|
|
bl sub_8092E10
|
|
mov r8, r0
|
|
mov r0, r8
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r8, r0
|
|
adds r0, r5, 0
|
|
movs r1, 0x1
|
|
bl sub_8092E10
|
|
adds r6, r0, 0
|
|
lsls r6, 24
|
|
lsrs r6, 24
|
|
adds r0, r5, 0
|
|
movs r1, 0x2
|
|
bl sub_8092E10
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
adds r0, r5, 0
|
|
movs r1, 0x3
|
|
bl sub_8092E10
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
str r4, [sp]
|
|
str r0, [sp, 0x4]
|
|
mov r0, r10
|
|
mov r1, r9
|
|
mov r2, r8
|
|
adds r3, r6, 0
|
|
bl sub_8091AF8
|
|
ldr r1, _0809249C @ =gTasks
|
|
lsls r0, r5, 2
|
|
adds r0, r5
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _080924A0 @ =sub_80924A4
|
|
str r1, [r0]
|
|
add sp, 0x8
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0809249C: .4byte gTasks
|
|
_080924A0: .4byte sub_80924A4
|
|
thumb_func_end sub_80923FC
|
|
|
|
thumb_func_start sub_80924A4
|
|
sub_80924A4: @ 80924A4
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
bl IsSEPlaying
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080924F6
|
|
ldr r0, _080924D0 @ =gPokedexView
|
|
ldr r0, [r0]
|
|
ldr r1, _080924D4 @ =0x0000060c
|
|
adds r0, r1
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
beq _080924DC
|
|
movs r0, 0x1F
|
|
bl PlaySE
|
|
ldr r0, _080924D8 @ =gDexText_SearchComplete
|
|
bl sub_8091E20
|
|
b _080924E8
|
|
.align 2, 0
|
|
_080924D0: .4byte gPokedexView
|
|
_080924D4: .4byte 0x0000060c
|
|
_080924D8: .4byte gDexText_SearchComplete
|
|
_080924DC:
|
|
movs r0, 0x20
|
|
bl PlaySE
|
|
ldr r0, _080924FC @ =gDexText_NoMatching
|
|
bl sub_8091E20
|
|
_080924E8:
|
|
ldr r0, _08092500 @ =gTasks
|
|
lsls r1, r4, 2
|
|
adds r1, r4
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldr r0, _08092504 @ =sub_8092508
|
|
str r0, [r1]
|
|
_080924F6:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080924FC: .4byte gDexText_NoMatching
|
|
_08092500: .4byte gTasks
|
|
_08092504: .4byte sub_8092508
|
|
thumb_func_end sub_80924A4
|
|
|
|
thumb_func_start sub_8092508
|
|
sub_8092508: @ 8092508
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
adds r2, r4, 0
|
|
ldr r0, _08092570 @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080925A4
|
|
ldr r5, _08092574 @ =gPokedexView
|
|
ldr r1, [r5]
|
|
ldr r3, _08092578 @ =0x0000060c
|
|
adds r0, r1, r3
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
beq _08092590
|
|
ldr r0, _0809257C @ =0x0000064f
|
|
adds r1, r0
|
|
movs r0, 0x1
|
|
strb r0, [r1]
|
|
adds r0, r4, 0
|
|
movs r1, 0x5
|
|
bl sub_8092E10
|
|
ldr r1, [r5]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r2, _08092580 @ =0x00000612
|
|
adds r1, r2
|
|
strh r0, [r1]
|
|
adds r0, r4, 0
|
|
movs r1, 0x4
|
|
bl sub_8092E10
|
|
ldr r1, [r5]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r3, _08092584 @ =0x00000616
|
|
adds r1, r3
|
|
strh r0, [r1]
|
|
ldr r1, _08092588 @ =gTasks
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _0809258C @ =sub_80927B8
|
|
str r1, [r0]
|
|
movs r0, 0x3
|
|
bl PlaySE
|
|
b _080925A4
|
|
.align 2, 0
|
|
_08092570: .4byte gMain
|
|
_08092574: .4byte gPokedexView
|
|
_08092578: .4byte 0x0000060c
|
|
_0809257C: .4byte 0x0000064f
|
|
_08092580: .4byte 0x00000612
|
|
_08092584: .4byte 0x00000616
|
|
_08092588: .4byte gTasks
|
|
_0809258C: .4byte sub_80927B8
|
|
_08092590:
|
|
ldr r0, _080925AC @ =gTasks
|
|
lsls r1, r2, 2
|
|
adds r1, r2
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldr r0, _080925B0 @ =sub_809217C
|
|
str r0, [r1]
|
|
movs r0, 0x17
|
|
bl PlaySE
|
|
_080925A4:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080925AC: .4byte gTasks
|
|
_080925B0: .4byte sub_809217C
|
|
thumb_func_end sub_8092508
|
|
|
|
thumb_func_start sub_80925B4
|
|
sub_80925B4: @ 80925B4
|
|
push {lr}
|
|
adds r1, r0, 0
|
|
lsls r1, 16
|
|
lsrs r1, 15
|
|
adds r1, 0x1
|
|
lsls r1, 27
|
|
lsrs r1, 24
|
|
movs r0, 0x90
|
|
bl sub_814AD7C
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80925B4
|
|
|
|
thumb_func_start sub_80925CC
|
|
sub_80925CC: @ 80925CC
|
|
push {r4-r6,lr}
|
|
sub sp, 0x4
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
movs r0, 0
|
|
bl sub_8092C8C
|
|
ldr r2, _08092630 @ =gTasks
|
|
lsls r1, r4, 2
|
|
adds r1, r4
|
|
lsls r1, 3
|
|
adds r6, r1, r2
|
|
ldrb r0, [r6, 0xA]
|
|
adds r2, 0x8
|
|
adds r1, r2
|
|
ldr r2, _08092634 @ =gUnknown_083B5A7C
|
|
lsls r0, 3
|
|
adds r0, r2
|
|
ldrb r5, [r0, 0x4]
|
|
lsls r5, 1
|
|
adds r5, r1, r5
|
|
ldrb r0, [r0, 0x5]
|
|
lsls r0, 1
|
|
adds r1, r0
|
|
ldrh r0, [r5]
|
|
strh r0, [r6, 0x24]
|
|
ldrh r0, [r1]
|
|
strh r0, [r6, 0x26]
|
|
adds r0, r4, 0
|
|
bl sub_8092D78
|
|
ldr r1, _08092638 @ =0x0000ffff
|
|
ldr r3, _0809263C @ =0x00002d9f
|
|
movs r0, 0xB
|
|
str r0, [sp]
|
|
movs r0, 0x10
|
|
movs r2, 0xC
|
|
bl CreateBlendedOutlineCursor
|
|
ldrh r0, [r5]
|
|
movs r1, 0x1
|
|
bl sub_80925B4
|
|
ldr r0, _08092640 @ =sub_8092644
|
|
str r0, [r6]
|
|
add sp, 0x4
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08092630: .4byte gTasks
|
|
_08092634: .4byte gUnknown_083B5A7C
|
|
_08092638: .4byte 0x0000ffff
|
|
_0809263C: .4byte 0x00002d9f
|
|
_08092640: .4byte sub_8092644
|
|
thumb_func_end sub_80925CC
|
|
|
|
thumb_func_start sub_8092644
|
|
sub_8092644: @ 8092644
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
lsls r0, 24
|
|
lsrs r7, r0, 24
|
|
ldr r3, _080926A8 @ =gTasks
|
|
lsls r2, r7, 2
|
|
adds r2, r7
|
|
lsls r2, 3
|
|
adds r6, r2, r3
|
|
ldrb r1, [r6, 0xA]
|
|
ldr r0, _080926AC @ =gUnknown_083B5A7C
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldr r0, [r1]
|
|
mov r8, r0
|
|
adds r3, 0x8
|
|
adds r2, r3
|
|
ldrb r0, [r1, 0x4]
|
|
lsls r0, 1
|
|
adds r4, r2, r0
|
|
ldrb r0, [r1, 0x5]
|
|
lsls r0, 1
|
|
adds r5, r2, r0
|
|
ldrh r0, [r1, 0x6]
|
|
subs r0, 0x1
|
|
lsls r0, 16
|
|
lsrs r2, r0, 16
|
|
ldr r0, _080926B0 @ =gMain
|
|
mov r12, r0
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080926B4
|
|
bl sub_814ADC8
|
|
movs r0, 0x15
|
|
bl PlaySE
|
|
movs r0, 0x12
|
|
movs r1, 0x1
|
|
movs r2, 0x1C
|
|
movs r3, 0xC
|
|
bl MenuZeroFillWindowRect
|
|
movs r0, 0x1
|
|
bl sub_8092C8C
|
|
b _080926E0
|
|
.align 2, 0
|
|
_080926A8: .4byte gTasks
|
|
_080926AC: .4byte gUnknown_083B5A7C
|
|
_080926B0: .4byte gMain
|
|
_080926B4:
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080926EC
|
|
bl sub_814ADC8
|
|
movs r0, 0x17
|
|
bl PlaySE
|
|
movs r0, 0x12
|
|
movs r1, 0x1
|
|
movs r2, 0x1C
|
|
movs r3, 0xC
|
|
bl MenuZeroFillWindowRect
|
|
movs r0, 0x1
|
|
bl sub_8092C8C
|
|
ldrh r0, [r6, 0x24]
|
|
strh r0, [r4]
|
|
ldrh r0, [r6, 0x26]
|
|
strh r0, [r5]
|
|
_080926E0:
|
|
ldr r0, _080926E8 @ =sub_809217C
|
|
str r0, [r6]
|
|
b _080927AE
|
|
.align 2, 0
|
|
_080926E8: .4byte sub_809217C
|
|
_080926EC:
|
|
movs r3, 0
|
|
mov r0, r12
|
|
ldrh r1, [r0, 0x30]
|
|
movs r0, 0x40
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0809274C
|
|
ldrh r0, [r4]
|
|
cmp r0, 0
|
|
beq _08092716
|
|
movs r1, 0
|
|
bl sub_80925B4
|
|
ldrh r0, [r4]
|
|
subs r0, 0x1
|
|
strh r0, [r4]
|
|
ldrh r0, [r4]
|
|
movs r1, 0x1
|
|
bl sub_80925B4
|
|
b _08092734
|
|
_08092716:
|
|
ldrh r0, [r5]
|
|
cmp r0, 0
|
|
beq _08092730
|
|
subs r0, 0x1
|
|
strh r0, [r5]
|
|
adds r0, r7, 0
|
|
bl sub_8092D78
|
|
ldrh r0, [r4]
|
|
movs r1, 0x1
|
|
bl sub_80925B4
|
|
movs r3, 0x1
|
|
_08092730:
|
|
cmp r3, 0
|
|
beq _080927AE
|
|
_08092734:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldrh r0, [r4]
|
|
ldrh r1, [r5]
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
add r0, r8
|
|
ldr r0, [r0]
|
|
bl sub_8091E20
|
|
b _080927AE
|
|
_0809274C:
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080927AE
|
|
ldrh r0, [r4]
|
|
cmp r0, 0x4
|
|
bhi _08092774
|
|
cmp r0, r2
|
|
bcs _08092774
|
|
movs r1, 0
|
|
bl sub_80925B4
|
|
ldrh r0, [r4]
|
|
adds r0, 0x1
|
|
strh r0, [r4]
|
|
ldrh r0, [r4]
|
|
movs r1, 0x1
|
|
bl sub_80925B4
|
|
b _08092798
|
|
_08092774:
|
|
cmp r2, 0x5
|
|
bls _08092794
|
|
ldrh r1, [r5]
|
|
subs r0, r2, 0x5
|
|
cmp r1, r0
|
|
bge _08092794
|
|
adds r0, r1, 0x1
|
|
strh r0, [r5]
|
|
adds r0, r7, 0
|
|
bl sub_8092D78
|
|
movs r0, 0x5
|
|
movs r1, 0x1
|
|
bl sub_80925B4
|
|
movs r3, 0x1
|
|
_08092794:
|
|
cmp r3, 0
|
|
beq _080927AE
|
|
_08092798:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldrh r0, [r4]
|
|
ldrh r1, [r5]
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
add r0, r8
|
|
ldr r0, [r0]
|
|
bl sub_8091E20
|
|
_080927AE:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8092644
|
|
|
|
thumb_func_start sub_80927B8
|
|
sub_80927B8: @ 80927B8
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
movs r1, 0
|
|
str r1, [sp]
|
|
movs r2, 0
|
|
movs r3, 0x10
|
|
bl BeginNormalPaletteFade
|
|
ldr r1, _080927E8 @ =gTasks
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _080927EC @ =sub_80927F0
|
|
str r1, [r0]
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080927E8: .4byte gTasks
|
|
_080927EC: .4byte sub_80927F0
|
|
thumb_func_end sub_80927B8
|
|
|
|
thumb_func_start sub_80927F0
|
|
sub_80927F0: @ 80927F0
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
ldr r0, _0809280C @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _08092808
|
|
adds r0, r2, 0
|
|
bl DestroyTask
|
|
_08092808:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0809280C: .4byte gPaletteFade
|
|
thumb_func_end sub_80927F0
|
|
|
|
thumb_func_start sub_8092810
|
|
sub_8092810: @ 8092810
|
|
push {r4-r7,lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
mov r12, r1
|
|
lsls r2, 24
|
|
lsrs r1, r2, 24
|
|
lsls r3, 24
|
|
lsrs r5, r3, 8
|
|
movs r3, 0
|
|
cmp r5, 0
|
|
beq _0809285A
|
|
lsls r7, r1, 6
|
|
ldr r6, _08092860 @ =0x00000fff
|
|
lsls r4, r0, 12
|
|
_08092830:
|
|
mov r0, r12
|
|
adds r1, r0, r3
|
|
lsls r1, 1
|
|
adds r1, r7, r1
|
|
ldr r0, _08092864 @ =0x06007800
|
|
adds r2, r1, r0
|
|
ldrh r0, [r2]
|
|
ands r0, r6
|
|
orrs r0, r4
|
|
strh r0, [r2]
|
|
ldr r0, _08092868 @ =0x06007840
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
ands r0, r6
|
|
orrs r0, r4
|
|
strh r0, [r1]
|
|
adds r0, r3, 0x1
|
|
lsls r0, 16
|
|
lsrs r3, r0, 16
|
|
cmp r0, r5
|
|
bcc _08092830
|
|
_0809285A:
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08092860: .4byte 0x00000fff
|
|
_08092864: .4byte 0x06007800
|
|
_08092868: .4byte 0x06007840
|
|
thumb_func_end sub_8092810
|
|
|
|
thumb_func_start sub_809286C
|
|
sub_809286C: @ 809286C
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
lsls r1, 24
|
|
lsrs r5, r1, 24
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
movs r0, 0x1
|
|
ands r5, r0
|
|
ands r2, r0
|
|
lsls r2, 1
|
|
orrs r5, r2
|
|
cmp r4, 0xA
|
|
bhi _08092958
|
|
lsls r0, r4, 2
|
|
ldr r1, _08092894 @ =_08092898
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08092894: .4byte _08092898
|
|
.align 2, 0
|
|
_08092898:
|
|
.4byte _080928C4
|
|
.4byte _080928C4
|
|
.4byte _080928C4
|
|
.4byte _080928D4
|
|
.4byte _080928D4
|
|
.4byte _080928EC
|
|
.4byte _080928EC
|
|
.4byte _080928D4
|
|
.4byte _080928D4
|
|
.4byte _08092914
|
|
.4byte _08092904
|
|
_080928C4:
|
|
ldr r1, _080928D0 @ =gUnknown_083B57E4
|
|
lsls r0, r4, 3
|
|
adds r0, r1
|
|
ldrb r1, [r0, 0x4]
|
|
ldrb r2, [r0, 0x5]
|
|
b _08092932
|
|
.align 2, 0
|
|
_080928D0: .4byte gUnknown_083B57E4
|
|
_080928D4:
|
|
ldr r2, _08092900 @ =gUnknown_083B57FC
|
|
subs r1, r4, 0x3
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r2
|
|
ldrb r1, [r0, 0x4]
|
|
ldrb r2, [r0, 0x5]
|
|
ldrb r3, [r0, 0x6]
|
|
adds r0, r5, 0
|
|
bl sub_8092810
|
|
_080928EC:
|
|
ldr r2, _08092900 @ =gUnknown_083B57FC
|
|
subs r1, r4, 0x3
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r2
|
|
ldrb r1, [r0, 0x7]
|
|
ldrb r2, [r0, 0x8]
|
|
ldrb r3, [r0, 0x9]
|
|
b _08092934
|
|
.align 2, 0
|
|
_08092900: .4byte gUnknown_083B57FC
|
|
_08092904:
|
|
ldr r0, _08092910 @ =gUnknown_083B57FC
|
|
ldrb r1, [r0, 0x1C]
|
|
ldrb r2, [r0, 0x1D]
|
|
ldrb r3, [r0, 0x1E]
|
|
b _08092934
|
|
.align 2, 0
|
|
_08092910: .4byte gUnknown_083B57FC
|
|
_08092914:
|
|
bl IsNationalPokedexEnabled
|
|
cmp r0, 0
|
|
bne _08092940
|
|
ldr r2, _0809293C @ =gUnknown_083B57FC
|
|
subs r1, r4, 0x3
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r2
|
|
ldrb r1, [r0, 0x4]
|
|
ldrb r2, [r0, 0x5]
|
|
subs r2, 0x2
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
_08092932:
|
|
ldrb r3, [r0, 0x6]
|
|
_08092934:
|
|
adds r0, r5, 0
|
|
bl sub_8092810
|
|
b _08092958
|
|
.align 2, 0
|
|
_0809293C: .4byte gUnknown_083B57FC
|
|
_08092940:
|
|
ldr r2, _08092960 @ =gUnknown_083B57FC
|
|
subs r1, r4, 0x3
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r2
|
|
ldrb r1, [r0, 0x4]
|
|
ldrb r2, [r0, 0x5]
|
|
ldrb r3, [r0, 0x6]
|
|
adds r0, r5, 0
|
|
bl sub_8092810
|
|
_08092958:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08092960: .4byte gUnknown_083B57FC
|
|
thumb_func_end sub_809286C
|
|
|
|
thumb_func_start sub_8092964
|
|
sub_8092964: @ 8092964
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
adds r1, r0, 0
|
|
cmp r0, 0x1
|
|
beq _080929CE
|
|
cmp r0, 0x1
|
|
bgt _0809297A
|
|
cmp r0, 0
|
|
beq _08092980
|
|
b _08092AAC
|
|
_0809297A:
|
|
cmp r1, 0x2
|
|
beq _08092A3E
|
|
b _08092AAC
|
|
_08092980:
|
|
movs r0, 0
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_809286C
|
|
movs r0, 0x1
|
|
movs r1, 0x1
|
|
movs r2, 0
|
|
bl sub_809286C
|
|
movs r0, 0x2
|
|
movs r1, 0x1
|
|
movs r2, 0
|
|
bl sub_809286C
|
|
movs r0, 0x3
|
|
movs r1, 0x1
|
|
movs r2, 0
|
|
bl sub_809286C
|
|
movs r0, 0x4
|
|
movs r1, 0x1
|
|
movs r2, 0
|
|
bl sub_809286C
|
|
movs r0, 0xA
|
|
movs r1, 0x1
|
|
movs r2, 0
|
|
bl sub_809286C
|
|
movs r0, 0x5
|
|
movs r1, 0x1
|
|
movs r2, 0
|
|
bl sub_809286C
|
|
movs r0, 0x6
|
|
movs r1, 0x1
|
|
movs r2, 0
|
|
b _08092A1A
|
|
_080929CE:
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0
|
|
bl sub_809286C
|
|
movs r0, 0x1
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_809286C
|
|
movs r0, 0x2
|
|
movs r1, 0x1
|
|
movs r2, 0
|
|
bl sub_809286C
|
|
movs r0, 0x3
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_809286C
|
|
movs r0, 0x4
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_809286C
|
|
movs r0, 0xA
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_809286C
|
|
movs r0, 0x5
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_809286C
|
|
movs r0, 0x6
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
_08092A1A:
|
|
bl sub_809286C
|
|
movs r0, 0x7
|
|
movs r1, 0x1
|
|
movs r2, 0
|
|
bl sub_809286C
|
|
movs r0, 0x8
|
|
movs r1, 0x1
|
|
movs r2, 0
|
|
bl sub_809286C
|
|
movs r0, 0x9
|
|
movs r1, 0x1
|
|
movs r2, 0
|
|
bl sub_809286C
|
|
b _08092AAC
|
|
_08092A3E:
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0
|
|
bl sub_809286C
|
|
movs r0, 0x1
|
|
movs r1, 0x1
|
|
movs r2, 0
|
|
bl sub_809286C
|
|
movs r0, 0x2
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_809286C
|
|
movs r0, 0x3
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_809286C
|
|
movs r0, 0x4
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_809286C
|
|
movs r0, 0xA
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_809286C
|
|
movs r0, 0x5
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_809286C
|
|
movs r0, 0x6
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_809286C
|
|
movs r0, 0x7
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_809286C
|
|
movs r0, 0x8
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_809286C
|
|
movs r0, 0x9
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
bl sub_809286C
|
|
_08092AAC:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8092964
|
|
|
|
thumb_func_start sub_8092AB0
|
|
sub_8092AB0: @ 8092AB0
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
adds r0, r4, 0
|
|
bl sub_8092964
|
|
ldr r0, _08092AD0 @ =gUnknown_083B57E4
|
|
lsls r4, 3
|
|
adds r4, r0
|
|
ldr r0, [r4]
|
|
bl sub_8091E20
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08092AD0: .4byte gUnknown_083B57E4
|
|
thumb_func_end sub_8092AB0
|
|
|
|
thumb_func_start sub_8092AD4
|
|
sub_8092AD4: @ 8092AD4
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r1, 24
|
|
lsrs r4, r1, 24
|
|
bl sub_8092964
|
|
cmp r4, 0x6
|
|
bhi _08092B4E
|
|
lsls r0, r4, 2
|
|
ldr r1, _08092AF0 @ =_08092AF4
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08092AF0: .4byte _08092AF4
|
|
.align 2, 0
|
|
_08092AF4:
|
|
.4byte _08092B10
|
|
.4byte _08092B14
|
|
.4byte _08092B18
|
|
.4byte _08092B26
|
|
.4byte _08092B34
|
|
.4byte _08092B38
|
|
.4byte _08092B44
|
|
_08092B10:
|
|
movs r0, 0x3
|
|
b _08092B3A
|
|
_08092B14:
|
|
movs r0, 0x4
|
|
b _08092B3A
|
|
_08092B18:
|
|
movs r0, 0xA
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_809286C
|
|
movs r0, 0x5
|
|
b _08092B3A
|
|
_08092B26:
|
|
movs r0, 0xA
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_809286C
|
|
movs r0, 0x6
|
|
b _08092B3A
|
|
_08092B34:
|
|
movs r0, 0x7
|
|
b _08092B3A
|
|
_08092B38:
|
|
movs r0, 0x8
|
|
_08092B3A:
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_809286C
|
|
b _08092B4E
|
|
_08092B44:
|
|
movs r0, 0x9
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_809286C
|
|
_08092B4E:
|
|
ldr r0, _08092B64 @ =gUnknown_083B57FC
|
|
lsls r1, r4, 1
|
|
adds r1, r4
|
|
lsls r1, 2
|
|
adds r1, r0
|
|
ldr r0, [r1]
|
|
bl sub_8091E20
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08092B64: .4byte gUnknown_083B57FC
|
|
thumb_func_end sub_8092AD4
|
|
|
|
thumb_func_start sub_8092B68
|
|
sub_8092B68: @ 8092B68
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r2, _08092C68 @ =gTasks
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r6, r1, r2
|
|
ldrh r0, [r6, 0x16]
|
|
ldrh r1, [r6, 0x14]
|
|
adds r0, r1
|
|
lsls r0, 16
|
|
ldr r7, _08092C6C @ =gStringVar1
|
|
ldr r1, _08092C70 @ =gUnknown_083B5910
|
|
lsrs r0, 13
|
|
adds r1, 0x4
|
|
adds r0, r1
|
|
ldr r1, [r0]
|
|
adds r0, r7, 0
|
|
bl StringCopy
|
|
ldr r0, _08092C74 @ =gUnknown_083B5AB2
|
|
mov r8, r0
|
|
movs r1, 0x2D
|
|
movs r2, 0x10
|
|
movs r3, 0x1
|
|
bl MenuPrint_PixelCoords
|
|
ldrh r0, [r6, 0x1A]
|
|
ldrh r1, [r6, 0x18]
|
|
adds r0, r1
|
|
lsls r0, 16
|
|
ldr r1, _08092C78 @ =gUnknown_083B5968
|
|
lsrs r0, 13
|
|
adds r1, 0x4
|
|
adds r0, r1
|
|
ldr r1, [r0]
|
|
adds r0, r7, 0
|
|
bl StringCopy
|
|
mov r0, r8
|
|
movs r1, 0x2D
|
|
movs r2, 0x20
|
|
movs r3, 0x1
|
|
bl MenuPrint_PixelCoords
|
|
ldrh r0, [r6, 0x1E]
|
|
ldrh r1, [r6, 0x1C]
|
|
adds r0, r1
|
|
lsls r0, 16
|
|
ldr r4, _08092C7C @ =gUnknown_083B59C8
|
|
lsrs r0, 13
|
|
adds r4, 0x4
|
|
adds r0, r4
|
|
ldr r1, [r0]
|
|
adds r0, r7, 0
|
|
bl StringCopy
|
|
ldr r5, _08092C80 @ =gUnknown_083B5AAC
|
|
adds r0, r5, 0
|
|
movs r1, 0x2D
|
|
movs r2, 0x30
|
|
movs r3, 0x1
|
|
bl MenuPrint_PixelCoords
|
|
ldrh r0, [r6, 0x22]
|
|
ldrh r1, [r6, 0x20]
|
|
adds r0, r1
|
|
lsls r0, 16
|
|
lsrs r0, 13
|
|
adds r0, r4
|
|
ldr r1, [r0]
|
|
adds r0, r7, 0
|
|
bl StringCopy
|
|
adds r0, r5, 0
|
|
movs r1, 0x5D
|
|
movs r2, 0x30
|
|
movs r3, 0x1
|
|
bl MenuPrint_PixelCoords
|
|
ldrh r0, [r6, 0x12]
|
|
ldrh r1, [r6, 0x10]
|
|
adds r0, r1
|
|
lsls r0, 16
|
|
ldr r1, _08092C84 @ =gUnknown_083B58D8
|
|
lsrs r0, 13
|
|
adds r1, 0x4
|
|
adds r0, r1
|
|
ldr r1, [r0]
|
|
adds r0, r7, 0
|
|
bl StringCopy
|
|
mov r0, r8
|
|
movs r1, 0x2D
|
|
movs r2, 0x40
|
|
movs r3, 0x1
|
|
bl MenuPrint_PixelCoords
|
|
bl IsNationalPokedexEnabled
|
|
cmp r0, 0
|
|
beq _08092C5E
|
|
ldrh r0, [r6, 0xE]
|
|
ldrh r6, [r6, 0xC]
|
|
adds r0, r6
|
|
lsls r0, 16
|
|
ldr r1, _08092C88 @ =gUnknown_083B58C0
|
|
lsrs r0, 13
|
|
adds r1, 0x4
|
|
adds r0, r1
|
|
ldr r1, [r0]
|
|
adds r0, r7, 0
|
|
bl StringCopy
|
|
mov r0, r8
|
|
movs r1, 0x2D
|
|
movs r2, 0x50
|
|
movs r3, 0x1
|
|
bl MenuPrint_PixelCoords
|
|
_08092C5E:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08092C68: .4byte gTasks
|
|
_08092C6C: .4byte gStringVar1
|
|
_08092C70: .4byte gUnknown_083B5910
|
|
_08092C74: .4byte gUnknown_083B5AB2
|
|
_08092C78: .4byte gUnknown_083B5968
|
|
_08092C7C: .4byte gUnknown_083B59C8
|
|
_08092C80: .4byte gUnknown_083B5AAC
|
|
_08092C84: .4byte gUnknown_083B58D8
|
|
_08092C88: .4byte gUnknown_083B58C0
|
|
thumb_func_end sub_8092B68
|
|
|
|
thumb_func_start sub_8092C8C
|
|
sub_8092C8C: @ 8092C8C
|
|
push {r4-r6,lr}
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08092D48
|
|
ldr r1, _08092D1C @ =0x06007822
|
|
ldr r2, _08092D20 @ =0x00000c0b
|
|
adds r0, r2, 0
|
|
strh r0, [r1]
|
|
movs r1, 0x12
|
|
ldr r3, _08092D24 @ =0x06007800
|
|
ldr r4, _08092D28 @ =0x0000080d
|
|
adds r2, r4, 0
|
|
_08092CA4:
|
|
lsls r0, r1, 1
|
|
adds r0, r3
|
|
strh r2, [r0]
|
|
adds r0, r1, 0x1
|
|
lsls r0, 16
|
|
lsrs r1, r0, 16
|
|
cmp r1, 0x1C
|
|
bls _08092CA4
|
|
ldr r1, _08092D2C @ =0x0600783a
|
|
ldr r2, _08092D30 @ =0x0000080b
|
|
adds r0, r2, 0
|
|
strh r0, [r1]
|
|
movs r3, 0x1
|
|
ldr r6, _08092D24 @ =0x06007800
|
|
movs r5, 0x2
|
|
_08092CC2:
|
|
lsls r2, r3, 6
|
|
ldr r4, _08092D1C @ =0x06007822
|
|
adds r1, r2, r4
|
|
ldr r4, _08092D34 @ =0x0000040a
|
|
adds r0, r4, 0
|
|
strh r0, [r1]
|
|
movs r1, 0x12
|
|
adds r4, r3, 0x1
|
|
adds r3, r2, 0
|
|
_08092CD4:
|
|
lsls r0, r1, 1
|
|
adds r0, r3, r0
|
|
adds r0, r6
|
|
strh r5, [r0]
|
|
adds r0, r1, 0x1
|
|
lsls r0, 16
|
|
lsrs r1, r0, 16
|
|
cmp r1, 0x1C
|
|
bls _08092CD4
|
|
ldr r1, _08092D2C @ =0x0600783a
|
|
adds r0, r2, r1
|
|
movs r1, 0xA
|
|
strh r1, [r0]
|
|
lsls r0, r4, 16
|
|
lsrs r3, r0, 16
|
|
cmp r3, 0xC
|
|
bls _08092CC2
|
|
ldr r1, _08092D38 @ =0x06007b62
|
|
ldr r2, _08092D3C @ =0x0000040b
|
|
adds r0, r2, 0
|
|
strh r0, [r1]
|
|
movs r1, 0x12
|
|
ldr r3, _08092D40 @ =0x06007b40
|
|
movs r2, 0xD
|
|
_08092D04:
|
|
lsls r0, r1, 1
|
|
adds r0, r3
|
|
strh r2, [r0]
|
|
adds r0, r1, 0x1
|
|
lsls r0, 16
|
|
lsrs r1, r0, 16
|
|
cmp r1, 0x1C
|
|
bls _08092D04
|
|
ldr r1, _08092D44 @ =0x06007b7a
|
|
movs r0, 0xB
|
|
strh r0, [r1]
|
|
b _08092D6E
|
|
.align 2, 0
|
|
_08092D1C: .4byte 0x06007822
|
|
_08092D20: .4byte 0x00000c0b
|
|
_08092D24: .4byte 0x06007800
|
|
_08092D28: .4byte 0x0000080d
|
|
_08092D2C: .4byte 0x0600783a
|
|
_08092D30: .4byte 0x0000080b
|
|
_08092D34: .4byte 0x0000040a
|
|
_08092D38: .4byte 0x06007b62
|
|
_08092D3C: .4byte 0x0000040b
|
|
_08092D40: .4byte 0x06007b40
|
|
_08092D44: .4byte 0x06007b7a
|
|
_08092D48:
|
|
movs r3, 0
|
|
ldr r6, _08092D74 @ =0x06007800
|
|
movs r5, 0x4F
|
|
_08092D4E:
|
|
movs r1, 0x11
|
|
adds r4, r3, 0x1
|
|
lsls r2, r3, 6
|
|
_08092D54:
|
|
lsls r0, r1, 1
|
|
adds r0, r2, r0
|
|
adds r0, r6
|
|
strh r5, [r0]
|
|
adds r0, r1, 0x1
|
|
lsls r0, 16
|
|
lsrs r1, r0, 16
|
|
cmp r1, 0x1D
|
|
bls _08092D54
|
|
lsls r0, r4, 16
|
|
lsrs r3, r0, 16
|
|
cmp r3, 0xD
|
|
bls _08092D4E
|
|
_08092D6E:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08092D74: .4byte 0x06007800
|
|
thumb_func_end sub_8092C8C
|
|
|
|
thumb_func_start sub_8092D78
|
|
sub_8092D78: @ 8092D78
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r4, _08092DBC @ =gUnknown_083B5A7C
|
|
ldr r3, _08092DC0 @ =gTasks
|
|
lsls r2, r0, 2
|
|
adds r2, r0
|
|
lsls r2, 3
|
|
adds r0, r2, r3
|
|
movs r5, 0xA
|
|
ldrsh r1, [r0, r5]
|
|
lsls r1, 3
|
|
adds r1, r4
|
|
ldr r6, [r1]
|
|
adds r3, 0x8
|
|
adds r2, r3
|
|
ldrb r0, [r1, 0x4]
|
|
lsls r0, 1
|
|
adds r0, r2
|
|
mov r8, r0
|
|
ldrb r0, [r1, 0x5]
|
|
lsls r0, 1
|
|
adds r7, r2, r0
|
|
movs r0, 0x12
|
|
movs r1, 0x1
|
|
movs r2, 0x1C
|
|
movs r3, 0xC
|
|
bl MenuZeroFillWindowRect
|
|
movs r5, 0
|
|
ldrh r4, [r7]
|
|
b _08092DE8
|
|
.align 2, 0
|
|
_08092DBC: .4byte gUnknown_083B5A7C
|
|
_08092DC0: .4byte gTasks
|
|
_08092DC4:
|
|
lsls r0, r4, 3
|
|
adds r0, r6
|
|
ldr r0, [r0, 0x4]
|
|
lsls r2, r5, 1
|
|
adds r2, 0x1
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
movs r1, 0x12
|
|
bl MenuPrint
|
|
adds r0, r5, 0x1
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
adds r0, r4, 0x1
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
cmp r5, 0x5
|
|
bhi _08092DF2
|
|
_08092DE8:
|
|
lsls r0, r4, 3
|
|
adds r0, r6
|
|
ldr r0, [r0, 0x4]
|
|
cmp r0, 0
|
|
bne _08092DC4
|
|
_08092DF2:
|
|
mov r1, r8
|
|
ldrh r0, [r1]
|
|
ldrh r1, [r7]
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r0, r6
|
|
ldr r0, [r0]
|
|
bl sub_8091E20
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8092D78
|
|
|
|
thumb_func_start sub_8092E10
|
|
sub_8092E10: @ 8092E10
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r1, 24
|
|
lsrs r3, r1, 24
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
ldr r0, _08092E50 @ =gTasks + 0x8
|
|
adds r1, r0
|
|
ldr r2, _08092E54 @ =gUnknown_083B5A7C
|
|
lsls r0, r3, 3
|
|
adds r0, r2
|
|
ldrb r2, [r0, 0x4]
|
|
lsls r2, 1
|
|
adds r2, r1, r2
|
|
ldrb r0, [r0, 0x5]
|
|
lsls r0, 1
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
ldrh r2, [r2]
|
|
adds r0, r2
|
|
lsls r0, 16
|
|
lsrs r2, r0, 16
|
|
cmp r3, 0x5
|
|
bhi _08092E74
|
|
lsls r0, r3, 2
|
|
ldr r1, _08092E58 @ =_08092E5C
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08092E50: .4byte gTasks + 0x8
|
|
_08092E54: .4byte gUnknown_083B5A7C
|
|
_08092E58: .4byte _08092E5C
|
|
.align 2, 0
|
|
_08092E5C:
|
|
.4byte _08092E88
|
|
.4byte _08092E92
|
|
.4byte _08092EA2
|
|
.4byte _08092EA2
|
|
.4byte _08092E80
|
|
.4byte _08092E78
|
|
_08092E74:
|
|
movs r0, 0
|
|
b _08092EA8
|
|
_08092E78:
|
|
ldr r0, _08092E7C @ =gUnknown_083B5A60
|
|
b _08092EA4
|
|
.align 2, 0
|
|
_08092E7C: .4byte gUnknown_083B5A60
|
|
_08092E80:
|
|
ldr r0, _08092E84 @ =gUnknown_083B5A62
|
|
b _08092EA4
|
|
.align 2, 0
|
|
_08092E84: .4byte gUnknown_083B5A62
|
|
_08092E88:
|
|
cmp r2, 0
|
|
beq _08092E96
|
|
lsls r0, r2, 24
|
|
lsrs r0, 24
|
|
b _08092EA8
|
|
_08092E92:
|
|
cmp r2, 0
|
|
bne _08092E9A
|
|
_08092E96:
|
|
movs r0, 0xFF
|
|
b _08092EA8
|
|
_08092E9A:
|
|
subs r0, r2, 0x1
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
b _08092EA8
|
|
_08092EA2:
|
|
ldr r0, _08092EAC @ =gUnknown_083B5A68
|
|
_08092EA4:
|
|
adds r0, r2, r0
|
|
ldrb r0, [r0]
|
|
_08092EA8:
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08092EAC: .4byte gUnknown_083B5A68
|
|
thumb_func_end sub_8092E10
|
|
|
|
thumb_func_start sub_8092EB0
|
|
sub_8092EB0: @ 8092EB0
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
ldr r1, _08092ED0 @ =gPokedexView
|
|
ldr r0, [r1]
|
|
ldr r2, _08092ED4 @ =0x00000614
|
|
adds r0, r2
|
|
ldrh r0, [r0]
|
|
adds r5, r1, 0
|
|
cmp r0, 0
|
|
beq _08092ECA
|
|
cmp r0, 0x1
|
|
beq _08092ED8
|
|
_08092ECA:
|
|
movs r3, 0
|
|
b _08092EDA
|
|
.align 2, 0
|
|
_08092ED0: .4byte gPokedexView
|
|
_08092ED4: .4byte 0x00000614
|
|
_08092ED8:
|
|
movs r3, 0x1
|
|
_08092EDA:
|
|
ldr r1, _08092F00 @ =gTasks
|
|
lsls r2, r4, 2
|
|
adds r0, r2, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
strh r3, [r0, 0xC]
|
|
ldr r0, [r5]
|
|
movs r3, 0xC3
|
|
lsls r3, 3
|
|
adds r0, r3
|
|
ldrh r0, [r0]
|
|
adds r5, r1, 0
|
|
cmp r0, 0x5
|
|
bhi _08092F20
|
|
lsls r0, 2
|
|
ldr r1, _08092F04 @ =_08092F08
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08092F00: .4byte gTasks
|
|
_08092F04: .4byte _08092F08
|
|
.align 2, 0
|
|
_08092F08:
|
|
.4byte _08092F20
|
|
.4byte _08092F24
|
|
.4byte _08092F28
|
|
.4byte _08092F2C
|
|
.4byte _08092F30
|
|
.4byte _08092F34
|
|
_08092F20:
|
|
movs r3, 0
|
|
b _08092F36
|
|
_08092F24:
|
|
movs r3, 0x1
|
|
b _08092F36
|
|
_08092F28:
|
|
movs r3, 0x2
|
|
b _08092F36
|
|
_08092F2C:
|
|
movs r3, 0x3
|
|
b _08092F36
|
|
_08092F30:
|
|
movs r3, 0x4
|
|
b _08092F36
|
|
_08092F34:
|
|
movs r3, 0x5
|
|
_08092F36:
|
|
adds r0, r2, r4
|
|
lsls r0, 3
|
|
adds r0, r5
|
|
strh r3, [r0, 0x10]
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8092EB0
|
|
|
|
thumb_func_start sub_8092F44
|
|
sub_8092F44: @ 8092F44
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r3, _08092F7C @ =gTasks
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r0, r1, r3
|
|
ldrb r2, [r0, 0xA]
|
|
adds r3, 0x8
|
|
adds r1, r3
|
|
ldr r0, _08092F80 @ =gUnknown_083B5A7C
|
|
lsls r2, 3
|
|
adds r2, r0
|
|
ldrb r0, [r2, 0x5]
|
|
lsls r0, 1
|
|
adds r1, r0
|
|
ldrh r0, [r2, 0x6]
|
|
subs r0, 0x1
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
cmp r0, 0x5
|
|
bls _08092F84
|
|
ldrh r0, [r1]
|
|
cmp r0, 0
|
|
beq _08092F84
|
|
movs r0, 0
|
|
b _08092F86
|
|
.align 2, 0
|
|
_08092F7C: .4byte gTasks
|
|
_08092F80: .4byte gUnknown_083B5A7C
|
|
_08092F84:
|
|
movs r0, 0x1
|
|
_08092F86:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8092F44
|
|
|
|
thumb_func_start sub_8092F8C
|
|
sub_8092F8C: @ 8092F8C
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r3, _08092FC8 @ =gTasks
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r0, r1, r3
|
|
ldrb r2, [r0, 0xA]
|
|
adds r3, 0x8
|
|
adds r1, r3
|
|
ldr r0, _08092FCC @ =gUnknown_083B5A7C
|
|
lsls r2, 3
|
|
adds r2, r0
|
|
ldrb r0, [r2, 0x5]
|
|
lsls r0, 1
|
|
adds r1, r0
|
|
ldrh r0, [r2, 0x6]
|
|
subs r0, 0x1
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
cmp r0, 0x5
|
|
bls _08092FD0
|
|
ldrh r1, [r1]
|
|
subs r0, 0x5
|
|
cmp r1, r0
|
|
bge _08092FD0
|
|
movs r0, 0
|
|
b _08092FD2
|
|
.align 2, 0
|
|
_08092FC8: .4byte gTasks
|
|
_08092FCC: .4byte gUnknown_083B5A7C
|
|
_08092FD0:
|
|
movs r0, 0x1
|
|
_08092FD2:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8092F8C
|
|
|
|
thumb_func_start sub_8092FD8
|
|
sub_8092FD8: @ 8092FD8
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
ldr r2, _08093018 @ =gTasks
|
|
movs r0, 0x2E
|
|
ldrsh r1, [r4, r0]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r0, r2
|
|
ldr r1, [r0]
|
|
ldr r0, _0809301C @ =sub_8092644
|
|
cmp r1, r0
|
|
bne _08093078
|
|
movs r1, 0x30
|
|
ldrsh r0, [r4, r1]
|
|
cmp r0, 0
|
|
beq _08093020
|
|
ldrh r0, [r4, 0x2E]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_8092F8C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0809303C
|
|
adds r2, r4, 0
|
|
adds r2, 0x3E
|
|
ldrb r0, [r2]
|
|
movs r1, 0x4
|
|
orrs r0, r1
|
|
b _08093048
|
|
.align 2, 0
|
|
_08093018: .4byte gTasks
|
|
_0809301C: .4byte sub_8092644
|
|
_08093020:
|
|
ldrh r0, [r4, 0x2E]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_8092F44
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0809303C
|
|
adds r2, r4, 0
|
|
adds r2, 0x3E
|
|
ldrb r0, [r2]
|
|
movs r1, 0x4
|
|
orrs r0, r1
|
|
b _08093048
|
|
_0809303C:
|
|
adds r2, r4, 0
|
|
adds r2, 0x3E
|
|
ldrb r1, [r2]
|
|
movs r0, 0x5
|
|
negs r0, r0
|
|
ands r0, r1
|
|
_08093048:
|
|
strb r0, [r2]
|
|
ldrh r2, [r4, 0x32]
|
|
movs r1, 0x30
|
|
ldrsh r0, [r4, r1]
|
|
lsls r0, 7
|
|
adds r0, r2, r0
|
|
lsls r0, 24
|
|
ldr r1, _08093074 @ =gSineTable
|
|
lsrs r0, 23
|
|
adds r0, r1
|
|
movs r1, 0
|
|
ldrsh r0, [r0, r1]
|
|
cmp r0, 0
|
|
bge _08093066
|
|
adds r0, 0x7F
|
|
_08093066:
|
|
asrs r0, 7
|
|
strh r0, [r4, 0x26]
|
|
adds r0, r2, 0
|
|
adds r0, 0x8
|
|
strh r0, [r4, 0x32]
|
|
b _08093084
|
|
.align 2, 0
|
|
_08093074: .4byte gSineTable
|
|
_08093078:
|
|
adds r0, r4, 0
|
|
adds r0, 0x3E
|
|
ldrb r1, [r0]
|
|
movs r2, 0x4
|
|
orrs r1, r2
|
|
strb r1, [r0]
|
|
_08093084:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8092FD8
|
|
|
|
thumb_func_start sub_809308C
|
|
sub_809308C: @ 809308C
|
|
push {r4-r6,lr}
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5,r6}
|
|
adds r5, r0, 0
|
|
lsls r5, 24
|
|
lsrs r5, 24
|
|
ldr r6, _08093104 @ =gSpriteTemplate_83A053C
|
|
adds r0, r6, 0
|
|
movs r1, 0xB8
|
|
movs r2, 0x4
|
|
movs r3, 0
|
|
bl CreateSprite
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r4, _08093108 @ =gSprites
|
|
lsls r1, r0, 4
|
|
adds r1, r0
|
|
lsls r1, 2
|
|
adds r0, r1, r4
|
|
movs r2, 0
|
|
strh r5, [r0, 0x2E]
|
|
strh r2, [r0, 0x30]
|
|
movs r0, 0x1C
|
|
adds r0, r4
|
|
mov r9, r0
|
|
add r1, r9
|
|
ldr r0, _0809310C @ =sub_8092FD8
|
|
mov r8, r0
|
|
str r0, [r1]
|
|
adds r0, r6, 0
|
|
movs r1, 0xB8
|
|
movs r2, 0x6C
|
|
movs r3, 0
|
|
bl CreateSprite
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r1, r0, 4
|
|
adds r1, r0
|
|
lsls r1, 2
|
|
adds r4, r1, r4
|
|
strh r5, [r4, 0x2E]
|
|
movs r0, 0x1
|
|
strh r0, [r4, 0x30]
|
|
adds r4, 0x3F
|
|
ldrb r0, [r4]
|
|
movs r2, 0x2
|
|
orrs r0, r2
|
|
strb r0, [r4]
|
|
add r1, r9
|
|
mov r0, r8
|
|
str r0, [r1]
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08093104: .4byte gSpriteTemplate_83A053C
|
|
_08093108: .4byte gSprites
|
|
_0809310C: .4byte sub_8092FD8
|
|
thumb_func_end sub_809308C
|
|
|
|
.align 2, 0 @ Don't pad with nop.
|