#define SR_ALLOW_REWIND_HUB
+#ifdef _WIN32
+ #include <winsock2.h>
+#endif
+
/*
* system headers
* --------------------- */
#include "workshop.h"
#include "audio.h"
#include "player_render.h"
+#include "control_overlay.h"
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" );
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" ) ){
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)
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 ),
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;
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 );
/* 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() );
/* composite */
present_view_with_post_processing();
skaterift_replay_post_render();
+ control_overlay_render();
}
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 };
#include "world_water.c"
#include "ent_npc.c"
#include "model.c"
+#include "control_overlay.c"