#include "world_gate.h"
#include "world_load.h"
#include "highscores.h"
+#include "network.h"
#include "font.h"
#include "pointcloud.h"
#include "shaders/scene_route.h"
#include "shaders/routeui.h"
-
+#if 0
static
void world_routes_local_set_record( world_instance *world, ent_route *route,
f64 lap_time )
vg_warn( "There is no associated track for this record...\n" );
}
}
-
+#endif
static void world_routes_clear( world_instance *world )
{
vg_info( "%u %f\n", world_static.current_run_version, world_static.time );
if( valid_count==route->checkpoints_count ){
- double lap_time = world_static.time - start_time;
- world_routes_local_set_record( world, route, lap_time );
+ f64 lap_time = world_static.time - start_time;
+ //world_routes_local_set_record( world, route, lap_time );
+
+ if( route->anon.official_track_id != 0xffffffff ){
+ struct track_info *ti = &track_infos[ route->anon.official_track_id ];
+ if( ti->achievement_id ){
+ steam_set_achievement( ti->achievement_id );
+ steam_store_achievements();
+ }
+ }
+
+ addon_alias *alias =
+ &world_static.instance_addons[ world_static.active_instance ]->alias;
+
+ char mod_uid[ ADDON_UID_MAX ];
+ addon_alias_uid( alias, mod_uid );
+ network_publish_laptime( mod_uid,
+ mdl_pstr( &world->meta, route->pstr_name ),
+ lap_time );
}
route->valid_checkpoints = valid_count+1;
vg_info( "Distributed %u points over %fkm^2!\n",
pcbuf->count, area/1e6f );
- world_write_preview( instance_id? world_static.addon_client:
- world_static.addon_hub,
- pcbuf );
+ world_write_preview( world_static.instance_addons[ instance_id ], pcbuf );
vg_async_dispatch( call_pointcloud, async_pointcloud_sub );
}