public NdsSyncSettings( IMainFormForConfig mainForm, MelonDS.MelonSyncSettings syncSettings) { _mainForm = mainForm; _syncSettings = syncSettings; InitializeComponent(); }
protected override void RunImport() { Result.Movie.HeaderEntries[HeaderKeys.Platform] = "NDS"; var syncSettings = new MelonDS.MelonSyncSettings(); 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.Nickname = ParseHeader(line, "firmNickname"); } else if (line.StartsWith("firmFavColour")) { syncSettings.FavoriteColor = byte.Parse(ParseHeader(line, "firmFavColour")); } else if (line.StartsWith("firmBirthDay")) { syncSettings.BirthdayDay = byte.Parse(ParseHeader(line, "firmBirthDay")); } else if (line.StartsWith("firmBirthMonth")) { syncSettings.BirthdayMonth = 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); } }