Files
2024-01-08 18:50:33 +01:00

51 lines
1.3 KiB
C++

#ifndef SAVEFILE_H
#define SAVEFILE_H
#include "types.h"
#include <dolphin/card.h>
// TODO: type consistency
#define BANNER_SIZE 3072
#define ICON_SIZE 1024
#define PALETTE_SIZE 512
#define COMMENT_SIZE 32
#define TAG_SIZE 32
class SaveFile
{
public:
static bool msCRCTableComputed;
static u32 msaCRCTable[256];
void makeCRCTable();
u32 getCRC(u8 *pBegin, u8 *pEndNext);
enum FilePart
{
mcHeader,
mcData1,
mcData2
};
virtual void setPart(FilePart) = 0; // 08
virtual void fetch() = 0; // 0C
virtual void store() = 0; // 10
virtual void setCheckData(s64) = 0; // 14
virtual void checkData() = 0; // 18
virtual int getAccessWay() = 0; // 1C
virtual char *getFileName() = 0; // 20
virtual int getFileNo() = 0; // 24
virtual int getBannerFormat() = 0; // 28
virtual s32 getCommentOffset() = 0; // 2C
virtual u8 getIconNum() = 0; // 30
virtual int getIconOffset() = 0; // 34
virtual u8 getIconFormat(u8) = 0; // 38
virtual u8 getIconSpeed(u8) = 0; // 3C
virtual u8 getIconAnim() = 0; // 40
virtual void *getBuf() = 0; // 44
virtual u32 getFileSize() = 0; // 48
virtual s32 getLength() = 0; // 4C
virtual s32 getOffset() = 0; // 50
};
#endif