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:
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:
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:
/* 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++)
/* 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++)
/* 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;
/* 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;
/* +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;
{
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;
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;
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++;
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;
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:
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:
/* 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;
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;
}
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);
}
}
}
/* 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)
/* 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;
}
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 */
}
}
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 */
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