diff options
author | Vito Caputo <vcaputo@pengaru.com> | 2022-12-05 18:01:42 -0800 |
---|---|---|
committer | Vito Caputo <vcaputo@pengaru.com> | 2022-12-05 18:27:22 -0800 |
commit | 1d8f30eb26a13c5be62526e201948aaa16caf236 (patch) | |
tree | 0dbbe06c57d8368fffe4e260be2058c6d3437bcf | |
parent | f8c50c92441ac82d8f1c38f57b9fa0b56f4bb432 (diff) |
sfx,game: introduce adult_unmasked.wav sound effect
This plays whenever the adult runs out of masks
-rw-r--r-- | src/game.c | 13 | ||||
-rw-r--r-- | src/sfx.c | 1 | ||||
-rw-r--r-- | src/sfx.h | 1 |
3 files changed, 10 insertions, 5 deletions
@@ -655,8 +655,10 @@ static ix2_search_status_t virus_search(void *cb_context, ix2_object_t *ix2_obje if (entity->adult.masked) { reset_virus(search->virus); - if (!--entity->adult.masked) - (void) adult_node_new(&(stage_conf_t){ .stage = search->game->adult->entity.node, .replace = 1, .name = "adult-masked", .active = 1, .alpha = 1.f }, &search->game->sars->projection_x, &search->game->adult->entity.model_x); + if (!--entity->adult.masked) { + (void) adult_node_new(&(stage_conf_t){ .stage = search->game->adult->entity.node, .replace = 1, .name = "adult-unmasked", .active = 1, .alpha = 1.f }, &search->game->sars->projection_x, &search->game->adult->entity.model_x); + sfx_play(sfx.adult_unmasked); + } (void) flash_entity(search->game, &entity->any, 4); @@ -847,9 +849,10 @@ static ix2_search_status_t adult_search(void *cb_context, ix2_object_t *ix2_obje return IX2_SEARCH_MORE_MISS; if (game->adult->masked) { - if (!--game->adult->masked) - (void) adult_node_new(&(stage_conf_t){ .stage = game->adult->entity.node, .replace = 1, .name = "adult-masked", .active = 1, .alpha = 1.f }, &game->sars->projection_x, &game->adult->entity.model_x); - flash_entity(game, &game->adult->entity, 4); + if (!--game->adult->masked) { + (void) adult_node_new(&(stage_conf_t){ .stage = game->adult->entity.node, .replace = 1, .name = "adult-unmasked", .active = 1, .alpha = 1.f }, &game->sars->projection_x, &game->adult->entity.model_x); + sfx_play(sfx.adult_unmasked); + } (void) flash_entity(game, &game->adult->entity, 4); reset_virus(&entity->virus); @@ -30,6 +30,7 @@ void sfx_init(void) sfx.adult_infected = Mix_LoadWAV("assets/adult-infected.wav"); sfx.adult_captivated = Mix_LoadWAV("assets/adult-captivated.wav"); sfx.adult_mine = Mix_LoadWAV("assets/adult-mine.wav"); + sfx.adult_unmasked = Mix_LoadWAV("assets/adult-unmasked.wav"); } @@ -27,6 +27,7 @@ typedef struct sfx_t { Mix_Chunk *adult_infected; Mix_Chunk *adult_captivated; Mix_Chunk *adult_mine; + Mix_Chunk *adult_unmasked; } sfx_t; extern sfx_t sfx; |