summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/box_party_pokemon_dropdown.h6
-rw-r--r--include/pokemon_storage_system.h2
-rw-r--r--include/pokemon_storage_system_internal.h226
-rw-r--r--include/sprite.h1
4 files changed, 231 insertions, 4 deletions
diff --git a/include/box_party_pokemon_dropdown.h b/include/box_party_pokemon_dropdown.h
index e1ca7256f..c2df93f1e 100644
--- a/include/box_party_pokemon_dropdown.h
+++ b/include/box_party_pokemon_dropdown.h
@@ -1,12 +1,12 @@
#ifndef GUARD_BOX_PARTY_POKEMON_DROPDOWN_H
#define GUARD_BOX_PARTY_POKEMON_DROPDOWN_H
-void sub_80F7AD8(u8 num);
+void AllocBoxPartyPokemonDropdowns(u8 num);
void sub_80F7B2C(void);
void sub_80F7B40(void);
-void sub_80F7B80(u8 a0, u8 a1, const void * a2, u16 a3, u16 a4);
+void SetBoxPartyPokemonDropdownMap2(u8 idx, u8 bgId, const void * src, u16 width, u16 height);
void sub_80F7C7C(u8 a0, const void * a1);
-void sub_80F7CAC(u8 a0, u16 a1, u16 a2);
+void SetBoxPartyPokemonDropdownMap2Pos(u8 idx, u16 x, u16 y);
void sub_80F7CE8(u8 a0, u16 a1, u16 a2, u16 a3, u16 a4);
void sub_80F7D30(u8 a0, u8 a1, s8 a2);
void sub_80F7E54(u8 a0);
diff --git a/include/pokemon_storage_system.h b/include/pokemon_storage_system.h
index b54c0cd68..6ded8983c 100644
--- a/include/pokemon_storage_system.h
+++ b/include/pokemon_storage_system.h
@@ -33,7 +33,7 @@ void SetBoxMonNickAt(u8 boxId, u8 monPosition, const u8 *newNick);
void CompactPartySlots(void);
u32 GetBoxMonDataAt(u8 boxId, u8 monPosition, s32 request);
void ZeroBoxMonAt(u8 boxId, u8 monPosition);
-void sub_808CE60(void);
+void Cb2_ReturnToPSS(void);
void ResetPokemonStorageSystem(void);
u8 StorageGetCurrentBox(void);
void DrawTextWindowAndBufferTiles(const u8 *name, void *a1, u8 a2, u8 a3, u8 *buffer, s32 a5);
diff --git a/include/pokemon_storage_system_internal.h b/include/pokemon_storage_system_internal.h
new file mode 100644
index 000000000..6171d9137
--- /dev/null
+++ b/include/pokemon_storage_system_internal.h
@@ -0,0 +1,226 @@
+#ifndef GUARD_POKEMON_STORAGE_SYSTEM_INTERNAL_H
+#define GUARD_POKEMON_STORAGE_SYSTEM_INTERNAL_H
+
+#include "pokemon_storage_system.h"
+#include "mon_markings.h"
+
+struct UnkPSSStruct_2002370
+{
+ struct Sprite *unk_0000;
+ struct Sprite *unk_0004[4];
+ u32 unk_0014[3];
+ struct Sprite *unk_0020[2];
+ u8 filler_0028[0x200];
+ u8 unk_0228[20];
+ u32 unk_023c;
+ u16 unk_0240;
+ u16 unk_0242;
+ u8 curBox;
+ u8 unk_0245;
+ u8 unk_0246;
+};
+
+struct StorageMenu
+{
+ const u8 *text;
+ int textId;
+};
+
+struct UnkStruct_2000028
+{
+ const u8 *unk_00;
+ u8 *unk_04;
+ u16 unk_08;
+ u16 unk_0a;
+ u16 newField;
+ void (*unk_0c)(struct UnkStruct_2000028 *data);
+};
+
+struct UnkStruct_2000020
+{
+ struct UnkStruct_2000028 *unk_00;
+ u8 unk_04;
+ u8 unk_05;
+};
+
+struct UnkStorageStruct
+{
+ struct Sprite *sprite;
+ u8 *tiles;
+ u16 palIndex;
+ u8 unk8;
+ u8 unk9;
+ u8 unk10;
+};
+
+struct PssQuestLogBuffer
+{
+ u16 a0;
+ u16 a2;
+ u8 a4;
+ u8 a5;
+};
+
+struct PokemonStorageSystemData
+{
+ u8 state;
+ u8 boxOption;
+ u8 screenChangeType;
+ bool8 isReshowingPSS;
+ u8 taskId;
+ struct UnkStruct_2000020 unk_0020;
+ struct UnkStruct_2000028 unk_0028[8];
+ u16 field_B0[528 / 2];
+ u16 field_2C0;
+ u16 field_2C2;
+ u8 field_2C4;
+ u8 field_2C5;
+ u8 showPartyMenuState;
+ u8 unk_02C7;
+ u8 unk_02C8;
+ bool8 unk_02C9;
+ s16 newCurrBoxId;
+ u16 bg2_X;
+ s16 field_2CE;
+ u16 field_2D0;
+ u8 field_2D2;
+ u8 field_2D3;
+ u8 field_2D4;
+ u16 field_2D6;
+ s16 field_2D8;
+ u16 field_2DA;
+ u16 field_2DC;
+ u16 field_2DE;
+ u16 field_2E0;
+ u8 filler[22];
+ 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;
+ u16 field_792[360];
+ u8 wallpaperChangeState;
+ u8 field_A63;
+ u8 field_A64;
+ s8 field_A65;
+ u8 *wallpaperTiles;
+ struct Sprite *movingMonSprite;
+ struct Sprite *partySprites[PARTY_SIZE];
+ struct Sprite *boxMonsSprites[IN_BOX_COUNT];
+ struct Sprite **field_B00;
+ struct Sprite **field_B04;
+ u16 field_B08[40];
+ u16 field_B58[40];
+ u16 boxSpecies[IN_BOX_COUNT];
+ u32 boxPersonalities[IN_BOX_COUNT];
+ u8 field_C5C;
+ u8 field_C5D;
+ u8 field_C5E;
+ u16 field_C60;
+ s16 field_C62;
+ s16 field_C64;
+ u16 field_C66;
+ u8 field_C68;
+ s8 field_C69;
+ u8 field_C6A;
+ u8 field_C6B;
+ struct WindowTemplate menuWindow;
+ struct StorageMenu menuItems[7];
+ u8 menuItemsCount;
+ u8 menuWidth;
+ u8 field_CAE;
+ u16 field_CB0;
+ 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[2];
+ const u32 *cursorMonPalette;
+ u32 cursorMonPersonality;
+ u16 cursorMonSpecies;
+ u16 cursorMonItem;
+ u16 field_CE8;
+ bool8 setMosaic;
+ u8 cursorMonMarkings;
+ u8 cursorMonLevel;
+ bool8 cursorMonIsEgg;
+ u8 cursorMonNick[POKEMON_NAME_LENGTH + 1];
+ u8 cursorMonNickText[36];
+ u8 cursorMonSpeciesName[36];
+ u8 cursorMonGenderLvlText[36];
+ u8 cursorMonItemName[36];
+ bool8 (*monPlaceChangeFunc)(void);
+ u8 monPlaceChangeState;
+ u8 field_D91;
+ struct Sprite *field_D94;
+ struct Sprite *field_D98[2];
+ struct PokemonMarkMenu field_DA4;
+ /* 1e58 */ struct UnkPSSStruct_2002370 field_1E5C;
+ /* 20a0 */ struct Pokemon movingMon;
+ /* 2104 */ struct Pokemon field_2108;
+ /* 2168 */ s8 field_216C;
+ /* 2169 */ u8 field_216D;
+ /* 216a */ s8 field_216E;
+ /* 216b */ s8 field_216F;
+ /* 216c */ s8 field_2170;
+ /* 216d */ s8 field_2171;
+ /* 216e */ u8 field_2172;
+ /* 216f */ u8 field_2173;
+ /* 2170 */ u16 field_2174;
+ /* 2172 */ u16 field_2176[3];
+ /* 2178 */ u8 field_2186;
+ /* 2179 */ u8 field_2187;
+ /* 217a */ u8 field_2188;
+ /* 217c */ union
+ {
+ struct Pokemon *mon;
+ struct BoxPokemon *box;
+ } field_218C;
+ /* 2180 */ u8 field_2190[40];
+ /* 21a8 */ u8 field_21B8[40];
+ /* 21d0 */ u8 field_21E0[POKEMON_NAME_LENGTH + 1];
+ /* 21db */ u8 itemName[20];
+ /* 21ef */ u8 inBoxMovingMode;
+ /* 21f0 */ u16 field_2200;
+ /* 21f4 */ struct UnkStorageStruct field_2204[3];
+ /* 2224 */ u16 movingItem;
+ /* 2226 */ u16 field_2236;
+ /* 2228 */ struct PssQuestLogBuffer field_2238;
+ /* 2230 */ u16 field_223A;
+ /* 2234 */ u16 *field_223C;
+ /* 2238 */ struct Sprite *cursorMonSprite;
+ /* 223c */ u16 field_2244[0x40];
+ /* 22bc */ u8 field_22C4[0x800];
+ /* 2abc */ u8 field_2AC4[0x1800];
+ /* 42bc */ u8 field_42C4[0x800];
+ /* 4abc */ u8 field_4AC4[0x1000];
+ /* 5abc */ u8 field_5AC4[0x800];
+};
+
+extern struct PokemonStorageSystemData *sPSSData;
+
+void Cb2_ExitPSS(void);
+
+#endif //GUARD_POKEMON_STORAGE_SYSTEM_INTERNAL_H
diff --git a/include/sprite.h b/include/sprite.h
index acf8f719c..39cb1af96 100644
--- a/include/sprite.h
+++ b/include/sprite.h
@@ -254,6 +254,7 @@ extern const struct SpriteTemplate gDummySpriteTemplate;
extern struct Sprite gSprites[];
extern struct OamMatrix gOamMatrices[];
extern bool8 gAffineAnimsDisabled;
+extern u16 gReservedSpriteTileCount;
void ResetSpriteData(void);
void AnimateSprites(void);