2017-09-28 13:34:21 +00:00
|
|
|
#ifndef GUARD_POKEMON_STORAGE_SYSTEM_H
|
|
|
|
#define GUARD_POKEMON_STORAGE_SYSTEM_H
|
|
|
|
|
2017-11-11 13:45:08 +00:00
|
|
|
#define TOTAL_BOXES_COUNT 14
|
|
|
|
#define IN_BOX_COUNT 30
|
|
|
|
|
2018-08-12 14:40:31 +00:00
|
|
|
#include "pc_screen_effect.h"
|
|
|
|
#include "mon_markings.h"
|
|
|
|
|
|
|
|
struct PokemonStorageSystemFunc
|
|
|
|
{
|
|
|
|
u8 (*func)(void);
|
|
|
|
s8 unk4;
|
|
|
|
};
|
|
|
|
|
|
|
|
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);
|
|
|
|
};
|
|
|
|
|
|
|
|
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;
|
2018-12-10 20:36:52 +00:00
|
|
|
u8 screenChangeType;
|
2018-08-12 14:40:31 +00:00
|
|
|
u8 unk_0003;
|
|
|
|
u8 taskId;
|
2018-12-09 15:44:01 +00:00
|
|
|
u8 unk_0005;
|
|
|
|
struct UnkStruct_2000020 unk_0020;
|
|
|
|
struct UnkStruct_2000028 unk_0028[8];
|
|
|
|
u8 unk_90[567];
|
|
|
|
u8 unk_02C7;
|
|
|
|
u8 unk_02C8;
|
|
|
|
u8 unk_02C9;
|
2018-12-09 20:06:43 +00:00
|
|
|
s16 newCurrBoxId;
|
2018-08-12 14:40:31 +00:00
|
|
|
u16 bg2_X;
|
2018-12-09 15:44:01 +00:00
|
|
|
u8 field_2CE;
|
2018-12-09 20:06:43 +00:00
|
|
|
u8 field_2CF[1215];
|
|
|
|
s16 wallpaperSetId;
|
|
|
|
s16 wallpaperId;
|
2018-12-09 15:44:01 +00:00
|
|
|
u8 wallpaperTilemap[180 * 4];
|
|
|
|
u8 wallpaperChangeState;
|
|
|
|
u8 field_A63;
|
|
|
|
u8 field_A64;
|
|
|
|
u8 field_A65;
|
|
|
|
u8 field_A66;
|
|
|
|
u8 field_A67;
|
|
|
|
u8 *wallpaperTilemapPtr;
|
|
|
|
u8 field_A6C;
|
|
|
|
u8 field_A6D[633];
|
2018-12-09 20:06:43 +00:00
|
|
|
u16 selectedItem;
|
|
|
|
u16 field_CE8;
|
|
|
|
u8 field_CEA;
|
|
|
|
u8 field_CEB;
|
|
|
|
u8 field_CEC;
|
|
|
|
u8 field_CED;
|
|
|
|
u8 field_CEE;
|
|
|
|
u8 field_CEF[181];
|
2018-12-09 15:44:01 +00:00
|
|
|
struct PokemonMarkMenu field_DA4;
|
2018-12-09 20:06:43 +00:00
|
|
|
struct UnkPSSStruct_2002370 field_1E5C;
|
2018-12-10 20:36:52 +00:00
|
|
|
u8 field_20A4[220];
|
|
|
|
u8 field_2180;
|
|
|
|
u8 field_2181;
|
|
|
|
u8 field_2182;
|
|
|
|
u8 field_2183;
|
|
|
|
u8 field_2184;
|
|
|
|
u8 field_2185;
|
|
|
|
u8 field_2186;
|
|
|
|
u8 field_2187;
|
|
|
|
u8 field_2188;
|
|
|
|
struct BoxPokemon *field_218C;
|
|
|
|
u8 field_2190[164];
|
|
|
|
u16 movingItem;
|
2018-08-12 14:40:31 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
extern struct UnkPSSStruct_2002370 *gUnknown_02039D04;
|
|
|
|
extern struct PokemonStorageSystemData *gUnknown_02039D08;
|
|
|
|
|
2017-09-28 13:34:21 +00:00
|
|
|
u8* GetBoxNamePtr(u8 boxNumber);
|
2017-10-13 15:09:36 +00:00
|
|
|
struct BoxPokemon *GetBoxedMonPtr(u8, u8);
|
|
|
|
void SetBoxMonNickFromAnyBox(u8, u8, u8 *);
|
2017-11-14 19:23:25 +00:00
|
|
|
void CompactPartySlots(void);
|
2017-11-11 13:45:08 +00:00
|
|
|
u32 GetBoxMonDataFromAnyBox(u8 boxId, u8 monPosition, u32 request);
|
2018-08-08 08:37:12 +00:00
|
|
|
bool8 CheckFreePokemonStorageSpace(void);
|
2018-08-10 21:07:23 +00:00
|
|
|
u8 StorageGetCurrentBox(void);
|
2018-08-15 05:05:48 +00:00
|
|
|
u8 sub_80D214C(struct BoxPokemon *a, u8 b, u8 c, u8 d);
|
2017-09-28 13:34:21 +00:00
|
|
|
|
|
|
|
#endif // GUARD_POKEMON_STORAGE_SYSTEM_H
|