Merge pull request #162 from gamemasterplc/main

Document and clean up saveload.c
This commit is contained in:
gamemasterplc 2024-02-03 21:00:53 -06:00 committed by GitHub
commit 1012d383c9
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 409 additions and 365 deletions

View file

@ -5137,7 +5137,7 @@ VolumeTable = .data:0x801311E8; // type:object size:0x100 scope:local
lbl_801312E8 = .data:0x801312E8; // type:object size:0x4D
lbl_80131335 = .data:0x80131335; // type:object size:0x1B
mgInfoTbl = .data:0x80131350; // type:object size:0xE00 data:2byte
lbl_80132150 = .data:0x80132150; // type:object size:0x40
saveComment = .data:0x80132150; // type:object size:0x40 scope:local
lbl_80132190 = .data:0x80132190; // type:object size:0xC data:string
lbl_8013219C = .data:0x8013219C; // type:object size:0xC data:string
lbl_801321A8 = .data:0x801321A8; // type:object size:0xC data:string

View file

@ -32,6 +32,11 @@ enum {
WIN_DOLPHIN_TALK_ANM = DATA_MAKE_NUM(DATADIR_WIN, 25),
WIN_BOO_RED_TALK_ANM = DATA_MAKE_NUM(DATADIR_WIN, 26),
WIN_THWOMP_TALK_ANM = DATA_MAKE_NUM(DATADIR_WIN, 27),
WIN_CARD_BOX1_ICON_ANM = DATA_MAKE_NUM(DATADIR_WIN, 28),
WIN_CARD_BOX2_ICON_ANM = DATA_MAKE_NUM(DATADIR_WIN, 29),
WIN_CARD_BOX3_ICON_ANM = DATA_MAKE_NUM(DATADIR_WIN, 30),
WIN_CARD_BANNER_ANM = DATA_MAKE_NUM(DATADIR_WIN, 31),
WIN_SAVE_BG_ANM = DATA_MAKE_NUM(DATADIR_WIN, 32),
};
#endif

View file

@ -2,18 +2,41 @@
#define _GAME_SAVELOAD_H
#include "dolphin.h"
#include "game/gamework_data.h"
s32 SLFileOpen(char *arg0);
s32 SLFileCreate(char *arg0, u32 arg1, void *arg2);
s32 SLFileWrite(s32 arg0, void *arg1);
s32 SLFileRead(s32 arg0, void *arg1);
#define SAVE_BUF_SIZE 16384
typedef struct save_buf_data {
u8 comment[CARD_COMMENT_SIZE];
u8 banner[CARD_BANNER_WIDTH*CARD_BANNER_HEIGHT];
u8 bannerTlut[512];
u8 icon[CARD_ICON_WIDTH*CARD_ICON_HEIGHT*4];
u8 iconTlut[512];
GameStat stat;
SystemState system;
PlayerState player[4];
SystemState systemBackup;
PlayerState playerBackup[4];
} SaveBufData;
typedef union save_buf_all {
SaveBufData data;
u8 ATTRIBUTE_ALIGN(32) buf[SAVE_BUF_SIZE];
} SaveBufAll;
extern SaveBufAll saveBuf;
s32 SLFileOpen(char *fileName);
s32 SLFileCreate(char *fileName, u32 size, void *addr);
s32 SLFileWrite(s32 length, void *addr);
s32 SLFileRead(s32 length, void *addr);
s32 SLFileClose(void);
void SLCurSlotNoSet(s16 arg0);
void SLCurBoxNoSet(s8 arg0);
void SLSaveFlagSet(s32 arg0);
void SLCurSlotNoSet(s16 slotno);
void SLCurBoxNoSet(s8 boxno);
void SLSaveFlagSet(s32 flag);
s32 SLSaveFlagGet(void);
void SLSaveDataMake(s32 arg0, OSTime *arg1);
void SLSaveDataInfoSet(OSTime *arg0);
void SLSaveDataMake(s32 erase, OSTime *time);
void SLSaveDataInfoSet(OSTime *time);
void SLCommonSet(void);
void SLSaveBoard(void);
void SLSaveBoardBackup(void);
@ -27,9 +50,9 @@ BOOL SLSerialNoCheck(void);
BOOL SLCheckSumCheck(void);
u16 SLCheckSumGet(void);
void SLCheckSumSet(void);
s32 SLStatSet(s32 arg0);
s32 SLCardMount(s16 arg0);
s32 SLFormat(s16 arg0);
s16 SLMessOut(s16 arg0);
s32 SLStatSet(s32 reportF);
s32 SLCardMount(s16 slotNo);
s32 SLFormat(s16 slotNo);
s16 SLMessOut(s16 mess);
#endif

File diff suppressed because it is too large Load diff