This page was last updated on 24 December 2015, 2:34AM
Changelogs
Version 1.9
- Renamed and adjusted hint for "Browse" button in the Asset Destination helper
for clarity. It now says "Explore".
- Now logging important Conflicting FormID errors that were muted before.
- Revised RenumberConflictingFormIDs to allow renumbering of injected formIDs
while maintaing their injected status, fixing an issue with in-merge injections
causing duplicate FormID errors.
- Fixed CopyGeneralAssets scanning "." and ".." folders on certain systems.
- Using FileExists for CopyGeneralAssets instead of FileSearch. ESP and ESM files
will always be in the base folder for the mod, else xEdit wouldn't have been
able to load them in the first place.
- Now using Edit Scripts\mp\temp as temporary directory, and verifying files
can be saved in the temporary directory.
- Implemented user-friendly EditOutOfDate method from mteFunctions when it has
been detected that the user is using an out of date version of xEdit.
- Now using robocopy instead of the deprecated xcopy function when copying
general assets with batch copying.
- Now logging batch copying to the merge log.
- Merge logs named properly (no more AM/PM).
- Now using copy instead of robocopy when useRobocopy constant is false. This
fix should help users who have privilege escalation issues when starting xEdit
through Mod Organizer.
- Updated EditOutOfDate method to take a URL as a parameter, now pointing to Nexus
Mods for TES5Edit (because of the 3.1.0 release).
- Fixed issue with Merged Plugin Manager not doing smart removal correctly due to
GetEditValues returning the wrong variable type when used in a function call.
Version 1.8
- Internal logging now used instead of TES5Edit logging. Some TES5Edit
log messages will still be used. Logs are automatically saved to a
text document in Edit Scripts/mp/logs/merge_<date>_<time>.txt. The
log can be viewed during execution by clicking on the Show Details
button.
- Logs folder is automatically created if it didn't exist before the
script was executed.
- New separate "Advanced Options" window for setting script options.
- Settings specified in the advanced options window will be saved to a
the file Edit Scripts\mp\config.ini whenever you click OK. These
settings are then loaded and used each time the script is run in the
future.
- Automatic detection of Mod Organizer's directory has been added.
- Log saves even if script terminates prematurely.
- Better messages when a record fails to copy.
- Note: Several of the options in the Advanced Options window are
disabled because they haven't been implemented yet.
- New option: Renumber Conflicting FormIDs only renumbers FormIDs that
conflict with each other.
- Fixed asset copying to work with MO's virtual data directory as well
as a real Skyrim data directory (e.g. NMM or manual installation).
- Fixed renumbering methods to not terminate prematurely.
- Made it so the script will wait for the user to close the progress
window after execution instead of closing it automatically.
- Enhanced the advanced options GUI with hints and messages to help
the user use the script properly.
- Added separate Asset destination directory so the user can set where
the script copies assets to.
- Added CopyAll option, which copies assets from Mod Organizer mod
folders to the asset destination folder.
- Fixed reference redirection error in Renumber Conflicting FormIDs
method.
- Added BSA extraction.
- Added asset destination directory helper which will help the user if
the directory they have set isn't empty.
- Improved logging and clearer difference between normal mode and
debug mode.
- File Specific asset copying fixed to also copy from BSAs.
- Fixed asset copying not handling renumbered FormIDs correctly.
- Fixed issues with merged plugin description not being created properly.
- Fixed issue with Next Object ID not being updated properly, causing
formlists to conflict with other records.
- Fixed issue with Remove() being used in second pass copying instead of
RemoveNode().
- Added batch copying, which allows you to do asset copying via a batch
file constructed by the script after the script's execution. This is
necessary for large merges where the memory footprint of CopyFile can
become an issue.
- Fixed TMemIni to use WriteBool and ReadBool for boolean values.
- Made internal log more responsive with Application.processmessages;
after each new LogMessage.
- Adjusted remove masters routine to be more efficient.
- Better memory management (everything is freed properly, now).
- Copy General Assets now works correctly when modPath isn't found.
- Description no longer has issues with Merged Plugin: text.
- Script now forces TempPath to exist, in case it's been deleted.
- Filename sanitization now put in mteFunctions.
- Automatically updates GUI after merging via RemoveFilter(), which was
added in xEdit svn1876.
- Changed two-pass copying to remove immediately after copying, which should
correct any issues with merging into existing files with two-pass copying.
- Fixed issue with script closing the progress bar/log window when an exception
occurs instead of leaving it open.
- Fixed issue with Renumbering FormIDs where incorrect FormIDs were being
added to the OldForms and NewForms stringlists (which affected FormLists).
- More robust approach to TempPath, will now try to use a secondary path if
DirectoryExists(TempPath) returns false after using ForceDirectories(TempPath),
and will terminate the script if the secondary path fails as well.
- Added PluginForm, which can be viewed by clicking a plugin label in the main
MergeForm. This form shows more details on reports on a particular plugin.
- Massive fix, the Duplicate FormID errors that came up when copying CELL/WRLD
records have been fixed. The fix is kind of ugly right now, but it should
result in working merged plugins. A cleaner fix would require a direct change
to how wbCopyElementToFile works in the xEdit binary.
- If there are no files to be copied, the batch copy messages will not be printed
to the log and the script won't stop at the end to wait for batch copying to
complete (because there is no batch copying happening).]
- Fixed issue with Renumber Conflicting FormIDs failing to properly index FormIDs
from a file being merged into.
- Fixed voice asset copying directory error.
- Revised hints in merge window.
- Removed unimplemented "Disable Plugins" checkbox.
- Made it so MCM translation file copying is logged at a basic level even when
debugMCM isn't true.
Version 1.7
- Moved the Bethesda Files listing to mteFunctions.pas.
- The script now has a stylish new progress bar.
- The script now creates FormLists for each file that is merged, so
individual files can be removed after being merged
- The second pass copying will now use the merging method that was
selected by the user, instead of always using MergeByGroups.
- Not having debug enabled will no longer create an issue with asset
copying.
- The user will be notified when their version of Edit is out of date.
- MCM Translation files are automatically copied for the new merged file.
- Second pass copying can now be performed into an existing file.
- Filenames in the Merging options form will be colored based on reports
stored in the Merge Plugins dictionary.
- You can now merge files and renumber formIDs when more than 128 files
are loaded in TES5Edit, assuming you're using TES5Edit v3.0.33 or newer.
- You can now merge into an existing plugin while using two-pass copying.
- The TComboBox in the file selection window is no longer editable, so
there should be no more confusion on how to use it.
- Created the Merged Plugin Manager. This can be used to generate reports
or to remove plugins from an existing merged plugin.
- Created a client-server interface for submitted reports and getting updated
dictionary files.
Version 1.6
- Almost everything can now be merged with the new Two-Pass merging method.
The one disadvantage of this method is you currently can't use it to merge
into an existing merged file.
- Debug messages set to false by default.
- The mergerecords user variable has been removed because it doesn't do anything
currently.
- Asset copying is no longer case sensitive.
- Cleaned up some message log stuff.
- UI has skipnavdata and two-pass copying as advanced merging options now.
Version 1.5
- Fixed description copying when merging into a merged file.
- The script will copy assets in Filename/FormID specific directories into a
new directory for the merged file, renaming as per renumbered FormIDs as
well. (e.g. NPC FaceGenData, and Voices)
- Map errors after merging were due to a common dirty edit of the Tamriel
worldspace record. The script now automatically rectifies this dirty edit
if a Tamriel worldspace record is found.
- Script terminates in a friendly manner with a meaningful message if the
user is using an old version of TES5Edit.
- NAVM/NAVI records are deleted from the merged file if skipnavdata is set
to true. This allows the merging of many mods that previously caused CTDs
when merged. (e.g. player home mods!)
- Code has been cleaned up and commented nicer.
- User variables moved to the constants section.
Version 1.3
- Fixed the renumbering process so it no longer renumbers master records which
are being overridden. This should fix A LOT of problems.
- The merge will now proceed from the last file to the first file, which is
the way it always should have been.
- I created a new separate script for renumbering FormID in multiple files,
this should be useful to those of you who want to merge Immersive Settlements
(and maybe in some other situations as well).
Version 1.2
- ESP masters for files being merged are now recognized and added properly.
- You now select plugins to be merged by selecting them using Ctrl+Click or
Shift+Click in TES5Edit. That is to say, highlight the files you want to
merge then run the script to merge them. Thanks goes out to Zilav for this
functionality.
- The script will now continue trying to copy records if it encounters an
error. This will let it complete the merge as much as possible, rather than
terminating just because of a one or two bad records. The script will report
records that failed to copy upon completion.
Version 1.1
- The script will automatically renumber FormIDs from a safe value which is
higher than the highest FormID amongst the plugins being merged.
- You no longer need to type in the file extension when telling the script
to use an existing file as your merged file. You can omit or include it
as per your preference.
- The script no longer misses child records when renumbering FormIDs. That
means files which previously had trouble merging (like Immersive Settlements)
should have fewer problems.
- Corrected and cleaned up code in several areas. Now the script will print
messages to the log telling you which files it's merging and will terminate
if no files are selected for merging.
- Added a user variable for merging masters. I don't recommend using this
functionality, as it may cause problems, but you're free to try it out!