Merge pull request #88 from ultima-soul/pokedex_2
Port/Decompile pokedex.c and Dump Pokedex Entries and Text to 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 @ =gUnknown_844E850
|
|
||||||
adds r0, r1
|
|
||||||
bx lr
|
|
||||||
.align 2, 0
|
|
||||||
_08088E34: .4byte gUnknown_844E850
|
|
||||||
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 @ =gUnknown_844E850
|
|
||||||
lsls r1, r2, 3
|
|
||||||
adds r1, r2
|
|
||||||
lsls r1, 2
|
|
||||||
adds r1, r0
|
|
||||||
ldrh r0, [r1, 0xC]
|
|
||||||
b _08088E6C
|
|
||||||
.align 2, 0
|
|
||||||
_08088E5C: .4byte gUnknown_844E850
|
|
||||||
_08088E60:
|
|
||||||
ldr r0, _08088E70 @ =gUnknown_844E850
|
|
||||||
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 gUnknown_844E850
|
|
||||||
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.
|
|
||||||
+10
-10
@@ -6230,7 +6230,7 @@ sub_8105800: @ 8105800
|
|||||||
lsls r1, r0, 3
|
lsls r1, r0, 3
|
||||||
adds r1, r0
|
adds r1, r0
|
||||||
lsls r1, 2
|
lsls r1, 2
|
||||||
ldr r2, _08105860 @ =gUnknown_844E850
|
ldr r2, _08105860 @ =gPokedexEntries
|
||||||
adds r5, r1, r2
|
adds r5, r1, r2
|
||||||
movs r4, 0
|
movs r4, 0
|
||||||
movs r1, 0x1
|
movs r1, 0x1
|
||||||
@@ -6260,7 +6260,7 @@ _08105840:
|
|||||||
bls _08105840
|
bls _08105840
|
||||||
b _08105878
|
b _08105878
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_08105860: .4byte gUnknown_844E850
|
_08105860: .4byte gPokedexEntries
|
||||||
_08105864:
|
_08105864:
|
||||||
movs r1, 0xAC
|
movs r1, 0xAC
|
||||||
_08105866:
|
_08105866:
|
||||||
@@ -6331,7 +6331,7 @@ sub_81058C4: @ 81058C4
|
|||||||
mov r8, r3
|
mov r8, r3
|
||||||
adds r0, r1, 0
|
adds r0, r1, 0
|
||||||
bl SpeciesToNationalPokedexNum
|
bl SpeciesToNationalPokedexNum
|
||||||
ldr r2, _08105974 @ =gUnknown_844E850
|
ldr r2, _08105974 @ =gPokedexEntries
|
||||||
lsls r1, r0, 3
|
lsls r1, r0, 3
|
||||||
adds r1, r0
|
adds r1, r0
|
||||||
lsls r1, 2
|
lsls r1, 2
|
||||||
@@ -6395,7 +6395,7 @@ _0810593A:
|
|||||||
strb r0, [r1]
|
strb r0, [r1]
|
||||||
b _08105998
|
b _08105998
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_08105974: .4byte gUnknown_844E850
|
_08105974: .4byte gPokedexEntries
|
||||||
_08105978: .4byte gUnknown_8415F98
|
_08105978: .4byte gUnknown_8415F98
|
||||||
_0810597C: .4byte 0x00002710
|
_0810597C: .4byte 0x00002710
|
||||||
_08105980:
|
_08105980:
|
||||||
@@ -6514,7 +6514,7 @@ sub_8105A3C: @ 8105A3C
|
|||||||
mov r9, r3
|
mov r9, r3
|
||||||
adds r0, r1, 0
|
adds r0, r1, 0
|
||||||
bl SpeciesToNationalPokedexNum
|
bl SpeciesToNationalPokedexNum
|
||||||
ldr r2, _08105ACC @ =gUnknown_844E850
|
ldr r2, _08105ACC @ =gPokedexEntries
|
||||||
lsls r1, r0, 3
|
lsls r1, r0, 3
|
||||||
adds r1, r0
|
adds r1, r0
|
||||||
lsls r1, 2
|
lsls r1, 2
|
||||||
@@ -6565,7 +6565,7 @@ _08105AAC:
|
|||||||
strb r5, [r4]
|
strb r5, [r4]
|
||||||
b _08105ADC
|
b _08105ADC
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_08105ACC: .4byte gUnknown_844E850
|
_08105ACC: .4byte gPokedexEntries
|
||||||
_08105AD0: .4byte 0x000186a0
|
_08105AD0: .4byte 0x000186a0
|
||||||
_08105AD4: .4byte 0x000011b8
|
_08105AD4: .4byte 0x000011b8
|
||||||
_08105AD8:
|
_08105AD8:
|
||||||
@@ -6825,7 +6825,7 @@ sub_8105CB0: @ 8105CB0
|
|||||||
lsls r0, 24
|
lsls r0, 24
|
||||||
cmp r0, 0
|
cmp r0, 0
|
||||||
beq _08105D5C
|
beq _08105D5C
|
||||||
ldr r1, _08105D44 @ =gUnknown_844E850
|
ldr r1, _08105D44 @ =gPokedexEntries
|
||||||
lsls r0, r4, 3
|
lsls r0, r4, 3
|
||||||
adds r0, r4
|
adds r0, r4
|
||||||
lsls r0, 2
|
lsls r0, 2
|
||||||
@@ -6876,7 +6876,7 @@ sub_8105CB0: @ 8105CB0
|
|||||||
lsrs r5, r0, 24
|
lsrs r5, r0, 24
|
||||||
b _08105D4A
|
b _08105D4A
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_08105D44: .4byte gUnknown_844E850
|
_08105D44: .4byte gPokedexEntries
|
||||||
_08105D48:
|
_08105D48:
|
||||||
movs r5, 0
|
movs r5, 0
|
||||||
_08105D4A:
|
_08105D4A:
|
||||||
@@ -7874,7 +7874,7 @@ _08106534:
|
|||||||
adds r0, r1
|
adds r0, r1
|
||||||
lsls r0, 2
|
lsls r0, 2
|
||||||
add r0, r10
|
add r0, r10
|
||||||
ldr r1, _081066C8 @ =gUnknown_844E850
|
ldr r1, _081066C8 @ =gPokedexEntries
|
||||||
ldr r2, [sp, 0x18]
|
ldr r2, [sp, 0x18]
|
||||||
lsls r4, r2, 3
|
lsls r4, r2, 3
|
||||||
adds r4, r2
|
adds r4, r2
|
||||||
@@ -7979,7 +7979,7 @@ _081066B8: .4byte gUnknown_203ACF0
|
|||||||
_081066BC: .4byte gUnknown_8452368
|
_081066BC: .4byte gUnknown_8452368
|
||||||
_081066C0: .4byte 0x0000ffff
|
_081066C0: .4byte 0x0000ffff
|
||||||
_081066C4: .4byte gSprites
|
_081066C4: .4byte gSprites
|
||||||
_081066C8: .4byte gUnknown_844E850
|
_081066C8: .4byte gPokedexEntries
|
||||||
_081066CC: .4byte gSaveBlock2Ptr
|
_081066CC: .4byte gSaveBlock2Ptr
|
||||||
_081066D0:
|
_081066D0:
|
||||||
ldr r0, [r7]
|
ldr r0, [r7]
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
+2
-3
@@ -631,10 +631,9 @@ gUnknown_84445FA:: @ 84445FA
|
|||||||
.incbin "baserom.gba", 0x4445FA, 0x304
|
.incbin "baserom.gba", 0x4445FA, 0x304
|
||||||
|
|
||||||
gUnknown_84448FE:: @ 84448FE
|
gUnknown_84448FE:: @ 84448FE
|
||||||
.incbin "baserom.gba", 0x4448FE, 0x9F52
|
.incbin "baserom.gba", 0x4448FE, 0x336
|
||||||
|
|
||||||
gUnknown_844E850:: @ 844E850
|
.section .rodata.8451EBC
|
||||||
.incbin "baserom.gba", 0x44E850, 0x366C
|
|
||||||
|
|
||||||
gUnknown_8451EBC:: @ 8451EBC
|
gUnknown_8451EBC:: @ 8451EBC
|
||||||
.incbin "baserom.gba", 0x451EBC, 0x10
|
.incbin "baserom.gba", 0x451EBC, 0x10
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
+31
-10
@@ -1,15 +1,15 @@
|
|||||||
#ifndef GUARD_POKEDEX_H
|
#ifndef GUARD_POKEDEX_H
|
||||||
#define GUARD_POKEDEX_H
|
#define GUARD_POKEDEX_H
|
||||||
|
|
||||||
#include "global.h"
|
#define KANTO_DEX_COUNT 151
|
||||||
|
#define HOENN_DEX_COUNT 202
|
||||||
|
#define NATIONAL_DEX_COUNT 386
|
||||||
|
|
||||||
void ResetPokedex(void);
|
enum
|
||||||
void CopyMonCategoryText(u16 species, u8 *dst);
|
{
|
||||||
u16 GetPokedexHeightWeight(u16 dexNum, u8 data);
|
DEX_MODE_KANTO,
|
||||||
u16 GetNationalPokedexCount(u8);
|
DEX_MODE_NATIONAL
|
||||||
u16 GetKantoPokedexCount(u8);
|
};
|
||||||
bool16 HasAllKantoMons(void);
|
|
||||||
u8 CreateDexDisplayMonDataTask(u16 dexNum, u32 trainerId, u32 personality);
|
|
||||||
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
@@ -19,9 +19,30 @@ enum
|
|||||||
FLAG_SET_CAUGHT
|
FLAG_SET_CAUGHT
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct PokedexEntry
|
||||||
|
{
|
||||||
|
/*0x00*/ u8 categoryName[12];
|
||||||
|
/*0x0C*/ u16 height; //in decimeters
|
||||||
|
/*0x0E*/ u16 weight; //in hectograms
|
||||||
|
/*0x10*/ const u8 *description;
|
||||||
|
/*0x14*/ const u8 *unusedDescription;
|
||||||
|
/*0x18*/ u16 unused;
|
||||||
|
/*0x1A*/ u16 pokemonScale;
|
||||||
|
/*0x1C*/ u16 pokemonOffset;
|
||||||
|
/*0x1E*/ u16 trainerScale;
|
||||||
|
/*0x20*/ u16 trainerOffset;
|
||||||
|
}; /*size = 0x24*/
|
||||||
|
|
||||||
|
void ResetPokedex(void);
|
||||||
|
void CopyMonCategoryText(u16 species, u8 *dst);
|
||||||
|
u16 GetPokedexHeightWeight(u16 dexNum, u8 data);
|
||||||
|
u16 GetNationalPokedexCount(u8);
|
||||||
|
u16 GetKantoPokedexCount(u8);
|
||||||
|
bool16 HasAllMons(void);
|
||||||
|
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
|
||||||
|
|||||||
+5
-3
@@ -128,7 +128,7 @@ SECTIONS {
|
|||||||
asm/field_effect.o(.text);
|
asm/field_effect.o(.text);
|
||||||
src/scanline_effect.o(.text);
|
src/scanline_effect.o(.text);
|
||||||
asm/option_menu.o(.text);
|
asm/option_menu.o(.text);
|
||||||
asm/pokedex.o(.text);
|
src/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);
|
||||||
@@ -422,13 +422,15 @@ SECTIONS {
|
|||||||
data/data_83F5738.o(.rodata.83FB134);
|
data/data_83F5738.o(.rodata.83FB134);
|
||||||
src/save.o(.rodata);
|
src/save.o(.rodata);
|
||||||
data/data_83FECCC.o(.rodata);
|
data/data_83FECCC.o(.rodata);
|
||||||
src/intro.o(.rodata);
|
src/intro.o(.rodata);
|
||||||
data/data_83FECCC.o(.rodata.battle_anim_special);
|
data/data_83FECCC.o(.rodata.battle_anim_special);
|
||||||
src/diploma.o(.rodata);
|
src/diploma.o(.rodata);
|
||||||
data/strings.o(.rodata);
|
data/strings.o(.rodata);
|
||||||
data/data_83FECCC.o(.rodata.841EE44);
|
data/data_83FECCC.o(.rodata.841EE44);
|
||||||
src/new_menu_helpers.o(.rodata);
|
src/new_menu_helpers.o(.rodata);
|
||||||
data/data_83FECCC.o(.rodata.841F4B4);
|
data/data_83FECCC.o(.rodata.841F4B4);
|
||||||
|
src/pokedex.o(.rodata);
|
||||||
|
data/data_83FECCC.o(.rodata.8451EBC);
|
||||||
src/list_menu.o(.rodata);
|
src/list_menu.o(.rodata);
|
||||||
data/data_83FECCC.o(.rodata.8452CF4);
|
data/data_83FECCC.o(.rodata.8452CF4);
|
||||||
src/save_location.o(.rodata);
|
src/save_location.o(.rodata);
|
||||||
@@ -547,7 +549,7 @@ SECTIONS {
|
|||||||
data/multiboot_pokemon_colosseum.o(.rodata);
|
data/multiboot_pokemon_colosseum.o(.rodata);
|
||||||
} =0
|
} =0
|
||||||
|
|
||||||
. = 0x08D00000;
|
. = 0x08D00000;
|
||||||
gfx_data :
|
gfx_data :
|
||||||
ALIGN(4)
|
ALIGN(4)
|
||||||
{
|
{
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
+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, 0x100);
|
SetGpuReg(REG_OFFSET_BG1HOFS, 0x100);
|
||||||
}
|
}
|
||||||
@@ -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:
|
||||||
|
|||||||
+123
@@ -0,0 +1,123 @@
|
|||||||
|
#include "global.h"
|
||||||
|
#include "pokedex.h"
|
||||||
|
#include "constants/species.h"
|
||||||
|
|
||||||
|
extern s8 sub_8104AB0(u16 nationalDexNo, u8 caseID, u8 unk);
|
||||||
|
|
||||||
|
ALIGNED(4) static const u8 gExpandedPlaceholder_PokedexDescription[] = _("");
|
||||||
|
|
||||||
|
#include "data/pokemon/pokedex_text.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;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool16 HasAllMons(void)
|
||||||
|
{
|
||||||
|
u16 i;
|
||||||
|
|
||||||
|
for (i = 0; i < NATIONAL_DEX_MEWTWO; i++)
|
||||||
|
{
|
||||||
|
if (!GetSetPokedexFlag(i + 1, FLAG_GET_CAUGHT))
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
for (i = NATIONAL_DEX_MEW; i < NATIONAL_DEX_TYRANITAR; i++)
|
||||||
|
{
|
||||||
|
if (!GetSetPokedexFlag(i + 1, FLAG_GET_CAUGHT))
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
for (i = NATIONAL_DEX_CELEBI; i < NATIONAL_DEX_RAYQUAZA; i++)
|
||||||
|
{
|
||||||
|
if (!GetSetPokedexFlag(i + 1, FLAG_GET_CAUGHT))
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
+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