Adding support for a configuration file
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
--- a/src/MacSrc/Shock.c
|
||||
+++ b/src/MacSrc/Shock.c
|
||||
@@ -31,6 +31,7 @@
|
||||
#include <SDL.h>
|
||||
|
||||
#ifdef __ANDROID__
|
||||
+#include "qs_config.h"
|
||||
#include "xr_session.h"
|
||||
#endif
|
||||
|
||||
@@ -109,6 +110,15 @@
|
||||
LoadHotkeyKeybinds();
|
||||
LoadMoveKeybinds();
|
||||
|
||||
+#ifdef __ANDROID__
|
||||
+ // Persistent, human-editable JSON config (questshock.config.json) - see
|
||||
+ // qs_config.h/CONFIG.md. After prefs.txt is loaded (above) so this file
|
||||
+ // can override it, before init_all() below so there's no live-vs-
|
||||
+ // restart distinction to worry about yet - every field just takes full
|
||||
+ // effect as part of this same startup.
|
||||
+ qs_config_load_startup();
|
||||
+#endif
|
||||
+
|
||||
// Process some startup arguments
|
||||
|
||||
bool show_splash = !CheckArgument("-nosplash");
|
||||
--- a/src/Libraries/INPUT/Source/sdl_events.c
|
||||
+++ b/src/Libraries/INPUT/Source/sdl_events.c
|
||||
@@ -29,6 +29,10 @@
|
||||
#include <SDL.h>
|
||||
#include <OpenGL.h>
|
||||
|
||||
+#ifdef __ANDROID__
|
||||
+#include "qs_config.h"
|
||||
+#endif
|
||||
+
|
||||
extern SDL_Window *window;
|
||||
extern SDL_Renderer *renderer;
|
||||
|
||||
@@ -481,6 +485,14 @@
|
||||
SDL_Event ev;
|
||||
|
||||
while (SDL_PollEvent(&ev)) {
|
||||
+#ifdef __ANDROID__
|
||||
+ // Custom event types qs_config_request_save()/_load() enqueue from
|
||||
+ // the "Save Configuration"/"Load Configuration" menu buttons (see
|
||||
+ // qs_config.h) - handled here, on this thread, rather than directly
|
||||
+ // from those JNI calls (which run on Android's UI thread).
|
||||
+ if (qs_config_handle_event(&ev))
|
||||
+ continue;
|
||||
+#endif
|
||||
switch (ev.type) {
|
||||
case SDL_QUIT:
|
||||
// a bit hacky at this place, but this would allow exiting the game via the window's [x] button
|
||||
Reference in New Issue
Block a user