X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=world.h;h=9d8cd4970dc8c037d98b30eb03ce5f4d48e844ff;hb=e311bbe2fa903a7e2a922f202f389b799193195d;hp=76d43d6e66d6e58f4c5a841983fb1feaa5aa286a;hpb=7e1fe6c7931ba4492aa10ac5eebc316b74fb5dac;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/world.h b/world.h index 76d43d6..9d8cd49 100644 --- a/world.h +++ b/world.h @@ -6,6 +6,7 @@ #define WORLD_H #include "render.h" +#include "network_msg.h" /* types */ @@ -17,11 +18,19 @@ enum world_geo_type{ }; 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, @@ -40,6 +49,7 @@ static void skaterift_world_get_save_path( enum world_purpose which, #include "world_water.h" #include "world_audio.h" #include "world_routes.h" +#include "world_routes_ui.h" /* console variables */ @@ -54,6 +64,8 @@ struct world_instance { * ------------------------------------------------------- */ + v4f player_co; + void *heap; enum world_status{ k_world_status_unloaded = 0, @@ -74,6 +86,7 @@ struct world_instance { water; f64 time; + f32 tar_min, tar_max; /* STD140 */ struct ub_world_lighting{ @@ -168,7 +181,15 @@ struct world_instance { ent_objective, ent_challenge, ent_relay, - ent_cubemap; + ent_cubemap, + ent_miniworld, + ent_prop, + ent_region; + + enum skybox { + k_skybox_default, + k_skybox_space + } skybox; ent_gate *rendering_gate; @@ -194,6 +215,12 @@ struct world_instance { u32 cubemap_cooldown, cubemap_side; rb_object rb_geo; + + /* leaderboards */ + struct leaderboard_cache *leaderboard_cache; + + /* ui */ + struct route_ui *routes_ui; }; struct world_static { @@ -232,6 +259,6 @@ static 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 */