summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/constants/maps.h1
-rw-r--r--include/global.h6
-rw-r--r--include/graphics.h9
-rw-r--r--include/menu.h6
-rw-r--r--include/pokemon.h6
-rw-r--r--include/pokemon_icon.h3
-rw-r--r--include/pokemon_storage_system.h113
-rw-r--r--include/text.h2
8 files changed, 121 insertions, 25 deletions
diff --git a/include/constants/maps.h b/include/constants/maps.h
index bcb778422..c65f373af 100644
--- a/include/constants/maps.h
+++ b/include/constants/maps.h
@@ -587,6 +587,7 @@
// Map Group 33
#define MAP_ROUTE124_DIVING_TREASURE_HUNTERS_HOUSE (0 | (33 << 8))
+#define MAP_GROUPS_COUNT 34
#define MAP_NONE (0x7F | (0x7F << 8))
#define MAP_UNDEFINED (0xFF | (0xFF << 8))
diff --git a/include/global.h b/include/global.h
index cc8df049f..c976abd2d 100644
--- a/include/global.h
+++ b/include/global.h
@@ -858,15 +858,15 @@ typedef union // 3b58
struct WaldaPhrase
{
- u16 field_0;
- u16 field_2;
+ u16 colors[2]; // Background, foreground.
u8 text[16];
u8 iconId;
u8 patternId;
bool8 patternUnlocked;
};
-struct UnkSaveSubstruct_3b98 {
+struct UnkSaveSubstruct_3b98
+{
u32 trainerId;
u8 trainerName[PLAYER_NAME_LENGTH + 1];
};
diff --git a/include/graphics.h b/include/graphics.h
index 658239f5c..bfb57ccb9 100644
--- a/include/graphics.h
+++ b/include/graphics.h
@@ -4743,6 +4743,15 @@ extern const u16 gPokedexAreaScreenAreaUnknown_Pal[];
// Pokemon Storage System
extern const u32 gPSSMenu_Gfx[];
extern const u16 gPSSMenu_Pal[];
+extern const u32 gWallpaperIcon_Plusle[];
+extern const u32 gWallpaperIcon_Cross[];
+extern const u32 gWallpaperIcon_Bolt[];
extern const u32 gUnknown_08DD36C8[];
+extern const u32 gWallpaperTiles_Ribbon[];
+extern const u32 gWallpaperTilemap_Ribbon[];
+extern const u16 gWallpaperPalettes_Ribbon[][16];
+extern const u32 gWallpaperTiles_Horizontal[];
+extern const u32 gWallpaperTilemap_Horizontal[];
+extern const u16 gWallpaperPalettes_Horizontal[][16];
#endif //GUARD_GRAPHICS_H
diff --git a/include/menu.h b/include/menu.h
index e7a78f76e..f9b7c52df 100644
--- a/include/menu.h
+++ b/include/menu.h
@@ -48,11 +48,11 @@ s8 Menu_ProcessInput(void);
s8 Menu_ProcessInputNoWrap(void);
void blit_move_info_icon(u8 winId, u8 a2, u16 x, u16 y);
void reset_temp_tile_data_buffers(void);
-void *decompress_and_copy_tile_data_to_vram(u8 bgId, const void *src, int size, u16 offset, u8 mode);
+void *decompress_and_copy_tile_data_to_vram(u8 bgId, const void *src, u32 size, u16 offset, u8 mode);
bool8 free_temp_tile_data_buffers_if_possible(void);
struct WindowTemplate CreateWindowTemplate(u8 bg, u8 left, u8 top, u8 width, u8 height, u8 paletteNum, u16 baseBlock);
void CreateYesNoMenu(const struct WindowTemplate *windowTemplate, u16 borderFirstTileNum, u8 borderPalette, u8 initialCursorPos);
-void DecompressAndLoadBgGfxUsingHeap(u8 bgId, const void *src, int size, u16 offset, u8 mode);
+void DecompressAndLoadBgGfxUsingHeap(u8 bgId, const void *src, u32 size, u16 offset, u8 mode);
s8 Menu_ProcessInputNoWrapClearOnChoose(void);
s8 ProcessMenuInput_other(void);
void do_scheduled_bg_tilemap_copies_to_vram(void);
@@ -62,7 +62,7 @@ void sub_8197B1C(u8 windowId, bool8 copyToVram, u16 a2, u8 a3);
void sub_81995E4(u8 windowId, u8 optionsNo, const struct MenuAction *actions, const u8 *actionIds);
void sub_8197DF8(u8 windowId, bool8 copyToVram);
u16 sub_8198AA4(u8, u8, u8, u8, u8, u8, u16);
-void *malloc_and_decompress(const void *src, int *sizeOut);
+void *malloc_and_decompress(const void *src, u32 *sizeOut);
u16 copy_decompressed_tile_data_to_vram(u8 bgId, const void *src, u16 size, u16 offset, u8 mode);
void AddTextPrinterForMessage(bool8 allowSkippingDelayWithButtonPress);
void AddItemMenuActionTextPrinters(u8 windowId, u8 fontId, u8 left, u8 top, u8 letterSpacing, u8 lineHeight, u8 itemCount, const struct MenuAction *strs, const u8 *a8);
diff --git a/include/pokemon.h b/include/pokemon.h
index 5d7f7f2ae..8807168ef 100644
--- a/include/pokemon.h
+++ b/include/pokemon.h
@@ -8,9 +8,9 @@
#define MON_DATA_OT_ID 1
#define MON_DATA_NICKNAME 2
#define MON_DATA_LANGUAGE 3
-#define MON_DATA_SANITY_BIT1 4
-#define MON_DATA_SANITY_BIT2 5
-#define MON_DATA_SANITY_BIT3 6
+#define MON_DATA_SANITY_IS_BAD_EGG 4
+#define MON_DATA_SANITY_HAS_SPECIES 5
+#define MON_DATA_SANITY_IS_EGG 6
#define MON_DATA_OT_NAME 7
#define MON_DATA_MARKINGS 8
#define MON_DATA_CHECKSUM 9
diff --git a/include/pokemon_icon.h b/include/pokemon_icon.h
index f1c8a3e61..5a18109f2 100644
--- a/include/pokemon_icon.h
+++ b/include/pokemon_icon.h
@@ -1,9 +1,12 @@
#ifndef GUARD_POKEMON_ICON_H
#define GUARD_POKEMON_ICON_H
+extern const u8 gMonIconPaletteIndices[];
+
const u8 *GetMonIconTiles(u16 species, bool32);
const u8 *GetMonIconPtr(u16 speciesId, u32 personality, u32 frameNo);
const u16 *GetValidMonIconPalettePtr(u16 speciesId);
+u16 GetIconSpecies(u16 species, u32 personality);
u16 GetUnownLetterByPersonality(u32 personality);
u16 sub_80D2E84(u16 speciesId);
void LoadMonIconPalettes(void);
diff --git a/include/pokemon_storage_system.h b/include/pokemon_storage_system.h
index d36f4b358..e9b3302c0 100644
--- a/include/pokemon_storage_system.h
+++ b/include/pokemon_storage_system.h
@@ -2,7 +2,9 @@
#define GUARD_POKEMON_STORAGE_SYSTEM_H
#define TOTAL_BOXES_COUNT 14
-#define IN_BOX_COUNT 30
+#define IN_BOX_ROWS 6
+#define IN_BOX_COLUMS 5
+#define IN_BOX_COUNT (IN_BOX_ROWS * IN_BOX_COLUMS)
#include "pc_screen_effect.h"
#include "mon_markings.h"
@@ -69,7 +71,6 @@ struct PokemonStorageSystemData
u8 screenChangeType;
bool8 isReshowingPSS;
u8 taskId;
- u8 unk_0005;
struct UnkStruct_2000020 unk_0020;
struct UnkStruct_2000028 unk_0028[8];
u16 field_90[16];
@@ -84,26 +85,86 @@ struct PokemonStorageSystemData
bool8 unk_02C9;
s16 newCurrBoxId;
u16 bg2_X;
- u8 field_2CE;
- u8 field_2CF[1213];
+ s16 field_2CE;
+ u16 field_2D0;
+ u8 field_2D2;
+ u8 field_2D3;
+ u8 field_2D4;
+ u8 field_2D5;
+ u16 field_2D6;
+ s16 field_2D8;
+ u16 field_2DA;
+ u16 field_2DC;
+ u16 field_2DE;
+ u16 field_2E0;
+ u8 field_2E2;
+ u8 field_2E3;
+ u8 field_2E4[20];
+ u8 field_2F8[1024];
+ u8 field_6F8;
+ u8 field_6F9;
+ u8 field_6FA;
+ s8 field_6FB;
+ u16 field_6FC[16];
+ u16 field_71C;
+ u16 field_71E;
+ struct Sprite *field_720[2];
+ struct Sprite *field_728[2];
+ struct Sprite *field_730[2];
+ u32 field_738;
+ u8 field_73C[80];
u16 field_78C;
s16 wallpaperSetId;
s16 wallpaperId;
- u8 wallpaperTilemap[180 * 4];
+ u16 field_792[360];
u8 wallpaperChangeState;
u8 field_A63;
u8 field_A64;
- u8 field_A65;
+ s8 field_A65;
u8 field_A66;
u8 field_A67;
- u8 *wallpaperTilemapPtr;
+ u8 *wallpaperTiles;
struct Sprite *field_A6C;
struct Sprite *partySprites[PARTY_SIZE];
struct Sprite *boxMonsSprites[IN_BOX_COUNT];
- u8 field_B00[8];
+ struct Sprite **field_B00;
+ struct Sprite **field_B04;
u16 field_B08[40];
u16 field_B58[40];
- u8 field_BA8[308];
+ u16 boxSpecies[IN_BOX_COUNT];
+ u32 boxPersonalities[IN_BOX_COUNT];
+ u8 field_C5C;
+ u8 field_C5D;
+ u8 field_C5E;
+ u8 field_C5F;
+ u16 field_C60;
+ s16 field_C62;
+ s16 field_C64;
+ u16 field_C66;
+ u8 field_C68;
+ s8 field_C69;
+ u8 field_C6A;
+ u8 field_C6B;
+ u8 field_C6C[72];
+ struct Sprite *field_CB4;
+ struct Sprite *field_CB8;
+ s32 field_CBC;
+ s32 field_CC0;
+ u32 field_CC4;
+ u32 field_CC8;
+ s16 field_CCC;
+ s16 field_CCE;
+ u16 field_CD0;
+ s8 field_CD2;
+ s8 field_CD3;
+ u8 field_CD4;
+ u8 field_CD5;
+ u8 field_CD6;
+ u8 field_CD7;
+ u8 field_CD8;
+ u8 field_CD9;
+ u8 field_CDA;
+ u8 field_CDB;
u32 *field_CDC;
u32 cursorMonPersonality;
u16 cursorMonSpecies;
@@ -117,13 +178,26 @@ struct PokemonStorageSystemData
u8 cursorMonNick[36];
u8 cursorMonSpeciesName[36];
u8 cursorMonGenderLvlText[36];
- u8 cursorMonItemName[47];
+ u8 cursorMonItemName[36];
+ bool8 (*monPlaceChangeFunc)(void);
+ u8 monPlaceChangeState;
+ u8 field_D91;
struct Sprite *field_D94;
struct Sprite *field_D98[2];
u16 *field_DA0;
struct PokemonMarkMenu field_DA4;
struct UnkPSSStruct_2002370 field_1E5C;
- u8 field_20A4[220];
+ struct Pokemon field_20A4;
+ struct Pokemon field_2108;
+ s8 field_216C;
+ u8 field_216D;
+ s8 field_216E;
+ s8 field_216F;
+ s8 field_2170;
+ s8 field_2171;
+ u16 field_2172;
+ u16 field_2174;
+ u16 field_2176[5];
u8 field_2180;
u8 field_2181;
u8 field_2182;
@@ -134,10 +208,18 @@ struct PokemonStorageSystemData
u8 field_2187;
u8 field_2188;
struct BoxPokemon *field_218C;
- u8 field_2190[80];
+ u8 field_2190[40];
+ u8 field_21B8[40];
u8 field_21E0[POKEMON_NAME_LENGTH + 1];
u8 field_21EB[15]; // TODO: ITEM NAME LENGTH + 1
- u8 field_21FA[58];
+ u8 field_21FA;
+ u8 field_21FB;
+ u8 field_21FC;
+ u8 field_21FD;
+ u8 field_21FE;
+ u8 field_21FF;
+ u8 field_2200;
+ u8 field_2201[51];
u16 movingItem;
u8 field_2236;
u8 field_2237;
@@ -149,7 +231,8 @@ struct PokemonStorageSystemData
u16 field_2244[16];
u8 field_2264[96];
u8 field_22C4[0x800];
- u8 field_2AC4[12288];
+ u8 field_2AC4[8192];
+ u8 field_4AC4[0x1000];
u8 field_5AC4[0x800];
};
@@ -160,7 +243,7 @@ u8* GetBoxNamePtr(u8 boxNumber);
struct BoxPokemon *GetBoxedMonPtr(u8, u8);
void SetBoxMonNickFromAnyBox(u8, u8, u8 *);
void CompactPartySlots(void);
-u32 GetBoxMonDataFromAnyBox(u8 boxId, u8 monPosition, u32 request);
+u32 GetBoxMonDataAt(u8 boxId, u8 monPosition, u32 request);
bool8 CheckFreePokemonStorageSpace(void);
u8 StorageGetCurrentBox(void);
u8 sub_80D214C(struct BoxPokemon *a, u8 b, u8 c, u8 d);
diff --git a/include/text.h b/include/text.h
index 69cbb87ed..d9c7a9a2e 100644
--- a/include/text.h
+++ b/include/text.h
@@ -258,7 +258,7 @@ void DrawDownArrow(u8 windowId, u16 x, u16 y, u8 bgColor, bool8 drawArrow, u8 *c
u16 RenderText(struct TextPrinter *textPrinter);
u32 GetStringWidthFixedWidthFont(const u8 *str, u8 fontId, u8 letterSpacing);
u32 (*GetFontWidthFunc(u8 glyphId))(u16, bool32);
-u32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing);
+s32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing);
u8 RenderTextFont9(u8 *pixels, u8 fontId, u8 *str);
u8 DrawKeypadIcon(u8 windowId, u8 keypadIconId, u16 x, u16 y);
u8 GetKeypadIconTileOffset(u8 keypadIconId);