Merge pull request #249 from golemgalvanize/decompile_pokedex

Decompile pokedex
This commit is contained in:
Diegoisawesome 2018-06-01 00:02:46 -07:00 committed by GitHub
commit 0b09575fd4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 4764 additions and 13400 deletions

File diff suppressed because it is too large Load Diff

View File

@ -22,15 +22,6 @@
.byte 0 @padding
.endm
gUnknown_0855D2B8:: @ 855D2B8
.string "{UNK_CTRL_F9 8}000$"
gUnknown_0855D2BE:: @ 855D2BE
.incbin "graphics/pokedex/caught_ball.4bpp"
sText_TenDashes:: @ 855D2FE
.string "----------$"
.align 2
gUnknown_0855D30C:: @ 855D30C
.string "$"

View File

@ -43,6 +43,10 @@
#define PARTY_SIZE 6
#define POKEMON_SLOTS_NUMBER 412
#define POKEMON_NAME_LENGTH 10
#define OT_NAME_LENGTH 7
#define min(a, b) ((a) < (b) ? (a) : (b))
#define max(a, b) ((a) >= (b) ? (a) : (b))
@ -185,6 +189,8 @@ struct Time
/*0x04*/ s8 seconds;
};
#define DEX_FLAGS_NO ((POKEMON_SLOTS_NUMBER / 8) + ((POKEMON_SLOTS_NUMBER % 8) ? 1 : 0))
struct Pokedex
{
/*0x00*/ u8 order;
@ -194,8 +200,8 @@ struct Pokedex
/*0x04*/ u32 unownPersonality; // set when you first see Unown
/*0x08*/ u32 spindaPersonality; // set when you first see Spinda
/*0x0C*/ u32 unknown3;
/*0x10*/ u8 owned[52];
/*0x44*/ u8 seen[52];
/*0x10*/ u8 owned[DEX_FLAGS_NO];
/*0x44*/ u8 seen[DEX_FLAGS_NO];
};
struct PokemonJumpResults // possibly used in the game itself?
@ -785,7 +791,7 @@ struct SaveBlock1
/*0x690*/ struct ItemSlot bagPocket_TMHM[BAG_TMHM_COUNT];
/*0x790*/ struct ItemSlot bagPocket_Berries[BAG_BERRIES_COUNT];
/*0x848*/ struct Pokeblock pokeblocks[POKEBLOCKS_COUNT];
/*0x988*/ u8 seen1[52];
/*0x988*/ u8 seen1[DEX_FLAGS_NO];
/*0x9BC*/ u16 berryBlenderRecords[3];
/*0x9C2*/ u8 field_9C2[6];
/*0x9C8*/ u16 trainerRematchStepCounter;
@ -839,7 +845,7 @@ struct SaveBlock1
/*0x322C*/ u8 field_322C[1276];
/*0x3728*/ struct RamScript ramScript;
/*0x3B14*/ struct RecordMixingGift recordMixingGift;
/*0x3B24*/ u8 seen2[52];
/*0x3B24*/ u8 seen2[DEX_FLAGS_NO];
/*0x3B58*/ LilycoveLady lilycoveLady;
/*0x3B98*/ struct UnkSaveSubstruct_3b98 unk_3B98[20];
/*0x3C88*/ u8 filler_3C88[0xE8];

View File

@ -2651,8 +2651,27 @@ extern const u8 gBattleTerrainPalette_StadiumGlacia[];
extern const u8 gBattleTerrainPalette_StadiumDrake[];
extern const u8 gBattleTerrainPalette_StadiumWallace[];
// pokedex
extern const u8 gPokedexMenu2_Gfx[];
extern const u8 gPokedexText_Pal[];
extern const u16 gPokedexText_Pal[];
extern const u8 gPokedexMenu_Gfx[];
extern const u8 gUnknown_08DC2C5C[];
extern const u8 gUnknown_08DC2DAC[];
extern const u8 gUnknown_08DC2A08[];
extern const u8 gUnknown_08DC2B1C[];
extern const u16 gPokedexHoennBg_Pal[];
extern const u16 gPokedexText_Pal[];
extern const u16 gPokedexNationalBg_Pal[];
extern const u8 gUnknown_08DC3080[];
extern const u8 gUnknown_08DC3198[];
extern const u8 gUnknown_08DC2E6C[];
extern const u8 gUnknown_08DC2F5C[];
extern const u8 gUnknown_08DC2FEC[];
extern const u16 gPokedexCaughtScreenFade_Pal[];
extern const u8 gPokedexSearchMenu_Gfx[];
extern const u8 gPokedexSearch2_Tilemap[];
extern const u8 gPokedexSearch1_Tilemap[];
extern const u16 gPokedexSearchMenu_Pal[];
// berry tag screen
extern const u8 gUnknown_08D9BB44[];

View File

@ -2,7 +2,7 @@
#define GUARD_POKEDEX_H
void ResetPokedex(void);
void CopyMonCategoryText(u16 species, u8 *dst);
void CopyMonCategoryText(u32 species, u8 *dst);
u16 GetPokedexHeightWeight(u16 dexNum, u8 data);
u16 GetNationalPokedexCount(u8);
u16 GetHoennPokedexCount(u8);

6
include/pokedex_area_screen.h Executable file
View File

@ -0,0 +1,6 @@
#ifndef GUARD_POKEDEX_AREA_SCREEN_H
#define GUARD_POKEDEX_AREA_SCREEN_H
void sub_813D3D8(u16, u8*);
#endif // GUARD_POKEDEX_AREA_SCREEN_H

19
include/pokedex_cry_screen.h Executable file
View File

@ -0,0 +1,19 @@
#ifndef GUARD_POKEDEX_CRY_SCREEN_H
#define GUARD_POKEDEX_CRY_SCREEN_H
struct CryRelatedStruct
{
u16 unk0;
u8 unk2;
u8 paletteNo;
u8 xPos;
u8 yPos;
};
bool8 sub_8145354(struct CryRelatedStruct*, u8);
void sub_814545C(u8);
void sub_8145534(u16);
void sub_8145914(void);
bool8 sub_8145850(struct CryRelatedStruct*, u8);
#endif

View File

@ -372,6 +372,22 @@ extern const u8 gText_ThreeDashes[];
extern const u8 gText_PkmnHPRestoredByVar2[];
extern const u8 gText_CantBeUsedOnPkmn[];
//pokedex text
extern const u8 gText_CryOf[];
extern const u8 gText_SizeComparedTo[];
extern const u8 gText_PokedexRegistration[];
extern const u8 gText_UnkCtrlF908Clear01[];
extern const u8 sText_TenDashes2[];
extern const u8 gText_5MarksPokemon[];
extern const u8 gText_UnkHeight[];
extern const u8 gText_UnkWeight[];
extern const u8 gText_HTHeight[];
extern const u8 gText_WTWeight[];
extern const u8 gText_SearchingPleaseWait[];
extern const u8 gText_SearchCompleted[];
extern const u8 gUnknown_085E8785[];
extern const u8 gText_SelectorArrow[];
// birch dex rating text
extern const u8 gBirchDexRatingText_LessThan10[];
extern const u8 gBirchDexRatingText_LessThan20[];

View File

@ -125,7 +125,6 @@ SECTIONS {
src/scanline_effect.o(.text);
src/option_menu.o(.text);
src/pokedex.o(.text);
asm/pokedex.o(.text);
asm/trainer_card.o(.text);
src/pokemon_storage_system.o(.text);
asm/pokemon_storage_system.o(.text);

File diff suppressed because it is too large Load Diff

View File

@ -291,17 +291,7 @@ gUnknown_02038BC6: @ 2038BC6
.align 2
gUnknown_02039B4C: @ 2039B4C
.space 0x4
gUnknown_02039B50: @ 2039B50
.space 0x2
gUnknown_02039B52: @ 2039B52
.space 0x2
gUnknown_02039B54: @ 2039B54
.space 0x4
.include "src/pokedex.o"
gTrainerCards: @ 2039B58
.space 0x14