public ModInfo Create(string baseRomPath, string name = "", string version = "", string author = "") { var modInfo = new ModInfo { FolderPath = GetNewModDirectory(), Name = name, Version = version, Author = author, RLModVersion = CurrentModVersion }; Directory.CreateDirectory(modInfo.FolderPath); using (var nds = _ndsFactory(baseRomPath)) { nds.ExtractCopyOfDirectory(Constants.DataFolderPath, modInfo.FolderPath); } var msgPath = Path.Combine(modInfo.FolderPath, Constants.MsgRomPath); _msgService.ExtractFromMsgDat(msgPath, Path.Combine(modInfo.FolderPath, Constants.MsgFolderPath)); File.Delete(msgPath); Update(modInfo); return(modInfo); }