Wrye Mash

From Morrowind Modding Wiki
Jump to: navigation, search

Wrye Mash is a mod manager created by Wrye. It helps to maintain Load Order, Clean/Repair Saves, prevent Doubling and many more.

You can get Wrye Mash from Nexus. It requires Python package. Alternatively, there is Standalone version from Melchor. Melchor's version can be installed anywhere which is useful if you have multiple installations.

Also there is Yacoby's Fork of Wrye Mash. This version includes Mlox and TES3cmd support.

Download links are at end of this page.


Quick Start Guide

Here's a quick guide to Mash's most popular features.

Maintain Your Load Order

  • You only have to do this once.
  • Go to Mods tab, right click on File column header and make sure that Lock Times is checked.
  • For more information, see Load Order Maintenance

Change Mod Load Order

  • Go to mods tab, and select the mod you want to reorder.
  • Right click on it and select File > Redate...
  • Edit the Modified date/time field to the date/time you want.
  • Click Save.

Merging Leveled Lists

  • Copy Mashed Lists.esp from the mopy\Extras folder to your Data Files folder.
  • Select the mods you want to load from the Mods tab.
  • Right click on Mashed Lists.esp in the Mods tab and select Import: Merged Lists.
  • For more information, see Import Merged Lists

Repairing a Save Game

  • Go to the Saves tab and right click on the save game, then select Repair All.
  • For more information, see Repair Refs Command

Adding/Removing Mods From a Save Game

  • Go to Mods tab and check the mods that you want to use.
  • Go to Saves tab and select the save game you want to play.
  • Right click on the top of the Masters List which is on right side and select Sync to Load List.
  • Click Save. The checkbox for the save game should turn purple.
  • For more information, see Master List Updating

Using an Updated Version of a Mod

  • Put both new and old versions of the Mod in the Data Files directory.
  • Go to Mods tab and uncheck the old mod and check the new mod
  • Right click on the new mod and select Updaters....
  • Click on the Add button, select the old mod and click Open.
  • Close the Updaters dialog.
  • Go to the Saves tab, and select the save game that you want to update.
  • Right click on the top of the Masters List, and select Update.
  • Right click on the old mod and select Change To....
  • Select the new mod in the file dialog and then click Open.
  • The renamed master should turn bright green (instead of the usual pale green).
  • Click Save.
  • For more information, see Mod Updating

Tweak Morrowind.ini

  • Settings in Morrowind.ini control aspects of the game like light attenuation, weather lighting, moon size and appearance, etc. You can tweak Morrowind.ini by hand, or by applying mit files.
  • To apply an mit file...
  • Go to mods tab, right click on main column header and select "INI Tweaks...". This will bring up a file selection dialog.
  • Select one of the mit files from Morrowind\Data Files\Mits and click Open. This will apply the changes in the mit file to Morrowind.ini.

Manage Texture Replacers

  • Setup
    • Create a directory called Replacers in your Data Files directory.
    • Unpack/unzip the replacer package that you want to use into the Replacers directory. The name of the directory will the name of the replacer.
      • E.g., "E-Icons Blue Star", or "Redoran, Carnajo" or "Redoran, Lady Rae".
    • The replacer's directory structure can be one of two forms:
      • Just like the Data Files directory structure;
        • Replacers
          • Bob's Replacement Set
            • Icons (if you have icons)
            • Meshes (if you have meshes)
            • Textures (if you have textures)
      • Just the textures (for texture replacers only)
        • Replacers
          • E-Icons, Blue Star
            • dds files
          • Redoran, Lady Rae
            • dds files
      • Note that most texture replacement packs have the second form.
  • Usage
    • Go to Mods tab, right click on the main column header and select Replacers... -- this will bring up a checkbox list of the available replacers.
    • Checking a replacer will apply it. (Large replacer collections may take a while to apply.)
    • Unchecking a replacer will remove it.

Switch Between Save Profiles

  • Go to Saves tab and right click on column header, then go to Profiles menu.
  • Choose Edit... to add, rename, remove profiles.
  • Choose a profile to switch to it. Current savegames and Morrowind.ini will be archived, and the new profile's savegames and Morrowind.ini will be loaded.

General Advice

  • Run Repair All
    • Run Repair All on old save files -- this will often find problems to fix.
    • Run Repair All once in a while after editing Master lists.
  • Use Duplicate
    • Before making major changes to a save file, create a duplicate and make the changes on it.


Load Order Maintenance

  • In order to prevent doubling and to get correct behavior out of mods, it is important that they load in the correct order. Since mod load order is determined by their modified time, it is important to be able to set and keep fixed the modified time.
  • To set the load order of a mod, just edit the Modified field of the mod in the details view.
  • To keep the modified time fixed, Turn on the Lock Times feature in the column context menu of the Mods Tab. When this is done, Mash will memorize the modified times for all files that it sees. Then, whenever Mash launches, or comes to the foreground, it will check to see if any Modified times have changed, and if so, reset them to the earlier memorized values.
  • Note: If you want to use a non-Mash load ordering utility, you'll first need to turn off Lock Times. When you're finished with the external ordering utility, turn Lock Times back on. It will reset to use the times set by the other utility.

Import Merged Lists

  • Overview
    • Leveled lists determine what creatures you will encounter and what items you will find in various containers. Mods that add creatures or items to the world generally modify these lists. However, if two or more mods modify the same list, then the last mod to load will delete any additions/changes made be previous mods.
    • This function combines changes made to the same leveled lists from different mods and saves the combined list to the current mod.
  • Usage
    • This function is only available for mods whose author is Wrye Mash. This is a safety feature to prevent overwriting the load lists of a normal mod.
      • If you don't have such a mod available, then start by copying Mashed Lists.esp from Mopy\Extras to the Data Files folder.
      • Note that you may want to have different versions of the Mashed List esp for different load sets. If this is the case, just duplicate one Mashed List esp and rename it as desired.
    • If you have a copy of Merged_Leveled_Lists.esp (produced by TesTool), then remove it from your load list. You won't need it anymore. Note too that you won't need to use the Leveled List Resquencer tool. The Import Merged List lists are already resequenced.
    • Make sure you have your full load list loaded, then right click on the "Mashed Lists" esp and select "Import: Merged Lists".
    • Don't forget to update the masters on your save game when you're done.
  • Tech Notes
    • Mash's Merge List function is a bit more efficient that TesTools -- if there's no need to merge lists, then it won't.
    • In merging lists, Mash ignores lists from any of the three Bethesda Masters, under the assumption that anything in them will also be in any plugin that tries to modify them.
    • In merging lists, Mash ignores any mod whose author is Wrye Mash.
    • When merging two lists:
      • Chance None is set to Chance None of last mod to change list.
      • Calculate for Each Item is true if it's true for either list.
      • Calculate from All Levels is true if it's true for either list.
      • All entries from the first list, plus any new items in the second list will be included in the merged list.
      • A deletion of a leveled list will be ignored unless the deletion comes from the last mod to modify that list.

Repair Refs Command

  • Note: For save games, the Repair Refs comand has been extended into the Repair All command. Repair All performs all of the work of the Repair Refs command, plus additional cleanup, which is described below.
  • This Repair All function attempts to repair references and other records damaged by past changes to file list.
  • Note: If the health of the file is not Blue or Green, then you should to update the master list before you can use the Repair All command.
  • When you run Repair All, you'll either get a report that no repairs were necessary, or you'll get a report of repairs that were made. Repairs will take the form of either rematches or deletions.
  • Rematches: The Repair All function compares the object id for each reference with the object id expected from the save files master list for the references combined modIndex and objectIndex. If they those id's don't match, then Repair All tries to find a different value of modIndex for with the id's do match. If it finds such a match and if that match is not already used by another reference, then it switches the reference to use the new modIndex. This is a rematch.
  • If Mash can't find a non ambiguous match, then it will report NO MASTER and delete the reference.
  • If Mash finds a match, but it's already in use, then it will report DOUBLE and delete the reference.
  • Also if Mash finds a reference that is marked as "Deleted" but has a modIndex of 0 (meaning that it's owned by the save file, not any of its masters), then Mash will delete the reference. Note that a save game needs to remember when a master file reference is deleted, but should not remember when a save-game owned reference is deleted -- since there's no need to do so. These bad deletes seem to be responsible for doors, NPCs, etc. that disappear and reappear with every change in the load list.

Repair All Command

  • In addition to repairing refs, as described above, Repair All performs several other cleanup tasks...
  • Remove Orphan Contents
    • Content records (CREC, CNTC and NPCCC) records that have become disassociated with a place reference are removed.
  • Remove Debris Records
    • Sometimes gameplay leaves a modified copy of a database object even after the mod that "owns" that database object is no longer in the load list. This is common for globals (GLOBs), but also occurs for a variety of other records (NPC_s, LEVCs, etc.).
    • The list of object ids in the save game is compared against the object ids provided by the game's master files, and records that are unmatched are deleted.
    • Exceptions: Some items are intentionally created in game (new spells, enchanted items). Also, the MonthsToRespawn global is created during gameplay. These records are excepted from the Debris removal process.
  • Remove Overriding Lists
    • Mods that modify leveled lists through the addToLev and removeFromLev script commands will cause copies of those (modified) leveled lists to be added to the savegame itself. This approach conflicts with the use of leveled list mergers since the savegame copy of the leveled list will override even the merged leveled list esp. Accordingly, the scripted approach is now considered obsolete. Mods should no longer use the leveled list script commands.
    • However, this still leaves the problem of cleaning savegames that are contaminated by older leveled list modifications. Repair All will now (as of version 0.70) do this.
    • Repair All will remove any leveled list in the savegame if more than one master mod has a copy of the list. (Thus unique lists belonging to a single mod may still use script commands.)
    • Note however, that if an older script modifying mod is still present in your load list, it will most likely continue to readd the leveled list back into the savegame. The solution to this is to update/patch the offending mod to no longer use the leveled list script commands.

Master List Updating

  • Master/Save/Mod Health
    • In the master list, checkbox colors indicate the "health" of that master. Blue is best, red is worst. Green, yellow and orange represent intermediate levels of health.
    • In the saves and mods list, the checkbox color is the same as the least healthy of its masters. I.e. if, for a save, one master is orange and the rest are green, then the save's checkbox will be orange. The exception to this is purple, which is a sort of "superblue".
    • More specifically, and from worst to best, the meanings of master colors are:
      • Red : The master is missing. Either the mod file has been removed, or its name has been changed.
      • Orange : The master file is out of load order compared to the rest of the masters in the master list.
      • Yellow : The master file's size has changed since the game was last saved. This likely indicates a change to the mod file -- which may result in objectIndex caused mismatching.
      • Green : The master file is in order compared to the other files in the master list, but is out of order compared to the files in the current load list.
      • Blue : The master file is synced, has the right size and is in the right order.
      • Purple : This will only appears for saves. It indicates that not only are all of the masters synced, but also that no extra masters are loaded. If a save is blue (not purple), then the load list contains an extra esp that the save is not yet dependent on. If you play the save, then the save will become dependent on that new master.
      • For save games, you want every master to be blue - i.e. you want the save itself to be blue.
      • Mod files have much less problems than save files -- so it's sufficient if all masters are orange or better. I.e., as long as the master is present, it should be okay. For this reason, for mod files, "green" is considered to be perfect health.
  • When to Update Masters
    • If the save game checkbox color is blue, then it's fine -- there's no need to edit it.
    • If the save game checkbox color is green, then its master list is fine, but it not compatible with the current load list. You can use the "Load Masters" to sync load list with the master list. Note that the load list does not have to be exactly the same as the master list. It can have additional load files, so long as those files will load after the files in the save games master list.
    • Otherwise, you should edit the load list.
  • Updating the Load List
    • If you like, you can create a duplicate or snapshot of the file before you edit it. But remember that Mash also will automatically create a backup that you can revert to. So, creating a duplicate is simply an extra measure of safety.
    • Bring up the context menu for the masters list column header, select "Edit", and then click "Yes" in the dialog that appears. Doing this will result in some initial cleaning of the list:
      • Master files will be placed in the correct order.
      • Missing files will be renamed if Mash thinks it knows what the new name is. Otherwise the missing master will be unchecked.
      • The correct file size will be applied.
      • Note that files that have had their name or size changed will now be hilighted in green.
    • If all masters are checked and are either green or blue, then you're probably done and can save your changes. Otherwise, continue...
    • You can rename masters by editing their label directly or by using the "Change to..." command from the master item popup menu. (Right click on the master name.) This will bring up a dialog allowing you to select an esm or esp.
      • You can change esm references to esp references and vice versa. (E.g., suppose you depending on an esp that has since been converted to an esm.)
      • You can change different existing masters to point to the same new master. You might do this if you merged several head mods. (Note that merging may cause objectIndex doubling -- so hopefully the merge has been done in such a way as to prevent that.) When the file is saved, these different master references will be merged into a single reference.
      • If the rename has an Updater associated with it (i.e., from "AoScrye 1.1.esp" to "AoScrye 1.15.esp"), then the new name will ilighted in dark green. Otherwise, the rename will be hilighted in pale green. (See Mod Updating below for more information.)
    • You can unselect masters that you want removed.
      • Note that this will delete any changes that you made to that objects references from your save game.
    • You can use the "Sync to Load List" command from the column context menu.
      • This will uncheck unmatched masters and add additional masters as necessary.
    • Suggested Action
      • In the mods tab, first select the mods that you want to run with.
      • Then switch to the save tab. If the save you want to use is not blue, then begin editing the master list for it.
      • If there are any missing masters, then rename them. Also check the autorenames (look for green hilighted items) to see if they look right.
      • Then use "Sync to Load List, do a final inspection and save the file.
      • Then use **Repair All** on the file (see below).

Mod Updating

  • As described above, adding references to (or removing references from) an existing mod is likely to cause doubling. Part of the cause of this is reordering of the mod (which is fixed by Lock Times ), but the other cause is ObjectIndex renumbering. Fixing this second problem requires that the objectIndex numbers be remapped in the save file (e.g., remap object number 123 to number 234). This can be done in Mash, but requires several stages.
  • Procedure
    • First, there must be separate mod files for the original mod and for the updated mod, and these mod files must have different names (e.g., "AoScrye 1.1.esp" and "AoScrye 1.15.esp").
      • For modders, it's okay to continue to modify the original mod, so long as you do not add or remove refs, and so long as you do not change the id of any placed refs!
      • If you need to add or remove refs, then these changes need to be made on a new version of the mod. (Just use the File: Duplicate command and rename the new copy as desired.)
    • Second, you need to generate an "Updater" for each old/new version pair.
      • Select the new version of the mod in the Mods tab and then select Updaters... from the context menu. This will popup a new dialog which will list the updaters available for that mod.
      • Click on "Add" and select the old version of the mod. This will create the updater, which will now be shown in the list. If some of your save games depend on even older versions (e.g., "AoScrye 1.0.esp"), then you can add additional updaters for those.
    • Third, update the masters list of the save game that you want to update.
      • In the saves tab, select the save game you want to update, and, in its master list (list of mods on right side), change the name of the old esp version to the new esp version. I.e., right-click on the old mod and change it to new mod. If you've done this correctly, then the updated master will be hilighted in dark green. (Masters that have been changed, but ~~don't~~ have an updater applied are hilighted in pale green.)
  • Merged Plugins
    • If you have a save game that is dependent on one or more plugins which are merged into combined plugin, then you can define an Updater from the original plugin(s) to the merged plugin.
      • E.g., if your save game depends on "Alpha.esp" and "Beta.esp" and these are then merged to form "Gamma.esp", then you can define updaters as above and then, in the save game master list, rename both "Alpha.esp" and "Beta.esp" to "Gamma.esp".
      • Note that should work well, so long as the merged files do not place the same type of object into the same cell. However, even in this case, running Repair All should fix any problems.

Tabs

For detailed information on each tab, follow the links below.

Wrye Mash:Installers Tab

Main article: Wrye Mash:Installers Tab

The Installers tab provides a mod package installer facility (called Bain). It makes mod installation simpler, and perhaps more importantly, it mades mod UN-installation simple and safe. It's also useful for resolving resource file conflicts between different mods.

Wrye Mash:Mods Tab

Main article: Wrye Mash:Mods Tab

The Mods Tab lists all the plugins (active and non-active) present in your Data Files folder. It allows to change load order, import levelled list and more.

Wrye Mash:Saves Tab

Main article: Wrye Mash:Saves Tab

The Saves Tab lists all the Save files. It allows for syncing mod list, repairing save files etc.

External Links

Wrye Mash from Morrowind Nexus -- You need to install Wrye Python 08 Package (look under optional files).

Wrye Mash Standalone from GHF Downloads.

Yacoby's Fork of Wrye Mash -- Python version(Download link near bottom right) -- Standalone version