rnd-20021027-1-src
[rocksndiamonds.git] / src / main.h
index 7b82f5e3a138adc4801cf5273e064a22b90fad14..af0b57cfd3ecf6ca0e297993b43ff2a5b9110401 100644 (file)
 #define TAPE_IS_STOPPED(x)     (!(x).recording && !(x).playing)
 
 #define PLAYERINFO(x,y)                (&stored_player[StorePlayer[x][y]-EL_PLAYER1])
-#define SHIELD_ON(p)           ((p)->shield_passive_time_left > 0)
+#define SHIELD_ON(p)           ((p)->shield_normal_time_left > 0)
 #define PROTECTED_FIELD(x,y)   (IS_TUBE(Feld[x][y]))
 #define PLAYER_PROTECTED(x,y)  (SHIELD_ON(PLAYERINFO(x, y)) ||         \
                                 PROTECTED_FIELD(x, y))
 
+#define PLAYER_NR_GFX(g,i)     ((g) + i * (IMG_PLAYER2 - IMG_PLAYER1))
+
+
+#if 0
+
+/* Bitmaps with graphic file */
+#define PIX_BACK               0
+#define PIX_DOOR               1
+#define PIX_TOONS              2
+#define PIX_FONT_BIG           3
+#define PIX_FONT_SMALL         4
+#define PIX_FONT_MEDIUM                5
+#define PIX_FONT_EM            6
+/* Bitmaps without graphic file */
+#define PIX_DB_DOOR            7
+#define PIX_DB_FIELD           8
+
+#define NUM_PICTURES           7
+#define NUM_BITMAPS            9
+
+#else
+
 /* Bitmaps with graphic file */
 #define PIX_BACK               0
 #define PIX_ELEMENTS           1
 #define NUM_PICTURES           12
 #define NUM_BITMAPS            14
 
+#endif
+
 /* boundaries of arrays etc. */
 #define MAX_LEVEL_NAME_LEN     32
 #define MAX_LEVEL_AUTHOR_LEN   32
 #define MICRO_GFX_PER_LINE     16
 
 #define MINI_FONT_STARTX       0
-#define MINI_FONT_STARTY       128
-#define MICRO_FONT_STARTX      408
-#define MICRO_FONT_STARTY      128
+#define MINI_FONT_STARTY       160
+#define MICRO_FONT_STARTX      384
+#define MICRO_FONT_STARTY      160
 
 #define HEROES_PER_LINE                16
 
 
 #define EL_BLOCKED                     (EL_FIRST_RUNTIME_UNREAL + 0)
 #define EL_EXPLOSION                   (EL_FIRST_RUNTIME_UNREAL + 1)
-#define EL_CRACKINGNUT                 (EL_FIRST_RUNTIME_UNREAL + 2)
-#define EL_ACID_SPLASHING_LEFT         (EL_FIRST_RUNTIME_UNREAL + 3)
-#define EL_ACID_SPLASHING_RIGHT                (EL_FIRST_RUNTIME_UNREAL + 4)
+#define EL_NUT_CRACKING                        (EL_FIRST_RUNTIME_UNREAL + 2)
+#define EL_ACID_SPLASH_LEFT            (EL_FIRST_RUNTIME_UNREAL + 3)
+#define EL_ACID_SPLASH_RIGHT           (EL_FIRST_RUNTIME_UNREAL + 4)
 #define EL_AMOEBA_CREATING             (EL_FIRST_RUNTIME_UNREAL + 5)
 #define EL_AMOEBA_SHRINKING            (EL_FIRST_RUNTIME_UNREAL + 6)
 #define EL_WALL_GROWING_ACTIVE         (EL_FIRST_RUNTIME_UNREAL + 7)
 #define GFX_ARG_OFFSET                         2
 #define GFX_ARG_VERTICAL                       3
 #define GFX_ARG_FRAMES                         4
-#define GFX_ARG_DELAY                          5
-#define GFX_ARG_MODE_LOOP                      6
-#define GFX_ARG_MODE_LINEAR                    7
-#define GFX_ARG_MODE_PINGPONG                  8
-#define GFX_ARG_MODE_PINGPONG2                 9
-#define GFX_ARG_MODE_REVERSE                   10
-#define GFX_ARG_GLOBAL_SYNC                    11
+#define GFX_ARG_START_FRAME                    5
+#define GFX_ARG_DELAY                          6
+#define GFX_ARG_MODE_LOOP                      7
+#define GFX_ARG_MODE_LINEAR                    8
+#define GFX_ARG_MODE_PINGPONG                  9
+#define GFX_ARG_MODE_PINGPONG2                 10
+#define GFX_ARG_MODE_REVERSE                   11
+#define GFX_ARG_GLOBAL_SYNC                    12
 
 /* values for sound configuration suffixes */
 /* (currently none) */
@@ -1471,8 +1496,8 @@ struct PlayerInfo
   int key[4];
   int dynamite;
   int dynabomb_count, dynabomb_size, dynabombs_left, dynabomb_xl;
-  int shield_passive_time_left;
-  int shield_active_time_left;
+  int shield_normal_time_left;
+  int shield_deadly_time_left;
 };
 
 struct LevelInfo
@@ -1586,6 +1611,7 @@ struct NewGraphicInfo
   int src_x, src_y;            /* derived from (tile sized) .xpos/.ypos */
   int offset_x, offset_y;      /* x/y offset to next animation frame */
   int anim_frames;
+  int anim_start_frame;
   int anim_delay;              /* important: delay of 1 means "no delay"! */
   int anim_mode;
   boolean anim_global_sync;