// 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; }
// 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; }