Jump to content


Popular Content

Showing most liked content on 08/09/2020 in all areas

  1. 1 point
    TESxEdit Cleaning Guide There have been many cleaning guides written over the years, with the main one being on the Construction Set Wiki, but recent updates to TESxEdit have made most of those guides obsolete. I also thought I would collect the different aspects of cleaning mods into a single guide. What is a "Dirty" Mod? While some would consider it's a mod that uses foul language or has scenes of a sexual nature, that's not what we mean by a "dirty" mod. Dirty mods are mods that modify records in a master file, like Oblivion.esm, that are not necessary for the mod to function. They can encompass records that have been flagged as modified, but not actually changed, and records that have actually been modified with what are called "wild" edits. The Construction Set (CS) itself is part of the problem in that records can be flagged as modified even if the mod author was just looking at a cell or viewing a dialogue record. "Wild" edits can occur when you accidentally hit a key when looking at a landscape cell, for example. Mod authors often don't even realize these changes have occurred, so as a mod author, it is important that you clean your mod before releasing it. There are also changes that inexperienced mod authors make, like deleting content from a cell that they don't want. They don't realize that these deleted records will crash peoples' games. Why? Because you don't know if another mod is going to reference that record you deleted. If it does, boom! There is no authority that checks every mod that has ever been produced to ensure that they are all going to be compatible with each other, so it's incumbent on each mod author to restrict their changes to only the content they need to change and they never ever delete records from the game master plugins, like Oblivion.esm. I'll explain the proper way to handle stuff you don't want later in this guide. Why are Dirty Edits a Problem? Basically as I just described above. Obviously deleted content is a serious problem, but even unintentional edits are a problem because they can prevent another mod from functioning properly. The last mod in a load order always wins, so if that mod has a dirty edit, that dirty edit will override the intentional edit of another mod and the other mod won't work. Ok, so what happens when two mods make intentional changes to the same record? That's what the Bashed Patch is for. The Bashed Patch collects all the changes that mods make and combines those changes into a single patch that's loaded last in your load order. Cool, eh? You use Wrye Bash to create a Bashed Patch. See the Wrye Bash documentation for instructions, at least until I get my guide posted for doing that. If the Bashed Patch can't handle the compatibility issues, then one of the mod authors involved usually creates a custom compatibility patch to resolve the issue. Cleaning Mods In this guide, I will explain simple cleaning, cleaning mods with explicit dependencies, cleaning mods with implicit dependencies and manual cleaning. Simple Cleaning Level: Beginner This is always the first step in cleaning a mod. It will remove what TESxEdit calls "Identical to master" records. These are records that have been flagged as modified, but haven't actually changed. Run TESxEdit. When it opens, you will be presented with a dialog box to select the plugins you wish to work with. When cleaning a mod, it is vital that you only load the plugin that needs cleaning. In this simple case, the plugin has no other dependencies than the game master file(s). Right-click on the dialog and click Select None from the menu. Then scroll through the list and select the plugin you wish to clean. Click in the box to the left of the plugin to select it for loading. Click OK. Now TESxEdit will proceed to load the plugin. You will see a bunch of messages scroll by in the right pane. Once it's done loading the plugin, the last message will say "Background Loader: finished". Right-click on the plugin name in the left pane and select Apply Filter for Cleaning from the menu. TESxEdit will pause for a few moments while it applies the filter. When it's done, the message at the bottom of the right pane will say "[Filtering done] Processed Records: xxxxxxx Elapsed Time: xx:xx" where the x's represent the number of records and the time it took. Now right-click on the plugin name in the left pane again and select Remove "Identical to Master" records from the menu. Why doesn't it just say "Clean Plugin"? Because "cleaning" involves several steps. Removing the records with the false changed flag, or identical to master records, is just the first step. Once TESxEdit is done, it will display the results in the right pane, like this: The first step is complete. You can press CTRL+S to save the plugin at this point if you wish. Click OK in the dialog that pops up if you do. Simple Cleaning Step 2: Undelete and Disable This is the second step in the simple cleaning process. If you've been reading from the beginning, you'll recall that I said that you should never delete anything from the game master files and that I would tell you how to handle content that you don't want in your mod. You have two options: disable the content yourself, or delete the content and then use TESxEdit to handle the deleted content properly. This is my recommendation. Yes, go ahead and delete the content in your mod, but clean it with TESxEdit and then perform the Undelete and Disable process as I will explain now. Even if you're just running mods, it's a good idea to clean them and that includes this step. You never know if the mod author deleted something. It may not have even been intentional. If you closed TESxEdit after the first step, open it again, deselect all mods and then select the mod that needs cleaning. Click OK to load the mod. Right-click on the plugin name in the left pane and select Undelete and Disable References from the menu. After a few seconds, you'll see the results at the bottom of the right pane: All done! Now you can close TESxEdit. If it prompts you to save, click OK in the dialog that pops up. If you're cleaning plugins for mods that you use, I suggest creating a folder somewhere called Cleaned Mods and keep a copy of the plugin in that folder. Then you know which mods need cleaning if you return to playing after being away for a while. BOSS and LOOT will also tell you if a mod needs cleaning, providing someone has told them about it. If you find a mod needs cleaning and BOSS or LOOT don't have a message about that, then please let them know. Last note: Bethesda isn't innocent when it comes to dirty mods. The official DLC's for Oblivion and Skyrim need cleaning! Cleaning the official DLC's for Skyrim is a bit more work that I'll discuss later.
  2. 1 point
    Oh sorry, that's not what I meant by big batches. I just meant I clean one, save & close xEdit, then repeat with the next mod. Not that I'm cleaning more than one esp in the same xEdit session. Yeah, definitely only clean one esp at a time!
  3. 1 point
    Level: Beginner This guide is a brief introduction to the series of utilities created by ElminsterAU. There is TES4Edit, TES5Edit, FO3Edit and FNVEdit. All the versions offer the same functionality; each is tailored to the plugin file structure for the game it supports. I will focus on TES4Edit, but all the information will apply to the other versions. I will use the term TESxEdit to refer to the program in general. What is it? TES4Edit is a supplementary editor that is used by mod authors and players alike to work with plugins, or mod files. It has a ton of features, but is used most often to view the contents of plugins, edit them and to clean them. It does not replace the Construction Set. Where can I download it? The main version of the utility is the Skyrim version, which can be downloaded from Nexus. You can rename the executable to make it work with the other games, but I recommend searching Nexus for the specific version to match your game so that you get the custom data files. Installation Simply unzip the archive in a directory of your choice. I like to create a Utilities directory for each game and then I unzip the archive to an appropriate directory in there. So I install TES4Edit to D:\OblivionUtilities\TES4Edit and TES5Edit to D:\SkyrimUtilities\TES5Edit. I have many other utilities in addition to TESxEdit, so that structure suits my set up. I don't recommend installing TESxEdit in your game directory. Create a shortcut to the program on your desktop or Start Menu. Running the Program Technically it's still an experimental version, so backup your plugins before loading them into TESxEdit. When you run TESxEdit, you will be presented with the plugin selection dialog. All the plugins in your Data directory will be listed, with the plugins that are active in your load order checked off for you. At this point, just click Ok to load all your plugins. While TESxEdit is loading your plugins, you'll see lots of Background Loader messages in the pane on the right side. Wait until you see the Background Loader: finished message. Your plugins are displayed in the left pane. If you click on the + symbol next to a plugin, you'll see all the records that have been modified or added by that plugin. At a glance, this is the easiest way to see what a plugin changes. All plugins are actually patches to the original game master, like Oblivion.esm, so you will see that some records override the original game records. Here's an example from the Unofficial Oblivion Patch.esp to illustrate: In the left pane, the Form ID, Editor ID and Name are listed. The Form ID is the unique identifier that the Construction Set assigns to every record. The first two digits of the Form ID will be 00 if it is an original game record that is being modified, as is the case in the image above. The Form ID on new records added by a plugin is dynamic; the first two digits will change to reflect the position of the plugin in your load order. That's how the game ensures that all Form ID's are unique. The Editor ID is a unique name that the modder assigns to the object. That is the ID that we work with when we are creating or editing a mod. The Name is also assigned by the modder and it's the name you see in-game when you place your mouse cursor over an object that you can interact with. The right pane is where all the details are displayed when you click on a specific record. In the screen shot above, I have selected the Strong Poison of Burden record. Since I have loaded all my plugins, the right pane displays the same record from all the plugins that modify that record. The first version of that record is from Oblivion.esm and you can see that all the text is a reddish purple. That means that it's the master record that has been modified. The next column shows the record from the Unofficial Oblivion Patch.esp, which is the mod I'm looking at. However, in this case, this record has been overridden a second time by my Bashed Patch. The mod that is listed in the last column is the "winner" and that version of the record is what I will see in-game. Now, let's take a closer look at what was changed. The fields that have been changed will have a yellow background. The first field that's been changed is the FULL - Name, which is the Name of the object. The object is called Strong Poison of Burden in the original game and the Unofficial Oblivion Patch (UOP) does not change this, so the text is grey. I have a mod that changes all the potion names and I have imported that into my Bashed Patch, so the Name is different in my Bashed Patch. The next field that has been changed is the ENIT, which is the internal label for the value of the potion. Further down you can see that the UOP changes the magnitude of this potion. We'll finish this section off by opening the Container branch in the UOP. Now you'll see lots of different colours. First, I've clicked on the DungNecroCoffin01 record to show you what a conflict looks like. A conflict is when you have two mods that change the same record in very different ways. If you look at the first two changes, you'll see there is no conflict. The background colour is yellow and the text is green. However if you scroll to the bottom of the page, you'll see the conflict. The UOP changes the open and close sounds, but I have the Harvest Containers mod loaded and that removes the sounds altogether. Even though it is a conflict, there is no problem. TES4Edit is just highlighting the fact that the sounds have been modified. At the bottom of the container record list, you can see what new records look like. The background colour is white and the text is black. The Form ID starts with 08 because the UOP is the ninth mod in my load order. If we click on one of the new records, we'll see that we just see the details of a single record in the right pane. Once you're done perusing the plugin, close TESxEdit. If it pops up a dialog about saving the plugins, deselect all the plugins by clearing the check mark next to the names and click OK. If you would like more information on how the records and fields are named internally, the UESP has a full list of those details. Here is the listing for Skyrim. Conclusion This completes my introduction to TESxEdit. I will explain how to edit plugins, clean plugins, compare plugins and how to add a missing master to a plugin in future instalments.