X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fgame_em%2Fsynchro_2.c;h=662ad2e53630f521ee873bf3be648d9c682c0419;hb=3efd775191c8182a1980b110461ad2a359fb0d27;hp=c8a50916fac0e25fa3848bab0a02397d4478d503;hpb=9583e9c55b889974e0df9a8ca1930efdf29bda29;p=rocksndiamonds.git diff --git a/src/game_em/synchro_2.c b/src/game_em/synchro_2.c index c8a50916..662ad2e5 100644 --- a/src/game_em/synchro_2.c +++ b/src/game_em/synchro_2.c @@ -27,10 +27,13 @@ void synchro_2(void) unsigned int temp = 0; /* initialized to make compilers happy */ unsigned int dx; /* only needed to find closest player */ unsigned int dy; + int element; loop: - switch (cave_cache[++x]) + element = cave_cache[++x]; + + switch (element) { default: goto loop; @@ -531,7 +534,7 @@ void synchro_2(void) Cave[y+1][x] = Yemerald_stone; Next[y][x] = Xstone; Next[y+1][x] = Xemerald; - play_sound(x, y, SAMPLE_crack); + play_element_sound(x, y, SAMPLE_crack, Xnut); score += lev.nut_score; goto loop; @@ -555,6 +558,9 @@ void synchro_2(void) Boom[y+2][x-1] = Xemerald; Boom[y+2][x] = Xemerald; Boom[y+2][x+1] = Xemerald; +#if 0 + play_element_sound(x, y, SAMPLE_boom, element); +#endif score += lev.bug_score; goto loop; @@ -578,6 +584,9 @@ void synchro_2(void) Boom[y+2][x-1] = Xblank; Boom[y+2][x] = Xblank; Boom[y+2][x+1] = Xblank; +#if 0 + play_element_sound(x, y, SAMPLE_boom, element); +#endif score += lev.tank_score; goto loop; @@ -635,6 +644,9 @@ void synchro_2(void) Boom[y+2][x-1] = lev.eater_array[lev.eater_pos][6]; Boom[y+2][x] = lev.eater_array[lev.eater_pos][7]; Boom[y+2][x+1] = lev.eater_array[lev.eater_pos][8]; +#if 0 + play_element_sound(x, y, SAMPLE_boom, element); +#endif lev.eater_pos = (lev.eater_pos + 1) & 7; score += lev.eater_score; goto loop; @@ -653,6 +665,9 @@ void synchro_2(void) Boom[y+2][x-1] = Xblank; Boom[y+2][x] = Xblank; Boom[y+2][x+1] = Xblank; +#if 0 + play_element_sound(x, y, SAMPLE_boom, element); +#endif score += lev.alien_score; goto loop; @@ -707,7 +722,7 @@ void synchro_2(void) case Xplant: case Yplant: Next[y][x] = Xstone; - play_sound(x, y, SAMPLE_stone); + play_element_sound(x, y, SAMPLE_stone, Xstone); goto loop; } @@ -715,7 +730,7 @@ void synchro_2(void) Cave[y+1][x] = Ydiamond_stone; Next[y][x] = Xblank; Next[y+1][x] = Xstone_pause; - play_sound(x, y, SAMPLE_squash); + play_element_sound(x, y, SAMPLE_squash, Xdiamond); goto loop; case Xbomb: @@ -731,6 +746,9 @@ void synchro_2(void) Boom[y+2][x-1] = Xblank; Boom[y+2][x] = Xblank; Boom[y+2][x+1] = Xblank; +#if 0 + play_element_sound(x, y, SAMPLE_boom, element); +#endif goto loop; case Xwonderwall: @@ -746,14 +764,14 @@ void synchro_2(void) } Next[y][x] = Xblank; - play_sound(x, y, SAMPLE_squash); + play_element_sound(x, y, SAMPLE_wonderfall, Xstone); goto loop; } default: Cave[y][x] = Xstone; Next[y][x] = Xstone; - play_sound(x, y, SAMPLE_stone); + play_element_sound(x, y, SAMPLE_stone, Xstone); goto loop; } @@ -950,7 +968,7 @@ void synchro_2(void) default: Cave[y][x] = Xnut; Next[y][x] = Xnut; - play_sound(x, y, SAMPLE_nut); + play_element_sound(x, y, SAMPLE_nut, Xnut); goto loop; } @@ -1722,7 +1740,7 @@ void synchro_2(void) } Next[y][x] = temp; /* the item we chose to clone */ - play_sound(x, y, SAMPLE_android); + play_element_sound(x, y, SAMPLE_android, temp); switch (RANDOM & 7) { @@ -2601,7 +2619,7 @@ void synchro_2(void) Cave[y][x+1] = Yspring_kill_e; Next[y][x] = Xblank; Next[y][x+1] = Xspring_e; - play_sound(x, y, SAMPLE_slurp); + play_element_sound(x, y, SAMPLE_slurp, Xalien); score += lev.slurp_score; goto loop; @@ -2609,13 +2627,13 @@ void synchro_2(void) case XbumperB: Cave[y][x+1] = XbumperB; Next[y][x] = Xspring_w; - play_sound(x, y, SAMPLE_spring); + play_element_sound(x, y, SAMPLE_spring, Xspring); goto loop; default: Cave[y][x] = Xspring; Next[y][x] = Xspring; - play_sound(x, y, SAMPLE_spring); + play_element_sound(x, y, SAMPLE_spring, Xspring); goto loop; } @@ -2696,7 +2714,7 @@ void synchro_2(void) Cave[y][x-1] = Yspring_kill_w; Next[y][x] = Xblank; Next[y][x-1] = Xspring_w; - play_sound(x, y, SAMPLE_slurp); + play_element_sound(x, y, SAMPLE_slurp, Xalien); score += lev.slurp_score; goto loop; @@ -2704,13 +2722,13 @@ void synchro_2(void) case XbumperB: Cave[y][x-1] = XbumperB; Next[y][x] = Xspring_e; - play_sound(x, y, SAMPLE_spring); + play_element_sound(x, y, SAMPLE_spring, Xspring); goto loop; default: Cave[y][x] = Xspring; Next[y][x] = Xspring; - play_sound(x, y, SAMPLE_spring); + play_element_sound(x, y, SAMPLE_spring, Xspring); goto loop; } @@ -2759,6 +2777,9 @@ void synchro_2(void) Boom[y+2][x-1] = Xblank; Boom[y+2][x] = Xblank; Boom[y+2][x+1] = Xblank; +#if 0 + play_element_sound(x, y, SAMPLE_boom, element); +#endif goto loop; case Xbug_n: @@ -2781,6 +2802,9 @@ void synchro_2(void) Boom[y+2][x-1] = Xemerald; Boom[y+2][x] = Xemerald; Boom[y+2][x+1] = Xemerald; +#if 0 + play_element_sound(x, y, SAMPLE_boom, element); +#endif score += lev.bug_score; goto loop; @@ -2804,6 +2828,9 @@ void synchro_2(void) Boom[y+2][x-1] = Xblank; Boom[y+2][x] = Xblank; Boom[y+2][x+1] = Xblank; +#if 0 + play_element_sound(x, y, SAMPLE_boom, element); +#endif score += lev.tank_score; goto loop; @@ -2823,6 +2850,9 @@ void synchro_2(void) Boom[y+2][x-1] = lev.eater_array[lev.eater_pos][6]; Boom[y+2][x] = lev.eater_array[lev.eater_pos][7]; Boom[y+2][x+1] = lev.eater_array[lev.eater_pos][8]; +#if 0 + play_element_sound(x, y, SAMPLE_boom, element); +#endif lev.eater_pos = (lev.eater_pos + 1) & 7; score += lev.eater_score; goto loop; @@ -2841,13 +2871,16 @@ void synchro_2(void) Boom[y+2][x-1] = Xblank; Boom[y+2][x] = Xblank; Boom[y+2][x+1] = Xblank; +#if 0 + play_element_sound(x, y, SAMPLE_boom, element); +#endif score += lev.alien_score; goto loop; default: Cave[y][x] = Xspring; Next[y][x] = Xspring; - play_sound(x, y, SAMPLE_spring); + play_element_sound(x, y, SAMPLE_spring, Xspring); goto loop; } @@ -2858,7 +2891,7 @@ void synchro_2(void) { Cave[y][x+1] = Ydiamond_eat; Next[y][x+1] = Xblank; - play_sound(x, y, SAMPLE_eater); + play_element_sound(x, y, SAMPLE_eater, Xdiamond); goto loop; } @@ -2866,7 +2899,7 @@ void synchro_2(void) { Cave[y+1][x] = Ydiamond_eat; Next[y+1][x] = Xblank; - play_sound(x, y, SAMPLE_eater); + play_element_sound(x, y, SAMPLE_eater, Xdiamond); goto loop; } @@ -2874,7 +2907,7 @@ void synchro_2(void) { Cave[y][x-1] = Ydiamond_eat; Next[y][x-1] = Xblank; - play_sound(x, y, SAMPLE_eater); + play_element_sound(x, y, SAMPLE_eater, Xdiamond); goto loop; } @@ -2882,7 +2915,7 @@ void synchro_2(void) { Cave[y-1][x] = Ydiamond_eat; Next[y-1][x] = Xblank; - play_sound(x, y, SAMPLE_eater); + play_element_sound(x, y, SAMPLE_eater, Xdiamond); goto loop; } @@ -2930,7 +2963,7 @@ void synchro_2(void) { Cave[y+1][x] = Ydiamond_eat; Next[y+1][x] = Xblank; - play_sound(x, y, SAMPLE_eater); + play_element_sound(x, y, SAMPLE_eater, Xdiamond); goto loop; } @@ -2938,7 +2971,7 @@ void synchro_2(void) { Cave[y][x-1] = Ydiamond_eat; Next[y][x-1] = Xblank; - play_sound(x, y, SAMPLE_eater); + play_element_sound(x, y, SAMPLE_eater, Xdiamond); goto loop; } @@ -2946,7 +2979,7 @@ void synchro_2(void) { Cave[y-1][x] = Ydiamond_eat; Next[y-1][x] = Xblank; - play_sound(x, y, SAMPLE_eater); + play_element_sound(x, y, SAMPLE_eater, Xdiamond); goto loop; } @@ -2954,7 +2987,7 @@ void synchro_2(void) { Cave[y][x+1] = Ydiamond_eat; Next[y][x+1] = Xblank; - play_sound(x, y, SAMPLE_eater); + play_element_sound(x, y, SAMPLE_eater, Xdiamond); goto loop; } @@ -3002,7 +3035,7 @@ void synchro_2(void) { Cave[y][x-1] = Ydiamond_eat; Next[y][x-1] = Xblank; - play_sound(x, y, SAMPLE_eater); + play_element_sound(x, y, SAMPLE_eater, Xdiamond); goto loop; } @@ -3010,7 +3043,7 @@ void synchro_2(void) { Cave[y-1][x] = Ydiamond_eat; Next[y-1][x] = Xblank; - play_sound(x, y, SAMPLE_eater); + play_element_sound(x, y, SAMPLE_eater, Xdiamond); goto loop; } @@ -3018,7 +3051,7 @@ void synchro_2(void) { Cave[y][x+1] = Ydiamond_eat; Next[y][x+1] = Xblank; - play_sound(x, y, SAMPLE_eater); + play_element_sound(x, y, SAMPLE_eater, Xdiamond); goto loop; } @@ -3026,7 +3059,7 @@ void synchro_2(void) { Cave[y+1][x] = Ydiamond_eat; Next[y+1][x] = Xblank; - play_sound(x, y, SAMPLE_eater); + play_element_sound(x, y, SAMPLE_eater, Xdiamond); goto loop; } @@ -3074,7 +3107,7 @@ void synchro_2(void) { Cave[y-1][x] = Ydiamond_eat; Next[y-1][x] = Xblank; - play_sound(x, y, SAMPLE_eater); + play_element_sound(x, y, SAMPLE_eater, Xdiamond); goto loop; } @@ -3082,7 +3115,7 @@ void synchro_2(void) { Cave[y][x+1] = Ydiamond_eat; Next[y][x+1] = Xblank; - play_sound(x, y, SAMPLE_eater); + play_element_sound(x, y, SAMPLE_eater, Xdiamond); goto loop; } @@ -3090,7 +3123,7 @@ void synchro_2(void) { Cave[y+1][x] = Ydiamond_eat; Next[y+1][x] = Xblank; - play_sound(x, y, SAMPLE_eater); + play_element_sound(x, y, SAMPLE_eater, Xdiamond); goto loop; } @@ -3098,7 +3131,7 @@ void synchro_2(void) { Cave[y][x-1] = Ydiamond_eat; Next[y][x-1] = Xblank; - play_sound(x, y, SAMPLE_eater); + play_element_sound(x, y, SAMPLE_eater, Xdiamond); goto loop; } @@ -3212,7 +3245,7 @@ void synchro_2(void) Cave[y-1][x] = Yalien_n; Next[y][x] = Xblank; Next[y-1][x] = Xalien_pause; - play_sound(x, y, SAMPLE_alien); + play_element_sound(x, y, SAMPLE_alien, Xalien); goto loop; } } @@ -3247,7 +3280,7 @@ void synchro_2(void) Cave[y+1][x] = Yalien_s; Next[y][x] = Xblank; Next[y+1][x] = Xalien_pause; - play_sound(x, y, SAMPLE_alien); + play_element_sound(x, y, SAMPLE_alien, Xalien); goto loop; } } @@ -3285,7 +3318,7 @@ void synchro_2(void) Cave[y][x+1] = Yalien_e; Next[y][x] = Xblank; Next[y][x+1] = Xalien_pause; - play_sound(x, y, SAMPLE_alien); + play_element_sound(x, y, SAMPLE_alien, Xalien); goto loop; } } @@ -3320,7 +3353,7 @@ void synchro_2(void) Cave[y][x-1] = Yalien_w; Next[y][x] = Xblank; Next[y][x-1] = Xalien_pause; - play_sound(x, y, SAMPLE_alien); + play_element_sound(x, y, SAMPLE_alien, Xalien); goto loop; } } @@ -3548,14 +3581,14 @@ void synchro_2(void) } Next[y][x] = Xblank; - play_sound(x, y, SAMPLE_squash); + play_element_sound(x, y, SAMPLE_wonderfall, Xemerald); goto loop; } default: Cave[y][x] = Xemerald; Next[y][x] = Xemerald; - play_sound(x, y, SAMPLE_diamond); + play_element_sound(x, y, SAMPLE_diamond, Xemerald); goto loop; } @@ -3775,14 +3808,14 @@ void synchro_2(void) } Next[y][x] = Xblank; - play_sound(x, y, SAMPLE_squash); + play_element_sound(x, y, SAMPLE_wonderfall, Xdiamond); goto loop; } default: Cave[y][x] = Xdiamond; Next[y][x] = Xdiamond; - play_sound(x, y, SAMPLE_diamond); + play_element_sound(x, y, SAMPLE_diamond, Xdiamond); goto loop; } @@ -3858,7 +3891,7 @@ void synchro_2(void) Cave[y][x] = temp; Next[y][x] = temp; - play_sound(x, y, SAMPLE_drip); + play_element_sound(x, y, SAMPLE_drip, Xdrip_fall); goto loop; } @@ -4078,6 +4111,9 @@ void synchro_2(void) Boom[y+1][x-1] = Xblank; Boom[y+1][x] = Xblank; Boom[y+1][x+1] = Xblank; +#if 0 + play_element_sound(x, y, SAMPLE_boom, element); +#endif goto loop; } @@ -4282,7 +4318,7 @@ void synchro_2(void) ball_common: - play_sound(x, y, SAMPLE_ball); + play_element_sound(x, y, SAMPLE_ball, element); if (lev.ball_random) { switch (RANDOM & 7) @@ -4429,14 +4465,14 @@ void synchro_2(void) { Cave[y-1][x] = Ygrow_ns_eat; Next[y-1][x] = Xgrow_ns; - play_sound(x, y, SAMPLE_grow); + play_element_sound(x, y, SAMPLE_grow, Xgrow_ns); } if (tab_blank[Cave[y+1][x]]) { Cave[y+1][x] = Ygrow_ns_eat; Next[y+1][x] = Xgrow_ns; - play_sound(x, y, SAMPLE_grow); + play_element_sound(x, y, SAMPLE_grow, Xgrow_ns); } goto loop; @@ -4446,14 +4482,14 @@ void synchro_2(void) { Cave[y][x+1] = Ygrow_ew_eat; Next[y][x+1] = Xgrow_ew; - play_sound(x, y, SAMPLE_grow); + play_element_sound(x, y, SAMPLE_grow, Xgrow_ew); } if (tab_blank[Cave[y][x-1]]) { Cave[y][x-1] = Ygrow_ew_eat; Next[y][x-1] = Xgrow_ew; - play_sound(x, y, SAMPLE_grow); + play_element_sound(x, y, SAMPLE_grow, Xgrow_ew); } goto loop; @@ -4464,7 +4500,7 @@ void synchro_2(void) if (lev.wonderwall_time && lev.wonderwall_state) { Cave[y][x] = XwonderwallB; - play_sound(x, y, SAMPLE_wonder); + play_element_sound(x, y, SAMPLE_wonder, Xwonderwall); } goto loop; @@ -4509,22 +4545,22 @@ void synchro_2(void) /* --------------------------------------------------------------------- */ case Xdynamite_1: - play_sound(x, y, SAMPLE_tick); + play_element_sound(x, y, SAMPLE_tick, Xdynamite_1); Next[y][x] = Xdynamite_2; goto loop; case Xdynamite_2: - play_sound(x, y, SAMPLE_tick); + play_element_sound(x, y, SAMPLE_tick, Xdynamite_2); Next[y][x] = Xdynamite_3; goto loop; case Xdynamite_3: - play_sound(x, y, SAMPLE_tick); + play_element_sound(x, y, SAMPLE_tick, Xdynamite_3); Next[y][x] = Xdynamite_4; goto loop; case Xdynamite_4: - play_sound(x, y, SAMPLE_tick); + play_element_sound(x, y, SAMPLE_tick, Xdynamite_4); Next[y][x] = Zdynamite; Boom[y-1][x-1] = Xblank; Boom[y-1][x] = Xblank; @@ -4726,6 +4762,9 @@ void synchro_2(void) Boom[y+1][x-1] = Xemerald; Boom[y+1][x] = Xemerald; Boom[y+1][x+1] = Xemerald; +#if 0 + play_element_sound(x, y, SAMPLE_boom, element); +#endif goto loop; case Xboom_bomb: @@ -4742,12 +4781,20 @@ void synchro_2(void) Boom[y+1][x-1] = Xblank; Boom[y+1][x] = Xblank; Boom[y+1][x+1] = Xblank; +#if 0 + play_element_sound(x, y, SAMPLE_boom, element); +#endif goto loop; case Xboom_android: +#if 0 + play_element_sound(x, y, SAMPLE_boom, Xandroid); +#endif case Xboom_1: Next[y][x] = Xboom_2; +#if 1 play_sound(x, y, SAMPLE_boom); +#endif goto loop; case Xboom_2: