X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=world_gen.c;h=543be6d178fb2d72426db6ba55db601c38830720;hb=6e6c7f31b8f17af3814727109e48fc6f85ef04b1;hp=df5b342e40fb11965c963a0ce4009db6a4da31bb;hpb=3557b0c25545139b4a5adf0ba44cdac63bf77302;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/world_gen.c b/world_gen.c index df5b342..543be6d 100644 --- a/world_gen.c +++ b/world_gen.c @@ -272,6 +272,7 @@ static void world_gen_generate_meshes( world_instance *world ){ mdl_submesh *sm = mdl_arritm( &world->meta.submeshs, vehc->submesh_start+j ); world_unpack_submesh_dynamic( world, &world->scene_no_collide, sm ); + world->surfaces[ sm->material_id ].flags |= WORLD_SURFACE_HAS_TRAFFIC; } } @@ -317,6 +318,7 @@ static void world_gen_generate_meshes( world_instance *world ){ for( u32 j=0; jsubmesh_count; j ++ ){ mdl_submesh *sm = mdl_arritm( &world->meta.submeshs, prop->submesh_start+j ); + world->surfaces[ sm->material_id ].flags |= WORLD_SURFACE_HAS_PROPS; world_unpack_submesh_dynamic( world, &world->scene_no_collide, sm ); } } @@ -683,8 +685,7 @@ static void world_gen_load_surfaces( world_instance *world ){ world->texture_count = world->meta.textures.count+1; world->textures = vg_linear_alloc( world->heap, vg_align8(sizeof(GLuint)*world->texture_count) ); - - vg_tex2d_replace_with_error( &world->textures[0] ); + world->textures[0] = vg.tex_missing; for( u32 i=0; imeta.textures); i++ ){ mdl_texture *tex = mdl_arritm( &world->meta.textures, i ); @@ -714,8 +715,9 @@ static void world_gen_load_surfaces( world_instance *world ){ memset( errmat, 0, sizeof(struct world_surface) ); for( u32 i=0; imeta.materials); i++ ){ - world->surfaces[i+1].info = - *(mdl_material *)mdl_arritm( &world->meta.materials, i ); + struct world_surface *surf = &world->surfaces[i+1]; + surf->info = *(mdl_material *)mdl_arritm( &world->meta.materials, i ); + surf->flags = 0; } }