Example #1
0
        public static LoadOrder <OblivionMod> ImportUsualLoadOrder(
            DirectoryPath dataFolder,
            GroupMask?importMask       = null,
            ModKey?modKeyExclusionHint = null,
            bool allowMissingMods      = false)
        {
            var loadOrderListing = LoadOrder.GetUsualLoadOrder(GameMode.Oblivion, dataFolder, allowMissingMods: allowMissingMods);

            if (modKeyExclusionHint != null)
            {
                loadOrderListing.Remove(modKeyExclusionHint.Value);
            }
            var loadOrder = new LoadOrder <OblivionMod>();

            loadOrder.Import(
                dataFolder,
                loadOrderListing,
                importer: (FilePath path, ModKey modKey, out OblivionMod mod) =>
            {
                mod = OblivionMod.CreateFromBinary(
                    path.Path,
                    modKey,
                    importMask: importMask);
                return(true);
            });
            return(loadOrder);
        }
Example #2
0
        public static void TypicalPatch(
            DirectoryPath dataFolder,
            ModKey outModKey,
            Func <ModKey, LoadOrder <OblivionMod>, OblivionMod> processor,
            GroupMask?importMask  = null,
            bool allowMissingMods = false)
        {
            var loadOrderList = LoadOrder.GetUsualLoadOrder(GameMode.Oblivion, dataFolder, allowMissingMods: allowMissingMods);

            Pipeline.TypicalPatch(
                dataFolder: dataFolder,
                outModKey: outModKey,
                loadOrderList: loadOrderList,
                processor: processor,
                importer: (FilePath path, ModKey modKey, out OblivionMod mod) =>
            {
                mod = OblivionMod.CreateFromBinary(
                    path.Path,
                    modKey,
                    importMask: importMask);
                return(true);
            });
        }