small bugs
authorhgn <hgodden00@gmail.com>
Tue, 11 Apr 2023 19:39:11 +0000 (20:39 +0100)
committerhgn <hgodden00@gmail.com>
Tue, 11 Apr 2023 19:39:11 +0000 (20:39 +0100)
blender_export.py
maps_src/mp_mtzero.mdl
skaterift.c
world_routes.h

index f9b225d43507f1880058dd252e5bb6fc9e551783..eed99af0d9293536fa9e43335a686fe090564069 100644 (file)
@@ -2041,7 +2041,7 @@ class SR_OT_ROUTE_LIST_DEL_ITEM(bpy.types.Operator):
    @classmethod 
    def poll(cls, context):#{
       active_object = context.active_object
-      if obj_ent_type(active_object) == 'ent_gate':#{
+      if obj_ent_type(active_object) == 'ent_route':#{
          return active_object.SR_data.ent_route[0].gates
       #}
       else: return False
index 29b4aff015d6603d6c9778832e41672e23411ad5..4eb90fc07f37f99a2e8694f9e3452809319d5e83 100644 (file)
Binary files a/maps_src/mp_mtzero.mdl and b/maps_src/mp_mtzero.mdl differ
index 8b909d2e2450fb83b053d7f73c2f40dcf99ec6b1..1d8e564359ef810e34532e131a876b568f417454 100644 (file)
@@ -246,8 +246,8 @@ VG_STATIC void vg_load(void)
    /* 'systems' are completely loaded now */
 
    /* load home world */
-   world_load( &world_global.worlds[0], "maps/mp_gridmap.mdl" );
-   //world_load( &world_global.worlds[0], "maps/mp_mtzero.mdl" );
+   //world_load( &world_global.worlds[0], "maps/mp_gridmap.mdl" );
+   world_load( &world_global.worlds[0], "maps/mp_mtzero.mdl" );
 
 #if 0
    world_load( &world_global.worlds[1], "maps/mp_gridmap.mdl" );
index e47ebe2739f6b0dabc6744fbd3864788b600d95a..df758da8bd7a7fe5d7bb218ac00b7f6742eb7fed 100644 (file)
@@ -84,13 +84,17 @@ VG_STATIC void world_routes_time_lap( world_instance *world, ent_route *route )
    u32 valid_count=0;
 
    for( u32 i=0; i<route->checkpoints_count; i++ ){
-      u32 cpid  = route->checkpoints_start+(i+route->active_checkpoint);
-          cpid  = cpid % route->checkpoints_count;
+      u32 cpid  = (i+route->active_checkpoint) % route->checkpoints_count;
+          cpid += route->checkpoints_start;
 
       ent_checkpoint *cp = mdl_arritm( &world->ent_checkpoint, cpid );
       ent_gate *rg = mdl_arritm( &world->ent_gate, cp->gate_index );
                 rg = mdl_arritm( &world->ent_gate, rg->target );
 
+      if( i == 1 ){
+         route->timing_base = rg->timing_time;
+      }
+
       if( i == 0 )
          start_time = rg->timing_time;
       else{
@@ -99,10 +103,16 @@ VG_STATIC void world_routes_time_lap( world_instance *world, ent_route *route )
       }
 
       last_version = rg->timing_version;
-      vg_info( "%u %f\n", rg->timing_version, rg->timing_time );
+      vg_info( "%u %f\n", rg, rg->timing_version, rg->timing_time );
    }
 
-   if( world_global.current_run_version == last_version+1 ) valid_count ++;
+   if( world_global.current_run_version == last_version+1 ){
+      valid_count ++;
+
+      if( route->checkpoints_count == 1 ){
+         route->timing_base = world_global.time;
+      }
+   }
    else valid_count = 0;
 
    vg_info( "%u %f\n", world_global.current_run_version, world_global.time );
@@ -113,7 +123,6 @@ VG_STATIC void world_routes_time_lap( world_instance *world, ent_route *route )
    }
 
    route->valid_checkpoints = valid_count+1;
-   route->timing_base = start_time;
 
    vg_info( "valid: %u\n", valid_count );
    vg_info( "----------------------------\n" );