mirror of
https://github.com/ClassiCube/ClassiCube.git
synced 2025-09-09 07:18:34 -04:00
Consoles: Save option changes immediately
This commit is contained in:
parent
bc9b97aeba
commit
52c3450e32
71
src/Core.h
71
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
|
||||
|
||||
|
@ -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);
|
||||
|
@ -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();
|
||||
}
|
||||
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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. */
|
||||
|
@ -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) {
|
||||
|
@ -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"
|
||||
|
Loading…
x
Reference in New Issue
Block a user