Esempio n. 1
0
        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;
        }
Esempio n. 2
0
    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;
    }
Esempio n. 3
0
    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);
Esempio n. 4
0
        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);
                }
            }
        }