vg_info( "valid sections: %u\n", valid_sections );
vg_info( "----------------------------\n" );
+
+ route->ui_residual = 1.0f;
+ route->ui_residual_block_w = route->ui_first_block_width;
}
/*
v3_muladds( ha.pos, up, 0.06f+gap, va.co );
v3_muladds( hb.pos, up, 0.06f+gap, vb.co );
- scene_vert_pack_norm( &va, up );
- scene_vert_pack_norm( &vb, up );
+ scene_vert_pack_norm( &va, up, 0.0f );
+ scene_vert_pack_norm( &vb, up, 0.0f );
float t1 = (travel_length / total_length) * patch_count;
va.uv[0] = t1;
vg_info( "Generating route meshes\n" );
vg_async_stall();
- vg_rand_seed( 2000 );
vg_async_item *call_scene = scene_alloc_async( &world->scene_lines,
&world->mesh_route_lines,
200000, 300000 );
route->flags = 0x00;
route->best_laptime = 0.0;
+ route->ui_stopper = 0.0f;
+ route->ui_residual = 0.0f;
if( mdl_arrcount(&world->ent_region) )
route->flags |= k_ent_route_flag_out_of_zone;
rb_presolve_contacts( rb_contact_buffer, rb_contact_count );
for( int i=0; i<rb_contact_count; i++ ){
- rb_contact_restitution( rb_contact_buffer+i, vg_randf64() );
+ rb_contact_restitution( rb_contact_buffer+i, vg_randf64(&vg.rand) );
}
for( int i=0; i<6; i++ ){
v3_muls( origin, -1.0f, particle->mlocal[3] );
v3_copy( world_co, particle->obj.rb.co );
- v3_muls( imp_v, 1.0f+vg_randf64(), particle->obj.rb.v );
+ v3_muls( imp_v, 1.0f+vg_randf64(&vg.rand), particle->obj.rb.v );
particle->obj.rb.v[1] += 2.0f;
v4_copy( q, particle->obj.rb.q );
- particle->obj.rb.w[0] = vg_randf64()*2.0f-1.0f;
- particle->obj.rb.w[1] = vg_randf64()*2.0f-1.0f;
- particle->obj.rb.w[2] = vg_randf64()*2.0f-1.0f;
+ particle->obj.rb.w[0] = vg_randf64(&vg.rand)*2.0f-1.0f;
+ particle->obj.rb.w[1] = vg_randf64(&vg.rand)*2.0f-1.0f;
+ particle->obj.rb.w[2] = vg_randf64(&vg.rand)*2.0f-1.0f;
particle->obj.type = k_rb_shape_sphere;
particle->obj.inf.sphere.radius = r*0.6f;
for( u32 j=0; j<4; j++ ){
if( gate->routes[j] == run_id ){
m4x3f mmdl;
- ent_gate_get_mdl_mtx( gate, mmdl );
+ m4x3_copy( gate->to_world, mmdl );
+ m3x3_scale( mmdl, (v3f){ gate->dimensions[0],
+ gate->dimensions[1], 1.0f } );
+
m4x3_mul( world_mmdl, mmdl, mmdl );
shader_model_gate_uMdl( mmdl );
mdl_draw_submesh( &world_gates.sm_marker[j] );