Ejemplo n.º 1
0
        // Run Terrain Mesh Parser //
        public static void LoadTerrainMesh(uint AdtFileDataId, CASCHandler Handler)
        {
            ThreadWorkingMesh = true;
            long millisecondsStart = DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond;

            ADTRootData.meshBlockData = new ADTRootData.MeshBlockData();
            ADTRootData.meshBlockData.meshChunksData = new List <ADTRootData.MeshChunkData>();

            ParseADT_Main(AdtFileDataId, Handler);
            ADT_ProcessData.GenerateMeshArrays();

            if (working)
            {
                ADTRootData.MeshBlockDataQueue.Enqueue(ADTRootData.meshBlockData);
            }

            long millisecondsStop = DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond;

            finishedTimeTerrainMesh = (millisecondsStop - millisecondsStart) / 1000f;

            ThreadWorkingMesh = false;
        }
Ejemplo n.º 2
0
        // Run Terrain Texture Parser //
        public static void LoadTerrainTextures(uint TexAdtFileId, CASCHandler Handler, uint WdtFileDataId)
        {
            ThreadWorkingTextures = true;
            long millisecondsStart = DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond;

            ADTTexData.textureBlockData = new ADTTexData.TextureBlockData();
            ADTTexData.textureBlockData.textureChunksData = new List <ADTTexData.TextureChunkData>();

            ParseADT_Tex(TexAdtFileId, Handler, WdtFileDataId);
            // if (SettingsTerrainImport.LoadShadowMaps)
            //     ADT_ProcessData.AdjustAlphaBasedOnShadowmap(MapName);
            ADT_ProcessData.Load_hTextures(Handler);

            if (working)
            {
                ADTTexData.TextureBlockDataQueue.Enqueue(ADTTexData.textureBlockData);
            }

            long millisecondsStop = DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond;

            finishedTimeTerrainTextures = (millisecondsStop - millisecondsStart) / 1000f;

            ThreadWorkingTextures = false;
        }