X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=skaterift.c;h=d661fbf90501a2d1d7329df8bd418fc4b602bd02;hb=HEAD;hp=4f86538fde095c96866194887c2fca26d6acf398;hpb=c137bd8a21c36e63f564801ceb800b47f1ec3c7b;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/skaterift.c b/skaterift.c index 4f86538..d661fbf 100644 --- a/skaterift.c +++ b/skaterift.c @@ -13,6 +13,10 @@ #define SR_ALLOW_REWIND_HUB +#ifdef _WIN32 + #include +#endif + /* * system headers * --------------------- */ @@ -46,6 +50,7 @@ #include "workshop.h" #include "audio.h" #include "player_render.h" +#include "control_overlay.h" struct skaterift_globals skaterift = { @@ -55,7 +60,9 @@ struct skaterift_globals skaterift = static int k_tools_mode = 0; -int main( int argc, char *argv[] ){ +int main( int argc, char *argv[] ) +{ + network_set_host( "skaterift.com", NULL ); vg_mem.use_libc_malloc = 0; vg_set_mem_quota( 160*1024*1024 ); vg_enter( argc, argv, "Voyager Game Engine" ); @@ -69,9 +76,9 @@ void vg_launch_opt(void) network_client.auth_mode = eServerModeNoAuthentication; } - if( (arg = vg_long_opt_arg( "server" )) ){ - vg_strncpy( arg, network_client.server_adress, 64, - k_strncpy_overflow_fatal ); + if( (arg = vg_long_opt_arg( "server" )) ) + { + network_set_host( arg, NULL ); } if( vg_long_opt( "tools" ) ){ @@ -117,8 +124,14 @@ static void async_skaterift_player_start( void *payload, u32 size ){ world_switch_instance(0); } -static void async_call_ready( void *payload, u32 size ){ +static void async_call_ready( void *payload, u32 size ) +{ skaterift.op = k_async_op_none; + + if( network_client.auto_connect ) + network_client.user_intent = k_server_intent_online; + + menu_at_begin(); } static void skaterift_restore_state(void) @@ -130,7 +143,7 @@ static void skaterift_restore_state(void) vg_msg_init( &kvsav, sav.buf, sizeof(sav.buf) ); u32 ach; - vg_msg_getkvintg( &kvsav, "ach", k_vg_msg_u32, &ach ); + vg_msg_getkvintg( &kvsav, "ach", k_vg_msg_u32, &ach, NULL ); skaterift.achievements |= ach; u32 board_reg_id = time(NULL) % addon_count( k_addon_type_board, 0 ), @@ -178,6 +191,7 @@ static void skaterift_load_world_content(void){ ADDON_REG_MTZERO|ADDON_REG_PREMIUM ); skaterift_mount_world_unloadable( "maps/dev_tutorial", 0 ); skaterift_mount_world_unloadable( "maps/dev_flatworld", 0 ); + skaterift_mount_world_unloadable( "maps/mp_line1", ADDON_REG_PREMIUM ); world_static.load_state = k_world_loader_load; @@ -213,6 +227,7 @@ void vg_load(void) vg_loader_step( render_init, NULL ); vg_loader_step( menu_init, NULL ); + vg_loader_step( control_overlay_init, NULL ); vg_loader_step( world_init, NULL ); vg_loader_step( vehicle_init, NULL ); vg_loader_step( gui_init, NULL ); @@ -307,7 +322,12 @@ void vg_pre_update(void) /* TODO: how can we compress this? */ ent_miniworld_preupdate(); world_entity_focus_preupdate(); - player__pre_update(); + + if( skaterift.activity != k_skaterift_menu ) + { + player__pre_update(); + } + skaterift_replay_pre_update(); remote_sfx_pre_update(); skateshop_world_preupdate( world_current_instance() ); @@ -641,6 +661,7 @@ static void render_main_game(void){ /* composite */ present_view_with_post_processing(); skaterift_replay_post_render(); + control_overlay_render(); } void vg_render(void) @@ -675,13 +696,16 @@ void vg_render(void) glDisable(GL_DEPTH_TEST); vg_lines_drawall(); glViewport( 0,0, vg.window_x, vg.window_y ); - gui_draw(); + + gui_render_icons(); } void vg_gui(void) { if( skaterift.op == k_async_op_clientloading ) return; + gui_draw(); + if( k_tools_mode ){ ui_rect null; ui_rect screen = { 0, 0, vg.window_x, vg.window_y }; @@ -782,3 +806,4 @@ void vg_gui(void) #include "world_water.c" #include "ent_npc.c" #include "model.c" +#include "control_overlay.c"