Пример #1
0
        protected override void RunImport()
        {
            Result.Movie.HeaderEntries[HeaderKeys.Platform] = VSystemID.Raw.NDS;

            var syncSettings = new NDS.NDSSyncSettings();

            using var sr = SourceFile.OpenText();
            string line;

            while ((line = sr.ReadLine()) != null)
            {
                if (string.IsNullOrWhiteSpace(line))
                {
                    continue;
                }

                if (line[0] == '|')
                {
                    ImportInputFrame(line);
                }
                else if (line.StartsWith("rerecordCount"))
                {
                    Result.Movie.Rerecords = (ulong)(int.TryParse(ParseHeader(line, "rerecordCount"), out var rerecordCount) ? rerecordCount : default);
        protected override void RunImport()
        {
            Result.Movie.HeaderEntries[HeaderKeys.Platform] = "NDS";

            var syncSettings = new NDS.NDSSyncSettings();

            using var sr = SourceFile.OpenText();
            string line;

            while ((line = sr.ReadLine()) != null)
            {
                if (string.IsNullOrWhiteSpace(line))
                {
                    continue;
                }

                if (line[0] == '|')
                {
                    ImportInputFrame(line);
                }
                else if (line.StartsWith("rerecordCount"))
                {
                    int.TryParse(ParseHeader(line, "rerecordCount"), out var rerecordCount);
                    Result.Movie.Rerecords = (ulong)rerecordCount;
                }
                else if (line.StartsWith("firmNickname"))
                {
                    syncSettings.FirmwareUsername = ParseHeader(line, "firmNickname");
                }
                else if (line.StartsWith("firmFavColour"))
                {
                    syncSettings.FirmwareFavouriteColour = (NDS.NDSSyncSettings.Color) byte.Parse(ParseHeader(line, "firmFavColour"));
                }
                else if (line.StartsWith("firmBirthDay"))
                {
                    syncSettings.FirmwareBirthdayDay = byte.Parse(ParseHeader(line, "firmBirthDay"));
                }
                else if (line.StartsWith("firmBirthMonth"))
                {
                    syncSettings.FirmwareBirthdayMonth = (NDS.NDSSyncSettings.Month) byte.Parse(ParseHeader(line, "firmBirthMonth"));
                }
                else if (line.StartsWith("rtcStartNew"))
                {
                    //TODO: what is this format?? 2010-JAN-01 00:00:00:000
                    //var time = DateTime.Parse(ParseHeader(line, "rtcStartNew"));
                    //syncSettings.TimeAtBoot = (uint)new DateTimeOffset(time.ToLocalTime()).ToUnixTimeSeconds();
                }
                else if (line.StartsWith("comment author"))
                {
                    Result.Movie.HeaderEntries[HeaderKeys.Author] = ParseHeader(line, "comment author");
                }
                else if (line.StartsWith("comment"))
                {
                    Result.Movie.Comments.Add(ParseHeader(line, "comment"));
                }
                else if (line.ToLower().StartsWith("guid"))
                {
                    // We no longer care to keep this info
                }
                else
                {
                    Result.Movie.Comments.Add(line);                     // Everything not explicitly defined is treated as a comment.
                }

                Result.Movie.SyncSettingsJson = ConfigService.SaveWithType(syncSettings);
            }

            Result.Movie.HeaderEntries[HeaderKeys.Core] = CoreNames.MelonDS;
        }