rnd-20060820-2-src
[rocksndiamonds.git] / src / game_em / synchro_1.c
index b45330149723e044c168e83d1ed99bf46bbdbe85..3a469fdfcdb1f4a44d2cc811429aafd0703c779f 100644 (file)
@@ -12,6 +12,8 @@
 extern int centered_player_nr;
 #endif
 
+#define USE_CHANGED_ACID_STUFF         1
+
 extern boolean checkIfAllPlayersFitToScreen();
 
 static void check_player(struct PLAYER *);
@@ -294,7 +296,9 @@ static void kill_player(struct PLAYER *ply)
     case Xbug_gow:
       Cave[y-1][x] = Xboom_bug;
 #if 0
+#if PLAY_ELEMENT_SOUND
       play_element_sound(x, y, SAMPLE_boom, Zplayer);
+#endif
 #endif
       break;
 
@@ -308,7 +312,9 @@ static void kill_player(struct PLAYER *ply)
     case Xtank_gow:
       Cave[y-1][x] = Xboom_bomb;
 #if 0
+#if PLAY_ELEMENT_SOUND
       play_element_sound(x, y, SAMPLE_boom, Zplayer);
+#endif
 #endif
       break;
   }
@@ -325,7 +331,9 @@ static void kill_player(struct PLAYER *ply)
     case Xbug_gow:
       Cave[y][x+1] = Xboom_bug;
 #if 0
+#if PLAY_ELEMENT_SOUND
       play_element_sound(x, y, SAMPLE_boom, Zplayer);
+#endif
 #endif
       break;
 
@@ -339,7 +347,9 @@ static void kill_player(struct PLAYER *ply)
     case Xtank_gow:
       Cave[y][x+1] = Xboom_bomb;
 #if 0
+#if PLAY_ELEMENT_SOUND
       play_element_sound(x, y, SAMPLE_boom, Zplayer);
+#endif
 #endif
       break;
   }
@@ -356,7 +366,9 @@ static void kill_player(struct PLAYER *ply)
     case Xbug_gow:
       Cave[y+1][x] = Xboom_bug;
 #if 0
+#if PLAY_ELEMENT_SOUND
       play_element_sound(x, y, SAMPLE_boom, Zplayer);
+#endif
 #endif
       break;
 
@@ -370,7 +382,9 @@ static void kill_player(struct PLAYER *ply)
     case Xtank_gow:
       Cave[y+1][x] = Xboom_bomb;
 #if 0
+#if PLAY_ELEMENT_SOUND
       play_element_sound(x, y, SAMPLE_boom, Zplayer);
+#endif
 #endif
       break;
   }
@@ -387,7 +401,9 @@ static void kill_player(struct PLAYER *ply)
     case Xbug_gow:
       Cave[y][x-1] = Xboom_bug;
 #if 0
+#if PLAY_ELEMENT_SOUND
       play_element_sound(x, y, SAMPLE_boom, Zplayer);
+#endif
 #endif
       break;
 
@@ -401,7 +417,9 @@ static void kill_player(struct PLAYER *ply)
     case Xtank_gow:
       Cave[y][x-1] = Xboom_bomb;
 #if 0
+#if PLAY_ELEMENT_SOUND
       play_element_sound(x, y, SAMPLE_boom, Zplayer);
+#endif
 #endif
       break;
   }
@@ -411,17 +429,22 @@ static void kill_player(struct PLAYER *ply)
     case Xexit_1:
     case Xexit_2:
     case Xexit_3:
+      lev.exit_x = x;
+      lev.exit_y = y;
       play_element_sound(x, y, SAMPLE_exit_leave, Xexit_1);
       break;
 
     default:
+#if PLAY_ELEMENT_SOUND
+      play_element_sound(x, y, SAMPLE_boom, Zplayer);
+#endif
       play_element_sound(x, y, SAMPLE_die, Zplayer);
       break;
   }
 
   switch(Cave[y][x])
   {
-#if 1
+#if USE_CHANGED_ACID_STUFF
     case Xacid_1:
     case Xacid_2:
     case Xacid_3:
@@ -684,7 +707,7 @@ static boolean player_digfield(struct PLAYER *ply, int dx, int dy)
        ply->y = y;
        break;
 
-#if 1
+#if USE_CHANGED_ACID_STUFF
       case Xacid_1:
       case Xacid_2:
       case Xacid_3:
@@ -693,12 +716,12 @@ static boolean player_digfield(struct PLAYER *ply, int dx, int dy)
       case Xacid_6:
       case Xacid_7:
       case Xacid_8:
-#endif
        if (Cave[y-1][x+1] == Xblank)
          Cave[y-1][x+1] = Yacid_splash_eB;
        if (Cave[y-1][x-1] == Xblank)
          Cave[y-1][x-1] = Yacid_splash_wB;
        play_element_sound(x, y, SAMPLE_acid, Xacid_1);
+#endif
 
       case Xboom_android:
       case Xboom_1:
@@ -718,7 +741,8 @@ static boolean player_digfield(struct PLAYER *ply, int dx, int dy)
       case Xtank_goe:
       case Xtank_gos:
       case Xtank_gow:
-#if 0
+
+#if !USE_CHANGED_ACID_STUFF
       case Xacid_1:
       case Xacid_2:
       case Xacid_3:
@@ -1242,7 +1266,10 @@ static boolean player_digfield(struct PLAYER *ply, int dx, int dy)
       case Xexit_1:
       case Xexit_2:
       case Xexit_3:
+#if 0
+       /* !!! already played in kill_player !!! */
        play_element_sound(x, y, SAMPLE_exit_leave, Xexit_1);
+#endif
 
        lev.home--;