X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=world.h;h=d3072785671a37955b62bcd75e10c1f13e0a5022;hb=75703291fbf045008a3b1ebb20fc46a2617b6b3b;hp=a92591e294963636653dba6f7c294304aeb297ac;hpb=166bd43e677bb4406197407a381b27058582c548;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/world.h b/world.h index a92591e..d307278 100644 --- a/world.h +++ b/world.h @@ -306,10 +306,18 @@ VG_STATIC struct gworld *scene_no_collide, *scene_lines; + struct grind_edge + { + v3f p0, p1; + } + *grind_edges; + u32 grind_edge_count; + /* spacial mappings */ bh_tree *audio_bh, *trigger_bh, - *geo_bh; + *geo_bh, + *grind_bh; /* graphics */ glmesh mesh_route_lines; @@ -443,11 +451,11 @@ VG_STATIC void world_init(void) /* Other systems */ vg_info( "Loading other world systems\n" ); - vg_loader_highwater( world_render_init, NULL, NULL ); - vg_loader_highwater( world_sfd_init, NULL, NULL ); - vg_loader_highwater( world_water_init, NULL, NULL ); - vg_loader_highwater( world_gates_init, NULL, NULL ); - vg_loader_highwater( world_routes_init, NULL, NULL ); + vg_loader_step( world_render_init, NULL ); + vg_loader_step( world_sfd_init, NULL ); + vg_loader_step( world_water_init, NULL ); + vg_loader_step( world_gates_init, NULL ); + vg_loader_step( world_routes_init, NULL ); /* Allocate dynamic world memory arena */ u32 max_size = 76*1024*1024; @@ -549,11 +557,11 @@ VG_STATIC void world_update( v3f pos ) { world.switching_to_new_world = 0; world_unload(); - world_load(); + vg_loader_start( world_load ); + return; } } - world.sky_time += world.sky_rate * vg.time_delta; world.sky_rate = vg_lerp( world.sky_rate, world.sky_target_rate, vg.time_delta * 5.0 );