#include "player.h"
#include "input.h"
+#include "audio.h"
VG_STATIC void player_walk_drop_in_vector( player_instance *player, v3f vec )
{
VG_STATIC int player_walk_scan_for_drop_in( player_instance *player )
{
struct player_walk *w = &player->_walk;
- world_instance *world = get_active_world();
+ world_instance *world = world_current_instance();
v3f dir, center;
q_mulv( player->rb.q, (v3f){0.0f,0.0f,1.0f}, dir );
struct player_walk *w = &player->_walk;
v3_copy( player->rb.co, w->state.prev_pos );
+ world_instance *world = world_current_instance();
+
+ if( world->water.enabled ){
+ if( player->rb.co[1]+0.4f < world->water.height ){
+ audio_oneshot_3d( &audio_splash, player->rb.co, 40.0f, 1.0f );
+ player__dead_transition( player );
+ return;
+ }
+ }
+
enum walk_activity prev_state = w->state.activity;
if( player->immobile )
joystick_state( k_srjoystick_steer, steer );
w->move_speed = v2_length( steer );
- world_instance *world = get_active_world();
/*
* Collision detection
audio_lock();
if( w->surface == k_surface_prop_concrete ){
audio_oneshot_3d(
- &audio_footsteps[rand()%vg_list_size(audio_footsteps)],
+ &audio_footsteps[vg_randu32()%vg_list_size(audio_footsteps)],
player->rb.co, 40.0f, 1.0f
);
}
else if( w->surface == k_surface_prop_grass ){
audio_oneshot_3d(
- &audio_footsteps_grass[rand()%vg_list_size(audio_footsteps_grass)],
+ &audio_footsteps_grass[vg_randu32()%vg_list_size(audio_footsteps_grass)],
player->rb.co, 40.0f, 1.0f
);
}
else if( w->surface == k_surface_prop_wood ){
audio_oneshot_3d(
- &audio_footsteps_wood[rand()%vg_list_size(audio_footsteps_wood)],
+ &audio_footsteps_wood[vg_randu32()%vg_list_size(audio_footsteps_wood)],
player->rb.co, 40.0f, 1.0f
);
}