restore achivements from steam
authorhgn <hgodden00@gmail.com>
Sat, 25 Nov 2023 09:30:22 +0000 (09:30 +0000)
committerhgn <hgodden00@gmail.com>
Sat, 25 Nov 2023 09:30:22 +0000 (09:30 +0000)
player_remote.c
world_entity.c

index ad1c2e5988de82a4bf7280b7353ba240625ba18b..b6ed77f67d949c2a9249be89055845ac32aa2124 100644 (file)
@@ -377,7 +377,7 @@ static void remote_player_network_imgui( m4x4f pv ){
          vg_strnull( &str, buf, sizeof(buf) );
          u32 fg = 0;
          network_status_string( &str, &fg );
-         ui_text( (ui_rect){ vg.window_x - 200, 0, 200, 32 }, buf, 1, 
+         ui_text( (ui_rect){ vg.window_x - 200, 0, 200, 48 }, buf, 1, 
                   k_ui_align_middle_center, fg );
       }
    }
index 834ede636ab83ec8c6e4d235959e2b352c06f880..04bbec9891749740e2cc8d51534e710b16371077 100644 (file)
@@ -648,6 +648,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;
+                        }
+                     }
+                  }
+               }
+            }
          }
       }
    }