Mator Smash Quick Start

From Nexus Mods Wiki
Revision as of 23:08, 8 April 2017 by Dubiousintent (talk | contribs) (Combining Smashed Patches and Merged Plugins: update)
Jump to: navigation, search

Overview

This document is a brief, unofficial guide to a program still in development. Expect differences.

Mator Smash is still in Alpha testing (buggy and "unfinished" as to features, though basically functional) and only comes with initial settings for Skryrim at the moment. For the average player, consider it "experimental" at this time.

It does support any game that TES5Edit (aka "xEdit") recognizes, but you will have to build and edit your own game settings to start. Knowledge of, or a willingness to explore, the intricacies of record and sub-record relationships is required. If you aren't comfortable working with a program still in the process of development or lacking direct support for your particular game at the moment, this isn't for you. You might want to keep an eye out for when it goes "Beta" (basically finished as to design features but needing wider testing to flush out the remaining unknown bugs), but only if you are willing to provide detailed bug reports.

The design goal is to make it "one-click" to produce a final patch file as possible. It is not designed to be used with Wrye Bash or any of it's game specific variations, but instead of them. Use Smash or Wrye but not both as your final patch file.

The effectiveness of Smash will increase over time as a dictionary (similar to that with Merge Plugins) grows through user-submitted Smash settings. Unlike Merge Plugins, the Smash dictionary will be far more selective. That means that every submitted setting will be reviewed carefully. The way it'll work is per each plugin there will be setting recommendations from 1 or more users. Users can then opt to use any of these recommended settings. At the moment this feature is not yet supported.

The general idea will be that recommendations should come from advanced users/mod authors who have put in the research to determine what should be used for a plugin. A setting submission would have a description of why that setting is recommended, and what was taken into account in developing it. Generally, most plugins won't have more than one setting choice unless all choices are equally valid. Input from multiple users will never be "combined".

Programs and Tools

  • As of this writing (07 Apr 2017), the latest release is Alpha v0.4.0.11 from GitHub: Mator Smash releases. See the "Issues" tab for all known current problems.
  • There is a basic tutorial Video: Mator Smash v0.0.7, which was an early version and looks somewhat different now. There is no other official documentation, as the author is devoting his time to development and feels anything before v1.0 is not worth the time before that point. This "Quick Start" is a supplement, and not a replacement for viewing the video.
  • Velgus has posted a unofficial Mator Smash Basics article on Reddit.
  • TES5Edit (aka "xEdit")
  • FNVEdit Training Manua applies to all game versions of xEdit.

Details

For those who prefer a "quick start" set of instructions, the following is taken from various posts in the AFK Mods thread and S.T.E.P. thread for Mator Smash. As a result, some information may be outdated.

Starting the program for your game

  • Launch the "Mator Smash" app.
It should automatically detect at least one installed, supported game such as "Skyrim" and present it as a "Profile".
  • If it doesn't detect your desired game, click on the "blue +" to "Create New Profile".
  • Enter a "NickName" for the game in the "Name" field.
  • Click on the downward pointing black-triangle "pull-down list button" at the end of the "Game" field and select one of the supported games. That game's formal name will appear in the field.
  • Click on the "folder" at the end of the "Path" field, and navigate to the location where the game is installed and it will appear in the field when that directory is selected. For Steam Games, this will be "<install path>\steamapps\common\<game>".
  • Click on the icon assigned to that game to select that Profile. The "OK" button should now be enabled.
(If the icon doesn't seem to enable the "OK" button, try clicking on the "Game" field and then on the icon.)
  • Click on the "OK" button. This will display the "Plugins Selection" list from the game "Data" folder.
You have to load the master plugins.
Make sure at least two plugins are selected. (You can't have conflict resolution without more than one plugin.) If you have a final "Smashed Patch" or "Bashed Patch" (BP) in your "load order", deselect them. (If you have a BP, you may now need to enable the "deactivated-ghosted" plugins that were fully incorporated into the BP.) Check for any "red" plugins to make sure you don't have any "dependencies" that need "masters" selected. Try clicking on (but not enabling) the BP to see if that doesn't turn the "red" plugins to "black" or "green".
If the "OK" button is not enabled, then you need to add some plugins (probably ESM or ESP "masters" to the selected plugins).
  • Click on the "OK" button. The "Smash" splash screen will display while it is loading until the main window as shown in the video will now display, opened to the "Plugins" tab.
  • Click on the "Settings" (Gear icon) button and configure the Smash settings.
  • Some elements (such as "Submission") may not be functional at this time.
  • Be sure to set the "Patch destination directory" under the "Patching" tab.
  • Enable "Merge redundant plugins" (the equivalent of Wrye Bash "ghosting".)
  • If you are using "Mod Organizer": configure "Smash" to work with it under the "Integrations" tab.

Making an Automatic (Smash.All) Setting

Eventually the Game specific settings folder on "github" will have "settings/<game>" subfolders with settings appropriate to various games, but at the moment there is only "settings/Skyrim". Creating what was called in the video "Automatic" but is now called the "Smash.All" setting will get you started. However, expect that you will need to adjust the settings for specific record and sub-record types to get the desired result. This is the intent, even to the point of making different settings for the same records in different plugins: total customization.

  • Click the "Manage Smash Settings" button (It's the button with a screw driver crossed over a wrench in the toolbar). This will display the "Settings Manager" window.
  • Right-click in the "Name | Records" pane and choose "New Setting".
  • Select the just added "NewSetting" record in the left pane, and enter "Automatic" for the name field of the right pane. Choose a color for it, and give it a description "Just for testing." (You can obviously do whatever you want for these).
  • Right-click on the "Records" node in the right pane "Tree" field and choose "Build | Build from plugins". This will display the "Plugin selection" window with all the plugins previously loaded unselected.
  • Right-click on the plugins list in the "Plugin selection" window, and choose "Select all", and then click "OK".
  • Wait a moment, it shouldn't take more than a few seconds. You should then see a "+" appear by the Records node in the tree.
  • Expand the records node by clicking on the "+" to the left of it. You'll see nodes for every type of record Smash could find overrides of in the plugins you selected to build the setting from.
  • Right-click on the "Records node" and choose "Autoset attributes". (Click "yes" to the confirmation dialog.)
  • Wait a little bit... then click "Save". (And click "yes" to the prune dialog).
  • You now have a new automatic setting, which will not perform perfect conflict resolution; it's only a programmatic guess of how to conflict resolve your records. The automatic setting is not the best that Smash is capable of: you can tweak what elements are processed and apply different logic to every element in every record beyond what this automatic setting does.
  • Note the name for this "setting" is now set to the name you gave it in the right pane "Name" field.
  • It's important to note, however, that auto-set attributes makes it so that all subrecords are treated as a single entity, so subrecord values are not merged unless you configure your Smash settings accordingly.

According to the author,if you can intelligently edit records in xEdit, then you can configure settings in Smash.

FAQs

  • How do I create multiple settings for the patch?
  • You create a new combined settings from the "Settings Manager" OR you use tags in the plugin's description to have the program make a combined setting for you when it starts.
  • If I am wanting to duplicate the use of Wrye Bash's bashed patch merging some mods, do I essentially need to utilize Merge Plugins first and then utilize Mator Smash?
  • There's an option ("Merge redundant plugins") under "Settings" (Gear icon) button to have Mator Smash merge plugins that are comprised entirely of override records ... but I personally recommend people use Merge Plugins for reducing ESP usage in their load order.

Creating and building a new "Smashed Patch"

  • Select the plugins in the the plugins list that you want to patch using <Shift+Click> and <Ctrl+Click>.
In general, you do not need to include the game or official DLC ESM files in the "Smash Patch". Mator still don't think it's good practice to patch them, but there are certain very specific circumstances where it may be necessary. More research is needed. (Just to be clear: You need to load the game ESMs initially into Smash, but should not usually include them in the patch file.)
  • Right-click one of the selected plugins and choose "Smash Setting | Automatic" (or whatever named "Smash Setting" you want to use for the selected plugins). The plugins should change to the color assigned to your named "Smash Setting", and you should see the name of the "Smash Setting" in the "setting" column.
  • Right-click again, and choose "Add to patch | New Patch". Specify a name and a filename (e.g. "TestSmash" and "TestSmash.esp"). You should see the patch name appear in the patch column.
  • Switch to the "Patches" tab. You can now see you have a Smashed Patch called "TestSmash". If the color of the patch is not green you probably have an issue in your settings (most likely the patch destination directory). You can see what the issue is by clicking the Smashed Patch and reading the "Status" value from the "Patch Details".
  • Once your patch has the "Ready to be built" status, click on the "Hammer" icon.
  • Smash will now build the patch. You can click "Show Details" to view a log while it goes.
  • The patch will be created in a sub-folder named after your Smashed Patch (i.e. "TestSmash") in the "Patch Destination Directory". This is primarily to accommodate Mod Organizer users. Others will probably want to just point this path to the game "Data" folder.
  • You can't just click Smash and be done. You need to verify the changes in the Smashed Patch are to your liking. You don't need to check every record in each category, but the author recommends checking at least 5 (of varying conflict colors).

Combining Smashed Patches and Merged Plugins

Creating "merged plugins" is a great way to reduce the number of plugins in your "load order" to keep under the "Plugin cap" for a particular game. See the wiki article Merged Plugin Guidelines for Personal Use for advice on choosing the appropriate plugins and procedures for this purpose.

According to Mator, the author of both:

  • Make a "Smashed Patch" for the plugins you intent to merge.
(It should not be named the same as your final "Smashed Patch" file. You can have multiple "Smash Patches" for sub-sets of plugins with any names, so use one related to the plugins for which it is resolving conflicts.)
  • Include that "Smashed Patch" in the "Merged Plugin" file.
  • Smash everything after all merges have been completed.
This will be your "final" Smashed Patch file.
  • Place the final Smashed Patch.esp at the end of your "load order", similarly to with a "Bashed Patch".
Note that LOOT will recognize the file name Smashed Patch.esp in it's masterlist, tagged with "NoMerge", global priority the same as Bashed Patch, and additionally set to load after TES5Merged.esp.

Automatic 'Bash Tag' recognition

The idea behind "tags" is "a set of named logical groups that point to the specific data in records to process by patcher." The following is taken from the Github "Issues" list as closed (completed) on 01 Jan 2016.

Normal Tags

These are tags that work the same way as "Bash Tags". Tags are put in the mod's description field in the format:

{{SETTING_NAME}}.

When in doubt as to which tag to apply, the author recommends the "Bash.All" or more recent "Smash.All" tag.

However, as an alternative if you prefer to be more precise, xEdit has a script called "Generate Bash Tags" which identifies the appropriate tags that are suitable for a given plugin and FO3/FNV/TES4 (Oblivion)/TES5 (Skyrim). (Note that as Mator did not write this script, he does not support it or it's results.) The script can be applied to a plugin ESP file or a specific record in such a file. The result can optionally be added to the plugin's "description" field so it will be available to "Bash Tag" aware tools like BOSS and LOOT as well as Smash. The Smashed Patch will resolve multiple records with the same tag.

Extended Tags

These are tags that include a partial or complete hash (4 characters recommended) to make certain the setting the user has is the correct setting. So:

{{SETTING_NAME|HASH}}.

This would resolve conflicts between "Smash Settings" with identical names, but would make it so updates to the setting would break its association with ESPs that included its extended tag in their description. This isn't THAT bad of a problem because "Smash Settings" shouldn't change too often, and can be resolved automatically by the program giving the user the option to specify the "Smash Setting" to use (if there is any SETTING_NAME conflict) and to update the tag.

Special Extended Tags

These are tags that don't have a setting name, but have a partial or complete hash instead. So:

{{|HASH}}.

Multiple Tags

Tags can be separated by a comma to specify multiple tags to be used (combined) for a single mod.
Examples:

  • {{SETTING_1,SETTING_2,SETTING_3}}
  • {{BASH:SETTING_1,SETTING_2,SETTING_3}}
  • {{SETTING_1|HASH_1,SETTING_2,SETTING_3|HASH_3}}
  • {{|HASH_1,|HASH_2,|HASH_3}}

References

Nexus wiki articles referred to by this article:

  • <none>



Nexus wiki articles that refer to this article:

  • <none>