Beispiel #1
0
        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();
            }
        }
Beispiel #2
0
        static void SplitArcadeFile(string filename)
        {
            StringTable.Read("eng_unistrdb.dat");
            ArcadeData ArcadeData = new ArcadeData();

            ArcadeData.ReadData(filename);
            ArcadeData.DumpData();
            StringTable.Export();
            CarNameStringTable.Export();
        }
Beispiel #3
0
        static void SplitLicenseFile(string filename)
        {
            StringTable.Read("eng_unistrdb.dat");
            LicenseData LicenseData = new LicenseData();

            LicenseData.ReadData(filename);
            LicenseData.DumpData();
            StringTable.Export();
            CarNameStringTable.Export();
        }
Beispiel #4
0
        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();
        }