#define WORLD_H
#include "render.h"
+#include "network_msg.h"
/* types
*/
};
enum world_purpose{
+ k_world_purpose_invalid = -1,
k_world_purpose_hub = 0,
k_world_purpose_client = 1,
k_world_max
};
+struct leaderboard_cache {
+ enum request_status status;
+ f64 cache_time;
+ u8 *data;
+ u32 data_len;
+};
+
typedef struct world_instance world_instance;
static void skaterift_world_get_save_path( enum world_purpose which,
* -------------------------------------------------------
*/
+ v4f player_co;
+
void *heap;
enum world_status{
k_world_status_unloaded = 0,
ent_objective,
ent_challenge,
ent_relay,
- ent_cubemap;
+ ent_cubemap,
+ ent_miniworld,
+ ent_prop;
+
+ enum skybox {
+ k_skybox_default,
+ k_skybox_space
+ } skybox;
ent_gate *rendering_gate;
u32 cubemap_cooldown, cubemap_side;
rb_object rb_geo;
+
+ /* leaderboards */
+ struct leaderboard_cache *leaderboard_cache;
};
struct world_static {
static void world_init(void);
static world_instance *world_current_instance(void);
-static void world_set_active_instance( u32 index );
+static void world_switch_instance( u32 index );
#endif /* WORLD_H */