summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/asset_defs.c2
-rw-r--r--src/audio.c8
-rw-r--r--src/bullets.c13
-rw-r--r--src/game.c8
4 files changed, 19 insertions, 12 deletions
diff --git a/src/asset_defs.c b/src/asset_defs.c
index a83ad96..ee8dced 100644
--- a/src/asset_defs.c
+++ b/src/asset_defs.c
@@ -39,6 +39,8 @@ void load_assets() {
wav_throwable_bounce = Mix_LoadWAV("data/sounds/throwable_bounce.wav");
wav_shoot_mp5 = Mix_LoadWAV("data/sounds/shoot_mp5.wav");
wav_reload_mp5 = Mix_LoadWAV("data/sounds/reload_mp5.wav");
+ wav_shoot_nova = Mix_LoadWAV("data/sounds/shoot_nova.wav");
+ wav_reload_nova = Mix_LoadWAV("data/sounds/reload_nova.wav");
wav_impact_wood = Mix_LoadWAV("data/sounds/impact_wood.wav");
wav_error = Mix_LoadWAV("data/sounds/error.wav");
wav_impact_zombie = Mix_LoadWAV("data/sounds/impact_zombie.wav");
diff --git a/src/audio.c b/src/audio.c
index b174610..c6f69b9 100644
--- a/src/audio.c
+++ b/src/audio.c
@@ -26,8 +26,8 @@ static int get_channel_from_audio_event_type(audio_event_type event) {
switch (event)
{
case EVENT_BOUNCE_THROWABLE: return CHANNEL_THROWABLES;
- case EVENT_SHOOT:
- case EVENT_RELOAD: return CHANNEL_SHOOTING;
+ case EVENT_SHOOT: return CHANNEL_SHOOTING;
+ case EVENT_RELOAD: return CHANNEL_RELOAD;
case EVENT_IMPACT: return CHANNEL_IMPACT;
default: return 0;
@@ -45,13 +45,15 @@ static Mix_Chunk* get_sample_from_audio_event(audio_event event, u32 playerid) {
switch (p->guntype)
{
case GUN_MP5: return wav_shoot_mp5;
+ case GUN_NOVA: return wav_shoot_nova;
default: return wav_error;
}
}
case EVENT_RELOAD: {
switch (p->guntype)
{
- case GUN_MP5: return wav_reload_mp5;
+ case GUN_MP5: return wav_reload_mp5;
+ case GUN_NOVA: return wav_reload_nova;
default: return wav_error;
}
}
diff --git a/src/bullets.c b/src/bullets.c
index f7f033d..403b1b6 100644
--- a/src/bullets.c
+++ b/src/bullets.c
@@ -20,12 +20,6 @@ void shoot(platform_window* window, u32 id, float dirx, float diry) {
int bullets_to_shoot = g.bullets_per_shot;
if (bullets_to_shoot > p->ammo_in_mag) bullets_to_shoot = p->ammo_in_mag;
p->ammo_in_mag -= bullets_to_shoot;
- if (p->ammo_in_mag == 0) {
- add_audio_event_to_queue(EVENT_RELOAD, p->id, (vec3f){.x = p->playerx, .y = p->playery, .z = p->height});
- p->interact_state = INTERACT_RELOADING;
- p->sec_since_interact_state_change = 0;
- return;
- }
add_audio_event_to_queue(EVENT_SHOOT, p->id, (vec3f){.x = p->playerx, .y = p->playery, .z = p->height});
@@ -50,6 +44,13 @@ void shoot(platform_window* window, u32 id, float dirx, float diry) {
break;
}
}
+
+ if (p->ammo_in_mag == 0) {
+ add_audio_event_to_queue(EVENT_RELOAD, p->id, (vec3f){.x = p->playerx, .y = p->playery, .z = p->height});
+ p->interact_state = INTERACT_RELOADING;
+ p->sec_since_interact_state_change = 0;
+ return;
+ }
}
bool check_if_bullet_collided_with_section(float* dist_of_closest_intersect, vec2f bstart, vec2f bend, vec2f l1, vec2f l2, vec2f* intersect_point_buf) {
diff --git a/src/game.c b/src/game.c
index a9a91c1..ec1d3cd 100644
--- a/src/game.c
+++ b/src/game.c
@@ -52,6 +52,7 @@ void connect_to_server(char* ip, char* port) {
}
void load_map() {
+ log_info("STATE: GAMESTATE_LOADING_MAP");
global_state.state = GAMESTATE_LOADING_MAP;
outgoing_allocator = create_allocator(MAX_NETWORK_BUFFER_SIZE);
@@ -71,12 +72,13 @@ void load_map() {
thread t = thread_start(pathfinding_thread, 0);
thread_detach(&t);
- global_state.state = GAMESTATE_PLAYING;
- log_info("Done loading map");
+ log_info("STATE: GAMESTATE_LOADING_ASSETS");
+ global_state.state = GAMESTATE_LOADING_ASSETS;
}
void init_game() {
- global_state.state = IDLE;
+ log_info("STATE: GAMESTATE_IDLE");
+ global_state.state = GAMESTATE_IDLE;
global_state.network_state = DISCONNECTED;
load_assets();