X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=world.h;h=d35f0646b6ec1e8ed76b4d789e2f57bac4a74793;hb=430081b929e41735f0036ded51e186f5bacdbce3;hp=c412a88097cc3bb98ba044f0a08df45c4dc49764;hpb=844527ec68c063d78d4993bd8e4053f9ddc47b78;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/world.h b/world.h index c412a88..d35f064 100644 --- a/world.h +++ b/world.h @@ -16,8 +16,17 @@ enum world_geo_type{ k_world_geo_type_water = 2 }; +enum world_purpose{ + k_world_purpose_hub, + k_world_purpose_client +} +purpose; + typedef struct world_instance world_instance; +static void skaterift_world_get_save_path( enum world_purpose which, + char buf[128] ); + /* submodule headers */ #include "world_entity.h" #include "world_gate.h" @@ -156,9 +165,10 @@ struct world_instance { ent_camera, ent_swspreview, ent_ccmd, + ent_objective, ent_challenge, - ent_unlock, - ent_relay; + ent_relay, + ent_cubemap; ent_gate *rendering_gate; @@ -181,11 +191,9 @@ struct world_instance { glmesh mesh_geo, mesh_no_collide, mesh_water; + u32 cubemap_cooldown, cubemap_side; rb_object rb_geo; - - ent_challenge *challenge_target; - f32 challenge_timer; }; struct world_static { @@ -203,6 +211,13 @@ struct world_static { world_instance instances[4]; i32 active_instance; + u32 focused_entity; /* like skateshop, challenge.. */ + f32 focus_strength; + camera focus_cam; + + /* challenges */ + ent_objective *challenge_target; + f32 challenge_timer; addon_reg *addon_hub, *addon_client; @@ -218,5 +233,6 @@ static world_static; static void world_init(void); static world_instance *world_current_instance(void); +static void world_set_active_instance( u32 index ); #endif /* WORLD_H */