Dump and convert Pokedex Entries and Text to C.

This commit is contained in:
ultima-soul 2019-08-01 18:13:09 -07:00
parent d4cc0e161b
commit 9ceff166bc
8 changed files with 7798 additions and 27 deletions

View File

@ -13,11 +13,11 @@ sub_8088E20: @ 8088E20
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
ldr r1, _08088E34 @ =gUnknown_844E850
ldr r1, _08088E34 @ =gPokedexEntries
adds r0, r1
bx lr
.align 2, 0
_08088E34: .4byte gUnknown_844E850
_08088E34: .4byte gPokedexEntries
thumb_func_end sub_8088E20
thumb_func_start sub_8088E38
@ -34,7 +34,7 @@ sub_8088E38: @ 8088E38
movs r0, 0x1
b _08088E6C
_08088E4E:
ldr r0, _08088E5C @ =gUnknown_844E850
ldr r0, _08088E5C @ =gPokedexEntries
lsls r1, r2, 3
adds r1, r2
lsls r1, 2
@ -42,9 +42,9 @@ _08088E4E:
ldrh r0, [r1, 0xC]
b _08088E6C
.align 2, 0
_08088E5C: .4byte gUnknown_844E850
_08088E5C: .4byte gPokedexEntries
_08088E60:
ldr r0, _08088E70 @ =gUnknown_844E850
ldr r0, _08088E70 @ =gPokedexEntries
lsls r1, r2, 3
adds r1, r2
lsls r1, 2
@ -54,7 +54,7 @@ _08088E6C:
pop {r1}
bx r1
.align 2, 0
_08088E70: .4byte gUnknown_844E850
_08088E70: .4byte gPokedexEntries
thumb_func_end sub_8088E38
thumb_func_start GetSetPokedexFlag

View File

@ -6230,7 +6230,7 @@ sub_8105800: @ 8105800
lsls r1, r0, 3
adds r1, r0
lsls r1, 2
ldr r2, _08105860 @ =gUnknown_844E850
ldr r2, _08105860 @ =gPokedexEntries
adds r5, r1, r2
movs r4, 0
movs r1, 0x1
@ -6260,7 +6260,7 @@ _08105840:
bls _08105840
b _08105878
.align 2, 0
_08105860: .4byte gUnknown_844E850
_08105860: .4byte gPokedexEntries
_08105864:
movs r1, 0xAC
_08105866:
@ -6331,7 +6331,7 @@ sub_81058C4: @ 81058C4
mov r8, r3
adds r0, r1, 0
bl SpeciesToNationalPokedexNum
ldr r2, _08105974 @ =gUnknown_844E850
ldr r2, _08105974 @ =gPokedexEntries
lsls r1, r0, 3
adds r1, r0
lsls r1, 2
@ -6395,7 +6395,7 @@ _0810593A:
strb r0, [r1]
b _08105998
.align 2, 0
_08105974: .4byte gUnknown_844E850
_08105974: .4byte gPokedexEntries
_08105978: .4byte gUnknown_8415F98
_0810597C: .4byte 0x00002710
_08105980:
@ -6514,7 +6514,7 @@ sub_8105A3C: @ 8105A3C
mov r9, r3
adds r0, r1, 0
bl SpeciesToNationalPokedexNum
ldr r2, _08105ACC @ =gUnknown_844E850
ldr r2, _08105ACC @ =gPokedexEntries
lsls r1, r0, 3
adds r1, r0
lsls r1, 2
@ -6565,7 +6565,7 @@ _08105AAC:
strb r5, [r4]
b _08105ADC
.align 2, 0
_08105ACC: .4byte gUnknown_844E850
_08105ACC: .4byte gPokedexEntries
_08105AD0: .4byte 0x000186a0
_08105AD4: .4byte 0x000011b8
_08105AD8:
@ -6825,7 +6825,7 @@ sub_8105CB0: @ 8105CB0
lsls r0, 24
cmp r0, 0
beq _08105D5C
ldr r1, _08105D44 @ =gUnknown_844E850
ldr r1, _08105D44 @ =gPokedexEntries
lsls r0, r4, 3
adds r0, r4
lsls r0, 2
@ -6876,7 +6876,7 @@ sub_8105CB0: @ 8105CB0
lsrs r5, r0, 24
b _08105D4A
.align 2, 0
_08105D44: .4byte gUnknown_844E850
_08105D44: .4byte gPokedexEntries
_08105D48:
movs r5, 0
_08105D4A:
@ -7874,7 +7874,7 @@ _08106534:
adds r0, r1
lsls r0, 2
add r0, r10
ldr r1, _081066C8 @ =gUnknown_844E850
ldr r1, _081066C8 @ =gPokedexEntries
ldr r2, [sp, 0x18]
lsls r4, r2, 3
adds r4, r2
@ -7979,7 +7979,7 @@ _081066B8: .4byte gUnknown_203ACF0
_081066BC: .4byte gUnknown_8452368
_081066C0: .4byte 0x0000ffff
_081066C4: .4byte gSprites
_081066C8: .4byte gUnknown_844E850
_081066C8: .4byte gPokedexEntries
_081066CC: .4byte gSaveBlock2Ptr
_081066D0:
ldr r0, [r7]

View File

@ -631,10 +631,9 @@ gUnknown_84445FA:: @ 84445FA
.incbin "baserom.gba", 0x4445FA, 0x304
gUnknown_84448FE:: @ 84448FE
.incbin "baserom.gba", 0x4448FE, 0x9F52
.incbin "baserom.gba", 0x4448FE, 0x336
gUnknown_844E850:: @ 844E850
.incbin "baserom.gba", 0x44E850, 0x366C
.section .rodata.8451EBC
gUnknown_8451EBC:: @ 8451EBC
.incbin "baserom.gba", 0x451EBC, 0x10

View File

@ -1,15 +1,14 @@
#ifndef GUARD_POKEDEX_H
#define GUARD_POKEDEX_H
#include "global.h"
#define KANTO_DEX_COUNT 151
#define NATIONAL_DEX_COUNT 386
void ResetPokedex(void);
void CopyMonCategoryText(u16 species, u8 *dst);
u16 GetPokedexHeightWeight(u16 dexNum, u8 data);
u16 GetNationalPokedexCount(u8);
u16 GetKantoPokedexCount(u8);
bool16 HasAllKantoMons(void);
u8 CreateDexDisplayMonDataTask(u16 dexNum, u32 trainerId, u32 personality);
enum
{
DEX_MODE_HOENN,
DEX_MODE_NATIONAL
};
enum
{
@ -19,6 +18,27 @@ enum
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 HasAllKantoMons(void);
u8 CreateDexDisplayMonDataTask(u16 dexNum, u32 trainerId, u32 personality);
s8 GetSetPokedexFlag(u16 nationalNum, u8 caseId);
u16 pokedex_count(u8);
u16 sub_80C0844(u8);

View File

@ -128,6 +128,7 @@ SECTIONS {
asm/field_effect.o(.text);
src/scanline_effect.o(.text);
asm/option_menu.o(.text);
src/pokedex.o(.text);
asm/pokedex.o(.text);
asm/trainer_card.o(.text);
asm/pokemon_storage_system.o(.text);
@ -427,6 +428,8 @@ SECTIONS {
data/data_83FECCC.o(.rodata.841EE44);
src/new_menu_helpers.o(.rodata);
data/data_83FECCC.o(.rodata.841F4B4);
src/pokedex.o(.rodata);
data/data_83FECCC.o(.rodata.8451EBC);
src/list_menu.o(.rodata);
data/data_83FECCC.o(.rodata.8452CF4);
src/save_location.o(.rodata);

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

8
src/pokedex.c Normal file
View File

@ -0,0 +1,8 @@
#include "global.h"
#include "pokedex.h"
#include "constants/species.h"
ALIGNED(4) static const u8 gExpandedPlaceholder_PokedexDescription[] = _("");
#include "data/pokemon/pokedex_text.h"
#include "data/pokemon/pokedex_entries.h"