From: Holger Schemel Date: Wed, 14 Feb 2024 18:36:05 +0000 (+0100) Subject: renamed sound constants for native BD engine X-Git-Tag: 4.4.0.0-test-1~364 X-Git-Url: https://git.artsoft.org/?a=commitdiff_plain;h=d3ee9a75c191a044aa589058f9814a11362aecd8;p=rocksndiamonds.git renamed sound constants for native BD engine --- diff --git a/src/game.c b/src/game.c index d6ff2454..1a546d98 100644 --- a/src/game.c +++ b/src/game.c @@ -15540,53 +15540,53 @@ static int getSoundAction_BD(int sample) case GD_S_STONE: case GD_S_NUT: case GD_S_DIRT_BALL: - case GD_S_NITRO: + case GD_S_NITRO_PACK: case GD_S_FALLING_WALL: return ACTION_IMPACT; - case GD_S_NUT_CRACK: + case GD_S_NUT_CRACKING: return ACTION_BREAKING; case GD_S_EXPANDING_WALL: - case GD_S_WALL_REAPPEAR: + case GD_S_WALL_REAPPEARING: case GD_S_SLIME: case GD_S_LAVA: - case GD_S_ACID_SPREAD: + case GD_S_ACID_SPREADING: return ACTION_GROWING; - case GD_S_DIAMOND_COLLECT: - case GD_S_SKELETON_COLLECT: - case GD_S_PNEUMATIC_COLLECT: - case GD_S_BOMB_COLLECT: - case GD_S_CLOCK_COLLECT: - case GD_S_SWEET_COLLECT: - case GD_S_KEY_COLLECT: - case GD_S_DIAMOND_KEY_COLLECT: + case GD_S_DIAMOND_COLLECTING: + case GD_S_SKELETON_COLLECTING: + case GD_S_PNEUMATIC_COLLECTING: + case GD_S_BOMB_COLLECTING: + case GD_S_CLOCK_COLLECTING: + case GD_S_SWEET_COLLECTING: + case GD_S_KEY_COLLECTING: + case GD_S_DIAMOND_KEY_COLLECTING: return ACTION_COLLECTING; - case GD_S_BOMB_PLACE: + case GD_S_BOMB_PLACING: case GD_S_REPLICATOR: return ACTION_DROPPING; - case GD_S_BLADDER_MOVE: + case GD_S_BLADDER_MOVING: return ACTION_MOVING; case GD_S_BLADDER_SPENDER: - case GD_S_BLADDER_CONVERT: - case GD_S_GRAVITY_CHANGE: + case GD_S_BLADDER_CONVERTING: + case GD_S_GRAVITY_CHANGING: return ACTION_CHANGING; - case GD_S_BITER_EAT: + case GD_S_BITER_EATING: return ACTION_EATING; - case GD_S_DOOR_OPEN: - case GD_S_CRACK: + case GD_S_DOOR_OPENING: + case GD_S_CRACKING: return ACTION_OPENING; - case GD_S_WALK_EARTH: + case GD_S_DIRT_WALKING: return ACTION_DIGGING; - case GD_S_WALK_EMPTY: + case GD_S_EMPTY_WALKING: return ACTION_WALKING; case GD_S_SWITCH_BITER: @@ -15598,20 +15598,20 @@ static int getSoundAction_BD(int sample) case GD_S_STIRRING: return ACTION_ACTIVATING; - case GD_S_BOX_PUSH: + case GD_S_BOX_PUSHING: return ACTION_PUSHING; case GD_S_TELEPORTER: return ACTION_PASSING; - case GD_S_EXPLOSION: - case GD_S_BOMB_EXPLOSION: - case GD_S_GHOST_EXPLOSION: - case GD_S_VOODOO_EXPLOSION: - case GD_S_NITRO_EXPLOSION: + case GD_S_EXPLODING: + case GD_S_BOMB_EXPLODING: + case GD_S_GHOST_EXPLODING: + case GD_S_VOODOO_EXPLODING: + case GD_S_NITRO_PACK_EXPLODING: return ACTION_EXPLODING; - case GD_S_COVER: + case GD_S_COVERING: case GD_S_AMOEBA: case GD_S_AMOEBA_MAGIC: case GD_S_MAGIC_WALL: diff --git a/src/game_bd/bd_caveengine.c b/src/game_bd/bd_caveengine.c index 407c7b1e..0327fb18 100644 --- a/src/game_bd/bd_caveengine.c +++ b/src/game_bd/bd_caveengine.c @@ -152,7 +152,7 @@ static void play_sound_of_element(GdCave *cave, GdElement element, int x, int y) case O_NITRO_PACK: case O_NITRO_PACK_F: - gd_sound_play(cave, GD_S_NITRO, element, x, y); + gd_sound_play(cave, GD_S_NITRO_PACK, element, x, y); break; case O_FALLING_WALL: @@ -181,7 +181,7 @@ static void play_sound_of_element(GdCave *cave, GdElement element, int x, int y) break; case O_PRE_CLOCK_1: - gd_sound_play(cave, GD_S_BLADDER_CONVERT, element, x, y); + gd_sound_play(cave, GD_S_BLADDER_CONVERTING, element, x, y); break; case O_SLIME: @@ -193,18 +193,18 @@ static void play_sound_of_element(GdCave *cave, GdElement element, int x, int y) break; case O_ACID: - gd_sound_play(cave, GD_S_ACID_SPREAD, element, x, y); + gd_sound_play(cave, GD_S_ACID_SPREADING, element, x, y); break; case O_BLADDER: - gd_sound_play(cave, GD_S_BLADDER_MOVE, element, x, y); + gd_sound_play(cave, GD_S_BLADDER_MOVING, element, x, y); break; case O_BITER_1: case O_BITER_2: case O_BITER_3: case O_BITER_4: - gd_sound_play(cave, GD_S_BITER_EAT, element, x, y); + gd_sound_play(cave, GD_S_BITER_EATING, element, x, y); break; case O_DIRT_BALL: @@ -488,7 +488,7 @@ static void creature_explode(GdCave *cave, int x, int y, GdElement explode_to) /* the processing of an explosion took pretty much time: processing 3x3 = 9 elements */ cave->ckdelay += 1200; - gd_sound_play(cave, GD_S_EXPLOSION, get(cave, x, y), x, y); + gd_sound_play(cave, GD_S_EXPLODING, get(cave, x, y), x, y); for (yy = y - 1; yy <= y + 1; yy++) for (xx = x - 1; xx <= x + 1; xx++) @@ -501,7 +501,7 @@ static void nitro_explode(GdCave *cave, int x, int y) /* the processing of an explosion took pretty much time: processing 3x3 = 9 elements */ cave->ckdelay += 1200; - gd_sound_play(cave, GD_S_NITRO_EXPLOSION, get(cave, x, y), x, y); + gd_sound_play(cave, GD_S_NITRO_PACK_EXPLODING, get(cave, x, y), x, y); for (yy = y - 1; yy <= y + 1; yy++) for (xx = x - 1; xx <= x + 1; xx++) @@ -520,7 +520,7 @@ static void voodoo_explode(GdCave *cave, int x, int y) /* the processing of an explosion took pretty much time: processing 3x3 = 9 elements */ cave->ckdelay += 1000; - gd_sound_play(cave, GD_S_VOODOO_EXPLOSION, get(cave, x, y), x, y); + gd_sound_play(cave, GD_S_VOODOO_EXPLODING, get(cave, x, y), x, y); if (cave->voodoo_any_hurt_kills_player) cave->voodoo_touched = TRUE; @@ -555,7 +555,7 @@ static void explode_try_skip_voodoo(GdCave *cave, const int x, const int y, cons /* X shaped ghost explosion; does not touch voodoo! */ static void ghost_explode(GdCave *cave, const int x, const int y) { - gd_sound_play(cave, GD_S_GHOST_EXPLOSION, get(cave, x, y), x, y); + gd_sound_play(cave, GD_S_GHOST_EXPLODING, get(cave, x, y), x, y); /* the processing of an explosion took pretty much time: processing 5 elements */ cave->ckdelay += 650; @@ -570,7 +570,7 @@ static void ghost_explode(GdCave *cave, const int x, const int y) /* +shaped bomb explosion; does not touch voodoo! */ static void bomb_explode(GdCave *cave, const int x, const int y) { - gd_sound_play(cave, GD_S_BOMB_EXPLOSION, get(cave, x, y), x, y); + gd_sound_play(cave, GD_S_BOMB_EXPLODING, get(cave, x, y), x, y); /* the processing of an explosion took pretty much time: processing 5 elements */ cave->ckdelay += 650; @@ -693,43 +693,43 @@ static GdElement player_get_element (GdCave* cave, const GdElement object, int x { case O_DIAMOND_KEY: cave->diamond_key_collected = TRUE; - gd_sound_play(cave, GD_S_DIAMOND_KEY_COLLECT, object, x, y); + gd_sound_play(cave, GD_S_DIAMOND_KEY_COLLECTING, object, x, y); return O_SPACE; /* KEYS AND DOORS */ case O_KEY_1: - gd_sound_play(cave, GD_S_KEY_COLLECT, object, x, y); + gd_sound_play(cave, GD_S_KEY_COLLECTING, object, x, y); cave->key1++; return O_SPACE; case O_KEY_2: - gd_sound_play(cave, GD_S_KEY_COLLECT, object, x, y); + gd_sound_play(cave, GD_S_KEY_COLLECTING, object, x, y); cave->key2++; return O_SPACE; case O_KEY_3: - gd_sound_play(cave, GD_S_KEY_COLLECT, object, x, y); + gd_sound_play(cave, GD_S_KEY_COLLECTING, object, x, y); cave->key3++; return O_SPACE; case O_DOOR_1: if (cave->key1 == 0) return object; - gd_sound_play(cave, GD_S_DOOR_OPEN, object, x, y); + gd_sound_play(cave, GD_S_DOOR_OPENING, object, x, y); cave->key1--; return O_SPACE; case O_DOOR_2: if (cave->key2 == 0) return object; - gd_sound_play(cave, GD_S_DOOR_OPEN, object, x, y); + gd_sound_play(cave, GD_S_DOOR_OPENING, object, x, y); cave->key2--; return O_SPACE; case O_DOOR_3: if (cave->key3 == 0) return object; - gd_sound_play(cave, GD_S_DOOR_OPEN, object, x, y); + gd_sound_play(cave, GD_S_DOOR_OPENING, object, x, y); cave->key3--; return O_SPACE; @@ -777,22 +777,22 @@ static GdElement player_get_element (GdCave* cave, const GdElement object, int x case O_DIRT_SLOPED_DOWN_RIGHT: case O_DIRT_BALL: case O_DIRT_LOOSE: - gd_sound_play(cave, GD_S_WALK_EARTH, object, x, y); + gd_sound_play(cave, GD_S_DIRT_WALKING, object, x, y); return O_SPACE; case O_SWEET: - gd_sound_play(cave, GD_S_SWEET_COLLECT, object, x, y); + gd_sound_play(cave, GD_S_SWEET_COLLECTING, object, x, y); cave->sweet_eaten = TRUE; return O_SPACE; case O_PNEUMATIC_HAMMER: - gd_sound_play(cave, GD_S_PNEUMATIC_COLLECT, object, x, y); + gd_sound_play(cave, GD_S_PNEUMATIC_COLLECTING, object, x, y); cave->got_pneumatic_hammer = TRUE; return O_SPACE; case O_CLOCK: /* bonus time */ - gd_sound_play(cave, GD_S_CLOCK_COLLECT, object, x, y); + gd_sound_play(cave, GD_S_CLOCK_COLLECTING, object, x, y); cave->time += cave->time_bonus * cave->timing_factor; if (cave->time > cave->max_time * cave->timing_factor) cave->time -= cave->max_time * cave->timing_factor; @@ -803,7 +803,7 @@ static GdElement player_get_element (GdCave* cave, const GdElement object, int x case O_FLYING_DIAMOND: // prevent diamond sounds for O_SKELETON (see below) if (x != -1 && y != -1) - gd_sound_play(cave, GD_S_DIAMOND_COLLECT, object, x, y); + gd_sound_play(cave, GD_S_DIAMOND_COLLECTING, object, x, y); cave->score += cave->diamond_value; cave->diamonds_collected++; @@ -816,8 +816,8 @@ static GdElement player_get_element (GdCave* cave, const GdElement object, int x cave->diamond_value = cave->extra_diamond_value; cave->gate_open_flash = 1; - cave->sound3 = GD_S_CRACK; - gd_sound_play(cave, GD_S_CRACK, O_OUTBOX, x, y); + cave->sound3 = GD_S_CRACKING; + gd_sound_play(cave, GD_S_CRACKING, O_OUTBOX, x, y); } return O_SPACE; @@ -829,7 +829,7 @@ static GdElement player_get_element (GdCave* cave, const GdElement object, int x player_get_element(cave, O_DIAMOND, -1, -1); /* _after_ calling get_element for the fake diamonds, so we overwrite its sounds */ - gd_sound_play(cave, GD_S_SKELETON_COLLECT, object, x, y); + gd_sound_play(cave, GD_S_SKELETON_COLLECTING, object, x, y); return O_SPACE; case O_OUTBOX: @@ -839,7 +839,7 @@ static GdElement player_get_element (GdCave* cave, const GdElement object, int x case O_SPACE: case O_LAVA: /* player goes into lava, as if it was space */ - gd_sound_play(cave, GD_S_WALK_EMPTY, object, x, y); + gd_sound_play(cave, GD_S_EMPTY_WALKING, object, x, y); return O_SPACE; default: @@ -1066,7 +1066,7 @@ static boolean do_push(GdCave *cave, int x, int y, GdDirection player_move, bool /* yes, so push. */ store_dir(cave, x, y, player_move + GD_MV_TWICE, O_BOX); result = TRUE; - gd_sound_play(cave, GD_S_BOX_PUSH, what, x, y); + gd_sound_play(cave, GD_S_BOX_PUSHING, what, x, y); } break; @@ -1202,7 +1202,7 @@ static boolean do_fall_try_crack_nut(GdCave *cave, int x, int y, store(cave, x, y, bouncing); store_dir(cave, x, y, fall_dir, cave->nut_turns_to_when_crushed); - gd_sound_play(cave, GD_S_NUT_CRACK, O_NUT, x, y); + gd_sound_play(cave, GD_S_NUT_CRACKING, O_NUT, x, y); return TRUE; } @@ -1480,7 +1480,7 @@ void gd_cave_iterate(GdCave *cave, GdDirection player_move, boolean player_fire, if (cave->hammered_reappear[y][x] == 0) { store(cave, x, y, O_BRICK); - gd_sound_play(cave, GD_S_WALL_REAPPEAR, O_BRICK, x, y); + gd_sound_play(cave, GD_S_WALL_REAPPEARING, O_BRICK, x, y); } } } @@ -1594,7 +1594,7 @@ void gd_cave_iterate(GdCave *cave, GdDirection player_move, boolean player_fire, /* if its a bomb, remember he now has one. */ /* we do not change the "remains" and "what" variables, so that part of the code will be ineffective */ - gd_sound_play(cave, GD_S_BOMB_COLLECT, what, x, y); + gd_sound_play(cave, GD_S_BOMB_COLLECTING, what, x, y); store_dir(cave, x, y, player_move, O_SPACE); if (player_fire) @@ -1689,7 +1689,7 @@ void gd_cave_iterate(GdCave *cave, GdDirection player_move, boolean player_fire, /* placed bomb, he is normal player again */ store(cave, x, y, O_PLAYER); - gd_sound_play(cave, GD_S_BOMB_PLACE, O_BOMB, x, y); + gd_sound_play(cave, GD_S_BOMB_PLACING, O_BOMB, x, y); } break; } @@ -3386,7 +3386,7 @@ void gd_cave_iterate(GdCave *cave, GdDirection player_move, boolean player_fire, if (cave->gravity_will_change == 0) { cave->gravity = cave->gravity_next_direction; - gd_sound_play(cave, GD_S_GRAVITY_CHANGE, O_GRAVITY_SWITCH, -1, -1); /* takes precedence over amoeba and magic wall sound */ + gd_sound_play(cave, GD_S_GRAVITY_CHANGING, O_GRAVITY_SWITCH, -1, -1); /* takes precedence over amoeba and magic wall sound */ } } @@ -3495,7 +3495,7 @@ void gd_cave_iterate(GdCave *cave, GdDirection player_move, boolean player_fire, cave->creatures_backwards = !cave->creatures_backwards; } - gd_sound_play(cave, GD_S_CRACK, O_INBOX, -1, -1); + gd_sound_play(cave, GD_S_CRACKING, O_INBOX, -1, -1); } /* for biters */ diff --git a/src/game_bd/bd_elements.h b/src/game_bd/bd_elements.h index bf4bd5a8..3355a780 100644 --- a/src/game_bd/bd_elements.h +++ b/src/game_bd/bd_elements.h @@ -319,12 +319,12 @@ typedef enum _sound GD_S_STONE, GD_S_NUT, - GD_S_NUT_CRACK, + GD_S_NUT_CRACKING, GD_S_DIRT_BALL, - GD_S_NITRO, + GD_S_NITRO_PACK, GD_S_FALLING_WALL, GD_S_EXPANDING_WALL, - GD_S_WALL_REAPPEAR, + GD_S_WALL_REAPPEARING, GD_S_DIAMOND_RANDOM, /* randomly select a diamond sound */ GD_S_DIAMOND_1, GD_S_DIAMOND_2, @@ -334,28 +334,28 @@ typedef enum _sound GD_S_DIAMOND_6, GD_S_DIAMOND_7, GD_S_DIAMOND_8, - GD_S_DIAMOND_COLLECT, - GD_S_SKELETON_COLLECT, - GD_S_PNEUMATIC_COLLECT, - GD_S_BOMB_COLLECT, - GD_S_CLOCK_COLLECT, - GD_S_SWEET_COLLECT, - GD_S_KEY_COLLECT, - GD_S_DIAMOND_KEY_COLLECT, + GD_S_DIAMOND_COLLECTING, + GD_S_SKELETON_COLLECTING, + GD_S_PNEUMATIC_COLLECTING, + GD_S_BOMB_COLLECTING, + GD_S_CLOCK_COLLECTING, + GD_S_SWEET_COLLECTING, + GD_S_KEY_COLLECTING, + GD_S_DIAMOND_KEY_COLLECTING, GD_S_SLIME, GD_S_LAVA, GD_S_REPLICATOR, - GD_S_ACID_SPREAD, - GD_S_BLADDER_MOVE, - GD_S_BLADDER_CONVERT, + GD_S_ACID_SPREADING, + GD_S_BLADDER_MOVING, + GD_S_BLADDER_CONVERTING, GD_S_BLADDER_SPENDER, - GD_S_BITER_EAT, + GD_S_BITER_EATING, - GD_S_DOOR_OPEN, - GD_S_WALK_EARTH, - GD_S_WALK_EMPTY, + GD_S_DOOR_OPENING, + GD_S_DIRT_WALKING, + GD_S_EMPTY_WALKING, GD_S_STIRRING, - GD_S_BOX_PUSH, + GD_S_BOX_PUSHING, GD_S_TELEPORTER, GD_S_TIMEOUT_10, GD_S_TIMEOUT_9, @@ -368,13 +368,13 @@ typedef enum _sound GD_S_TIMEOUT_2, GD_S_TIMEOUT_1, GD_S_TIMEOUT_0, - GD_S_EXPLOSION, - GD_S_BOMB_EXPLOSION, - GD_S_GHOST_EXPLOSION, - GD_S_VOODOO_EXPLOSION, - GD_S_NITRO_EXPLOSION, - GD_S_BOMB_PLACE, - GD_S_FINISHED, + GD_S_EXPLODING, + GD_S_BOMB_EXPLODING, + GD_S_GHOST_EXPLODING, + GD_S_VOODOO_EXPLODING, + GD_S_NITRO_PACK_EXPLODING, + GD_S_BOMB_PLACING, + GD_S_FINISHED, /* loop */ GD_S_SWITCH_BITER, GD_S_SWITCH_CREATURES, GD_S_SWITCH_GRAVITY, @@ -385,12 +385,12 @@ typedef enum _sound GD_S_AMOEBA, /* loop */ GD_S_AMOEBA_MAGIC, /* loop */ GD_S_MAGIC_WALL, /* loop */ - GD_S_COVER, /* loop */ + GD_S_COVERING, /* loop */ GD_S_PNEUMATIC_HAMMER, /* loop */ GD_S_WATER, /* loop */ - GD_S_CRACK, - GD_S_GRAVITY_CHANGE, + GD_S_CRACKING, + GD_S_GRAVITY_CHANGING, GD_S_BONUS_LIFE, GD_S_MAX, diff --git a/src/game_bd/bd_gameplay.c b/src/game_bd/bd_gameplay.c index 8145cce6..e367d9fb 100644 --- a/src/game_bd/bd_gameplay.c +++ b/src/game_bd/bd_gameplay.c @@ -396,7 +396,7 @@ static GdGameState gd_game_main_int(GdGame *game, boolean allow_iterate, boolean /* uncover animation */ /* to play cover sound */ - gd_sound_play(game->cave, GD_S_COVER, O_COVERED, -1, -1); + gd_sound_play(game->cave, GD_S_COVERING, O_COVERED, -1, -1); gd_sound_play_cave(game->cave); counter_next = game->state_counter; @@ -567,7 +567,7 @@ static GdGameState gd_game_main_int(GdGame *game, boolean allow_iterate, boolean /* starting to cover. start cover sound. */ gd_cave_clear_sounds(game->cave); - gd_sound_play(game->cave, GD_S_COVER, O_COVERED, -1, -1); + gd_sound_play(game->cave, GD_S_COVERING, O_COVERED, -1, -1); /* to play cover sound */ gd_sound_play_cave(game->cave); @@ -579,7 +579,7 @@ static GdGameState gd_game_main_int(GdGame *game, boolean allow_iterate, boolean game->state_counter < GAME_INT_COVER_ALL) { /* covering. */ - gd_sound_play(game->cave, GD_S_COVER, O_COVERED, -1, -1); + gd_sound_play(game->cave, GD_S_COVERING, O_COVERED, -1, -1); counter_next = game->state_counter; diff --git a/src/game_bd/bd_sound.c b/src/game_bd/bd_sound.c index e43af91f..e4f0281f 100644 --- a/src/game_bd/bd_sound.c +++ b/src/game_bd/bd_sound.c @@ -73,92 +73,96 @@ typedef struct _sound_property static SoundProperty sound_flags[] = { - { 0, GD_S_NONE, 0, 0 }, + { 0, GD_S_NONE, 0, 0 }, /* channel 1 sounds. */ /* CHANNEL 1 SOUNDS ARE ALWAYS RESTARTED, so no need for GD_SP_FORCE flag. */ - { GD_S_STONE, 1, 10 }, - { GD_S_NUT, 1, 8 }, /* nut falling is relatively silent, so low precedence. */ - { GD_S_NUT_CRACK, 1, 12 }, /* higher precedence than a stone bouncing. */ - { GD_S_DIRT_BALL, 1, 8 }, /* sligthly lower precedence, as stones and diamonds should be "louder" */ - { GD_S_NITRO, 1, 10 }, - { GD_S_FALLING_WALL, 1, 10 }, - { GD_S_EXPANDING_WALL, 1, 10 }, - { GD_S_WALL_REAPPEAR, 1, 9 }, - { GD_S_DIAMOND_RANDOM, 1, 10 }, - { GD_S_DIAMOND_1, 1, 10 }, - { GD_S_DIAMOND_2, 1, 10 }, - { GD_S_DIAMOND_3, 1, 10 }, - { GD_S_DIAMOND_4, 1, 10 }, - { GD_S_DIAMOND_5, 1, 10 }, - { GD_S_DIAMOND_6, 1, 10 }, - { GD_S_DIAMOND_7, 1, 10 }, - { GD_S_DIAMOND_8, 1, 10 }, - { GD_S_DIAMOND_COLLECT, 1, 100 }, /* diamond collect sound has precedence over everything. */ + { GD_S_STONE, 1, 10 }, + /* nut falling is relatively silent, so low precedence. */ + { GD_S_NUT, 1, 8 }, + /* higher precedence than a stone bouncing. */ + { GD_S_NUT_CRACKING, 1, 12 }, + /* sligthly lower precedence, as stones and diamonds should be "louder" */ + { GD_S_DIRT_BALL, 1, 8 }, + { GD_S_NITRO_PACK, 1, 10 }, + { GD_S_FALLING_WALL, 1, 10 }, + { GD_S_EXPANDING_WALL, 1, 10 }, + { GD_S_WALL_REAPPEARING, 1, 9 }, + { GD_S_DIAMOND_RANDOM, 1, 10 }, + { GD_S_DIAMOND_1, 1, 10 }, + { GD_S_DIAMOND_2, 1, 10 }, + { GD_S_DIAMOND_3, 1, 10 }, + { GD_S_DIAMOND_4, 1, 10 }, + { GD_S_DIAMOND_5, 1, 10 }, + { GD_S_DIAMOND_6, 1, 10 }, + { GD_S_DIAMOND_7, 1, 10 }, + { GD_S_DIAMOND_8, 1, 10 }, + /* diamond collect sound has precedence over everything. */ + { GD_S_DIAMOND_COLLECTING, 1, 100 }, /* collect sounds have higher precedence than falling sounds and the like. */ - { GD_S_SKELETON_COLLECT, 1, 100 }, - { GD_S_PNEUMATIC_COLLECT, 1, 50 }, - { GD_S_BOMB_COLLECT, 1, 50 }, - { GD_S_CLOCK_COLLECT, 1, 50 }, - { GD_S_SWEET_COLLECT, 1, 50 }, - { GD_S_KEY_COLLECT, 1, 50 }, - { GD_S_DIAMOND_KEY_COLLECT, 1, 50 }, - { GD_S_SLIME, 1, 5 }, /* slime has lower precedence than diamond and stone falling sounds. */ - { GD_S_LAVA, 1, 5 }, /* lava has low precedence, too. */ - { GD_S_REPLICATOR, 1, 5 }, - { GD_S_ACID_SPREAD, 1, 3 }, /* same for acid, even lower. */ - { GD_S_BLADDER_MOVE, 1, 5 }, /* same for bladder. */ - { GD_S_BLADDER_CONVERT, 1, 8 }, - { GD_S_BLADDER_SPENDER, 1, 8 }, - { GD_S_BITER_EAT, 1, 3 }, /* very low precedence. biters tend to produce too much sound. */ + { GD_S_SKELETON_COLLECTING, 1, 100 }, + { GD_S_PNEUMATIC_COLLECTING, 1, 50 }, + { GD_S_BOMB_COLLECTING, 1, 50 }, + { GD_S_CLOCK_COLLECTING, 1, 50 }, + { GD_S_SWEET_COLLECTING, 1, 50 }, + { GD_S_KEY_COLLECTING, 1, 50 }, + { GD_S_DIAMOND_KEY_COLLECTING, 1, 50 }, + { GD_S_SLIME, 1, 5 }, /* slime has lower precedence than diamond and stone falling sounds. */ + { GD_S_LAVA, 1, 5 }, /* lava has low precedence, too. */ + { GD_S_REPLICATOR, 1, 5 }, + { GD_S_ACID_SPREADING, 1, 3 }, /* same for acid, even lower. */ + { GD_S_BLADDER_MOVING, 1, 5 }, /* same for bladder. */ + { GD_S_BLADDER_CONVERTING, 1, 8 }, + { GD_S_BLADDER_SPENDER, 1, 8 }, + { GD_S_BITER_EATING, 1, 3 }, /* very low precedence. biters tend to produce too much sound. */ /* channel2 sounds. */ - { GD_S_DOOR_OPEN, 2, 10 }, - { GD_S_WALK_EARTH, 2, 10 }, - { GD_S_WALK_EMPTY, 2, 10 }, - { GD_S_STIRRING, 2, 10 }, - { GD_S_BOX_PUSH, 2, 10 }, - { GD_S_TELEPORTER, 2, 10 }, - { GD_S_TIMEOUT_10, 2, 20 }, /* timeout sounds have increasing precedence so they are always started */ - { GD_S_TIMEOUT_9, 2, 21 }, /* timeout sounds are examples which do not need "force restart" flag. */ - { GD_S_TIMEOUT_8, 2, 22 }, - { GD_S_TIMEOUT_7, 2, 23 }, - { GD_S_TIMEOUT_6, 2, 24 }, - { GD_S_TIMEOUT_5, 2, 25 }, - { GD_S_TIMEOUT_4, 2, 26 }, - { GD_S_TIMEOUT_3, 2, 27 }, - { GD_S_TIMEOUT_2, 2, 28 }, - { GD_S_TIMEOUT_1, 2, 29 }, - { GD_S_TIMEOUT_0, 2, 150, GD_SP_FORCE }, - { GD_S_EXPLOSION, 2, 100, GD_SP_FORCE }, - { GD_S_BOMB_EXPLOSION, 2, 100, GD_SP_FORCE }, - { GD_S_GHOST_EXPLOSION, 2, 100, GD_SP_FORCE }, - { GD_S_VOODOO_EXPLOSION, 2, 100, GD_SP_FORCE }, - { GD_S_NITRO_EXPLOSION, 2, 100, GD_SP_FORCE }, - { GD_S_BOMB_PLACE, 2, 10 }, - { GD_S_FINISHED, 2, 15, GD_SP_FORCE | GD_SP_LOOPED }, /* precedence larger than normal, but smaller than timeout sounds */ - { GD_S_SWITCH_BITER, 2, 10 }, - { GD_S_SWITCH_CREATURES, 2, 10 }, - { GD_S_SWITCH_GRAVITY, 2, 10 }, - { GD_S_SWITCH_EXPANDING, 2, 10 }, - { GD_S_SWITCH_CONVEYOR, 2, 10 }, - { GD_S_SWITCH_REPLICATOR, 2, 10 }, + { GD_S_DOOR_OPENING, 2, 10 }, + { GD_S_DIRT_WALKING, 2, 10 }, + { GD_S_EMPTY_WALKING, 2, 10 }, + { GD_S_STIRRING, 2, 10 }, + { GD_S_BOX_PUSHING, 2, 10 }, + { GD_S_TELEPORTER, 2, 10 }, + { GD_S_TIMEOUT_10, 2, 20 }, /* timeout sounds have increasing precedence so they are always started */ + { GD_S_TIMEOUT_9, 2, 21 }, /* timeout sounds are examples which do not need "force restart" flag. */ + { GD_S_TIMEOUT_8, 2, 22 }, + { GD_S_TIMEOUT_7, 2, 23 }, + { GD_S_TIMEOUT_6, 2, 24 }, + { GD_S_TIMEOUT_5, 2, 25 }, + { GD_S_TIMEOUT_4, 2, 26 }, + { GD_S_TIMEOUT_3, 2, 27 }, + { GD_S_TIMEOUT_2, 2, 28 }, + { GD_S_TIMEOUT_1, 2, 29 }, + { GD_S_TIMEOUT_0, 2, 150, GD_SP_FORCE }, + { GD_S_EXPLODING, 2, 100, GD_SP_FORCE }, + { GD_S_BOMB_EXPLODING, 2, 100, GD_SP_FORCE }, + { GD_S_GHOST_EXPLODING, 2, 100, GD_SP_FORCE }, + { GD_S_VOODOO_EXPLODING, 2, 100, GD_SP_FORCE }, + { GD_S_NITRO_PACK_EXPLODING, 2, 100, GD_SP_FORCE }, + { GD_S_BOMB_PLACING, 2, 10 }, + { GD_S_FINISHED, 2, 15, GD_SP_FORCE | GD_SP_LOOPED }, /* precedence larger than normal, but smaller than timeout sounds */ + { GD_S_SWITCH_BITER, 2, 10 }, + { GD_S_SWITCH_CREATURES, 2, 10 }, + { GD_S_SWITCH_GRAVITY, 2, 10 }, + { GD_S_SWITCH_EXPANDING, 2, 10 }, + { GD_S_SWITCH_CONVEYOR, 2, 10 }, + { GD_S_SWITCH_REPLICATOR, 2, 10 }, /* channel 3 sounds. */ - { GD_S_AMOEBA, 3, 30, GD_SP_LOOPED }, - { GD_S_AMOEBA_MAGIC, 3, 40, GD_SP_LOOPED }, - { GD_S_MAGIC_WALL, 3, 35, GD_SP_LOOPED }, - { GD_S_COVER, 3, 100, GD_SP_LOOPED }, - { GD_S_PNEUMATIC_HAMMER, 3, 50, GD_SP_LOOPED }, - { GD_S_WATER, 3, 20, GD_SP_LOOPED }, - { GD_S_CRACK, 3, 150 }, - { GD_S_GRAVITY_CHANGE, 3, 60 }, + { GD_S_AMOEBA, 3, 30, GD_SP_LOOPED }, + { GD_S_AMOEBA_MAGIC, 3, 40, GD_SP_LOOPED }, + { GD_S_MAGIC_WALL, 3, 35, GD_SP_LOOPED }, + { GD_S_COVERING, 3, 100, GD_SP_LOOPED }, + { GD_S_PNEUMATIC_HAMMER, 3, 50, GD_SP_LOOPED }, + { GD_S_WATER, 3, 20, GD_SP_LOOPED }, + { GD_S_CRACKING, 3, 150 }, + { GD_S_GRAVITY_CHANGING, 3, 60 }, /* other sounds */ /* the bonus life sound has nothing to do with the cave. */ /* playing on channel 4. */ - { GD_S_BONUS_LIFE, 4, 0 }, + { GD_S_BONUS_LIFE, 4, 0 }, }; struct GdSoundInfo