rnd-20131202-1-src
[rocksndiamonds.git] / src / libgame / system.h
index 98225eae1d4c4bff71a029823facd8bdae9a98e4..e3454997cc1d83afa841c2a9ca48045845a720d3 100644 (file)
 
 
 /* type definitions */
+#if defined(TARGET_SDL2)
+typedef int (*EventFilter)(void *, Event *);
+#else
 typedef int (*EventFilter)(const Event *);
+#endif
 
 
 /* structure definitions */
 
 struct ProgramInfo
 {
-  char *command_basepath;      /* directory that contains the program */
+  char *command_basepath;      /* path to the program binary */
   char *command_basename;      /* base filename of the program binary */
 
+  char *maindata_path;         /* main game data (installation) directory */
+
   char *userdata_subdir;       /* personal user game data directory */
   char *userdata_subdir_unix;  /* personal user game data directory (Unix) */
   char *userdata_path;         /* resulting full path to game data directory */
@@ -677,6 +683,7 @@ struct ProgramInfo
   int version_minor;
   int version_patch;
 
+  void (*exit_message_function)(char *, va_list);
   void (*exit_function)(int);
 };
 
@@ -1216,6 +1223,9 @@ extern DrawBuffer        *drawto;
 
 extern int                     button_status;
 extern boolean                 motion_status;
+#if defined(TARGET_SDL2)
+extern boolean                 keyrepeat_status;
+#endif
 
 extern int                     redraw_mask;
 extern int                     redraw_tiles;
@@ -1228,6 +1238,7 @@ extern int                        FrameCounter;
 void InitProgramInfo(char *, char *, char *, char *, char *, char *, char *,
                     char *, char *, char *, char *, char *, int);
 
+void InitExitMessageFunction(void (*exit_message_function)(char *, va_list));
 void InitExitFunction(void (*exit_function)(int));
 void InitPlatformDependentStuff(void);
 void ClosePlatformDependentStuff(void);