}
}
}
+ else if( button_down( k_srbind_jump ) && !player->immobile ){
+ w->state.jump_queued = 1;
+ w->state.jump_input_time = vg.time;
+ }
}
VG_STATIC int player_walk_normal_standable( player_instance *player, v3f n )
nominal_speed = k_walkspeed;
/* jump */
- if( button_down( k_srbind_jump ) ){
- float d = v3_dot( player->basis[1], player->rb.v );
- v3_muladds( player->rb.v, player->basis[1], -d, player->rb.v );
- v3_muladds( player->rb.v, player->basis[1], 5.0f, player->rb.v );
- w->state.activity = k_walk_activity_air;
- prev_state = k_walk_activity_air;
- accel_speed = k_walk_air_accel;
- nominal_speed = k_airspeed;
+ if( w->state.jump_queued ){
+ w->state.jump_queued = 0;
+
+ f32 t = vg.time - w->state.jump_input_time;
+ if( t < PLAYER_JUMP_EPSILON ){
+ float d = v3_dot( player->basis[1], player->rb.v );
+ v3_muladds( player->rb.v, player->basis[1], -d, player->rb.v );
+ v3_muladds( player->rb.v, player->basis[1], 5.0f, player->rb.v );
+ w->state.activity = k_walk_activity_air;
+ prev_state = k_walk_activity_air;
+ accel_speed = k_walk_air_accel;
+ nominal_speed = k_airspeed;
+ }
}
else{
player_friction( player->rb.v );
--- /dev/null
+<!DOCTYPE html>
+<html>
+ <head>
+ </head>
+
+ <body>
+ <h1>Workshop Guide - Custom boards</h1>
+ <p>
+ 1. Installing the blender addon
+ 2. Open the template board .blend
+ 3. Configure the export settings
+ 4. Create your art in GIMP
+ 5. Compile the model
+ 6. Test it out
+ 7. Upload to the workshop
+ </p>
+ </body>
+</html>