scraped a small amount of crap
authorhgn <hgodden00@gmail.com>
Thu, 6 Apr 2023 01:59:20 +0000 (02:59 +0100)
committerhgn <hgodden00@gmail.com>
Thu, 6 Apr 2023 01:59:20 +0000 (02:59 +0100)
player_common.c
player_skate.c
world.h
world_gen.h
world_render.h
world_routes.h

index 432fbaec639b39ab6025b6523997213488def673..4cb1a0bd77c5650187b7c884a365404fa1b5f15b 100644 (file)
@@ -18,6 +18,7 @@ VG_STATIC void player_vector_angles( v3f angles, v3f v, float C, float k )
 
    angles[0] = yaw;
    angles[1] = pitch;
+   angles[2] = 0.0f;
 }
 
 VG_STATIC float player_get_heading_yaw( player_instance *player )
index bd83545df6d7f43a9ece7c7dc86f9810621a26db..a802a1cd496a2e1e78570ab424e94ce017f36d09 100644 (file)
@@ -429,7 +429,7 @@ void player__approximate_best_trajectory( player_instance *player )
 
          /* REFACTOR */
 
-         v3f closest;
+         v3f closest={0.0f,0.0f,0.0f};
          if( search_for_grind ){
             if( bh_closest_point( world->geo_bh, co1, closest, 1.0f ) != -1 ){
 
diff --git a/world.h b/world.h
index b9814f89aff027da117e8e6503237c56f99ac86b..41191b8462d98bf3aa1bb5d42814bb35524dde25 100644 (file)
--- 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;
index 64395bc513748d277613b358f7ffca9943624f6f..fb6031b32f02552d908f2c00abffc599641dbd88 100644 (file)
@@ -126,99 +126,6 @@ VG_STATIC void world_apply_procedural_foliage( world_instance *world,
    vg_info( "%d foliage models added\n", count );
 }
 
-
-#if 0
-
-VG_STATIC void world_pct_audio( world_instance *world, mdl_node *pnode )
-{
-   struct world_audio_thing *thing = &world->audio_things[
-                                      world->audio_things_count ];
-
-   memset( thing, 0, sizeof(struct world_audio_thing) );
-   struct classtype_audio *aud = mdl_get_entdata( world->meta, pnode );
-
-   v3_copy( pnode->co, thing->pos );
-   
-   thing->volume = aud->volume;
-   thing->range = pnode->s[0];
-
-   thing->flags = aud->flags;
-   thing->temp_embedded_clip.path = mdl_pstr( world->meta, aud->pstr_file );
-   thing->temp_embedded_clip.flags = aud->flags;
-
-   audio_clip_load( &thing->temp_embedded_clip, world_global.generic_heap );
-
-   pnode->sub_uid = world->audio_things_count;
-   world->audio_things_count ++;
-}
-
-VG_STATIC void world_pct_nonlocal_gate( world_instance *world, mdl_node *pnode )
-{
-   struct nonlocal_gate *gate = &world->nonlocal_gates[ 
-                                       world->nonlocalgate_count ++ ];
-   struct classtype_gate *inf = mdl_get_entdata( world->meta, pnode );
-
-   gate->working = 0;
-   gate->node = pnode;
-   gate->target_map_index = 0;
-   v2_copy( inf->dims, gate->gate.dims );
-}
-
-VG_STATIC void world_link_nonlocal_gates( int index_a, int index_b )
-{
-   vg_info( "Linking non-local gates\n" );
-   world_instance *a = &world_global.worlds[ index_a ],
-                  *b = &world_global.worlds[ index_b ];
-
-   for( int i=0; i<a->nonlocalgate_count; i++ )
-   {
-      struct nonlocal_gate *ga = &a->nonlocal_gates[i];
-      struct classtype_gate *ga_inf = mdl_get_entdata( a->meta, ga->node );
-      const char *ga_name = mdl_pstr( a->meta, ga_inf->target );
-
-      for( int j=0; j<b->nonlocalgate_count; j++ )
-      {
-         struct nonlocal_gate *gb = &b->nonlocal_gates[j];
-         struct classtype_gate *gb_inf = mdl_get_entdata( b->meta, gb->node );
-         const char *gb_name = mdl_pstr( b->meta, gb_inf->target );
-
-         if( !strcmp( ga_name, gb_name ) )
-         {
-            vg_success( "Created longjump for ID '%s'\n", ga_name );
-
-            v4f qYflip;
-            q_axis_angle( qYflip, (v3f){0.0f,1.0f,0.0f}, VG_PIf );
-
-            /* TODO: Gates are created very wonkily. refactor. */
-            ga->target_map_index = index_b;
-            gb->target_map_index = index_a;
-            ga->working = 1;
-            gb->working = 1;
-
-            v4_copy( ga->node->q,  ga->gate.q[0] );
-            v4_copy( gb->node->q,  ga->gate.q[1] );
-            v3_copy( ga->node->co, ga->gate.co[0] );
-            v3_copy( gb->node->co, ga->gate.co[1] );
-
-            v4_copy( gb->node->q,  gb->gate.q[0] );
-            v4_copy( ga->node->q,  gb->gate.q[1] );
-            v3_copy( gb->node->co, gb->gate.co[0] );
-            v3_copy( ga->node->co, gb->gate.co[1] );
-
-            /* reverse B's direction */
-            q_mul( gb->gate.q[0], qYflip, gb->gate.q[0] );
-            q_mul( gb->gate.q[1], qYflip, gb->gate.q[1] );
-            q_normalize( gb->gate.q[0] );
-            q_normalize( gb->gate.q[1] );
-
-            gate_transform_update( &ga->gate );
-            gate_transform_update( &gb->gate );
-         }
-      }
-   }
-}
-#endif
-
 VG_STATIC void world_generate( world_instance *world )
 {
    /* 
@@ -612,13 +519,6 @@ VG_STATIC void world_post_process( world_instance *world )
    }
 
    vg_release_thread_sync();
-
-#if 0
-   /*
-    * Setup scene collider 
-    */
-   reset_player( 1, (const char *[]){"start"} );
-#endif
 }
 
 VG_STATIC void world_process_resources( world_instance *world )
@@ -713,17 +613,10 @@ VG_STATIC void world_unload( world_instance *world )
    vg_release_thread_sync();
 }
 
-VG_STATIC void world_clean( world_instance *world )
+VG_STATIC void world_init_blank( world_instance *world )
 {
    memset( &world->meta, 0, sizeof(mdl_context) );
 
-   /*
-    * TODO: Theres probably a better way to do this? */
-   /*       yep, find all members that can be memsetted to 0. this is probably
-    *       every member anyway, given the below is just setting to 0
-    *
-    *       also: rename clean to init? */
-
    world->textures = NULL;
    world->texture_count = 0;
    world->surfaces = NULL;
@@ -837,7 +730,7 @@ VG_STATIC void world_entities_init( world_instance *world )
 VG_STATIC void world_load( world_instance *world, const char *path )
 {
    world_unload( world );
-   world_clean( world );
+   world_init_blank( world );
 
    vg_info( "Loading world: %s\n", path );
 
index 09ecc19e4ce9241eca46edcf04ab43df6cd406a3..e04a6bb85455da4aaebecc7b71bc5cccf175705a 100644 (file)
@@ -48,9 +48,6 @@ VG_STATIC void world_render_init(void)
          fb->fixed_h = 1024;
          fb->resolution_div = 0;
 
-         /* TODO: We could get away with this being R16u, and just have it be 
-          *       a normed value between min and max of the bounding box Y */
-
          fb->attachments[0].display_name     = NULL;
          fb->attachments[0].purpose = k_framebuffer_attachment_type_colour;
          fb->attachments[0].internalformat   = GL_RG16F;
index d866cb7c543d7291f190ab057bd3426f01c4c5fe..61aa86cde5faa0ba3a3aeb3c2575edd5b5da8ecc 100644 (file)
@@ -78,7 +78,7 @@ VG_STATIC void world_routes_time_lap( world_instance *world, ent_route *route )
             mdl_pstr(&world->meta,route->pstr_name) );
 
    double total_time = 0.0;
-   u32 last_version;
+   u32 last_version=0;
    int validated = 1;
 
    for( u32 i=0; i<route->checkpoints_count; i++ ){
@@ -205,7 +205,7 @@ VG_STATIC void world_routes_place_curve( world_instance *world,
 {
    float t;
    v3f p, pd;
-   int last_valid;
+   int last_valid=0;
 
    float total_length = 0.0f,
          travel_length = 0.0;