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