2018-01-21 21:51:04 +00:00
|
|
|
#ifndef GUARD_FILE_SYSTEM_H
|
|
|
|
#define GUARD_FILE_SYSTEM_H
|
|
|
|
|
|
|
|
struct File
|
|
|
|
{
|
|
|
|
char *name;
|
|
|
|
u8 *data;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct OpenedFile
|
|
|
|
{
|
|
|
|
struct File *file;
|
|
|
|
u8 *data;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct FileArchive
|
|
|
|
{
|
|
|
|
char magic[8];
|
|
|
|
s32 count;
|
|
|
|
struct File *entries;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct SiroArchive
|
|
|
|
{
|
|
|
|
u32 magic;
|
|
|
|
u8 *data;
|
|
|
|
};
|
|
|
|
|
2020-09-21 06:40:48 +00:00
|
|
|
struct UnkFileStruct1
|
|
|
|
{
|
|
|
|
/* 0x0 */ u32 unk0;
|
|
|
|
/* 0x4 */ u32 unk4;
|
|
|
|
};
|
|
|
|
|
2023-08-06 07:10:51 +00:00
|
|
|
void InitFileSystem(void);
|
2018-01-21 21:51:04 +00:00
|
|
|
struct OpenedFile *OpenFile(const char *filename, const struct FileArchive *arc);
|
|
|
|
u8 *GetFileDataPtr(struct OpenedFile *openedFile, int unused);
|
|
|
|
struct OpenedFile *OpenFileAndGetFileDataPtr(const char *filename, const struct FileArchive *arc);
|
|
|
|
struct OpenedFile *Call_OpenFileAndGetFileDataPtr(const char *filename, const struct FileArchive *arc);
|
2021-07-26 04:11:01 +00:00
|
|
|
u32 DecompressATFile(char *result, s32 resultLength, struct OpenedFile *file);
|
2020-12-28 03:23:40 +00:00
|
|
|
void CloseFile(struct OpenedFile *openedFile);
|
2022-11-18 23:14:06 +00:00
|
|
|
u32 DecompressATGlobalFile(u32 *result, s32 resultLength, struct OpenedFile *file);
|
2018-01-21 21:51:04 +00:00
|
|
|
|
|
|
|
#endif //GUARD_FILE_SYSTEM_H
|