mirror of
https://github.com/zeldaret/tww.git
synced 2026-08-05 17:43:23 -04:00
65 lines
2.0 KiB
C
65 lines
2.0 KiB
C
#ifndef M_DO_M_DO_MEMCARDRWMNG_H
|
|
#define M_DO_M_DO_MEMCARDRWMNG_H
|
|
|
|
#include "d/d_save.h"
|
|
#include "dolphin/types.h"
|
|
|
|
typedef struct CARDFileInfo CARDFileInfo;
|
|
|
|
struct mDoMemCdRWm_HeaderData
|
|
{
|
|
/* 0x0000 */ u8 banner[0x0E00];
|
|
/* 0x0E00 */ u8 icon[0x0E00];
|
|
/* 0x1C00 */ char comment[32];
|
|
/* 0x1C20 */ char info[32];
|
|
}; // Size: 0x1C40
|
|
|
|
struct card_pictdata
|
|
{
|
|
/* 0x0000 */ u8 tex_buffer[0x1EE0]; // Holds the texture data for one 152x104 CMPR texture
|
|
/* 0x1EE0 */ u32 snap_result; // Photo index
|
|
/* 0x1EE4 */ u8 snap_result_detail;
|
|
/* 0x1EE5 */ u8 capture_format; // The format the capture was done in (not the same as the format of tex_buffer)
|
|
/* 0x1EE6 */ u8 field_0x1EE6[0x1FFE - 0x1EE6];
|
|
/* 0x1FFE */ u16 csum;
|
|
}; // Size: 0x2000
|
|
|
|
STATIC_ASSERT(sizeof(card_pictdata) == 0x2000);
|
|
|
|
struct card_gamedata
|
|
{
|
|
/* 0x000 */ u8 data[dSv_save_c::PACKED_STRUCT_SIZE];
|
|
/* 0x768 */ u64 csum;
|
|
}; // Size: 0x770
|
|
|
|
struct card_savedata
|
|
{
|
|
/* 0x0000 */ u32 save_count;
|
|
/* 0x0004 */ u32 data_version;
|
|
/* 0x0008 */ card_gamedata gamedata[3];
|
|
/* 0x1658 */ u8 field_0x1658[0x1FFC - 0x1658];
|
|
/* 0x1FFC */ u32 csum;
|
|
}; // Size: 0x2000
|
|
|
|
STATIC_ASSERT(sizeof(card_savedata) == 0x2000);
|
|
|
|
STATIC_ASSERT(sizeof(card_pictdata) == sizeof(card_savedata));
|
|
|
|
s32 mDoMemCdRWm_Store(CARDFileInfo* card, void* data, u32 size);
|
|
s32 mDoMemCdRWm_Restore(CARDFileInfo* card, void* dst, u32 size);
|
|
#if VERSION == VERSION_PAL
|
|
s32 mDoMemCdRWm_Restore2(CARDFileInfo*);
|
|
#endif
|
|
void mDoMemCdRWm_BuildHeader(mDoMemCdRWm_HeaderData*);
|
|
void mDoMemCdRWm_SetCardStat(CARDFileInfo*);
|
|
BOOL mDoMemCdRWm_CheckCardStat(CARDFileInfo*);
|
|
u32 mDoMemCdRWm_CalcCheckSum(void*, u32 size);
|
|
u16 mDoMemCdRWm_CalcCheckSumPictData(void*, u32 size);
|
|
BOOL mDoMemCdRWm_TestCheckSumPictData(void*);
|
|
void mDoMemCdRWm_SetCheckSumPictData(u8*);
|
|
u64 mDoMemCdRWm_CalcCheckSumGameData(void*, u32 size);
|
|
BOOL mDoMemCdRWm_TestCheckSumGameData(void*);
|
|
void mDoMemCdRWm_SetCheckSumGameData(u8*, u8);
|
|
|
|
#endif /* M_DO_M_DO_MEMCARDRWMNG_H */
|