through sub_8103A40
This commit is contained in:
@@ -5,722 +5,6 @@
|
|||||||
|
|
||||||
.text
|
.text
|
||||||
|
|
||||||
thumb_func_start sub_8103518
|
|
||||||
sub_8103518: @ 8103518
|
|
||||||
push {r4-r7,lr}
|
|
||||||
mov r7, r10
|
|
||||||
mov r6, r9
|
|
||||||
mov r5, r8
|
|
||||||
push {r5-r7}
|
|
||||||
sub sp, 0x4
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r4, r0, 24
|
|
||||||
bl IsNationalPokedexEnabled
|
|
||||||
movs r1, 0x97
|
|
||||||
str r1, [sp]
|
|
||||||
cmp r0, 0
|
|
||||||
beq _0810353A
|
|
||||||
movs r2, 0xC1
|
|
||||||
lsls r2, 1
|
|
||||||
str r2, [sp]
|
|
||||||
_0810353A:
|
|
||||||
movs r0, 0
|
|
||||||
mov r10, r0
|
|
||||||
cmp r4, 0x5
|
|
||||||
bhi _08103568
|
|
||||||
lsls r0, r4, 2
|
|
||||||
ldr r1, _0810354C @ =_08103550
|
|
||||||
adds r0, r1
|
|
||||||
ldr r0, [r0]
|
|
||||||
mov pc, r0
|
|
||||||
.align 2, 0
|
|
||||||
_0810354C: .4byte _08103550
|
|
||||||
.align 2, 0
|
|
||||||
_08103550:
|
|
||||||
.4byte _08103568
|
|
||||||
.4byte _08103604
|
|
||||||
.4byte _0810369C
|
|
||||||
.4byte _0810373C
|
|
||||||
.4byte _081037D8
|
|
||||||
.4byte _08103874
|
|
||||||
_08103568:
|
|
||||||
movs r1, 0
|
|
||||||
mov r8, r1
|
|
||||||
_0810356C:
|
|
||||||
mov r4, r8
|
|
||||||
adds r4, 0x1
|
|
||||||
lsls r0, r4, 16
|
|
||||||
lsrs r5, r0, 16
|
|
||||||
adds r0, r5, 0
|
|
||||||
movs r1, 0
|
|
||||||
movs r2, 0
|
|
||||||
bl sub_8104AB0
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r7, r0, 24
|
|
||||||
adds r0, r5, 0
|
|
||||||
movs r1, 0x1
|
|
||||||
movs r2, 0
|
|
||||||
bl sub_8104AB0
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r6, r0, 24
|
|
||||||
mov r9, r4
|
|
||||||
cmp r7, 0
|
|
||||||
beq _081035C4
|
|
||||||
adds r0, r5, 0
|
|
||||||
bl NationalPokedexNumToSpecies
|
|
||||||
ldr r2, _081035BC @ =gUnknown_203ACF0
|
|
||||||
ldr r1, [r2]
|
|
||||||
ldr r2, [r1, 0x44]
|
|
||||||
mov r1, r8
|
|
||||||
lsls r3, r1, 3
|
|
||||||
adds r2, r3, r2
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r0, 16
|
|
||||||
movs r1, 0xB
|
|
||||||
muls r0, r1
|
|
||||||
ldr r1, _081035C0 @ =gSpeciesNames
|
|
||||||
adds r0, r1
|
|
||||||
str r0, [r2]
|
|
||||||
mov r10, r5
|
|
||||||
adds r4, r3, 0
|
|
||||||
b _081035D6
|
|
||||||
.align 2, 0
|
|
||||||
_081035BC: .4byte gUnknown_203ACF0
|
|
||||||
_081035C0: .4byte gSpeciesNames
|
|
||||||
_081035C4:
|
|
||||||
ldr r2, _081035FC @ =gUnknown_203ACF0
|
|
||||||
ldr r0, [r2]
|
|
||||||
ldr r1, [r0, 0x44]
|
|
||||||
mov r0, r8
|
|
||||||
lsls r2, r0, 3
|
|
||||||
adds r1, r2, r1
|
|
||||||
ldr r0, _08103600 @ =gUnknown_8415F66
|
|
||||||
str r0, [r1]
|
|
||||||
adds r4, r2, 0
|
|
||||||
_081035D6:
|
|
||||||
adds r0, r5, 0
|
|
||||||
bl NationalPokedexNumToSpecies
|
|
||||||
ldr r2, _081035FC @ =gUnknown_203ACF0
|
|
||||||
ldr r1, [r2]
|
|
||||||
ldr r3, [r1, 0x44]
|
|
||||||
adds r3, r4, r3
|
|
||||||
lsls r2, r6, 17
|
|
||||||
lsls r1, r7, 16
|
|
||||||
adds r2, r1
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r0, 16
|
|
||||||
adds r2, r0
|
|
||||||
str r2, [r3, 0x4]
|
|
||||||
mov r8, r9
|
|
||||||
mov r0, r8
|
|
||||||
cmp r0, 0x96
|
|
||||||
ble _0810356C
|
|
||||||
b _08103906
|
|
||||||
.align 2, 0
|
|
||||||
_081035FC: .4byte gUnknown_203ACF0
|
|
||||||
_08103600: .4byte gUnknown_8415F66
|
|
||||||
_08103604:
|
|
||||||
movs r1, 0
|
|
||||||
mov r8, r1
|
|
||||||
ldr r2, _08103690 @ =gUnknown_203ACF0
|
|
||||||
mov r9, r2
|
|
||||||
_0810360C:
|
|
||||||
ldr r1, _08103694 @ =gUnknown_8443FC0
|
|
||||||
mov r2, r8
|
|
||||||
lsls r0, r2, 1
|
|
||||||
adds r0, r1
|
|
||||||
ldrh r5, [r0]
|
|
||||||
ldr r0, [sp]
|
|
||||||
cmp r5, r0
|
|
||||||
bgt _08103682
|
|
||||||
adds r0, r5, 0
|
|
||||||
movs r1, 0
|
|
||||||
movs r2, 0
|
|
||||||
bl sub_8104AB0
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r7, r0, 24
|
|
||||||
adds r0, r5, 0
|
|
||||||
movs r1, 0x1
|
|
||||||
movs r2, 0
|
|
||||||
bl sub_8104AB0
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r6, r0, 24
|
|
||||||
cmp r7, 0
|
|
||||||
beq _08103682
|
|
||||||
adds r0, r5, 0
|
|
||||||
bl NationalPokedexNumToSpecies
|
|
||||||
mov r2, r9
|
|
||||||
ldr r1, [r2]
|
|
||||||
ldr r2, [r1, 0x44]
|
|
||||||
mov r1, r10
|
|
||||||
lsls r4, r1, 3
|
|
||||||
adds r2, r4, r2
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r0, 16
|
|
||||||
movs r1, 0xB
|
|
||||||
muls r0, r1
|
|
||||||
ldr r1, _08103698 @ =gSpeciesNames
|
|
||||||
adds r0, r1
|
|
||||||
str r0, [r2]
|
|
||||||
adds r0, r5, 0
|
|
||||||
bl NationalPokedexNumToSpecies
|
|
||||||
mov r2, r9
|
|
||||||
ldr r1, [r2]
|
|
||||||
ldr r1, [r1, 0x44]
|
|
||||||
adds r4, r1
|
|
||||||
lsls r2, r6, 17
|
|
||||||
lsls r1, r7, 16
|
|
||||||
adds r2, r1
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r0, 16
|
|
||||||
adds r2, r0
|
|
||||||
str r2, [r4, 0x4]
|
|
||||||
mov r0, r10
|
|
||||||
adds r0, 0x1
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r0, 16
|
|
||||||
mov r10, r0
|
|
||||||
_08103682:
|
|
||||||
movs r0, 0x1
|
|
||||||
add r8, r0
|
|
||||||
movs r0, 0xCD
|
|
||||||
lsls r0, 1
|
|
||||||
cmp r8, r0
|
|
||||||
ble _0810360C
|
|
||||||
b _08103906
|
|
||||||
.align 2, 0
|
|
||||||
_08103690: .4byte gUnknown_203ACF0
|
|
||||||
_08103694: .4byte gUnknown_8443FC0
|
|
||||||
_08103698: .4byte gSpeciesNames
|
|
||||||
_0810369C:
|
|
||||||
movs r1, 0
|
|
||||||
mov r8, r1
|
|
||||||
ldr r2, _08103730 @ =gUnknown_203ACF0
|
|
||||||
mov r9, r2
|
|
||||||
_081036A4:
|
|
||||||
ldr r1, _08103734 @ =gUnknown_84448FE
|
|
||||||
mov r2, r8
|
|
||||||
lsls r0, r2, 1
|
|
||||||
adds r0, r1
|
|
||||||
ldrh r0, [r0]
|
|
||||||
bl SpeciesToNationalPokedexNum
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r5, r0, 16
|
|
||||||
ldr r0, [sp]
|
|
||||||
cmp r5, r0
|
|
||||||
bgt _08103722
|
|
||||||
adds r0, r5, 0
|
|
||||||
movs r1, 0
|
|
||||||
movs r2, 0
|
|
||||||
bl sub_8104AB0
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r7, r0, 24
|
|
||||||
adds r0, r5, 0
|
|
||||||
movs r1, 0x1
|
|
||||||
movs r2, 0
|
|
||||||
bl sub_8104AB0
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r6, r0, 24
|
|
||||||
cmp r6, 0
|
|
||||||
beq _08103722
|
|
||||||
adds r0, r5, 0
|
|
||||||
bl NationalPokedexNumToSpecies
|
|
||||||
mov r2, r9
|
|
||||||
ldr r1, [r2]
|
|
||||||
ldr r2, [r1, 0x44]
|
|
||||||
mov r1, r10
|
|
||||||
lsls r4, r1, 3
|
|
||||||
adds r2, r4, r2
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r0, 16
|
|
||||||
movs r1, 0xB
|
|
||||||
muls r0, r1
|
|
||||||
ldr r1, _08103738 @ =gSpeciesNames
|
|
||||||
adds r0, r1
|
|
||||||
str r0, [r2]
|
|
||||||
adds r0, r5, 0
|
|
||||||
bl NationalPokedexNumToSpecies
|
|
||||||
mov r2, r9
|
|
||||||
ldr r1, [r2]
|
|
||||||
ldr r1, [r1, 0x44]
|
|
||||||
adds r4, r1
|
|
||||||
lsls r2, r6, 17
|
|
||||||
lsls r1, r7, 16
|
|
||||||
adds r2, r1
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r0, 16
|
|
||||||
adds r2, r0
|
|
||||||
str r2, [r4, 0x4]
|
|
||||||
mov r0, r10
|
|
||||||
adds r0, 0x1
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r0, 16
|
|
||||||
mov r10, r0
|
|
||||||
_08103722:
|
|
||||||
movs r0, 0x1
|
|
||||||
add r8, r0
|
|
||||||
movs r0, 0xCD
|
|
||||||
lsls r0, 1
|
|
||||||
cmp r8, r0
|
|
||||||
ble _081036A4
|
|
||||||
b _08103906
|
|
||||||
.align 2, 0
|
|
||||||
_08103730: .4byte gUnknown_203ACF0
|
|
||||||
_08103734: .4byte gUnknown_84448FE
|
|
||||||
_08103738: .4byte gSpeciesNames
|
|
||||||
_0810373C:
|
|
||||||
movs r1, 0
|
|
||||||
mov r8, r1
|
|
||||||
ldr r2, _081037C8 @ =gUnknown_203ACF0
|
|
||||||
mov r9, r2
|
|
||||||
_08103744:
|
|
||||||
ldr r1, _081037CC @ =gUnknown_84442F6
|
|
||||||
mov r2, r8
|
|
||||||
lsls r0, r2, 1
|
|
||||||
adds r0, r1
|
|
||||||
ldrh r5, [r0]
|
|
||||||
ldr r0, [sp]
|
|
||||||
cmp r5, r0
|
|
||||||
bgt _081037BA
|
|
||||||
adds r0, r5, 0
|
|
||||||
movs r1, 0
|
|
||||||
movs r2, 0
|
|
||||||
bl sub_8104AB0
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r7, r0, 24
|
|
||||||
adds r0, r5, 0
|
|
||||||
movs r1, 0x1
|
|
||||||
movs r2, 0
|
|
||||||
bl sub_8104AB0
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r6, r0, 24
|
|
||||||
cmp r6, 0
|
|
||||||
beq _081037BA
|
|
||||||
adds r0, r5, 0
|
|
||||||
bl NationalPokedexNumToSpecies
|
|
||||||
mov r2, r9
|
|
||||||
ldr r1, [r2]
|
|
||||||
ldr r2, [r1, 0x44]
|
|
||||||
mov r1, r10
|
|
||||||
lsls r4, r1, 3
|
|
||||||
adds r2, r4, r2
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r0, 16
|
|
||||||
movs r1, 0xB
|
|
||||||
muls r0, r1
|
|
||||||
ldr r1, _081037D0 @ =gSpeciesNames
|
|
||||||
adds r0, r1
|
|
||||||
str r0, [r2]
|
|
||||||
adds r0, r5, 0
|
|
||||||
bl NationalPokedexNumToSpecies
|
|
||||||
mov r2, r9
|
|
||||||
ldr r1, [r2]
|
|
||||||
ldr r1, [r1, 0x44]
|
|
||||||
adds r4, r1
|
|
||||||
lsls r2, r6, 17
|
|
||||||
lsls r1, r7, 16
|
|
||||||
adds r2, r1
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r0, 16
|
|
||||||
adds r2, r0
|
|
||||||
str r2, [r4, 0x4]
|
|
||||||
mov r0, r10
|
|
||||||
adds r0, 0x1
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r0, 16
|
|
||||||
mov r10, r0
|
|
||||||
_081037BA:
|
|
||||||
movs r0, 0x1
|
|
||||||
add r8, r0
|
|
||||||
ldr r0, _081037D4 @ =0x00000181
|
|
||||||
cmp r8, r0
|
|
||||||
ble _08103744
|
|
||||||
b _08103906
|
|
||||||
.align 2, 0
|
|
||||||
_081037C8: .4byte gUnknown_203ACF0
|
|
||||||
_081037CC: .4byte gUnknown_84442F6
|
|
||||||
_081037D0: .4byte gSpeciesNames
|
|
||||||
_081037D4: .4byte 0x00000181
|
|
||||||
_081037D8:
|
|
||||||
movs r1, 0
|
|
||||||
mov r8, r1
|
|
||||||
ldr r2, _08103864 @ =gUnknown_203ACF0
|
|
||||||
mov r9, r2
|
|
||||||
_081037E0:
|
|
||||||
ldr r1, _08103868 @ =gUnknown_84445FA
|
|
||||||
mov r2, r8
|
|
||||||
lsls r0, r2, 1
|
|
||||||
adds r0, r1
|
|
||||||
ldrh r5, [r0]
|
|
||||||
ldr r0, [sp]
|
|
||||||
cmp r5, r0
|
|
||||||
bgt _08103856
|
|
||||||
adds r0, r5, 0
|
|
||||||
movs r1, 0
|
|
||||||
movs r2, 0
|
|
||||||
bl sub_8104AB0
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r7, r0, 24
|
|
||||||
adds r0, r5, 0
|
|
||||||
movs r1, 0x1
|
|
||||||
movs r2, 0
|
|
||||||
bl sub_8104AB0
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r6, r0, 24
|
|
||||||
cmp r6, 0
|
|
||||||
beq _08103856
|
|
||||||
adds r0, r5, 0
|
|
||||||
bl NationalPokedexNumToSpecies
|
|
||||||
mov r2, r9
|
|
||||||
ldr r1, [r2]
|
|
||||||
ldr r2, [r1, 0x44]
|
|
||||||
mov r1, r10
|
|
||||||
lsls r4, r1, 3
|
|
||||||
adds r2, r4, r2
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r0, 16
|
|
||||||
movs r1, 0xB
|
|
||||||
muls r0, r1
|
|
||||||
ldr r1, _0810386C @ =gSpeciesNames
|
|
||||||
adds r0, r1
|
|
||||||
str r0, [r2]
|
|
||||||
adds r0, r5, 0
|
|
||||||
bl NationalPokedexNumToSpecies
|
|
||||||
mov r2, r9
|
|
||||||
ldr r1, [r2]
|
|
||||||
ldr r1, [r1, 0x44]
|
|
||||||
adds r4, r1
|
|
||||||
lsls r2, r6, 17
|
|
||||||
lsls r1, r7, 16
|
|
||||||
adds r2, r1
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r0, 16
|
|
||||||
adds r2, r0
|
|
||||||
str r2, [r4, 0x4]
|
|
||||||
mov r0, r10
|
|
||||||
adds r0, 0x1
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r0, 16
|
|
||||||
mov r10, r0
|
|
||||||
_08103856:
|
|
||||||
movs r0, 0x1
|
|
||||||
add r8, r0
|
|
||||||
ldr r0, _08103870 @ =0x00000181
|
|
||||||
cmp r8, r0
|
|
||||||
ble _081037E0
|
|
||||||
b _08103906
|
|
||||||
.align 2, 0
|
|
||||||
_08103864: .4byte gUnknown_203ACF0
|
|
||||||
_08103868: .4byte gUnknown_84445FA
|
|
||||||
_0810386C: .4byte gSpeciesNames
|
|
||||||
_08103870: .4byte 0x00000181
|
|
||||||
_08103874:
|
|
||||||
movs r1, 0
|
|
||||||
mov r8, r1
|
|
||||||
_08103878:
|
|
||||||
mov r4, r8
|
|
||||||
adds r4, 0x1
|
|
||||||
lsls r0, r4, 16
|
|
||||||
lsrs r5, r0, 16
|
|
||||||
adds r0, r5, 0
|
|
||||||
movs r1, 0
|
|
||||||
movs r2, 0
|
|
||||||
bl sub_8104AB0
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r7, r0, 24
|
|
||||||
adds r0, r5, 0
|
|
||||||
movs r1, 0x1
|
|
||||||
movs r2, 0
|
|
||||||
bl sub_8104AB0
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r6, r0, 24
|
|
||||||
mov r9, r4
|
|
||||||
cmp r7, 0
|
|
||||||
beq _081038D0
|
|
||||||
adds r0, r5, 0
|
|
||||||
bl NationalPokedexNumToSpecies
|
|
||||||
ldr r2, _081038C8 @ =gUnknown_203ACF0
|
|
||||||
ldr r1, [r2]
|
|
||||||
ldr r2, [r1, 0x44]
|
|
||||||
mov r1, r8
|
|
||||||
lsls r3, r1, 3
|
|
||||||
adds r2, r3, r2
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r0, 16
|
|
||||||
movs r1, 0xB
|
|
||||||
muls r0, r1
|
|
||||||
ldr r1, _081038CC @ =gSpeciesNames
|
|
||||||
adds r0, r1
|
|
||||||
str r0, [r2]
|
|
||||||
mov r10, r5
|
|
||||||
adds r4, r3, 0
|
|
||||||
b _081038E2
|
|
||||||
.align 2, 0
|
|
||||||
_081038C8: .4byte gUnknown_203ACF0
|
|
||||||
_081038CC: .4byte gSpeciesNames
|
|
||||||
_081038D0:
|
|
||||||
ldr r2, _08103918 @ =gUnknown_203ACF0
|
|
||||||
ldr r0, [r2]
|
|
||||||
ldr r1, [r0, 0x44]
|
|
||||||
mov r0, r8
|
|
||||||
lsls r2, r0, 3
|
|
||||||
adds r1, r2, r1
|
|
||||||
ldr r0, _0810391C @ =gUnknown_8415F66
|
|
||||||
str r0, [r1]
|
|
||||||
adds r4, r2, 0
|
|
||||||
_081038E2:
|
|
||||||
adds r0, r5, 0
|
|
||||||
bl NationalPokedexNumToSpecies
|
|
||||||
ldr r2, _08103918 @ =gUnknown_203ACF0
|
|
||||||
ldr r1, [r2]
|
|
||||||
ldr r3, [r1, 0x44]
|
|
||||||
adds r3, r4, r3
|
|
||||||
lsls r2, r6, 17
|
|
||||||
lsls r1, r7, 16
|
|
||||||
adds r2, r1
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r0, 16
|
|
||||||
adds r2, r0
|
|
||||||
str r2, [r3, 0x4]
|
|
||||||
mov r8, r9
|
|
||||||
ldr r0, _08103920 @ =0x00000181
|
|
||||||
cmp r8, r0
|
|
||||||
ble _08103878
|
|
||||||
_08103906:
|
|
||||||
mov r0, r10
|
|
||||||
add sp, 0x4
|
|
||||||
pop {r3-r5}
|
|
||||||
mov r8, r3
|
|
||||||
mov r9, r4
|
|
||||||
mov r10, r5
|
|
||||||
pop {r4-r7}
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
.align 2, 0
|
|
||||||
_08103918: .4byte gUnknown_203ACF0
|
|
||||||
_0810391C: .4byte gUnknown_8415F66
|
|
||||||
_08103920: .4byte 0x00000181
|
|
||||||
thumb_func_end sub_8103518
|
|
||||||
|
|
||||||
thumb_func_start sub_8103924
|
|
||||||
sub_8103924: @ 8103924
|
|
||||||
push {r4,r5,lr}
|
|
||||||
adds r5, r0, 0
|
|
||||||
lsls r1, 24
|
|
||||||
lsrs r1, 24
|
|
||||||
cmp r1, 0x4
|
|
||||||
bgt _08103936
|
|
||||||
cmp r1, 0x1
|
|
||||||
bge _08103950
|
|
||||||
b _0810393A
|
|
||||||
_08103936:
|
|
||||||
cmp r1, 0x5
|
|
||||||
beq _08103964
|
|
||||||
_0810393A:
|
|
||||||
ldr r1, _08103948 @ =gUnknown_845218C
|
|
||||||
ldr r4, _0810394C @ =gUnknown_203ACF0
|
|
||||||
ldr r0, [r4]
|
|
||||||
ldrh r2, [r0, 0x36]
|
|
||||||
ldrh r3, [r0, 0x34]
|
|
||||||
b _0810396E
|
|
||||||
.align 2, 0
|
|
||||||
_08103948: .4byte gUnknown_845218C
|
|
||||||
_0810394C: .4byte gUnknown_203ACF0
|
|
||||||
_08103950:
|
|
||||||
ldr r1, _0810395C @ =gUnknown_845218C
|
|
||||||
ldr r4, _08103960 @ =gUnknown_203ACF0
|
|
||||||
ldr r0, [r4]
|
|
||||||
ldrh r2, [r0, 0x3A]
|
|
||||||
ldrh r3, [r0, 0x38]
|
|
||||||
b _0810396E
|
|
||||||
.align 2, 0
|
|
||||||
_0810395C: .4byte gUnknown_845218C
|
|
||||||
_08103960: .4byte gUnknown_203ACF0
|
|
||||||
_08103964:
|
|
||||||
ldr r1, _08103980 @ =gUnknown_845218C
|
|
||||||
ldr r4, _08103984 @ =gUnknown_203ACF0
|
|
||||||
ldr r0, [r4]
|
|
||||||
ldrh r2, [r0, 0x3E]
|
|
||||||
ldrh r3, [r0, 0x3C]
|
|
||||||
_0810396E:
|
|
||||||
adds r0, r5, 0
|
|
||||||
bl ListMenuInitInRect
|
|
||||||
ldr r1, [r4]
|
|
||||||
adds r1, 0x41
|
|
||||||
strb r0, [r1]
|
|
||||||
pop {r4,r5}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_08103980: .4byte gUnknown_845218C
|
|
||||||
_08103984: .4byte gUnknown_203ACF0
|
|
||||||
thumb_func_end sub_8103924
|
|
||||||
|
|
||||||
thumb_func_start sub_8103988
|
|
||||||
sub_8103988: @ 8103988
|
|
||||||
push {lr}
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
cmp r0, 0x4
|
|
||||||
bgt _08103998
|
|
||||||
cmp r0, 0x1
|
|
||||||
bge _081039B8
|
|
||||||
b _0810399C
|
|
||||||
_08103998:
|
|
||||||
cmp r0, 0x5
|
|
||||||
beq _081039D4
|
|
||||||
_0810399C:
|
|
||||||
ldr r0, _081039B4 @ =gUnknown_203ACF0
|
|
||||||
ldr r2, [r0]
|
|
||||||
adds r0, r2, 0
|
|
||||||
adds r0, 0x41
|
|
||||||
ldrb r0, [r0]
|
|
||||||
adds r1, r2, 0
|
|
||||||
adds r1, 0x36
|
|
||||||
adds r2, 0x34
|
|
||||||
bl DestroyListMenuTask
|
|
||||||
b _081039E8
|
|
||||||
.align 2, 0
|
|
||||||
_081039B4: .4byte gUnknown_203ACF0
|
|
||||||
_081039B8:
|
|
||||||
ldr r0, _081039D0 @ =gUnknown_203ACF0
|
|
||||||
ldr r2, [r0]
|
|
||||||
adds r0, r2, 0
|
|
||||||
adds r0, 0x41
|
|
||||||
ldrb r0, [r0]
|
|
||||||
adds r1, r2, 0
|
|
||||||
adds r1, 0x3A
|
|
||||||
adds r2, 0x38
|
|
||||||
bl DestroyListMenuTask
|
|
||||||
b _081039E8
|
|
||||||
.align 2, 0
|
|
||||||
_081039D0: .4byte gUnknown_203ACF0
|
|
||||||
_081039D4:
|
|
||||||
ldr r0, _081039EC @ =gUnknown_203ACF0
|
|
||||||
ldr r2, [r0]
|
|
||||||
adds r0, r2, 0
|
|
||||||
adds r0, 0x41
|
|
||||||
ldrb r0, [r0]
|
|
||||||
adds r1, r2, 0
|
|
||||||
adds r1, 0x3E
|
|
||||||
adds r2, 0x3C
|
|
||||||
bl DestroyListMenuTask
|
|
||||||
_081039E8:
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_081039EC: .4byte gUnknown_203ACF0
|
|
||||||
thumb_func_end sub_8103988
|
|
||||||
|
|
||||||
thumb_func_start sub_81039F0
|
|
||||||
sub_81039F0: @ 81039F0
|
|
||||||
push {r4,lr}
|
|
||||||
sub sp, 0x10
|
|
||||||
mov r1, sp
|
|
||||||
ldr r0, _08103A18 @ =gUnknown_84521B4
|
|
||||||
ldm r0!, {r2-r4}
|
|
||||||
stm r1!, {r2-r4}
|
|
||||||
ldr r0, [r0]
|
|
||||||
str r0, [r1]
|
|
||||||
ldr r2, _08103A1C @ =gUnknown_203ACF0
|
|
||||||
ldr r0, [r2]
|
|
||||||
adds r0, 0x48
|
|
||||||
ldr r1, _08103A20 @ =gUnknown_8452174
|
|
||||||
ldrh r3, [r0]
|
|
||||||
ldrh r0, [r1, 0xE]
|
|
||||||
cmp r3, r0
|
|
||||||
bls _08103A24
|
|
||||||
mov r1, sp
|
|
||||||
subs r0, r3, r0
|
|
||||||
b _08103A28
|
|
||||||
.align 2, 0
|
|
||||||
_08103A18: .4byte gUnknown_84521B4
|
|
||||||
_08103A1C: .4byte gUnknown_203ACF0
|
|
||||||
_08103A20: .4byte gUnknown_8452174
|
|
||||||
_08103A24:
|
|
||||||
mov r1, sp
|
|
||||||
movs r0, 0
|
|
||||||
_08103A28:
|
|
||||||
strh r0, [r1, 0x8]
|
|
||||||
ldr r1, [r2]
|
|
||||||
adds r1, 0x62
|
|
||||||
mov r0, sp
|
|
||||||
bl AddScrollIndicatorArrowPair
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
add sp, 0x10
|
|
||||||
pop {r4}
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
thumb_func_end sub_81039F0
|
|
||||||
|
|
||||||
thumb_func_start sub_8103A40
|
|
||||||
sub_8103A40: @ 8103A40
|
|
||||||
push {r4-r7,lr}
|
|
||||||
sub sp, 0x4
|
|
||||||
adds r4, r1, 0
|
|
||||||
lsls r2, 24
|
|
||||||
lsrs r6, r2, 24
|
|
||||||
lsls r0, r4, 16
|
|
||||||
lsrs r5, r0, 16
|
|
||||||
movs r0, 0x1
|
|
||||||
lsrs r4, 17
|
|
||||||
ands r4, r0
|
|
||||||
ldr r7, _08103AC0 @ =gUnknown_203ACF0
|
|
||||||
ldr r0, [r7]
|
|
||||||
adds r0, 0x40
|
|
||||||
ldrb r0, [r0]
|
|
||||||
str r6, [sp]
|
|
||||||
movs r1, 0
|
|
||||||
adds r2, r5, 0
|
|
||||||
movs r3, 0xC
|
|
||||||
bl sub_8104A34
|
|
||||||
cmp r4, 0
|
|
||||||
beq _08103AB6
|
|
||||||
ldr r0, [r7]
|
|
||||||
adds r0, 0x40
|
|
||||||
ldrb r0, [r0]
|
|
||||||
movs r1, 0
|
|
||||||
movs r2, 0x28
|
|
||||||
adds r3, r6, 0
|
|
||||||
bl BlitMoveInfoIcon
|
|
||||||
ldr r0, _08103AC4 @ =gBaseStats
|
|
||||||
lsls r4, r5, 3
|
|
||||||
subs r4, r5
|
|
||||||
lsls r4, 2
|
|
||||||
adds r4, r0
|
|
||||||
ldrb r5, [r4, 0x6]
|
|
||||||
ldr r0, [r7]
|
|
||||||
adds r0, 0x40
|
|
||||||
ldrb r0, [r0]
|
|
||||||
adds r1, r5, 0x1
|
|
||||||
lsls r1, 24
|
|
||||||
lsrs r1, 24
|
|
||||||
movs r2, 0x78
|
|
||||||
adds r3, r6, 0
|
|
||||||
bl BlitMoveInfoIcon
|
|
||||||
ldrb r1, [r4, 0x7]
|
|
||||||
cmp r5, r1
|
|
||||||
beq _08103AB6
|
|
||||||
ldr r0, [r7]
|
|
||||||
adds r0, 0x40
|
|
||||||
ldrb r0, [r0]
|
|
||||||
adds r1, 0x1
|
|
||||||
lsls r1, 24
|
|
||||||
lsrs r1, 24
|
|
||||||
movs r2, 0x98
|
|
||||||
adds r3, r6, 0
|
|
||||||
bl BlitMoveInfoIcon
|
|
||||||
_08103AB6:
|
|
||||||
add sp, 0x4
|
|
||||||
pop {r4-r7}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_08103AC0: .4byte gUnknown_203ACF0
|
|
||||||
_08103AC4: .4byte gBaseStats
|
|
||||||
thumb_func_end sub_8103A40
|
|
||||||
|
|
||||||
thumb_func_start sub_8103AC8
|
thumb_func_start sub_8103AC8
|
||||||
sub_8103AC8: @ 8103AC8
|
sub_8103AC8: @ 8103AC8
|
||||||
push {r4,r5,lr}
|
push {r4,r5,lr}
|
||||||
|
|||||||
+2
-2
@@ -73,8 +73,8 @@ struct ListMenuWindowRect
|
|||||||
extern struct ListMenuTemplate gMultiuseListMenuTemplate;
|
extern struct ListMenuTemplate gMultiuseListMenuTemplate;
|
||||||
|
|
||||||
s32 DoMysteryGiftListMenu(const struct WindowTemplate *windowTemplate, const struct ListMenuTemplate *listMenuTemplate, u8 arg2, u16 tileNum, u16 palNum);
|
s32 DoMysteryGiftListMenu(const struct WindowTemplate *windowTemplate, const struct ListMenuTemplate *listMenuTemplate, u8 arg2, u16 tileNum, u16 palNum);
|
||||||
u8 ListMenuInit(struct ListMenuTemplate *listMenuTemplate, u16 cursorPos, u16 itemsAbove);
|
u8 ListMenuInit(const struct ListMenuTemplate *listMenuTemplate, u16 cursorPos, u16 itemsAbove);
|
||||||
u8 ListMenuInitInRect(struct ListMenuTemplate *listMenuTemplate, struct ListMenuWindowRect *rect, u16 cursorPos, u16 itemsAbove);
|
u8 ListMenuInitInRect(const struct ListMenuTemplate *listMenuTemplate, const struct ListMenuWindowRect *rect, u16 cursorPos, u16 itemsAbove);
|
||||||
s32 ListMenu_ProcessInput(u8 listTaskId);
|
s32 ListMenu_ProcessInput(u8 listTaskId);
|
||||||
void DestroyListMenuTask(u8 listTaskId, u16 *cursorPos, u16 *itemsAbove);
|
void DestroyListMenuTask(u8 listTaskId, u16 *cursorPos, u16 *itemsAbove);
|
||||||
void RedrawListMenu(u8 listTaskId);
|
void RedrawListMenu(u8 listTaskId);
|
||||||
|
|||||||
@@ -2,5 +2,6 @@
|
|||||||
#define GUARD_POKEDEX_SCREEN_H
|
#define GUARD_POKEDEX_SCREEN_H
|
||||||
|
|
||||||
void CB2_OpenPokedexFromStartMenu(void);
|
void CB2_OpenPokedexFromStartMenu(void);
|
||||||
|
s8 sub_8104AB0(u16 nationalDexNo, u8 caseID, u8 unk);
|
||||||
|
|
||||||
#endif //GUARD_POKEDEX_SCREEN_H
|
#endif //GUARD_POKEDEX_SCREEN_H
|
||||||
|
|||||||
@@ -974,5 +974,6 @@ extern const u8 gUnknown_8415DD1[];
|
|||||||
extern const u8 gUnknown_8415DD7[];
|
extern const u8 gUnknown_8415DD7[];
|
||||||
extern const u8 gUnknown_8415F3D[];
|
extern const u8 gUnknown_8415F3D[];
|
||||||
extern const u8 gUnknown_8415F4A[];
|
extern const u8 gUnknown_8415F4A[];
|
||||||
|
extern const u8 gUnknown_8415F66[];
|
||||||
|
|
||||||
#endif //GUARD_STRINGS_H
|
#endif //GUARD_STRINGS_H
|
||||||
|
|||||||
+4
-4
@@ -70,7 +70,7 @@ static EWRAM_DATA struct MysteryGiftLinkMenuStruct sMysteryGiftLinkMenu = {0};
|
|||||||
struct ListMenuOverride gListMenuOverride;
|
struct ListMenuOverride gListMenuOverride;
|
||||||
struct ListMenuTemplate gMultiuseListMenuTemplate;
|
struct ListMenuTemplate gMultiuseListMenuTemplate;
|
||||||
|
|
||||||
static u8 ListMenuInitInternal(struct ListMenuTemplate *listMenuTemplate, u16 cursorPos, u16 itemsAbove);
|
static u8 ListMenuInitInternal(const struct ListMenuTemplate *listMenuTemplate, u16 cursorPos, u16 itemsAbove);
|
||||||
static bool8 ListMenuChangeSelection(struct ListMenu *list, bool8 updateCursorAndCallCallback, u8 count, bool8 movingDown);
|
static bool8 ListMenuChangeSelection(struct ListMenu *list, bool8 updateCursorAndCallCallback, u8 count, bool8 movingDown);
|
||||||
static void ListMenuPrintEntries(struct ListMenu *list, u16 startIndex, u16 yOffset, u16 count);
|
static void ListMenuPrintEntries(struct ListMenu *list, u16 startIndex, u16 yOffset, u16 count);
|
||||||
static void ListMenuDrawCursor(struct ListMenu *list);
|
static void ListMenuDrawCursor(struct ListMenu *list);
|
||||||
@@ -172,7 +172,7 @@ s32 DoMysteryGiftListMenu(const struct WindowTemplate *windowTemplate, const str
|
|||||||
return LIST_NOTHING_CHOSEN;
|
return LIST_NOTHING_CHOSEN;
|
||||||
}
|
}
|
||||||
|
|
||||||
u8 ListMenuInit(struct ListMenuTemplate *listMenuTemplate, u16 cursorPos, u16 itemsAbove)
|
u8 ListMenuInit(const struct ListMenuTemplate *listMenuTemplate, u16 cursorPos, u16 itemsAbove)
|
||||||
{
|
{
|
||||||
u8 taskId = ListMenuInitInternal(listMenuTemplate, cursorPos, itemsAbove);
|
u8 taskId = ListMenuInitInternal(listMenuTemplate, cursorPos, itemsAbove);
|
||||||
PutWindowTilemap(listMenuTemplate->windowId);
|
PutWindowTilemap(listMenuTemplate->windowId);
|
||||||
@@ -180,7 +180,7 @@ u8 ListMenuInit(struct ListMenuTemplate *listMenuTemplate, u16 cursorPos, u16 it
|
|||||||
return taskId;
|
return taskId;
|
||||||
}
|
}
|
||||||
|
|
||||||
u8 ListMenuInitInRect(struct ListMenuTemplate *listMenuTemplate, struct ListMenuWindowRect *rect, u16 cursorPos, u16 itemsAbove)
|
u8 ListMenuInitInRect(const struct ListMenuTemplate *listMenuTemplate, const struct ListMenuWindowRect *rect, u16 cursorPos, u16 itemsAbove)
|
||||||
{
|
{
|
||||||
s32 i;
|
s32 i;
|
||||||
u8 taskId = ListMenuInitInternal(listMenuTemplate, cursorPos, itemsAbove);
|
u8 taskId = ListMenuInitInternal(listMenuTemplate, cursorPos, itemsAbove);
|
||||||
@@ -338,7 +338,7 @@ u16 ListMenuGetYCoordForPrintingArrowCursor(u8 listTaskId)
|
|||||||
return list->itemsAbove * yMultiplier + list->template.upText_Y;
|
return list->itemsAbove * yMultiplier + list->template.upText_Y;
|
||||||
}
|
}
|
||||||
|
|
||||||
static u8 ListMenuInitInternal(struct ListMenuTemplate *listMenuTemplate, u16 cursorPos, u16 itemsAbove)
|
static u8 ListMenuInitInternal(const struct ListMenuTemplate *listMenuTemplate, u16 cursorPos, u16 itemsAbove)
|
||||||
{
|
{
|
||||||
u8 listTaskId = CreateTask(ListMenuDummyTask, 0);
|
u8 listTaskId = CreateTask(ListMenuDummyTask, 0);
|
||||||
struct ListMenu *list = (struct ListMenu *)gTasks[listTaskId].data;
|
struct ListMenu *list = (struct ListMenu *)gTasks[listTaskId].data;
|
||||||
|
|||||||
+1
-2
@@ -1,9 +1,8 @@
|
|||||||
#include "global.h"
|
#include "global.h"
|
||||||
#include "pokedex.h"
|
#include "pokedex.h"
|
||||||
|
#include "pokedex_screen.h"
|
||||||
#include "constants/species.h"
|
#include "constants/species.h"
|
||||||
|
|
||||||
extern s8 sub_8104AB0(u16 nationalDexNo, u8 caseID, u8 unk);
|
|
||||||
|
|
||||||
ALIGNED(4) static const u8 gExpandedPlaceholder_PokedexDescription[] = _("");
|
ALIGNED(4) static const u8 gExpandedPlaceholder_PokedexDescription[] = _("");
|
||||||
|
|
||||||
#include "data/pokemon/pokedex_text.h"
|
#include "data/pokemon/pokedex_text.h"
|
||||||
|
|||||||
+212
-4
@@ -18,7 +18,11 @@
|
|||||||
#include "overworld.h"
|
#include "overworld.h"
|
||||||
#include "strings.h"
|
#include "strings.h"
|
||||||
#include "menu.h"
|
#include "menu.h"
|
||||||
|
#include "pokedex_screen.h"
|
||||||
|
#include "data.h"
|
||||||
|
#include "pokedex.h"
|
||||||
#include "constants/songs.h"
|
#include "constants/songs.h"
|
||||||
|
#include "constants/species.h"
|
||||||
|
|
||||||
struct PokedexScreenData
|
struct PokedexScreenData
|
||||||
{
|
{
|
||||||
@@ -42,10 +46,12 @@ struct PokedexScreenData
|
|||||||
u8 field_2E;
|
u8 field_2E;
|
||||||
u8 field_2F;
|
u8 field_2F;
|
||||||
u32 field_30;
|
u32 field_30;
|
||||||
u8 filler_34[0x4];
|
u16 field_34;
|
||||||
|
u16 field_36;
|
||||||
u16 field_38;
|
u16 field_38;
|
||||||
u16 field_3A;
|
u16 field_3A;
|
||||||
u8 filler_3C[0x4];
|
u16 field_3C;
|
||||||
|
u16 field_3E;
|
||||||
u8 field_40;
|
u8 field_40;
|
||||||
u8 field_41;
|
u8 field_41;
|
||||||
u8 field_42;
|
u8 field_42;
|
||||||
@@ -77,14 +83,15 @@ void sub_8102F80(u8 taskId);
|
|||||||
void sub_810317C(void);
|
void sub_810317C(void);
|
||||||
void sub_8103238(u8 taskId);
|
void sub_8103238(u8 taskId);
|
||||||
void sub_810345C(void);
|
void sub_810345C(void);
|
||||||
void sub_8103924(struct ListMenuTemplate * a0, u8 a1);
|
|
||||||
u8 sub_81039F0(void);
|
|
||||||
u16 sub_8103518(u8 a0);
|
u16 sub_8103518(u8 a0);
|
||||||
|
void sub_8103924(const struct ListMenuTemplate * a0, u8 a1);
|
||||||
|
u8 sub_81039F0(void);
|
||||||
void sub_8103988(u8 a0);
|
void sub_8103988(u8 a0);
|
||||||
void sub_8103AC8(u8 taskId);
|
void sub_8103AC8(u8 taskId);
|
||||||
void sub_81047B0(u8 *a0);
|
void sub_81047B0(u8 *a0);
|
||||||
void sub_81047C8(u8 a0, u8 a1, const u8 *a2, u8 a3, u8 a4, u8 a5);
|
void sub_81047C8(u8 a0, u8 a1, const u8 *a2, u8 a3, u8 a4, u8 a5);
|
||||||
void sub_810491C(u8 a0, u8 a1, u16 a2, u8 a3, u8 a4, u8 a5);
|
void sub_810491C(u8 a0, u8 a1, u16 a2, u8 a3, u8 a4, u8 a5);
|
||||||
|
void sub_8104A34(u8 windowId, u8 a1, u16 species, u8 a3, u8 y);
|
||||||
u16 sub_8104BBC(u8 a0, u8 a1);
|
u16 sub_8104BBC(u8 a0, u8 a1);
|
||||||
void sub_8104C2C(const u8 *a0);
|
void sub_8104C2C(const u8 *a0);
|
||||||
void sub_81042EC(u8 taskId);
|
void sub_81042EC(u8 taskId);
|
||||||
@@ -98,6 +105,10 @@ extern const u16 gUnknown_84404C8[];
|
|||||||
extern const u16 gUnknown_84406E0[];
|
extern const u16 gUnknown_84406E0[];
|
||||||
extern const u16 gUnknown_8440EF0[];
|
extern const u16 gUnknown_8440EF0[];
|
||||||
extern const u16 gUnknown_8443460[];
|
extern const u16 gUnknown_8443460[];
|
||||||
|
extern const u16 gUnknown_8443FC0[];
|
||||||
|
extern const u16 gUnknown_84442F6[];
|
||||||
|
extern const u16 gUnknown_84448FE[];
|
||||||
|
extern const u16 gUnknown_84445FA[];
|
||||||
extern const struct BgTemplate gUnknown_8451EBC[4];
|
extern const struct BgTemplate gUnknown_8451EBC[4];
|
||||||
extern const struct WindowTemplate gUnknown_8451ECC[];
|
extern const struct WindowTemplate gUnknown_8451ECC[];
|
||||||
extern const struct PokedexScreenData gUnknown_8451EE4;
|
extern const struct PokedexScreenData gUnknown_8451EE4;
|
||||||
@@ -111,6 +122,8 @@ extern const struct ListMenuTemplate gUnknown_84520BC;
|
|||||||
extern const struct ScrollArrowsTemplate gUnknown_84520D4;
|
extern const struct ScrollArrowsTemplate gUnknown_84520D4;
|
||||||
extern const struct ScrollArrowsTemplate gUnknown_84520E4;
|
extern const struct ScrollArrowsTemplate gUnknown_84520E4;
|
||||||
extern const struct PokedexScreenWindowGfx gUnknown_84520F4[];
|
extern const struct PokedexScreenWindowGfx gUnknown_84520F4[];
|
||||||
|
extern const struct ListMenuWindowRect gUnknown_845218C;
|
||||||
|
extern const struct ScrollArrowsTemplate gUnknown_84521B4;
|
||||||
|
|
||||||
void sub_81024C0(void)
|
void sub_81024C0(void)
|
||||||
{
|
{
|
||||||
@@ -627,3 +640,198 @@ void sub_810345C(void)
|
|||||||
CopyWindowToVram(0, 2);
|
CopyWindowToVram(0, 2);
|
||||||
CopyWindowToVram(1, 2);
|
CopyWindowToVram(1, 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
u16 sub_8103518(u8 a0)
|
||||||
|
{
|
||||||
|
s32 max_n = IsNationalPokedexEnabled() ? NATIONAL_DEX_DEOXYS : NATIONAL_DEX_MEW;
|
||||||
|
u16 ndex_num;
|
||||||
|
u16 ret = NATIONAL_DEX_NONE;
|
||||||
|
s32 i;
|
||||||
|
bool8 caught;
|
||||||
|
bool8 seen;
|
||||||
|
|
||||||
|
switch (a0)
|
||||||
|
{
|
||||||
|
default:
|
||||||
|
case 0:
|
||||||
|
for (i = 0; i < NATIONAL_DEX_MEW; i++)
|
||||||
|
{
|
||||||
|
ndex_num = i + 1;
|
||||||
|
seen = sub_8104AB0(ndex_num, FLAG_GET_SEEN, 0);
|
||||||
|
caught = sub_8104AB0(ndex_num, FLAG_GET_CAUGHT, 0);
|
||||||
|
if (seen)
|
||||||
|
{
|
||||||
|
gUnknown_203ACF0->field_44[i].label = gSpeciesNames[NationalPokedexNumToSpecies(ndex_num)];
|
||||||
|
ret = ndex_num;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
gUnknown_203ACF0->field_44[i].label = gUnknown_8415F66;
|
||||||
|
}
|
||||||
|
gUnknown_203ACF0->field_44[i].index = (caught << 17) + (seen << 16) + NationalPokedexNumToSpecies(ndex_num);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
for (i = 0; i < SPECIES_CHIMECHO; i++)
|
||||||
|
{
|
||||||
|
ndex_num = gUnknown_8443FC0[i];
|
||||||
|
if (ndex_num <= max_n)
|
||||||
|
{
|
||||||
|
seen = sub_8104AB0(ndex_num, FLAG_GET_SEEN, 0);
|
||||||
|
caught = sub_8104AB0(ndex_num, FLAG_GET_CAUGHT, 0);
|
||||||
|
if (seen)
|
||||||
|
{
|
||||||
|
gUnknown_203ACF0->field_44[ret].label = gSpeciesNames[NationalPokedexNumToSpecies(ndex_num)];
|
||||||
|
gUnknown_203ACF0->field_44[ret].index = (caught << 17) + (seen << 16) + NationalPokedexNumToSpecies(ndex_num);
|
||||||
|
ret++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
for (i = 0; i < SPECIES_CHIMECHO; i++)
|
||||||
|
{
|
||||||
|
ndex_num = SpeciesToNationalPokedexNum(gUnknown_84448FE[i]);
|
||||||
|
if (ndex_num <= max_n)
|
||||||
|
{
|
||||||
|
seen = sub_8104AB0(ndex_num, FLAG_GET_SEEN, 0);
|
||||||
|
caught = sub_8104AB0(ndex_num, FLAG_GET_CAUGHT, 0);
|
||||||
|
if (caught)
|
||||||
|
{
|
||||||
|
gUnknown_203ACF0->field_44[ret].label = gSpeciesNames[NationalPokedexNumToSpecies(ndex_num)];
|
||||||
|
gUnknown_203ACF0->field_44[ret].index = (caught << 17) + (seen << 16) + NationalPokedexNumToSpecies(ndex_num);
|
||||||
|
ret++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
for (i = 0; i < NATIONAL_DEX_DEOXYS; i++)
|
||||||
|
{
|
||||||
|
ndex_num = gUnknown_84442F6[i];
|
||||||
|
if (ndex_num <= max_n)
|
||||||
|
{
|
||||||
|
seen = sub_8104AB0(ndex_num, FLAG_GET_SEEN, 0);
|
||||||
|
caught = sub_8104AB0(ndex_num, FLAG_GET_CAUGHT, 0);
|
||||||
|
if (caught)
|
||||||
|
{
|
||||||
|
gUnknown_203ACF0->field_44[ret].label = gSpeciesNames[NationalPokedexNumToSpecies(ndex_num)];
|
||||||
|
gUnknown_203ACF0->field_44[ret].index = (caught << 17) + (seen << 16) + NationalPokedexNumToSpecies(ndex_num);
|
||||||
|
ret++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
for (i = 0; i < NATIONAL_DEX_DEOXYS; i++)
|
||||||
|
{
|
||||||
|
ndex_num = gUnknown_84445FA[i];
|
||||||
|
if (ndex_num <= max_n)
|
||||||
|
{
|
||||||
|
seen = sub_8104AB0(ndex_num, FLAG_GET_SEEN, 0);
|
||||||
|
caught = sub_8104AB0(ndex_num, FLAG_GET_CAUGHT, 0);
|
||||||
|
if (caught)
|
||||||
|
{
|
||||||
|
gUnknown_203ACF0->field_44[ret].label = gSpeciesNames[NationalPokedexNumToSpecies(ndex_num)];
|
||||||
|
gUnknown_203ACF0->field_44[ret].index = (caught << 17) + (seen << 16) + NationalPokedexNumToSpecies(ndex_num);
|
||||||
|
ret++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 5:
|
||||||
|
for (i = 0; i < NATIONAL_DEX_DEOXYS; i++)
|
||||||
|
{
|
||||||
|
ndex_num = i + 1;
|
||||||
|
seen = sub_8104AB0(ndex_num, FLAG_GET_SEEN, 0);
|
||||||
|
caught = sub_8104AB0(ndex_num, FLAG_GET_CAUGHT, 0);
|
||||||
|
if (seen)
|
||||||
|
{
|
||||||
|
gUnknown_203ACF0->field_44[i].label = gSpeciesNames[NationalPokedexNumToSpecies(ndex_num)];
|
||||||
|
ret = ndex_num;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
gUnknown_203ACF0->field_44[i].label = gUnknown_8415F66;
|
||||||
|
}
|
||||||
|
gUnknown_203ACF0->field_44[i].index = (caught << 17) + (seen << 16) + NationalPokedexNumToSpecies(ndex_num);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_8103924(const struct ListMenuTemplate * template, u8 a1)
|
||||||
|
{
|
||||||
|
switch (a1)
|
||||||
|
{
|
||||||
|
default:
|
||||||
|
case 0:
|
||||||
|
gUnknown_203ACF0->field_41 = ListMenuInitInRect(template, &gUnknown_845218C, gUnknown_203ACF0->field_36, gUnknown_203ACF0->field_34);
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
case 2:
|
||||||
|
case 3:
|
||||||
|
case 4:
|
||||||
|
gUnknown_203ACF0->field_41 = ListMenuInitInRect(template, &gUnknown_845218C, gUnknown_203ACF0->field_3A, gUnknown_203ACF0->field_38);
|
||||||
|
break;
|
||||||
|
case 5:
|
||||||
|
gUnknown_203ACF0->field_41 = ListMenuInitInRect(template, &gUnknown_845218C, gUnknown_203ACF0->field_3E, gUnknown_203ACF0->field_3C);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_8103988(u8 a0)
|
||||||
|
{
|
||||||
|
switch (a0)
|
||||||
|
{
|
||||||
|
default:
|
||||||
|
case 0:
|
||||||
|
DestroyListMenuTask(gUnknown_203ACF0->field_41, &gUnknown_203ACF0->field_36, &gUnknown_203ACF0->field_34);
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
case 2:
|
||||||
|
case 3:
|
||||||
|
case 4:
|
||||||
|
DestroyListMenuTask(gUnknown_203ACF0->field_41, &gUnknown_203ACF0->field_3A, &gUnknown_203ACF0->field_38);
|
||||||
|
break;
|
||||||
|
case 5:
|
||||||
|
DestroyListMenuTask(gUnknown_203ACF0->field_41, &gUnknown_203ACF0->field_3E, &gUnknown_203ACF0->field_3C);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
u8 sub_81039F0(void)
|
||||||
|
{
|
||||||
|
struct ScrollArrowsTemplate template = gUnknown_84521B4;
|
||||||
|
if (gUnknown_203ACF0->field_48 > gUnknown_8452174.maxShowed)
|
||||||
|
template.fullyDownThreshold = gUnknown_203ACF0->field_48 - gUnknown_8452174.maxShowed;
|
||||||
|
else
|
||||||
|
template.fullyDownThreshold = 0;
|
||||||
|
return AddScrollIndicatorArrowPair(&template, &gUnknown_203ACF0->field_62);
|
||||||
|
}
|
||||||
|
|
||||||
|
struct PokedexListItem
|
||||||
|
{
|
||||||
|
u16 species;
|
||||||
|
bool8 seen:1;
|
||||||
|
bool8 caught:1;
|
||||||
|
};
|
||||||
|
|
||||||
|
void sub_8103A40(u8 windowId, s32 itemId, u8 y)
|
||||||
|
{
|
||||||
|
u32 itemId_ = itemId;
|
||||||
|
u16 species = itemId_;
|
||||||
|
bool8 seen = (itemId_ >> 16) & 1; // not used but required to match
|
||||||
|
bool8 caught = (itemId_ >> 17) & 1;
|
||||||
|
u8 type1;
|
||||||
|
sub_8104A34(gUnknown_203ACF0->field_40, 0, species, 12, y);
|
||||||
|
if (caught)
|
||||||
|
{
|
||||||
|
BlitMoveInfoIcon(gUnknown_203ACF0->field_40, 0, 0x28, y);
|
||||||
|
type1 = gBaseStats[species].type1;
|
||||||
|
BlitMoveInfoIcon(gUnknown_203ACF0->field_40, type1 + 1, 0x78, y);
|
||||||
|
if (type1 != gBaseStats[species].type2)
|
||||||
|
BlitMoveInfoIcon(gUnknown_203ACF0->field_40, gBaseStats[species].type2 + 1, 0x98, y);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user