MENY
[carveJwlIkooP6JGAAIwe30JlM.git] / world_routes.h
index 1a51102f08f39f1cbec769e27af032502bfe8e7d..d8d36d210efcccc7dfd8747c7148f039af0664e5 100644 (file)
@@ -430,6 +430,7 @@ static void world_routes_ui_draw( u32 route, v4f colour, float offset )
    v4_copy( colour, fade_colour );
    fade_colour[3] *= 1.0f-fade_amt;
 
+   /* 1 minute timer */
    float timer_delta = (vg.time - world.routes.last_interaction) * (1.0/60.0),
          timer_scale = 1.0f - vg_minf( timer_delta, 1.0f );
 
@@ -495,7 +496,15 @@ static void world_routes_local_set_record( u32 route, double lap_time )
       temp.time     = time_centiseconds;
 
       highscores_push_record( &temp );
-      track_infos[ pr->track_id ].push = 1;
+
+      struct track_info *pti = &track_infos[ pr->track_id ];
+      pti->push = 1;
+      
+      if( pti->achievement_id )
+      {
+         steam_set_achievement( pti->achievement_id );
+         steam_store_achievements();
+      }
    }
    else
    {
@@ -1015,6 +1024,7 @@ static void world_routes_loadfrom( mdl_header *mdl )
                                      1, sizeof( struct route ) );
 
          struct route *route = &r->routes[r->route_count];
+         memset( route, 0, sizeof(struct route) );
 
          v3_copy( inf->colour, route->colour );
          route->colour[3] = 1.0f;