fixed bug in single button handling causing broken tapes (EM engine)
[rocksndiamonds.git] / src / game_em / synchro_3.c
index f094ceebc3684c42cbed64fe4d229c82acc52472..307d285ebfa6794efa687a1efe477ddd53ca419a 100644 (file)
@@ -5,33 +5,21 @@
  * this should be spread over the frames for reduced cpu load.
  */
 
-#include "tile.h"
-#include "level.h"
-#include "sample.h"
+#include "main_em.h"
 
 
 void synchro_3(void)
 {
-  register unsigned int x;
-  register unsigned int y;
-  register unsigned int count;
-  register unsigned long random;
+  int x;
+  int y;
+  int count;
+  unsigned long random;
 
   /* update variables */
 
   if (lev.score > 9999)
     lev.score = 9999;
 
-#if 1
-  if (lev.time_initial == 0)
-    lev.time++;
-  else if (lev.time)
-    lev.time--;
-#else
-  if (lev.time)
-    lev.time--;
-#endif
-
   if (lev.android_move_cnt-- == 0)
     lev.android_move_cnt = lev.android_move_time;
   if (lev.android_clone_cnt-- == 0)
@@ -50,16 +38,12 @@ void synchro_3(void)
   if (lev.wonderwall_time && lev.wonderwall_state)
     lev.wonderwall_time--;
 
-  if (lev.time_initial > 0 &&
-      lev.time > 0 && lev.time <= 50 && lev.time % 5 == 0)
-    play_sound(-1, -1, SAMPLE_time);
-
   if (lev.wheel_cnt)
-    play_sound(-1, -1, SAMPLE_wheel);
+    play_element_sound(lev.wheel_x, lev.wheel_y, SAMPLE_wheel, Xwheel);
 
   /* grow amoeba */
 
-  random = Random;
+  random = RandomEM;
 
   for (count = lev.amoeba_time; count--;)
   {
@@ -85,7 +69,7 @@ void synchro_3(void)
     random = random * 129 + 1;
   }
 
-  Random = random;
+  RandomEM = random;
 
   /* handle explosions */