render placeholder boards at store
[carveJwlIkooP6JGAAIwe30JlM.git] / world_entity.c
index 834ede636ab83ec8c6e4d235959e2b352c06f880..947a3bdc387c11a13ffa6b980231c5e42fefa619 100644 (file)
@@ -81,12 +81,14 @@ static void world_entity_focus_preupdate(void){
 
 /* additional renderings like text etc.. */
 static void world_entity_focus_render(void){
-   if( skaterift.activity != k_skaterift_ent_focus )
+   world_instance *world = world_current_instance();
+   if( skaterift.activity != k_skaterift_ent_focus ){
+      skateshop_render_nonfocused( world, &skaterift.cam );
       return;
+   }
 
    u32 type = mdl_entity_id_type( world_static.focused_entity ),
        index = mdl_entity_id_id( world_static.focused_entity );
-   world_instance *world = world_current_instance();
 
    if( type == k_ent_skateshop ){
       ent_skateshop *skateshop = mdl_arritm( &world->ent_skateshop, index );
@@ -648,6 +650,25 @@ static void world_entity_start( world_instance *world, vg_msg *sav ){
 
                cp->best_time = sections[j];
             }
+
+            /* LEGACY: check if steam achievements can give us a medal */
+            if( steam_ready  && steam_stats_ready ){
+               for( u32 j=0; j<vg_list_size(track_infos); j ++ ){
+                  struct track_info *inf = &track_infos[j];
+                  if( !strcmp(inf->name,
+                              mdl_pstr(&world->meta,route->pstr_name))){
+                     
+                     steamapi_bool set = 0;
+                     if( SteamAPI_ISteamUserStats_GetAchievement( 
+                              hSteamUserStats, inf->achievement_id, &set ) )
+                     {
+                        if( set ){
+                           route->flags |= k_ent_route_flag_achieve_silver;
+                        }
+                     }
+                  }
+               }
+            }
          }
       }
    }