-#ifndef SKATERIFT_H
-#define SKATERIFT_H
-
+#pragma once
#define SKATERIFT_APPID 2103940
+#include "vg/vg_engine.h"
+#include "vg/vg_camera.h"
-#define VG_TIMESTEP_FIXED (1.0/60.0)
-#define VG_3D
-#define VG_GAME
-#define VG_MSG_V1_SUPPORT
-#define VG_LOG_SOURCE_INFO
-#include "vg/vg.h"
-#include "world.h"
-#include "addon.h"
-
-enum skaterift_rt {
+enum skaterift_rt
+{
k_skaterift_rt_workshop_preview,
k_skaterift_rt_server_status,
k_skaterift_rt_max
};
-struct{
- enum async_operation{
+struct skaterift_globals
+{
+ enum async_operation
+ {
k_async_op_none,
k_async_op_clientloading,
- k_async_op_world_scan,
- k_async_op_world_load_preview,
- k_async_op_board_scan,
- k_async_op_player_scan,
- k_async_op_board_load,
- k_async_op_write_savedata,
}
op;
f32 time_rate;
- camera cam;
+ vg_camera cam;
- replay_buffer replay;
- replay_frame *resume_target;
- f64 resume_begin;
- f32 resume_transition;
-
- enum replay_control {
- k_replay_control_scrub,
- k_replay_control_play,
- k_replay_control_resume
- }
- replay_control;
- f32 track_velocity;
- struct gui_helper *helper_resume, *helper_freecam;
-
- camera replay_freecam;
- int freecam;
- v3f freecam_v, freecam_w;
-
enum skaterift_activity {
k_skaterift_default = 0x00,
k_skaterift_replay = 0x01,
k_skaterift_ent_focus = 0x02,
k_skaterift_menu = 0x04,
- k_skaterift_respawning = 0x08,
}
activity;
-
- f64 last_autosave;
GLuint rt_textures[k_skaterift_rt_max];
u32 achievements;
int demo_mode;
-}
-static skaterift = { .op = k_async_op_clientloading, .time_rate = 1.0f };
-/* Skaterift api */
-static void skaterift_change_world_start( addon_reg *reg );
-static int skaterift_change_world_command( int argc, const char *argv[] );
-
-#endif /* SKATERIFT_H */
+ const char *hub_world;
+}
+extern skaterift;