pokeheartgold/include/save.h
Adrienn Tindall ddbfe2f9f9 Decompile unk_02055418.s
Time functions, daily resets, and apricorn tree functions; merging master into my repo
2022-03-21 00:19:03 -05:00

49 lines
1.9 KiB
C

#ifndef POKEHEARTGOLD_SAVE_H
#define POKEHEARTGOLD_SAVE_H
#include "heap.h"
#include "constants/save_arrays.h"
#define LOAD_STATUS_NOT_EXIST 0
#define LOAD_STATUS_IS_GOOD 1
#define LOAD_STATUS_SLOT_FAIL 2
#define LOAD_STATUS_TOTAL_FAIL 3
#define WRITE_STATUS_CONTINUE 0
#define WRITE_STATUS_NEXT 1
#define WRITE_STATUS_SUCCESS 2
#define WRITE_STATUS_TOTAL_FAIL 3
typedef struct SaveBlock2 SAVEDATA;
SAVEDATA *SaveBlock2_new(void);
SAVEDATA *SaveBlock2_get(void);
void *SavArray_get(SAVEDATA *saveData, int id);
const void *SavArray_const_get(const SAVEDATA *saveData, int id);
BOOL Save_DeleteAllData(SAVEDATA *saveData);
BOOL SaveData_TryLoadOnContinue(SAVEDATA *saveData);
int SaveGameNormal(SAVEDATA *saveData);
int Save_NowWriteFile_AfterMGInit(SAVEDATA *saveData, int a1);
void Sav2_InitDynamicRegion(SAVEDATA *saveData);
BOOL Save_FlashChipIsDetected(SAVEDATA *saveData);
u32 Save_GetStatusFlags(SAVEDATA *saveData);
void Save_ClearStatusFlags(SAVEDATA *saveData);
u32 Save_FileExists(SAVEDATA *saveData);
BOOL Save_CheckExtraChunksExist(SAVEDATA *saveData);
BOOL Save_FileDoesNotBelongToPlayer(SAVEDATA *saveData);
BOOL Save_NumModifiedPCBoxesIsMany(SAVEDATA *saveData);
void SetAllPCBoxesModified(void);
void Save_PrepareForAsyncWrite(SAVEDATA *saveData, int a1);
int Save_WriteFileAsync(SAVEDATA *saveData);
void Save_Cancel(SAVEDATA *saveData);
u16 SavArray_CalcCRC16(SAVEDATA *saveData, const void *data, u32 size);
void Save_WipeExtraChunks(SAVEDATA *saveData);
int WriteExtraSaveChunk(SAVEDATA *saveData, int idx, void *data);
int sub_02028230(SAVEDATA *saveData, int idx, void *data);
void *ReadExtraSaveChunk(SAVEDATA *saveData, HeapID heapId, int idx, int *ret_p);
void *sub_020284A4(SAVEDATA *saveData, HeapID heapId, int idx, int *ret_p, int *ret2_p);
BOOL SaveSubstruct_AssertCRC(int idx);
void SaveSubstruct_UpdateCRC(int idx);
#endif //POKEHEARTGOLD_SAVE_H