summaryrefslogtreecommitdiff
path: root/src/audio.c
diff options
context:
space:
mode:
authorAldrik Ramaekers <aldrik@amftech.nl>2023-10-28 16:27:07 +0200
committerAldrik Ramaekers <aldrik@amftech.nl>2023-10-28 16:27:07 +0200
commitf2522c04446bb4bd597a8625f9398e67ff957565 (patch)
treebd5e7506a434978296397b9d0a0e95bf3ae04d60 /src/audio.c
parent1ac22220f6077b3367456384b4bb563f1c5c2d29 (diff)
more sounds
Diffstat (limited to 'src/audio.c')
-rw-r--r--src/audio.c30
1 files changed, 24 insertions, 6 deletions
diff --git a/src/audio.c b/src/audio.c
index 0c53538..b174610 100644
--- a/src/audio.c
+++ b/src/audio.c
@@ -1,10 +1,19 @@
#include "../include/audio.h"
+void add_zombie_audio_event_to_queue(audio_event_type event, zombie_type zombie, u32 playerid, vec3f position) {
+ for (int i = 0; i < max_audio_events; i++) {
+ if (audio_events[i].active) continue;
+
+ audio_events[i] = (audio_event){.active = true, .obj = OBJECT_NONE, .zombie = zombie, .playerid = playerid, .position = position, .type = event};
+ return;
+ }
+}
+
void add_object_audio_event_to_queue(audio_event_type event, object_type obj, u32 playerid, vec3f position) {
for (int i = 0; i < max_audio_events; i++) {
if (audio_events[i].active) continue;
- audio_events[i] = (audio_event){.active = true, .obj = obj, .playerid = playerid, .position = position, .type = event};
+ audio_events[i] = (audio_event){.active = true, .obj = obj, .zombie = ZOMBIE_TYPE_NONE, .playerid = playerid, .position = position, .type = event};
return;
}
}
@@ -35,7 +44,7 @@ static Mix_Chunk* get_sample_from_audio_event(audio_event event, u32 playerid) {
case EVENT_SHOOT: {
switch (p->guntype)
{
- case GUN_MP5: return wav_shoot_mp5;
+ case GUN_MP5: return wav_shoot_mp5;
default: return wav_error;
}
}
@@ -48,10 +57,19 @@ static Mix_Chunk* get_sample_from_audio_event(audio_event event, u32 playerid) {
}
case EVENT_IMPACT: {
- switch (event.obj)
- {
- case OBJECT_PLANTBOX1: return wav_impact_wood;
- default: return wav_error;
+ if (event.zombie != ZOMBIE_TYPE_NONE) {
+ switch (event.zombie)
+ {
+ case ZOMBIE_TYPE_NORMAL: return wav_impact_zombie;
+ default: return wav_error;
+ }
+ }
+ else {
+ switch (event.obj)
+ {
+ case OBJECT_PLANTBOX1: return wav_impact_wood;
+ default: return wav_error;
+ }
}
}