rnd-20001203-4-src
[rocksndiamonds.git] / src / libgame / system.h
index 25eb0c66c485d83b157228f48dd009e1cb59d2b8..9899f7280d5863d9b5b0f23c5701147c81b4a29b 100644 (file)
 #define FULLSCREEN_NOT_AVAILABLE       FALSE
 #define FULLSCREEN_AVAILABLE           TRUE
 
+/* values for button_status */
+#define MB_NOT_PRESSED         FALSE
+#define MB_RELEASED            FALSE
+#define MB_PRESSED             TRUE
+#define MB_MENU_CHOICE         FALSE
+#define MB_MENU_MARK           TRUE
+#define MB_MENU_INITIALIZE     (-1)
+#define MB_LEFTBUTTON          1
+#define MB_MIDDLEBUTTON                2
+#define MB_RIGHTBUTTON         3
 
 /* values for redraw_mask */
+#define REDRAW_NONE            (0)
 #define REDRAW_ALL             (1 << 0)
 #define REDRAW_FIELD           (1 << 1)
 #define REDRAW_TILES           (1 << 2)
@@ -71,13 +82,17 @@ typedef int (*EventFilter)(const Event *);
 
 struct ProgramInfo
 {
-  char *command_name;
+  char *command_basename;
+  char *userdata_directory;
+
   char *program_title;
   char *window_title;
   char *icon_title;
   char *x11_icon_filename;
   char *x11_iconmask_filename;
   char *msdos_pointer_filename;
+
+  void (*exit_function)(int);
 };
 
 struct OptionInfo
@@ -112,7 +127,7 @@ struct AudioSystemInfo
   int device_fd;
 };
 
-struct PlayfieldInfo
+struct GfxInfo
 {
   int sx, sy;
   int sxsize, sysize;
@@ -128,6 +143,7 @@ struct PlayfieldInfo
 };
 
 
+#if 0
 /* ========================================================================= */
 /* exported variables                                                        */
 /* ========================================================================= */
@@ -136,7 +152,7 @@ extern struct ProgramInfo   program;
 extern struct OptionInfo       options;
 extern struct VideoSystemInfo  video;
 extern struct AudioSystemInfo  audio;
-extern struct PlayfieldInfo    playfield;
+extern struct GfxInfo          gfx;
 
 extern Display        *display;
 extern Visual         *visual;
@@ -147,21 +163,28 @@ extern DrawWindow window;
 extern DrawBuffer      backbuffer;
 extern DrawBuffer      drawto;
 
+extern int             button_status;
+extern boolean         motion_status;
+
 extern int             redraw_mask;
 extern int             redraw_tiles;
 
 extern int             FrameCounter;
 
+#endif
 
 /* function definitions */
 
-inline void InitProgramInfo(char *, char *, char *, char *, char *, char *,
-                           char *);
+void InitCommandName(char *);
+void InitExitFunction(void (*exit_function)(int));
+void InitPlatformDependantStuff(void);
+
+void InitProgramInfo(char *, char *, char *, char *, char *, char *, char *);
 
-inline void InitPlayfieldInfo(int, int, int, int, int, int, int, int);
-inline void InitDoor1Info(int, int, int, int);
-inline void InitDoor2Info(int, int, int, int);
-inline void InitScrollbufferInfo(int, int);
+void InitGfxFieldInfo(int, int, int, int, int, int, int, int);
+void InitGfxDoor1Info(int, int, int, int);
+void InitGfxDoor2Info(int, int, int, int);
+void InitGfxScrollbufferInfo(int, int);
 
 inline void InitVideoDisplay(void);
 inline void InitVideoBuffer(DrawBuffer *,DrawWindow *, int, int, int, boolean);