rnd-20020510-2-src
[rocksndiamonds.git] / src / libgame / system.h
index 19fdf64538fb42b88e55bac7d30f759065366305..924b906032aa2ff0c8ce0a3896e3304f3939a18a 100644 (file)
 /* default shortcut keys */
 #define DEFAULT_KEY_SAVE_GAME  KSYM_F1
 #define DEFAULT_KEY_LOAD_GAME  KSYM_F2
+#define DEFAULT_KEY_TOGGLE_PAUSE KSYM_space
 
-/* values for move directions */
+/* values for move directions and special "button" keys */
 #define MV_NO_MOVING           0
 #define MV_LEFT                        (1 << 0)
 #define MV_RIGHT               (1 << 1)
 #define MV_UP                  (1 << 2)
 #define MV_DOWN                        (1 << 3)
+#define KEY_BUTTON_1           (1 << 4)
+#define KEY_BUTTON_2           (1 << 5)
+#define KEY_MOTION             (MV_LEFT | MV_RIGHT | MV_UP | MV_DOWN)
+#define KEY_BUTTON             (KEY_BUTTON_1 | KEY_BUTTON_2)
+#define KEY_ACTION             (KEY_MOTION | KEY_BUTTON)
 
 /* values for button status */
 #define MB_NOT_PRESSED         FALSE
@@ -224,19 +230,20 @@ struct VideoSystemInfo
 struct AudioSystemInfo
 {
   boolean sound_available;
-  boolean music_available;
   boolean loops_available;
-  boolean mods_available;
+  boolean music_available;
+
   boolean sound_enabled;
+  boolean sound_deactivated;   /* for temporarily disabling sound */
 
   int soundserver_pipe[2];
   int soundserver_pid;
   char *device_name;
   int device_fd;
 
-  int channels;
+  int num_channels;
   int music_channel;
-  int music_nr;
+  int first_sound_channel;
 };
 
 struct GfxInfo
@@ -293,6 +300,7 @@ struct SetupShortcutInfo
 {
   Key save_game;
   Key load_game;
+  Key toggle_pause;
 };
 
 struct SetupInfo
@@ -443,7 +451,6 @@ inline void CloseVideoDisplay(void);
 inline void InitVideoBuffer(DrawBuffer **,DrawWindow **, int,int,int, boolean);
 inline Bitmap *CreateBitmapStruct(void);
 inline Bitmap *CreateBitmap(int, int, int);
-inline void TransferBitmapPointers(Bitmap *, Bitmap *);
 inline void FreeBitmap(Bitmap *);
 inline void BlitBitmap(Bitmap *, Bitmap *, int, int, int, int, int, int);
 inline void ClearRectangle(Bitmap *, int, int, int, int);
@@ -466,7 +473,7 @@ inline boolean ChangeVideoModeIfNeeded(boolean);
 
 Bitmap *LoadImage(char *);
 Bitmap *LoadCustomImage(char *);
-Bitmap *ReloadCustomImage(Bitmap **, char *);
+void ReloadCustomImage(Bitmap *, char *);
 
 inline void OpenAudio(void);
 inline void CloseAudio(void);