mirror of
https://github.com/DarkStore-3DS/Project_CTR.git
synced 2026-07-04 00:39:03 +00:00
[makerom] Fixed makerom ROMFS file limitation. +Several bug fixes.
This commit is contained in:
+21
-7
@@ -9,6 +9,7 @@
|
||||
#define fs_chdir _wchdir
|
||||
#define fs_opendir _wopendir
|
||||
#define fs_closedir _wclosedir
|
||||
#define FS_PATH_SEPARATOR '\\'
|
||||
#else
|
||||
#define fs_romfs_char u16
|
||||
#define fs_char char
|
||||
@@ -18,29 +19,30 @@
|
||||
#define fs_chdir chdir
|
||||
#define fs_opendir opendir
|
||||
#define fs_closedir closedir
|
||||
#define FS_PATH_SEPARATOR '/'
|
||||
#endif
|
||||
|
||||
|
||||
struct fs_entry
|
||||
{
|
||||
bool IsDir;
|
||||
fs_char *fs_name;
|
||||
fs_char *fs_path;
|
||||
fs_romfs_char *name;
|
||||
u32 name_len;
|
||||
u64 size;
|
||||
FILE *fp;
|
||||
};
|
||||
|
||||
struct fs_file
|
||||
{
|
||||
fs_char *fs_path;
|
||||
fs_romfs_char *name;
|
||||
u32 name_len;
|
||||
u64 size;
|
||||
FILE *fp;
|
||||
};
|
||||
|
||||
struct fs_dir
|
||||
{
|
||||
fs_char *fs_path;
|
||||
fs_romfs_char *name;
|
||||
u32 name_len;
|
||||
|
||||
@@ -57,9 +59,21 @@ typedef struct fs_entry fs_entry;
|
||||
typedef struct fs_file fs_file;
|
||||
typedef struct fs_dir fs_dir;
|
||||
|
||||
int fs_RomFsStrLen(fs_romfs_char *str);
|
||||
static const fs_romfs_char ROMFS_EMPTY_PATH[2] = { 0 };
|
||||
static const fs_char FS_EMPTY_PATH[2] = { 0 };
|
||||
|
||||
int fs_OpenDir(fs_char *fs_path, fs_romfs_char *path, u32 pathlen, fs_dir *dir);
|
||||
u32 fs_romfs_strlen(const fs_romfs_char *str);
|
||||
u32 fs_strlen(const fs_char *str);
|
||||
FILE* fs_fopen(fs_char *path);
|
||||
u64 fs_fsize(fs_char *path);
|
||||
|
||||
fs_char* fs_AppendToPath(const fs_char *src, const fs_char *add);
|
||||
fs_char* fs_CopyPath(const fs_char *src);
|
||||
fs_romfs_char* fs_CopyRomfsName(const fs_romfs_char *src);
|
||||
void fs_fputs(FILE *out, const fs_char *str);
|
||||
void fs_romfs_fputs(FILE *out, const fs_romfs_char *str);
|
||||
|
||||
int fs_OpenRootDir(const char *path, fs_dir *dir);
|
||||
int fs_OpenDir(fs_entry *entry, fs_dir *dir);
|
||||
void fs_PrintDir(fs_dir *dir, u32 depth);
|
||||
void fs_FreeDir(fs_dir *dir);
|
||||
void fs_FreeFiles(fs_dir *dir);
|
||||
void fs_FreeDir(fs_dir *dir);
|
||||
Reference in New Issue
Block a user