mirror of
https://github.com/rvtr/ctr_Repair.git
synced 2025-10-31 13:51:08 -04:00
76 lines
2.5 KiB
C++
76 lines
2.5 KiB
C++
#ifndef _SUB_H_
|
|
#define _SUB_H_
|
|
|
|
|
|
#include <nn.h>
|
|
#include "../../../common/savefile/membak.h"
|
|
#include "../../../common/savefile/exsave.h"
|
|
#include "../../../common/savefile/savefile.h"
|
|
#include "../../../common/savefile/savedata.h"
|
|
#include "../../../common/my_defs.h"
|
|
|
|
//セーブデータの検証データが512単位なので
|
|
#define FILEBUFF_SIZE 512
|
|
|
|
//クラス宣言
|
|
class CsmSaveFile
|
|
{
|
|
public:
|
|
char PrdCode[20];
|
|
private:
|
|
bool finalized;
|
|
s64 pos_card;//カードのリード位置
|
|
//ドライバの仕様で速度的に4バイトアラインした方がいい(SDK 0.14.23 時点)
|
|
char fileBuffer[FILEBUFF_SIZE] NN_ATTRIBUTE_ALIGN(4);
|
|
char fileBuffer2[FILEBUFF_SIZE] NN_ATTRIBUTE_ALIGN(4);
|
|
private:
|
|
SaveData savedata;
|
|
ExSave exsave;
|
|
MemBak memsave;
|
|
|
|
public:
|
|
CsmSaveFile();
|
|
~CsmSaveFile();
|
|
//void Initialize();
|
|
bool IsExist(TgtDev dev);
|
|
bool Delete(TgtDev dev);
|
|
void Finalize();
|
|
nn::Result LastNnResult(TgtDev dev);
|
|
myResult Mount(TgtDev dev);
|
|
void Unmount(TgtDev dev);
|
|
void Unmount();
|
|
myResult Create(TgtDev dev,u32 entryDir,u32 entryFile);
|
|
void ResetPath(TgtDev dev);
|
|
myResult GetPath(TgtDev dev,wchar_t *path);
|
|
bool Open(TgtDev dev,wchar_t *path);
|
|
bool OpenW(TgtDev dev,wchar_t *path,s64 size=0);
|
|
bool CreateFile(TgtDev dev,wchar_t *path,s64 size);
|
|
void Close(TgtDev dev);
|
|
void Close();
|
|
void CloseW(TgtDev dev);
|
|
s64 FileSize(TgtDev dev);
|
|
s32 Write(TgtDev dev,char *buffer,size_t size);
|
|
s32 Read(TgtDev dev,char *buffer,size_t size);
|
|
myResult Copy(TgtDev dest,TgtDev src,wchar_t *path,wchar_t *pathw = 0);
|
|
myResult OpnCpy(TgtDev dest,TgtDev src,size_t size);
|
|
myResult OpnCmp(TgtDev dest,TgtDev src,size_t size);
|
|
bool stsActive(TgtDev dev);
|
|
bool stsFormatted(TgtDev dev);
|
|
bool MakeDir(TgtDev dev,wchar_t *path,bool *mkdir);
|
|
bool DeleteFile(TgtDev dev,wchar_t *path);
|
|
bool Flush(TgtDev dev);
|
|
//Card
|
|
bool GetPrdCode();
|
|
bool GetInfo(tArcInfo *pinfo,tDcList *pDcList,size_t clsz = 0);
|
|
bool ReadBlock(char* buffer,size_t size);
|
|
myResult Format(tArcInfo *pinfo){return savedata.Format(pinfo);};
|
|
bool Commit(){return savedata.Commit();};
|
|
//SD
|
|
bool SetPos(s64 pos){return exsave.SetPosW(pos);};
|
|
|
|
};
|
|
|
|
|
|
#endif
|
|
|