rnd-20100619-1-src
[rocksndiamonds.git] / src / libgame / system.h
index cbcf5c86ae4d24abcdbb66d561b17d22fd1f9ed5..06ad220d111a04c3eaf86c23a03487751fe41403 100644 (file)
@@ -73,6 +73,7 @@
 #define DEFAULT_KEY_FOCUS_PLAYER_4     KSYM_F8
 #define DEFAULT_KEY_FOCUS_PLAYER_ALL   KSYM_F9
 #define DEFAULT_KEY_TAPE_EJECT         KSYM_UNDEFINED
+#define DEFAULT_KEY_TAPE_EXTRA         KSYM_UNDEFINED
 #define DEFAULT_KEY_TAPE_STOP          KSYM_UNDEFINED
 #define DEFAULT_KEY_TAPE_PAUSE         KSYM_UNDEFINED
 #define DEFAULT_KEY_TAPE_RECORD                KSYM_UNDEFINED
 #define DEFAULT_KEY_SOUND_SIMPLE       KSYM_UNDEFINED
 #define DEFAULT_KEY_SOUND_LOOPS                KSYM_UNDEFINED
 #define DEFAULT_KEY_SOUND_MUSIC                KSYM_UNDEFINED
+#define DEFAULT_KEY_SNAP_LEFT          KSYM_UNDEFINED
+#define DEFAULT_KEY_SNAP_RIGHT         KSYM_UNDEFINED
+#define DEFAULT_KEY_SNAP_UP            KSYM_UNDEFINED
+#define DEFAULT_KEY_SNAP_DOWN          KSYM_UNDEFINED
 
 /* values for key_status */
 #define KEY_NOT_PRESSED                        FALSE
 #define BUTTON_1                       4
 #define BUTTON_2                       5
 
+#define NUM_PLAYER_ACTIONS             6
+
 /* values for special "focus player" bitmasks */
 #define BIT_SET_FOCUS                  6
 
 
 #define KEY_BUTTON_1           (1 << BUTTON_1)
 #define KEY_BUTTON_2           (1 << BUTTON_2)
+#define KEY_BUTTON_SNAP                KEY_BUTTON_1
+#define KEY_BUTTON_DROP                KEY_BUTTON_2
 #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)
 #define GAME_FRAME_DELAY       20      /* frame delay in milliseconds */
 #define FFWD_FRAME_DELAY       10      /* 200% speed for fast forward */
 #define FRAMES_PER_SECOND      (ONE_SECOND_DELAY / GAME_FRAME_DELAY)
+#define FRAMES_PER_SECOND_SP   35
 
 /* maximum playfield size supported by libgame functions */
 #define MAX_PLAYFIELD_WIDTH    128
@@ -855,6 +865,7 @@ struct SetupShortcutInfo
   Key focus_player_all;
 
   Key tape_eject;
+  Key tape_extra;
   Key tape_stop;
   Key tape_pause;
   Key tape_record;
@@ -863,6 +874,11 @@ struct SetupShortcutInfo
   Key sound_simple;
   Key sound_loops;
   Key sound_music;
+
+  Key snap_left;
+  Key snap_right;
+  Key snap_up;
+  Key snap_down;
 };
 
 struct SetupSystemInfo
@@ -1207,6 +1223,7 @@ Bitmap *CreateBitmap(int, int, int);
 void ReCreateBitmap(Bitmap **, int, int, int);
 void FreeBitmap(Bitmap *);
 void BlitBitmap(Bitmap *, Bitmap *, int, int, int, int, int, int);
+void BlitBitmapTiled(Bitmap *, Bitmap *, int, int, int, int, int, int, int,int);
 void FadeRectangle(Bitmap *bitmap, int, int, int, int, int, int, int,
                   void (*draw_border_function)(void));
 void FillRectangle(Bitmap *, int, int, int, int, Pixel);