view weekly/all-time
[carveJwlIkooP6JGAAIwe30JlM.git] / world_load.c
index 455d30d7856abb0ae43d9763c745a37a4874e6a5..fd75aa8f8cca887ca34443154fbaf071800936ff 100644 (file)
@@ -97,6 +97,18 @@ static void world_instance_load_mdl( u32 instance_id, const char *path ){
    world_gen_compute_light_indices( world );
    mdl_close( meta );
 
+   /* allocate leaderboard buffers */
+   u32 bs = mdl_arrcount(&world->ent_route)*sizeof(struct leaderboard_cache);
+   world->leaderboard_cache = vg_linear_alloc( heap, bs );
+
+   for( u32 i=0; i<mdl_arrcount( &world->ent_route ); i ++ ){
+      struct leaderboard_cache *board = &world->leaderboard_cache[i];
+      board->data = vg_linear_alloc( heap, NETWORK_LEADERBOARD_MAX_SIZE );
+      board->status = k_request_status_client_error;
+      board->cache_time = 0.0;
+      board->data_len = 0;
+   }
+
    vg_async_call( async_world_postprocess, world, 0 );
    vg_async_stall();
 }