diff --git a/dirs.c b/dirs.c index 89fada36cb..3e76c4c252 100644 --- a/dirs.c +++ b/dirs.c @@ -27,9 +27,12 @@ #include "dirs.h" -static char dir_system[PATH_MAX_LENGTH] = {0}; -static char dir_savefile[PATH_MAX_LENGTH] = {0}; -static char dir_savestate[PATH_MAX_LENGTH] = {0}; +static char dir_osk_overlay[PATH_MAX_LENGTH] = {0}; +static char dir_system[PATH_MAX_LENGTH] = {0}; +static char dir_savefile[PATH_MAX_LENGTH] = {0}; +static char dir_savestate[PATH_MAX_LENGTH] = {0}; + +/* empty functions */ bool dir_is_system_empty(void) { @@ -46,6 +49,13 @@ bool dir_is_savestate_empty(void) return string_is_empty(dir_savestate); } +bool dir_is_osk_overlay_empty(void) +{ + return string_is_empty(dir_osk_overlay); +} + +/* get size functions */ + size_t dir_get_system_size(void) { return sizeof(dir_system); @@ -61,6 +71,13 @@ size_t dir_get_savefile_size(void) return sizeof(dir_savefile); } +size_t dir_get_osk_overlay_size(void) +{ + return sizeof(dir_osk_overlay); +} + +/* clear functions */ + void dir_clear_system(void) { *dir_system = '\0'; @@ -76,6 +93,26 @@ void dir_clear_savestate(void) *dir_savestate = '\0'; } +void dir_clear_osk_overlay(void) +{ + *dir_osk_overlay = '\0'; +} + +void dir_clear_all(void) +{ + dir_clear_system(); + dir_clear_osk_overlay(); + dir_clear_savefile(); + dir_clear_savestate(); +} + +/* get ptr functions */ + +char *dir_get_osk_overlay_ptr(void) +{ + return dir_osk_overlay; +} + char *dir_get_savefile_ptr(void) { return dir_savefile; @@ -86,6 +123,18 @@ char *dir_get_system_ptr(void) return dir_system; } +char *dir_get_savestate_ptr(void) +{ + return dir_savestate; +} + +/* get functions */ + +const char *dir_get_osk_overlay(void) +{ + return dir_osk_overlay; +} + const char *dir_get_system(void) { return dir_system; @@ -96,14 +145,17 @@ const char *dir_get_savefile(void) return dir_savefile; } -char *dir_get_savestate_ptr(void) +const char *dir_get_savestate(void) { return dir_savestate; } -const char *dir_get_savestate(void) +/* set functions */ + +void dir_set_osk_overlay(const char *path) { - return dir_savestate; + strlcpy(dir_osk_overlay, path, + sizeof(dir_osk_overlay)); } void dir_set_system(const char *path) @@ -123,10 +175,3 @@ void dir_set_savefile(const char *path) strlcpy(dir_savefile, path, sizeof(dir_savefile)); } - -void dir_clear_all(void) -{ - dir_clear_system(); - dir_clear_savefile(); - dir_clear_savestate(); -} diff --git a/dirs.h b/dirs.h index ef18ff1cfa..b8296c1b5b 100644 --- a/dirs.h +++ b/dirs.h @@ -21,35 +21,31 @@ RETRO_BEGIN_DECLS +/* empty functions */ + bool dir_is_savefile_empty(void); bool dir_is_savestate_empty(void); bool dir_is_system_empty(void); +bool dir_is_osk_overlay_empty(void); + +/* clear functions */ + void dir_clear_system(void); void dir_clear_savefile(void); void dir_clear_savestate(void); -char *dir_get_savefile_ptr(void); +void dir_clear_osk_overlay(void); -const char *dir_get_savefile(void); +void dir_clear_all(void); -char *dir_get_savestate_ptr(void); +/* get size functions */ -const char *dir_get_savestate(void); - -char *dir_get_system_ptr(void); - -const char *dir_get_system(void); - -void dir_set_savefile(const char *path); - -void dir_set_savestate(const char *path); - -void dir_set_system(const char *path); +size_t dir_get_osk_overlay_size(void); size_t dir_get_system_size(void); @@ -57,7 +53,37 @@ size_t dir_get_savestate_size(void); size_t dir_get_savefile_size(void); -void dir_clear_all(void); +/* get ptr functions */ + +char *dir_get_osk_overlay_ptr(void); + +char *dir_get_savefile_ptr(void); + +char *dir_get_savestate_ptr(void); + +char *dir_get_system_ptr(void); + +char *dir_get_osk_overlay_ptr(void); + +/* get functions */ + +const char *dir_get_osk_overlay(void); + +const char *dir_get_savefile(void); + +const char *dir_get_savestate(void); + +const char *dir_get_system(void); + +/* set functions */ + +void dir_set_osk_overlay(const char *path); + +void dir_set_savefile(const char *path); + +void dir_set_savestate(const char *path); + +void dir_set_system(const char *path); RETRO_END_DECLS