rnd-20020506-1-src
authorHolger Schemel <info@artsoft.org>
Mon, 6 May 2002 00:48:37 +0000 (02:48 +0200)
committerHolger Schemel <info@artsoft.org>
Sat, 30 Aug 2014 08:37:23 +0000 (10:37 +0200)
src/game.c
src/libgame/sound.c
src/main.c
src/main.h
src/timestamp.h

index e83bf4a0ca05dd90b700625b5ddc19dd8f80e58d..63c05b56dcab7783d9b652599623f09358c4eeda 100644 (file)
@@ -844,6 +844,7 @@ void InitGame()
 
   OpenDoor(DOOR_OPEN_ALL);
 
+  PlaySoundStereo(SND_GAME_STARTING, PSND_MAX_RIGHT);
   if (setup.sound_music)
     PlayMusic(level_nr);
 
@@ -996,6 +997,8 @@ void GameWon()
 
   local_player->LevelSolved = FALSE;
 
+  PlaySoundStereo(SND_GAME_WINNING, PSND_MAX_RIGHT);
+
   if (TimeLeft)
   {
     if (!tape.playing && setup.sound_loops)
@@ -1326,7 +1329,12 @@ void CheckDynamite(int x, int y)
     if (MovDelay[x][y])
     {
       if (!(MovDelay[x][y] % 12))
-       PlaySoundLevel(x, y, SND_DYNAMITE_BURNING);
+      {
+       if (Feld[x][y] == EL_DYNAMITE_ACTIVE)
+         PlaySoundLevel(x, y, SND_DYNAMITE_BURNING);
+       else
+         PlaySoundLevel(x, y, SND_DYNABOMB_BURNING);
+      }
 
       if (IS_ACTIVE_BOMB(Feld[x][y]))
       {
@@ -1340,7 +1348,11 @@ void CheckDynamite(int x, int y)
     }
   }
 
-  StopSound(SND_DYNAMITE_BURNING);
+  if (Feld[x][y] == EL_DYNAMITE_ACTIVE)
+    StopSound(SND_DYNAMITE_BURNING);
+  else
+    StopSound(SND_DYNABOMB_BURNING);
+
   Bang(x, y);
 }
 
@@ -1932,20 +1944,23 @@ void Impact(int x, int y)
     if (CAN_CHANGE(element) && 
        (smashed == EL_MAGIC_WALL_OFF || smashed == EL_MAGIC_WALL_BD_OFF))
     {
-      int xy;
+      int xx, yy;
       int activated_magic_wall =
        (smashed == EL_MAGIC_WALL_OFF ? EL_MAGIC_WALL_EMPTY :
         EL_MAGIC_WALL_BD_EMPTY);
 
       /* activate magic wall / mill */
-
-      for (y=0; y<lev_fieldy; y++)
-       for (x=0; x<lev_fieldx; x++)
-         if (Feld[x][y] == smashed)
-           Feld[x][y] = activated_magic_wall;
+      for (yy=0; yy<lev_fieldy; yy++)
+       for (xx=0; xx<lev_fieldx; xx++)
+         if (Feld[xx][yy] == smashed)
+           Feld[xx][yy] = activated_magic_wall;
 
       game.magic_wall_time_left = level.time_magic_wall * FRAMES_PER_SECOND;
       game.magic_wall_active = TRUE;
+
+      PlaySoundLevel(x, y, (smashed == EL_MAGIC_WALL_OFF ?
+                           SND_MAGIC_WALL_ACTIVATING :
+                           SND_BD_MAGIC_WALL_ACTIVATING));
     }
 
     if (IS_PLAYER(x, y+1))
@@ -2062,6 +2077,12 @@ void Impact(int x, int y)
       case EL_DIAMANT:
         sound = SND_DIAMOND_IMPACT;
        break;
+      case EL_PEARL:
+        sound = SND_PEARL_IMPACT;
+       break;
+      case EL_CRYSTAL:
+        sound = SND_CRYSTAL_IMPACT;
+       break;
       case EL_SP_INFOTRON:
         sound = SND_SP_INFOTRON_IMPACT;
        break;
@@ -2083,6 +2104,9 @@ void Impact(int x, int y)
       case EL_ZEIT_LEER:
        sound = SND_TIME_ORB_EMPTY_IMPACT;
        break;
+      case EL_SPRING:
+       sound = SND_SPRING_IMPACT;
+       break;
       default:
        sound = -1;
         break;
@@ -2555,6 +2579,7 @@ void StartMoving(int x, int y)
        InitMovingField(x, y, MV_DOWN);
        Feld[x][y] = EL_QUICKSAND_EMPTYING;
        Store[x][y] = EL_FELSBROCKEN;
+       PlaySoundLevel(x, y, SND_QUICKSAND_EMPTYING);
       }
       else if (Feld[x][y+1] == EL_MORAST_LEER)
       {
@@ -2572,6 +2597,7 @@ void StartMoving(int x, int y)
        Feld[x][y+1] = EL_MORAST_VOLL;
        Store[x][y+1] = Store[x][y];
        Store[x][y] = 0;
+       PlaySoundLevel(x, y, SND_QUICKSAND_SLIPPING_THROUGH);
       }
     }
     else if ((element == EL_FELSBROCKEN || element == EL_BD_ROCK) &&
@@ -2580,6 +2606,7 @@ void StartMoving(int x, int y)
       InitMovingField(x, y, MV_DOWN);
       Feld[x][y] = EL_QUICKSAND_FILLING;
       Store[x][y] = element;
+      PlaySoundLevel(x, y, SND_QUICKSAND_FILLING);
     }
     else if (element == EL_MAGIC_WALL_FULL)
     {
@@ -2743,11 +2770,11 @@ void StartMoving(int x, int y)
       {
        int phase = MovDelay[x][y] % 8;
 
-       if (phase>3)
-         phase = 7-phase;
+       if (phase > 3)
+         phase = 7 - phase;
 
        if (IN_SCR_FIELD(SCREENX(x), SCREENY(y)))
-         DrawGraphic(SCREENX(x), SCREENY(y), el2gfx(element)+phase);
+         DrawGraphic(SCREENX(x), SCREENY(y), el2gfx(element) + phase);
 
        if (MovDelay[x][y] % 4 == 3)
        {
@@ -2814,6 +2841,30 @@ void StartMoving(int x, int y)
       PlaySoundLevel(x, y, SND_BD_BUTTERFLY_MOVING);
     else if (element == EL_FIREFLY)
       PlaySoundLevel(x, y, SND_BD_FIREFLY_MOVING);
+    else if (element == EL_SP_SNIKSNAK)
+      PlaySoundLevel(x, y, SND_SP_SNIKSNAK_MOVING);
+    else if (element == EL_SP_ELECTRON)
+      PlaySoundLevel(x, y, SND_SP_ELECTRON_MOVING);
+    else if (element == EL_MAMPFER)
+      PlaySoundLevel(x, y, SND_YAMYAM_MOVING);
+    else if (element == EL_MAMPFER2)
+      PlaySoundLevel(x, y, SND_DARK_YAMYAM_MOVING);
+    else if (element == EL_BALLOON)
+      PlaySoundLevel(x, y, SND_BALLOON_MOVING);
+    else if (element == EL_SPRING_MOVING)
+      PlaySoundLevel(x, y, SND_SPRING_MOVING);
+    else if (element == EL_MOLE)
+      PlaySoundLevel(x, y, SND_MOLE_MOVING);
+    else if (element == EL_SONDE)
+      PlaySoundLevel(x, y, SND_SATELLITE_MOVING);
+    else if (element == EL_PACMAN)
+      PlaySoundLevel(x, y, SND_PACMAN_MOVING);
+    else if (element == EL_PINGUIN)
+      PlaySoundLevel(x, y, SND_PENGUIN_MOVING);
+    else if (element == EL_SCHWEIN)
+      PlaySoundLevel(x, y, SND_PIG_MOVING);
+    else if (element == EL_DRACHE)
+      PlaySoundLevel(x, y, SND_DRAGON_MOVING);
 
     /* now make next step */
 
@@ -2887,6 +2938,8 @@ void StartMoving(int x, int y)
          Feld[newx][newy] = EL_LEERRAUM;
          DrawLevelField(newx, newy);
        }
+
+       PlaySoundLevel(x, y, SND_PIG_EATING_GEM);
       }
       else if (!IS_FREE(newx, newy))
       {
@@ -2927,6 +2980,8 @@ void StartMoving(int x, int y)
          else
            DrawLevelField(x, y);
 
+         PlaySoundLevel(x, y, SND_DRAGON_BREATHING_FIRE);
+
          MovDelay[x][y] = 50;
          Feld[newx][newy] = EL_BURNING;
          if (IN_LEV_FIELD(newx1, newy1) && Feld[newx1][newy1] == EL_LEERRAUM)
@@ -2947,6 +3002,8 @@ void StartMoving(int x, int y)
        Feld[newx][newy] = EL_LEERRAUM;
        DrawLevelField(newx, newy);
       }
+
+      PlaySoundLevel(x, y, SND_YAMYAM_EATING_DIAMOND);
     }
     else if (element == EL_MAMPFER2 && IN_LEV_FIELD(newx, newy) &&
             IS_MAMPF2(Feld[newx][newy]))
@@ -2966,6 +3023,8 @@ void StartMoving(int x, int y)
        Feld[newx][newy] = EL_LEERRAUM;
        DrawLevelField(newx, newy);
       }
+
+      PlaySoundLevel(x, y, SND_DARK_YAMYAM_EATING_ANY);
     }
     else if ((element == EL_PACMAN || element == EL_MOLE)
             && IN_LEV_FIELD(newx, newy) && IS_AMOEBOID(Feld[newx][newy]))
@@ -2981,6 +3040,7 @@ void StartMoving(int x, int y)
       if (element == EL_MOLE)
       {
        Feld[newx][newy] = EL_DEAMOEBING;
+       PlaySoundLevel(x, y, SND_MOLE_EATING_AMOEBA);
        MovDelay[newx][newy] = 0;       /* start amoeba shrinking delay */
        return;                         /* wait for shrinking amoeba */
       }
@@ -2988,6 +3048,7 @@ void StartMoving(int x, int y)
       {
        Feld[newx][newy] = EL_LEERRAUM;
        DrawLevelField(newx, newy);
+       PlaySoundLevel(x, y, SND_PACMAN_EATING_AMOEBA);
       }
     }
     else if (element == EL_MOLE && IN_LEV_FIELD(newx, newy) &&
@@ -3277,6 +3338,9 @@ void AmoebeUmwandeln(int ax, int ay)
        }
       }
     }
+    PlaySoundLevel(ax, ay, (IS_GEM(level.amoeba_content) ?
+                           SND_AMOEBA_TURNING_TO_GEM :
+                           SND_AMOEBA_TURNING_TO_ROCK));
     Bang(ax, ay);
   }
   else
@@ -3298,7 +3362,12 @@ void AmoebeUmwandeln(int ax, int ay)
        continue;
 
       if (Feld[x][y] == EL_AMOEBA2DIAM)
+      {
+       PlaySoundLevel(x, y, (IS_GEM(level.amoeba_content) ?
+                             SND_AMOEBA_TURNING_TO_GEM :
+                             SND_AMOEBA_TURNING_TO_ROCK));
        Bang(x, y);
+      }
     }
   }
 }
@@ -3376,7 +3445,7 @@ void AmoebeWaechst(int x, int y)
   }
 }
 
-void AmoebaEatenByMole(int x, int y)
+void AmoebaDisappearing(int x, int y)
 {
   static unsigned long sound_delay = 0;
   static unsigned long sound_delay_value = 0;
@@ -3386,10 +3455,7 @@ void AmoebaEatenByMole(int x, int y)
     MovDelay[x][y] = 7;
 
     if (DelayReached(&sound_delay, sound_delay_value))
-    {
-      PlaySoundLevel(x, y, SND_MOLE_EATING_AMOEBA);
       sound_delay_value = 30;
-    }
   }
 
   if (MovDelay[x][y])          /* wait some time before shrinking */
@@ -3539,7 +3605,10 @@ void AmoebeAbleger(int ax, int ay)
     Store[newax][neway] = element;
   }
   else if (neway == ay)
+  {
     Feld[newax][neway] = EL_TROPFEN;   /* drop left or right from amoeba */
+    PlaySoundLevel(newax, neway, SND_AMOEBA_DROPPING);
+  }
   else
   {
     InitMovingField(ax, ay, MV_DOWN);  /* drop dripping out of amoeba */
@@ -3558,6 +3627,7 @@ void Life(int ax, int ay)
   static int life[4] = { 2, 3, 3, 3 }; /* parameters for "game of life" */
   int life_time = 40;
   int element = Feld[ax][ay];
+  boolean changed = FALSE;
 
   if (Stop[ax][ay])
     return;
@@ -3596,26 +3666,32 @@ void Life(int ax, int ay)
 
     if (xx == ax && yy == ay)          /* field in the middle */
     {
-      if (nachbarn<life[0] || nachbarn>life[1])
+      if (nachbarn < life[0] || nachbarn > life[1])
       {
        Feld[xx][yy] = EL_LEERRAUM;
        if (!Stop[xx][yy])
          DrawLevelField(xx, yy);
        Stop[xx][yy] = TRUE;
+       changed = TRUE;
       }
     }
     else if (IS_FREE(xx, yy) || Feld[xx][yy] == EL_ERDREICH)
     {                                  /* free border field */
-      if (nachbarn>=life[2] && nachbarn<=life[3])
+      if (nachbarn >= life[2] && nachbarn <= life[3])
       {
        Feld[xx][yy] = element;
        MovDelay[xx][yy] = (element == EL_LIFE ? 0 : life_time-1);
        if (!Stop[xx][yy])
          DrawLevelField(xx, yy);
        Stop[xx][yy] = TRUE;
+       changed = TRUE;
       }
     }
   }
+
+  if (changed)
+    PlaySoundLevel(ax, ay, element == EL_LIFE ? SND_GAMEOFLIFE_GROWING :
+                  SND_BIOMAZE_GROWING);
 }
 
 void RobotWheel(int x, int y)
@@ -4015,6 +4091,7 @@ void MauerAbleger(int ax, int ay)
   boolean links_frei = FALSE, rechts_frei = FALSE;
   boolean oben_massiv = FALSE, unten_massiv = FALSE;
   boolean links_massiv = FALSE, rechts_massiv = FALSE;
+  boolean new_wall = FALSE;
 
   if (!MovDelay[ax][ay])       /* start building new wall */
     MovDelay[ax][ay] = 6;
@@ -4044,6 +4121,7 @@ void MauerAbleger(int ax, int ay)
       MovDir[ax][ay-1] = MV_UP;
       if (IN_SCR_FIELD(SCREENX(ax), SCREENY(ay-1)))
        DrawGraphic(SCREENX(ax), SCREENY(ay-1), GFX_MAUER_UP);
+      new_wall = TRUE;
     }
     if (unten_frei)
     {
@@ -4052,6 +4130,7 @@ void MauerAbleger(int ax, int ay)
       MovDir[ax][ay+1] = MV_DOWN;
       if (IN_SCR_FIELD(SCREENX(ax), SCREENY(ay+1)))
        DrawGraphic(SCREENX(ax), SCREENY(ay+1), GFX_MAUER_DOWN);
+      new_wall = TRUE;
     }
   }
 
@@ -4065,6 +4144,7 @@ void MauerAbleger(int ax, int ay)
       MovDir[ax-1][ay] = MV_LEFT;
       if (IN_SCR_FIELD(SCREENX(ax-1), SCREENY(ay)))
        DrawGraphic(SCREENX(ax-1), SCREENY(ay), GFX_MAUER_LEFT);
+      new_wall = TRUE;
     }
     if (rechts_frei)
     {
@@ -4073,6 +4153,7 @@ void MauerAbleger(int ax, int ay)
       MovDir[ax+1][ay] = MV_RIGHT;
       if (IN_SCR_FIELD(SCREENX(ax+1), SCREENY(ay)))
        DrawGraphic(SCREENX(ax+1), SCREENY(ay), GFX_MAUER_RIGHT);
+      new_wall = TRUE;
     }
   }
 
@@ -4093,6 +4174,9 @@ void MauerAbleger(int ax, int ay)
       ((links_massiv && rechts_massiv) ||
        element == EL_MAUER_Y))
     Feld[ax][ay] = EL_MAUERWERK;
+
+  if (new_wall)
+    PlaySoundLevel(ax, ay, SND_WALL_GROWING);
 }
 
 void CheckForDragon(int x, int y)
@@ -4222,6 +4306,7 @@ static void CheckTrap(int x, int y)
        return;
 
       Feld[x][y] = EL_TRAP_ACTIVE;
+      PlaySoundLevel(x, y, SND_TRAP_ACTIVATING);
     }
   }
   else if (element == EL_TRAP_ACTIVE)
@@ -4578,7 +4663,7 @@ void GameActions()
     else if (element == EL_AMOEBING)
       AmoebeWaechst(x, y);
     else if (element == EL_DEAMOEBING)
-      AmoebaEatenByMole(x, y);
+      AmoebaDisappearing(x, y);
 
 #if !USE_NEW_AMOEBA_CODE
     else if (IS_AMOEBALIVE(element))
@@ -4623,7 +4708,11 @@ void GameActions()
     else if (element == EL_SP_TERMINAL_ACTIVE)
       DrawGraphicAnimation(x, y, GFX2_SP_TERMINAL_ACTIVE, 7, 4, ANIM_NORMAL);
     else if (IS_BELT(element))
+    {
       DrawBeltAnimation(x, y, element);
+      if (!(FrameCounter % 2))
+       PlaySoundLevel(x, y, SND_CONVEYOR_BELT_RUNNING);
+    }
     else if (element == EL_SWITCHGATE_OPENING)
       OpenSwitchgate(x, y);
     else if (element == EL_SWITCHGATE_CLOSING)
@@ -4635,9 +4724,17 @@ void GameActions()
     else if (element == EL_EXTRA_TIME)
       DrawGraphicAnimation(x, y, GFX_EXTRA_TIME, 6, 4, ANIM_NORMAL);
     else if (element == EL_SHIELD_PASSIVE)
+    {
       DrawGraphicAnimation(x, y, GFX_SHIELD_PASSIVE, 6, 4, ANIM_NORMAL);
+      if (!(FrameCounter % 4))
+       PlaySoundLevel(x, y, SND_SHIELD_PASSIVE_ACTIVATED);
+    }
     else if (element == EL_SHIELD_ACTIVE)
+    {
       DrawGraphicAnimation(x, y, GFX_SHIELD_ACTIVE, 6, 4, ANIM_NORMAL);
+      if (!(FrameCounter % 4))
+       PlaySoundLevel(x, y, SND_SHIELD_ACTIVE_ACTIVATED);
+    }
 
     if (game.magic_wall_active)
     {
@@ -5783,6 +5880,7 @@ int DigField(struct PlayerInfo *player,
       ZX = x;
       ZY = y;
       DrawLevelField(x, y);
+      PlaySoundLevel(x, y, SND_ROBOT_WHEEL_ACTIVATING);
       return MF_ACTION;
       break;
 
@@ -5790,6 +5888,8 @@ int DigField(struct PlayerInfo *player,
       {
        int xx, yy;
 
+       PlaySoundLevel(x, y, SND_SP_TERMINAL_ACTIVATING);
+
        for (yy=0; yy<lev_fieldy; yy++)
        {
          for (xx=0; xx<lev_fieldx; xx++)
@@ -5821,6 +5921,7 @@ int DigField(struct PlayerInfo *player,
       {
        player->Switching = TRUE;
        ToggleBeltSwitch(x, y);
+       PlaySoundLevel(x, y, SND_CONVEYOR_BELT_SWITCH_ACTIVATING);
       }
       return MF_ACTION;
       break;
@@ -5831,6 +5932,7 @@ int DigField(struct PlayerInfo *player,
       {
        player->Switching = TRUE;
        ToggleSwitchgateSwitch(x, y);
+       PlaySoundLevel(x, y, SND_SWITCHGATE_SWITCH_ACTIVATING);
       }
       return MF_ACTION;
       break;
@@ -5841,12 +5943,16 @@ int DigField(struct PlayerInfo *player,
       {
        player->Switching = TRUE;
        ToggleLightSwitch(x, y);
+       PlaySoundLevel(x, y, element == EL_LIGHT_SWITCH_OFF ?
+                      SND_LIGHT_SWITCH_ACTIVATING :
+                      SND_LIGHT_SWITCH_DEACTIVATING);
       }
       return MF_ACTION;
       break;
 
     case EL_TIMEGATE_SWITCH_OFF:
       ActivateTimegateSwitch(x, y);
+      PlaySoundLevel(x, y, SND_TIMEGATE_WHEEL_ACTIVATING);
 
       return MF_ACTION;
       break;
@@ -6302,6 +6408,8 @@ boolean PlaceBomb(struct PlayerInfo *player)
       else
        DrawGraphicThruMask(SCREENX(jx), SCREENY(jy), GFX_DYNAMIT);
     }
+
+    PlaySoundLevel(jx, jy, SND_DYNAMITE_PLACING);
   }
   else
   {
@@ -6310,6 +6418,8 @@ boolean PlaceBomb(struct PlayerInfo *player)
     player->dynabombs_left--;
     if (IN_SCR_FIELD(SCREENX(jx), SCREENY(jy)))
       DrawGraphicThruMask(SCREENX(jx), SCREENY(jy), GFX_DYNABOMB);
+
+    PlaySoundLevel(jx, jy, SND_DYNABOMB_PLACING);
   }
 
   return TRUE;
index b71ed27fe3d7ef4076494e33f9d641e6cb9c62ec..f1a38d2c4cc69acbf26287d0eaaf5e83e2694ec8 100644 (file)
@@ -662,7 +662,7 @@ static void SoundServer_InsertNewSound(struct SoundControl snd_ctrl)
   snd_info = (snd_ctrl.music ? Music[snd_ctrl.nr] : Sound[snd_ctrl.nr]);
   if (snd_info == NULL)
   {
-#if 1
+#if 0
     printf("sound/music %d undefined\n", snd_ctrl.nr);
 #endif
     return;
index 375e74f2c10ee1b3865e6edcfa2134e9e61f568c..7c1ac0c525eb6b51e45d74c9611f430f1e86d996 100644 (file)
@@ -225,6 +225,7 @@ struct SoundEffectInfo sound_effects[] =
   { "amoeba.dropping",                 SND_FILE_UNDEFINED      },
   { "acid.splashing",                  "blurb.wav"             },
   { "quicksand.filling",               SND_FILE_UNDEFINED      },
+  { "quicksand.slipping_through",      SND_FILE_UNDEFINED      },
   { "quicksand.emptying",              SND_FILE_UNDEFINED      },
   { "exit.opening",                    "oeffnen.wav"           },
   { "exit.entering",                   "buing.wav"             },
@@ -263,8 +264,8 @@ struct SoundEffectInfo sound_effects[] =
   { "timegate.passing",                        "gate.wav"              },
   { "conveyor_belt_switch.activating", SND_FILE_UNDEFINED      },
   { "conveyor_belt.running",           SND_FILE_UNDEFINED      },
-  { "light.activating",                        SND_FILE_UNDEFINED      },
-  { "light.deactivating",              SND_FILE_UNDEFINED      },
+  { "light_switch.activating",         SND_FILE_UNDEFINED      },
+  { "light_switch.deactivating",       SND_FILE_UNDEFINED      },
 
   /* sounds for DX Boulderdash style elements and actions */
   { "dx_bomb.pushing",                 "pusch.wav"             },
index b4fee814340beacbaaf05f5ad417949aa3c73c7b..28495aeacf7ebc266fdc5d1345da25b1a7dfc496 100644 (file)
@@ -1511,87 +1511,88 @@ extern int              num_element_info;
 #define SND_AMOEBA_DROPPING                    66
 #define SND_ACID_SPLASHING                     67
 #define SND_QUICKSAND_FILLING                  68
-#define SND_QUICKSAND_EMPTYING                 69
-#define SND_EXIT_OPENING                       70
-#define SND_EXIT_ENTERING                      71
-#define SND_BALLOON_MOVING                     72
-#define SND_BALLOON_PUSHING                    73
-#define SND_SPRING_MOVING                      74
-#define SND_SPRING_PUSHING                     75
-#define SND_SPRING_IMPACT                      76
-#define SND_WALL_GROWING                       77
-#define SND_PEARL_COLLECTING                   78
-#define SND_PEARL_BREAKING                     79
-#define SND_PEARL_IMPACT                       80
-#define SND_CRYSTAL_COLLECTING                 81
-#define SND_CRYSTAL_IMPACT                     82
-#define SND_ENVELOPE_COLLECTING                        83
-#define SND_SAND_INVISIBLE_DIGGING             84
-#define SND_SHIELD_PASSIVE_COLLECTING          85
-#define SND_SHIELD_PASSIVE_ACTIVATED           86
-#define SND_SHIELD_ACTIVE_COLLECTING           87
-#define SND_SHIELD_ACTIVE_ACTIVATED            88
-#define SND_EXTRA_TIME_COLLECTING              89
-#define SND_MOLE_MOVING                                90
-#define SND_MOLE_EATING_AMOEBA                 91
-#define SND_SWITCHGATE_SWITCH_ACTIVATING       92
-#define SND_SWITCHGATE_OPENING                 93
-#define SND_SWITCHGATE_CLOSING                 94
-#define SND_SWITCHGATE_PASSING                 95
-#define SND_TIMEGATE_WHEEL_ACTIVATING          96
-#define SND_TIMEGATE_WHEEL_RUNNING             97
-#define SND_TIMEGATE_OPENING                   98
-#define SND_TIMEGATE_CLOSING                   99
-#define SND_TIMEGATE_PASSING                   100
-#define SND_CONVEYOR_BELT_SWITCH_ACTIVATING    101
-#define SND_CONVEYOR_BELT_RUNNING              102
-#define SND_LIGHT_ACTIVATING                   103
-#define SND_LIGHT_DEACTIVATING                 104
-#define SND_DX_BOMB_PUSHING                    105
-#define SND_TRAP_INACTIVE_DIGGING              106
-#define SND_TRAP_ACTIVATING                    107
-#define SND_AMOEBA_TURNING_TO_GEM              108
-#define SND_AMOEBA_TURNING_TO_ROCK             109
-#define SND_SPEED_PILL_COLLECTING              110
-#define SND_DYNABOMB_NR_COLLECTING             111
-#define SND_DYNABOMB_SZ_COLLECTING             112
-#define SND_DYNABOMB_XL_COLLECTING             113
-#define SND_DYNABOMB_PLACING                   114
-#define SND_DYNABOMB_BURNING                   115
-#define SND_SATELLITE_MOVING                   116
-#define SND_SATELLITE_PUSHING                  117
-#define SND_LAMP_ACTIVATING                    118
-#define SND_LAMP_DEACTIVATING                  119
-#define SND_TIME_ORB_FULL_COLLECTING           120
-#define SND_TIME_ORB_FULL_IMPACT               121
-#define SND_TIME_ORB_EMPTY_PUSHING             122
-#define SND_TIME_ORB_EMPTY_IMPACT              123
-#define SND_GAMEOFLIFE_GROWING                 124
-#define SND_BIOMAZE_GROWING                    125
-#define SND_PACMAN_MOVING                      126
-#define SND_PACMAN_EATING_AMOEBA               127
-#define SND_DARK_YAMYAM_MOVING                 128
-#define SND_DARK_YAMYAM_WAITING                        129
-#define SND_DARK_YAMYAM_EATING_ANY             130
-#define SND_PENGUIN_MOVING                     131
-#define SND_PENGUIN_ENTERING_EXIT              132
-#define SND_PIG_MOVING                         133
-#define SND_PIG_EATING_GEM                     134
-#define SND_DRAGON_MOVING                      135
-#define SND_DRAGON_BREATHING_FIRE              136
-#define SND_PLAYER_DYING                       137
-#define SND_ELEMENT_EXPLODING                  138
-#define SND_GAME_STARTING                      139
-#define SND_GAME_RUNNING_OUT_OF_TIME           140
-#define SND_GAME_LEVELTIME_BONUS               141
-#define SND_GAME_LOSING                                142
-#define SND_GAME_WINNING                       143
-#define SND_MENU_DOOR_OPENING                  144
-#define SND_MENU_DOOR_CLOSING                  145
-#define SND_MENU_HALL_OF_FAME                  146
-#define SND_MENU_INFO_SCREEN                   147
-
-#define NUM_SOUND_EFFECTS                      148
+#define SND_QUICKSAND_SLIPPING_THROUGH         69
+#define SND_QUICKSAND_EMPTYING                 70
+#define SND_EXIT_OPENING                       71
+#define SND_EXIT_ENTERING                      72
+#define SND_BALLOON_MOVING                     73
+#define SND_BALLOON_PUSHING                    74
+#define SND_SPRING_MOVING                      75
+#define SND_SPRING_PUSHING                     76
+#define SND_SPRING_IMPACT                      77
+#define SND_WALL_GROWING                       78
+#define SND_PEARL_COLLECTING                   79
+#define SND_PEARL_BREAKING                     80
+#define SND_PEARL_IMPACT                       81
+#define SND_CRYSTAL_COLLECTING                 82
+#define SND_CRYSTAL_IMPACT                     83
+#define SND_ENVELOPE_COLLECTING                        84
+#define SND_SAND_INVISIBLE_DIGGING             85
+#define SND_SHIELD_PASSIVE_COLLECTING          86
+#define SND_SHIELD_PASSIVE_ACTIVATED           87
+#define SND_SHIELD_ACTIVE_COLLECTING           88
+#define SND_SHIELD_ACTIVE_ACTIVATED            89
+#define SND_EXTRA_TIME_COLLECTING              90
+#define SND_MOLE_MOVING                                91
+#define SND_MOLE_EATING_AMOEBA                 92
+#define SND_SWITCHGATE_SWITCH_ACTIVATING       93
+#define SND_SWITCHGATE_OPENING                 94
+#define SND_SWITCHGATE_CLOSING                 95
+#define SND_SWITCHGATE_PASSING                 96
+#define SND_TIMEGATE_WHEEL_ACTIVATING          97
+#define SND_TIMEGATE_WHEEL_RUNNING             98
+#define SND_TIMEGATE_OPENING                   99
+#define SND_TIMEGATE_CLOSING                   100
+#define SND_TIMEGATE_PASSING                   101
+#define SND_CONVEYOR_BELT_SWITCH_ACTIVATING    102
+#define SND_CONVEYOR_BELT_RUNNING              103
+#define SND_LIGHT_SWITCH_ACTIVATING            104
+#define SND_LIGHT_SWITCH_DEACTIVATING          105
+#define SND_DX_BOMB_PUSHING                    106
+#define SND_TRAP_INACTIVE_DIGGING              107
+#define SND_TRAP_ACTIVATING                    108
+#define SND_AMOEBA_TURNING_TO_GEM              109
+#define SND_AMOEBA_TURNING_TO_ROCK             110
+#define SND_SPEED_PILL_COLLECTING              111
+#define SND_DYNABOMB_NR_COLLECTING             112
+#define SND_DYNABOMB_SZ_COLLECTING             113
+#define SND_DYNABOMB_XL_COLLECTING             114
+#define SND_DYNABOMB_PLACING                   115
+#define SND_DYNABOMB_BURNING                   116
+#define SND_SATELLITE_MOVING                   117
+#define SND_SATELLITE_PUSHING                  118
+#define SND_LAMP_ACTIVATING                    119
+#define SND_LAMP_DEACTIVATING                  120
+#define SND_TIME_ORB_FULL_COLLECTING           121
+#define SND_TIME_ORB_FULL_IMPACT               122
+#define SND_TIME_ORB_EMPTY_PUSHING             123
+#define SND_TIME_ORB_EMPTY_IMPACT              124
+#define SND_GAMEOFLIFE_GROWING                 125
+#define SND_BIOMAZE_GROWING                    126
+#define SND_PACMAN_MOVING                      127
+#define SND_PACMAN_EATING_AMOEBA               128
+#define SND_DARK_YAMYAM_MOVING                 129
+#define SND_DARK_YAMYAM_WAITING                        130
+#define SND_DARK_YAMYAM_EATING_ANY             131
+#define SND_PENGUIN_MOVING                     132
+#define SND_PENGUIN_ENTERING_EXIT              133
+#define SND_PIG_MOVING                         134
+#define SND_PIG_EATING_GEM                     135
+#define SND_DRAGON_MOVING                      136
+#define SND_DRAGON_BREATHING_FIRE              137
+#define SND_PLAYER_DYING                       138
+#define SND_ELEMENT_EXPLODING                  139
+#define SND_GAME_STARTING                      140
+#define SND_GAME_RUNNING_OUT_OF_TIME           141
+#define SND_GAME_LEVELTIME_BONUS               142
+#define SND_GAME_LOSING                                143
+#define SND_GAME_WINNING                       144
+#define SND_MENU_DOOR_OPENING                  145
+#define SND_MENU_DOOR_CLOSING                  146
+#define SND_MENU_HALL_OF_FAME                  147
+#define SND_MENU_INFO_SCREEN                   148
+
+#define NUM_SOUND_EFFECTS                      149
 
 
 /* values for game_status */
index 3fbd9303871eb6dd3ee062e05f02b9f8f5d41b29..f83e369aab890291e014495150bfd1f6b15433a9 100644 (file)
@@ -1 +1 @@
-#define COMPILE_DATE_STRING "[2002-05-05 23:27]"
+#define COMPILE_DATE_STRING "[2002-05-06 02:45]"