allow world reloading
[carveJwlIkooP6JGAAIwe30JlM.git] / skaterift.c
index 7d28c0adb5c3d28ab212f4f36fa547cf0eaa4f4a..3457671f6eead92d47481c2ec8808161514ad72b 100644 (file)
@@ -132,8 +132,8 @@ static void skaterift_restore_state(void)
    vg_msg_getkvintg( &kvsav, "ach", k_vg_msg_u32, &ach );
    skaterift.achievements |= ach;
 
-   u32 board_reg_id = 0,
-       player_reg_id = 0;
+   u32 board_reg_id = time(NULL) % addon_count( k_addon_type_board, 0 ),
+       player_reg_id = (time(NULL)+44) % addon_count( k_addon_type_player, 0 );
 
    vg_msg_cursor orig = kvsav.cur;
    if( vg_msg_seekframe( &kvsav, "player" ) ){
@@ -287,9 +287,9 @@ void vg_pre_update(void)
    if( k_tools_mode ) return;
 
    steam_update();
+   skaterift_change_client_world_preupdate();
+
    if( skaterift.op == k_async_op_clientloading ) return;
-   if( world_static.load_state == k_world_loader_preload )
-      skaterift_change_client_world_preupdate();
 
    draw_origin_axis();
    skateshop_autostart_loading();
@@ -298,7 +298,8 @@ void vg_pre_update(void)
    /* time rate */
    f32 target = 1;
    if( skaterift.activity & (k_skaterift_replay|k_skaterift_menu|
-                             k_skaterift_world_map) ){
+                             k_skaterift_world_map) )
+   {
       target = 0;
    }
 
@@ -307,8 +308,8 @@ void vg_pre_update(void)
    
    /* TODO: how can we compress this? */
    ent_miniworld_preupdate();
-   player__pre_update();
    world_entity_focus_preupdate();
+   player__pre_update();
    skaterift_replay_pre_update();
    remote_sfx_pre_update();
    skateshop_world_preupdate( world_current_instance() );