add freecam
[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
15 struct{
16 enum async_operation{
17 k_async_op_none,
18 k_async_op_clientloading,
19 k_async_op_world_scan,
20 k_async_op_world_load_preview,
21 k_async_op_board_scan,
22 k_async_op_player_scan,
23 k_async_op_board_load,
24 k_async_op_write_savedata,
25 }
26 op;
27
28 f32 time_rate;
29 camera cam;
30
31 replay_buffer replay;
32 replay_frame *resume_target;
33 f64 resume_begin;
34 f32 resume_transition;
35
36 enum replay_control {
37 k_replay_control_scrub,
38 k_replay_control_play,
39 k_replay_control_resume
40 }
41 replay_control;
42 f32 track_velocity;
43
44 camera replay_freecam;
45 int freecam;
46 v3f freecam_v, freecam_w;
47
48 enum skaterift_activity {
49 k_skaterift_default = 0x00,
50 k_skaterift_replay = 0x01,
51 k_skaterift_skateshop = 0x02,
52 k_skaterift_menu = 0x04
53 }
54 activity;
55 }
56 static skaterift = { .op = k_async_op_clientloading, .time_rate = 1.0f };
57
58 /* Skaterift api */
59 static void skaterift_change_world_start( void );
60 static int skaterift_change_world_command( int argc, const char *argv[] );
61
62 #endif /* SKATERIFT_H */