now fall in immobile mode
authorhgn <hgodden00@gmail.com>
Sun, 13 Aug 2023 09:39:31 +0000 (10:39 +0100)
committerhgn <hgodden00@gmail.com>
Sun, 13 Aug 2023 09:39:31 +0000 (10:39 +0100)
player_walk.c

index 1f706c2ad3f875d108dd14c405fb8f32e704f34d..841574142d12071831958f0c68e67df30b864e59 100644 (file)
@@ -421,9 +421,6 @@ VG_STATIC void player__walk_update( player_instance *player ){
 
    enum walk_activity prev_state = w->state.activity;
 
-   if( player->immobile )
-      return;
-
    w->collider.height = 2.0f;
    w->collider.radius = 0.3f;
 
@@ -447,7 +444,7 @@ VG_STATIC void player__walk_update( player_instance *player ){
    v2f steer;
    joystick_state( k_srjoystick_steer, steer );
 
-   w->move_speed = v2_length( steer );
+   w->move_speed = player->immobile? 0.0f: v2_length( steer );
 
    /* 
     * Collision detection
@@ -597,6 +594,11 @@ VG_STATIC void player__walk_update( player_instance *player ){
                   player->rb.v );
    }
 
+   if( player->immobile ){
+      player->rb.v[0] = 0.0f;
+      player->rb.v[2] = 0.0f;
+   }
+
    v3_muladds( player->rb.co, player->rb.v, k_rb_delta, player->rb.co );
    v3_add( player->rb.co, player->basis[1], mtx[3] );
    vg_line_capsule( mtx, w->collider.radius, w->collider.height, VG__GREEN );