imgui stuff
[carveJwlIkooP6JGAAIwe30JlM.git] / world_render.h
index 7fb47b0dc2cb580c9ee3fd1a8521d04643018412..6a415e631ac4c48882b4472d36f98f28d2547811 100644 (file)
@@ -60,8 +60,8 @@ VG_STATIC void world_render_init(void)
    vg_tex2d_load_qoi_async_file( "textures/garbage.qoi", 
                                  VG_TEX2D_NEAREST|VG_TEX2D_REPEAT, 
                                  &tex_terrain_noise );
-   vg_async_item *call = vg_async_alloc(0);
-   vg_async_dispatch( call, async_world_render_init );
+
+   vg_async_call( async_world_render_init, NULL, 0 );
 }
 
 VG_STATIC void world_link_lighting_ub( world_instance *world, GLuint shader )
@@ -454,6 +454,7 @@ state->g_time_of_day = vg_fractf( g_time );
                     sizeof(struct ub_world_lighting), &world->ub_lighting );
 }
 
+VG_STATIC void skateshop_render(void);
 VG_STATIC void render_world( world_instance *world, camera *cam,
                              int layer_depth )
 {
@@ -465,25 +466,29 @@ VG_STATIC void render_world( world_instance *world, camera *cam,
    render_world_alphatest( world, cam );
    render_terrain( world, cam );
 
-   /* Render SFD's */
-   u32 closest = 0;
-   float min_dist = INFINITY;
+   if( layer_depth == 0 ){
+      skateshop_render();
+
+      /* Render SFD's */
+      u32 closest = 0;
+      float min_dist = INFINITY;
 
-   if( !mdl_arrcount( &world->ent_route ) )
-      return;
+      if( !mdl_arrcount( &world->ent_route ) )
+         return;
 
-   for( u32 i=0; i<mdl_arrcount( &world->ent_route ); i++ ){
-      ent_route *route = mdl_arritm( &world->ent_route, i );
-      float dist = v3_dist2( route->board_transform[3], cam->pos );
+      for( u32 i=0; i<mdl_arrcount( &world->ent_route ); i++ ){
+         ent_route *route = mdl_arritm( &world->ent_route, i );
+         float dist = v3_dist2( route->board_transform[3], cam->pos );
 
-      if( dist < min_dist ){
-         min_dist = dist;
-         closest = i;
+         if( dist < min_dist ){
+            min_dist = dist;
+            closest = i;
+         }
       }
-   }
 
-   ent_route *route = mdl_arritm( &world->ent_route, closest );
-   sfd_render( world, cam, route->board_transform );
+      ent_route *route = mdl_arritm( &world->ent_route, closest );
+      sfd_render( world, cam, route->board_transform );
+   }
 }
 
 VG_STATIC void render_world_depth( world_instance *world, camera *cam )