Jump to content

[WIP] Merge Plugins Standalone {PUBLIC BETA}


Mator
 Share

Recommended Posts

kl60O.png
 
{ Merge Plugins Standalone }
 

Gallery
- Latest documentation

 

 

News
- Public beta made available, 09/22/2015, 11:59PM (PST)
- Alpha made available 05/23/2015
- Development started 04/29/2015


Description
Merge Plugins Standalone (or just Merge Plugins), is a tool for combining mods
from Bethesda games which have .ESP/.ESM files.  It uses the xEdit codebase as
an API, and can be used with Skyrim, Oblivion, Fallout New Vegas, and Fallout 3.  
Merge Plugins Standalone is the successor of my Merge Plugins xEdit Script.


Features
Merge Plugins Standalone is a feature rich application that offers numerous
advantages over my Merge Plugins Script, let alone manual merging.  Below is a
list of some of the most notable features:

MERGE PROFILES:
Create profiles to manage different games or load orders.  Each profile has its
own settings and merges.

MERGE TRACKING:
Merges are tracked.  When you update a mod, any merges that mod is a part of
will be classified as needing to be rebuilt.

INFORMATIVE GUI:
A rich, extensive GUI gives you all of the information you need to know to make
merging decisions on the fly.

ASSET HANDLING:
Merging manually will break the association of your source plugins with certain
assets, leading to bugs.  E.g. the grey face bug, voiceless NPCs, and garbled
MCMs.  Merge Plugins handles all of these assets for you, moving them to correct
paths so they can be found by your new merged plugin, preventing these bugs from
occurring.

SCRIPT FRAGMENT HANDLING:
Papyrus script fragments are used in Bethesda games to handle crucial logic in
Dialog Topics, Quests, and Scenes.  When merging the FormIDs of certain records
have to be changed due to conflicts, which can break the association between
script fragments and their associated records.  This leads to bugs such as
dialog not triggering events, quests freezing, and broken scenes.  Merge Plugins
Standalone locates broken script fragments, decompiles them, adjusts their
source code, renames them, and then recompiles them.

BSA HANDLING:
The program detects BSAs associated with plugins being merged, and accesses the
assets in them as necessary for asset handling purposes.  It can also fully
extract BSAs for plugins being merged, or create a merged BSA from the BSAs
associated with the plugins being merged.

MOD ORGANIZER INTEGRATION:
Merge Plugins integrates with Mod Organizer even better than the Merge Plugins
Script.  Merged mods produced by Merge Plugins become mods in Mod Organizer
without any post-merge steps.  Just merge and go!

USER REPORT SYSTEM:
Merge Plugins Standalone connects to a server which has a database of user
submitted reports on the merge-ability of plugins.  Unlike the Merge Plugins
Script, you can easily create and submit reports on plugins you've merged
directly from the application.  Once submitted to the backend, reports will be
reviewed and added to the dictionary file if approved.  There is a separate
dictionary file for each game supported by Merge Plugins.  Reports associated
with plugins are displayed directly in the GUI, allowing you to make decisions
on what to merge based on the experiences of other users.

DICTIONARY VIEWER
Merge Plugins Standalone has a Dictionary Viewer, which allows you to view the
dictionary.  The viewer supports both sorting and filtering.

INTEGRATED UPDATES:
You can update the dictionary or the program directly from the program itself.  
Heck, if you want, you can even elect to have the program download and install
updates automatically!

FILTERABLE LOG:
Trying to troubleshoot?  A filterable log with messages grouped and labeled
according to what part of the program's functionality they correspond makes it
easy.

EXTENSIVE OPTIONS:
Tweak the program to your liking, tapping into integrations, asset handling, the
GUI, etc.

ABUNDANT DOCUMENTATION:
With over 30 pages of documentation, Merge Plugins is one of the best documented
modding programs currently available.  Help yourself by referring to the
documentation when you have a question.


Setup
1. Unpack Merge Plugins somewhere.  E.g. C:\Program Files\Merge Plugins.
2. Start Merge Plugins.
3. If you don't see a profile for your game, right-click in the box and choose
"New profile", then specify a profile name, game mode, and game path.  You can
browse for your game path by clicking on the browse icon.
4. If your profile is valid, its background color will turn a shade of light
green.  You can then select the profile by clicking the game icon (or any other
part of the panel).
5. Once you've selected a profile, click "OK".


Configuration
When you first start Merge Plugins you should do some initial configuration.
To start, click on the gear icon near the top of the window, this will open the
Options Form.  Once there, you'll want to:

(1) configure integrations
Go to the Integrations Tab.  If you're using Mod Organizer, check
the "I'm using Mod Organizer" checkbox.  Then click Detect
Integrations.  If any integrations aren't found, you'll want to
install them or browse to find them on your system.  Make sure
you verify the paths found by Merge Plugins, especially for
Mod Organizer if you have multiple installations.

(2) set your asset destination directory
Go to the Merging Tab and click the browse icon by the text box.
The folder you choose here will be where merges are placed.  If
you're using Mod Organizer this should be your Mod Organizer
mods folder.

(3) set merging options
Go to the Merging Tab and check the boxes corresponding to the
options you want to use.  You'll want to use "Extract BSAs" or
"Build Merged BSA" if you aren't using Mod Organizer.  You can
leave everything else as the defaults.

(4) register a username
Go to the General Tab and enter a username in the username
text box.  Click "Check" to verify the username is available.
Once you have a username that's available, click "Register".
This username is put on reports submitted to the backend.
A username is required if you want to submit reports on
plugins you've merged.


Thanks
APIs: superobject, TurboPower Abbrevia, ZeosDBO, xEdit
xEdit: zilav, hlp, Sharlikran, ElminsterAU
Testers: bla08, hishy, Kesta
Translators: dhxxqk2010, Oaristys, Ganda, Martinezer, EHPDJFrANKy


License
Merge Plugins is released under the MPL.  You can view the source code on
GitHub.

Link to comment
Share on other sites

I have problems with games profiles. ( normal user, I mean to use WB )
When going to run anything other than skyrim profile a selected profile on the next startup turns into skyrim profile.
 
This is the first launch as you can see from the attached picture everything was detected correctly.
 
Hz4J998.png
 

For example, Fallout 3:

 
Selecting profile for Fallout 3
OCOTATC.png
 
Application after running a profile for Fallout 3.
kpZkPoW.png
 
When I close application and run it again instead of Fallout 3 profile have Skyrim profile.
hsd3YLj.png
Link to comment
Share on other sites

I have problems with games profiles. ( normal user, I mean to use WB )
When going to run anything other than skyrim profile a selected profile on the next startup turns into skyrim profile.

 

I was able to recreate this.  Adding a GitHub issue.  Will probably fix today.

 

EDIT: Resolved.  https://github.com/matortheeternal/merge-plugins/issues/2

Link to comment
Share on other sites

Critical issue with build 2.0.1.30.  If you updated to it, you should still be able to update to 2.0.1.33.  If not, you can try creating a text document called changelog.txt in your merge plugins folder, which should stop the access violation and resume normal functionality.  I also updated the download in the OP to 2.0.1.33.

Link to comment
Share on other sites

  • 3 weeks later...

Using Merge Plugins Standalone v2.0.2.37 Beta I've found an issue with the Mod Organizer Path setting, which may also apply to the general path setting system.

When using the browse button everything sets as normal with my path being set to

D:\ModOrganizer\Skyrim\

However when I manually set my path to

D:\ModOrganizer\Skyrim

Missing of the closing slash (\), which should make no difference. The results are going to be confusing to anyone who couldn't figure out the reason.

The MO mods folder couldn't be found, Nerge Plugins looked for "D:\ModOrganizer\SkyrimMods" rather than just "D:\ModOrganizer\Skyrim\Mods".

"D:\ModOrganizer\Skyrim\ModOrganizer.ini" wasn't found because it looked for "D:\ModOrganizer\SkyrimModOrganizer.ini".

Don't know if this error is just on MO path or all of them.

On a positive note, showing the log when an error occurs in setting up, is great. It made finding the cause much easier than it may otherwise have been.

Link to comment
Share on other sites

Using Merge Plugins Standalone v2.0.2.37 Beta I've found an issue with the Mod Organizer Path setting, which may also apply to the general path setting system.

When using the browse button everything sets as normal with my path being set to

D:\ModOrganizer\Skyrim\

However when I manually set my path to

D:\ModOrganizer\Skyrim

Missing of the closing slash (\), which should make no difference. The results are going to be confusing to anyone who couldn't figure out the reason.

The MO mods folder couldn't be found, Nerge Plugins looked for "D:\ModOrganizer\SkyrimMods" rather than just "D:\ModOrganizer\Skyrim\Mods".

"D:\ModOrganizer\Skyrim\ModOrganizer.ini" wasn't found because it looked for "D:\ModOrganizer\SkyrimModOrganizer.ini".

Don't know if this error is just on MO path or all of them.

On a positive note, showing the log when an error occurs in setting up, is great. It made finding the cause much easier than it may otherwise have been.

 

Hi, I'm resolving this in the next build.  See the GitHub issue:

https://github.com/matortheeternal/merge-plugins/issues/16

 

Thanks for the report! :D

Link to comment
Share on other sites

When I try to merge:

FO3 Wanderers Edition - Main File.esm

with:

FO3 Wanderers Edition - Main File.esp
FO3 Wanderers Edition - DLC Anchorage.esp
FO3 Wanderers Edition - DLC The Pitt.esp
FO3 Wanderers Edition - DLC Broken Steel.esp
FO3 Wanderers Edition - DLC Point Lookout.esp
FO3 Wanderers Edition - DLC Mothership Zeta.esp
FO3 Wanderers Edition - Alternate Travel.esp
FO3 Wanderers Edition - Optional VATS Halftime.esp
UUF3P - FWE Patch.esp
 

MPS It does not allow to merge FO3 Wanderers Edition - Main File.esm due to "errors" in ESM.

[00:00] Checking for Errors in [09] FO3 Wanderers Edition - Main File.esm
[00:00] EnchJM "Junk Master" [ENCH:09005ED6]
[00:00]     ENCH \ ENIT - Effect Data \ Flags -> <Unknown: 1>
[00:00] T3TEnchZhuRongFlame "Burning" [ENCH:090072C2]
[00:00]     ENCH \ ENIT - Effect Data \ Flags -> <Unknown: 1>
[00:00] T3TEnchFirelanceFlame "Alien Flames" [ENCH:090072C3]
[00:00]     ENCH \ ENIT - Effect Data \ Flags -> <Unknown: 1>
[00:00] BltcEnchThor "BltcThorATK" [ENCH:09034E37]
[00:00]     ENCH \ ENIT - Effect Data \ Flags -> <Unknown: 1>
[00:00] BltcEnchMDMA "BltcMDMAATK" [ENCH:090354ED]
[00:00]     ENCH \ ENIT - Effect Data \ Flags -> <Unknown: 1>
[00:00] BltcEnchMeth "BltcMethATK" [ENCH:090354EE]
[00:00]     ENCH \ ENIT - Effect Data \ Flags -> <Unknown: 1>
[00:00] BltcEnch2CB "Bltc2CBATK" [ENCH:090354F0]
[00:00]     ENCH \ ENIT - Effect Data \ Flags -> <Unknown: 1>
[00:00] BltcEnchXanax "BltcXanaxATK" [ENCH:090354F2]
[00:00]     ENCH \ ENIT - Effect Data \ Flags -> <Unknown: 1>
[00:00] BltcEnchHeroin "BltcHeroinATK" [ENCH:090354F4]
[00:00]     ENCH \ ENIT - Effect Data \ Flags -> <Unknown: 1>
[00:00] BltcEnchpCp "BltcpCpATK" [ENCH:090354F6]
[00:00]     ENCH \ ENIT - Effect Data \ Flags -> <Unknown: 1>
[00:00] EnchJMSabre "Junk Metal Effects" [ENCH:09FA189E]
[00:00]     ENCH \ ENIT - Effect Data \ Flags -> <Unknown: 1>
[00:00] EnchJMBlade "Junk Metal Effects" [ENCH:09FA189F]
[00:00]     ENCH \ ENIT - Effect Data \ Flags -> <Unknown: 1>
[00:00] EnchJMSpear "Junk Metal Effects" [ENCH:09FA18A0]
[00:00]     ENCH \ ENIT - Effect Data \ Flags -> <Unknown: 1>
[00:00] EnchJMKnife "Junk Metal Effects" [ENCH:09FA18A1]
[00:00]     ENCH \ ENIT - Effect Data \ Flags -> <Unknown: 1>
[00:00] EnchJMHammer "Junk Metal Effects" [ENCH:09FA18A2]
[00:00]     ENCH \ ENIT - Effect Data \ Flags -> <Unknown: 1>
[00:00] EnchJMKatana "Junk Metal Effects" [ENCH:09FA18A3]
[00:00]     ENCH \ ENIT - Effect Data \ Flags -> <Unknown: 1>
[00:04] All Done!

 

Some time ago, I asked about it Sharlikran.


Some flags are added by the GECK and from within the GECK there is no way to change it.
Those values are left as unknown.

 

Is it possible to add options in MPS that allows you to merge plugin without need to remove these "Unknow" in xEdit?

Link to comment
Share on other sites

  • 3 months later...

I want to suggest three additions to the very useful 'flags' column.

 

1. DLL

You mention in the docs (I think) that a DLL makes a mod unable to be merged.

So, it would be useful to see that in the app.

Today, I look manually in any mod that has the SKSE flag icon in MO.

On a related note, I guess it's having a DLL isn't a complete death sentence for merging.

MoreHUD has one, and it seems to be working well in a merge so far.

 

2. NAVI

Plugins with NAVI records require a bunch of extra steps (as you also address in the docs).

I know this is trickier to show in Merge, because it's inside the plugin.

But it would be useful to treat them strategically.

Today, I filter for NAVI records in TES5Edit, then take a screenshot.

Yes, a screenshot. Ugh.

Another aside, I couldn't figure out how to get your QuickDisplay script to print the name of the plugin.

 

3. Script Targeted

Plugins explicitly named in scripts should be considered carefully before merging.

The offending script could be in any mod, including the same mod as the plugin.

I recognize that this is tricky, because of the scope of the search.

Today, handle this using a small, inefficient tool I wrote, which:

   - Takes my MO mods directory.

   - Catalogs all of the plugin files it can find.

   - Catalogs all of the script files it can find.

   - Tests the contents of every script file for every plugin name.

   - Writes a line to a csv file for every hit.

Last time I ran it took 1.5 hours. Yikes. Like I said: Inefficient.

Then I keep that spreadsheet open and check every plugin against it before I add it to a merge.

Maybe Merge could expose a similar process on the MO integration page, then refer to the results when displaying the flags.

Link to comment
Share on other sites

I'm getting an odd plugin error with 'Werewolf Perks Expanded'. 

I confirmed this in a simple load order, and with a fresh merge profile.

Merge finds this error with the plugin, but TES5Edit doesn't.

I tried the fix command, but I don't think it changed anything.

 

Filename: WerewolfPerksExpanded.esp
Hash: A65EDB5F
File size: 13.73 KB
Date modified: 2/25/2016 9:34:23 AM
Merge rating: No rating
Flags[0]: [E] Has errors
Number of records: 40
Number of overrides: 15
Author: Default
Description:  
Masters[0]: Skyrim.esm
Masters[1]: Update.esm
Masters[2]: Dawnguard.esm
Errors[0]: DLC1AnimalVigorPerk "Animal Vigor" [PERK:020059A5]
Errors[1]:   PERK \ Effects \ Effect \ DATA - Effect Data \ Quest + Stage \ Quest Stage -> <Warning: Quest Stage not found in "CreatureDialogueWerewolf "<Error: No strings file for lstring ID 000126C2>" [QUST:00000E46]">
Reports:  
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...