void R_NewMap (void) { int i; for(i = 0; i < 256; i++) d_lightstylevalue[i] = 264; // normal light value // clear out efrags in case the level hasn't been reloaded // FIXME: is this one short? for(i = 0; i < cl.worldmodel->numleafs; i++) cl.worldmodel->leafs[i].efrags = NULL; r_viewleaf = NULL; Particle_ClearAll(); GL_BuildLightmaps (); r_framecount = 0; //johnfitz -- paranoid? r_visframecount = 0; //johnfitz -- paranoid? Sky_NewMap (); //johnfitz -- skybox in worldspawn Fog_NewMap (); //johnfitz -- global fog in worldspawn load_subdivide_size = gl_subdivide_size.value; //johnfitz -- is this the right place to set this? }
void R_NewMap( void ) { texture_t *tx; int i; R_ClearDecals(); // clear all level decals // upload detailtextures if( r_detailtextures->integer ) { string mapname, filepath; Q_strncpy( mapname, cl.worldmodel->name, sizeof( mapname )); FS_StripExtension( mapname ); Q_sprintf( filepath, "%s_detail.txt", mapname ); R_ParseDetailTextures( filepath ); } // clear out efrags in case the level hasn't been reloaded for( i = 0; i < cl.worldmodel->numleafs; i++ ) cl.worldmodel->leafs[i+1].efrags = NULL; tr.skytexturenum = -1; r_viewleaf = r_oldviewleaf = NULL; // clearing texture chains for( i = 0; i < cl.worldmodel->numtextures; i++ ) { if( !cl.worldmodel->textures[i] ) continue; tx = cl.worldmodel->textures[i]; if( !Q_strncmp( tx->name, "sky", 3 ) && tx->width == 256 && tx->height == 128) tr.skytexturenum = i; tx->texturechain = NULL; } R_SetupSky( cl.refdef.movevars->skyName ); GL_BuildLightmaps (); R_GenerateVBO(); }