public static void Main(string[] args) { if (args.Length != 1) { if (Directory.Exists(nameof(CarArcadeRacing))) { BuildArcadeFile(); } else if (Directory.Exists(nameof(CarLicense))) { BuildLicenseFile(); } else { BuildGTModeFile(); } return; } string filename = Path.GetFileName(args[0]); string extension = Path.GetExtension(filename); bool favourCompressed = false; if (extension == ".gz") { string innerFilename = Path.GetFileNameWithoutExtension(filename); extension = Path.GetExtension(innerFilename); favourCompressed = true; } if (extension != ".dat") { return; } SetLanguagePrefix(filename); if (filename.Contains("license_data")) { UnicodeStringTable.LoadFromArray(LicenseStrings.Strings); DumpDataFile <LicenseData>("license_data.dat", favourCompressed); UnicodeStringTable.CreateLanguageDirectory(); // hack to be able to detect the language prefix when rebuilding } else if (filename.Contains("arcade_data")) { UnicodeStringTable.LoadFromArray(ArcadeStrings.Strings); DumpDataFile <ArcadeData>("arcade_data.dat", favourCompressed); UnicodeStringTable.CreateLanguageDirectory(); } else { UnicodeStringTable.Read(GetCorrectFilename($"{LanguagePrefix}_unistrdb.dat", favourCompressed)); DumpDataFile <GTModeData>("gtmode_data.dat", favourCompressed); DumpDataFile <GTModeRace>("gtmode_race.dat", favourCompressed); UnicodeStringTable.Export(); CarNameStringTable.Export(); } }
static void SplitArcadeFile(string filename) { StringTable.Read("eng_unistrdb.dat"); ArcadeData ArcadeData = new ArcadeData(); ArcadeData.ReadData(filename); ArcadeData.DumpData(); StringTable.Export(); CarNameStringTable.Export(); }
static void SplitLicenseFile(string filename) { StringTable.Read("eng_unistrdb.dat"); LicenseData LicenseData = new LicenseData(); LicenseData.ReadData(filename); LicenseData.DumpData(); StringTable.Export(); CarNameStringTable.Export(); }
static void SplitFile() { StringTable.Read($"{LanguagePrefix}_unistrdb.dat"); GTModeData CarData = new GTModeData(); CarData.ReadData($"{GetDataFilePrefix()}gtmode_data.dat"); CarData.DumpData(); GTModeRace RaceData = new GTModeRace(); RaceData.ReadData($"{GetDataFilePrefix()}gtmode_race.dat"); RaceData.DumpData(); StringTable.Export(); CarNameStringTable.Export(); }