added detecting use of touch device for user input on current platform
authorHolger Schemel <info@artsoft.org>
Sun, 3 Mar 2019 17:06:40 +0000 (18:06 +0100)
committerHolger Schemel <info@artsoft.org>
Sun, 3 Mar 2019 17:06:40 +0000 (18:06 +0100)
src/events.c
src/init.c
src/libgame/system.c
src/libgame/system.h

index 8279f70fb223bba859d2203823528650d7b40ef4..b94e57c5cbfbce47c600abc665a2ac96c09f3439 100644 (file)
@@ -1016,6 +1016,8 @@ void HandleFingerEvent(FingerEvent *event)
        event->pressure);
 #endif
 
+  runtime.uses_touch_device = TRUE;
+
   if (game_status != GAME_MODE_PLAYING)
     return;
 
index 3f060862a525d58b3a7c8c6d94cbed331db9f1f5..683bacdb44dcf328f2ce18389100ffe4a809de46 100644 (file)
@@ -6061,6 +6061,8 @@ void OpenAll(void)
 
   InitNetworkSettings();
 
+  InitRuntimeInfo();
+
   if (network.serveronly)
   {
 #if defined(PLATFORM_UNIX)
index de973c7316d69a9516a58c8bd505d6e5e069fe07..488e838e8c4b82650edbcd48caee246420f1c6d8 100644 (file)
@@ -30,6 +30,7 @@
 
 struct ProgramInfo     program;
 struct NetworkInfo     network;
+struct RuntimeInfo     runtime;
 struct OptionInfo      options;
 struct VideoSystemInfo video;
 struct AudioSystemInfo audio;
@@ -114,6 +115,11 @@ void InitNetworkInfo(boolean enabled, boolean connected, boolean serveronly,
   network.server_port = server_port;
 }
 
+void InitRuntimeInfo()
+{
+  runtime.uses_touch_device = FALSE;
+}
+
 void InitScoresInfo(void)
 {
   char *global_scores_dir = getPath2(getCommonDataDir(), SCORES_DIRECTORY);
index afb90b7a159a37014a35a43e6f7801876bb2ab9e..50dc573630763b6f3459a795a7f1b72e1898a217 100644 (file)
@@ -942,6 +942,11 @@ struct NetworkInfo
 
 };
 
+struct RuntimeInfo
+{
+  boolean uses_touch_device;
+};
+
 struct OptionInfo
 {
   char *server_host;
@@ -1688,6 +1693,7 @@ struct LevelStats
 
 extern struct ProgramInfo      program;
 extern struct NetworkInfo      network;
+extern struct RuntimeInfo      runtime;
 extern struct OptionInfo       options;
 extern struct VideoSystemInfo  video;
 extern struct AudioSystemInfo  audio;
@@ -1726,6 +1732,7 @@ extern int                        FrameCounter;
 void InitProgramInfo(char *, char *, char *, char *, char *, char *, char *,
                     char *, int);
 void InitNetworkInfo(boolean, boolean, boolean, char *, int);
+void InitRuntimeInfo(void);
 
 void InitScoresInfo(void);
 void SetWindowTitle(void);