mirror of
https://github.com/DarkStore-3DS/Project_CTR.git
synced 2026-07-03 00:39:14 +00:00
[makerom/ctrool] Implemented ROMFS unicode support. (oschar.c)
This commit is contained in:
+9
-42
@@ -1,39 +1,18 @@
|
||||
#pragma once
|
||||
|
||||
#ifdef _WIN32
|
||||
#define 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
|
||||
#define FS_PATH_SEPARATOR '\\'
|
||||
#else
|
||||
#define 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
|
||||
#define FS_PATH_SEPARATOR '/'
|
||||
#endif
|
||||
#include "oschar.h"
|
||||
|
||||
struct romfs_file
|
||||
{
|
||||
fs_char *path;
|
||||
romfs_char *name;
|
||||
oschar_t *path;
|
||||
utf16char_t *name;
|
||||
u32 namesize;
|
||||
u64 size;
|
||||
};
|
||||
|
||||
struct romfs_dir
|
||||
{
|
||||
fs_char *path;
|
||||
romfs_char *name;
|
||||
oschar_t *path;
|
||||
utf16char_t *name;
|
||||
u32 namesize;
|
||||
|
||||
struct romfs_dir *child;
|
||||
@@ -48,22 +27,10 @@ struct romfs_dir
|
||||
typedef struct romfs_file romfs_file;
|
||||
typedef struct romfs_dir romfs_dir;
|
||||
|
||||
static const romfs_char ROMFS_EMPTY_PATH[2] = { 0 };
|
||||
static const fs_char FS_EMPTY_PATH[2] = { 0 };
|
||||
static const fs_char FS_CURRENT_DIR_PATH[2] = { '.' };
|
||||
static const fs_char FS_PARENT_DIR_PATH[3] = { '.', '.' };
|
||||
|
||||
u32 romfs_strlen(const romfs_char *str);
|
||||
u32 fs_strlen(const fs_char *str);
|
||||
int fs_strcmp(const fs_char *str1, const fs_char *str2);
|
||||
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_CopyStr(const fs_char *src);
|
||||
romfs_char* romfs_CopyStr(const romfs_char *src);
|
||||
void fs_fputs(const fs_char *str, FILE *out);
|
||||
void romfs_fputs(const romfs_char *str, FILE *out);
|
||||
static const utf16char_t ROMFS_EMPTY_PATH[2] = { 0 };
|
||||
static const oschar_t OS_EMPTY_PATH[2] = { 0 };
|
||||
static const oschar_t OS_CURRENT_DIR_PATH[2] = { '.' };
|
||||
static const oschar_t OS_PARENT_DIR_PATH[3] = { '.', '.' };
|
||||
|
||||
int OpenRootDir(const char *path, romfs_dir *dir);
|
||||
void PrintDir(romfs_dir *dir, u32 depth);
|
||||
|
||||
Reference in New Issue
Block a user