Port pokedex.c
This commit is contained in:
@@ -30322,7 +30322,7 @@ _0802C8E8:
|
|||||||
lsls r0, 16
|
lsls r0, 16
|
||||||
lsrs r0, 16
|
lsrs r0, 16
|
||||||
movs r1, 0x1
|
movs r1, 0x1
|
||||||
bl sub_8088E38
|
bl GetPokedexHeightWeight
|
||||||
ldrh r1, [r4]
|
ldrh r1, [r4]
|
||||||
lsls r0, 16
|
lsls r0, 16
|
||||||
lsrs r0, 16
|
lsrs r0, 16
|
||||||
|
|||||||
+2
-2
@@ -51,7 +51,7 @@ start_menu_is_selected_item_valid: @ 80BD754
|
|||||||
cmp r0, 0x15
|
cmp r0, 0x15
|
||||||
bne _080BD76C
|
bne _080BD76C
|
||||||
movs r0, 0
|
movs r0, 0
|
||||||
bl pokedex_count
|
bl GetNationalPokedexCount
|
||||||
lsls r0, 16
|
lsls r0, 16
|
||||||
lsrs r0, 16
|
lsrs r0, 16
|
||||||
b _080BD782
|
b _080BD782
|
||||||
@@ -1054,7 +1054,7 @@ sub_80BDE88: @ 80BDE88
|
|||||||
ldr r1, [r4]
|
ldr r1, [r4]
|
||||||
movs r0, 0
|
movs r0, 0
|
||||||
strh r0, [r1]
|
strh r0, [r1]
|
||||||
bl pokedex_count
|
bl GetNationalPokedexCount
|
||||||
lsls r0, 16
|
lsls r0, 16
|
||||||
cmp r0, 0
|
cmp r0, 0
|
||||||
beq _080BDEB0
|
beq _080BDEB0
|
||||||
|
|||||||
+2
-2
@@ -1504,13 +1504,13 @@ sub_800CF3C: @ 800CF3C
|
|||||||
cmp r0, 0
|
cmp r0, 0
|
||||||
beq _0800CF64
|
beq _0800CF64
|
||||||
movs r0, 0x1
|
movs r0, 0x1
|
||||||
bl pokedex_count
|
bl GetNationalPokedexCount
|
||||||
b _0800CF6A
|
b _0800CF6A
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_0800CF60: .4byte 0x00000829
|
_0800CF60: .4byte 0x00000829
|
||||||
_0800CF64:
|
_0800CF64:
|
||||||
movs r0, 0x1
|
movs r0, 0x1
|
||||||
bl sub_8088EDC
|
bl GetKantoPokedexCount
|
||||||
_0800CF6A:
|
_0800CF6A:
|
||||||
lsls r0, 16
|
lsls r0, 16
|
||||||
lsrs r6, r0, 16
|
lsrs r6, r0, 16
|
||||||
|
|||||||
-282
@@ -1,282 +0,0 @@
|
|||||||
.include "asm/macros.inc"
|
|
||||||
.include "constants/constants.inc"
|
|
||||||
|
|
||||||
.syntax unified
|
|
||||||
|
|
||||||
.text
|
|
||||||
|
|
||||||
thumb_func_start sub_8088E20
|
|
||||||
sub_8088E20: @ 8088E20
|
|
||||||
adds r1, r0, 0
|
|
||||||
lsls r1, 16
|
|
||||||
lsrs r1, 16
|
|
||||||
lsls r0, r1, 3
|
|
||||||
adds r0, r1
|
|
||||||
lsls r0, 2
|
|
||||||
ldr r1, _08088E34 @ =gPokedexEntries
|
|
||||||
adds r0, r1
|
|
||||||
bx lr
|
|
||||||
.align 2, 0
|
|
||||||
_08088E34: .4byte gPokedexEntries
|
|
||||||
thumb_func_end sub_8088E20
|
|
||||||
|
|
||||||
thumb_func_start sub_8088E38
|
|
||||||
sub_8088E38: @ 8088E38
|
|
||||||
push {lr}
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r2, r0, 16
|
|
||||||
lsls r1, 24
|
|
||||||
lsrs r1, 24
|
|
||||||
cmp r1, 0
|
|
||||||
beq _08088E4E
|
|
||||||
cmp r1, 0x1
|
|
||||||
beq _08088E60
|
|
||||||
movs r0, 0x1
|
|
||||||
b _08088E6C
|
|
||||||
_08088E4E:
|
|
||||||
ldr r0, _08088E5C @ =gPokedexEntries
|
|
||||||
lsls r1, r2, 3
|
|
||||||
adds r1, r2
|
|
||||||
lsls r1, 2
|
|
||||||
adds r1, r0
|
|
||||||
ldrh r0, [r1, 0xC]
|
|
||||||
b _08088E6C
|
|
||||||
.align 2, 0
|
|
||||||
_08088E5C: .4byte gPokedexEntries
|
|
||||||
_08088E60:
|
|
||||||
ldr r0, _08088E70 @ =gPokedexEntries
|
|
||||||
lsls r1, r2, 3
|
|
||||||
adds r1, r2
|
|
||||||
lsls r1, 2
|
|
||||||
adds r1, r0
|
|
||||||
ldrh r0, [r1, 0xE]
|
|
||||||
_08088E6C:
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
.align 2, 0
|
|
||||||
_08088E70: .4byte gPokedexEntries
|
|
||||||
thumb_func_end sub_8088E38
|
|
||||||
|
|
||||||
thumb_func_start GetSetPokedexFlag
|
|
||||||
GetSetPokedexFlag: @ 8088E74
|
|
||||||
push {lr}
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r0, 16
|
|
||||||
lsls r1, 24
|
|
||||||
lsrs r1, 24
|
|
||||||
movs r2, 0
|
|
||||||
bl sub_8104AB0
|
|
||||||
lsls r0, 24
|
|
||||||
asrs r0, 24
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
thumb_func_end GetSetPokedexFlag
|
|
||||||
|
|
||||||
thumb_func_start pokedex_count
|
|
||||||
pokedex_count: @ 8088E8C
|
|
||||||
push {r4-r7,lr}
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r6, r0, 24
|
|
||||||
movs r5, 0
|
|
||||||
movs r0, 0
|
|
||||||
ldr r7, _08088EA4 @ =0x00000181
|
|
||||||
_08088E98:
|
|
||||||
cmp r6, 0
|
|
||||||
beq _08088EA8
|
|
||||||
cmp r6, 0x1
|
|
||||||
beq _08088EB2
|
|
||||||
adds r4, r0, 0x1
|
|
||||||
b _08088ECA
|
|
||||||
.align 2, 0
|
|
||||||
_08088EA4: .4byte 0x00000181
|
|
||||||
_08088EA8:
|
|
||||||
adds r4, r0, 0x1
|
|
||||||
lsls r0, r4, 16
|
|
||||||
lsrs r0, 16
|
|
||||||
movs r1, 0
|
|
||||||
b _08088EBA
|
|
||||||
_08088EB2:
|
|
||||||
adds r4, r0, 0x1
|
|
||||||
lsls r0, r4, 16
|
|
||||||
lsrs r0, 16
|
|
||||||
movs r1, 0x1
|
|
||||||
_08088EBA:
|
|
||||||
bl GetSetPokedexFlag
|
|
||||||
lsls r0, 24
|
|
||||||
cmp r0, 0
|
|
||||||
beq _08088ECA
|
|
||||||
adds r0, r5, 0x1
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r5, r0, 16
|
|
||||||
_08088ECA:
|
|
||||||
lsls r0, r4, 16
|
|
||||||
lsrs r0, 16
|
|
||||||
cmp r0, r7
|
|
||||||
bls _08088E98
|
|
||||||
adds r0, r5, 0
|
|
||||||
pop {r4-r7}
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
thumb_func_end pokedex_count
|
|
||||||
|
|
||||||
thumb_func_start sub_8088EDC
|
|
||||||
sub_8088EDC: @ 8088EDC
|
|
||||||
push {r4-r6,lr}
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r6, r0, 24
|
|
||||||
movs r5, 0
|
|
||||||
movs r0, 0
|
|
||||||
_08088EE6:
|
|
||||||
cmp r6, 0
|
|
||||||
beq _08088EF2
|
|
||||||
cmp r6, 0x1
|
|
||||||
beq _08088EFC
|
|
||||||
adds r4, r0, 0x1
|
|
||||||
b _08088F14
|
|
||||||
_08088EF2:
|
|
||||||
adds r4, r0, 0x1
|
|
||||||
lsls r0, r4, 16
|
|
||||||
lsrs r0, 16
|
|
||||||
movs r1, 0
|
|
||||||
b _08088F04
|
|
||||||
_08088EFC:
|
|
||||||
adds r4, r0, 0x1
|
|
||||||
lsls r0, r4, 16
|
|
||||||
lsrs r0, 16
|
|
||||||
movs r1, 0x1
|
|
||||||
_08088F04:
|
|
||||||
bl GetSetPokedexFlag
|
|
||||||
lsls r0, 24
|
|
||||||
cmp r0, 0
|
|
||||||
beq _08088F14
|
|
||||||
adds r0, r5, 0x1
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r5, r0, 16
|
|
||||||
_08088F14:
|
|
||||||
lsls r0, r4, 16
|
|
||||||
lsrs r0, 16
|
|
||||||
cmp r0, 0x96
|
|
||||||
bls _08088EE6
|
|
||||||
adds r0, r5, 0
|
|
||||||
pop {r4-r6}
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
thumb_func_end sub_8088EDC
|
|
||||||
|
|
||||||
thumb_func_start sub_8088F24
|
|
||||||
sub_8088F24: @ 8088F24
|
|
||||||
push {r4,lr}
|
|
||||||
movs r0, 0
|
|
||||||
_08088F28:
|
|
||||||
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 GetSetPokedexFlag
|
|
||||||
lsls r0, 24
|
|
||||||
cmp r0, 0
|
|
||||||
bne _08088F48
|
|
||||||
movs r0, 0
|
|
||||||
b _08088F50
|
|
||||||
_08088F48:
|
|
||||||
adds r0, r4, 0
|
|
||||||
cmp r0, 0xC7
|
|
||||||
bls _08088F28
|
|
||||||
movs r0, 0x1
|
|
||||||
_08088F50:
|
|
||||||
pop {r4}
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
thumb_func_end sub_8088F24
|
|
||||||
|
|
||||||
thumb_func_start sub_8088F58
|
|
||||||
sub_8088F58: @ 8088F58
|
|
||||||
push {r4,lr}
|
|
||||||
movs r0, 0
|
|
||||||
_08088F5C:
|
|
||||||
adds r0, 0x1
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r4, r0, 16
|
|
||||||
adds r0, r4, 0
|
|
||||||
movs r1, 0x1
|
|
||||||
bl GetSetPokedexFlag
|
|
||||||
lsls r0, 24
|
|
||||||
cmp r0, 0
|
|
||||||
bne _08088F74
|
|
||||||
movs r0, 0
|
|
||||||
b _08088F7C
|
|
||||||
_08088F74:
|
|
||||||
adds r0, r4, 0
|
|
||||||
cmp r0, 0x95
|
|
||||||
bls _08088F5C
|
|
||||||
movs r0, 0x1
|
|
||||||
_08088F7C:
|
|
||||||
pop {r4}
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
thumb_func_end sub_8088F58
|
|
||||||
|
|
||||||
thumb_func_start HasAllKantoMons
|
|
||||||
HasAllKantoMons: @ 8088F84
|
|
||||||
push {r4,r5,lr}
|
|
||||||
movs r0, 0
|
|
||||||
_08088F88:
|
|
||||||
adds r0, 0x1
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r4, r0, 16
|
|
||||||
adds r0, r4, 0
|
|
||||||
movs r1, 0x1
|
|
||||||
bl GetSetPokedexFlag
|
|
||||||
lsls r0, 24
|
|
||||||
cmp r0, 0
|
|
||||||
beq _08088FD6
|
|
||||||
adds r0, r4, 0
|
|
||||||
cmp r0, 0x95
|
|
||||||
bls _08088F88
|
|
||||||
movs r0, 0x97
|
|
||||||
_08088FA4:
|
|
||||||
adds r0, 0x1
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r4, r0, 16
|
|
||||||
adds r0, r4, 0
|
|
||||||
movs r1, 0x1
|
|
||||||
bl GetSetPokedexFlag
|
|
||||||
lsls r0, 24
|
|
||||||
cmp r0, 0
|
|
||||||
beq _08088FD6
|
|
||||||
adds r0, r4, 0
|
|
||||||
cmp r0, 0xF7
|
|
||||||
bls _08088FA4
|
|
||||||
movs r0, 0xFB
|
|
||||||
ldr r5, _08088FDC @ =0x0000017f
|
|
||||||
_08088FC2:
|
|
||||||
adds r0, 0x1
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r4, r0, 16
|
|
||||||
adds r0, r4, 0
|
|
||||||
movs r1, 0x1
|
|
||||||
bl GetSetPokedexFlag
|
|
||||||
lsls r0, 24
|
|
||||||
cmp r0, 0
|
|
||||||
bne _08088FE0
|
|
||||||
_08088FD6:
|
|
||||||
movs r0, 0
|
|
||||||
b _08088FE8
|
|
||||||
.align 2, 0
|
|
||||||
_08088FDC: .4byte 0x0000017f
|
|
||||||
_08088FE0:
|
|
||||||
adds r0, r4, 0
|
|
||||||
cmp r0, r5
|
|
||||||
bls _08088FC2
|
|
||||||
movs r0, 0x1
|
|
||||||
_08088FE8:
|
|
||||||
pop {r4,r5}
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
thumb_func_end HasAllKantoMons
|
|
||||||
|
|
||||||
.align 2, 0 @ Don't pad with nop.
|
|
||||||
@@ -128,7 +128,7 @@ GetMonSize: @ 80A0770
|
|||||||
lsls r0, 16
|
lsls r0, 16
|
||||||
lsrs r0, 16
|
lsrs r0, 16
|
||||||
movs r1, 0
|
movs r1, 0
|
||||||
bl sub_8088E38
|
bl GetPokedexHeightWeight
|
||||||
lsls r0, 16
|
lsls r0, 16
|
||||||
lsrs r7, r0, 16
|
lsrs r7, r0, 16
|
||||||
adds r0, r6, 0
|
adds r0, r6, 0
|
||||||
|
|||||||
@@ -59,11 +59,11 @@ _080F8034:
|
|||||||
cmp r0, 0
|
cmp r0, 0
|
||||||
beq _080F8044
|
beq _080F8044
|
||||||
movs r0, 0x1
|
movs r0, 0x1
|
||||||
bl pokedex_count
|
bl GetNationalPokedexCount
|
||||||
b _080F804A
|
b _080F804A
|
||||||
_080F8044:
|
_080F8044:
|
||||||
movs r0, 0x1
|
movs r0, 0x1
|
||||||
bl sub_8088EDC
|
bl GetKantoPokedexCount
|
||||||
_080F804A:
|
_080F804A:
|
||||||
adds r1, r0, 0
|
adds r1, r0, 0
|
||||||
lsls r1, 16
|
lsls r1, 16
|
||||||
|
|||||||
+1
-1
@@ -820,7 +820,7 @@ sub_806F3CC: @ 806F3CC
|
|||||||
cmp r1, r0
|
cmp r1, r0
|
||||||
bne _0806F408
|
bne _0806F408
|
||||||
movs r0, 0
|
movs r0, 0
|
||||||
bl pokedex_count
|
bl GetNationalPokedexCount
|
||||||
lsls r0, 16
|
lsls r0, 16
|
||||||
cmp r0, 0
|
cmp r0, 0
|
||||||
bne _0806F408
|
bne _0806F408
|
||||||
|
|||||||
+7
-7
@@ -973,7 +973,7 @@ _080897EE:
|
|||||||
ldr r0, _08089890 @ =0x00000829
|
ldr r0, _08089890 @ =0x00000829
|
||||||
bl FlagGet
|
bl FlagGet
|
||||||
strb r0, [r5, 0x2]
|
strb r0, [r5, 0x2]
|
||||||
bl sub_8088F24
|
bl HasAllHoennMons
|
||||||
strb r0, [r5, 0x3]
|
strb r0, [r5, 0x3]
|
||||||
bl sub_808A0E0
|
bl sub_808A0E0
|
||||||
strh r0, [r5, 0xC]
|
strh r0, [r5, 0xC]
|
||||||
@@ -1062,7 +1062,7 @@ _080898BA:
|
|||||||
mov r0, r8
|
mov r0, r8
|
||||||
strb r0, [r5, 0x1]
|
strb r0, [r5, 0x1]
|
||||||
_080898BE:
|
_080898BE:
|
||||||
bl sub_8088F58
|
bl HasAllKantoMons
|
||||||
lsls r0, 16
|
lsls r0, 16
|
||||||
cmp r0, 0
|
cmp r0, 0
|
||||||
beq _080898CE
|
beq _080898CE
|
||||||
@@ -1070,7 +1070,7 @@ _080898BE:
|
|||||||
adds r0, 0x1
|
adds r0, 0x1
|
||||||
strb r0, [r5, 0x1]
|
strb r0, [r5, 0x1]
|
||||||
_080898CE:
|
_080898CE:
|
||||||
bl HasAllKantoMons
|
bl HasAllMons
|
||||||
lsls r0, 16
|
lsls r0, 16
|
||||||
cmp r0, 0
|
cmp r0, 0
|
||||||
beq _080898DE
|
beq _080898DE
|
||||||
@@ -1115,9 +1115,9 @@ _08089918:
|
|||||||
movs r0, 0x1
|
movs r0, 0x1
|
||||||
strb r0, [r5, 0x1]
|
strb r0, [r5, 0x1]
|
||||||
_0808991C:
|
_0808991C:
|
||||||
bl sub_8088F58
|
|
||||||
strb r0, [r5, 0x3]
|
|
||||||
bl HasAllKantoMons
|
bl HasAllKantoMons
|
||||||
|
strb r0, [r5, 0x3]
|
||||||
|
bl HasAllMons
|
||||||
adds r6, r5, 0
|
adds r6, r5, 0
|
||||||
adds r6, 0x4D
|
adds r6, 0x4D
|
||||||
strb r0, [r6]
|
strb r0, [r6]
|
||||||
@@ -2043,11 +2043,11 @@ sub_808A0E0: @ 808A0E0
|
|||||||
cmp r0, 0
|
cmp r0, 0
|
||||||
bne _0808A0F2
|
bne _0808A0F2
|
||||||
movs r0, 0x1
|
movs r0, 0x1
|
||||||
bl sub_8088EDC
|
bl GetKantoPokedexCount
|
||||||
b _0808A0F8
|
b _0808A0F8
|
||||||
_0808A0F2:
|
_0808A0F2:
|
||||||
movs r0, 0x1
|
movs r0, 0x1
|
||||||
bl pokedex_count
|
bl GetNationalPokedexCount
|
||||||
_0808A0F8:
|
_0808A0F8:
|
||||||
lsls r0, 16
|
lsls r0, 16
|
||||||
lsrs r0, 16
|
lsrs r0, 16
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ CeladonCity_Condominiums_3F_EventScript_16C3ED:: @ 816C3ED
|
|||||||
CeladonCity_Condominiums_3F_EventScript_16C3F6:: @ 816C3F6
|
CeladonCity_Condominiums_3F_EventScript_16C3F6:: @ 816C3F6
|
||||||
lock
|
lock
|
||||||
faceplayer
|
faceplayer
|
||||||
specialvar VAR_RESULT, sub_8088F58
|
specialvar VAR_RESULT, HasAllKantoMons
|
||||||
compare_var_to_value VAR_RESULT, 1
|
compare_var_to_value VAR_RESULT, 1
|
||||||
goto_if_eq EventScript_16C412
|
goto_if_eq EventScript_16C412
|
||||||
msgbox gUnknown_8196356
|
msgbox gUnknown_8196356
|
||||||
|
|||||||
+2
-2
@@ -344,7 +344,7 @@ gSpecials:: @ 815FD60
|
|||||||
def_special sub_807F0B0
|
def_special sub_807F0B0
|
||||||
def_special nullsub_75
|
def_special nullsub_75
|
||||||
def_special nullsub_75
|
def_special nullsub_75
|
||||||
def_special sub_8088F58
|
def_special HasAllKantoMons
|
||||||
def_special sub_80CAD7C
|
def_special sub_80CAD7C
|
||||||
def_special nullsub_75
|
def_special nullsub_75
|
||||||
def_special sub_80E759C
|
def_special sub_80E759C
|
||||||
@@ -441,7 +441,7 @@ gSpecials:: @ 815FD60
|
|||||||
def_special sub_8147594
|
def_special sub_8147594
|
||||||
def_special sub_80CD034
|
def_special sub_80CD034
|
||||||
def_special sub_815D834
|
def_special sub_815D834
|
||||||
def_special HasAllKantoMons
|
def_special HasAllMons
|
||||||
def_special sub_80CD074
|
def_special sub_80CD074
|
||||||
def_special sub_80CD098
|
def_special sub_80CD098
|
||||||
def_special sub_811B15C
|
def_special sub_811B15C
|
||||||
|
|||||||
+5
-4
@@ -2,11 +2,12 @@
|
|||||||
#define GUARD_POKEDEX_H
|
#define GUARD_POKEDEX_H
|
||||||
|
|
||||||
#define KANTO_DEX_COUNT 151
|
#define KANTO_DEX_COUNT 151
|
||||||
|
#define HOENN_DEX_COUNT 202
|
||||||
#define NATIONAL_DEX_COUNT 386
|
#define NATIONAL_DEX_COUNT 386
|
||||||
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
DEX_MODE_HOENN,
|
DEX_MODE_KANTO,
|
||||||
DEX_MODE_NATIONAL
|
DEX_MODE_NATIONAL
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -37,11 +38,11 @@ void CopyMonCategoryText(u16 species, u8 *dst);
|
|||||||
u16 GetPokedexHeightWeight(u16 dexNum, u8 data);
|
u16 GetPokedexHeightWeight(u16 dexNum, u8 data);
|
||||||
u16 GetNationalPokedexCount(u8);
|
u16 GetNationalPokedexCount(u8);
|
||||||
u16 GetKantoPokedexCount(u8);
|
u16 GetKantoPokedexCount(u8);
|
||||||
bool16 HasAllKantoMons(void);
|
bool16 HasAllMons(void);
|
||||||
u8 CreateDexDisplayMonDataTask(u16 dexNum, u32 trainerId, u32 personality);
|
u8 CreateDexDisplayMonDataTask(u16 dexNum, u32 trainerId, u32 personality);
|
||||||
s8 GetSetPokedexFlag(u16 nationalNum, u8 caseId);
|
s8 GetSetPokedexFlag(u16 nationalNum, u8 caseId);
|
||||||
u16 pokedex_count(u8);
|
u16 GetNationalPokedexCount(u8);
|
||||||
u16 sub_80C0844(u8);
|
u16 sub_80C0844(u8);
|
||||||
u16 sub_8088EDC(u8);
|
u16 GetKantoPokedexCount(u8);
|
||||||
|
|
||||||
#endif // GUARD_POKEDEX_H
|
#endif // GUARD_POKEDEX_H
|
||||||
|
|||||||
@@ -129,7 +129,6 @@ SECTIONS {
|
|||||||
src/scanline_effect.o(.text);
|
src/scanline_effect.o(.text);
|
||||||
asm/option_menu.o(.text);
|
asm/option_menu.o(.text);
|
||||||
src/pokedex.o(.text);
|
src/pokedex.o(.text);
|
||||||
asm/pokedex.o(.text);
|
|
||||||
asm/trainer_card.o(.text);
|
asm/trainer_card.o(.text);
|
||||||
asm/pokemon_storage_system.o(.text);
|
asm/pokemon_storage_system.o(.text);
|
||||||
asm/pokemon_icon.o(.text);
|
asm/pokemon_icon.o(.text);
|
||||||
|
|||||||
+2
-2
@@ -132,7 +132,7 @@ static void Task_DiplomaInit(u8 taskId)
|
|||||||
CopyToBgTilemapBuffer(1, gUnknown_84154E8, 0, 0);
|
CopyToBgTilemapBuffer(1, gUnknown_84154E8, 0, 0);
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
if (HasAllKantoMons())
|
if (HasAllMons())
|
||||||
{
|
{
|
||||||
SetGpuReg(REG_OFFSET_BG1HOFS, 0x80 << 1);
|
SetGpuReg(REG_OFFSET_BG1HOFS, 0x80 << 1);
|
||||||
}
|
}
|
||||||
@@ -265,7 +265,7 @@ static void DiplomaPrintText(void)
|
|||||||
u32 width;
|
u32 width;
|
||||||
DynamicPlaceholderTextUtil_Reset();
|
DynamicPlaceholderTextUtil_Reset();
|
||||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gSaveBlock2Ptr->playerName);
|
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gSaveBlock2Ptr->playerName);
|
||||||
if (HasAllKantoMons())
|
if (HasAllMons())
|
||||||
{
|
{
|
||||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, gUnknown_841B68F);
|
DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, gUnknown_841B68F);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1247,7 +1247,7 @@ static bool8 sub_812B780(u8 id)
|
|||||||
return FlagGet(FLAG_0x828);
|
return FlagGet(FLAG_0x828);
|
||||||
case 4:
|
case 4:
|
||||||
case 34:
|
case 34:
|
||||||
if (sub_8088EDC(1) > 1)
|
if (GetKantoPokedexCount(1) > 1)
|
||||||
return TRUE;
|
return TRUE;
|
||||||
return FALSE;
|
return FALSE;
|
||||||
case 15:
|
case 15:
|
||||||
|
|||||||
+116
-1
@@ -2,7 +2,122 @@
|
|||||||
#include "pokedex.h"
|
#include "pokedex.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"
|
||||||
#include "data/pokemon/pokedex_entries.h"
|
#include "data/pokemon/pokedex_entries.h"
|
||||||
|
|
||||||
|
const u8 *sub_8088E20(u16 dexNum)
|
||||||
|
{
|
||||||
|
return gPokedexEntries[dexNum].categoryName;
|
||||||
|
}
|
||||||
|
|
||||||
|
u16 GetPokedexHeightWeight(u16 dexNum, u8 data)
|
||||||
|
{
|
||||||
|
switch (data)
|
||||||
|
{
|
||||||
|
case 0: // height
|
||||||
|
return gPokedexEntries[dexNum].height;
|
||||||
|
case 1: // weight
|
||||||
|
return gPokedexEntries[dexNum].weight;
|
||||||
|
default:
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
s8 GetSetPokedexFlag(u16 nationalDexNo, u8 caseID)
|
||||||
|
{
|
||||||
|
return sub_8104AB0(nationalDexNo, caseID, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
u16 GetNationalPokedexCount(u8 caseID)
|
||||||
|
{
|
||||||
|
u16 count = 0;
|
||||||
|
u16 i;
|
||||||
|
|
||||||
|
for (i = 0; i < NATIONAL_DEX_COUNT; i++)
|
||||||
|
{
|
||||||
|
switch (caseID)
|
||||||
|
{
|
||||||
|
case FLAG_GET_SEEN:
|
||||||
|
if (GetSetPokedexFlag(i + 1, FLAG_GET_SEEN))
|
||||||
|
count++;
|
||||||
|
break;
|
||||||
|
case FLAG_GET_CAUGHT:
|
||||||
|
if (GetSetPokedexFlag(i + 1, FLAG_GET_CAUGHT))
|
||||||
|
count++;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return count;
|
||||||
|
}
|
||||||
|
|
||||||
|
u16 GetKantoPokedexCount(u8 caseID)
|
||||||
|
{
|
||||||
|
u16 count = 0;
|
||||||
|
u16 i;
|
||||||
|
|
||||||
|
for (i = 0; i < KANTO_DEX_COUNT; i++)
|
||||||
|
{
|
||||||
|
switch (caseID)
|
||||||
|
{
|
||||||
|
case FLAG_GET_SEEN:
|
||||||
|
if (GetSetPokedexFlag(i + 1, FLAG_GET_SEEN))
|
||||||
|
count++;
|
||||||
|
break;
|
||||||
|
case FLAG_GET_CAUGHT:
|
||||||
|
if (GetSetPokedexFlag(i + 1, FLAG_GET_CAUGHT))
|
||||||
|
count++;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return count;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool16 HasAllHoennMons(void)
|
||||||
|
{
|
||||||
|
u16 i;
|
||||||
|
|
||||||
|
for (i = 0; i < HOENN_DEX_COUNT - 2; i++)
|
||||||
|
{
|
||||||
|
if (!GetSetPokedexFlag(HoennToNationalOrder(i + 1), FLAG_GET_CAUGHT))
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool8 HasAllKantoMons(void)
|
||||||
|
{
|
||||||
|
u16 i;
|
||||||
|
|
||||||
|
for (i = 0; i < KANTO_DEX_COUNT - 1; i++)
|
||||||
|
{
|
||||||
|
if (!GetSetPokedexFlag(i + 1, FLAG_GET_CAUGHT))
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
u16 HasAllMons(void)
|
||||||
|
{
|
||||||
|
u16 i;
|
||||||
|
|
||||||
|
for (i = 0; i < NATIONAL_DEX_MEWTWO; i++)
|
||||||
|
{
|
||||||
|
if (!GetSetPokedexFlag(i + 1, FLAG_GET_CAUGHT))
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
for (i = NATIONAL_DEX_MEW; i < NATIONAL_DEX_TYRANITAR; i++)
|
||||||
|
{
|
||||||
|
if (!GetSetPokedexFlag(i + 1, FLAG_GET_CAUGHT))
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
for (i = NATIONAL_DEX_CELEBI; i < NATIONAL_DEX_RAYQUAZA; i++)
|
||||||
|
{
|
||||||
|
if (!GetSetPokedexFlag(i + 1, FLAG_GET_CAUGHT))
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|||||||
+4
-4
@@ -25,13 +25,13 @@ u16 Special_GetPokedexCount(void)
|
|||||||
{
|
{
|
||||||
if (gSpecialVar_0x8004 == 0)
|
if (gSpecialVar_0x8004 == 0)
|
||||||
{
|
{
|
||||||
gSpecialVar_0x8005 = sub_8088EDC(0);
|
gSpecialVar_0x8005 = GetKantoPokedexCount(0);
|
||||||
gSpecialVar_0x8006 = sub_8088EDC(1);
|
gSpecialVar_0x8006 = GetKantoPokedexCount(1);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
gSpecialVar_0x8005 = pokedex_count(0);
|
gSpecialVar_0x8005 = GetNationalPokedexCount(0);
|
||||||
gSpecialVar_0x8006 = pokedex_count(1);
|
gSpecialVar_0x8006 = GetNationalPokedexCount(1);
|
||||||
}
|
}
|
||||||
return sub_806E25C();
|
return sub_806E25C();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user