Пример #1
0
        public void SaveToLdd(LDDEnvironment environment)
        {
            var primitivesDir = environment.GetAppDataSubDir("db\\Primitives\\");
            var meshesDir     = environment.GetAppDataSubDir("db\\Primitives\\LOD0\\");

            SaveToDirectory(primitivesDir, meshesDir);
        }
Пример #2
0
        private static PaletteFile GetLddPaletteFile(LDDEnvironment environment)
        {
            var appDataPalettes = environment.GetAppDataSubDir("Palettes");

            if (File.Exists(Path.Combine(appDataPalettes, "LDD.lif")))
            {
                return(PaletteFile.FromLif(Path.Combine(appDataPalettes, "LDD.lif")));
            }

            if (Directory.Exists(Path.Combine(appDataPalettes, "LDD")))
            {
                return(PaletteFile.FromDirectory(Path.Combine(appDataPalettes, "LDD")));
            }

            string dbLifPath = environment.GetLifFilePath(LddLif.DB);

            if (File.Exists(dbLifPath))
            {
                using (var lif = LifFile.Open(dbLifPath))
                {
                    var paletteEntry = lif.GetAllFiles().FirstOrDefault(x => x.Name == "LDD.lif");
                    if (paletteEntry != null)
                    {
                        using (var paletteLif = LifFile.Read(paletteEntry.GetStream()))
                            return(PaletteFile.FromLif(paletteLif));
                    }
                }
            }

            return(null);
        }
Пример #3
0
 public static PartWrapper LoadPart(LDDEnvironment environment, int partID, bool loadMeshes)
 {
     if (environment.DatabaseExtracted)
     {
         var primitivesDir = environment.GetAppDataSubDir("db\\Primitives");
         return(GetPartFromDirectory(primitivesDir, partID, loadMeshes));
     }
     else
     {
         using (var lif = LifFile.Open(environment.GetLifFilePath(LddLif.DB)))
             return(GetPartFromLif(lif, partID, loadMeshes));
     }
 }
Пример #4
0
        public void SaveToLdd(LDDEnvironment environment)
        {
            var primitivesDir = environment.GetAppDataSubDir("db\\Primitives\\");

            //var meshesDir = environment.GetAppDataSubDir("db\\Primitives\\LOD0\\");

            Primitive.Save(Path.Combine(primitivesDir, $"{PartID}.xml"));

            foreach (var surface in Surfaces)
            {
                surface.Mesh.Save(Path.Combine(primitivesDir, "LOD0", surface.GetFileName()));
            }
        }