private void AdvanceVersion1To2(ModInfo modInfo, IRomFs nds) { string msgPath = Path.Combine(modInfo.FolderPath, Constants.MsgRomPath); nds.ExtractCopyOfFile(Constants.MsgRomPath, Path.GetDirectoryName(msgPath)); _msgService.ExtractFromMsgDat(msgPath, Path.Combine(modInfo.FolderPath, Constants.MsgFolderPath)); File.Delete(msgPath); modInfo.RLModVersion = 2; }
public ValueTask ExecuteAsync(IConsole console) { if (!File.Exists(SourcePath)) { console.Output.WriteLine($"File not found: {SourcePath}"); } using IRomFs nds = _romFsFactory(NdsPath); nds.InsertVariableLengthFile(FilePath, SourcePath); console.Output.WriteLine("File insertion complete!"); return default; }
public ValueTask ExecuteAsync(IConsole console) { if (string.IsNullOrEmpty(DestinationFolder)) { DestinationFolder = Path.GetDirectoryName(NdsPath); } else { Directory.CreateDirectory(DestinationFolder); } using IRomFs nds = _romFsFactory(NdsPath); nds.ExtractCopyOfFile(FilePath, DestinationFolder); return(default);
public void UpgradeModsToLatestVersion(IEnumerable <ModInfo> mods, string romPath) { using (IRomFs nds = _ndsFactory(romPath)) { foreach (ModInfo mod in mods) { switch (mod.RLModVersion) { case 1: AdvanceVersion1To2(mod, nds); goto case 2; case 2: default: break; } Update(mod); } } }