X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=world.h;h=642e7578b44a6d32ce042a36ba9be4ff2e4ca97e;hb=38514b4ba03412ad51df02dc2ba345e1be41005d;hp=98b9df90bc7e120bfea347fcad2e088037b444cc;hpb=1d8d9366022c064ef56d80d463c90a79721c6243;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/world.h b/world.h index 98b9df9..642e757 100644 --- a/world.h +++ b/world.h @@ -18,6 +18,7 @@ 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 @@ -48,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 */ @@ -56,12 +58,16 @@ static i32 k_debug_light_indices = 0, k_debug_light_complexity= 0, k_light_preview = 0; +#define WORLD_SURFACE_HAS_TRAFFIC 0x1 +#define WORLD_SURFACE_HAS_PROPS 0x2 struct world_instance { /* Fixed items * ------------------------------------------------------- */ + v4f player_co; + void *heap; enum world_status{ k_world_status_unloaded = 0, @@ -82,6 +88,7 @@ struct world_instance { water; f64 time; + f32 tar_min, tar_max; /* STD140 */ struct ub_world_lighting{ @@ -150,6 +157,7 @@ struct world_instance { mdl_material info; mdl_submesh sm_geo, sm_no_collide; + u32 flags; } * surfaces; u32 surface_count; @@ -176,7 +184,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; @@ -205,6 +221,9 @@ struct world_instance { /* leaderboards */ struct leaderboard_cache *leaderboard_cache; + + /* ui */ + struct route_ui *routes_ui; }; struct world_static { @@ -243,6 +262,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 */