Beispiel #1
0
        /// <summary>
        /// R_NewMap
        /// </summary>
        public void NewMap( )
        {
            for (var i = 0; i < 256; i++)
            {
                _LightStyleValue[i] = 264;              // normal light value
            }
            _WorldEntity.Clear( );
            _WorldEntity.model = Host.Client.cl.worldmodel;

            // clear out efrags in case the level hasn't been reloaded
            // FIXME: is this one short?
            for (var i = 0; i < Host.Client.cl.worldmodel.NumLeafs; i++)
            {
                Host.Client.cl.worldmodel.Leaves[i].efrags = null;
            }

            Occlusion.ViewLeaf = null;
            Particles.ClearParticles( );

            BuildLightMaps( );

            // identify sky texture
            _SkyTextureNum = -1;
            //_MirrorTextureNum = -1;
            var world = Host.Client.cl.worldmodel;

            for (var i = 0; i < world.NumTextures; i++)
            {
                if (world.Textures[i] == null)
                {
                    continue;
                }
                if (world.Textures[i].name != null)
                {
                    if (world.Textures[i].name.StartsWith("sky"))
                    {
                        _SkyTextureNum = i;
                    }
                    //if( world.textures[i].name.StartsWith( "window02_1" ) )
                    //    _MirrorTextureNum = i;
                }
                world.Textures[i].texturechain = null;
            }
        }