performance measurements
[carveJwlIkooP6JGAAIwe30JlM.git] / world_routes.c
index e0b5fa3f0498c211a108155c01743f960850a1fa..2fe52a66367e61c76441c31b01295f64ada2610b 100644 (file)
@@ -135,6 +135,9 @@ static void world_routes_time_lap( world_instance *world, ent_route *route ){
 
    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;
 }
 
 /*
@@ -312,8 +315,8 @@ void world_routes_place_curve( world_instance *world, ent_route *route,
             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;
@@ -554,6 +557,8 @@ static void world_gen_routes_ent_init( world_instance *world ){
 
       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;
@@ -899,7 +904,10 @@ static void render_gate_markers( m4x3f world_mmdl, int run_id, ent_gate *gate ){
    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] );