summaryrefslogtreecommitdiff
path: root/include/pokemon_storage_system.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/pokemon_storage_system.h')
-rw-r--r--include/pokemon_storage_system.h137
1 files changed, 61 insertions, 76 deletions
diff --git a/include/pokemon_storage_system.h b/include/pokemon_storage_system.h
index 7f618498b..a85ee5ff4 100644
--- a/include/pokemon_storage_system.h
+++ b/include/pokemon_storage_system.h
@@ -2,88 +2,73 @@
#define GUARD_POKEMON_STORAGE_SYSTEM_H
#define TOTAL_BOXES_COUNT 14
-#define IN_BOX_COUNT 30
+#define IN_BOX_ROWS 6
+#define IN_BOX_COLUMNS 5
+#define IN_BOX_COUNT (IN_BOX_ROWS * IN_BOX_COLUMNS)
-#include "pc_screen_effect.h"
-#include "mon_markings.h"
+/*
+ ROWS
+COLUMNS 0 1 2 3 4 5
+ 6 7 8 9 10 11
+ 12 13 14 15 16 17
+ 18 19 20 21 22 23
+ 24 25 26 27 28 29
+*/
-struct PokemonStorageSystemFunc
+struct PokemonStorage
{
- u8 (*func)(void);
- s8 unk4;
+ /*0x0000*/ u8 currentBox;
+ /*0x0001*/ struct BoxPokemon boxes[TOTAL_BOXES_COUNT][IN_BOX_COUNT];
+ /*0x8344*/ u8 boxNames[TOTAL_BOXES_COUNT][9];
+ /*0x83C2*/ u8 boxWallpapers[TOTAL_BOXES_COUNT];
};
-struct StorageAction
-{
- const u8 *text;
- u8 format;
-};
-
-struct StorageText
-{
- const u8 *text;
- int textId;
-};
-
-struct PSS_MenuStringPtrs
-{
- const u8 *text;
- const u8 *desc;
-};
-
-struct UnkStruct_2000028
-{
- const u8 *unk_00;
- u8 *unk_04;
- u16 unk_08;
- u16 unk_0a;
- void (*unk_0c)(struct UnkStruct_2000028 *data);
-};
+extern struct PokemonStorage *gPokemonStoragePtr;
-struct UnkStruct_2000020
-{
- struct UnkStruct_2000028 *unk_00;
- u8 unk_04;
- u8 unk_05;
-};
-
-struct UnkPSSStruct_2002370
-{
- struct Sprite *unk_0000;
- struct Sprite *unk_0004[4];
- u32 unk_0014[3];
- struct Sprite *unk_0020[2];
- u8 filler_0028[0x214];
- u32 unk_023c;
- u16 unk_0240;
- u16 unk_0242;
- u8 curBox;
- u8 unk_0245;
- u8 unk_0246;
-};
-
-struct PokemonStorageSystemData
-{
- u8 state;
- u8 boxOption;
- u8 unk_0002;
- u8 unk_0003;
- u8 taskId;
- u8 unk_0005[710];
- u16 bg2_X;
-};
-
-extern struct UnkPSSStruct_2002370 *gUnknown_02039D04;
-extern struct PokemonStorageSystemData *gUnknown_02039D08;
-
-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);
-bool8 CheckFreePokemonStorageSpace(void);
+u8 CountMonsInBox(u8 boxId);
+s16 GetFirstFreeBoxSpot(u8 boxId);
+u8 CountPartyAliveNonEggMonsExcept(u8 slotToIgnore);
+u16 CountPartyAliveNonEggMons_IgnoreVar0x8004Slot(void);
+u8 CountPartyMons(void);
+u8 *StringCopyAndFillWithSpaces(u8 *dst, const u8 *src, u16 n);
+void ShowPokemonStorageSystemPC(void);
+void ResetPokemonStorageSystem(void);
+s16 CompactPartySlots(void);
u8 StorageGetCurrentBox(void);
-u8 sub_80D214C(struct BoxPokemon *a, u8 b, u8 c, u8 d);
-bool32 sub_80D23A8(u16 move);
+u32 GetBoxMonDataAt(u8 boxId, u8 boxPosition, s32 request);
+void SetBoxMonDataAt(u8 boxId, u8 boxPosition, s32 request, const void *value);
+u32 GetCurrentBoxMonData(u8 boxPosition, s32 request);
+void SetCurrentBoxMonData(u8 boxPosition, s32 request, const void *value);
+void GetBoxMonNickAt(u8 boxId, u8 boxPosition, u8 *dst);
+u32 GetBoxMonLevelAt(u8 boxId, u8 boxPosition);
+void SetBoxMonNickAt(u8 boxId, u8 boxPosition, const u8 *nick);
+u32 GetAndCopyBoxMonDataAt(u8 boxId, u8 boxPosition, s32 request, void *dst);
+void SetBoxMonAt(u8 boxId, u8 boxPosition, struct BoxPokemon *src);
+void CopyBoxMonAt(u8 boxId, u8 boxPosition, struct BoxPokemon *dst);
+void CreateBoxMonAt(u8 boxId, u8 boxPosition, u16 species, u8 level, u8 fixedIV, u8 hasFixedPersonality, u32 personality, u8 otIDType, u32 otID);
+void ZeroBoxMonAt(u8 boxId, u8 boxPosition);
+void BoxMonAtToMon(u8 boxId, u8 boxPosition, struct Pokemon *dst);
+struct BoxPokemon *GetBoxedMonPtr(u8 boxId, u8 boxPosition);
+u8 *GetBoxNamePtr(u8 boxId);
+u8 GetBoxWallpaper(u8 boxId);
+void SetBoxWallpaper(u8 boxId, u8 wallpaperId);
+s16 sub_80D214C(struct BoxPokemon *boxMons, u8 currIndex, u8 maxIndex, u8 arg3);
+bool8 CheckFreePokemonStorageSpace(void);
+bool32 CheckBoxMonSanityAt(u32 boxId, u32 boxPosition);
+u32 CountStorageNonEggMons(void);
+u32 CountAllStorageMons(void);
+bool32 AnyStorageMonWithMove(u16 moveId);
+void ResetWaldaWallpaper(void);
+void SetWaldaWallpaperLockedOrUnlocked(bool32 unlocked);
+bool32 IsWaldaWallpaperUnlocked(void);
+u32 GetWaldaWallpaperPatternId(void);
+void SetWaldaWallpaperPatternId(u8 id);
+u32 GetWaldaWallpaperIconId(void);
+void SetWaldaWallpaperIconId(u8 id);
+u16 *GetWaldaWallpaperColorsPtr(void);
+void SetWaldaWallpaperColors(u16 color1, u16 color2);
+u8 *GetWaldaPhrasePtr(void);
+void SetWaldaPhrase(const u8 *src);
+bool32 IsWaldaPhraseEmpty(void);
#endif // GUARD_POKEMON_STORAGE_SYSTEM_H