pokeheartgold/include/save_misc_data.h
2023-02-18 11:09:41 -03:00

80 lines
3.0 KiB
C

#ifndef POKEHEARTGOLD_SAVE_MISC_DATA_H
#define POKEHEARTGOLD_SAVE_MISC_DATA_H
#include "save.h"
#include "mail_message.h"
#include "gf_rtc.h"
#include "gymmick.h"
#include "pm_string.h"
typedef struct APRICORN_TREE {
u8 unk_0;
u8 unk_1;
u16 unk_2;
} APRICORN_TREE;
typedef struct BERRY_POT {
u8 unk_0;
u8 unk_1;
u8 filler_2[10];
} BERRY_POT;
#define MAX_APRICORN_TREE 128
#define NUM_APRICORN_TREE 31
#define MAX_BERRY_POT 4
typedef struct SAVE_MISC_DATA {
APRICORN_TREE apricorn_trees[MAX_APRICORN_TREE];
BERRY_POT berry_pots[MAX_BERRY_POT];
struct GF_RTC_DateTime berry_datetime;
struct Gymmick gymmick;
u16 rivalName[PLAYER_NAME_LENGTH + 1];
u8 unk_0280[8]; // 3 chunks of size (4, 2, 2)
u8 filler_0288[0x10];
u16 favoriteMonSpecies;
u8 favoriteMonForme:7;
u8 favoriteMonIsEgg:1;
u8 extraChunksExist:1;
u8 unk_029B_1:4;
u8 filer_029C[4];
MAIL_MESSAGE battleGreetingEC;
u32 unk_02A8[2][5];
u8 unk_02D0[5];
u8 dummy_02D5[3];
u32 togepiEggPersonality;
u8 togepiEggGender;
u8 dummy_02DD[3];
} SAVE_MISC_DATA;
void Sav2_BerryPots_init(BERRY_POT *berryPot);
void Sav2_BerryPotRTC_init(struct GF_RTC_DateTime *dateTime);
u32 Sav2_Misc_sizeof(void);
void Sav2_Misc_init(SAVE_MISC_DATA *saveMiscData);
SAVE_MISC_DATA *Sav2_Misc_get(SAVEDATA *saveData);
const SAVE_MISC_DATA *Sav2_Misc_const_get(const SAVEDATA *saveData);
APRICORN_TREE *Sav2_FieldApricornTrees_get(SAVEDATA *saveData);
BERRY_POT *Sav2_BerryPots_get(SAVEDATA *saveData);
struct GF_RTC_DateTime *Sav2_BerryPotRTC_get(SAVEDATA *saveData);
struct Gymmick *Sav2_GetGymmickPtr(SAVEDATA *saveData);
const u16 *Sav2_Misc_RivalName_const_get(const SAVE_MISC_DATA *saveMiscData);
void Sav2_Misc_RivalName_set(SAVE_MISC_DATA *saveMiscData, const STRING *name);
void SaveMisc_SetExtraChunksExist(SAVE_MISC_DATA *saveMiscData);
BOOL SaveMisc_CheckExtraChunksExist(SAVE_MISC_DATA *saveMiscData);
void SaveMisc_SetFavoriteMon(SAVE_MISC_DATA *saveMiscData, int species, int forme, int isEgg);
void SaveMisc_GetFavoriteMon(SAVE_MISC_DATA *saveMiscData, int *species, int *forme, int *isEgg);
BOOL sub_0202AA44(SAVE_MISC_DATA *saveMiscData, int a1, int a2);
void sub_0202AA9C(SAVE_MISC_DATA *saveMiscData, int a1);
u8 sub_0202AAD4(SAVE_MISC_DATA *saveMiscData, int a1);
void sub_0202AB18(SAVE_MISC_DATA *saveMiscData, u8 a1, u8 a2, u8 a3);
void SaveMisc_SetTogepiPersonalityGender(SAVE_MISC_DATA * saveMiscData, int personality, u8 gender);
void SaveMisc_GetTogepiPersonalityGender(SAVE_MISC_DATA * saveMiscData, int *a1, u8 *a2);
void SaveMisc_GetBattleGreeting(SAVE_MISC_DATA *saveMiscData, MAIL_MESSAGE *a1);
void SaveMisc_SetBattleGreeting(SAVE_MISC_DATA *saveMiscData, MAIL_MESSAGE *a1);
void sub_0202AC0C(SAVE_MISC_DATA *saveMiscData, u8 *a1);
void sub_0202AC1C(SAVE_MISC_DATA *saveMiscData, u8 a1);
void sub_0202AC38(SAVE_MISC_DATA *saveMiscData, int a1, u32 *a2, u32 *a3, u8 *a4);
void sub_0202AC60(SAVE_MISC_DATA *saveMiscData, int a1, u32 a2, u32 a3, u8 a4);
#endif //POKEHEARTGOLD_SAVE_MISC_DATA_H