mirror of
https://github.com/DarkStore-3DS/Project_CTR.git
synced 2026-07-04 16:59:02 +00:00
makerom v0.6
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
#pragma once
|
||||
|
||||
#ifdef _WIN32
|
||||
#define fs_romfs_char u16
|
||||
#define fs_char wchar_t
|
||||
#define fs_dirent _wdirent
|
||||
#define fs_DIR _WDIR
|
||||
#define fs_readdir _wreaddir
|
||||
#define fs_chdir _wchdir
|
||||
#define fs_opendir _wopendir
|
||||
#define fs_closedir _wclosedir
|
||||
#else
|
||||
#define fs_romfs_char u16
|
||||
#define fs_char char
|
||||
#define fs_dirent dirent
|
||||
#define fs_DIR DIR
|
||||
#define fs_readdir readdir
|
||||
#define fs_chdir chdir
|
||||
#define fs_opendir opendir
|
||||
#define fs_closedir closedir
|
||||
#endif
|
||||
|
||||
|
||||
typedef struct
|
||||
{
|
||||
bool IsDir;
|
||||
fs_char *fs_name;
|
||||
fs_romfs_char *name;
|
||||
u32 name_len;
|
||||
u64 size;
|
||||
FILE *fp;
|
||||
} fs_entry;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
u16 *name;
|
||||
u32 name_len;
|
||||
u64 size;
|
||||
FILE *fp;
|
||||
} fs_file;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
u16 *name;
|
||||
u32 name_len;
|
||||
|
||||
void *dir; // treated as type 'fs_dir'. This officially type 'void' to prevent self referencing problems
|
||||
u32 m_dir;
|
||||
u32 u_dir;
|
||||
|
||||
fs_file *file;
|
||||
u32 m_file;
|
||||
u32 u_file;
|
||||
} fs_dir;
|
||||
|
||||
|
||||
int fs_u8String_to_u16String(u16 **dst, u32 *dst_len, u8 *src, u32 src_len);
|
||||
int fs_u16String_to_u16String(u16 **dst, u32 *dst_len, u16 *src, u32 src_len);
|
||||
int fs_u32String_to_u16String(u16 **dst, u32 *dst_len, u32 *src, u32 src_len);
|
||||
|
||||
int fs_OpenDir(fs_char *fs_path, fs_romfs_char *path, u32 pathlen, fs_dir *dir);
|
||||
void fs_PrintDir(fs_dir *dir, u32 depth);
|
||||
void fs_FreeDir(fs_dir *dir);
|
||||
void fs_FreeFiles(fs_dir *dir);
|
||||
Reference in New Issue
Block a user