Merge pull request #249 from golemgalvanize/decompile_pokedex
Decompile pokedex
This commit is contained in:
commit
0b09575fd4
11 changed files with 4764 additions and 13400 deletions
13372
asm/pokedex.s
13372
asm/pokedex.s
File diff suppressed because it is too large
Load diff
|
@ -22,15 +22,6 @@
|
||||||
.byte 0 @padding
|
.byte 0 @padding
|
||||||
.endm
|
.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
|
.align 2
|
||||||
gUnknown_0855D30C:: @ 855D30C
|
gUnknown_0855D30C:: @ 855D30C
|
||||||
.string "$"
|
.string "$"
|
||||||
|
|
|
@ -43,6 +43,10 @@
|
||||||
|
|
||||||
#define PARTY_SIZE 6
|
#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 min(a, b) ((a) < (b) ? (a) : (b))
|
||||||
#define max(a, b) ((a) >= (b) ? (a) : (b))
|
#define max(a, b) ((a) >= (b) ? (a) : (b))
|
||||||
|
|
||||||
|
@ -185,6 +189,8 @@ struct Time
|
||||||
/*0x04*/ s8 seconds;
|
/*0x04*/ s8 seconds;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#define DEX_FLAGS_NO ((POKEMON_SLOTS_NUMBER / 8) + ((POKEMON_SLOTS_NUMBER % 8) ? 1 : 0))
|
||||||
|
|
||||||
struct Pokedex
|
struct Pokedex
|
||||||
{
|
{
|
||||||
/*0x00*/ u8 order;
|
/*0x00*/ u8 order;
|
||||||
|
@ -194,8 +200,8 @@ struct Pokedex
|
||||||
/*0x04*/ u32 unownPersonality; // set when you first see Unown
|
/*0x04*/ u32 unownPersonality; // set when you first see Unown
|
||||||
/*0x08*/ u32 spindaPersonality; // set when you first see Spinda
|
/*0x08*/ u32 spindaPersonality; // set when you first see Spinda
|
||||||
/*0x0C*/ u32 unknown3;
|
/*0x0C*/ u32 unknown3;
|
||||||
/*0x10*/ u8 owned[52];
|
/*0x10*/ u8 owned[DEX_FLAGS_NO];
|
||||||
/*0x44*/ u8 seen[52];
|
/*0x44*/ u8 seen[DEX_FLAGS_NO];
|
||||||
};
|
};
|
||||||
|
|
||||||
struct PokemonJumpResults // possibly used in the game itself?
|
struct PokemonJumpResults // possibly used in the game itself?
|
||||||
|
@ -785,7 +791,7 @@ struct SaveBlock1
|
||||||
/*0x690*/ struct ItemSlot bagPocket_TMHM[BAG_TMHM_COUNT];
|
/*0x690*/ struct ItemSlot bagPocket_TMHM[BAG_TMHM_COUNT];
|
||||||
/*0x790*/ struct ItemSlot bagPocket_Berries[BAG_BERRIES_COUNT];
|
/*0x790*/ struct ItemSlot bagPocket_Berries[BAG_BERRIES_COUNT];
|
||||||
/*0x848*/ struct Pokeblock pokeblocks[POKEBLOCKS_COUNT];
|
/*0x848*/ struct Pokeblock pokeblocks[POKEBLOCKS_COUNT];
|
||||||
/*0x988*/ u8 seen1[52];
|
/*0x988*/ u8 seen1[DEX_FLAGS_NO];
|
||||||
/*0x9BC*/ u16 berryBlenderRecords[3];
|
/*0x9BC*/ u16 berryBlenderRecords[3];
|
||||||
/*0x9C2*/ u8 field_9C2[6];
|
/*0x9C2*/ u8 field_9C2[6];
|
||||||
/*0x9C8*/ u16 trainerRematchStepCounter;
|
/*0x9C8*/ u16 trainerRematchStepCounter;
|
||||||
|
@ -839,7 +845,7 @@ struct SaveBlock1
|
||||||
/*0x322C*/ u8 field_322C[1276];
|
/*0x322C*/ u8 field_322C[1276];
|
||||||
/*0x3728*/ struct RamScript ramScript;
|
/*0x3728*/ struct RamScript ramScript;
|
||||||
/*0x3B14*/ struct RecordMixingGift recordMixingGift;
|
/*0x3B14*/ struct RecordMixingGift recordMixingGift;
|
||||||
/*0x3B24*/ u8 seen2[52];
|
/*0x3B24*/ u8 seen2[DEX_FLAGS_NO];
|
||||||
/*0x3B58*/ LilycoveLady lilycoveLady;
|
/*0x3B58*/ LilycoveLady lilycoveLady;
|
||||||
/*0x3B98*/ struct UnkSaveSubstruct_3b98 unk_3B98[20];
|
/*0x3B98*/ struct UnkSaveSubstruct_3b98 unk_3B98[20];
|
||||||
/*0x3C88*/ u8 filler_3C88[0xE8];
|
/*0x3C88*/ u8 filler_3C88[0xE8];
|
||||||
|
|
|
@ -2651,8 +2651,27 @@ extern const u8 gBattleTerrainPalette_StadiumGlacia[];
|
||||||
extern const u8 gBattleTerrainPalette_StadiumDrake[];
|
extern const u8 gBattleTerrainPalette_StadiumDrake[];
|
||||||
extern const u8 gBattleTerrainPalette_StadiumWallace[];
|
extern const u8 gBattleTerrainPalette_StadiumWallace[];
|
||||||
|
|
||||||
|
// pokedex
|
||||||
extern const u8 gPokedexMenu2_Gfx[];
|
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
|
// berry tag screen
|
||||||
extern const u8 gUnknown_08D9BB44[];
|
extern const u8 gUnknown_08D9BB44[];
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
#define GUARD_POKEDEX_H
|
#define GUARD_POKEDEX_H
|
||||||
|
|
||||||
void ResetPokedex(void);
|
void ResetPokedex(void);
|
||||||
void CopyMonCategoryText(u16 species, u8 *dst);
|
void CopyMonCategoryText(u32 species, u8 *dst);
|
||||||
u16 GetPokedexHeightWeight(u16 dexNum, u8 data);
|
u16 GetPokedexHeightWeight(u16 dexNum, u8 data);
|
||||||
u16 GetNationalPokedexCount(u8);
|
u16 GetNationalPokedexCount(u8);
|
||||||
u16 GetHoennPokedexCount(u8);
|
u16 GetHoennPokedexCount(u8);
|
||||||
|
|
6
include/pokedex_area_screen.h
Executable file
6
include/pokedex_area_screen.h
Executable 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
19
include/pokedex_cry_screen.h
Executable 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
|
|
@ -372,6 +372,22 @@ extern const u8 gText_ThreeDashes[];
|
||||||
extern const u8 gText_PkmnHPRestoredByVar2[];
|
extern const u8 gText_PkmnHPRestoredByVar2[];
|
||||||
extern const u8 gText_CantBeUsedOnPkmn[];
|
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
|
// birch dex rating text
|
||||||
extern const u8 gBirchDexRatingText_LessThan10[];
|
extern const u8 gBirchDexRatingText_LessThan10[];
|
||||||
extern const u8 gBirchDexRatingText_LessThan20[];
|
extern const u8 gBirchDexRatingText_LessThan20[];
|
||||||
|
|
|
@ -125,7 +125,6 @@ SECTIONS {
|
||||||
src/scanline_effect.o(.text);
|
src/scanline_effect.o(.text);
|
||||||
src/option_menu.o(.text);
|
src/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);
|
||||||
src/pokemon_storage_system.o(.text);
|
src/pokemon_storage_system.o(.text);
|
||||||
asm/pokemon_storage_system.o(.text);
|
asm/pokemon_storage_system.o(.text);
|
||||||
|
|
4692
src/pokedex.c
4692
src/pokedex.c
File diff suppressed because it is too large
Load diff
|
@ -291,17 +291,7 @@ gUnknown_02038BC6: @ 2038BC6
|
||||||
|
|
||||||
.align 2
|
.align 2
|
||||||
|
|
||||||
gUnknown_02039B4C: @ 2039B4C
|
.include "src/pokedex.o"
|
||||||
.space 0x4
|
|
||||||
|
|
||||||
gUnknown_02039B50: @ 2039B50
|
|
||||||
.space 0x2
|
|
||||||
|
|
||||||
gUnknown_02039B52: @ 2039B52
|
|
||||||
.space 0x2
|
|
||||||
|
|
||||||
gUnknown_02039B54: @ 2039B54
|
|
||||||
.space 0x4
|
|
||||||
|
|
||||||
gTrainerCards: @ 2039B58
|
gTrainerCards: @ 2039B58
|
||||||
.space 0x14
|
.space 0x14
|
||||||
|
|
Loading…
Reference in a new issue