e1e6a006d4
build / build (push) Successful in 2m41s
- Video Options tab offers width and distance presets independently for the Initial Screen (splash/intro/menu) and Game Screen (gameplay) profiles, with their preset step/offset configurable via questshock.config.json. - Ships res/questshock.config.default.json as the initial config on first run (or whenever questshock.config.json doesn't exist yet), refreshed from the APK on every launch without touching a user's own saved config.
31 lines
991 B
Diff
31 lines
991 B
Diff
--- a/src/GameSrc/mainloop.c
|
|
+++ b/src/GameSrc/mainloop.c
|
|
@@ -57,6 +57,10 @@
|
|
#include "tools.h"
|
|
#include "wrapper.h"
|
|
|
|
+#ifdef __ANDROID__
|
|
+#include "qs_config.h"
|
|
+#endif
|
|
+
|
|
// how is the game doing, anyway, set to true at end of time
|
|
uchar cit_success = FALSE;
|
|
|
|
@@ -103,6 +107,16 @@
|
|
_last_mode = *cmode;
|
|
(*exit_modes[_last_mode])();
|
|
*cmode = _new_mode;
|
|
+#ifdef __ANDROID__
|
|
+ // Notifies qs_config.c of every loop-mode transition so it can pick
|
|
+ // between the "Initial Screen" and "Game Screen" virtual-screen
|
|
+ // presets - see qs_config.h/CONFIG.md. Called synchronously, directly,
|
|
+ // on this thread (mainloop()'s own) - unlike the UI-thread-triggered
|
|
+ // config actions elsewhere in qs_config.c, this doesn't need the
|
|
+ // cross-thread SDL-event dance since it already originates on the
|
|
+ // right thread.
|
|
+ qs_screen_profile_notify_loop_mode(*cmode);
|
|
+#endif
|
|
_static_change = 0;
|
|
if (*cmode >= 0)
|
|
(*enter_modes[*cmode])();
|