X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=world.h;h=41191b8462d98bf3aa1bb5d42814bb35524dde25;hb=16f58e6b8d79762919000b9ae8266ad55a01a870;hp=b9814f89aff027da117e8e6503237c56f99ac86b;hpb=72c40f1bc7a732f6a628dbf8a4135ac0bf3efa4e;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/world.h b/world.h index b9814f8..41191b8 100644 --- a/world.h +++ b/world.h @@ -56,10 +56,6 @@ static const float k_light_cube_size = 8.0f; struct world_instance { - /* This is a small flag we use to changelevel. - * It will not be cleared until all sounds stop playing - */ - /* Fixed items * ------------------------------------------------------- */ @@ -133,6 +129,7 @@ struct world_instance * (world_gen.h) * -------------------------------------------------------------------------- */ + /* * Main world .mdl */ @@ -165,150 +162,6 @@ struct world_instance ent_gate *rendering_gate; -#if 0 - /* - * Named safe places to respawn - */ - struct respawn_point - { - v3f co; - v4f q; - const char *name; - } - * spawns; - u32 spawn_count; - - /* - * Audio player entities - */ - struct world_audio_thing - { - v3f pos; - float volume, range; - u32 flags; - audio_clip temp_embedded_clip; - } - * audio_things; - u32 audio_things_count; - - struct soundscape - { - /* locking */ - audio_channel *channels[4]; - - /* accessable without locking */ - v3f spawn_position; - - u32 usage_count; - u32 max_instances; - u32 allow_transitions; - float transition_duration; - const char *label; - } - * soundscapes; - u32 soundscape_count; - - /* - * Box volume entities - */ - struct world_volume - { - m4x3f transform, inv_transform; - mdl_node *node; - } - * volumes; - u32 volume_count; - - /* - * Lights - */ - struct world_light - { - mdl_node *node; - struct classtype_world_light *inf; - m4x3f inverse_world; - v2f angle_sin_cos; - } - * lights; - u32 light_count; - - /* - * Routes (world_routes.h) - * -------------------------------------------------------------------------- - */ - - struct route_node - { - v3f co, right, up, h; - u32 next[2]; - - u32 special_type, special_id, current_refs, ref_count; - u32 route_ids[4]; /* Gates can be linked into up to four routes */ - } - *nodes; - u32 node_count; - - struct route - { - u32 track_id; - v4f colour; - - u32 start; - mdl_submesh sm; - - int active; - float factive; - - double best_lap, latest_pass; /* Session */ - - m4x3f scoreboard_transform; - } - *routes; - u32 route_count; - - struct route_gate - { - struct teleport_gate - { - v3f co[2]; - v4f q[2]; - v2f dims; - - m4x3f to_world, transport; - } - gate; - - u32 node_id; - - struct route_timing - { - u32 version; /* Incremented on every teleport */ - double time; - } - timing; - } - *gates; - u32 gate_count; - - struct nonlocal_gate - { - struct teleport_gate gate; - mdl_node *node; - - u32 target_map_index, working; - } - *nonlocal_gates; - u32 nonlocalgate_count; - - struct route_collector - { - struct route_timing timing; - } - *collectors; - u32 collector_count; -#endif - - /* logic * ---------------------------------------------------- */ @@ -490,7 +343,7 @@ VG_STATIC void ent_volume_call( world_instance *world, ent_call *call ) call->ent = volume->target; if( volume->type == k_volume_subtype_particle ){ - v3f co; + float *co = alloca( sizeof(float)*3 ); co[0] = vg_randf()*2.0f-1.0f; co[1] = vg_randf()*2.0f-1.0f; co[2] = vg_randf()*2.0f-1.0f;