Other user's assetsAll the assets in this file belong to the author, or are from free-to-use modder's resources
Upload permissionYou can upload this file to other sites but you must credit me as the creator of the file
Modification permissionYou are allowed to modify my files and release bug fixes or improve on the features so long as you credit me as the original creator
Conversion permissionYou can convert this file to work with other games as long as you credit me as the creator of the file
Asset use permissionYou are allowed to use the assets in this file without permission as long as you credit me
Asset use permission in mods/files that are being soldYou are not allowed to use assets from this file in any mods/files that are being sold, for money, on Steam Workshop or other platforms
Asset use permission in mods/files that earn donation pointsYou are allowed to earn Donation Points for your mods if they use my assets
Console modding permissionThis mod won't work on consoles or would not be acceptable on Bethesda.net according to their rules
Author notes
This author has not provided any additional notes regarding file permissions
File credits
- Uses a subset of plugin keys from xEdit by Elminster - https://github.com/TES5Edit/TES5Edit (MPL v2.0)
Donation Points system
Please log in to find out whether this mod is receiving Donation Points
Changelogs
Version 9.0.3
Removed mistakenly included hard link functions.
Version 9.0.2
Extra sound files now do not get packed in a separate BA2, so as to not count towards the BA2 limit. As a consequence the Main BA2 is not compressed.
Version 9.0.1
Reverted hard links mechanism as it didn't yield the benefits I had wanted.
Version 9.0.0
Source Merge Script - Hard Links to save from copying or moving templates out of the package. Works for SSD/SSD and HDD/SSD combinations for game/package locations. Reverts to copying/moving otherwise.
Source Merge Script - Added a threshold of 10GB minimum to merge mods afterwards to drastically reduce overall disk usage
Version 8.0.1
Source Merge Script - Fixed various issues causing loading to fail for meshes and materials of the extra assets mod.
Version 8.0.0
Source Merge Script - Added multi-texture archives support
Source Merge Script - Moved extra assets handling queries to after template creation
Merge Script - Fix - Wrong handling of new mods having only loose asset folders at the first level
Version 7.4.0
Merge Script - Feature - Added option to not compress source mods again if they are not to be used for later merges
Merge Script - Feature - Added option to have loose files instead of archives in the merged mod
Merge Script - Feature - Added option to not include a loader plugin, useful when you want to use any other existing plugin
Merge Script - Feature - Added option to inspect or modify the merged assets before packing. Very useful as sometimes the script may not detect loader plugins if they have a large amount of text inside. Also when you need to do manual changes etc.
Version 7.3.7
Source Merge Script - Fix - Reset was failing on copying original asset archives
Source Merge Script - Fix - Template switch just after reset was failing
Version 7.3.6
Source Merge Script - Fix - Initial rename of new mod failing when both new and old names are same
Version 7.3.5
Source Merge Script - Fix - Single quote in mod archive/folder name crashes the script.
Version 7.3.4
Source Merge Script - Fix - Reset template option not copying source asset archvies back to the game data folder
Source Merge Script - Fix - Generating sources step not catering for exclusion of voice archives
Source Merge Script - Fix - Sound archive wasn't getting generated for extra assets mod
Version 7.3.3
Source Merge Script - Fix - Wrong handling of new mods having only loose asset folders at the first level
Version 7.3.2
Fix - Source Merge - Replace Template function will now correctly save state.
Version 7.3.1
UI - Added error message for mods that the script is unable to decipher structure of. The user is presented with option to modify the mod himself to the usual structure with BA2s/assets and plugins in the first level.
Fix - Mods with BA2s and loose files in the first level were not being handled correctly
Version 7.3.0
Split the scripts so merge mod script won't require copying of sources.
Version 7.2.0
Feature - Added Voice archives processing option in Setup
Feature - Separated archive for sounds in merge and extra assets mods
Fixes - Numerous regressions in previous version, sorry!
Version 7.1.0
Feature - Split Material and Mesh assets to seprate archives for extra assets mod.
Fix - BA2 packing/unpacking was always working in SSD mode
Change - The load order folder opening is now optional and by default does not open it
Version 7.0.0
Feature - Setup script now features a repair mode which is activated when you have at least one template. It can fix the structure and rebuild configuration.
Feature - Added option to deploy a merged mod with an ESL flagged ESP loader
Refactor - Moved all performance resolutions to Setup script
Refactor - Changed the configuration storage from INI to a more universally supported JSON.
Version 6.3.0
Performance - Employ robocopy for faster cleanups after archive packing.
Bug - Fixed the instance where a new template is built while not replacing an active template, resulting in loss of the active template
Version 6.2.0
Performance - Refactor of packing logic to ascertain which archives didn't have any changes and thus need not be repacked.
Version 6.1.1
Fixed a syntax error in merge script
Version 6.1.0
Turns the manual actions of opening folders into automatic ones so you don't need to browse into the package or game folders yourself in merge scripts.
Better action intimation formatting
Fixed fallout 4 data folder path cleanup
Version 6.0.2
The prompt for data folder path has been changed to direct you to drag and drop the data folder in script window instead for much easier experience.
The script does not exit when you specify the wrong data folder path, instead it asks for it again.
Version 6.0.1
Fixed mods merge script.
Fixed a critical bug in extra assets handling.
Fixed case where template is replaced but old extra assets are not removed.
General fixes and text improvements
Version 6.0.0
Mods placed in folders can now be parsed by the script. Though they will get converted to archives on processing.
ESL based extra assets archives loader
Template based extra assets handling (now needs to be enabled in mod manager as the files are placed directly in data folder)
Voices archive has been removed from the inclusion list as its of least concern in the modding scene but has by far the largest impact on performance.
Removed auto configuration logic for 7-zip as now it can do this itself.
Fixed detected mod counts
Fixed an instance where optimized archives will unpack an asset folder, mistaking it as the mod's wrapping folder, when its the only top level folder
Fixed some case where loader plugins didn't get detected
Version 5.0.2
Fixed wrong merge script param used in setup script
Fixed current template wrongful switch when merge ran from setup
Version 5.0.1
Fixed setup asking for active merge when not in upgrade mode
Moved template name question from merge to setup script when run in one flow
Fixed error when installing PsIni module
Fixed sources not copying in new install mode
Version 5.0.0
Templates system
Version 4.2.1
Fixed folder clean up broken on merge script run after crash or error.
Version 4.2.0
Added compatiblity with non-standard structures for extra files. Unfortunately this means that the BA2 method has to be used for them and an extra plugin has to be loaded.
Fixed a critical bug in source merge logic.
Fixed default selection in questions.
Fixed HDD/SSD optimization profile selection. It was inverted and that's why it was hard doing basic stuff with the package running on an SSD while wasted potential with HDDs.
Version 4.1.1
Fixed extra asset movement statuses
Fixed some language issues.
Removed extra assets to BA2 option.
Version 4.1.0
Added automatic determination and selection of performance profile for HDD/SSD
Added script to merge all mod assets into BA2s, to help advanced users in making a merged mod out of their other mods. This script works on a separate mods folder.
Setup script now clears sources before proceeding
Setup script now copies the sources instead of moving them
Language fixes
Version 4.0.0
Time requirement reduction using parallel execution where possible.
Removed source caching in 7zip format in favour of retaining BA2 format. The parallel extraction achieves much better performance.
Version 3.1.2
Fixed incomplete merge script
Version 3.1.1
Fixes Setup script continuation to Merge script.
Version 3.1.0
Merge script can now optionally generate BA2 archives for extra files instead of including them into source files and as loose files.
Added support for mods that have Data folder further inside a folder.
Added support for mods with an arbitrarily named folder housing the assets.
Added conditions to skip mod optimization.
Some time reductions
Fixed mod optimization for mods with data folder.
Fixed setup script emptying existing mods folder.
Fixed handling of mods with BA2s inside data folder.
Version 3.0.0
Restructured the package so that scripts can be accessed as normal programs or how bat files are run.
Use the script shortcuts to directly run any script
Removed the need for admin rights for new users
Version 2.4.0
Merged backup script as an option in setup script
Make reset script check for existing BA2 backup before attempting to generate sources from cache
Restructured setup script by moving all questions to the beginning so the whole process can run without user intervention. This also applies to the merge script, if run in conjunction.
Version 2.3.1
Fixes a case where empty BA2 loader plugin with masters defined may not get detected
Version 2.3.0
Mod Optimization: Automatic exclusion of BA2 loader ESP/ESL
Mod optimization now formats all mod names in lower and kebab case.
Mod optimization is now applied to all mods on first hit.
Optimized mods now have a "-optimized" suffix for identification.
Version 2.2.1
Fixed backup script not working
Fixed handling of single quote in mod name
Version 2.2.0
Added intimation of long wait
Added merging of more types of extra assets into source files
Fixed task intimations when merge is run from setup script.
Version 2.1.0
Better user experience when specifying paths
Better language for questions
Fixed some spelling errors
Version 2.0.0
Merge mod organization features into merge script
Revamped UIX with nicer progress states and no technical jargon
Better technical organization
Added a faster setup script which assists the user through the whole process for the first time.
Version 1.4.1
Fixed mod preparation failing on non-7z archives
Version 1.4.0
Fixed: Handling of mod files with spaces in the name
Added: Mods preparation/optimization script
Version 1.3.0
Scripts no longer exit without user intervention on completion or error.
Version 1.2.0
Removed DLC Requirements
Version 1.1.0
Added automatic determination of available physical memory to select optimium compression settings
Version 1.0.0
First Release
Donations
No donations accepted
Merge Mods Script The problem
In this day and age of millions of available mods for fallout 4, its very common to hit the limits of what the game can handle either in terms of limits concerning ESPs or BA2s or in extreme cases even ESLs. So, its imperative that there must be many tools available to merge these files so such limits could be pushed further out.
The idea
This script is just another one of such automations that aids you in packing multiple BA2s from other mods into a single mod, override mods with others using a load order, eliminate loader plugins and thus give you some room to breathe.
The script accepts loose files in folders as well so you can use it to create BA2s from scratch as well. It sorts and places files automatically in BA2s with appropriate configuration.
Many of options allow you to tailor every aspect of this process and even allow you to inspect the final merged template before archiving.
Features
Create BA2s - Folders as per the load order can be merged into BA2s along with loader plugins.
Merge Mods - Mods as per the load order will be merged into a new mod with a loader plugin of your choice. Reducing BA2s and/or any dummy loader plugins.
Loader Plugin Selection - Optional - Loader plugin can be ESP, ESL, ESL flagged ESP.
Archive Mods with 7z - Optional - Pack mods into compressed 7z archives for use with your mod manager.
Customizable Texture Archive Size Limit - Size limit for texture archives can be set according to your game's behaviour, generating multiple archives when required.
Keep Optimized Source Mods - Optional - For faster later merges.
Inspecting Merged Template - Optional - Enable this option to inspect or modify the merged template before packing.
High Performance - Utilizing high IO capabilities of SSDs and multiple CPU cores to reduce time requirements from hours to minutes.
Repair Mode - The included setup script can be run to repair the package structure and rebuild configuration, if you have changed/upgraded hardware.
Source Merge Script The problem
The game essentially browses all of its own files (~500k) and the mods. It constructs a set of tables to resolve things according to the load order. This happens every time you start the game, load a save or simply go to a new area. The vast your mods are, the slower it gets and the more stutter you experience. Also contrary to common sense, once this table is constructed, the engine still is much slower to get something from a mod.
The idea
This package essentially circumvents the problem by merging your mods into the game's own archives i.e. your modded state becomes the new vanilla. It is just like playing the game with your mods but with the vanilla's smoothness.
As with many texture overhauls, they touch upon thousands of files, some even tens of thousands. All that workload capacity is effectively vacated for anything more you want to add to the game. Similarly many mods have plugins that are there only to tell the game to load the related asset archives, those are removed and you get more mod slots for reuse.
Which mods are best suited for merger?
Large scale replacement mods like texture overhauls or clothing/armour replacers. Essentially anything that is displayed on your screen in excess has the potential of being of greatest impact.
These are also very subjective like for myself even face replacers are of great impact because my settlements have settlers in the hundreds.
Features
Templates - Make templates out of your favourite texture combinations with near instantaneous switching. *
Handling Extra Assets - Extra assets not found in source are packaged into a merged mod.
High Performance - Utilizing high IO capabilities of SSDs and multiple CPU cores to reduce time requirements from hours to minutes.
Efficient Space Usage - The package merges mods when files exceed a 10GB limit whenever possible.
Repair Mode - The included setup script can be run to repair the package structure and rebuild configuration, if you have changed/upgraded hardware.
* If package is in the same volume as the game or on an SSD.
Time Requirements
HDD - 4+ hours for new installs, 3+ hours for merges
SSD - 20+ minutes for new installs, 15+ minutes for merges.
System configuration: AMD Ryzen 5900X 12C/24T, 32GB RAM, NVMe SSD (1.5GB/s write), HDD (160MB/s write) and ~20GB in mods.
Considerations Notes
Systems with HDD or less than 8 physical cores will benefit tremendously from suspending any anti-virus/anti-malware applications.
Do not click and drag inside the script window. The action pauses the process instantly or in stages so that you can copy stuff from the window. Also if the name of the window changes with Select as prefix, it means that it is in the paused state. You will then have to press Escape key to resume.
The script leaves one physical CPU core free for your convenience. So if you have 64 cores available, it will try to use 63 of them.
Peak usage while merging: 45GB extracted source + (10GB or uncompressed size of largest mod in your merge order, whichever is higher).
Organizing Mods
The mods are picked in the alphabetic order from the mods or mods-merge folders. You must devise your own naming scheme to organize them. Simplest you can prefix the mod archive/folder names with an incrementing serial to order them.
Usage Merge Mods Script Installation
Extract the package somewhere, preferably in a SSD volume.
Move the downloaded BSArch.exe to the dist folder in the package.
Double click Setup shortcut and follow instructions to setup the package.
Merge
Double click the Mods Merge shortcut and follow the instructions.
If all goes well then a MergedMod.7z or an archive with whatever name you specified for the plugin, will be created inside the folder where you have the tool.
Source Merge Script Installation
Extract the package somewhere, preferably in a SSD volume.
Move the downloaded BSArch.exe to the dist folder in the package.
Double click Setup shortcut and follow instructions to setup the package.
First Merge
Double click the Source Merge shortcut and follow instructions. (If Setup created a merge then you don't need this)
Subsequent Merges
The merge script behaves differently when there is at least one template/merge present. A menu is shown, from which you can manage your merges.
Options are available to create a new template, replace current template, switch template, remove template, and reset to vanilla state.
Check out the articles and video sections for more usage & trouble shooting instructions. Source:Repository