rnd-20020430-1-src
[rocksndiamonds.git] / src / main.h
index 416ba9f2308c21090ca24b846c25fa8eb3868fc4..a820598a929e7d4ca06c2a779be55f39282302a6 100644 (file)
 #define IS_DRAWABLE(e)         ((e) < EL_BLOCKED)
 #define IS_NOT_DRAWABLE(e)     ((e) >= EL_BLOCKED)
 #define TAPE_IS_EMPTY(x)       ((x).length == 0)
-#define TAPE_IS_STOPPED(x)     (!(x).recording && !(x).playing &&!(x).pausing)
+#define TAPE_IS_STOPPED(x)     (!(x).recording && !(x).playing)
 
 #define PLAYERINFO(x,y)                (&stored_player[StorePlayer[x][y]-EL_SPIELER1])
 #define SHIELD_ON(p)           ((p)->shield_passive_time_left > 0)
@@ -234,12 +234,12 @@ struct PlayerInfo
   boolean LevelSolved, GameOver;
   boolean snapped;
 
-  unsigned long move_delay;
-  int move_delay_value;
-
   int last_move_dir;
   int is_moving;
 
+  unsigned long move_delay;
+  int move_delay_value;
+
   unsigned long push_delay;
   unsigned long push_delay_value;
 
@@ -304,6 +304,7 @@ struct TapeInfo
   boolean fast_forward;
   boolean index_search;
   boolean quick_resume;
+  boolean single_step;
   boolean changed;
   boolean player_participates[MAX_PLAYERS];
   int num_participating_players;
@@ -396,9 +397,9 @@ extern struct TapeInfo              tape;
 extern struct GameInfo         game;
 extern struct GlobalInfo       global;
 
+extern struct SoundEffectInfo  sound_effects[];
+
 extern char            *sound_name[];
-extern int             background_loop[];
-extern int             num_bg_loops;
 extern char            *element_info[];
 extern int             num_element_info;
 
@@ -1439,6 +1440,112 @@ extern int              num_element_info;
 
 #define NUM_SOUNDS             55
 
+
+/* sound effects */
+#define SND_TEST1              0
+#define SND_TEST2              1
+#define SND_TEST3              2
+
+#define NUM_SOUND_EFFECTS      3
+
+
+#define SND_AMOEBA_GROWING             0
+#define SND_PLAYER_SCREAMING           0
+#define SND_ACID_SPLASHING             0
+#define SND_MOLE_EATING_AMOEBA         0
+#define SND_PENGUIN_ENTERING_EXIT      0
+#define SND_PLAYER_ENTERING_EXIT       0
+#define SND_PLAYER_SOLVING_SOKOBAN     0
+#define SND_TIME_ORB_FULL_IMPACT       0
+#define SND_TIME_ORB_EMPTY_IMPACT      0
+#define SND_ELECTRIC_BULB_LIGHT                0
+#define SND_SOKOBAN_FIELD_FILLING      0
+#define SND_LEVELTIME_RUNNING_OUT      0
+#define SND_EXTRA_TIME_COLLECTING      0
+#define SND_TIME_ORB_FULL_COLLECTING   0
+#define SND_MENU_HALL_OF_FAME          0
+#define SND_KEY_IMPACT                 0
+#define SND_EM_KEY_IMPACT              0
+#define SND_BUG_MOVING                 0
+#define SND_BUTTERFLY_MOVING           0
+#define SND_ROCK_IMPACT                        0
+#define SND_BD_ROCK_IMPACT             0
+#define SND_AMOEBA_TURNS_TO_ROCK       0
+#define SND_NUT_IMPACT                 0
+#define SND_PEARL_BREAKING             0
+#define SND_NUT_CRACKING               0
+#define SND_NUT_PUSHING                        0
+#define SND_PLAYER_LAUGHING_AT         0
+#define SND_ROBOT_WHEEL_RUNNING                0
+#define SND_TIMEGATE_WHEEL_RUNNING     0
+#define SND_MAGIC_WALL_RUNNING         0
+#define SND_YAMYAM_WAITING             0
+#define SND_MENU_DOOR                  0
+#define SND_SWITCHGATE_OPENING         0
+#define SND_SWITCHGATE_CLOSING         0
+#define SND_TIMEGATE_OPENING           0
+#define SND_TIMEGATE_CLOSING           0
+#define SND_EXIT_OPENING               0
+#define SND_EMERALD_IMPACT             0
+#define SND_BD_DIAMOND_IMPACT          0
+#define SND_DIAMOND_IMPACT             0
+#define SND_INFOTRON_IMPACT            0
+#define SND_AMOEBA_TURNS_TO_GEM                0
+#define SND_EMERALD_COLLECTING         0
+#define SND_BD_DIAMOND_COLLECTING      0
+#define SND_DIAMOND_COLLECTING         0
+#define SND_PEARL_COLLECTING           0
+#define SND_CRYSTAL_COLLECTING         0
+#define SND_SPEED_PILL_COLLECTING      0
+#define SND_ENVELOPE_COLLECTING                0
+#define SND_SHIELD_PASSIVE_COLLECTING  0
+#define SND_SHIELD_ACTIVE_COLLECTING   0
+#define SND_DYNAMITE_COLLECTING                0
+#define SND_DYNABOMB_NR_COLLECTING     0
+#define SND_DYNABOMB_SZ_COLLECTING     0
+#define SND_DYNABOMB_XL_COLLECTING     0
+#define SND_KEY_COLLECTING             0
+#define SND_EM_KEY_COLLECTING          0
+#define SND_ROCK_PUSHING               0
+#define SND_BD_ROCK_PUSHING            0
+#define SND_BOMB_PUSHING               0
+#define SND_DX_SUPABOMB_PUSHING                0
+#define SND_TIME_ORB_EMPTY_PUSHING     0
+#define SND_SPRING_PUSHING             0
+#define SND_SOKOBAN_OBJECT_PUSHING     0
+#define SND_SATELLITE_PUSHING          0
+#define SND_SP_DISK_YELLOW_PUSHING     0
+#define SND_DIAMOND_SMASHING           0
+#define SND_MAGIC_WALL_ACTIVATING      0
+#define SND_MENU_INFO_SCREEN           0
+#define SND_EXPLOSION                  0
+#define SND_SPACESHIP_MOVING           0
+#define SND_FIREFLY_MOVING             0
+#define SND_ROBOT_MOVING               0
+#define SND_SAND_DIGGING               0
+#define SND_SAND_INVISIBLE_DIGGING     0
+#define SND_TRAP_INACTIVE_DIGGING      0
+#define SND_BALLOON_MOVING             0
+#define SND_LEVELTIME_BONUS            0
+#define SND_DYNAMITE_BURNING           0
+#define SND_SP_BASE_DIGGING            0
+#define SND_SP_BUGGY_BASE_DIGGING      0
+#define SND_SP_INFOTRON_COLLECTING     0
+#define SND_SP_DISK_RED_COLLECTING     0
+#define SND_SP_ZONK_IMPACT             0
+#define SND_SP_ZONK_PUSHING            0
+#define SND_SP_DISK_ORANGE_PUSHING     0
+#define SND_SP_BUGGY_BASE_PASSING      0
+#define SND_SP_EXPLOSION               0
+#define SND_EMPTY_SPACE_DIGGING                0
+#define SND_EM_GATE_PASSING            0
+#define SND_SWITCHGATE_PASSING         0
+#define SND_TIMEGATE_PASSING           0
+#define SND_SP_PORT_PASSING            0
+
+#define NUM_SOUND_EFFECTS__NEW         0
+
+
 /* values for game_status */
 #define EXITGAME               0
 #define MAINMENU               1
@@ -1455,19 +1562,12 @@ extern int              num_element_info;
 #define PROGRAM_VERSION_PATCH  2
 #define PROGRAM_VERSION_STRING "2.0.2"
 
-#define PROGRAM_DATE_STRING    "[2002-04-01 01:11]"
-
 #define PROGRAM_TITLE_STRING   "Rocks'n'Diamonds"
 #define PROGRAM_AUTHOR_STRING  "Holger Schemel"
 #define PROGRAM_RIGHTS_STRING  "Copyright ^1995-2002 by"
 #define PROGRAM_DOS_PORT_STRING        "DOS port done by Guido Schulz"
 #define PROGRAM_IDENT_STRING   PROGRAM_VERSION_STRING " " TARGET_STRING
-#define PROGRAM_BUILD_STRING   PROGRAM_IDENT_STRING " " PROGRAM_DATE_STRING
-#ifdef DEBUG
-#define WINDOW_TITLE_STRING    PROGRAM_TITLE_STRING " " PROGRAM_BUILD_STRING
-#else
 #define WINDOW_TITLE_STRING    PROGRAM_TITLE_STRING " " PROGRAM_IDENT_STRING
-#endif
 #define WINDOW_SUBTITLE_STRING PROGRAM_RIGHTS_STRING " " PROGRAM_AUTHOR_STRING
 #define ICON_TITLE_STRING      PROGRAM_TITLE_STRING
 #define UNIX_USERDATA_DIRECTORY        ".rocksndiamonds"