Difference between revisions of "Mator Smash Quick Start"

From Nexus Mods Wiki
Jump to: navigation, search
(new page)
 
(Updated AFK Mods links)
 
(8 intermediate revisions by one other user not shown)
Line 1: Line 1:
 +
 
== Overview ==
 
== Overview ==
This document is a brief, unofficial guide to a program still in development.  Expect differences.
 
  
[https://github.com/matortheeternal/smash/releases 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.
+
This document is a brief, unofficial guide to a program still in development. Expect differences.
  
It does support any game that [http://www.nexusmods.com/skyrim/mods/25859/? 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.
+
[https://github.com/matortheeternal/smash/releases 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.
  
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.
+
It does support any game that [http://www.nexusmods.com/skyrim/mods/25859/? 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 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 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 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".
+
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 ==
 
== Programs and Tools ==
* As of this writing (07 Apr 2017), the latest release is Alpha v0.4.0.11 from [https://github.com/matortheeternal/smash/releases GitHub: Mator Smash releases]. See the "Issues" tab for all known current problems.
+
 
* There is a basic tutorial [https://www.youtube.com/watch?v=8wSAB1FrXa4 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.
+
*As of this writing (07 Apr 2017), the latest release is Alpha v0.4.0.11 from [https://github.com/matortheeternal/smash/releases GitHub: Mator Smash releases]. See the "Issues" tab for all known current problems.  
* '''Velgus''' has posted a unofficial [https://www.reddit.com/r/skyrimmods/comments/4e7ejv/guide_mator_smash_basics/ Mator Smash Basics] article on Reddit.
+
*There is a basic tutorial [https://www.youtube.com/watch?v=8wSAB1FrXa4 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.  
* [http://www.nexusmods.com/skyrim/mods/25859/? TES5Edit (aka "xEdit")]
+
*'''Velgus''' has posted a unofficial [https://www.reddit.com/r/skyrimmods/comments/4e7ejv/guide_mator_smash_basics/ Mator Smash Basics] article on Reddit.  
* [http://newvegas.nexusmods.com/mods/38413 FNVEdit Training Manua] applies to all game versions of '''xEdit'''.
+
*[http://www.nexusmods.com/skyrim/mods/25859/? TES5Edit (aka "xEdit")]  
 +
*[http://newvegas.nexusmods.com/mods/38413 FNVEdit Training Manua] applies to all game versions of '''xEdit'''.  
  
 
== Details ==
 
== Details ==
For those who prefer a "quick start" set of instructions, the following is taken from various posts in the [https://afkmods.iguanadons.net/index.php?/topic/4113-wip-mator-smash/&do=findComment&comment=159050 AFK Mods thread] and [http://forum.step-project.com/topic/6936-wip-mator-smash/ S.T.E.P. thread] for Mator Smash. As a result, some information may be outdated.
+
 
 +
For those who prefer a "quick start" set of instructions, the following is taken from various posts in the [https://www.afkmods.com/index.php?/topic/4113-wip-mator-smash/&do=findComment&comment=159050 AFK Mods thread] and [http://forum.step-project.com/topic/6936-wip-mator-smash/ S.T.E.P. thread] for Mator Smash. As a result, some information may be outdated.
  
 
=== Starting the program for your game ===
 
=== 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".
+
*Launch the "Mator Smash" app.  
:* 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.
+
:It should automatically detect at least one installed, supported game such as "Skyrim" and present it as a "Profile".  
::* 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.
+
:*If it doesn't detect your desired game, click on the "blue +" to "Create New Profile".
::* 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.
+
::*Enter a "NickName" for the game in the "Name" field.  
: (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 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 "OK" button. This will display the "Plugins Selection" list from the game "Data" folder.
+
::*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>".    
: 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 ESMs)
+
*Click on the icon assigned to that game to select that Profile. The "OK" button should now be enabled.  
* 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.
+
:(If the icon doesn't seem to enable the "OK" button, try clicking on the "Game" field and then on the icon.)  
:* Some elements (such as "Submission") may not be functional at this time.
+
 
:* Be sure to set the "Patch destination directory" under the "Patching" tab.
+
*Click on the "OK" button. This will display the "Plugins Selection" list from the game "Data" folder.
:* 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.
+
: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 ===
 
=== Making an Automatic (Smash.All) Setting ===
Eventually the [https://github.com/matortheeternal/smash/tree/master/frontend 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.
+
Eventually the [https://github.com/matortheeternal/smash/tree/master/frontend 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.
* 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).
+
*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 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 in the "Name | Records" pane and choose "New Setting".  
* Right-click on the plugins list in the "Plugin selection" window, and choose "Select all", and then click "OK".
+
*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).  
* 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.
+
*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.  
* 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 plugins list in the "Plugin selection" window, and choose "Select all", and then click "OK".  
* Right-click on the "Records node" and choose "Autoset attributes". (Click "yes" to the confirmation dialog.)
+
*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.  
* Wait a little bit... then click "Save". (And click "yes" to the prune dialog).
+
*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.  
* 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.
+
*Right-click on the "Records node" and choose "Autoset attributes". (Click "yes" to the confirmation dialog.)  
* Note the name for this "setting" is now set to the name you gave it in the right pane "Name" field.
+
*Wait a little bit... then click "Save". (And click "yes" to the prune dialog).  
* 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.
+
*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.
 
According to the author,if you can intelligently edit records in '''xEdit''', then you can configure settings in Smash.
  
 
==== FAQs ====
 
==== 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'''?
+
*How do I create multiple settings for the patch?
:* 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.
+
 
 +
:
 +
:*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" ===
 
=== 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>.
+
*Select the plugins in the the plugins list that you want to patch using <Shift+Click> and <Ctrl+Click>.  
: Do not include the game or official DLC ESM files in the Smash Patch. (This advice is under review.)
 
* 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 "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 '''Smash Patches''' and '''Merged Plugins''' ===
+
: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.)
According to the author of both:
 
<div name="Simulated code box" class="boilerplate metadata" id="Code box sim"
 
style="margin:0px 10px 10px 10px; border:1px dashed #DAA520; color: lightgray; background-color:#424242; padding:3px;"
 
background-color:#fff5f5;padding:3px;
 
/* Remove the next four 'white-space' lines to restore default white-space processing. */
 
white-space: pre-wrap;      /* css-3 */
 
white-space: -moz-pre-wrap;  /* Mozilla, since 1999 */
 
white-space: -pre-wrap;      /* Opera 4-6 */
 
white-space: -o-pre-wrap;    /* Opera 7+ */
 
word-wrap: break-word;      /* Internet Explorer 5.5+ */
 
">
 
* [http://www.nexusmods.com/skyrim/mods/69905/? Merge Plugins] does not do ''conflict resolution''; rather it combines records in plugin files following the "rule of one".<br>
 
* '''Mator Smash''' generates a ''compatibility patch'' which selectively combines edits on conflicting records based on user settings.  They are entirely different programs, and should be used together, not separately. E.g. make a '''Smashed Patch''' for some plugins you plan on merging, and include it in the '''Merged Plugin'''.  Make a '''Smashed Patch''' over your entire load order, including any '''Merged Plugins'''.<br>
 
...<br>
 
* '''xEdit''' Merged Patch: Generates a compatibility patch for specific plugins, processing all conflicts in a fixed set of records/subrecords.  Always generates the same patch given the same records.  Generally unreliable, unable to handle a large number of conflicts.
 
</div>
 
  
* Make a "Smashed Patch" for the plugins you intent to merge.
+
*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.
: (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.)
+
*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.
* Include that "Smashed Patch" in the "Merged Plugin" file.
+
*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".
* Smash ''everything'' after all merges have been completed.
+
*Once your patch has the "Ready to be built" status, click on the "Hammer" icon.
: This will be your "final" '''Smashed Patch''' file.
+
*Smash will now build the patch. You can click "Show Details" to view a log while it goes.
* Place the final '''Smashed Patch.esp''' at the end of your "load order", similarly to with a "Bashed Patch".
+
*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.
: 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'''.
+
*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|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:
 +
<div class="boilerplate metadata" id="Code_box_sim" style="margin:0px 10px 10px 10px;  border:1px dashed #DAA520;  color: lightgray;  background-color:#424242;  padding:3px">
 +
*[http://www.nexusmods.com/skyrim/mods/69905/? Merge Plugins] does not do ''conflict resolution''; rather it combines records in plugin files following the "rule of one".
 +
*'''Mator Smash''' generates a ''compatibility patch'' which selectively combines edits on conflicting records based on user settings. They are entirely different programs, and should be used together, not separately. E.g. make a '''Smashed Patch''' for some plugins you plan on merging, and include it in the '''Merged Plugin'''. Make a '''Smashed Patch''' over your entire load order, including any '''Merged Plugins'''.
 +
 
 +
...
 +
 
 +
*'''xEdit''' Merged Patch: Generates a compatibility patch for specific plugins, processing all conflicts in a fixed set of records/subrecords. Always generates the same patch given the same records. Generally unreliable, unable to handle a large number of conflicts.
 +
</div>
 +
*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 ===
 
=== 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.
+
 
 +
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 ====
 
==== 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:
 
These are tags that work the same way as "Bash Tags". Tags are put in the mod's description field in the format:
: <nowiki>{{SETTING_NAME}}.</nowiki>
 
  
When in doubt as to which tag to apply, the author recommends the "Bash.All" or more recent "Smash.All" tag. 
+
:<nowiki>{{SETTING_NAME}}.</nowiki>
  
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). <span style="margin:0px 10px 10px 0px;border:1px solid #00C600;color: green;
+
 
background-color:#fff5f5;padding:3px;
+
When in doubt as to which tag to apply, the author recommends the "Bash.All" or more recent "Smash.All" tag.
word-wrap: break-word;      /* Internet Explorer 5.5+ */
+
 
">(Note that as Mator did not write this script, he does not support it or it's results.)</span> 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.
+
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). <span style="margin:0px 10px 10px 0px; border:1px solid #00C600; color: green; background-color:#fff5f5; padding:3px; word-wrap: break-word">(Note that as Mator did not write this script, he does not support it or it's results.)</span> 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 ====
 
==== 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:
 
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:
: <nowiki>{{SETTING_NAME|HASH}}.</nowiki>
+
 
 +
:<nowiki>{{SETTING_NAME|HASH}}.</nowiki>
 +
 
  
 
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.
 
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.
Line 129: Line 154:
  
 
These are tags that don't have a setting name, but have a partial or complete hash instead. So:
 
These are tags that don't have a setting name, but have a partial or complete hash instead. So:
: <nowiki>{{|HASH}}.</nowiki>
+
 
 +
:<nowiki>{{|HASH}}.</nowiki>
 +
 
  
 
==== Multiple Tags ====
 
==== Multiple Tags ====
  
Tags can be separated by a comma to specify multiple tags to be used (combined) for a single mod.<br>
+
Tags can be separated by a comma to specify multiple tags to be used (combined) for a single mod.<br/> Examples:
Examples:
+
 
* <nowiki>{{SETTING_1,SETTING_2,SETTING_3}}</nowiki>
+
*<nowiki>{{SETTING_1,SETTING_2,SETTING_3}}</nowiki>
* <nowiki>{{BASH:SETTING_1,SETTING_2,SETTING_3}}</nowiki>
+
 
* <nowiki>{{SETTING_1|HASH_1,SETTING_2,SETTING_3|HASH_3}}</nowiki>
+
*<nowiki>{{BASH:SETTING_1,SETTING_2,SETTING_3}}</nowiki>
* <nowiki>{{|HASH_1,|HASH_2,|HASH_3}}</nowiki>
+
 
 +
*<nowiki>{{SETTING_1|HASH_1,SETTING_2,SETTING_3|HASH_3}}</nowiki>
 +
 
 +
*<nowiki>{{|HASH_1,|HASH_2,|HASH_3}}</nowiki>
 +
 
  
 
== References ==
 
== References ==
* [https://github.com/matortheeternal/smash/releases GitHub: Mator Smash releases]
+
 
* [http://www.nexusmods.com/skyrim/mods/25859/? TES5Edit (aka "xEdit")]
+
*[https://github.com/matortheeternal/smash/releases GitHub: Mator Smash releases]  
* [https://www.youtube.com/watch?v=8wSAB1FrXa4 Video: Mator Smash v0.0.7]
+
*[http://www.nexusmods.com/skyrim/mods/25859/? TES5Edit (aka "xEdit")]  
* [https://www.reddit.com/r/skyrimmods/comments/4e7ejv/guide_mator_smash_basics/ Mator Smash Basics]
+
*[https://www.youtube.com/watch?v=8wSAB1FrXa4 Video: Mator Smash v0.0.7]  
* [http://newvegas.nexusmods.com/mods/38413 FNVEdit Training Manua] applies to all game versions.
+
*[https://www.reddit.com/r/skyrimmods/comments/4e7ejv/guide_mator_smash_basics/ Mator Smash Basics]  
* [https://afkmods.iguanadons.net/index.php?/topic/4113-wip-mator-smash/&do=findComment&comment=159050 AFK Mods thread]
+
*[http://newvegas.nexusmods.com/mods/38413 FNVEdit Training Manua] applies to all game versions.  
* [http://forum.step-project.com/topic/6936-wip-mator-smash/ S.T.E.P. thread]
+
*[https://www.afkmods.com/index.php?/topic/4113-wip-mator-smash/&do=findComment&comment=159050 AFK Mods thread]  
* [https://github.com/matortheeternal/smash/tree/master/frontend Game specific settings]
+
*[http://forum.step-project.com/topic/6936-wip-mator-smash/ S.T.E.P. thread]  
* [http://www.nexusmods.com/skyrim/mods/69905/? Merge Plugins]
+
*[https://github.com/matortheeternal/smash/tree/master/frontend Game specific settings]  
 +
*[http://www.nexusmods.com/skyrim/mods/69905/? Merge Plugins]  
  
 
Nexus wiki articles referred to by this article:
 
Nexus wiki articles referred to by this article:
* <none>
 
<br><br>
 
Nexus wiki articles that refer to this article:
 
* <none>
 
<br><br>
 
  
[[Category:Tutorials]]
+
*[[#Merged_Plugin_Guidelines_for_Personal_Use|Merged Plugin Guidelines for Personal Use]]
[[Category:Tools]]
+
 
[[Category:Oblivion]]
+
<br/> <br/> Nexus wiki articles that refer to this article:
[[Category:Skyrim]]
+
 
[[Category:Fallout_3]]
+
*[[#Merged_Plugin_Guidelines_for_Personal_Use|Merged Plugin Guidelines for Personal Use]]
[[Category:New_Vegas]]
+
*[[#FNV_General_Mod_Use_Advice|FNV General Mod Use Advice]]
[[Category:Fallout_4]]
+
 
 +
<br/> &nbsp;
 +
 
 +
[[Category:Tutorials]] [[Category:Tools]] [[Category:Oblivion]] [[Category:Skyrim]] [[Category:Fallout 3]] [[Category:New Vegas]] [[Category:Fallout 4]] [[Category:Modding_Guides]]

Latest revision as of 07:23, 11 May 2019

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:



Nexus wiki articles that refer to this article: