mirror of
https://github.com/encounter/mkdd.git
synced 2026-03-30 11:30:02 -07:00
51 lines
1.3 KiB
C++
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 |