Fix last commit

This commit is contained in:
UnknownShadow200 2023-11-25 15:32:55 +11:00
parent 52c3450e32
commit 293b11d779
2 changed files with 15 additions and 5 deletions

View File

@ -283,6 +283,7 @@ typedef cc_uint8 cc_bool;
#define CC_BUILD_OPENAL #define CC_BUILD_OPENAL
#define CC_BUILD_HTTPCLIENT #define CC_BUILD_HTTPCLIENT
#define CC_BUILD_BEARSSL #define CC_BUILD_BEARSSL
#define CC_BUILD_COOPTHREADED
#define CC_BUILD_LOWMEM #define CC_BUILD_LOWMEM
#define CC_BUILD_CONSOLE #define CC_BUILD_CONSOLE
#elif defined __vita__ #elif defined __vita__
@ -300,23 +301,23 @@ typedef cc_uint8 cc_bool;
#define CC_BUILD_CONSOLE #define CC_BUILD_CONSOLE
#elif defined PLAT_PS3 #elif defined PLAT_PS3
#define CC_BUILD_PS3 #define CC_BUILD_PS3
#define CC_BUILD_HTTPCLIENT
#define CC_BUILD_OPENAL #define CC_BUILD_OPENAL
#define CC_BUILD_HTTPCLIENT
#define CC_BUILD_LOWMEM #define CC_BUILD_LOWMEM
#define CC_BUILD_BEARSSL #define CC_BUILD_BEARSSL
#define CC_BUILD_CONSOLE #define CC_BUILD_CONSOLE
#elif defined N64 #elif defined N64
#define CC_BIG_ENDIAN #define CC_BIG_ENDIAN
#define CC_BUILD_N64 #define CC_BUILD_N64
#define CC_BUILD_HTTPCLIENT
#define CC_BUILD_OPENAL #define CC_BUILD_OPENAL
#define CC_BUILD_HTTPCLIENT
#define CC_BUILD_COOPTHREADED #define CC_BUILD_COOPTHREADED
#define CC_BUILD_LOWMEM #define CC_BUILD_LOWMEM
#define CC_BUILD_CONSOLE #define CC_BUILD_CONSOLE
#elif defined PLAT_PS2 #elif defined PLAT_PS2
#define CC_BUILD_PS2 #define CC_BUILD_PS2
#define CC_BUILD_HTTPCLIENT
#define CC_BUILD_OPENAL #define CC_BUILD_OPENAL
#define CC_BUILD_HTTPCLIENT
#define CC_BUILD_COOPTHREADED #define CC_BUILD_COOPTHREADED
#define CC_BUILD_LOWMEM #define CC_BUILD_LOWMEM
#define CC_BUILD_CONSOLE #define CC_BUILD_CONSOLE

View File

@ -12,6 +12,9 @@ struct StringsBuffer Options;
static struct StringsBuffer changedOpts; static struct StringsBuffer changedOpts;
cc_result Options_LoadResult; cc_result Options_LoadResult;
static cc_bool savingPaused; static cc_bool savingPaused;
#if defined CC_BUILD_WEB || defined CC_BUILD_MOBILE || defined CC_BUILD_CONSOLE
#define OPTIONS_SAVE_IMMEDIATELY
#endif
void Options_Free(void) { void Options_Free(void) {
StringsBuffer_Clear(&Options); StringsBuffer_Clear(&Options);
@ -64,7 +67,6 @@ static void SaveOptions(void) {
} }
void Options_SaveIfChanged(void) { void Options_SaveIfChanged(void) {
savingPaused = false;
if (!changedOpts.count) return; if (!changedOpts.count) return;
Options_Reload(); Options_Reload();
@ -73,6 +75,13 @@ void Options_SaveIfChanged(void) {
void Options_PauseSaving(void) { savingPaused = true; } void Options_PauseSaving(void) { savingPaused = true; }
void Options_ResumeSaving(void) {
savingPaused = false;
#if defined OPTIONS_SAVE_IMMEDIATELY
SaveOptions();
#endif
}
cc_bool Options_UNSAFE_Get(const char* keyRaw, cc_string* value) { cc_bool Options_UNSAFE_Get(const char* keyRaw, cc_string* value) {
int idx; int idx;
@ -176,7 +185,7 @@ void Options_SetString(const cc_string* key, const cc_string* value) {
EntryList_Set(&Options, key, value, '='); EntryList_Set(&Options, key, value, '=');
} }
#if defined CC_BUILD_WEB || defined CC_BUILD_MOBILE || defined CC_BUILD_CONSOLE #if defined OPTIONS_SAVE_IMMEDIATELY
if (!savingPaused) SaveOptions(); if (!savingPaused) SaveOptions();
#endif #endif