diff --git a/src/Core.h b/src/Core.h index 7ab0a8e66..868969b6f 100644 --- a/src/Core.h +++ b/src/Core.h @@ -126,18 +126,18 @@ typedef cc_uint8 cc_bool; #define CC_BUILD_XBOX #define CC_BUILD_NOMUSIC #define CC_BUILD_NOSOUNDS - #define CC_BUILD_LOWMEM #define CC_BUILD_HTTPCLIENT #define CC_BUILD_BEARSSL - #undef CC_BUILD_FREETYPE + #define CC_BUILD_LOWMEM + #define CC_BUILD_CONSOLE #elif defined XENON /* libxenon also defines __linux__ (yes, really) */ #define CC_BUILD_XBOX360 #define CC_BUILD_NOMUSIC #define CC_BUILD_NOSOUNDS - #define CC_BUILD_LOWMEM #define CC_BUILD_HTTPCLIENT - #undef CC_BUILD_FREETYPE + #define CC_BUILD_LOWMEM + #define CC_BUILD_CONSOLE #elif defined _WIN32 #define CC_BUILD_WIN #define CC_BUILD_D3D9 @@ -265,62 +265,61 @@ typedef cc_uint8 cc_bool; #define CC_BUILD_COOPTHREADED #undef CC_BUILD_FREETYPE #elif defined __psp__ - #define CC_BUILD_HTTPCLIENT - #define CC_BUILD_OPENAL #define CC_BUILD_PSP - #define CC_BUILD_LOWMEM + #define CC_BUILD_OPENAL + #define CC_BUILD_HTTPCLIENT #define CC_BUILD_BEARSSL - #undef CC_BUILD_FREETYPE + #define CC_BUILD_LOWMEM + #define CC_BUILD_CONSOLE #elif defined __3DS__ - #define CC_BUILD_HTTPCLIENT - #define CC_BUILD_OPENAL #define CC_BUILD_3DS - #define CC_BUILD_LOWMEM + #define CC_BUILD_OPENAL + #define CC_BUILD_HTTPCLIENT #define CC_BUILD_BEARSSL - #undef CC_BUILD_FREETYPE + #define CC_BUILD_LOWMEM + #define CC_BUILD_CONSOLE #elif defined GEKKO - #define CC_BUILD_HTTPCLIENT - #define CC_BUILD_OPENAL #define CC_BUILD_GCWII - #define CC_BUILD_LOWMEM + #define CC_BUILD_OPENAL + #define CC_BUILD_HTTPCLIENT #define CC_BUILD_BEARSSL - #define CC_BUILD_COOPTHREADED - #undef CC_BUILD_FREETYPE + #define CC_BUILD_LOWMEM + #define CC_BUILD_CONSOLE #elif defined __vita__ - #define CC_BUILD_HTTPCLIENT - #define CC_BUILD_OPENAL #define CC_BUILD_PSVITA - #define CC_BUILD_LOWMEM + #define CC_BUILD_OPENAL + #define CC_BUILD_HTTPCLIENT #define CC_BUILD_BEARSSL - #undef CC_BUILD_FREETYPE + #define CC_BUILD_LOWMEM + #define CC_BUILD_CONSOLE #elif defined _arch_dreamcast - #define CC_BUILD_HTTPCLIENT - #define CC_BUILD_OPENAL #define CC_BUILD_DREAMCAST + #define CC_BUILD_OPENAL + #define CC_BUILD_HTTPCLIENT #define CC_BUILD_LOWMEM - #undef CC_BUILD_FREETYPE + #define CC_BUILD_CONSOLE #elif defined PLAT_PS3 + #define CC_BUILD_PS3 #define CC_BUILD_HTTPCLIENT #define CC_BUILD_OPENAL - #define CC_BUILD_PS3 #define CC_BUILD_LOWMEM #define CC_BUILD_BEARSSL - #undef CC_BUILD_FREETYPE + #define CC_BUILD_CONSOLE #elif defined N64 - #define CC_BUILD_HTTPCLIENT - #define CC_BUILD_OPENAL - #define CC_BUILD_N64 - #define CC_BUILD_LOWMEM - #define CC_BUILD_COOPTHREADED #define CC_BIG_ENDIAN - #undef CC_BUILD_FREETYPE -#elif defined PLAT_PS2 + #define CC_BUILD_N64 #define CC_BUILD_HTTPCLIENT #define CC_BUILD_OPENAL - #define CC_BUILD_PS2 - #define CC_BUILD_LOWMEM #define CC_BUILD_COOPTHREADED - #undef CC_BUILD_FREETYPE + #define CC_BUILD_LOWMEM + #define CC_BUILD_CONSOLE +#elif defined PLAT_PS2 + #define CC_BUILD_PS2 + #define CC_BUILD_HTTPCLIENT + #define CC_BUILD_OPENAL + #define CC_BUILD_COOPTHREADED + #define CC_BUILD_LOWMEM + #define CC_BUILD_CONSOLE #endif #endif diff --git a/src/LScreens.c b/src/LScreens.c index dc8fe95f5..7cd8c5bd4 100644 --- a/src/LScreens.c +++ b/src/LScreens.c @@ -521,10 +521,11 @@ static void DirectConnectScreen_StartClient(void* w) { if (!mppass->length) mppass = &defMppass; Options_PauseSaving(); - Options_Set("launcher-dc-username", user); - Options_Set("launcher-dc-ip", &ip); - Options_Set("launcher-dc-port", &port); - Options_SetSecure("launcher-dc-mppass", mppass); + Options_Set("launcher-dc-username", user); + Options_Set("launcher-dc-ip", &ip); + Options_Set("launcher-dc-port", &port); + Options_SetSecure("launcher-dc-mppass", mppass); + Options_ResumeSaving(); LLabel_SetConst(status, ""); Launcher_StartGame(user, mppass, &ip, &port, &String_Empty); diff --git a/src/Launcher.c b/src/Launcher.c index 37759ddd1..393c2682a 100644 --- a/src/Launcher.c +++ b/src/Launcher.c @@ -90,11 +90,12 @@ cc_bool Launcher_StartGame(const cc_string* user, const cc_string* mppass, const /* Save resume info */ if (server->length) { Options_PauseSaving(); - Options_Set(ROPT_SERVER, server); - Options_Set(ROPT_USER, user); - Options_Set(ROPT_IP, ip); - Options_Set(ROPT_PORT, port); - Options_SetSecure(ROPT_MPPASS, mppass); + Options_Set(ROPT_SERVER, server); + Options_Set(ROPT_USER, user); + Options_Set(ROPT_IP, ip); + Options_Set(ROPT_PORT, port); + Options_SetSecure(ROPT_MPPASS, mppass); + Options_ResumeSaving(); } /* Save options BEFORE starting new game process */ /* Otherwise can get 'file already in use' errors on startup */ @@ -359,12 +360,14 @@ CC_NOINLINE static void SaveColor(const char* key, BitmapCol color) { } void Launcher_SaveTheme(void) { - SaveColor("launcher-back-col", Launcher_Theme.BackgroundColor); - SaveColor("launcher-btn-border-col", Launcher_Theme.ButtonBorderColor); - SaveColor("launcher-btn-fore-active-col", Launcher_Theme.ButtonForeActiveColor); - SaveColor("launcher-btn-fore-inactive-col", Launcher_Theme.ButtonForeColor); - SaveColor("launcher-btn-highlight-inactive-col", Launcher_Theme.ButtonHighlightColor); - Options_SetBool("nostalgia-classicbg", Launcher_Theme.ClassicBackground); + Options_PauseSaving(); + SaveColor("launcher-back-col", Launcher_Theme.BackgroundColor); + SaveColor("launcher-btn-border-col", Launcher_Theme.ButtonBorderColor); + SaveColor("launcher-btn-fore-active-col", Launcher_Theme.ButtonForeActiveColor); + SaveColor("launcher-btn-fore-inactive-col", Launcher_Theme.ButtonForeColor); + SaveColor("launcher-btn-highlight-inactive-col", Launcher_Theme.ButtonHighlightColor); + Options_SetBool("nostalgia-classicbg", Launcher_Theme.ClassicBackground); + Options_ResumeSaving(); } diff --git a/src/Options.c b/src/Options.c index baf96118f..231f2cb3b 100644 --- a/src/Options.c +++ b/src/Options.c @@ -176,7 +176,7 @@ void Options_SetString(const cc_string* key, const cc_string* value) { EntryList_Set(&Options, key, value, '='); } -#if defined CC_BUILD_WEB || defined CC_BUILD_ANDROID || defined CC_BUILD_IOS +#if defined CC_BUILD_WEB || defined CC_BUILD_MOBILE || defined CC_BUILD_CONSOLE if (!savingPaused) SaveOptions(); #endif diff --git a/src/Options.h b/src/Options.h index 828af9a58..578e888b0 100644 --- a/src/Options.h +++ b/src/Options.h @@ -109,9 +109,12 @@ void Options_Load(void); CC_API void Options_Reload(void); /* Saves options to disc, if any were changed via Options_SetXYZ since last save. */ CC_API void Options_SaveIfChanged(void); -/* Temporarily prevents saving options until Options_SaveIfChanged is called */ -/* NOTE: Only makes a difference for web/Android/iOS versions */ +/* Temporarily prevents saving options */ +/* NOTE: Only makes a difference on some platforms */ void Options_PauseSaving(void); +/* Enables saving options again */ +/* NOTE: Only makes a difference on some platforms */ +void Options_ResumeSaving(void); /* Sets value to value of option directly in Options.Buffer if found, String_Empty if not. */ /* Returns whether the option was actually found. */ diff --git a/src/Program.c b/src/Program.c index 3133aa952..ffb930315 100644 --- a/src/Program.c +++ b/src/Program.c @@ -138,7 +138,7 @@ void android_main(void) { SetupProgram(0, NULL); for (;;) { RunProgram(0, NULL); } } -#elif defined CC_BUILD_3DS || defined CC_BUILD_PSP || defined CC_BUILD_GCWII || defined CC_BUILD_DREAMCAST || defined CC_BUILD_XBOX || defined CC_BUILD_PSVITA || defined CC_BUILD_PS3 || defined CC_BUILD_N64 || defined CC_BUILD_PS2 +#elif defined CC_BUILD_CONSOLE int main(int argc, char** argv) { SetupProgram(argc, argv); while (WindowInfo.Exists) { diff --git a/src/SystemFonts.c b/src/SystemFonts.c index 0f0ddffa8..7d396a848 100644 --- a/src/SystemFonts.c +++ b/src/SystemFonts.c @@ -34,7 +34,7 @@ struct IGameComponent SystemFonts_Component = { /*########################################################################################################################* *--------------------------------------------------------Freetype---------------------------------------------------------* *#########################################################################################################################*/ -#if defined CC_BUILD_FREETYPE +#if defined CC_BUILD_FREETYPE && !defined CC_BUILD_CONSOLE #include "freetype/ft2build.h" #include "freetype/freetype.h" #include "freetype/ftmodapi.h"