X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame.c;h=bc31c194de0672b1a07164c40710502c6d7562ca;hb=c9433eab5c4317ed4f89164b386a7d33562e29be;hp=a6f6ce263b7f3ebad84e30191cafa9951d16fd18;hpb=dd8c2278ba26f777d147a011a4e23ebaab8091cd;p=rocksndiamonds.git diff --git a/src/game.c b/src/game.c index a6f6ce26..bc31c194 100644 --- a/src/game.c +++ b/src/game.c @@ -1,7 +1,7 @@ /*********************************************************** * Rocks'n'Diamonds -- McDuffin Strikes Back! * *----------------------------------------------------------* -* (c) 1995-2001 Artsoft Entertainment * +* (c) 1995-2002 Artsoft Entertainment * * Holger Schemel * * Detmolder Strasse 189 * * 33604 Bielefeld * @@ -140,6 +140,7 @@ static struct { ".burning", SND_ACTION_BURNING, TRUE }, { ".growing", SND_ACTION_UNKNOWN, TRUE }, { ".attacking", SND_ACTION_UNKNOWN, TRUE }, + { ".activated", SND_ACTION_UNKNOWN, TRUE }, /* other (non-loop) sound actions are optional */ { ".stepping", SND_ACTION_MOVING, FALSE }, /* discrete moving */ @@ -606,8 +607,9 @@ static void InitGameEngine() #if 0 printf("level %d: level version == %06d\n", level_nr, level.game_version); - printf(" tape version == %06d [%s]\n", - tape.engine_version, (tape.playing ? "PLAYING" : "RECORDING")); + printf(" tape version == %06d [%s] [file: %06d]\n", + tape.engine_version, (tape.playing ? "PLAYING" : "RECORDING"), + tape.file_version); printf(" => game.engine_version == %06d\n", game.engine_version); #endif @@ -4794,14 +4796,18 @@ void GameActions() else if (element == EL_SHIELD_PASSIVE) { DrawGraphicAnimation(x, y, GFX_SHIELD_PASSIVE, 6, 4, ANIM_NORMAL); +#if 0 if (!(FrameCounter % 4)) PlaySoundLevel(x, y, SND_SHIELD_PASSIVE_ACTIVATED); +#endif } else if (element == EL_SHIELD_ACTIVE) { DrawGraphicAnimation(x, y, GFX_SHIELD_ACTIVE, 6, 4, ANIM_NORMAL); +#if 0 if (!(FrameCounter % 4)) PlaySoundLevel(x, y, SND_SHIELD_ACTIVE_ACTIVATED); +#endif } if (game.magic_wall_active) @@ -4965,6 +4971,19 @@ void GameActions() CloseAllOpenTimegates(); } + for (i=0; ishield_active_time_left) + PlaySoundLevel(player->jx, player->jy, SND_SHIELD_ACTIVE_ACTIVATED); + else if (player->shield_passive_time_left) + PlaySoundLevel(player->jx, player->jy, SND_SHIELD_PASSIVE_ACTIVATED); + } + } + if (TimeFrames >= (1000 / GameFrameDelay)) { TimeFrames = 0; @@ -4972,12 +4991,14 @@ void GameActions() for (i=0; ishield_passive_time_left--; - if (stored_player[i].shield_active_time_left > 0) - stored_player[i].shield_active_time_left--; + if (player->shield_active_time_left > 0) + player->shield_active_time_left--; } }