-#ifndef SKATERIFT_H
-#define SKATERIFT_H
+#pragma once
+#define SKATERIFT_APPID 2103940
+#include "vg/vg_engine.h"
+#include "vg/vg_camera.h"
-#include "common.h"
+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_preloading,
- k_async_op_world_loading,
- k_workshop_form_op_loading_model,
- k_workshop_form_op_downloading_submission,
- k_workshop_form_op_publishing_update,
- k_workshop_op_item_scan,
- k_workshop_op_item_load
}
- async_op;
-}
-static skaterift = { .async_op = k_async_op_clientloading };
-
-
-/* Skaterift api */
-
-static void skaterift_change_world( const char *world_path );
-static int skaterift_change_world_command( int argc, const char *argv[] );
-
-
-
-
+ op;
-/*
- * Start a new operation or crash if we are already running one. you can avoid
- * crashing the game by checking the async status yourself before calling.
- */
-VG_STATIC void skaterift_begin_op( enum async_operation op )
-{
- if( skaterift.async_op != k_async_op_none ){
- vg_fatal_error( "Async executing op(%d), tried to start op(%d)\n",
- skaterift.async_op, op );
- }
+ f32 time_rate;
+ vg_camera cam;
- skaterift.async_op = op;
- vg_info( "Starting op( %d )\n", op );
-}
-
-/*
- * Switch operation for those who have multiple parts
- */
-VG_STATIC void skaterift_shift_op( enum async_operation op )
-{
- if( skaterift.async_op == k_async_op_none ){
- vg_fatal_error( "No current op, cannot shift operation (%d)\n", op );
+ enum skaterift_activity {
+ k_skaterift_default = 0x00,
+ k_skaterift_replay = 0x01,
+ k_skaterift_ent_focus = 0x02,
+ k_skaterift_menu = 0x04,
+ k_skaterift_world_map = 0x08,
}
-
- skaterift.async_op = op;
- vg_info( "Shifting to op( %d )\n", op );
-}
+ activity;
+ GLuint rt_textures[k_skaterift_rt_max];
-/*
- * Finished operation, otheres can now run
- */
-VG_STATIC void skaterift_end_op(void)
-{
- vg_info( "Finishing op( %d )\n", skaterift.async_op );
- skaterift.async_op = k_async_op_none;
-}
+ u32 achievements;
+ int demo_mode;
-#endif /* SKATERIFT_H */
+ const char *hub_world;
+}
+extern skaterift;