From deeeb92628344011651548372e7e27dca780dfc3 Mon Sep 17 00:00:00 2001 From: Vito Caputo Date: Thu, 8 Dec 2022 10:15:52 -0800 Subject: sfx,game: introduce sfx_t.tv_talk[10] for talking head There can be assets/talk/[0-9].wav now, one of which will be played along with adult-captivated.wav Intended to match the new talking head .ans --- src/game.c | 6 ++++++ src/sfx.c | 10 ++++++++++ src/sfx.h | 1 + 3 files changed, 17 insertions(+) diff --git a/src/game.c b/src/game.c index 84b1a85..0f14465 100644 --- a/src/game.c +++ b/src/game.c @@ -882,6 +882,12 @@ static ix2_search_status_t adult_search(void *cb_context, ix2_object_t *ix2_obje game->adult->captivated = 1; sfx_play(sfx.adult_captivated); + /* shifted because rand() tends to have more activity in the upper bits, + * but this could be more careful about avoiding repetition by randomizing + * a 0-9 list every time it stepped through said list. TODO + */ + sfx_play(sfx.tv_talk[(rand() >> 8) % NELEMS(sfx.tv_talk)]); + return IX2_SEARCH_STOP_HIT; case ENTITY_TYPE_MASK: diff --git a/src/sfx.c b/src/sfx.c index 9cd8fac..063ec13 100644 --- a/src/sfx.c +++ b/src/sfx.c @@ -33,6 +33,16 @@ void sfx_init(void) sfx.adult_maskhit = Mix_LoadWAV("assets/adult-maskhit.wav"); sfx.adult_mine = Mix_LoadWAV("assets/adult-mine.wav"); sfx.adult_unmasked = Mix_LoadWAV("assets/adult-unmasked.wav"); + sfx.tv_talk[0] = Mix_LoadWAV("assets/talk/0.wav"); + sfx.tv_talk[1] = Mix_LoadWAV("assets/talk/1.wav"); + sfx.tv_talk[2] = Mix_LoadWAV("assets/talk/2.wav"); + sfx.tv_talk[3] = Mix_LoadWAV("assets/talk/3.wav"); + sfx.tv_talk[4] = Mix_LoadWAV("assets/talk/4.wav"); + sfx.tv_talk[5] = Mix_LoadWAV("assets/talk/5.wav"); + sfx.tv_talk[6] = Mix_LoadWAV("assets/talk/6.wav"); + sfx.tv_talk[7] = Mix_LoadWAV("assets/talk/7.wav"); + sfx.tv_talk[8] = Mix_LoadWAV("assets/talk/8.wav"); + sfx.tv_talk[9] = Mix_LoadWAV("assets/talk/9.wav"); } diff --git a/src/sfx.h b/src/sfx.h index 1b8f81d..59b8ebe 100644 --- a/src/sfx.h +++ b/src/sfx.h @@ -30,6 +30,7 @@ typedef struct sfx_t { Mix_Chunk *adult_maskhit; Mix_Chunk *adult_mine; Mix_Chunk *adult_unmasked; + Mix_Chunk *tv_talk[10]; } sfx_t; extern sfx_t sfx; -- cgit v1.2.3