pokeheartgold/include/berry_pots_app_internal.h
2024-03-09 17:19:27 +00:00

131 lines
3.7 KiB
C

#ifndef POKEHEARTGOLD_BERRY_POTS_APP_INTERNAL_H
#define POKEHEARTGOLD_BERRY_POTS_APP_INTERNAL_H
#include "unk_02023694.h"
#include "game_stats.h"
#include "overlay_16.h"
#include "launch_application.h"
enum BerryPotsApp_022036FC_Action {
BERRY_POTS_APP_022036FC_ACTION_0,
BERRY_POTS_APP_022036FC_ACTION_1,
BERRY_POTS_APP_022036FC_ACTION_2,
BERRY_POTS_APP_022036FC_ACTION_3,
BERRY_POTS_APP_022036FC_ACTION_4,
BERRY_POTS_APP_022036FC_ACTION_5,
BERRY_POTS_APP_022036FC_ACTION_6,
BERRY_POTS_APP_022036FC_ACTION_7,
BERRY_POTS_APP_022036FC_ACTION_8,
BERRY_POTS_APP_022036FC_ACTION_9,
BERRY_POTS_APP_022036FC_ACTION_10,
BERRY_POTS_APP_022036FC_ACTION_11,
BERRY_POTS_APP_022036FC_ACTION_12,
BERRY_POTS_APP_022036FC_ACTION_13,
BERRY_POTS_APP_022036FC_ACTION_14,
BERRY_POTS_APP_022036FC_ACTION_15,
BERRY_POTS_APP_022036FC_ACTION_16,
};
typedef struct BerryPotsAppArgs_UnkSub4 {
u8 unk0[4];
u32 *unk4;
u8 unk8[4];
SaveData *savedata;
} BerryPotsAppArgs_UnkSub4;
typedef struct BerryPotsAppArgs {
u8 unk0[4];
BerryPotsAppArgs_UnkSub4 *unk4;
u8 unk8[0xC];
u8 unk14;
u8 unk15;
u16 itemId;
} BerryPotsAppArgs;
typedef struct BerryPotsAppData_UnkSub20 {
u8 berryId;
u8 growthStage;
u8 unk2;
u8 moisture;
u8 mulch;
u8 quantityOrYieldMaybe;
u16 unk6;
u16 unk8;
u8 soilState;
u8 unkB;
u8 unkC;
u8 unkD;
Sprite *soilSpriteMaybe;
} BerryPotsAppData_UnkSub20;
typedef struct BerryPotsAppData {
HeapID heapId;
BerryPotsAppArgs *args;
void *unk8;
Bag *bag;
GAME_STATS *stats;
BerryPot *berryPots;
struct GF_RTC_DateTime *berryDatetime;
UnkStruct_ov16_022014A0 *berryGrowthProperties;
BerryPotsAppData_UnkSub20 unk20[MAX_BERRY_POT];
u16 state70;
u16 state72;
u32 unk74;
u8 textFrameDelay;
u8 frame;
u8 unk7A;
u8 unk7B;
u8 unk7C;
u8 runningTasks;
u8 unk7E;
u8 waitFrames;
u8 unk80;
u8 unk81;
u16 totalBerryQuantity;
u16 totalMulchQuantity;
BgConfig *bgConfig;
void *unk8C;
u8 unk90[12];
MsgData *msgData;
MessageFormat *msgFmt;
String *currentStatusString;
String *cancelString;
u8 unkAC[4];
String *statusStrings[17];
u8 unkF4[8];
Window windows[3];
void *unk12C;
SpriteRenderer *spriteRenderer;
SpriteGfxHandler *spriteGfxHandler1;
SpriteGfxHandler *spriteGfxHandler2;
u8 unk13C[40];
Sprite *sprites[11];
NARC *itemIconNarc;
NARC *berryPotsAppNarc;
LISTMENUITEM *listMenuItems[4];
void *unk1A8;
} BerryPotsAppData;
void ov17_022028B8(BerryPotsAppData *data);
void ov17_02202850(BerryPotsAppData *data, u32 seqNo);
void ov17_02202B58(BerryPotsAppData *data, u8 index);
UnkImageStruct *ov17_022034C8(BerryPotsAppData *data, s16 x, s16 y, u8 unused);
void ov17_02202A84(BerryPotsAppData *data, int index);
void ov17_0220351C(BerryPotsAppData *data);
void ov17_02203638(BerryPotsAppData *data);
void ov17_022036FC(BerryPotsAppData *data, enum BerryPotsApp_022036FC_Action action, u8 potIndex);
void ov17_022037C8(BerryPotsAppData *data, BOOL a1);
void ov17_0220387C(BerryPotsAppData *data);
void ov17_02203928(BerryPotsAppData *data);
u32 ov17_02203A34(BerryPotsAppData *data);
BOOL ov17_02203A54(BerryPotsAppData *data);
u32 ov17_02203A74(BerryPotsAppData *data, u32 a1);
u32 ov17_02203AD4(BerryPotsAppData *data);
u32 ov17_02203B68(BerryPotsAppData *data, BOOL *a1);
BOOL ov17_02203B88(BerryPotsAppData *data);
BOOL ov17_02203C20(BerryPotsAppData *data, BOOL *a1);
int ov17_02203C78(BerryPotsAppData *data);
int ov17_02203CC8(BerryPotsAppData *data);
u32 ov17_02203D00(BerryPotsAppData *data);
#endif // POKEHEARTGOLD_BERRY_POTS_APP_INTERNAL_H