extremely hacky achievement models lol
[carveJwlIkooP6JGAAIwe30JlM.git] / world_entity.c
index 947a3bdc387c11a13ffa6b980231c5e42fefa619..02bbeb2b342d26141ef52c4a674688106cc50732 100644 (file)
@@ -560,6 +560,29 @@ static void entity_bh_debug( void *user, u32 item_index ){
    }
 }
 
+static void update_ach_models(void){
+   world_instance *hub = &world_static.instances[k_world_purpose_hub];
+   if( hub->status != k_world_status_loaded ) return;
+
+   for( u32 i=0; i<mdl_arrcount( &hub->ent_prop ); i ++ ){
+      ent_prop *prop = mdl_arritm( &hub->ent_prop, i );
+      if( prop->flags & 0x2 ){
+         if( MDL_CONST_PSTREQ( &hub->meta, prop->pstr_alias, "MARC" ) )
+            if( skaterift.achievements & 0x1 )
+               prop->flags &= ~0x1;
+         if( MDL_CONST_PSTREQ( &hub->meta, prop->pstr_alias, "ALBERT" ) )
+            if( skaterift.achievements & 0x2 )
+               prop->flags &= ~0x1;
+         if( MDL_CONST_PSTREQ( &hub->meta, prop->pstr_alias, "JANET" ) )
+            if( skaterift.achievements & 0x4 )
+               prop->flags &= ~0x1;
+         if( MDL_CONST_PSTREQ( &hub->meta, prop->pstr_alias, "BERNADETTA" ) )
+            if( skaterift.achievements & 0x8 )
+               prop->flags &= ~0x1;
+      }
+   }
+}
+
 static void entity_bh_closest( void *user, u32 item_index, v3f point,
                                   v3f closest ){
    world_instance *world = user;
@@ -652,7 +675,7 @@ static void world_entity_start( world_instance *world, vg_msg *sav ){
             }
 
             /* LEGACY: check if steam achievements can give us a medal */
-            if( steam_ready  && steam_stats_ready ){
+            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,