localplayer.viewable_world = world_current_instance();
vg_msg_cmd position = vg_msg_seekkv( &world, "position", 0 );
- vg_msg_convert_num( &position, k_vg_msg_float|k_vg_msg_32b, 3,
- localplayer.rb.co );
+ v3f pos;
+ vg_msg_convert_num( &position, k_vg_msg_float|k_vg_msg_32b, 3, pos );
+ player__setpos( &localplayer, pos );
}
}
}
vg_loader_step( load_playermodels, NULL );
/* player setup */
+ local_replay_init( (1024*1024*1)/2 );
player__create( &localplayer );
player_avatar_load( &localplayer_avatar, "models/ch_none.mdl" );
player__use_avatar( &localplayer, &localplayer_avatar );
global_skateshop.pointcloud_world_id=1;
skateshop_world_preview_loader_thread( mtzero ); /* HACK */
- vg_async_call( async_addon_reg_update, NULL, 0 );
vg_console_load_autos();
menu_link();
addon_mount_content_folder( k_addon_type_player,
"playermodels", ".mdl" );
addon_mount_content_folder( k_addon_type_board, "boards", ".mdl" );
+ addon_mount_content_folder( k_addon_type_world, "maps", ".mdl" );
addon_mount_workshop_items();
vg_async_call( async_addon_reg_update, NULL, 0 );
vg_async_stall();
vehicle_update_fixed();
}
-VG_STATIC void vg_update_post(void)
-{
+VG_STATIC void vg_update_post(void){
if( skaterift.op == k_async_op_clientloading ) return;
player__post_update( &localplayer );
v3_copy( localplayer.rb.v, vg_audio.external_lister_velocity );
audio_unlock();
- vg.time_rate = 1.0f-menu.factive;
+ f32 target = 1.0f-(f32)(menu.active||k_replay_test);
+ skaterift.time_rate = vg_lerpf( skaterift.time_rate, target,
+ vg.time_frame_delta * 6.0f );
+
+ vg.time_rate = skaterift.time_rate;
vehicle_update_post();
}
(vg.time_frame_delta*60.0) );
shader_blitblur_uInverseRatio( inverse );
- v2f menu_blurring;
- v2_muls( (v2f){ 0.04f, 0.001f }, menu.factive, menu_blurring );
- shader_blitblur_uOverrideDir( menu_blurring );
+ v2f override;
+ if( menu.active )
+ v2_muls( (v2f){ 0.04f, 0.001f }, 1.0f-skaterift.time_rate, override );
+ else
+ v2_zero( override );
+ shader_blitblur_uOverrideDir( override );
render_fb_bind_texture( gpipeline.fb_main, 0, 0 );
render_fb_bind_texture( gpipeline.fb_main, 1, 1 );
menu_render();
}
-#if 0
player__im_gui( &localplayer );
-#endif
world_instance *world = world_current_instance();
+ replay_imgui( &localplayer );
workshop_form_gui();
render_view_framebuffer_ui();
}