fix bug not updating leaderboards in map mode, fix route ui shown in replay
authorhgn <hgodden00@gmail.com>
Tue, 6 May 2025 08:09:51 +0000 (09:09 +0100)
committerhgn <hgodden00@gmail.com>
Tue, 6 May 2025 08:09:51 +0000 (09:09 +0100)
src/ent_route.c
src/skaterift.c
src/world_sfd.c

index bc0dff858278e81b8b5b93f78fe70529b4c413e7..e0b0bb193b7bcd77024e04730889e0a52fbc2b3c 100644 (file)
@@ -113,10 +113,21 @@ void ent_route_leaderboard_ui( ui_context *ctx, ui_rect ref_box, u32 route_index
       return;
    }
 
+   f64 delta = vg.time_real - board->cache_time;
+   if( (delta > 45.0) || (board->cache_time == 0.0) )
+   {
+      board->cache_time = vg.time_real;
+      ent_route *route = af_arritm( &world->ent_route, route_index );
+      char mod_uid[ ADDON_UID_MAX ];
+      addon_uid( _world.main.addon_id, mod_uid );
+      network_request_scoreboard( mod_uid, af_str( &world->meta.af, route->pstr_name ),
+                                  NETWORK_LEADERBOARD_ALLTIME_AND_CURRENT_WEEK, route_index );
+   }
+
    if( board->status != k_request_status_ok )
    {
       ui_fill( ctx, leaderboard_box, ui_opacity( GUI_COL_DARK, 0.36f ) );
-      ui_text( ctx, leaderboard_box, "Leaderboard error", 1, k_ui_align_middle_center, 0 );
+      ui_text( ctx, leaderboard_box, "...", 1, k_ui_align_middle_center, 0 );
       return;
    }
 
index d95fcd0e1ed1561202a4d94219e23c3aaf1efa35..58a83dd164b9134cdc92b71dad2bfcb93a7df0ba 100644 (file)
@@ -568,9 +568,11 @@ void vg_gui( ui_context *ctx )
    player__im_gui( ctx );
    world_instance *world = &_world.main;
 
-   world_routes_imgui( ctx, world );
-   _ent_route_imgui( ctx );
-   //skaterift_replay_imgui( ctx );
+   if( skaterift.activity != k_skaterift_replay )
+   {
+      world_routes_imgui( ctx, world );
+      _ent_route_imgui( ctx );
+   }
    _replay2_imgui( ctx );
    workshop_form_gui( ctx );
    world_gui( ctx, world );
index 0efdf06960619b4593c5a875d0bd20d00b96ba96..4e23411dd93a6fd63f68a1dabc959ed2f60f6850 100644 (file)
@@ -250,7 +250,8 @@ void world_sfd_update( world_instance *world, v3f pos )
       float const rate = vg.time_delta * 25.2313131414f;
       float d1 = *target-*cur;
       
-      if( fabsf(d1) > rate ){
+      if( fabsf(d1) > rate )
+      {
          *cur += rate;
          if( *cur > 49.0f )
             *cur -= 49.0f;