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