--- 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])();