Skip to content

Commit

Permalink
- added 2 new sounds for rive
Browse files Browse the repository at this point in the history
- added new sound for natives
- implements all sound for houses
  • Loading branch information
eugenikus8 committed Feb 4, 2025
1 parent 52b15f9 commit 26e6fb3
Show file tree
Hide file tree
Showing 3 changed files with 89 additions and 48 deletions.
90 changes: 64 additions & 26 deletions src/sound/city.c
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,26 @@
#define CONSTRUCTION_SITE_CHANNEL 64

enum {
SOUND_CHANNEL_CITY_HOUSE_SLUM = 30,
SOUND_CHANNEL_CITY_HOUSE_POOR = 34,
SOUND_CHANNEL_CITY_HOUSE_MEDIUM = 38,
SOUND_CHANNEL_CITY_HOUSE_GOOD = 42,
SOUND_CHANNEL_CITY_HOUSE_POSH = 46,
SOUND_CHANNEL_CITY_HOUSE_SLUM1 = 30,
SOUND_CHANNEL_CITY_HOUSE_SLUM2 = 31,
SOUND_CHANNEL_CITY_HOUSE_SLUM3 = 32,
SOUND_CHANNEL_CITY_HOUSE_SLUM4 = 33,
SOUND_CHANNEL_CITY_HOUSE_POOR1 = 34,
SOUND_CHANNEL_CITY_HOUSE_POOR2 = 35,
SOUND_CHANNEL_CITY_HOUSE_POOR3 = 36,
SOUND_CHANNEL_CITY_HOUSE_POOR4 = 37,
SOUND_CHANNEL_CITY_HOUSE_MEDIUM1 = 38,
SOUND_CHANNEL_CITY_HOUSE_MEDIUM2 = 39,
SOUND_CHANNEL_CITY_HOUSE_MEDIUM3 = 40,
SOUND_CHANNEL_CITY_HOUSE_MEDIUM4 = 41,
SOUND_CHANNEL_CITY_HOUSE_GOOD1 = 42,
SOUND_CHANNEL_CITY_HOUSE_GOOD2 = 43,
SOUND_CHANNEL_CITY_HOUSE_GOOD3 = 44,
SOUND_CHANNEL_CITY_HOUSE_GOOD4 = 45,
SOUND_CHANNEL_CITY_HOUSE_POSH1 = 46,
SOUND_CHANNEL_CITY_HOUSE_POSH2 = 47,
SOUND_CHANNEL_CITY_HOUSE_POSH3 = 48,
SOUND_CHANNEL_CITY_HOUSE_POSH4 = 49,
SOUND_CHANNEL_CITY_AMPHITHEATER = 50,
SOUND_CHANNEL_CITY_THEATER = 51,
SOUND_CHANNEL_CITY_HIPPODROME = 52,
Expand Down Expand Up @@ -88,13 +103,15 @@ enum {
SOUND_CHANNEL_CITY_EMPTY_LAND3 = 130,
//SOUND_CHANNEL_CITY_EMPTY_LAND4 = 131,
SOUND_CHANNEL_CITY_CITY_MINT = 132,
SOUND_CHANNEL_CITY_RIVER = 133,
SOUND_CHANNEL_CITY_RIVER1 = 133,
SOUND_CHANNEL_CITY_MISSION_POST = 134,
SOUND_CHANNEL_CITY_BRICKWORKS = 135,
SOUND_CHANNEL_CITY_LIGHTHOUSE = 136,
SOUND_CHANNEL_CITY_DEPOT = 137,
SOUND_CHANNEL_CITY_CONCRETE_MAKER = 138,
SOUND_CHANNEL_CITY_CONSTRUCTION_SITE = 139,
SOUND_CHANNEL_CITY_RIVER2 = 139,
SOUND_CHANNEL_CITY_NATIVE_HUT = 140,
SOUND_CHANNEL_CITY_CONSTRUCTION_SITE = 141,
};

typedef struct {
Expand All @@ -111,30 +128,34 @@ typedef struct {
} city_channel;

static city_channel channels[MAX_CHANNELS];
static int ambient_channels[] = { 61, 74, 75, 62}; // turn on "empty land" and river sound
static int ambient_channels_number = 4;
static int ambient_channels[] = { 61, 74, 75, 62, 94 }; // "empty land" and river
static int ambient_channels_number = 5;

static const int BUILDING_TYPE_TO_CHANNEL_ID[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, //0-9
1, 1, 1, 1, 1, 1, 2, 2, 2, 2, //10-19
3, 3, 3, 3, 4, 4, 4, 4, 5, 5, //20-29
1, 79, 80, 81, 2, 82, 83, 84, 3, 85, //10-19 (SLUM) S_TENT 10[1], L_TENT 11[79], S_SHACK 12[80], L_SHACK 13[81],
// (POOR) S_HOVEL 14[2], L_HOVEL 15[82], S_CASA 16[83], L_CASA 17[84]
// (MEDIUM) S_INSULA 18[3], M_INSULA 19[85],
86, 87, 4, 88, 89, 90, 5, 91, 92, 93, //20-29 (MEDIUM) L_INSULA 20[86], G_INSULA 21[87]
// (GOOD) S_VILLA 22[4], M_VILLA 23[88], L_VILLA 24[89], G_VILLA 25[90],
// (POSH) SMALL_PALACE 26[5], MED_PALACE 27[91], LARG_PALACE 28[92], LUX_PALACE 29[93]
6, 7, 8, 9, 10, 11, 12, 13, 0, 14, //30-39
0, 0, 0, 0, 0, 0, 15, 16, 17, 18, //40-49
0, 19, 20, 21, 0, 22, 0, 23, 24, 24, //50-59
25, 26, 27, 28, 29, 25, 26, 27, 28, 29, //60-69
30, 31, 32, 0, 33, 34, 35, 36, 36, 36, //70-79
63, 37, 0, 0, 38, 38, 39, 39, 0, 0, // 80-89
40, 0, 0, 0, 43, 0, 0, 0, 44, 45, //90-99
63, 37, 0, 0, 38, 38, 39, 39, 95, 95, // 80-89 NATIVE_HUT 88[95], NATIVE_MEETING 89[95]
40, 0, 0, 0, 43, 0, 0, 0, 44, 45, //90-99 NATIVE_CROPS 93[-]
46, 47, 48, 49, 50, 51, 52, 53, 54, 55, //100-109
56, 57, 58, 59, 60, 0, 70, 25, 26, 27, //110-119 WORKCAMP = 116[70]
56, 57, 58, 59, 60, 0, 70, 25, 26, 27, //110-119 WORKCAMP 116[70]
28, 29, 0, 0, 0, 0, 0, 0, 0, 0, //120-129
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, //130-139
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, //140-149
0, 0, 44, 37, 68, 69, 0, 0, 66, 0, //150-159 MESS_HALL = 154[68], LIGHTHOUSE = 155[69], TAVERN = 158[66]
9, 0, 0, 0, 0, 0, 0, 0, 0, 0, //160-169
44, 44, 44, 71, 0, 0, 67, 0, 0, 0, //170-179 WATCHTOWER = 173[71], CARAVANSERAI = 176[67]
0, 0, 0, 0, 53, 72, 73, 55, 52, 78, //180-189 CITY_MINT = 185[72], DEPOT = 186[73], CONCRETE_MAKER = 189[78]
77, 0, 0, 0, 0, 0, 0, 0, 0, 0, //190-199 BRICKWORKS = 190[77]
0, 0, 44, 37, 68, 69, 0, 0, 66, 0, //150-159 MESS_HALL 154[68], LIGHTHOUSE 155[69], TAVERN 158[66]
9, 0, 0, 0, 0, 0, 0, 0, 0, 0, //160-169 ARENA 160[9]
44, 44, 44, 71, 0, 0, 67, 0, 0, 0, //170-179 WATCHTOWER 173[71], CARAVANSERAI 176[67]
0, 0, 0, 0, 53, 72, 73, 55, 52, 78, //180-189 CITY_MINT 185[72], DEPOT 186[73], CONCRETE_MAKER 189[78]
77, 0, 0, 0, 0, 0, 0, 0, 0, 0, //190-199 BRICKWORKS 190[77]
0, 0, 0, 65, 0, 0, 0, 0, 0, 0, //200-209
};

Expand All @@ -147,16 +168,16 @@ void sound_city_init(void)
for (int i = 0; i < MAX_CHANNELS; i++) {
channels[i].last_played_time = last_update_time;
}
for (int i = 1; i < 80; i++) {
for (int i = 1; i < 100; i++) {
channels[i].in_use = 1;
channels[i].views_threshold = 200;
channels[i].delay_millis = 30000;
}
channels[1].channel = SOUND_CHANNEL_CITY_HOUSE_SLUM;
channels[2].channel = SOUND_CHANNEL_CITY_HOUSE_POOR;
channels[3].channel = SOUND_CHANNEL_CITY_HOUSE_MEDIUM;
channels[4].channel = SOUND_CHANNEL_CITY_HOUSE_GOOD;
channels[5].channel = SOUND_CHANNEL_CITY_HOUSE_POSH;
channels[1].channel = SOUND_CHANNEL_CITY_HOUSE_SLUM1;
channels[2].channel = SOUND_CHANNEL_CITY_HOUSE_POOR1;
channels[3].channel = SOUND_CHANNEL_CITY_HOUSE_MEDIUM1;
channels[4].channel = SOUND_CHANNEL_CITY_HOUSE_GOOD1;
channels[5].channel = SOUND_CHANNEL_CITY_HOUSE_POSH1;
channels[6].channel = SOUND_CHANNEL_CITY_AMPHITHEATER;
channels[7].channel = SOUND_CHANNEL_CITY_THEATER;
channels[8].channel = SOUND_CHANNEL_CITY_HIPPODROME;
Expand Down Expand Up @@ -213,7 +234,7 @@ void sound_city_init(void)
channels[59].channel = SOUND_CHANNEL_CITY_FURNITURE_WORKSHOP;
channels[60].channel = SOUND_CHANNEL_CITY_POTTERY_WORKSHOP;
channels[61].channel = SOUND_CHANNEL_CITY_EMPTY_LAND1;
channels[62].channel = SOUND_CHANNEL_CITY_RIVER;
channels[62].channel = SOUND_CHANNEL_CITY_RIVER1;
channels[63].channel = SOUND_CHANNEL_CITY_MISSION_POST;
channels[64].channel = SOUND_CHANNEL_CITY_CONSTRUCTION_SITE;
channels[65].channel = SOUND_CHANNEL_CITY_ARMOURY;
Expand All @@ -230,6 +251,23 @@ void sound_city_init(void)
//channels[76].channel = SOUND_CHANNEL_CITY_EMPTY_LAND4;
channels[77].channel = SOUND_CHANNEL_CITY_BRICKWORKS;
channels[78].channel = SOUND_CHANNEL_CITY_CONCRETE_MAKER;
channels[79].channel = SOUND_CHANNEL_CITY_HOUSE_SLUM2;
channels[80].channel = SOUND_CHANNEL_CITY_HOUSE_SLUM3;
channels[81].channel = SOUND_CHANNEL_CITY_HOUSE_SLUM4;
channels[82].channel = SOUND_CHANNEL_CITY_HOUSE_POOR2;
channels[83].channel = SOUND_CHANNEL_CITY_HOUSE_POOR3;
channels[84].channel = SOUND_CHANNEL_CITY_HOUSE_POOR4;
channels[85].channel = SOUND_CHANNEL_CITY_HOUSE_MEDIUM2;
channels[86].channel = SOUND_CHANNEL_CITY_HOUSE_MEDIUM3;
channels[87].channel = SOUND_CHANNEL_CITY_HOUSE_MEDIUM4;
channels[88].channel = SOUND_CHANNEL_CITY_HOUSE_GOOD2;
channels[89].channel = SOUND_CHANNEL_CITY_HOUSE_GOOD3;
channels[90].channel = SOUND_CHANNEL_CITY_HOUSE_GOOD4;
channels[91].channel = SOUND_CHANNEL_CITY_HOUSE_POSH2;
channels[92].channel = SOUND_CHANNEL_CITY_HOUSE_POSH3;
channels[93].channel = SOUND_CHANNEL_CITY_HOUSE_POSH4;
channels[94].channel = SOUND_CHANNEL_CITY_RIVER2;
channels[95].channel = SOUND_CHANNEL_CITY_NATIVE_HUT;
}

void sound_city_set_volume(int percentage)
Expand Down
42 changes: 21 additions & 21 deletions src/sound/system.c
Original file line number Diff line number Diff line change
Expand Up @@ -62,25 +62,25 @@ static char channel_filenames[SOUND_CHANNEL_MAX][CHANNEL_FILENAME_MAX] = {
"wavs/formation_shield.wav",
// city sounds
"wavs/house_slum1.wav",
"",
"",
"",
"wavs/house_slum2.wav",
"wavs/house_slum3.wav",
"wavs/house_slum4.wav",
"wavs/house_poor1.wav",
"",
"",
"",
"wavs/house_poor2.wav",
"wavs/house_poor3.wav",
"wavs/house_poor4.wav",
"wavs/house_mid1.wav",
"",
"",
"",
"wavs/house_mid2.wav",
"wavs/house_mid3.wav",
"wavs/house_mid4.wav",
"wavs/house_good1.wav",
"",
"",
"",
"wavs/house_good2.wav",
"wavs/house_good3.wav",
"wavs/house_good4.wav",
"wavs/house_posh1.wav",
"",
"",
"",
"wavs/house_posh2.wav",
"wavs/house_posh3.wav",
"wavs/house_posh4.wav",
"wavs/ampitheatre.wav",
"wavs/theatre.wav",
"wavs/hippodrome.wav",
Expand All @@ -100,7 +100,7 @@ static char channel_filenames[SOUND_CHANNEL_MAX][CHANNEL_FILENAME_MAX] = {
"wavs/school.wav",
"wavs/academy.wav",
"wavs/library.wav",
"wavs/prefecture.wav",
ASSETS_DIRECTORY "/Sounds/Prefect.wav", // "wavs/prefecture.wav",
"wavs/fort1.wav",
"",
"",
Expand Down Expand Up @@ -129,7 +129,7 @@ static char channel_filenames[SOUND_CHANNEL_MAX][CHANNEL_FILENAME_MAX] = {
"wavs/wharf1.wav",
"",
"wavs/palace.wav",
"wavs/eng_post.wav",
ASSETS_DIRECTORY "/Sounds/Engineer.wav", // "wavs/eng_post.wav",
"wavs/senate.wav",
"wavs/forum.wav",
"wavs/resevoir.wav",
Expand Down Expand Up @@ -164,14 +164,14 @@ static char channel_filenames[SOUND_CHANNEL_MAX][CHANNEL_FILENAME_MAX] = {
"wavs/empty_land3.wav",
"",
"wavs/coin.wav",
"wavs/river.wav",
ASSETS_DIRECTORY "/Sounds/Terrain01.wav", // river1 "wavs/river.wav",
"wavs/mission.wav",
ASSETS_DIRECTORY "/Sounds/Brickworks.wav",
ASSETS_DIRECTORY "/Sounds/Lighthouse.wav",
ASSETS_DIRECTORY "/Sounds/Ox.wav",
ASSETS_DIRECTORY "/Sounds/Ox.wav", // DEPOT
ASSETS_DIRECTORY "/Sounds/ConcreteMaker.wav",
ASSETS_DIRECTORY "/Sounds/Engineer.wav",
ASSETS_DIRECTORY "/Sounds/Prefect.wav",
ASSETS_DIRECTORY "/Sounds/Terrain02.wav", // river2
ASSETS_DIRECTORY "/Sounds/NativeHut.wav",
};

static void correct_channel_filenames(void)
Expand Down
5 changes: 4 additions & 1 deletion src/window/building/utility.c
Original file line number Diff line number Diff line change
Expand Up @@ -360,7 +360,7 @@ void window_building_draw_mission_post(building_info_context *c)
static void draw_native(building_info_context *c, int group_id)
{
c->help_id = 0;
window_building_play_sound(c, "wavs/empty_land.wav");
//window_building_play_sound(c, "wavs/empty_land.wav");
outer_panel_draw(c->x_offset, c->y_offset, c->width_blocks, c->height_blocks);
lang_text_draw_centered(group_id, 0, c->x_offset, c->y_offset + 10,
BLOCK_SIZE * c->width_blocks, FONT_LARGE_BLACK);
Expand All @@ -370,16 +370,19 @@ static void draw_native(building_info_context *c, int group_id)
void window_building_draw_native_hut(building_info_context *c)
{
draw_native(c, 131);
window_building_play_sound(c, ASSETS_DIRECTORY "/Sounds/NativeHut.wav");
}

void window_building_draw_native_meeting(building_info_context *c)
{
draw_native(c, 132);
window_building_play_sound(c, ASSETS_DIRECTORY "/Sounds/NativeHut.wav");
}

void window_building_draw_native_crops(building_info_context *c)
{
draw_native(c, 133);
window_building_play_sound(c, "wavs/empty_land.wav");
}

void window_building_draw_highway(building_info_context *c)
Expand Down

0 comments on commit 26e6fb3

Please sign in to comment.