up network version
[carveJwlIkooP6JGAAIwe30JlM.git] / skaterift.h
1 #ifndef SKATERIFT_H
2 #define SKATERIFT_H
3
4 #define SKATERIFT_APPID 2103940
5
6 #define VG_TIMESTEP_FIXED (1.0/60.0)
7 #define VG_3D
8 #define VG_GAME
9 #define VG_MSG_V1_SUPPORT
10 #define VG_LOG_SOURCE_INFO
11 #include "vg/vg.h"
12 #include "world.h"
13 #include "addon.h"
14 #include "trail.h"
15
16 enum skaterift_rt {
17 k_skaterift_rt_workshop_preview,
18 k_skaterift_rt_server_status,
19 k_skaterift_rt_max
20 };
21
22 struct{
23 enum async_operation{
24 k_async_op_none,
25 k_async_op_clientloading,
26 k_async_op_world_scan,
27 k_async_op_world_load_preview,
28 k_async_op_board_scan,
29 k_async_op_player_scan,
30 k_async_op_board_load,
31 k_async_op_write_savedata,
32 }
33 op;
34
35 f32 time_rate;
36 camera cam;
37
38 replay_buffer replay;
39 replay_frame *resume_target;
40 f64 resume_begin;
41 f32 resume_transition;
42
43 enum replay_control {
44 k_replay_control_scrub,
45 k_replay_control_play,
46 k_replay_control_resume
47 }
48 replay_control;
49 f32 track_velocity;
50 struct gui_helper *helper_resume, *helper_freecam;
51
52 camera replay_freecam;
53 i32 freecam;
54 v3f freecam_v, freecam_w;
55
56 enum skaterift_activity {
57 k_skaterift_default = 0x00,
58 k_skaterift_replay = 0x01,
59 k_skaterift_ent_focus = 0x02,
60 k_skaterift_menu = 0x04,
61 k_skaterift_world_map = 0x08,
62 }
63 activity;
64
65 f64 last_autosave;
66 GLuint rt_textures[k_skaterift_rt_max];
67
68 u32 achievements;
69 int demo_mode;
70
71 audio_channel *aud_air;
72 const char *hub_world;
73
74 struct trail_system test_trail;
75 }
76 static skaterift = {
77 .op = k_async_op_clientloading, .time_rate = 1.0f, .demo_mode = 1,
78 .hub_world = "maps/dev_hub",
79 .test_trail = {
80 .max = 80
81 }
82 };
83
84 /* Skaterift api */
85 static void skaterift_change_world_start( addon_reg *reg );
86 static int skaterift_change_world_command( int argc, const char *argv[] );
87
88 #endif /* SKATERIFT_H */