load in preview images to dynamic rt textures
[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 enum skaterift_rt {
16 k_skaterift_rt_workshop_preview,
17 k_skaterift_rt_max
18 };
19
20 struct{
21 enum async_operation{
22 k_async_op_none,
23 k_async_op_clientloading,
24 k_async_op_world_scan,
25 k_async_op_world_load_preview,
26 k_async_op_board_scan,
27 k_async_op_player_scan,
28 k_async_op_board_load,
29 k_async_op_write_savedata,
30 }
31 op;
32
33 f32 time_rate;
34 camera cam;
35
36 replay_buffer replay;
37 replay_frame *resume_target;
38 f64 resume_begin;
39 f32 resume_transition;
40
41 enum replay_control {
42 k_replay_control_scrub,
43 k_replay_control_play,
44 k_replay_control_resume
45 }
46 replay_control;
47 f32 track_velocity;
48 struct gui_helper *helper_resume, *helper_freecam;
49
50 camera replay_freecam;
51 int freecam;
52 v3f freecam_v, freecam_w;
53
54 enum skaterift_activity {
55 k_skaterift_default = 0x00,
56 k_skaterift_replay = 0x01,
57 k_skaterift_ent_focus = 0x02,
58 k_skaterift_menu = 0x04,
59 k_skaterift_respawning = 0x08,
60 }
61 activity;
62
63 f64 last_autosave;
64 GLuint rt_textures[k_skaterift_rt_max];
65 }
66 static skaterift = { .op = k_async_op_clientloading, .time_rate = 1.0f };
67
68 /* Skaterift api */
69 static void skaterift_change_world_start( addon_reg *reg );
70 static int skaterift_change_world_command( int argc, const char *argv[] );
71
72 #endif /* SKATERIFT_H */