seperate projects
[carveJwlIkooP6JGAAIwe30JlM.git] / client.c
1 #include "vg/vg_opt.h"
2 #include "vg/vg_loader.h"
3 #include "vg/vg_io.h"
4 #include "vg/vg_audio.h"
5 #include "vg/vg_async.h"
6
7 #include "client.h"
8 #include "render.h"
9 #include "network.h"
10 #include "player_remote.h"
11 #include "menu.h"
12
13 struct game_client g_client =
14 {
15 .demo_mode = 1
16 };
17
18 static void async_client_ready( void *payload, u32 size )
19 {
20 g_client.loaded = 1;
21
22 if( network_client.auto_connect )
23 network_client.user_intent = k_server_intent_online;
24
25 menu_at_begin();
26 }
27
28 void vg_load(void)
29 {
30 vg_audio.always_keep_compressed = 1;
31 vg_loader_step( render_init, NULL );
32
33 game_load();
34
35 vg_async_call( async_client_ready, NULL, 0 );
36 }
37
38 void vg_preload(void)
39 {
40 vg_info(" Copyright . . . -----, ,----- ,---. .---. \n" );
41 vg_info(" 2021-2024 |\\ /| | / | | | | /| \n" );
42 vg_info(" | \\ / | +-- / +----- +---' | / | \n" );
43 vg_info(" | \\ / | | / | | \\ | / | \n" );
44 vg_info(" | \\/ | | / | | \\ | / | \n" );
45 vg_info(" ' ' '--' [] '----- '----- ' ' '---' "
46 "SOFTWARE\n" );
47
48 /* please forgive me! */
49 u32 sz; char *drm;
50 if( (drm = vg_file_read_text( vg_mem.scratch, "DRM", &sz )) )
51 if( !strcmp(drm, "blibby!") )
52 g_client.demo_mode = 0;
53
54 vg_loader_step( remote_players_init, NULL );
55
56 steam_init();
57 vg_loader_step( NULL, steam_end );
58 vg_loader_step( network_init, network_end );
59 }
60
61 void vg_launch_opt(void)
62 {
63 const char *arg;
64
65 if( vg_long_opt( "noauth" ) )
66 network_client.auth_mode = eServerModeNoAuthentication;
67
68 if( (arg = vg_long_opt_arg( "server" )) )
69 network_set_host( arg, NULL );
70
71 if( vg_long_opt( "demo" ) )
72 g_client.demo_mode = 1;
73
74 game_launch_opt();
75 }
76
77 int main( int argc, char *argv[] )
78 {
79 network_set_host( "skaterift.com", NULL );
80 vg_mem.use_libc_malloc = 0;
81 vg_set_mem_quota( 160*1024*1024 );
82 vg_enter( argc, argv, "Voyager Game Engine" );
83 return 0;
84 }
85
86 #ifdef SKATERIFT
87 #include "skaterift.c"
88 #endif
89
90 #ifdef HGATE
91 #include "hgate.c"
92 #endif