public static Acd FromDirectory(string dir) { if (!Directory.Exists(dir)) { throw new DirectoryNotFoundException(dir); } var acd = new Acd(dir); foreach (var file in Directory.GetFiles(dir)) { acd.SetEntry(Path.GetFileName(file), File.ReadAllBytes(file)); } return acd; }
public static Acd FromFile(string filename) { if (!File.Exists(filename)) { throw new FileNotFoundException(filename); } var acd = new Acd(filename); using (var reader = new AcdReader(filename)) { acd.FromFile_Entries(reader); } return acd; }
protected AbstractDataFile(string carDir, string filename, Acd loadedAcd) { UnpackedFilename = filename; var acdFile = Path.Combine(carDir, "data.acd"); if (loadedAcd != null || File.Exists(acdFile)) { Mode = StorageMode.AcdFile; SourceFilename = acdFile; } else { Mode = StorageMode.UnpackedFile; SourceFilename = Path.Combine(carDir, "data", filename); } Load(loadedAcd); }
private DataWrapper(string carDirectory) { _carDirectory = carDirectory; _cache = new Dictionary<string, AbstractDataFile>(); var dataAcd = Path.Combine(carDirectory, "data.acd"); if (File.Exists(dataAcd)) { _acd = Acd.FromFile(dataAcd); IsPacked = true; } else { var dataDirectory = Path.Combine(carDirectory, "data"); if (Directory.Exists(dataDirectory)) { _acd = Acd.FromDirectory(dataDirectory); } } }
public void Load(Acd acd = null) { if (Mode == StorageMode.UnpackedFile) { if (File.Exists(SourceFilename)) { ParseString(File.ReadAllText(SourceFilename)); } else { Clear(); } } else { if (acd == null) { acd = Acd.FromFile(SourceFilename); } if (acd.Entries.ContainsKey(UnpackedFilename)) { ParseString(acd.Entries[UnpackedFilename].ToString()); } else { Clear(); } } }
public LutDataFile(string carDir, string filename, Acd loadedAcd) : base(carDir, filename, loadedAcd) {}