rnd-20031228-1-src
[rocksndiamonds.git] / src / main.h
index 0ed5442c24d24f33728a0b7b4cb8b4e31f44ef37..bb85b0ccf017add7642edf2bd93f9c4b01bbb98a 100644 (file)
 #define MV_BIT_WHEN_PUSHED     10
 #define MV_BIT_MAZE_RUNNER     11
 #define MV_BIT_MAZE_HUNTER     12
+#define MV_BIT_PROJECTILE      13
+#define MV_BIT_TURNING_LEFT_RIGHT 14
+#define MV_BIT_TURNING_RIGHT_LEFT 15
+#define MV_BIT_TURNING_RANDOM  16
 
 /* values for special move patterns for custom elements */
 #define MV_HORIZONTAL          (MV_LEFT | MV_RIGHT)
 #define MV_MAZE_RUNNER         (1 << MV_BIT_MAZE_RUNNER)
 #define MV_MAZE_HUNTER         (1 << MV_BIT_MAZE_HUNTER)
 #define MV_MAZE_RUNNER_STYLE   (MV_MAZE_RUNNER | MV_MAZE_HUNTER)
+#define MV_PROJECTILE          (1 << MV_BIT_PROJECTILE)
+#define MV_TURNING_LEFT_RIGHT  (1 << MV_BIT_TURNING_LEFT_RIGHT)
+#define MV_TURNING_RIGHT_LEFT  (1 << MV_BIT_TURNING_RIGHT_LEFT)
+#define MV_TURNING_RANDOM      (1 << MV_BIT_TURNING_RANDOM)
 
 /* values for slippery property for custom elements */
 #define SLIPPERY_ANY_RANDOM    0
 
 #define PROGRAM_VERSION_MAJOR  3
 #define PROGRAM_VERSION_MINOR  0
-#define PROGRAM_VERSION_PATCH  8
+#define PROGRAM_VERSION_PATCH  9
 #define PROGRAM_VERSION_BUILD  0
 
 #define PROGRAM_TITLE_STRING   "Rocks'n'Diamonds"
@@ -1177,7 +1185,7 @@ struct PlayerInfo
 {
   boolean present;             /* player present in level playfield */
   boolean connected;           /* player connected (locally or via network) */
-  boolean active;              /* player (present && connected) */
+  boolean active;              /* player present and connected */
 
   int index_nr, client_nr, element_nr;
 
@@ -1217,6 +1225,7 @@ struct PlayerInfo
   int anim_delay_counter;
   int post_delay_counter;
 
+  int action_waiting, last_action_waiting;
   int special_action_bored;
   int special_action_sleeping;
 
@@ -1235,6 +1244,8 @@ struct PlayerInfo
 
   unsigned long actual_frame_counter;
 
+  int drop_delay;
+
   int step_counter;
 
   int score;
@@ -1545,7 +1556,12 @@ struct MusicPrefixInfo
 
 struct MusicFileInfo
 {
-  char *context;
+  char *basename;
+
+  char *title_header;
+  char *artist_header;
+  char *album_header;
+  char *year_header;
 
   char *title;
   char *artist;
@@ -1554,6 +1570,8 @@ struct MusicFileInfo
 
   int music;
 
+  boolean is_sound;
+
   struct MusicFileInfo *next;
 };