Difference between revisions of "TES5Edit Documentation"

No change in size ,  19:17, 23 February 2017
m
Uniform spelling of 'xEdit' -> correct form according to authors
imported>Sharlikran
imported>Artaios
m (Uniform spelling of 'xEdit' -> correct form according to authors)
Line 3: Line 3:
= Introduction =
= Introduction =


The following information is presented as a way to properly use the FO3/FNV/TES4/TES5Edit tools (collectively known as XEdit) created by ElminsterEU.  This manual contains a tour of XEdit, a lengthy FAQ/Navigator, and several Chapters of detailed instructions on how to utilize the varied functions of XEdit successfully to improve the modding experience.  This includes a guided tour of the many functions that XEdit provides, showing how to resolve conflicts between groups of mods, which improves the stability of the game and ensures a minimum of game-impacting conflicts.
The following information is presented as a way to properly use the FO3/FNV/TES4/TES5Edit tools (collectively known as xEdit) created by ElminsterEU.  This manual contains a tour of xEdit, a lengthy FAQ/Navigator, and several Chapters of detailed instructions on how to utilize the varied functions of xEdit successfully to improve the modding experience.  This includes a guided tour of the many functions that xEdit provides, showing how to resolve conflicts between groups of mods, which improves the stability of the game and ensures a minimum of game-impacting conflicts.


The questions answered and processes described herein are intended to help both mod users and mod authors to improve the quality, standardization, and conformity of Bethesda mods. If you utilize more than the Bethesda-provided content, or if you write mods, then using XEdit will help resolve conflicts, clean mods, and improve your load order.  There are thousands of mods for all the games that XEdit supports.  Hopefully through public contribution, this documentation can become a resource to standardize mod delivery and reduce conflicts wherever possible.
The questions answered and processes described herein are intended to help both mod users and mod authors to improve the quality, standardization, and conformity of Bethesda mods. If you utilize more than the Bethesda-provided content, or if you write mods, then using xEdit will help resolve conflicts, clean mods, and improve your load order.  There are thousands of mods for all the games that xEdit supports.  Hopefully through public contribution, this documentation can become a resource to standardize mod delivery and reduce conflicts wherever possible.


== About This Document ==
== About This Document ==


This document presumes a basic understanding of what "mods" are, and how to install them on your system. This manual is not a guide on how to build mods, and the use of XEdit for extensive mod changes is discouraged for most users, as that is what the GECK and Creation Kit were built for.
This document presumes a basic understanding of what "mods" are, and how to install them on your system. This manual is not a guide on how to build mods, and the use of xEdit for extensive mod changes is discouraged for most users, as that is what the GECK and Creation Kit were built for.


= Overview =
= Overview =


== Introducing XEdit ==
== Introducing xEdit ==


XEdit is an advanced graphical module viewer, editor, and conflict detector, with many additional functions that make it akin to a Swiss-army knife for mod users and mod authors alike. The primary function of XEdit is to help you spot conflicts between mods and resolve them, as well as to prepare your mod-list for a smooth run-time with Master Update Mode (MUM). MUM resolves some bugs with Fallout: New Vegas and improves mod compatibility during run-time by turning all mod files into Masters (ESM) and creating the special ONAM records that allow the mod files to work together smoothly.
xEdit is an advanced graphical module viewer, editor, and conflict detector, with many additional functions that make it akin to a Swiss-army knife for mod users and mod authors alike. The primary function of xEdit is to help you spot conflicts between mods and resolve them, as well as to prepare your mod-list for a smooth run-time with Master Update Mode (MUM). MUM resolves some bugs with Fallout: New Vegas and improves mod compatibility during run-time by turning all mod files into Masters (ESM) and creating the special ONAM records that allow the mod files to work together smoothly.


For the mod author XEdit provides the capability of viewing mod files at great depth, cleaning mod files of extraneous and duplicated records, merging mods together, changing ESPs to ESMs and scanning references in mod files for reach ability, form errors and specific references. These functions are vital to mod authors, as it will clean the mod of unintended changes, erroneous records, and potential conflicts with other mainstream mods that players run.
For the mod author xEdit provides the capability of viewing mod files at great depth, cleaning mod files of extraneous and duplicated records, merging mods together, changing ESPs to ESMs and scanning references in mod files for reach ability, form errors and specific references. These functions are vital to mod authors, as it will clean the mod of unintended changes, erroneous records, and potential conflicts with other mainstream mods that players run.


Thus whether you use mods to enhance your game experience or create mods for others to enjoy, using XEdit is both a wise investment in time and a beneficial act for the modding community. Authors who clean and prepare their mods with XEdit will experience fewer conflict and compatibility problems once published, and Players who de-conflict and MUMify their load-orders will be much less likely to experience crashes and headaches. In general the use of XEdit can only improve the interoperability of all mods, and this can only be a good thing.
Thus whether you use mods to enhance your game experience or create mods for others to enjoy, using xEdit is both a wise investment in time and a beneficial act for the modding community. Authors who clean and prepare their mods with xEdit will experience fewer conflict and compatibility problems once published, and Players who de-conflict and MUMify their load-orders will be much less likely to experience crashes and headaches. In general the use of xEdit can only improve the interoperability of all mods, and this can only be a good thing.


If you are not convinced by now to invest an evening to learn how to use XEdit, then you should be sacked and have a live Nuka-grenade stuffed down your trousers. If, however, you wish to do the right thing for the modding community, grab a coffee and let's get to work! XEdit is not a difficult tool to use, but it does require that your CPU (brain) be involved in the process, and that is what this documentation is designed to teach.
If you are not convinced by now to invest an evening to learn how to use xEdit, then you should be sacked and have a live Nuka-grenade stuffed down your trousers. If, however, you wish to do the right thing for the modding community, grab a coffee and let's get to work! xEdit is not a difficult tool to use, but it does require that your CPU (brain) be involved in the process, and that is what this documentation is designed to teach.


== Acquisition and Installation ==
== Acquisition and Installation ==


=== Downloading XEdit from Nexus ===
=== Downloading xEdit from Nexus ===


* [[TES5Edit#Installation|Additional TES5Edit Installation NOTE:]] The follwoing instructions are from the training manual however, xEdit can be placed in any folder.
* [[TES5Edit#Installation|Additional TES5Edit Installation NOTE:]] The follwoing instructions are from the training manual however, xEdit can be placed in any folder.


XEdit works on Windows XP, Vista and Windows 7. Other platforms or Windows simulators may or may not work and are not officially supported. XEdit is available for download from Nexus, one of the most outstanding sources for Fallout3, Fallout: New Vegas, Oblivion and Skyrim content.
xEdit works on Windows XP, Vista and Windows 7. Other platforms or Windows simulators may or may not work and are not officially supported. xEdit is available for download from Nexus, one of the most outstanding sources for Fallout3, Fallout: New Vegas, Oblivion and Skyrim content.


*For Fallout 3: [http://www.nexusmods.com/fallout3/mods/637/? FO3Edit]
*For Fallout 3: [http://www.nexusmods.com/fallout3/mods/637/? FO3Edit]
Line 38: Line 38:
*For Skyrim Special Edition: [http://www.nexusmods.com/skyrimspecialedition/mods/164/? SSEEdit]
*For Skyrim Special Edition: [http://www.nexusmods.com/skyrimspecialedition/mods/164/? SSEEdit]


A page simular to this one will appear.  You will need to first click on "Files" to display the list of XEdit versions. Once loaded, check the Version number (B) to ensure you download the most current revision (it may/will be different from the screenshot below, which is just an example). Then click on that revision of XEdit in the main Files section (C).
A page simular to this one will appear.  You will need to first click on "Files" to display the list of xEdit versions. Once loaded, check the Version number (B) to ensure you download the most current revision (it may/will be different from the screenshot below, which is just an example). Then click on that revision of xEdit in the main Files section (C).


[[Image:TES5EditDL.jpg|800px|TES5Edit Download Page]]
[[Image:TES5EditDL.jpg|800px|TES5Edit Download Page]]
Line 44: Line 44:
Once you download the program, you will need an archive extraction tool that can handle 7-Zip files (.7z), such as [http://www.7-zip.org/ 7-Zip].
Once you download the program, you will need an archive extraction tool that can handle 7-Zip files (.7z), such as [http://www.7-zip.org/ 7-Zip].


Once the archive is open, you will need to extract the XEdit files into the main game directory (where the game's exe application is located) in order for it to function properly. Do not install into the Data directory or the program will not function correctly.
Once the archive is open, you will need to extract the xEdit files into the main game directory (where the game's exe application is located) in order for it to function properly. Do not install into the Data directory or the program will not function correctly.


[[Image:image003.jpg|800px|Extract files]]
[[Image:image003.jpg|800px|Extract files]]


Note: The XEdit package also contains a special file called "[Game].Hardcoded.keep.this.with.the.exe .and.otherwise.ignore.it.I.really.mean.it.dat" where "[Game]" is the name of the game (possibly abbreviated). This file needs to be in the same folder as the XEdit.exe application. It contains hardcoded game engine records which will show up as false errors in XEdit if said file is absent.
Note: The xEdit package also contains a special file called "[Game].Hardcoded.keep.this.with.the.exe .and.otherwise.ignore.it.I.really.mean.it.dat" where "[Game]" is the name of the game (possibly abbreviated). This file needs to be in the same folder as the xEdit.exe application. It contains hardcoded game engine records which will show up as false errors in xEdit if said file is absent.


What makes these special is that the records are referenced in the game's main master file (e.g., FalloutNV.esm for Fallout: New Vegas and Skyrim.esm for Skyrim) but are NOT contained in the game's main master file (they are in the binary). XEdit automatically loads these hardcoded records at the same load order index [00] as the game's main master file so that these hardcoded values can be used in conflict detection and resolution. These records will display as coming from the game executable (e.g., FalloutNV.esm for Fallout: New Vegas and Skyrim.esm for Skyrim). You should not touch this file unless you are uninstalling XEdit.
What makes these special is that the records are referenced in the game's main master file (e.g., FalloutNV.esm for Fallout: New Vegas and Skyrim.esm for Skyrim) but are NOT contained in the game's main master file (they are in the binary). xEdit automatically loads these hardcoded records at the same load order index [00] as the game's main master file so that these hardcoded values can be used in conflict detection and resolution. These records will display as coming from the game executable (e.g., FalloutNV.esm for Fallout: New Vegas and Skyrim.esm for Skyrim). You should not touch this file unless you are uninstalling xEdit.


=== DirectX and Requirements ===
=== DirectX and Requirements ===


With XEdit installed let's review some system parameters and drivers that you will need in order to successfully operate the tool. XEdit requires current DirectX drivers from Microsoft. You can tell if your system is up-to-spec by simply launching the tool. If XEdit loads and presents you with a Master/Plugin Selector view, your good to go but you can skip this next step. If you get an error about d3dx9_*.dll not being installed, you need to update your DirectX to at least the March 2008 Version.
With xEdit installed let's review some system parameters and drivers that you will need in order to successfully operate the tool. xEdit requires current DirectX drivers from Microsoft. You can tell if your system is up-to-spec by simply launching the tool. If xEdit loads and presents you with a Master/Plugin Selector view, your good to go but you can skip this next step. If you get an error about d3dx9_*.dll not being installed, you need to update your DirectX to at least the March 2008 Version.


The most current DirectX version can be installed by using the [http://www.microsoft.com/en-us/download/details.aspx?id=35 DirectX End-User Runtime Web Installer] or [http://www.microsoft.com/en-us/download/details.aspx?id=8109 DirectX End-User Runtimes Redistributable] (install it after unpacking it).
The most current DirectX version can be installed by using the [http://www.microsoft.com/en-us/download/details.aspx?id=35 DirectX End-User Runtime Web Installer] or [http://www.microsoft.com/en-us/download/details.aspx?id=8109 DirectX End-User Runtimes Redistributable] (install it after unpacking it).


Once DirectX is installed, you should be able launch the XEdit application successfully. If you still get errors, please report them to Miaximus or ElminsterEU.
Once DirectX is installed, you should be able launch the xEdit application successfully. If you still get errors, please report them to Miaximus or ElminsterEU.


<!--http://www.microsoft.com/en-us/download/details.aspx?id=8109-->
<!--http://www.microsoft.com/en-us/download/details.aspx?id=8109-->
Line 64: Line 64:
=== Windows Vista/7 and UAC Security ===
=== Windows Vista/7 and UAC Security ===


The UAC Security feature of Vista protects the Program Files directory from un-authorized access. Unfortunately this also causes problems for XEdit and Fallout: New Vegas, and requires some manual intervention on your part to resolve. You have 3 options for dealing with UAC Security:
The UAC Security feature of Vista protects the Program Files directory from un-authorized access. Unfortunately this also causes problems for xEdit and Fallout: New Vegas, and requires some manual intervention on your part to resolve. You have 3 options for dealing with UAC Security:
# Disable the UAC completely, but this will leave your system more vulnerable. (not recommended)
# Disable the UAC completely, but this will leave your system more vulnerable. (not recommended)
# Install Fallout: New Vegas and XEdit in the C:\Games\Fallout New Vegas folder, which is not controlled by UAC and will prevent conflicts. (recommended)
# Install Fallout: New Vegas and xEdit in the C:\Games\Fallout New Vegas folder, which is not controlled by UAC and will prevent conflicts. (recommended)
# Assign the "Users" group "Full Control" of the Fallout New Vegas folder in UAC, which will prevent UAC from causing problems.
# Assign the "Users" group "Full Control" of the Fallout New Vegas folder in UAC, which will prevent UAC from causing problems.


Any of the above options will work, though it is probably a better option to install Fallout: New Vegas and XEdit into C:\Games\Fallout: New Vegas directory and avoid the Program Files directory all-together. That leaves your system secure and averts the UAC problem for Fallout: New Vegas.
Any of the above options will work, though it is probably a better option to install Fallout: New Vegas and xEdit into C:\Games\Fallout: New Vegas directory and avoid the Program Files directory all-together. That leaves your system secure and averts the UAC problem for Fallout: New Vegas.


If you are unable to get past the UAC restrictions, post the details of the problem to the Fallout New Vegas GECK forum for additional assistance. If all went well with the install, you should be able to successfully run XEdit.
If you are unable to get past the UAC restrictions, post the details of the problem to the Fallout New Vegas GECK forum for additional assistance. If all went well with the install, you should be able to successfully run xEdit.


=== Starting XEdit ===
=== Starting xEdit ===


When started it will automatically find your Fallout New Vegas Data directory via the system registry (not by where it was installed). If you immediately get errors indicating that XEdit can‟t find the Fallout: New Vegas files, it means you moved the files to another directory after installing XEdit. You need to re-install the Fallout: New Vegas Game again and place it into whatever directory you want as part of the install process.
When started it will automatically find your Fallout New Vegas Data directory via the system registry (not by where it was installed). If you immediately get errors indicating that xEdit can‟t find the Fallout: New Vegas files, it means you moved the files to another directory after installing xEdit. You need to re-install the Fallout: New Vegas Game again and place it into whatever directory you want as part of the install process.


If XEdit starts, you get a dialog to select which modules you want to load with the current selection from your Plugins.txt as default value. This order will have been set by FOMM, and cannot be changed in XEdit.
If xEdit starts, you get a dialog to select which modules you want to load with the current selection from your Plugins.txt as default value. This order will have been set by FOMM, and cannot be changed in xEdit.


If you need to change your load order, close XEdit and change the load-order in FOMM, then re-launch XEdit.
If you need to change your load order, close xEdit and change the load-order in FOMM, then re-launch xEdit.


Select the mods that you want to load into XEdit, which can be all (for conflict detection) or just one if you‟re working on a specific mod-file. Once you have confirmed that dialog the selected modules will start loading in the background. Depending on your system it should take 30 seconds to a few minutes (!) for all modules to load. You can follow the progress in the message window. (Don't panic if it seems to freeze, it just takes time).
Select the mods that you want to load into xEdit, which can be all (for conflict detection) or just one if you‟re working on a specific mod-file. Once you have confirmed that dialog the selected modules will start loading in the background. Depending on your system it should take 30 seconds to a few minutes (!) for all modules to load. You can follow the progress in the message window. (Don't panic if it seems to freeze, it just takes time).


The tree view on the left side now shows all active modules in their correct load order. By navigating that tree view you can look at every single record in any of your modules. An example of a successful launch of XEdit is shown below, though you may also see additional error information if errors were found during start-up.
The tree view on the left side now shows all active modules in their correct load order. By navigating that tree view you can look at every single record in any of your modules. An example of a successful launch of xEdit is shown below, though you may also see additional error information if errors were found during start-up.


== Tour of User Interface ==
== Tour of User Interface ==


This section of the manual will take you on a brief tour of XEdit to introduce you to the different views and screens that you will be working with. This tour is designed for beginner-level users, and does not discuss the functionality of the views at any depth just yet. The tour is recommended for all levels of user, especially if you have not used XEdit within the last several months as there have been many updates.
This section of the manual will take you on a brief tour of xEdit to introduce you to the different views and screens that you will be working with. This tour is designed for beginner-level users, and does not discuss the functionality of the views at any depth just yet. The tour is recommended for all levels of user, especially if you have not used xEdit within the last several months as there have been many updates.


=== Master/Plugin Selection View ===
=== Master/Plugin Selection View ===


The Master/Plugin Selection view is presented to you when XEdit is first launched, and allows you to select/un-select the mods that you want XEdit to load. You can also Right-Click in open space to access more options, such as “Select All” or “Select None”.
The Master/Plugin Selection view is presented to you when xEdit is first launched, and allows you to select/un-select the mods that you want xEdit to load. You can also Right-Click in open space to access more options, such as “Select All” or “Select None”.


To change the load-order of mods, close XEdit and open FOMM. Change the load-order as desired, close FOMM and re-open XEdit. There is an additional option you can use to quickly load a single mod – simply Double-Click on a mod file in the list. Double-clicking a mod will automatically un-select all other mod files, and will load the selected mod file. It‟s a short-cut to loading single mods.
To change the load-order of mods, close xEdit and open FOMM. Change the load-order as desired, close FOMM and re-open xEdit. There is an additional option you can use to quickly load a single mod – simply Double-Click on a mod file in the list. Double-clicking a mod will automatically un-select all other mod files, and will load the selected mod file. It‟s a short-cut to loading single mods.


=== Left-Side Panel ===
=== Left-Side Panel ===


The Left-Hand side of the main XEdit view is the most heavily used in XEdit, containing both a hierarchical data-tree structure for all references as well as the main context menu. It also contains a status bar and search boxes for hunting-down specific FormIDs or EditorIDs as shown below:
The Left-Hand side of the main xEdit view is the most heavily used in xEdit, containing both a hierarchical data-tree structure for all references as well as the main context menu. It also contains a status bar and search boxes for hunting-down specific FormIDs or EditorIDs as shown below:


The main context menu (B) contains all of the major XEdit functions, including Filters, Reference hunts, Error checking, Removing Extraneous content and many more. There are also several functions that do not apply to Fallout: New Vegas, such as Generate Object LOD. We will discuss each of the important options for Fallout New Vegas in the tutorials below.
The main context menu (B) contains all of the major xEdit functions, including Filters, Reference hunts, Error checking, Removing Extraneous content and many more. There are also several functions that do not apply to Fallout: New Vegas, such as Generate Object LOD. We will discuss each of the important options for Fallout New Vegas in the tutorials below.


=== Main Context Menu ===
=== Main Context Menu ===


The main context menu is accessed by Right-clicking in the Left-Side Panel, and acts as the main navigation and function selection point for XEdit. As such, much time and explanation is provided on how to utilize this menu, as well as a Reference Chart (shown below) to help illustrate what each function does.
The main context menu is accessed by Right-clicking in the Left-Side Panel, and acts as the main navigation and function selection point for xEdit. As such, much time and explanation is provided on how to utilize this menu, as well as a Reference Chart (shown below) to help illustrate what each function does.


There are some functions such as, “Generate Object LOD” and the “Set VWD for all REFR…” options that only work on Oblivion, and should not be used with Fallout: New Vegas. With some functions you will be presented with additional options, while with others such as “Check for Errors”, the output is sent to the Messages Tab (or other tabs with other functions).
There are some functions such as, “Generate Object LOD” and the “Set VWD for all REFR…” options that only work on Oblivion, and should not be used with Fallout: New Vegas. With some functions you will be presented with additional options, while with others such as “Check for Errors”, the output is sent to the Messages Tab (or other tabs with other functions).
Line 109: Line 109:
Each of these functions is described in-detail within the tutorial, and Quick Links to those detailed sections can be found in the list below for easy-access. Additional description is provided below for each function on the main context menu.
Each of these functions is described in-detail within the tutorial, and Quick Links to those detailed sections can be found in the list below for easy-access. Additional description is provided below for each function on the main context menu.
* Compare To – Loads another module at the same load order index as the one under the cursor when you right clicked. Works very well to compare 2 different versions of the same module against each other.
* Compare To – Loads another module at the same load order index as the one under the cursor when you right clicked. Works very well to compare 2 different versions of the same module against each other.
* Apply Filter – This function will present you with the Filter Menu, where you can select options on how you want to filter (restrict) the data shown in XEdit.
* Apply Filter – This function will present you with the Filter Menu, where you can select options on how you want to filter (restrict) the data shown in xEdit.
* Remove Filter – This function will remove the current filter, so that all loaded-data will be presented and processed.
* Remove Filter – This function will remove the current filter, so that all loaded-data will be presented and processed.
* Building Reference Info – This function will build reference information for the currently select mod, which can be used after extensive changes are made.
* Building Reference Info – This function will build reference information for the currently select mod, which can be used after extensive changes are made.
* Building Reachable Info – This function scans all references in a selected mod and will determine which are reachable (by the player in-game) from those that cannot ever be reached or accessed by the player. This function takes into account the totality of all loaded modules (looking only at the contents of the winning version of each record). So it's possible for the reachable status to be different for a record, depending on which other modules you've loaded.
* Building Reachable Info – This function scans all references in a selected mod and will determine which are reachable (by the player in-game) from those that cannot ever be reached or accessed by the player. This function takes into account the totality of all loaded modules (looking only at the contents of the winning version of each record). So it's possible for the reachable status to be different for a record, depending on which other modules you've loaded.
* Checking for Errors – This function is used to check for reports any case where the information in the module file does not match the XEdit record definitions. This is not a check for missing references, physical or data errors – that is done during the loading process with results available in the Messages Tab.
* Checking for Errors – This function is used to check for reports any case where the information in the module file does not match the xEdit record definitions. This is not a check for missing references, physical or data errors – that is done during the loading process with results available in the Messages Tab.
* Checking for Circular Leveled Lists – Leveled Lists can reference other Leveled Lists, it's possible in this case to build a circular reference (with as little as 2 leveled lists directly referencing each other, or any number of additional leveled lists in the chain). When the game engine then tries to resolve that leveled lists down to a particular item/creature/NPC it can get caught in the endless loop and crash.
* Checking for Circular Leveled Lists – Leveled Lists can reference other Leveled Lists, it's possible in this case to build a circular reference (with as little as 2 leveled lists directly referencing each other, or any number of additional leveled lists in the chain). When the game engine then tries to resolve that leveled lists down to a particular item/creature/NPC it can get caught in the endless loop and crash.
* Renumbering FormIDs – This function will re-number all references in a selected mod file, starting from a number that you specify. This function does not in any way resolve conflicts, and should be used only if you know exactly what you are doing (as it will result in incompatibilities with existing save games and any module which uses this module as a Master). This function was implemented for the BetterCities team, so that they could assign non-overlapping FormIDs to each of their city specific .esp's, to prevent the need for changing FormIDs when merging the city-specific esp's into the alternative "full" esp which contains all cities.
* Renumbering FormIDs – This function will re-number all references in a selected mod file, starting from a number that you specify. This function does not in any way resolve conflicts, and should be used only if you know exactly what you are doing (as it will result in incompatibilities with existing save games and any module which uses this module as a Master). This function was implemented for the BetterCities team, so that they could assign non-overlapping FormIDs to each of their city specific .esp's, to prevent the need for changing FormIDs when merging the city-specific esp's into the alternative "full" esp which contains all cities.
Line 124: Line 124:
* Generate Object LOD – This function only works with Oblivion, and should not be used for Fallout: New Vegas mods under any circumstances.
* Generate Object LOD – This function only works with Oblivion, and should not be used for Fallout: New Vegas mods under any circumstances.
* Add (Reference) – What exactly that menu shows you is depending on the context, if you right click on a file node you will get a list of all groups that don't exist yet, if you right click on a group you get a list of all records that can be added to it and so on. And yes, this can be used to add new records, so you can basically build a mod from scratch with it.
* Add (Reference) – What exactly that menu shows you is depending on the context, if you right click on a file node you will get a list of all groups that don't exist yet, if you right click on a group you get a list of all records that can be added to it and so on. And yes, this can be used to add new records, so you can basically build a mod from scratch with it.
* Mark Modified – It will mark the currently selected node and all child nodes as modified. To minimize the chance that XEdit breaks something that it doesn't fully understand when saving, only records that are marked as modified are assembled field by field, sub record by sub record. Any record or even complete group that is not marked as modified is simply copied unchanged as a blob of bytes from the old module file into the newly saved one.
* Mark Modified – It will mark the currently selected node and all child nodes as modified. To minimize the chance that xEdit breaks something that it doesn't fully understand when saving, only records that are marked as modified are assembled field by field, sub record by sub record. Any record or even complete group that is not marked as modified is simply copied unchanged as a blob of bytes from the old module file into the newly saved one.
* Add Masters – This adds a new Master to the MAST sub record in the file header and correctly renumbers the FormIDs in the module. This function is also used to create an ESM/ESP pair from a single ESP plug-in.
* Add Masters – This adds a new Master to the MAST sub record in the file header and correctly renumbers the FormIDs in the module. This function is also used to create an ESM/ESP pair from a single ESP plug-in.
* Sort Masters – This function will sort the global load-order of Master files to match the order of global load order.
* Sort Masters – This function will sort the global load-order of Master files to match the order of global load order.
* Clean Masters – This function will scan a Plugin for Master ESM dependencies, determine if any Masters are un-used by the plug-in and remove them.
* Clean Masters – This function will scan a Plugin for Master ESM dependencies, determine if any Masters are un-used by the plug-in and remove them.
* Copy Idle Animations Into – This function is used to copy all of the idle animations from one skeleton to another, which replicating monsters.
* Copy Idle Animations Into – This function is used to copy all of the idle animations from one skeleton to another, which replicating monsters.
* Hidden – This function hides the selected mod file(s) or references from further view/processing by XEdit.
* Hidden – This function hides the selected mod file(s) or references from further view/processing by xEdit.


=== Right-Side Information Tab ===
=== Right-Side Information Tab ===


The Information Tab holds a textural version of the XEdit help guide, including basic information on mod conflict resolution, instructions on using Master Update Mode and a legend on how to interpret the color-scheme of text and background. You can reference this tab at any time as a cheat-sheet of sorts on how to use XEdit.
The Information Tab holds a textural version of the xEdit help guide, including basic information on mod conflict resolution, instructions on using Master Update Mode and a legend on how to interpret the color-scheme of text and background. You can reference this tab at any time as a cheat-sheet of sorts on how to use xEdit.


You can also capture any/all sections of the help information by Right-Clicking in the view-pane (A) and selecting one of the textural options presented to you.
You can also capture any/all sections of the help information by Right-Clicking in the view-pane (A) and selecting one of the textural options presented to you.
Line 139: Line 139:
=== Right-Side Messages Tab ===
=== Right-Side Messages Tab ===


The Messages Tab acts like a running log-file of what XEdit is doing in response to your actions. When you first load XEdit, the Messages Tab is displayed by default so that you can watch the loading process in real-time. This is important as any Errors in the mod files such as missing references, missing files or dirty-edits to a mod file done in a hex-editor can all result in errors. Most of these will be harmless to Fallout: New Vegas, but some are lethal and you can see them all in the Messages Tab while they are loaded into XEdit. The view below shows an example:
The Messages Tab acts like a running log-file of what xEdit is doing in response to your actions. When you first load xEdit, the Messages Tab is displayed by default so that you can watch the loading process in real-time. This is important as any Errors in the mod files such as missing references, missing files or dirty-edits to a mod file done in a hex-editor can all result in errors. Most of these will be harmless to Fallout: New Vegas, but some are lethal and you can see them all in the Messages Tab while they are loaded into xEdit. The view below shows an example:


Any actions that you take which result in changes to the files such as saving, will also print their output into the Messages Tab. Thus it is important to check this tab often while working in XEdit, as there are cases in which a mod file won‟t save due to errors – and you want to know about that as soon as a problem occurs.
Any actions that you take which result in changes to the files such as saving, will also print their output into the Messages Tab. Thus it is important to check this tab often while working in xEdit, as there are cases in which a mod file won‟t save due to errors – and you want to know about that as soon as a problem occurs.


=== Right-Side References Tab ===
=== Right-Side References Tab ===
Line 155: Line 155:
The View Tab is used to display the details about any record that you click-select in the Left-Side Panel. The View Tab is where most of the work of conflict resolution takes place. Each mod that has a copy/version of a selected record is shown in the view with its own Column. This way, all of the mods that have a version of the same record can be shown side-by-side to more easily navigated and spot conflicts. The screenshot below high-lights details about the View Tab.
The View Tab is used to display the details about any record that you click-select in the Left-Side Panel. The View Tab is where most of the work of conflict resolution takes place. Each mod that has a copy/version of a selected record is shown in the view with its own Column. This way, all of the mods that have a version of the same record can be shown side-by-side to more easily navigated and spot conflicts. The screenshot below high-lights details about the View Tab.


We discuss this view at depth in the chapter on Conflict Detection and Resolution, but for now it‟s only important to understand its high-level function and how to navigate to it. As in the Referenced-By Tab, within the View Tab you can Right-click on any reference to receive an additional context menu. You can edit and remove any entry, as well as tell XEdit what kind of view you're looking for; with or without de-conflicted rows (rows without a conflict of any kind).
We discuss this view at depth in the chapter on Conflict Detection and Resolution, but for now it‟s only important to understand its high-level function and how to navigate to it. As in the Referenced-By Tab, within the View Tab you can Right-click on any reference to receive an additional context menu. You can edit and remove any entry, as well as tell xEdit what kind of view you're looking for; with or without de-conflicted rows (rows without a conflict of any kind).


=== Filter Menu ===
=== Filter Menu ===


The Filter view is used for several purposes in XEdit; from conflict resolution to mod cleaning to reference viewing and reach ability data – all are achieved by activating a XEdit Filter. The Filters essentially work to restrict what data you see in XEdit to just what you want to see or are working on, and in some cases data is parsed (such as in conflict detection). When trying to resolve conflicts among mods, the Filter is used to show you only the records that show a conflict – leaving the un-conflicted rows invisible.
The Filter view is used for several purposes in xEdit; from conflict resolution to mod cleaning to reference viewing and reach ability data – all are achieved by activating a xEdit Filter. The Filters essentially work to restrict what data you see in xEdit to just what you want to see or are working on, and in some cases data is parsed (such as in conflict detection). When trying to resolve conflicts among mods, the Filter is used to show you only the records that show a conflict – leaving the un-conflicted rows invisible.


As you can see there are dozens of different options you can select in the filter view. Not to worry though, we will give you the correct filter options to select for each of the functions you perform with XEdit. For now it is only important to recognize this as the Filter View, which gives you unprecedented viewing access to mods files. You can Apply and Remove Filters from the main context menu as shown below:
As you can see there are dozens of different options you can select in the filter view. Not to worry though, we will give you the correct filter options to select for each of the functions you perform with xEdit. For now it is only important to recognize this as the Filter View, which gives you unprecedented viewing access to mods files. You can Apply and Remove Filters from the main context menu as shown below:


== Saving and Confirmation ==
== Saving and Confirmation ==


You can save your changes at any time by pressing, “Alt” and “S”, and when you exit XEdit (if there are changes to save). If you have not saved for a while, XEdit may also remind you that it‟s a good time to save. When the, “Save changed files” window is presented, click on the mods you want to save. The screenshot below illustrates this process:
You can save your changes at any time by pressing, “Alt” and “S”, and when you exit xEdit (if there are changes to save). If you have not saved for a while, xEdit may also remind you that it‟s a good time to save. When the, “Save changed files” window is presented, click on the mods you want to save. The screenshot below illustrates this process:


The output of each save is available in the Right-hand Messages Tab. It is important to check this, as sometimes errors in a mod file can prevent you from successfully saving it.
The output of each save is available in the Right-hand Messages Tab. It is important to check this, as sometimes errors in a mod file can prevent you from successfully saving it.
Line 171: Line 171:
== Quick Tips and Shortcuts ==
== Quick Tips and Shortcuts ==


There are several important keyboard short-cuts that can make your usage of XEdit more efficient with less key-strokes for some common functions.
There are several important keyboard short-cuts that can make your usage of xEdit more efficient with less key-strokes for some common functions.
* Ctrl+S:
* Ctrl+S:
*: Opens the Save Files dialog.
*: Opens the Save Files dialog.
Line 193: Line 193:
Master Update Mode is the solution to the white-face bug and a number of older issues with mod conflicts. Master Update (MUM) is highly recommended for all modders, as it can prevent crashes, incompatibilities and may provide you with a smoother gaming experience.
Master Update Mode is the solution to the white-face bug and a number of older issues with mod conflicts. Master Update (MUM) is highly recommended for all modders, as it can prevent crashes, incompatibilities and may provide you with a smoother gaming experience.


XEdit also provides the native ability to reverse the Master Update process, returning all MUM'ified plugins back to their original ESP state. This process is called Master Restore Mode (MRM), and will all you to edit your plug-in with the GECK. As the GECK will not allow you to set a Master (ESM) as the Active file, the MRM(er) process is required in order for you to modify your plug-ins again after running Master Update Mode.
xEdit also provides the native ability to reverse the Master Update process, returning all MUM'ified plugins back to their original ESP state. This process is called Master Restore Mode (MRM), and will all you to edit your plug-in with the GECK. As the GECK will not allow you to set a Master (ESM) as the Active file, the MRM(er) process is required in order for you to modify your plug-ins again after running Master Update Mode.


Thus in the tradition of UNIX nomenclature, you must first MUMify your plug-ins to play, and then MRMer at them to edit them in the GECK. This section describes both processes at depth.
Thus in the tradition of UNIX nomenclature, you must first MUMify your plug-ins to play, and then MRMer at them to edit them in the GECK. This section describes both processes at depth.
Line 199: Line 199:
== Master Update Mode ==
== Master Update Mode ==


Master Update Mode is activated by creating another copy of the program, and renaming it to, “FNVMasterUpdate.exe”. When XEdit runs, it will recognize its filename and run in Master Update Mode accordingly.
Master Update Mode is activated by creating another copy of the program, and renaming it to, “FNVMasterUpdate.exe”. When xEdit runs, it will recognize its filename and run in Master Update Mode accordingly.


When Master Update Mode is activated, the following operations are performed without further user interaction:
When Master Update Mode is activated, the following operations are performed without further user interaction:
Line 211: Line 211:
This process will result in a better-integrated group of mods, and will likely result in less crashes than without having run Master Update Mode.
This process will result in a better-integrated group of mods, and will likely result in less crashes than without having run Master Update Mode.


The process of creating the 2nd copy of XEdit for Master Update Mode is illustrated below:
The process of creating the 2nd copy of xEdit for Master Update Mode is illustrated below:


The same procedure can be used to create a “FNVMasterRestore.exe” version as well, both may be needed (especially for modders). When your ready to mod again, use FNVMasterRestore to remove the ESM flags from plugins that normally carry the .ESP filename extension.
The same procedure can be used to create a “FNVMasterRestore.exe” version as well, both may be needed (especially for modders). When your ready to mod again, use FNVMasterRestore to remove the ESM flags from plugins that normally carry the .ESP filename extension.
Line 219: Line 219:
You must close the program to finalize and save the settings, or your MUM'ifcation will not be completed. Running Fallout: New Vegas with MUM open will cause problems, so make sure you close the program when you see the, “--= All Done =--“indication.
You must close the program to finalize and save the settings, or your MUM'ifcation will not be completed. Running Fallout: New Vegas with MUM open will cause problems, so make sure you close the program when you see the, “--= All Done =--“indication.


It is recommended that you create icons for both MUM and MRM (alongside of the XEdit Icon) so that you can conveniently run either depending on whether you‟re playing or modding in the GECK. This is considered the best practice.
It is recommended that you create icons for both MUM and MRM (alongside of the xEdit Icon) so that you can conveniently run either depending on whether you‟re playing or modding in the GECK. This is considered the best practice.


You can safely delete the Backup files at any time; these are created for your protection. You can restore a mod from one of these backups simply by renaming the backup file to the original plug-in filename.
You can safely delete the Backup files at any time; these are created for your protection. You can restore a mod from one of these backups simply by renaming the backup file to the original plug-in filename.
Line 225: Line 225:
== Master Restore Mode ==
== Master Restore Mode ==


There is also a MasterRestore mode which reverses the MUM process by removing the ESM flag again from all .esp files. Similar to Master Update Mode, you need to copy/paste the XEdit.exe. Program, and rename the new copy to, “FNVMasterRestore.exe”.
There is also a MasterRestore mode which reverses the MUM process by removing the ESM flag again from all .esp files. Similar to Master Update Mode, you need to copy/paste the xEdit.exe. Program, and rename the new copy to, “FNVMasterRestore.exe”.


This will give you 3 icons; XEdit.exe, FNVMasterUpdate.exe and FNVMasterRestore.exe. Once you launch the Master Restore Mode (MRM), the rest of the action is automatic. The screenshot below illustrates the output of Master Restore Mode:
This will give you 3 icons; xEdit.exe, FNVMasterUpdate.exe and FNVMasterRestore.exe. Once you launch the Master Restore Mode (MRM), the rest of the action is automatic. The screenshot below illustrates the output of Master Restore Mode:


You must close the program to finalize and save the settings, or your MUM'ifcation will not be completed. Running Fallout: New Vegas with MUM open will cause problems, so make sure you close the program when you see the, “--= All Done =--“indication.
You must close the program to finalize and save the settings, or your MUM'ifcation will not be completed. Running Fallout: New Vegas with MUM open will cause problems, so make sure you close the program when you see the, “--= All Done =--“indication.
Line 235: Line 235:
== Overview ==
== Overview ==


One of the primary roles of XEdit is for conflict detection and resolution, so that multiple mods that modify the same records can work together successfully. Conflicts and Overrides are not always bad, and in fact the entire idea of “modding” is to make changes to the game that replace (and thus create a conflict or override for) the original records that came with Fallout: New Vegas. That is why our goal is to detect conflicts, determine their nature and resolve the bad conflicts while leaving good changes in place.
One of the primary roles of xEdit is for conflict detection and resolution, so that multiple mods that modify the same records can work together successfully. Conflicts and Overrides are not always bad, and in fact the entire idea of “modding” is to make changes to the game that replace (and thus create a conflict or override for) the original records that came with Fallout: New Vegas. That is why our goal is to detect conflicts, determine their nature and resolve the bad conflicts while leaving good changes in place.


The name of the game with Conflicts Resolution is load-order, as Fallout: New Vegas will count the last record loaded as the winner of any conflict between files. For example, two mods are added to the load-order; ModA and ModB. ModA changes the color of a standard lantern from a Neutral color to a Warmer color. ModB changes the radius of the same lantern by 50%, making it brighter. If ModA loads before ModB, the changes made to the lantern by ModA get over-written by ModB (which still thinks the lantern has a Neutral color). This is a bad conflict, and overcoming them is the focus of this chapter.
The name of the game with Conflicts Resolution is load-order, as Fallout: New Vegas will count the last record loaded as the winner of any conflict between files. For example, two mods are added to the load-order; ModA and ModB. ModA changes the color of a standard lantern from a Neutral color to a Warmer color. ModB changes the radius of the same lantern by 50%, making it brighter. If ModA loads before ModB, the changes made to the lantern by ModA get over-written by ModB (which still thinks the lantern has a Neutral color). This is a bad conflict, and overcoming them is the focus of this chapter.
Line 247: Line 247:
== Differences between Conflicts and Overrides ==
== Differences between Conflicts and Overrides ==


There is a huge difference between a "conflict" and an "override". There are mods which override changes from a Master file, such as changing the level cap. If for example, ModA changes the level cap to 40 from the default, this over-rides the level 20 cap in the Fallout: New Vegas Master files and is a normal. Overrides are not conflicting in any way. Overrides show up in XEdit with a Yellow background color and Green text color. In most cases you don‟t need to do anything with Overrides.
There is a huge difference between a "conflict" and an "override". There are mods which override changes from a Master file, such as changing the level cap. If for example, ModA changes the level cap to 40 from the default, this over-rides the level 20 cap in the Fallout: New Vegas Master files and is a normal. Overrides are not conflicting in any way. Overrides show up in xEdit with a Yellow background color and Green text color. In most cases you don‟t need to do anything with Overrides.


To get a conflict you need to have the same FormID defined in at least 3 modules, a Master, and 2 overrides. The conflict arises when the two overrides change different aspects of the same record, so that when the mods are loaded by Fallout: New Vegas, the last-mod loaded overrides the changes of the first-mod. Thus the last loaded mod is the, “Conflict Winner” while the first mod, whose changes were overridden, is the, “Conflict Loser”. Conflict Losers will show up with a red background, red text. The screenshot below illustrates the differences as seen in XEdit:
To get a conflict you need to have the same FormID defined in at least 3 modules, a Master, and 2 overrides. The conflict arises when the two overrides change different aspects of the same record, so that when the mods are loaded by Fallout: New Vegas, the last-mod loaded overrides the changes of the first-mod. Thus the last loaded mod is the, “Conflict Winner” while the first mod, whose changes were overridden, is the, “Conflict Loser”. Conflict Losers will show up with a red background, red text. The screenshot below illustrates the differences as seen in xEdit:


[[Image:image035.jpg|800px|Section 4_2 Differences]]
[[Image:image035.jpg|800px|Section 4_2 Differences]]
Line 257: Line 257:
== Applying Conflict Filters ==
== Applying Conflict Filters ==


The application of Filters is the primary means of conflict detection for XEdit. When you apply a filter, the loaded mod data in XEdit is parsed and analyzed via a complex algorithm (described below) to detect all conflicts and overrides. The list of mods in the Left-Side Panel changes color (text and background) based on conflict status of each, and the results are shown in the View Tab which also changes color (text and background). The color-schema matches throughout XEdit, so you won‟t have to memorize more than one (described in detail below).
The application of Filters is the primary means of conflict detection for xEdit. When you apply a filter, the loaded mod data in xEdit is parsed and analyzed via a complex algorithm (described below) to detect all conflicts and overrides. The list of mods in the Left-Side Panel changes color (text and background) based on conflict status of each, and the results are shown in the View Tab which also changes color (text and background). The color-schema matches throughout xEdit, so you won‟t have to memorize more than one (described in detail below).


To begin, Right-click in the Left-Side Panel and select, “Apply Filter” as shown in Step 1 and 2 below:
To begin, Right-click in the Left-Side Panel and select, “Apply Filter” as shown in Step 1 and 2 below:
Line 269: Line 269:
[[Image:image039.jpg|800px|Section 4_3 Start Filter]]
[[Image:image039.jpg|800px|Section 4_3 Start Filter]]


Once you click on Filter (F), XEdit will filter and analyze all of the loaded mods against the conflict-detection algorithm. This may take some time depending on how many mods you have loaded and how robust your computer is. The progress is shown in the upper-right corner of XEdit as the screenshot below illustrates:
Once you click on Filter (F), xEdit will filter and analyze all of the loaded mods against the conflict-detection algorithm. This may take some time depending on how many mods you have loaded and how robust your computer is. The progress is shown in the upper-right corner of xEdit as the screenshot below illustrates:


[[Image:image041.jpg|800px|Section 4_3 Filter Progress]]
[[Image:image041.jpg|800px|Section 4_3 Filter Progress]]


XEdit also keeps track of how long the filter takes to apply. If you run 100+ mods, it can take several minutes to process all of the data. Conflict detection is not simply based on the existence of multiple records for the same FormID in different modules but instead performs a comparison of the parsed sub-record data via an algorithm.
xEdit also keeps track of how long the filter takes to apply. If you run 100+ mods, it can take several minutes to process all of the data. Conflict detection is not simply based on the existence of multiple records for the same FormID in different modules but instead performs a comparison of the parsed sub-record data via an algorithm.


As such the conflict detection process requires a lot of memory, and systems with less than 2 Gigabytes of RAM may suffer. If you receive an, “Out of Memory” error, then your computer does not have enough memory to process the number of mods you have chosen. Upgrade your computer or reduce the number of mods you run.
As such the conflict detection process requires a lot of memory, and systems with less than 2 Gigabytes of RAM may suffer. If you receive an, “Out of Memory” error, then your computer does not have enough memory to process the number of mods you have chosen. Upgrade your computer or reduce the number of mods you run.


The screenshot below illustrates how XEdit will look once the conflict detection process is complete. Note the [Filtering done] block in the Messages Tab below (A), indicating both the success of the conflict filtering process as well as record and time statistics about the filtration result. The screenshot below shows a typical outcome:
The screenshot below illustrates how xEdit will look once the conflict detection process is complete. Note the [Filtering done] block in the Messages Tab below (A), indicating both the success of the conflict filtering process as well as record and time statistics about the filtration result. The screenshot below shows a typical outcome:


[[Image:image043.jpg|800px|Section 4_3 Filter Complete]]
[[Image:image043.jpg|800px|Section 4_3 Filter Complete]]
Line 285: Line 285:
[[Image:image045.jpg|800px|Section 4_3 Conflict Viewing]]
[[Image:image045.jpg|800px|Section 4_3 Conflict Viewing]]


With that you now understand how to detect for conflicts with XEdit and where to look at the data. You‟re now ready to learn about colors and display order. Understanding the color schemes behind the text and backgrounds is critical to understanding the conflicts, and how to resolve them.
With that you now understand how to detect for conflicts with xEdit and where to look at the data. You‟re now ready to learn about colors and display order. Understanding the color schemes behind the text and backgrounds is critical to understanding the conflicts, and how to resolve them.


== Color Schemas and Display Order  ==
== Color Schemas and Display Order  ==


Understanding the color schema is a key to understanding XEdit. The color coding schema is designed to make the process as simple and efficient as possible. The legend below will introduce you to the basic color schema:
Understanding the color schema is a key to understanding xEdit. The color coding schema is designed to make the process as simple and efficient as possible. The legend below will introduce you to the basic color schema:


[[Image:image047.jpg|400px|Section 4_4 Color Schemas]]
[[Image:image047.jpg|400px|Section 4_4 Color Schemas]]
Line 297: Line 297:
There also is the case when a module contains a record that is identical to the Master (which is usually un-intentional). If you have this module loaded alone the record will show up with a Green Background (signaling, no conflict) and Grey Text (identical to Master). Named, “dirty edits”, these can be purged with the Mod Cleaning Process.
There also is the case when a module contains a record that is identical to the Master (which is usually un-intentional). If you have this module loaded alone the record will show up with a Green Background (signaling, no conflict) and Grey Text (identical to Master). Named, “dirty edits”, these can be purged with the Mod Cleaning Process.


The sample below shows both the color schema and the display-order together to better illustrate how conflict detection works. XEdit displays each conflict in the order that the files are loaded (FOMM‟s load order), with the first mod loaded listed on the Left (Purple) and the last mod loaded listed on the Right (Orange).
The sample below shows both the color schema and the display-order together to better illustrate how conflict detection works. xEdit displays each conflict in the order that the files are loaded (FOMM‟s load order), with the first mod loaded listed on the Left (Purple) and the last mod loaded listed on the Right (Orange).


[[Image:image049.jpg|800px|Section 4_4 sample]]
[[Image:image049.jpg|800px|Section 4_4 sample]]
Line 303: Line 303:
All conflicts are ordered this way, with any mods loaded in-between either in a conflict state (Red) or that is identical to the Master (Grey) as described above.
All conflicts are ordered this way, with any mods loaded in-between either in a conflict state (Red) or that is identical to the Master (Grey) as described above.


The Load Order Workflow chart below is designed to help you understand the different color-combinations that you will encounter when de-conflicting mods. The XEdit display order as shown above was transposed into the vertical diagram below to help better illustrate how XEdit determines conflict winners and losers:
The Load Order Workflow chart below is designed to help you understand the different color-combinations that you will encounter when de-conflicting mods. The xEdit display order as shown above was transposed into the vertical diagram below to help better illustrate how xEdit determines conflict winners and losers:


[[Image:image051.jpg|800px|Section 4_4 winners and losers]]
[[Image:image051.jpg|800px|Section 4_4 winners and losers]]
Line 335: Line 335:
Also important to note in this example is the mods with Grey Text / Red Background with the NV-Phalanx mod – signifying that the record is identical to the FalloutNV.ESM Master file – and is thus redundant.
Also important to note in this example is the mods with Grey Text / Red Background with the NV-Phalanx mod – signifying that the record is identical to the FalloutNV.ESM Master file – and is thus redundant.


In this case we do need to take action to resolve the conflicts, or Veronica will never see benefits of the Cuter Veronica nod. The question is, “Can we resolve this conflict by simply changing the mod load-order in FOMM?” Let‟s find out, start by closing XEdit and opening FOMM.
In this case we do need to take action to resolve the conflicts, or Veronica will never see benefits of the Cuter Veronica nod. The question is, “Can we resolve this conflict by simply changing the mod load-order in FOMM?” Let‟s find out, start by closing xEdit and opening FOMM.


Changing the load-order in FOMM can often resolve conflicts. In this example, by dragging the Cuter Veronica mod below the MyPlayerHouse1 mod, we force Cuter Veronica to load last so it will be the conflict winner:
Changing the load-order in FOMM can often resolve conflicts. In this example, by dragging the Cuter Veronica mod below the MyPlayerHouse1 mod, we force Cuter Veronica to load last so it will be the conflict winner:
Line 341: Line 341:
[[Image:image057.jpg|500px|Section 4_5 conflict winner]]
[[Image:image057.jpg|500px|Section 4_5 conflict winner]]


Closing FOMM (to save the load order), re-opening XEdit with the new load order and applying a conflict Filter yields the following results:
Closing FOMM (to save the load order), re-opening xEdit with the new load order and applying a conflict Filter yields the following results:


[[Image:image059.jpg|800px|Section 4_5 conflict resolution results]]
[[Image:image059.jpg|800px|Section 4_5 conflict resolution results]]
Line 349: Line 349:
== Understanding Patch Plugins and Merged Patches ==
== Understanding Patch Plugins and Merged Patches ==


There are two methods by which you can create a patch plug-in to resolve conflicts; by hand or using the automatic merged patch tool. The recommend best-practice with patch Plugins is that you use the automatic merged patch creation tool, after which you review the merged patch and add/remove/correct anything that the automatic tool did not change to your satisfaction. This is necessary because there is often not one “correct” answer to which mod should win a conflict over the same record, and sometimes what is normally deemed correct will not be to your personal liking. We describe the manual patch Plugin creation process first, and then show you how XEdit creates one automatically.
There are two methods by which you can create a patch plug-in to resolve conflicts; by hand or using the automatic merged patch tool. The recommend best-practice with patch Plugins is that you use the automatic merged patch creation tool, after which you review the merged patch and add/remove/correct anything that the automatic tool did not change to your satisfaction. This is necessary because there is often not one “correct” answer to which mod should win a conflict over the same record, and sometimes what is normally deemed correct will not be to your personal liking. We describe the manual patch Plugin creation process first, and then show you how xEdit creates one automatically.


== Creating a Patch Plugin (Manual Method) ==
== Creating a Patch Plugin (Manual Method) ==
Line 363: Line 363:
[[Image:image063.jpg|800px|Section 4_7 New File adds master]]
[[Image:image063.jpg|800px|Section 4_7 New File adds master]]


Once confirmed, XEdit will add NV-Phalanx as the Master-file of your new patch plug-in. This happens because we chose the Veronica reference from NV-Phalanx when we did the, “Copy as override into…”. If we had chosen Cuter Veronica instead, it would set that as the Master file for our patch plug-in instead. This ensures that when you copy a reference into your patch plug-in, any data needed for it from the original mod file can be accessed by Fallout: New Vegas at run time. Once complete, you will see:
Once confirmed, xEdit will add NV-Phalanx as the Master-file of your new patch plug-in. This happens because we chose the Veronica reference from NV-Phalanx when we did the, “Copy as override into…”. If we had chosen Cuter Veronica instead, it would set that as the Master file for our patch plug-in instead. This ensures that when you copy a reference into your patch plug-in, any data needed for it from the original mod file can be accessed by Fallout: New Vegas at run time. Once complete, you will see:


[[Image:image065.jpg|800px|Section 4_7 New File results]]
[[Image:image065.jpg|800px|Section 4_7 New File results]]
Line 369: Line 369:
Note how your new patch plug-in, “MyPatchPlugin.esp”, has been created and now occupies the right-most column, making it the conflict winner. Also note that Cuter Veronica is now in conflict because the Essential flag has not yet been moved over, as well as the level-cap and quest key. Now that our patch Plugin has been created, we can correct all of the conflicts on poor Veronica (but does she Deserve it?!?)
Note how your new patch plug-in, “MyPatchPlugin.esp”, has been created and now occupies the right-most column, making it the conflict winner. Also note that Cuter Veronica is now in conflict because the Essential flag has not yet been moved over, as well as the level-cap and quest key. Now that our patch Plugin has been created, we can correct all of the conflicts on poor Veronica (but does she Deserve it?!?)


We can now literally drag/drop each of these items into our new patch plug-in. We do this operation more than any other in XEdit when making a plug-in, as once the initial creation step is complete, it‟s simply a matter of dragging all of the overrides that we want into the patch plug-in as shown below:
We can now literally drag/drop each of these items into our new patch plug-in. We do this operation more than any other in xEdit when making a plug-in, as once the initial creation step is complete, it‟s simply a matter of dragging all of the overrides that we want into the patch plug-in as shown below:


[[Image:image067.jpg|800px|Section 4_7 Drag and Drop]]
[[Image:image067.jpg|800px|Section 4_7 Drag and Drop]]


Note that for the key we dragged it from the top-level, “Item” entry for that record, and not from the key item row itself. The Item row is the root-level for this particular object (including its Count variable, etc.). As such XEdit will only let you “drag” from the correct row-level, so you don‟t have to worry about getting it wrong! The screenshot below shows the result, with the key now replicated into our patch plug-in.
Note that for the key we dragged it from the top-level, “Item” entry for that record, and not from the key item row itself. The Item row is the root-level for this particular object (including its Count variable, etc.). As such xEdit will only let you “drag” from the correct row-level, so you don‟t have to worry about getting it wrong! The screenshot below shows the result, with the key now replicated into our patch plug-in.


[[Image:image069.jpg|800px|Section 4_7 Drag and Drop again]]
[[Image:image069.jpg|800px|Section 4_7 Drag and Drop again]]
Line 397: Line 397:
== Creating a Merged Patch (Automatic Method)  ==
== Creating a Merged Patch (Automatic Method)  ==


XEdit provides an automatic method of generated a merged patch, which is the same as a patch Plugin but contains resolved conflicts from All of the loaded mods. This will greatly speed the conflict resolution process, as most of the common types of conflicts are automatically merged into the patch Plugin. It's very unlikely that the generated patch is going to be any worse than using the originally conflicting mods without the patch would be, and as such this method is recommended for everyone that runs mods.
xEdit provides an automatic method of generated a merged patch, which is the same as a patch Plugin but contains resolved conflicts from All of the loaded mods. This will greatly speed the conflict resolution process, as most of the common types of conflicts are automatically merged into the patch Plugin. It's very unlikely that the generated patch is going to be any worse than using the originally conflicting mods without the patch would be, and as such this method is recommended for everyone that runs mods.


The whole point of using the automatic method is to generate a merged patch that is custom built for a specific load order (yours). However not every load-order conflict can be anticipated, and too often mod authors create messy plug-ins that create unforeseen outcomes. That‟s why it is important to review each of the overrides that the merged function creates. First thing is to apply a Conflict filter as shown below:
The whole point of using the automatic method is to generate a merged patch that is custom built for a specific load order (yours). However not every load-order conflict can be anticipated, and too often mod authors create messy plug-ins that create unforeseen outcomes. That‟s why it is important to review each of the overrides that the merged function creates. First thing is to apply a Conflict filter as shown below:
Line 403: Line 403:
The same filter options apply as when resolving standard conflicts:
The same filter options apply as when resolving standard conflicts:


Once the conflict filter has completed its operation, we are ready to build our Automatic Patch Plug-in! This process will examine all of the loaded mods for certain form types that can be automatically merged into a patch plug-in. XEdit will create the new patch plug-in with all of the form types that it can safely merge for you, which you can then use as the base for your custom patch plug-in.
Once the conflict filter has completed its operation, we are ready to build our Automatic Patch Plug-in! This process will examine all of the loaded mods for certain form types that can be automatically merged into a patch plug-in. xEdit will create the new patch plug-in with all of the form types that it can safely merge for you, which you can then use as the base for your custom patch plug-in.


This does not include all form types, and not even all cases of some form types. This is because XEdit cannot read your mind (future release) and thus does not know how to resolve many kinds of conflicts. Without the ability to read your mind, interpret the data and determine what you would want in all possible conflicts, this means that XEdit cannot fully automate the conflict resolution process. The automatic merged-patch then should be thought of as a foundation from which you resolve conflicts in your mod load order. The screenshot below illustrates the challenge:
This does not include all form types, and not even all cases of some form types. This is because xEdit cannot read your mind (future release) and thus does not know how to resolve many kinds of conflicts. Without the ability to read your mind, interpret the data and determine what you would want in all possible conflicts, this means that xEdit cannot fully automate the conflict resolution process. The automatic merged-patch then should be thought of as a foundation from which you resolve conflicts in your mod load order. The screenshot below illustrates the challenge:


As the screenshot shown above describes, there are many kinds of conflicts that cannot be resolved by an automatic merged patch. In this case the one conflict that can be resolved is that of Inventory Items, where one mod gives Veronica an item while another mod gives her different items. The conflict can be resolved by giving her the items from both mods in the merged patch-plug-in. For everything else in which a human decision is ultimately required, the merged patch will leave these records in conflict as we will see below.
As the screenshot shown above describes, there are many kinds of conflicts that cannot be resolved by an automatic merged patch. In this case the one conflict that can be resolved is that of Inventory Items, where one mod gives Veronica an item while another mod gives her different items. The conflict can be resolved by giving her the items from both mods in the merged patch-plug-in. For everything else in which a human decision is ultimately required, the merged patch will leave these records in conflict as we will see below.
Line 415: Line 415:
The Merged Patch function should take several seconds to complete, after which the Messages Tab will reveal the outcome as shown below:
The Merged Patch function should take several seconds to complete, after which the Messages Tab will reveal the outcome as shown below:


Notice how the Merged Patch automatically creates our Patch Plugin, and assigns all of the mods in our load-order as Masters to it. This is important, as it allows you to drag n‟ drop any record into it, and ensures maximum compatibility across your mod list. The screenshot above shows you how XEdit creates the entire record tree (1), and where the log file output is shown in the Messages Tab (2).
Notice how the Merged Patch automatically creates our Patch Plugin, and assigns all of the mods in our load-order as Masters to it. This is important, as it allows you to drag n‟ drop any record into it, and ensures maximum compatibility across your mod list. The screenshot above shows you how xEdit creates the entire record tree (1), and where the log file output is shown in the Messages Tab (2).


The screenshot below shows you the View Tab of our newly-created merged patch, which you can see by selecting and clicking on a record from the tree:
The screenshot below shows you the View Tab of our newly-created merged patch, which you can see by selecting and clicking on a record from the tree:


As described above, the process of creating an automatic merged patch has only resolved one of the conflicts in the example by successfully giving Veronica new inventory items from several mods. However all of the other conflicts remain, which can now be resolved by dragging-dropping records into our new patch plug-in, fleshing it out with both the automatic data XEdit could find and your personal conflict resolution decisions.
As described above, the process of creating an automatic merged patch has only resolved one of the conflicts in the example by successfully giving Veronica new inventory items from several mods. However all of the other conflicts remain, which can now be resolved by dragging-dropping records into our new patch plug-in, fleshing it out with both the automatic data xEdit could find and your personal conflict resolution decisions.


The examples provided above will give you a broad taste of the kinds of conflicts and overrides you will run into when creating a merged patch. Reviewing the changes can take as little as 10 or 15 minutes, compared to the hours of work it would take to create the patch plug-in by hand. That is why the recommendation is to use the Automatic method to create a merged patch, and then use your manual patching skills to correct any problems you find in the merged patch. That will produce the best patch plug-in for your mod-list, and ensure the smoothest gaming experience possible.
The examples provided above will give you a broad taste of the kinds of conflicts and overrides you will run into when creating a merged patch. Reviewing the changes can take as little as 10 or 15 minutes, compared to the hours of work it would take to create the patch plug-in by hand. That is why the recommendation is to use the Automatic method to create a merged patch, and then use your manual patching skills to correct any problems you find in the merged patch. That will produce the best patch plug-in for your mod-list, and ensure the smoothest gaming experience possible.
Line 427: Line 427:
== The Conflict Detection Algorithm ==
== The Conflict Detection Algorithm ==


To round-out our discussion on conflict detection and resolution, we have included the main algorithm (in textural, descriptive form) for your reference. You do not have to read this unless you have an interest in the internal mechanism of how XEdit determines a conflict/override from un-conflicted records.
To round-out our discussion on conflict detection and resolution, we have included the main algorithm (in textural, descriptive form) for your reference. You do not have to read this unless you have an interest in the internal mechanism of how xEdit determines a conflict/override from un-conflicted records.


Note: The Surgeon General has declared that reading code without a blood/caffeine content of 0.20 may be hazardous to your sanity.
Note: The Surgeon General has declared that reading code without a blood/caffeine content of 0.20 may be hazardous to your sanity.


XEdit uses a complex algorithm that parses the mod sub-record data at depth, and performs a number of operations on the data to detect conflicts and overrides. While you do not have to memorize this, the main conflict-detection algorithm is described below for reference (and those brave enough to noodle it out):
xEdit uses a complex algorithm that parses the mod sub-record data at depth, and performs a number of operations on the data to detect conflicts and overrides. While you do not have to memorize this, the main conflict-detection algorithm is described below for reference (and those brave enough to noodle it out):


Step 1. XEdit makes a list with all entries from the Master record, and designates this as the, “TargetList”.
Step 1. xEdit makes a list with all entries from the Master record, and designates this as the, “TargetList”.


Step 2. XEdit Loops and repeats the following for each existing override record:
Step 2. xEdit Loops and repeats the following for each existing override record:


Sub-Step A. XEdit determines the file containing this override record, and designates it as, “CurrentFile”.
Sub-Step A. xEdit determines the file containing this override record, and designates it as, “CurrentFile”.


Sub-Step B. XEdit makes a list with all entries from that override record, and designates it as, “CurrentList”.
Sub-Step B. xEdit makes a list with all entries from that override record, and designates it as, “CurrentList”.


Sub-Step C. XEdit goes through the list of Master files for CurrentFile, from last to first, and stops when the first is found containing an override for this record, designated as, “CurrentMaster”.
Sub-Step C. xEdit goes through the list of Master files for CurrentFile, from last to first, and stops when the first is found containing an override for this record, designated as, “CurrentMaster”.


Sub-Step D. XEdit makes a list with all entries from CurrentMaster, and designates it as “CurrentMasterList”.
Sub-Step D. xEdit makes a list with all entries from CurrentMaster, and designates it as “CurrentMasterList”.


Sub-Step E. XEdit goes over CurrentList and CurrentMasterList, for each entry that:
Sub-Step E. xEdit goes over CurrentList and CurrentMasterList, for each entry that:


+ Exists only in CurrentList, adds this entry to TargetList if not yet present.
+ Exists only in CurrentList, adds this entry to TargetList if not yet present.
Line 451: Line 451:
+ Exists only in CurrentMasterList, removes this entry from TargetList if present.
+ Exists only in CurrentMasterList, removes this entry from TargetList if present.


Step 3. XEdit then makes a list with all entries from the winning override record, and designates it as, “WinningList”.
Step 3. xEdit then makes a list with all entries from the winning override record, and designates it as, “WinningList”.


Step 4. XEdit then compares TargetList and WinningList, and if different:
Step 4. xEdit then compares TargetList and WinningList, and if different:


Sub-Step A. XEdit copies the currently winning record as override into the new file, designated as, “TargetRecord”.
Sub-Step A. xEdit copies the currently winning record as override into the new file, designated as, “TargetRecord”.


Sub-Step B. XEdit then removes all list entries from “TargetRecord”.
Sub-Step B. xEdit then removes all list entries from “TargetRecord”.


Sub-Step C. XEdit goes over TargetList and for each entry add a new entry to the “TargetRecord.”
Sub-Step C. xEdit goes over TargetList and for each entry add a new entry to the “TargetRecord.”


Step 5. XEdit then makes the Master List (as it applies to leveled list entries) which is also important to understand what's going on:
Step 5. xEdit then makes the Master List (as it applies to leveled list entries) which is also important to understand what's going on:


Sub-Step A. For each entry, XEdit generates a string representation including: Level, Reference, Count, Item Condition, Owner, and Owner Rank.
Sub-Step A. For each entry, xEdit generates a string representation including: Level, Reference, Count, Item Condition, Owner, and Owner Rank.


Sub-Step B. XEdit sorts the generated list of strings.
Sub-Step B. xEdit sorts the generated list of strings.


Sub-Step C. XEdit walks over the sorted list, add numbers to duplicated entries, and so suppose you have a list: A, B, B, C, D, D after this step it will be A#0, B#0, B#1, C#0, D#0, D#1.
Sub-Step C. xEdit walks over the sorted list, add numbers to duplicated entries, and so suppose you have a list: A, B, B, C, D, D after this step it will be A#0, B#0, B#1, C#0, D#0, D#1.


== Using XEdit and Wrye Flash For Maximum Compatibility and Stability ==
== Using xEdit and Wrye Flash For Maximum Compatibility and Stability ==


NOTE: THIS SECTION DOES NOT APPLY TO SKYRIM. SKYRIM'S VERSION OF WYRE BASH IS STRICTLY FOR LEVELED LISTS AND COMBINING SIMPLE MODS.
NOTE: THIS SECTION DOES NOT APPLY TO SKYRIM. SKYRIM'S VERSION OF WYRE BASH IS STRICTLY FOR LEVELED LISTS AND COMBINING SIMPLE MODS.


Instead of using XEdit by itself to create a compatibility patch for all of your mods, it can be used alongside Wrye Flash to create a more stable game that allows more changes from your mods to work.
Instead of using xEdit by itself to create a compatibility patch for all of your mods, it can be used alongside Wrye Flash to create a more stable game that allows more changes from your mods to work.


Wrye Flash creates its patches using Bash tags, which are set by the mod author. These tags allow the program to more accurately merge the files than XEdit, because only the tagged items are patched. XEdit on the other hand, pulls the entire record from the master and attempts to make sense of it all. In other words, Wyre Bash is more precise.
Wrye Flash creates its patches using Bash tags, which are set by the mod author. These tags allow the program to more accurately merge the files than xEdit, because only the tagged items are patched. xEdit on the other hand, pulls the entire record from the master and attempts to make sense of it all. In other words, Wyre Bash is more precise.


XEdit is still needed, because sometimes mods have missing tags or there are 2 mods attempting to edit the same thing and you must decide which one you want to win. To fix these issues, it is recommended that you make an Manual Patch.  
xEdit is still needed, because sometimes mods have missing tags or there are 2 mods attempting to edit the same thing and you must decide which one you want to win. To fix these issues, it is recommended that you make an Manual Patch.  


Step-by Step Instructions:
Step-by Step Instructions:
Line 483: Line 483:
# Create a Bashed patch. Only select the .esm and esp files for the patch.  
# Create a Bashed patch. Only select the .esm and esp files for the patch.  
#:DO NOT INCLUDE GLOBAL OR ANY OTHER TWEAKS UNLESS YOU KNOW WHAT YOU ARE DOING.  
#:DO NOT INCLUDE GLOBAL OR ANY OTHER TWEAKS UNLESS YOU KNOW WHAT YOU ARE DOING.  
# Open XEdit. Select all of your files, including the Bash patch and apply these filter settings: [http://imgur.com/o7f2J2v]  
# Open xEdit. Select all of your files, including the Bash patch and apply these filter settings: [http://imgur.com/o7f2J2v]  
# Go through each entry. Drag any corrections over to your Bash patch if it shows up in the right View Tab.   
# Go through each entry. Drag any corrections over to your Bash patch if it shows up in the right View Tab.   
# If the Bash patch does not appear, then you will need to add the corrections to your Manual patch.
# If the Bash patch does not appear, then you will need to add the corrections to your Manual patch.
Line 494: Line 494:
:This video is for Skyrim ONLY. For Fallout New Vegas, you must go through each category. If you see any .esm or .esp files, make sure you mark both the category on the left and all the .esm and .esp's on the right so they are included in the patch. As stated before; DO NOT MARK GLOBAL OR ANY OTHER TWEAKS UNLESS YOU KNOW WHAT YOU ARE DOING.
:This video is for Skyrim ONLY. For Fallout New Vegas, you must go through each category. If you see any .esm or .esp files, make sure you mark both the category on the left and all the .esm and .esp's on the right so they are included in the patch. As stated before; DO NOT MARK GLOBAL OR ANY OTHER TWEAKS UNLESS YOU KNOW WHAT YOU ARE DOING.


Instructions for creating a Manual patch in XEdit can found in the "[[#Creating_a_Patch_Plugin_.28Manual_Method.29|Creating a Patch Plugin (Manual Method)]]" section.
Instructions for creating a Manual patch in xEdit can found in the "[[#Creating_a_Patch_Plugin_.28Manual_Method.29|Creating a Patch Plugin (Manual Method)]]" section.


Here is a video demonstrating how to make a Manual Patch: [https://www.youtube.com/watch?v=NPKrwES9Cb4]
Here is a video demonstrating how to make a Manual Patch: [https://www.youtube.com/watch?v=NPKrwES9Cb4]
Line 502: Line 502:
== Overview ==
== Overview ==


XEdit provides several tools that help mod authors to clean their mods of extraneous / duplicated references, fix deleted references and to merge plug-ins together. These utilities can help a mod author avoid many conflicts with other mods and is considered a best practice. It is highly recommended that mod authors clean their mods before they are released to the general public, which can avert silly and embarrassing compatibility problems after release and make for a more professional showing in the community.
xEdit provides several tools that help mod authors to clean their mods of extraneous / duplicated references, fix deleted references and to merge plug-ins together. These utilities can help a mod author avoid many conflicts with other mods and is considered a best practice. It is highly recommended that mod authors clean their mods before they are released to the general public, which can avert silly and embarrassing compatibility problems after release and make for a more professional showing in the community.


Mod quality is a community wide problem and needs to be addressed on that level. If everyone just tweaks their load order around and cleans mods they installed that's not going to move us forward as a community. It is important that if there are general issues with a mod that these be made public and the author of the mod fixes them. With many of the possibly conflicting changes that a mod makes, it becomes a question of intent when cleaning them up, and only the mod author can give an authoritative answer to that.
Mod quality is a community wide problem and needs to be addressed on that level. If everyone just tweaks their load order around and cleans mods they installed that's not going to move us forward as a community. It is important that if there are general issues with a mod that these be made public and the author of the mod fixes them. With many of the possibly conflicting changes that a mod makes, it becomes a question of intent when cleaning them up, and only the mod author can give an authoritative answer to that.
Line 514: Line 514:
What is the mod cleaning process anyway? The mod cleaning process involves cleaning a mod file of duplicate/un-necessary records and un-deleting objects in the Masters that were inadvertently deleted - setting them to disabled instead. We also check for errors as well as looped level lists. The itemized cleaning process is:
What is the mod cleaning process anyway? The mod cleaning process involves cleaning a mod file of duplicate/un-necessary records and un-deleting objects in the Masters that were inadvertently deleted - setting them to disabled instead. We also check for errors as well as looped level lists. The itemized cleaning process is:
# Identifying and removing records in a mod file that is identical to those in the Master files, which are useless in a mod-file and can cause conflicts with other mods. Removing these from your mod file is a primary goal of this process.
# Identifying and removing records in a mod file that is identical to those in the Master files, which are useless in a mod-file and can cause conflicts with other mods. Removing these from your mod file is a primary goal of this process.
# Identifying any records in the Master files which have been marked as deleted, which XEdit un-deletes and marks as, “disabled” instead. This ensures that any change made to that object by other mods won‟t cause crashes or conflicts, which can happen if a modder accidentally deletes a base object, which is modified by another mod and you get a null pointer – poof!
# Identifying any records in the Master files which have been marked as deleted, which xEdit un-deletes and marks as, “disabled” instead. This ensures that any change made to that object by other mods won‟t cause crashes or conflicts, which can happen if a modder accidentally deletes a base object, which is modified by another mod and you get a null pointer – poof!
# Identifying any infinite loops in the leveled-lists, and ensure there are no physical/data errors with the mod file to round-out the clean-up.
# Identifying any infinite loops in the leveled-lists, and ensure there are no physical/data errors with the mod file to round-out the clean-up.


Line 521: Line 521:
Mod B is added to the player‟s mod-list, which changes the wine bottle making it stronger. Mod A‟s plug-in however conflicts with this and can over-ride Mob B‟s changes without cause (as Mod A‟s author did not intend to change the wine bottle). Furthermore all occurrences of the whiskey bottle are now bogus. When Mod B tries to change the whiskey bottle, it finds no whiskey bottle to change and Fallout: New Vegas will crash.
Mod B is added to the player‟s mod-list, which changes the wine bottle making it stronger. Mod A‟s plug-in however conflicts with this and can over-ride Mob B‟s changes without cause (as Mod A‟s author did not intend to change the wine bottle). Furthermore all occurrences of the whiskey bottle are now bogus. When Mod B tries to change the whiskey bottle, it finds no whiskey bottle to change and Fallout: New Vegas will crash.


Modder A could avoid both of these issues with the mod cleaning process, which un-deletes references that were deleted on accident and un-does inadvertent changes to things in the game that were not intended. The screenshot below illustrates the start of the process, in which you must load-up XEdit and follow the steps herein:
Modder A could avoid both of these issues with the mod cleaning process, which un-deletes references that were deleted on accident and un-does inadvertent changes to things in the game that were not intended. The screenshot below illustrates the start of the process, in which you must load-up xEdit and follow the steps herein:


Once, “OK” is clicked (D), XEdit will load the selected plug-in for cleaning.
Once, “OK” is clicked (D), xEdit will load the selected plug-in for cleaning.


Note that you can also, “Select All” or “Invert Selection”, which gives you additional controls over which mod-files are selected for loading into XEdit. For the mod cleaning process, we only want to load the plug-in being cleaned. You can do this using the, “Select None” menu option, and then clicking on the mod file to be cleaned.
Note that you can also, “Select All” or “Invert Selection”, which gives you additional controls over which mod-files are selected for loading into xEdit. For the mod cleaning process, we only want to load the plug-in being cleaned. You can do this using the, “Select None” menu option, and then clicking on the mod file to be cleaned.


You should only clean one mod file at a time, and you should not clean other people‟s mod files! There is no harm in running through the process to see if mod A or mod B is filled with dirty edits (after which you can send them a PM on the forums!), but it is considered a bad idea to clean other people‟s mods.
You should only clean one mod file at a time, and you should not clean other people‟s mod files! There is no harm in running through the process to see if mod A or mod B is filled with dirty edits (after which you can send them a PM on the forums!), but it is considered a bad idea to clean other people‟s mods.


Once loaded into XEdit, we need to apply a Filter to detect all of the Identical to Master references in the mod being cleaned as shown below:
Once loaded into xEdit, we need to apply a Filter to detect all of the Identical to Master references in the mod being cleaned as shown below:


Clicking on, “Apply Filter” (B) will present the Filter window, just as it did with the Conflict Resolution Process. This filter window however will utilize different options than with conflict detection, as in this case we are only looking at one mod file and one specific kind of conflict – the Identical to Master references.
Clicking on, “Apply Filter” (B) will present the Filter window, just as it did with the Conflict Resolution Process. This filter window however will utilize different options than with conflict detection, as in this case we are only looking at one mod file and one specific kind of conflict – the Identical to Master references.
Line 540: Line 540:
The screenshot below illustrates the filter options to select:
The screenshot below illustrates the filter options to select:


Clicking on, “Filter” (D) will launch the XEdit analysis for Identical to Master records, which should complete in a short period of time (perhaps 1-20 seconds). If your system is very slow or bogged down or the mod is really huge, it is possible for the process to take longer. The status of XEdit can be viewed in the upper-right corner of the screen, as shown in the screenshot below:
Clicking on, “Filter” (D) will launch the xEdit analysis for Identical to Master records, which should complete in a short period of time (perhaps 1-20 seconds). If your system is very slow or bogged down or the mod is really huge, it is possible for the process to take longer. The status of xEdit can be viewed in the upper-right corner of the screen, as shown in the screenshot below:


Both the elapsed time and processed records are shown in the upper-right window. When XEdit completes the analysis, the Messages Tab will reveal the result as shown on the next page. You should also not expect to see in anything yet in the View Tab.
Both the elapsed time and processed records are shown in the upper-right window. When xEdit completes the analysis, the Messages Tab will reveal the result as shown on the next page. You should also not expect to see in anything yet in the View Tab.


The output of the filter can be seen in the Messages Tab as shown below:
The output of the filter can be seen in the Messages Tab as shown below:
Line 564: Line 564:
With the Mod Cleaning filter applied, Golly! It‟s time to get out the Mr. Clean and make this puppy sparkle with goodness! Grab the mop by Left-clicking on the mod that you want to clean, in our case BetterCaravans (A). Splash the Mr. Clean on by Right-clicking the shiny white space beneath the mod your cleaning (B), and spin
With the Mod Cleaning filter applied, Golly! It‟s time to get out the Mr. Clean and make this puppy sparkle with goodness! Grab the mop by Left-clicking on the mod that you want to clean, in our case BetterCaravans (A). Splash the Mr. Clean on by Right-clicking the shiny white space beneath the mod your cleaning (B), and spin


that mop into action by clicking on, „Remove “Identical to Master” records‟ (C) – and watch as XEdit puts the shine on that puppy!
that mop into action by clicking on, „Remove “Identical to Master” records‟ (C) – and watch as xEdit puts the shine on that puppy!


You will be presented with the Warning screen, press, “Yes” when prompted:
You will be presented with the Warning screen, press, “Yes” when prompted:


As XEdit completes the mod-cleaning process, you can see the output in the Messages Tab, which shows you every record that is being removed along with its hex ID number. Once complete, you get a line of text reading, [Removing “Identical to Master” records done] – along with statistics on the number of records processed and removed as well as the elapsed time (A).
As xEdit completes the mod-cleaning process, you can see the output in the Messages Tab, which shows you every record that is being removed along with its hex ID number. Once complete, you get a line of text reading, [Removing “Identical to Master” records done] – along with statistics on the number of records processed and removed as well as the elapsed time (A).


The screenshot below illustrates the output:
The screenshot below illustrates the output:
Line 596: Line 596:
=== Purging un-used Master File References ===
=== Purging un-used Master File References ===


Master File References are links or references from your Plugin to any Master files (ESMs) that it depends on to run, and stores the list in a record called, “MAST”. Most mods have FalloutNV.ESM in their Master List, but you can have many such links in a plug-in. In fact when XEdit creates a Merged Patch, it puts links to many or nearly-all of the Master files in your mod list. It is possible in some cases for a Plugin to contain a link to a Master file that it does not need.
Master File References are links or references from your Plugin to any Master files (ESMs) that it depends on to run, and stores the list in a record called, “MAST”. Most mods have FalloutNV.ESM in their Master List, but you can have many such links in a plug-in. In fact when xEdit creates a Merged Patch, it puts links to many or nearly-all of the Master files in your mod list. It is possible in some cases for a Plugin to contain a link to a Master file that it does not need.


For example, suppose the Plugin we are cleaning had MasterB.ESM in its Master List but it doesn't contain any overrides for, or makes any other references to, records from MasterB.ESM. In that case we would not need nor want MasterB.ESM listed in the Master record for our Plugin! This function detects any un-used Master references in the Plugin we are cleaning, and removes them from the Master List. XEdit also renumbers any file specific FormIDs in the Plugin to ensure that it is cleaned properly.
For example, suppose the Plugin we are cleaning had MasterB.ESM in its Master List but it doesn't contain any overrides for, or makes any other references to, records from MasterB.ESM. In that case we would not need nor want MasterB.ESM listed in the Master record for our Plugin! This function detects any un-used Master references in the Plugin we are cleaning, and removes them from the Master List. xEdit also renumbers any file specific FormIDs in the Plugin to ensure that it is cleaned properly.


The screenshot below illustrates how to activate the, “Clean Masters” function:
The screenshot below illustrates how to activate the, “Clean Masters” function:
Line 608: Line 608:
At this point you should save your mod and load it up in-game to make sure that everything is still happy. There are a few notes about the process to be aware of:
At this point you should save your mod and load it up in-game to make sure that everything is still happy. There are a few notes about the process to be aware of:


Note: You should not clean other people‟s mods! It is the responsibility of each mod owner to clean their own mods, and with the creation of this tutorial there is no longer any excuse why people can do this. If you find a dirty mod, send the mod author a PM on Nexus and tell them they have a dirty mod and reference them to XEdit (please?)
Note: You should not clean other people‟s mods! It is the responsibility of each mod owner to clean their own mods, and with the creation of this tutorial there is no longer any excuse why people can do this. If you find a dirty mod, send the mod author a PM on Nexus and tell them they have a dirty mod and reference them to xEdit (please?)


Note: Make sure that you run Master Update again before testing your mod in-game, as the cleaning process will undoubtedly change references and you want to make sure XEdit synchs everything up. This has shown to prevent crashes.
Note: Make sure that you run Master Update again before testing your mod in-game, as the cleaning process will undoubtedly change references and you want to make sure xEdit synchs everything up. This has shown to prevent crashes.


== Checking For Reference Errors ==
== Checking For Reference Errors ==


The “Check for Reference Errors” function reports any case in which the information contained in a module file does not match the XEdit record definitions. There is a very minimal chance that something that's reported as an error is actually an oversight in the XEdit record definitions and not in the module, but all cases should be reported to be safe). Note that there are errors in the FalloutNV.ESM and the DLCs. Both Elminster and Quarn have gone through them all to ensure they are genuine errors. Running the check is a recommended practice as part of the mod-cleaning process as shown below:
The “Check for Reference Errors” function reports any case in which the information contained in a module file does not match the xEdit record definitions. There is a very minimal chance that something that's reported as an error is actually an oversight in the xEdit record definitions and not in the module, but all cases should be reported to be safe). Note that there are errors in the FalloutNV.ESM and the DLCs. Both Elminster and Quarn have gone through them all to ensure they are genuine errors. Running the check is a recommended practice as part of the mod-cleaning process as shown below:


When the error-check is complete, the screenshot below shows you how the output will look when errors are found in a module:
When the error-check is complete, the screenshot below shows you how the output will look when errors are found in a module:


In this example we found both kinds of errors (Ouch!), which was ideal for our tutorial. In the first case XEdit found reference errors where data is missing such as Flags and Idle Timer Settings (A). These errors should be corrected by the mod author and not by you! The error we see in (B) is the result of an unknown Flags type, (Unknown: 15), which XEdit did not understand. These kinds of errors should be sent to Elminster for to ensure XEdit has the right information, or if the mod has some strange error.
In this example we found both kinds of errors (Ouch!), which was ideal for our tutorial. In the first case xEdit found reference errors where data is missing such as Flags and Idle Timer Settings (A). These errors should be corrected by the mod author and not by you! The error we see in (B) is the result of an unknown Flags type, (Unknown: 15), which xEdit did not understand. These kinds of errors should be sent to Elminster for to ensure xEdit has the right information, or if the mod has some strange error.


== Checking for Circular Leveled Lists ==
== Checking for Circular Leveled Lists ==
Line 624: Line 624:
With mods it is possible to have Leveled Lists that reference other Leveled Lists that are perfectly valid. However, it's possible in some cases that a mod builds a circular reference (with as little as 2 leveled lists directly referencing each other, or any number of additional leveled lists in the chain). When the game engine then tries to resolve that leveled lists down to a particular item/creature/NPC, it can get caught in the endless loop and crash. This function looks for such cases and identifies them if they exist:
With mods it is possible to have Leveled Lists that reference other Leveled Lists that are perfectly valid. However, it's possible in some cases that a mod builds a circular reference (with as little as 2 leveled lists directly referencing each other, or any number of additional leveled lists in the chain). When the game engine then tries to resolve that leveled lists down to a particular item/creature/NPC, it can get caught in the endless loop and crash. This function looks for such cases and identifies them if they exist:


I have not yet found an example in any mod of such a circular leveled list, but I do know that they exist and that XEdit can spot them. If you don‟t get any output from running this function, then the checked mod is clean of such loops.
I have not yet found an example in any mod of such a circular leveled list, but I do know that they exist and that xEdit can spot them. If you don‟t get any output from running this function, then the checked mod is clean of such loops.


= Managing Mod Files =
= Managing Mod Files =
Line 630: Line 630:
== Overview ==
== Overview ==


This chapter is dedicated to mod authors and describes a number of XEdit functions which make mod authors' lives easier and lend a degree of uniformity to their work. Much like the material covered in the Mod Cleaning and Error Checking chapter, these functions help mod authors refine their plugins in order to make them less conflict prone when used with other mods. Actions like merging mods, splitting them into Plugin/Master pairs, adding Master file references and more are documented in this chapter, all functions which can open doors to new possibilities which mod authors may have not known existed.
This chapter is dedicated to mod authors and describes a number of xEdit functions which make mod authors' lives easier and lend a degree of uniformity to their work. Much like the material covered in the Mod Cleaning and Error Checking chapter, these functions help mod authors refine their plugins in order to make them less conflict prone when used with other mods. Actions like merging mods, splitting them into Plugin/Master pairs, adding Master file references and more are documented in this chapter, all functions which can open doors to new possibilities which mod authors may have not known existed.


== Adding Master Files to a Plugin ==
== Adding Master Files to a Plugin ==


In order to allow a Slave.esp to add new, merge ready, forms (by injection) to Master.ESM or to allow Slave.esp to reference and/or change (by override) Master.ESM native forms, Master.ESM must be included within Slave.esp‟s Master List (MAST) found within the Slave.esp‟s File Header. Master.ESM‟s inclusion in Slave.esp‟s Master List is as Slave.esp‟s key to draw from an otherwise inaccessible resource. XEdit is able to readily add new Master(s) to modules‟ MASTs and, when using the “Add Masters” feature, will correctly renumber the FormIDs in the module to ensure no two forms have the same FormID(s) post-reload. This can be very handy tool for mod authors as it whittles the process down to a few mouse clicks that the author can focus on other, more important things.
In order to allow a Slave.esp to add new, merge ready, forms (by injection) to Master.ESM or to allow Slave.esp to reference and/or change (by override) Master.ESM native forms, Master.ESM must be included within Slave.esp‟s Master List (MAST) found within the Slave.esp‟s File Header. Master.ESM‟s inclusion in Slave.esp‟s Master List is as Slave.esp‟s key to draw from an otherwise inaccessible resource. xEdit is able to readily add new Master(s) to modules‟ MASTs and, when using the “Add Masters” feature, will correctly renumber the FormIDs in the module to ensure no two forms have the same FormID(s) post-reload. This can be very handy tool for mod authors as it whittles the process down to a few mouse clicks that the author can focus on other, more important things.


In this example we showcase Saiden Storm‟s Weapon Effects mod and the taylorsd‟s Better Frag Grenade Physics mods, two excellent enhancements to Fallout: New Vegas. Here we will add the SS Weapon Effects.ESM Master file to the Better Frag Grenade Physics plug-in, so that we can add one of Saiden Storm‟s cool plasma blasts to a frag grenade for kicks! To start the action, select “Add Masters” from the context menu as shown:
In this example we showcase Saiden Storm‟s Weapon Effects mod and the taylorsd‟s Better Frag Grenade Physics mods, two excellent enhancements to Fallout: New Vegas. Here we will add the SS Weapon Effects.ESM Master file to the Better Frag Grenade Physics plug-in, so that we can add one of Saiden Storm‟s cool plasma blasts to a frag grenade for kicks! To start the action, select “Add Masters” from the context menu as shown:
Line 640: Line 640:
This will present the File selection menu, from which you can Check the Master file(s) that you want to add as references in the Plugin‟s header as shown:
This will present the File selection menu, from which you can Check the Master file(s) that you want to add as references in the Plugin‟s header as shown:


Once XEdit adds the Master file as a reference in the Plugin, you see results similar to the screenshot below showing the Messages Tab log-entry: Note that “SS Weapon Effects.ESM” has now been added to RealFragGrenade3.esp, making it possible to attach one of Saiden Storm‟s Weapon Effects explosions to the grenade effect in Better Frag Grenade Physics. The View Tab shows the specific entry:
Once xEdit adds the Master file as a reference in the Plugin, you see results similar to the screenshot below showing the Messages Tab log-entry: Note that “SS Weapon Effects.ESM” has now been added to RealFragGrenade3.esp, making it possible to attach one of Saiden Storm‟s Weapon Effects explosions to the grenade effect in Better Frag Grenade Physics. The View Tab shows the specific entry:


Note: If you plan to release a mod to the public, then you should ONLY do this with permission from the mod author, in this case Saiden Storm. If you wanted to use his weapon effects in a mod of your own and release it, you need permission!
Note: If you plan to release a mod to the public, then you should ONLY do this with permission from the mod author, in this case Saiden Storm. If you wanted to use his weapon effects in a mod of your own and release it, you need permission!
Line 646: Line 646:
Below Elminster describes why this function is important for mod authors wanting to add Master file references to their own mods:
Below Elminster describes why this function is important for mod authors wanting to add Master file references to their own mods:


With FormIDs it's important to realize that the FormIDs that XEdit shows you are NOT the ones that are actually written into the module file. The FormIDs that XEdit shows you are load order corrected ones, while the FormIDs in the file itself are file specific ones. FormIDs are made up of 2 parts, the first byte (2 characters) is the module index, the last 3 bytes (6 characters) are the module specific ID. Mapping from file specific to load order corrected FormIDs and back only affects the "module index" and leaves the module specific ID untouched. An example: Suppose you got a bunch of modules loaded: [00] FalloutNV.ESM ... [04] MasterA.ESM ... [10] MasterB.ESM ... [15] MasterC.ESM ... [20] Plugin.esp And let’s suppose the MAST sub record in the File Header of Plugin.esp lists: FalloutNV.ESM MasterB.ESM MasterA.ESM If you now see a record in Plugin.esp that overrides a record from FalloutNV.ESM, then you would see a FormID like 00123456 for it. In this particular case that record would also have the same (00123456) FormID inside the Plugin.esp module file. But if you have a record that overrides a record from MasterA.ESM, e.g. with a FormID like 04ABCDEF (you can see the 04 as module index matches the load order of MasterA.ESM) then it would be saved as 02ABCDEF in the Plugin.esp module file, because 02 is the index of MasterA.ESM in the list of Master files in the File Header of Plugin.esp. And an override for a record in MasterB.ESM (e.g. 10654321) would be saved as 01654321 in the Plugin.esp module file because 01 is the index of MasterB.ESM in the list of Master files in the File Header. Last but not least, a NEW record in Plugin.esp which belongs to Plugin.esp and which XEdit would show you e.g. as 20FEDCBA gets stored as 03FEDCBA in the file (because 03 is equal to the number of entries in the Master List, as indices into that list start at 00, 03 is one higher than the highest valid index into that list). You will also notice that it's not possible to have an override record for a record from Master3.ESM in Plugin.esp or in any other form reference such a record, because there is no way to map a load order corrected FormID of 15A1B2C3 to a file specific one that's valid in Plugin.esp. To reference a record from Master3.ESM in Plugin.esp you need to add Master3.ESM to the Master List in the File Header of Plugin.esp. But if you just go there and do that manually, then you've just added Master3.ESM with the index 03 to the file. This means that all the records that used to belong to Plugin.esp are suddenly
With FormIDs it's important to realize that the FormIDs that xEdit shows you are NOT the ones that are actually written into the module file. The FormIDs that xEdit shows you are load order corrected ones, while the FormIDs in the file itself are file specific ones. FormIDs are made up of 2 parts, the first byte (2 characters) is the module index, the last 3 bytes (6 characters) are the module specific ID. Mapping from file specific to load order corrected FormIDs and back only affects the "module index" and leaves the module specific ID untouched. An example: Suppose you got a bunch of modules loaded: [00] FalloutNV.ESM ... [04] MasterA.ESM ... [10] MasterB.ESM ... [15] MasterC.ESM ... [20] Plugin.esp And let’s suppose the MAST sub record in the File Header of Plugin.esp lists: FalloutNV.ESM MasterB.ESM MasterA.ESM If you now see a record in Plugin.esp that overrides a record from FalloutNV.ESM, then you would see a FormID like 00123456 for it. In this particular case that record would also have the same (00123456) FormID inside the Plugin.esp module file. But if you have a record that overrides a record from MasterA.ESM, e.g. with a FormID like 04ABCDEF (you can see the 04 as module index matches the load order of MasterA.ESM) then it would be saved as 02ABCDEF in the Plugin.esp module file, because 02 is the index of MasterA.ESM in the list of Master files in the File Header of Plugin.esp. And an override for a record in MasterB.ESM (e.g. 10654321) would be saved as 01654321 in the Plugin.esp module file because 01 is the index of MasterB.ESM in the list of Master files in the File Header. Last but not least, a NEW record in Plugin.esp which belongs to Plugin.esp and which xEdit would show you e.g. as 20FEDCBA gets stored as 03FEDCBA in the file (because 03 is equal to the number of entries in the Master List, as indices into that list start at 00, 03 is one higher than the highest valid index into that list). You will also notice that it's not possible to have an override record for a record from Master3.ESM in Plugin.esp or in any other form reference such a record, because there is no way to map a load order corrected FormID of 15A1B2C3 to a file specific one that's valid in Plugin.esp. To reference a record from Master3.ESM in Plugin.esp you need to add Master3.ESM to the Master List in the File Header of Plugin.esp. But if you just go there and do that manually, then you've just added Master3.ESM with the index 03 to the file. This means that all the records that used to belong to Plugin.esp are suddenly


considered override records for records from Master3.ESM and will show up with 15xxxxxx FormIDs instead of 20xxxxxx FormIDs, a real mess! If you instead use the Add Masters function, then XEdit will not only add then new entry into the Master List, it will also renumber all (file specific) 03xxxxxx FormIDs into 04xxxxxx FormIDs first to preserve their meaning (which is "this record belongs to this file"). There are rare cases when editing the master list directly is what you actually want. e.g. when splitting an .esp into an .ESM/.esp pair. In that case you would make a copy of the .esp, rename it to .ESM, load it alone into XEdit to set the ESM flag in its header, then restart XEdit to load both the .ESM and the .esp and modify the MAST sub record in the File Header of the .esp by adding the .ESM as last entry. After restarting XEdit and loading both files you will see that all records in the .esp are now considered overrides for the same records from the .ESM”
considered override records for records from Master3.ESM and will show up with 15xxxxxx FormIDs instead of 20xxxxxx FormIDs, a real mess! If you instead use the Add Masters function, then xEdit will not only add then new entry into the Master List, it will also renumber all (file specific) 03xxxxxx FormIDs into 04xxxxxx FormIDs first to preserve their meaning (which is "this record belongs to this file"). There are rare cases when editing the master list directly is what you actually want. e.g. when splitting an .esp into an .ESM/.esp pair. In that case you would make a copy of the .esp, rename it to .ESM, load it alone into xEdit to set the ESM flag in its header, then restart xEdit to load both the .ESM and the .esp and modify the MAST sub record in the File Header of the .esp by adding the .ESM as last entry. After restarting xEdit and loading both files you will see that all records in the .esp are now considered overrides for the same records from the .ESM”


== Changing Mod FormIDs ==
== Changing Mod FormIDs ==
Line 662: Line 662:
Normally a FormID is 8 characters long, with the first 2 representing the mod file‟s index and the last 6 the reference‟s specific index within that specific mod. Thus pick a number between 100000 and FFFFFF in hex:
Normally a FormID is 8 characters long, with the first 2 representing the mod file‟s index and the last 6 the reference‟s specific index within that specific mod. Thus pick a number between 100000 and FFFFFF in hex:


Once the new module specific start FormID (in hex) has been input (A) and the OK button selected (B), XEdit will begin changing the FormIDs and present the output in the Messages Tab as shown in the screenshot below:
Once the new module specific start FormID (in hex) has been input (A) and the OK button selected (B), xEdit will begin changing the FormIDs and present the output in the Messages Tab as shown in the screenshot below:


When changing the FormIDs of a huge mod like Reykjavik by Alexander Sigurðsson, the process took 3-4 minutes on a high-end computer. The results shown in the Messages Tab reveal just a few examples of XEdit renumbering a FormID, discovering all references to it in all mod files, and correcting the numbering to prevent conflicts.
When changing the FormIDs of a huge mod like Reykjavik by Alexander Sigurðsson, the process took 3-4 minutes on a high-end computer. The results shown in the Messages Tab reveal just a few examples of xEdit renumbering a FormID, discovering all references to it in all mod files, and correcting the numbering to prevent conflicts.


Note: Changing the FormIDs of an existing module will make it SaveGame incompatible and will break any other module that uses this module as Master! If you have any dependent modules, you need to have them all loaded into XEdit at the time you change to FormIDs so that they will all be updated accordingly.
Note: Changing the FormIDs of an existing module will make it SaveGame incompatible and will break any other module that uses this module as Master! If you have any dependent modules, you need to have them all loaded into xEdit at the time you change to FormIDs so that they will all be updated accordingly.


== Merging a Plugin into another Plugin or Master ==
== Merging a Plugin into another Plugin or Master ==


Many mod authors and users alike encounter the need or desire to merge modules. Many like to merge their favorite plug-ins into a single master file or multiple consolidated plugins. One anonymous modder affectionately calls their conglomerate module “[BORG].ESM (Best Of Really Great Enigmatic Super Mods)”. XEdit can be used to merge any number of plugins and, if used properly, will ensure that the resulting plug-in is synchronized correctly against its combined references and that the merged content will function properly.
Many mod authors and users alike encounter the need or desire to merge modules. Many like to merge their favorite plug-ins into a single master file or multiple consolidated plugins. One anonymous modder affectionately calls their conglomerate module “[BORG].ESM (Best Of Really Great Enigmatic Super Mods)”. xEdit can be used to merge any number of plugins and, if used properly, will ensure that the resulting plug-in is synchronized correctly against its combined references and that the merged content will function properly.


In this example, we‟re going to merge Enterprise.esp and KlingonVessel.esp into [BORG].ESM. Note that any number of mods can be merged in one XEdit session as one desires, but it is best to merge them a few at a time. Firstly, we load up FOMM and order the files to ensure [BORG].ESM is loading before the plugins it is to assimilated.
In this example, we‟re going to merge Enterprise.esp and KlingonVessel.esp into [BORG].ESM. Note that any number of mods can be merged in one xEdit session as one desires, but it is best to merge them a few at a time. Firstly, we load up FOMM and order the files to ensure [BORG].ESM is loading before the plugins it is to assimilated.


Load order is very important when merging mods together, primarily because XEdit, the GECK, and the game engine are very particular regarding the numbering of Forms‟ IDs and the references to them amongst modules. It is easy to end up with multiple forms bearing the same FormID(s) when merging downward, that is, by copying records into a file loaded after the plug-in(s) to be assimilated. By merging upward, as will be demonstrated in this lab, all forms to be merged into [BORG].ESM will first be assigned new, [BORG].ESM FormIDs such that each form will invariably have a unique ID. After closing FOMM and load things up in XEdit, you will find the plugins are listed in the same order as you have set them up in FOMM.
Load order is very important when merging mods together, primarily because xEdit, the GECK, and the game engine are very particular regarding the numbering of Forms‟ IDs and the references to them amongst modules. It is easy to end up with multiple forms bearing the same FormID(s) when merging downward, that is, by copying records into a file loaded after the plug-in(s) to be assimilated. By merging upward, as will be demonstrated in this lab, all forms to be merged into [BORG].ESM will first be assigned new, [BORG].ESM FormIDs such that each form will invariably have a unique ID. After closing FOMM and load things up in xEdit, you will find the plugins are listed in the same order as you have set them up in FOMM.


Once all has loaded, we must add [BORG].ESM to the master lists of Enterprise.esp and KlingonVessel.esp. R-Click Enterprise.esp in the left pane and select “Add Masters”. This will prompt a window which will allow the addition of [BORG].ESM to Enterprise.esp‟s master list as shown below:
Once all has loaded, we must add [BORG].ESM to the master lists of Enterprise.esp and KlingonVessel.esp. R-Click Enterprise.esp in the left pane and select “Add Masters”. This will prompt a window which will allow the addition of [BORG].ESM to Enterprise.esp‟s master list as shown below:
Line 682: Line 682:
The FormIDs of all forms native to and to be assimilated from both Enterprise.esp and KlingonVessel.esp must be altered to allow their addition to [BORG].ESM. Since all Enterprise.esp and KlingonVessel.esp native forms begin with 02 and 03 respectively, they cannot be copied as they are into their new master. To get around this, we will inject said native forms into [BORG].ESM by assigning them new IDs starting with 01. It is important to realize that a form merely having an ID starting with 01 does not necessarily mean it is merge-ready as it might reference other forms with out of range load indexes. To proactively avoid errors while merging, it is best to change all FormIDs before copying/merging any records.
The FormIDs of all forms native to and to be assimilated from both Enterprise.esp and KlingonVessel.esp must be altered to allow their addition to [BORG].ESM. Since all Enterprise.esp and KlingonVessel.esp native forms begin with 02 and 03 respectively, they cannot be copied as they are into their new master. To get around this, we will inject said native forms into [BORG].ESM by assigning them new IDs starting with 01. It is important to realize that a form merely having an ID starting with 01 does not necessarily mean it is merge-ready as it might reference other forms with out of range load indexes. To proactively avoid errors while merging, it is best to change all FormIDs before copying/merging any records.


While changing FormIDs, it is best to change as many at a time as possible via multi-selection of records. When doing so, all references to the records being changed will be automatically updated by XEdit, ensuring the inter-referential structures remain intact and that all of the puzzle pieces line up, so to speak. In the left panel, select Enterprise.esp and press „*‟ to expand all of its branches (A below).
While changing FormIDs, it is best to change as many at a time as possible via multi-selection of records. When doing so, all references to the records being changed will be automatically updated by xEdit, ensuring the inter-referential structures remain intact and that all of the puzzle pieces line up, so to speak. In the left panel, select Enterprise.esp and press „*‟ to expand all of its branches (A below).


We‟ll work from the top down and begin with the CELL group which can, in this case, demonstrate FormID changing of multiselected records. Multiselect (Ctrl+click) both EnterpriseBridgeCELL and EnterpriseReadyRoomCELL via Ctrl+Click. Then R-Click either cell record and select “Change FormID” as shown below:
We‟ll work from the top down and begin with the CELL group which can, in this case, demonstrate FormID changing of multiselected records. Multiselect (Ctrl+click) both EnterpriseBridgeCELL and EnterpriseReadyRoomCELL via Ctrl+Click. Then R-Click either cell record and select “Change FormID” as shown below:
Line 698: Line 698:
A window will appear in the event the form is referenced, listing the other records which reference it. In this case, all available referencing records should be updated, so R-Click and “Select All”. Now, all of the Enterprise crew reference the [BORG].ESM ready faction record.
A window will appear in the event the form is referenced, listing the other records which reference it. In this case, all available referencing records should be updated, so R-Click and “Select All”. Now, all of the Enterprise crew reference the [BORG].ESM ready faction record.


Any plug-in with NavMeshes will have a GECK added record, NAVI, which is the single record in the Navigational Mesh Info Map group. This record keeps track of door connections and should not be manually edited with XEdit, but rebuilt by the GECK instead. Note that it has been updated since we‟ve changed the FormIDs of the NavMeshes it references. For the moment, don‟t worry about merging NAVI as we‟ll get to rebuilding that record with the GECK later on.
Any plug-in with NavMeshes will have a GECK added record, NAVI, which is the single record in the Navigational Mesh Info Map group. This record keeps track of door connections and should not be manually edited with xEdit, but rebuilt by the GECK instead. Note that it has been updated since we‟ve changed the FormIDs of the NavMeshes it references. For the moment, don‟t worry about merging NAVI as we‟ll get to rebuilding that record with the GECK later on.


At this point of the merge, we can Multiselect everything else and change FormIDs en masse, so Multiselect the remaining 02 forms and inject them into [BORG].ESM.
At this point of the merge, we can Multiselect everything else and change FormIDs en masse, so Multiselect the remaining 02 forms and inject them into [BORG].ESM.
Line 712: Line 712:
Upon inspection, all Enterprise.esp and KlingonVessel.esp records show as “Identical to master” but for one, GREETING "GREETING" [DIAL:000000C8]. Since both merged plugins alter this record, as does [BORG].ESM, it needs manual manipulation so the dialogue checks out. This instance isn‟t a conflict while the plugins are loaded separately, but a merged version will need all of the associated quests listed, so drag/drop them into [BORG].ESM.
Upon inspection, all Enterprise.esp and KlingonVessel.esp records show as “Identical to master” but for one, GREETING "GREETING" [DIAL:000000C8]. Since both merged plugins alter this record, as does [BORG].ESM, it needs manual manipulation so the dialogue checks out. This instance isn‟t a conflict while the plugins are loaded separately, but a merged version will need all of the associated quests listed, so drag/drop them into [BORG].ESM.


Once you‟ve gotten everything in order, you are ready to close XEdit and save your work. Since [BORG].ESM has new NavMeshes merged into it, its NAVI record will need updating by the GECK as previously mentioned. To facilitate doing so with [BORG].ESM, select its file header and hit F2 after clicking “ESM”. The ESM flag will be ticked as [BORG].ESM is, for the moment, a bona fide ESM. Untick the ESM flag.
Once you‟ve gotten everything in order, you are ready to close xEdit and save your work. Since [BORG].ESM has new NavMeshes merged into it, its NAVI record will need updating by the GECK as previously mentioned. To facilitate doing so with [BORG].ESM, select its file header and hit F2 after clicking “ESM”. The ESM flag will be ticked as [BORG].ESM is, for the moment, a bona fide ESM. Untick the ESM flag.


Close and save all modified plugins.
Close and save all modified plugins.
Line 718: Line 718:
You‟ll be left with a false-flag ESM containing all content, save any „orphans‟ which we‟ll soon address, from Enterprise.esp and KlingonVessel.esp.
You‟ll be left with a false-flag ESM containing all content, save any „orphans‟ which we‟ll soon address, from Enterprise.esp and KlingonVessel.esp.


If you had „orphans‟, open all three lab plugins in XEdit and “Deep copy as override into…” [BORG].ESM again any groups which hadn‟t copied properly the first time and verify that the fresh copies are „fostered‟ or „parented‟. Sometimes reloading several times might be required in the event some copies end up „orphaned‟ again.
If you had „orphans‟, open all three lab plugins in xEdit and “Deep copy as override into…” [BORG].ESM again any groups which hadn‟t copied properly the first time and verify that the fresh copies are „fostered‟ or „parented‟. Sometimes reloading several times might be required in the event some copies end up „orphaned‟ again.


If there are exactly zero „orphans‟, all that‟s left is the Navigational Mesh Info Map (NAVI) which we‟ll rebuild with the GECK. Albeit, the GECK cannot have a bona fide ESM as its active file, it can do so with a false-flag one such as our [BORG].ESM.
If there are exactly zero „orphans‟, all that‟s left is the Navigational Mesh Info Map (NAVI) which we‟ll rebuild with the GECK. Albeit, the GECK cannot have a bona fide ESM as its active file, it can do so with a false-flag one such as our [BORG].ESM.
Line 726: Line 726:
Save in the GECK, once it‟s fully loaded, and NAVI will have been rebuilt to include the door connections from all three plugins. To verify all went well, look for “Saving…Done!”, then close the GECK.
Save in the GECK, once it‟s fully loaded, and NAVI will have been rebuilt to include the door connections from all three plugins. To verify all went well, look for “Saving…Done!”, then close the GECK.


Open up [BORG].ESM with XEdit and have a look at the new NAVI which should contain all of the door connections and such from the constituent plugins as well as any connections already within [BORG].ESM.
Open up [BORG].ESM with xEdit and have a look at the new NAVI which should contain all of the door connections and such from the constituent plugins as well as any connections already within [BORG].ESM.


After a successful merge, Enterprise.esp and KlingonVessel.esp can be deactivated or deleted in favor of [BORG].ESM. Hopefully, these plugins will prove demonstrative, but they don‟t really do anything in game, so just delete it all after the exercise if you‟ve downloaded the lab.
After a successful merge, Enterprise.esp and KlingonVessel.esp can be deactivated or deleted in favor of [BORG].ESM. Hopefully, these plugins will prove demonstrative, but they don‟t really do anything in game, so just delete it all after the exercise if you‟ve downloaded the lab.
Line 732: Line 732:
== Converting a Plugin into a Master ==
== Converting a Plugin into a Master ==


Converting a Plugin (esp) into a Master (ESM) file is a simple process that can be accomplished using XEdit in less than five minutes. The file extension of a Plugin as well as the ESM flag within its file header must be changed in order to make the transition to a bona fide Master file. The screenshot below starts the action by launching XEdit:
Converting a Plugin (esp) into a Master (ESM) file is a simple process that can be accomplished using xEdit in less than five minutes. The file extension of a Plugin as well as the ESM flag within its file header must be changed in order to make the transition to a bona fide Master file. The screenshot below starts the action by launching xEdit:


First you need to de-select all of the mods using Right-click in the Master/Plugin Selection window (A). Then click/check just the mod your converting (B), in this example we‟re converting Antistar‟s Weapon Mod Kits plug-in into a Master file. Click “OK” (C) to load XEdit with just the mod being changed as shown:
First you need to de-select all of the mods using Right-click in the Master/Plugin Selection window (A). Then click/check just the mod your converting (B), in this example we‟re converting Antistar‟s Weapon Mod Kits plug-in into a Master file. Click “OK” (C) to load xEdit with just the mod being changed as shown:


Note that Weapon Mod Kits is successfully loaded into XEdit (B), and that it is the only file listed aside from the Fallout: New Vegas Master files (A). You are now ready to convert the Plugin into a Master file.
Note that Weapon Mod Kits is successfully loaded into xEdit (B), and that it is the only file listed aside from the Fallout: New Vegas Master files (A). You are now ready to convert the Plugin into a Master file.


To make the conversion, all we have to do is change one flag in the File Header, which can be accessed by Left-clicking open the Weapon Mod Kits record in the Left-hand Panel. Immediately beneath name of the mod
To make the conversion, all we have to do is change one flag in the File Header, which can be accessed by Left-clicking open the Weapon Mod Kits record in the Left-hand Panel. Immediately beneath name of the mod
Line 744: Line 744:
The File Header record is divided into different sub-headings and variables, including the Record Flags, Version, Author, mod Description and any Master file references that the plug-in requires. We will be changing the Record Flags variable by Right-clicking into the open space next to it (C), which will render a small context menu. You can then click, “Edit” (D) to change the values. Doing so will present a warning window as shown below:
The File Header record is divided into different sub-headings and variables, including the Record Flags, Version, Author, mod Description and any Master file references that the plug-in requires. We will be changing the Record Flags variable by Right-clicking into the open space next to it (C), which will render a small context menu. You can then click, “Edit” (D) to change the values. Doing so will present a warning window as shown below:


This window is a default/standard in XEdit, and exists to make sure that anytime you are about to change a mod file for the first time, you know about it. It may seem annoying to some, but often the worst conflicts between mods come from changes that a mod author did not intend to make. Simply select, “Yes” (A) to move along.
This window is a default/standard in xEdit, and exists to make sure that anytime you are about to change a mod file for the first time, you know about it. It may seem annoying to some, but often the worst conflicts between mods come from changes that a mod author did not intend to make. Simply select, “Yes” (A) to move along.


You will next be present with a menu of available/known flags that you can select:
You will next be present with a menu of available/known flags that you can select:
Line 752: Line 752:
With that you are done! Note the File Header text is now Bold (A) indicating a change, and the Record Flags in the View Tab (C) show that the ESM flag is set (B).
With that you are done! Note the File Header text is now Bold (A) indicating a change, and the Record Flags in the View Tab (C) show that the ESM flag is set (B).


Once done with XEdit, you will want to change the file extension from Weapon Mod Kits.esp to Weapon Mod Kits.ESM so that the extension matches the File Header flagging. The GECK and Fallout: New Vegas don‟t really care about the file extension (ESP/ESM), what matters is that File Header flag. The Extension is for
Once done with xEdit, you will want to change the file extension from Weapon Mod Kits.esp to Weapon Mod Kits.ESM so that the extension matches the File Header flagging. The GECK and Fallout: New Vegas don‟t really care about the file extension (ESP/ESM), what matters is that File Header flag. The Extension is for


humans to keep them sorted correctly! Now all you need to do is exit XEdit or press, “Alt-S” and Save your new Master file as shown below:
humans to keep them sorted correctly! Now all you need to do is exit xEdit or press, “Alt-S” and Save your new Master file as shown below:


It is also possible to change a Plugin to a Master using just FOMM or other tools, but there is always the potential of problems with ONAM records. ONAM records are special records created that allow Master files to communicate with one-another when references need to be passed. XEdit ensures that as part of the conversion process, these ONAM records are built and correctly ordered. This is why it is better to make the Plugin to Master conversion using XEdit.
It is also possible to change a Plugin to a Master using just FOMM or other tools, but there is always the potential of problems with ONAM records. ONAM records are special records created that allow Master files to communicate with one-another when references need to be passed. xEdit ensures that as part of the conversion process, these ONAM records are built and correctly ordered. This is why it is better to make the Plugin to Master conversion using xEdit.


== Splitting a Plugin into a Plugin/Master Pair ==
== Splitting a Plugin into a Plugin/Master Pair ==
Line 778: Line 778:
look when first loaded after the split, showing the ESP (B) is still checked (as it was before), while the new Master we just created is not yet checked (A) as shown below:
look when first loaded after the split, showing the ESP (B) is still checked (as it was before), while the new Master we just created is not yet checked (A) as shown below:


Here you must also ensure that the Master (ESM) version loads Before the Plugin (ESP) version as this is a Fallout: New Vegas requirement. The recommendation is to move the Master (ESM) higher-up in the load order before all other Plugins, and load the Plugin (ESP) version of Weapon Mod Kits somewhere below the Masters. With that done, close FOMM and load XEdit. Your new load order with the Weapon Mod Kits.ESM loading before the Weapon Mod Kits.esp should be visible in XEdits as shown below:
Here you must also ensure that the Master (ESM) version loads Before the Plugin (ESP) version as this is a Fallout: New Vegas requirement. The recommendation is to move the Master (ESM) higher-up in the load order before all other Plugins, and load the Plugin (ESP) version of Weapon Mod Kits somewhere below the Masters. With that done, close FOMM and load xEdit. Your new load order with the Weapon Mod Kits.ESM loading before the Weapon Mod Kits.esp should be visible in XEdits as shown below:


To load just the Master and Plugin, first Right-click in open space (A) and select, “None” from the context menu as shown above, and then check-off just the Weapon Mod Kits.esp and Weapon Mod Kits.ESM files (C), and click, “OK” to load them into XEdit. This will load just the two Weapon Mod Kits files and the Fallout: New Vegas Masters into XEdit as shown below:
To load just the Master and Plugin, first Right-click in open space (A) and select, “None” from the context menu as shown above, and then check-off just the Weapon Mod Kits.esp and Weapon Mod Kits.ESM files (C), and click, “OK” to load them into xEdit. This will load just the two Weapon Mod Kits files and the Fallout: New Vegas Masters into xEdit as shown below:


Note that both our Master and Plugin version of Weapon Mod Kits is loaded and ready for conversion (A). The loader confirms a successful boot-up in the Messages Tab (B), indicating we are good to go for the conversions. Next we need to set the Record Flags to ESM (or Master) as shown below:
Note that both our Master and Plugin version of Weapon Mod Kits is loaded and ready for conversion (A). The loader confirms a successful boot-up in the Messages Tab (B), indicating we are good to go for the conversions. Next we need to set the Record Flags to ESM (or Master) as shown below:


With the File Header block of Weapon Mod Kits.esp selected (A), Right –click in the open space next to the, “Record Flags” section (C) which will render a small context Menu. Select, “Edit” (D) from this small menu to add the ESM Master flag, which effectively converts the Plugin into a Master. Before you can proceed however, you will get a warning message from XEdit about changing the mod‟s contents. This is normal and provided for your protection. Simply select, “Yes” (A) to continue.
With the File Header block of Weapon Mod Kits.esp selected (A), Right –click in the open space next to the, “Record Flags” section (C) which will render a small context Menu. Select, “Edit” (D) from this small menu to add the ESM Master flag, which effectively converts the Plugin into a Master. Before you can proceed however, you will get a warning message from xEdit about changing the mod‟s contents. This is normal and provided for your protection. Simply select, “Yes” (A) to continue.


The screenshot below shows you the Flags menu that is rendered:
The screenshot below shows you the Flags menu that is rendered:
Line 802: Line 802:
You should use the same case that the Master file does, in this case, “WeaponModKits.ESM” to ensure that there are no conflicts. And with that we‟re done! Note that the WeaponModKits.ESM is listed next to the, “MAST – Filename” entry (B), and that the File Header also has Bold text (A) indicating the change as shown below:
You should use the same case that the Master file does, in this case, “WeaponModKits.ESM” to ensure that there are no conflicts. And with that we‟re done! Note that the WeaponModKits.ESM is listed next to the, “MAST – Filename” entry (B), and that the File Header also has Bold text (A) indicating the change as shown below:


And for the final step, you need to save the changes. Use, “Alt-S” or close XEdit to present the Save Files window as shown below:
And for the final step, you need to save the changes. Use, “Alt-S” or close xEdit to present the Save Files window as shown below:


With this, you now have a Master/Plugin version of Weapon Mod Kits, and the process works exactly the same for any mod that you want to split. You can change the esp file extension to ESM, then open and save it with the GECK and it will tick the ESM flag on, but won't produce ONAM's like XEdit will which are needed for any overrides to FalloutNV.ESM's references. Unless your Plugin has no CELL and/or WRLD group, you're better off using XEdit.
With this, you now have a Master/Plugin version of Weapon Mod Kits, and the process works exactly the same for any mod that you want to split. You can change the esp file extension to ESM, then open and save it with the GECK and it will tick the ESM flag on, but won't produce ONAM's like xEdit will which are needed for any overrides to FalloutNV.ESM's references. Unless your Plugin has no CELL and/or WRLD group, you're better off using xEdit.


Note: An .esp can be the Master of another .esp.
Note: An .esp can be the Master of another .esp.
Line 814: Line 814:
== Comparing Two Versions of a Mod ==
== Comparing Two Versions of a Mod ==


One of the common tasks that mod authors face is to compare two versions of their own mods, either during construction or in subsequent updates. There are also times when mod authors encounter difficult to solve problems with a new version of a mod, and need to revert back to a previous backup. The XEdit compare function can provide a valuable and convenient way of copying data from one version of a mod to another, without having to sort through records that don‟t belong to their mods. Whatever the case may be, this section is devoted to teaching you how to compare two versions of a mod file, and how to copy records over if the need arises.
One of the common tasks that mod authors face is to compare two versions of their own mods, either during construction or in subsequent updates. There are also times when mod authors encounter difficult to solve problems with a new version of a mod, and need to revert back to a previous backup. The xEdit compare function can provide a valuable and convenient way of copying data from one version of a mod to another, without having to sort through records that don‟t belong to their mods. Whatever the case may be, this section is devoted to teaching you how to compare two versions of a mod file, and how to copy records over if the need arises.


For this section we feature Quarn‟s Unofficial Fallout: New Vegas Patch, which has helped to resolve countless bugs in Fallout: New Vegas and has improved the gaming experience for thousands of modders. To start the action, launch XEdit and select One of the two mod files that you wish to compare as shown below:
For this section we feature Quarn‟s Unofficial Fallout: New Vegas Patch, which has helped to resolve countless bugs in Fallout: New Vegas and has improved the gaming experience for thousands of modders. To start the action, launch xEdit and select One of the two mod files that you wish to compare as shown below:


As shown above, by Right-clicking in open-space in the Master/Plugin selection window (A), you will render the selection menu (B) where you can, “Select None”. Doing so will uncheck everything on the list. Then select just One of the two mods (C) and Click “OK” to load it (D). The screenshot below shows the result:
As shown above, by Right-clicking in open-space in the Master/Plugin selection window (A), you will render the selection menu (B) where you can, “Select None”. Doing so will uncheck everything on the list. Then select just One of the two mods (C) and Click “OK” to load it (D). The screenshot below shows the result:
Line 824: Line 824:
To hide the Master file references from view, we need to select each one of them in-turn with a Right-mouse click (A), which will present the main context menu. There you can select, “Hidden” (B), which is the last option on the list as shown below:
To hide the Master file references from view, we need to select each one of them in-turn with a Right-mouse click (A), which will present the main context menu. There you can select, “Hidden” (B), which is the last option on the list as shown below:


You won‟t see any outward-change in the in the XEdit view afterwards, but you can confirm that they are marked as hidden by Right-clicking on them again – you will see a Check-mark next to, “Hidden” menu option indicating that they are hidden (from filters).
You won‟t see any outward-change in the in the xEdit view afterwards, but you can confirm that they are marked as hidden by Right-clicking on them again – you will see a Check-mark next to, “Hidden” menu option indicating that they are hidden (from filters).


Next we need to load the other version of the Unofficial Fallout: New Vegas Patch mod file we‟re comparing (the new/current version). You can do this by Right-clicking on the loaded-version of the mod (A), which will present the main context menu. Select, “Compare to…” from the context menu (B) as shown below:
Next we need to load the other version of the Unofficial Fallout: New Vegas Patch mod file we‟re comparing (the new/current version). You can do this by Right-clicking on the loaded-version of the mod (A), which will present the main context menu. Select, “Compare to…” from the context menu (B) as shown below:


Selecting “Compare To” will present the, “Open” window as shown below, where you can select the current version of Unofficial Fallout: New Vegas Patch (A), and then, “Open” (B) to load it into XEdit as shown below:
Selecting “Compare To” will present the, “Open” window as shown below, where you can select the current version of Unofficial Fallout: New Vegas Patch (A), and then, “Open” (B) to load it into xEdit as shown below:


The “Compare To” version of the mod is loaded as read-only into XEdit, so you will not be able to make any changes to it, but you can copy from it into the version of Unofficial Fallout: New Vegas Patch that we loaded into XEdit at boot time. You can change the order and load either/any version of the mod first, so that you can edit/copy records into whatever version you loaded.
The “Compare To” version of the mod is loaded as read-only into xEdit, so you will not be able to make any changes to it, but you can copy from it into the version of Unofficial Fallout: New Vegas Patch that we loaded into xEdit at boot time. You can change the order and load either/any version of the mod first, so that you can edit/copy records into whatever version you loaded.


Once the Compare To function loads the other version of the mod as read-only into XEdit, you will see a view similar to the one below. Note the two versions that appear together in the Left-hand panel (A), and no errors noted in the Messages Tab (B):
Once the Compare To function loads the other version of the mod as read-only into xEdit, you will see a view similar to the one below. Note the two versions that appear together in the Left-hand panel (A), and no errors noted in the Messages Tab (B):


With both versions of the mod now loaded with the Compare To function, the last step is to apply a Filter to find the changed records between them. Note that with the Fallout: New Vegas Master files now listed as, “Hidden”, they will not show up at all after we apply the filter – which is exactly what we want.
With both versions of the mod now loaded with the Compare To function, the last step is to apply a Filter to find the changed records between them. Note that with the Fallout: New Vegas Master files now listed as, “Hidden”, they will not show up at all after we apply the filter – which is exactly what we want.
Line 848: Line 848:
Opening one of the mods in the Left-Side Panel and selecting a record highlights the similarities where they are identical between the two mods with Green backgrounds (A) and records that are different with Yellow backgrounds (B).
Opening one of the mods in the Left-Side Panel and selecting a record highlights the similarities where they are identical between the two mods with Green backgrounds (A) and records that are different with Yellow backgrounds (B).


At this point we are done with the comparison. You can browse through the Unofficial Fallout: New Vegas Patch records between the new and old versions, and compare the differences at will. If you don‟t need to make changes, you can simply close XEdit when done.
At this point we are done with the comparison. You can browse through the Unofficial Fallout: New Vegas Patch records between the new and old versions, and compare the differences at will. If you don‟t need to make changes, you can simply close xEdit when done.


If however there is a need to copy records from one version of the mod to the other, the process below will guide you through the steps. There are a few limitations to be aware of, such as you can‟t drag-n-drop records from the version you loaded at boot time into the version you loaded with the “Compare To” function, but you can still copy from that version as shown below:
If however there is a need to copy records from one version of the mod to the other, the process below will guide you through the steps. There are a few limitations to be aware of, such as you can‟t drag-n-drop records from the version you loaded at boot time into the version you loaded with the “Compare To” function, but you can still copy from that version as shown below:


Here we Left-click-and-hold the record we want to copy with the mouse (A), and drag it horizontally to the mod we loaded when XEdit booted-up (B). Dropping the record into the row will copy that record (and all of its attributers) into the other mod. The screenshot below shows the results, with both sides now identical (A) and the background of both now Green (B) indicating they are indeed duplicates:
Here we Left-click-and-hold the record we want to copy with the mouse (A), and drag it horizontally to the mod we loaded when xEdit booted-up (B). Dropping the record into the row will copy that record (and all of its attributers) into the other mod. The screenshot below shows the results, with both sides now identical (A) and the background of both now Green (B) indicating they are indeed duplicates:


The screenshot below illustrates how XEdit will prevent you from drag-n-dropping records from the loaded version of Unofficial Fallout: New Vegas Patch into the “Compare To” version (which is loaded read-only). Note how when trying the drag-n-drop, you get a blocked-circle (B), indicating that you can‟t drop records into the read-only version:
The screenshot below illustrates how xEdit will prevent you from drag-n-dropping records from the loaded version of Unofficial Fallout: New Vegas Patch into the “Compare To” version (which is loaded read-only). Note how when trying the drag-n-drop, you get a blocked-circle (B), indicating that you can‟t drop records into the read-only version:


When you‟re done making changes, you‟ll need to save them. You can either close XEdit or press, “Alt-S” to render the Save Changed Files window:
When you‟re done making changes, you‟ll need to save them. You can either close xEdit or press, “Alt-S” to render the Save Changed Files window:


With that, we‟re done with mod comparisons and updates! Of course you should not change the Unofficial Fallout: New Vegas Patch as that is for Quarn to do, but there is no harm in experimenting with the mods to learn the process (just make sure to have a backup of the files before you do!).
With that, we‟re done with mod comparisons and updates! Of course you should not change the Unofficial Fallout: New Vegas Patch as that is for Quarn to do, but there is no harm in experimenting with the mods to learn the process (just make sure to have a backup of the files before you do!).
Line 876: Line 876:
With our copy/backup made, Step 2 involves adding “NV” to the name of the mod, which you can choose to avoid if you wish. I prefer adding “NV” to the mod name to avoid confusion, but you don‟t have to.
With our copy/backup made, Step 2 involves adding “NV” to the name of the mod, which you can choose to avoid if you wish. I prefer adding “NV” to the mod name to avoid confusion, but you don‟t have to.


In Step 3 we need to launch FO3Edit (the Fallout 3 version of XEdit), and load our mod-to-be-transferred. When FO3Edit loads, make sure that Fallout3.esm and your plug-in are the only two checked, then click “OK”.
In Step 3 we need to launch FO3Edit (the Fallout 3 version of xEdit), and load our mod-to-be-transferred. When FO3Edit loads, make sure that Fallout3.esm and your plug-in are the only two checked, then click “OK”.


For Step 4, expand the navigation tree for your mod by clicking on the + (“plus”) sign, and then left-clicking the “File Header” entry. This will reveal the mod‟s header data, including its master file entries as shown below. Our goal is to change the “MAST – Filename” entry from Fallout3.esm to FalloutNV.esm:
For Step 4, expand the navigation tree for your mod by clicking on the + (“plus”) sign, and then left-clicking the “File Header” entry. This will reveal the mod‟s header data, including its master file entries as shown below. Our goal is to change the “MAST – Filename” entry from Fallout3.esm to FalloutNV.esm:
Line 921: Line 921:


The complete transfer process will take you through the steps of checking your mod for missing references that are not in Fallout: New Vegas, and offer a method of preserving their location/orientation in your mod by using placeholders. It will also show you how to spot these missing references, and how to look them up in FO3Edit so that you can see what they were and make decisions on how to move forward. There are two methods of dealing with missing references (or objects/things in your Fallout 3 mod that are Not in Fallout: New Vegas):
The complete transfer process will take you through the steps of checking your mod for missing references that are not in Fallout: New Vegas, and offer a method of preserving their location/orientation in your mod by using placeholders. It will also show you how to spot these missing references, and how to look them up in FO3Edit so that you can see what they were and make decisions on how to move forward. There are two methods of dealing with missing references (or objects/things in your Fallout 3 mod that are Not in Fallout: New Vegas):
# Replace the missing references using XEdit and placeholders to preserve the location/orientation of these references, and then and Fallout: New Vegas objects in the NV-GECK.
# Replace the missing references using xEdit and placeholders to preserve the location/orientation of these references, and then and Fallout: New Vegas objects in the NV-GECK.
# Replace those Fallout3-only references in the Fallout3-GECK with a reference/object that is also present in Fallout: New Vegas. In this manner your mod will transfer without missing any references, and you then replace those with New Vegas objects in the NV-GECK after the transfer.
# Replace those Fallout3-only references in the Fallout3-GECK with a reference/object that is also present in Fallout: New Vegas. In this manner your mod will transfer without missing any references, and you then replace those with New Vegas objects in the NV-GECK after the transfer.


Line 938: Line 938:
If you don‟t see any of the “<Error: Could not be resolved>” errors, that means your mod doesn‟t contain any Fallout 3-only assets! At this point you can proceed to the Quick process for transferring your mod to New Vegas: Quick Finish for New Vegas Mod Transfer. Otherwise you should precede forward soldier!
If you don‟t see any of the “<Error: Could not be resolved>” errors, that means your mod doesn‟t contain any Fallout 3-only assets! At this point you can proceed to the Quick process for transferring your mod to New Vegas: Quick Finish for New Vegas Mod Transfer. Otherwise you should precede forward soldier!


To illustrate the missing references, you can expand the Cell tree in XEdit by Left-Clicking on “Cell” and typing “*” (asterisk). This will expand all levels of the Cell tree and allow you to examine each “Placed Object” as shown in the example screenshot below:
To illustrate the missing references, you can expand the Cell tree in xEdit by Left-Clicking on “Cell” and typing “*” (asterisk). This will expand all levels of the Cell tree and allow you to examine each “Placed Object” as shown in the example screenshot below:


Step 13: Back in the Messages Tab, we can start to copy/paste the FormIDs of the missing records into Notepad or another storage place. If you have just a few missing references, you can work on the one-by-one. If you have half a dozen or more, it will likely be easier to work on them as a group – the choice is yours. I recommend working on at least one missing reference first and see how it goes as instructed below:
Step 13: Back in the Messages Tab, we can start to copy/paste the FormIDs of the missing records into Notepad or another storage place. If you have just a few missing references, you can work on the one-by-one. If you have half a dozen or more, it will likely be easier to work on them as a group – the choice is yours. I recommend working on at least one missing reference first and see how it goes as instructed below:
Line 975: Line 975:
Step 17: As a result of Step 15 (if you had a door root category already) or Step 16 (if you didn‟t), you will be presented with a New FormID window. Here you can determine what the new FormID will be, which must be unique from all other FormIDs in your mod and FalloutNV.esm.
Step 17: As a result of Step 15 (if you had a door root category already) or Step 16 (if you didn‟t), you will be presented with a New FormID window. Here you can determine what the new FormID will be, which must be unique from all other FormIDs in your mod and FalloutNV.esm.


XEdit will pre-populate the field with the next available FormID in your mod, which we will want to change to the FormID we copied from Step 13/14 (from your list of missing FormIDs). Using the missing FormIDs from the Error messages in Step 13 has the advantage of replacing all instances of those references at one stroke without you having to hunt through each cell to find them. The example FormID below is for our missing doors:
xEdit will pre-populate the field with the next available FormID in your mod, which we will want to change to the FormID we copied from Step 13/14 (from your list of missing FormIDs). Using the missing FormIDs from the Error messages in Step 13 has the advantage of replacing all instances of those references at one stroke without you having to hunt through each cell to find them. The example FormID below is for our missing doors:


Note the result shown below; the new door placeholder has been inserted into your mod with the FormID of the missing reference from the Fallout 3 version. The placeholder doesn‟t have an EditorID (common name) yet, nor a 3D model assigned. We will cover both of those steps next and turn this into a valid placeholder that you can work with in the NV-GECK.
Note the result shown below; the new door placeholder has been inserted into your mod with the FormID of the missing reference from the Fallout 3 version. The placeholder doesn‟t have an EditorID (common name) yet, nor a 3D model assigned. We will cover both of those steps next and turn this into a valid placeholder that you can work with in the NV-GECK.
Line 991: Line 991:
If you open-up the Cell view by Left-Clicking it and pressing “*” (asterisks), you will note that both occurrences of our missing door reference have been replaced with our placeholder objects:
If you open-up the Cell view by Left-Clicking it and pressing “*” (asterisks), you will note that both occurrences of our missing door reference have been replaced with our placeholder objects:


Step 19: The last step for each placeholder is to assign a model to that placeholder so that you can see it in the NV-GECK, select it with your mouse and thus replace them with New Vegas objects. To do this we first need to tell XEdit that this object has a model. To do this, Right-Clicking on the “Model” row of the View Tab (A) to spawn the editing window and select, “Add” (B) to create the model reference:
Step 19: The last step for each placeholder is to assign a model to that placeholder so that you can see it in the NV-GECK, select it with your mouse and thus replace them with New Vegas objects. To do this we first need to tell xEdit that this object has a model. To do this, Right-Clicking on the “Model” row of the View Tab (A) to spawn the editing window and select, “Add” (B) to create the model reference:


Note: Note: We‟re changing the model on the missing Sign in this example; it works the same for the door and all other placeholder objects that you may need to add.
Note: Note: We‟re changing the model on the missing Sign in this example; it works the same for the door and all other placeholder objects that you may need to add.
Line 1,015: Line 1,015:
Step 20: Assign “clutter\ashtray\ashtray.nif” as the model name (Right-Click MODL, Edit, Copy/Paste).
Step 20: Assign “clutter\ashtray\ashtray.nif” as the model name (Right-Click MODL, Edit, Copy/Paste).


Note: Remember, if you have multiple copies of the same missing FormID (like in our example where we had two copies of the ForgeDoorExterior), you only need to create the placeholder for it once. XEdit will update all other instances for you.
Note: Remember, if you have multiple copies of the same missing FormID (like in our example where we had two copies of the ForgeDoorExterior), you only need to create the placeholder for it once. xEdit will update all other instances for you.


Step 21: Save your work and exit XEdit! You can do this simply by closing XEdit, after which you will be prompted with the Save changed files window as shown below. Make sure your mod is Checked as shown and click “OK”.
Step 21: Save your work and exit xEdit! You can do this simply by closing xEdit, after which you will be prompted with the Save changed files window as shown below. Make sure your mod is Checked as shown and click “OK”.


Step 22: Great Job! With that done, you have completed the hard part of the complete transfer process and are ready to conduct a final error check to make sure you didn‟t miss anything, and it will be time to fire up the NV-GECK. To run a final test on checking for errors, simply re-launch XEdit and re-load your NV mod:
Step 22: Great Job! With that done, you have completed the hard part of the complete transfer process and are ready to conduct a final error check to make sure you didn‟t miss anything, and it will be time to fire up the NV-GECK. To run a final test on checking for errors, simply re-launch xEdit and re-load your NV mod:


Step 23: Once XEdit is done loading your mod, run the error check again by Right-Clicking on your mod (A) and selecting “Check for Errors” (B) from the context menu:
Step 23: Once xEdit is done loading your mod, run the error check again by Right-Clicking on your mod (A) and selecting “Check for Errors” (B) from the context menu:


If you have replaced all of the missing FormIDs, then your error check should either come up totally clean (showing no errors) OR you may still see some errors, but none of the “<Error: Could not be resolved>” types. The example screenshot below shows no errors found, which will be the common outcome. As long as you don‟t have any “<Error: Could not be resolved>” errors, your good to go. If you do, go back to Steps 13-20 and replace those missing errors.
If you have replaced all of the missing FormIDs, then your error check should either come up totally clean (showing no errors) OR you may still see some errors, but none of the “<Error: Could not be resolved>” types. The example screenshot below shows no errors found, which will be the common outcome. As long as you don‟t have any “<Error: Could not be resolved>” errors, your good to go. If you do, go back to Steps 13-20 and replace those missing errors.
Line 1,075: Line 1,075:
== Deleting Offending References ==
== Deleting Offending References ==


Some mods have some many errors in them that the NV-GECK crashes when trying to load them up. This happened to my own big mod (Skyhaven Airport), which had 2,228 missing references and other errors when checking for errors in XEdit! The NV-GECK crashed violently when trying to load a mod with that many errors. Like so many of us, there is a limit to how much garbage that the GECK can swallow without vomiting.
Some mods have some many errors in them that the NV-GECK crashes when trying to load them up. This happened to my own big mod (Skyhaven Airport), which had 2,228 missing references and other errors when checking for errors in xEdit! The NV-GECK crashed violently when trying to load a mod with that many errors. Like so many of us, there is a limit to how much garbage that the GECK can swallow without vomiting.


If your mod is suffering this fate, there is hope! You can mass-delete the offending references from your mod with XEdit, or delete enough of them to so that the NV-GECK can take it without vomiting all over your computer (it‟s gross!). I don‟t know what that limit or number is, you may need to experiment if you want to delete some but not all of the offending errors. Below are some examples of the kinds of errors you may encounter, from background loader errors to errors you get when Checking for Errors:
If your mod is suffering this fate, there is hope! You can mass-delete the offending references from your mod with xEdit, or delete enough of them to so that the NV-GECK can take it without vomiting all over your computer (it‟s gross!). I don‟t know what that limit or number is, you may need to experiment if you want to delete some but not all of the offending errors. Below are some examples of the kinds of errors you may encounter, from background loader errors to errors you get when Checking for Errors:


Note that the process of Checking for Errors can take a bit depending on how many errors you have and how large the mod file is. You can track the progress by watching the top menu bar:
Note that the process of Checking for Errors can take a bit depending on how many errors you have and how large the mod file is. You can track the progress by watching the top menu bar:


The samples below are all of different types of errors that you might encounter when Checking for Errors in XEdit:
The samples below are all of different types of errors that you might encounter when Checking for Errors in xEdit:


Most of these error types will be cleaned-up by the NV-GECK, but missing references and “Could not be resolved” references will cause problems in large numbers. There is also a common critical error regarding the wasteland that many mods will face.
Most of these error types will be cleaned-up by the NV-GECK, but missing references and “Could not be resolved” references will cause problems in large numbers. There is also a common critical error regarding the wasteland that many mods will face.
Line 1,091: Line 1,091:
As shown you will need to remove this entire entry from the mod file by Right-Clicking on the Wasteland record (A) and selecting “Remove” from the context menu (B). You will receive a warning message similar to the one shown below, which you should select “Yes” to:
As shown you will need to remove this entire entry from the mod file by Right-Clicking on the Wasteland record (A) and selecting “Remove” from the context menu (B). You will receive a warning message similar to the one shown below, which you should select “Yes” to:


This will strip the entire wasteland out of your mod, and solve that critical issue. If you had this problem then I recommend saving and exiting XEdit at this point, and trying your mod in the NV-GECK again. Trust me, the NV-GECK will be a lot happier with you this time, as it wants nothing to do with the DC Wasteland worldspace.
This will strip the entire wasteland out of your mod, and solve that critical issue. If you had this problem then I recommend saving and exiting xEdit at this point, and trying your mod in the NV-GECK again. Trust me, the NV-GECK will be a lot happier with you this time, as it wants nothing to do with the DC Wasteland worldspace.


If you still have crash problems with the NV-GECK, proceed to the next step.
If you still have crash problems with the NV-GECK, proceed to the next step.


If you‟ve reached this point and your mod still causes the NV-GECK to crash, then you may have no other choice but to mass-delete all of the missing references from your mod file. You can do this in XEdit by simply expanding each record type by Left-Clicking on them, pressing “*” (asterisk) to expand the tree and finally clicking the “Name” column (B) to sort the records. As shown below, you will then see the errored references grouped together (C):
If you‟ve reached this point and your mod still causes the NV-GECK to crash, then you may have no other choice but to mass-delete all of the missing references from your mod file. You can do this in xEdit by simply expanding each record type by Left-Clicking on them, pressing “*” (asterisk) to expand the tree and finally clicking the “Name” column (B) to sort the records. As shown below, you will then see the errored references grouped together (C):


Simply multi-select “Could not be resolved” references and press Delete to wack them out of the mod. You will need to do this for every record heading in your mod, especially the Cell and Wordlspace types. This may take you some time, but when done you should have no instances of <Error: Could not be resolved> present in your mod.
Simply multi-select “Could not be resolved” references and press Delete to wack them out of the mod. You will need to do this for every record heading in your mod, especially the Cell and Wordlspace types. This may take you some time, but when done you should have no instances of <Error: Could not be resolved> present in your mod.


Close XEdit when done and Save your work. Then re-launch the NV-GECK and try loading your mod file again. This time you should have more success assuming you removed enough (or all) of the errored references. In my testing I have found that the NV-GECK is “wasteland-hardy”, and will ingest a ton of shit before racing for the toilet. This is good for us, as you have an excellent chance of the NV-GECK loading your mod if you remove enough of the offending references.
Close xEdit when done and Save your work. Then re-launch the NV-GECK and try loading your mod file again. This time you should have more success assuming you removed enough (or all) of the errored references. In my testing I have found that the NV-GECK is “wasteland-hardy”, and will ingest a ton of shit before racing for the toilet. This is good for us, as you have an excellent chance of the NV-GECK loading your mod if you remove enough of the offending references.


If the NV-GECK still crashes when trying to load your mod, trying posting a message in the Bethesda GECK forum for help, and include as many details as possible (a link to your mod file on FileShare or equivalent is always helpful). Good luck!
If the NV-GECK still crashes when trying to load your mod, trying posting a message in the Bethesda GECK forum for help, and include as many details as possible (a link to your mod file on FileShare or equivalent is always helpful). Good luck!
Line 1,107: Line 1,107:
== Overview ==
== Overview ==


The mod utilities are a collection of functions that have been added to XEdit over the years for both Oblivion and Fallout: New Vegas that can aid mod authors in several areas. The next sections review these functions and describe how to utilize them.
The mod utilities are a collection of functions that have been added to xEdit over the years for both Oblivion and Fallout: New Vegas that can aid mod authors in several areas. The next sections review these functions and describe how to utilize them.


== Creating Start-Game Enabled Quest (SEQ) Files ==
== Creating Start-Game Enabled Quest (SEQ) Files ==
Line 1,115: Line 1,115:
# In the pop-up menu choose "Other" / "Create SEQ File"
# In the pop-up menu choose "Other" / "Create SEQ File"


XEdit will automatically place the SEQ file into the SEQ folder for you.
xEdit will automatically place the SEQ file into the SEQ folder for you.


Note: you may need to repeat this process after editing your Quest
Note: you may need to repeat this process after editing your Quest
Line 1,121: Line 1,121:
== Building Reference Information ==
== Building Reference Information ==


Building reference information is a common task that is often performed behind the scenes by XEdit, and essentially finds all instances of a “Thing” in the game. Be it a script, NPC or a toilet, the build reference info function will show you all of them across the mod files loaded into XEdit. In this section we feature Xodarap‟s Fallout Overhaul (XFO) mod, which is known as one of the bigger, stable mods that changes that make your gaming experience much more challenging and immersive (I use this myself, so I had to feature Xodaraps fine work!)
Building reference information is a common task that is often performed behind the scenes by xEdit, and essentially finds all instances of a “Thing” in the game. Be it a script, NPC or a toilet, the build reference info function will show you all of them across the mod files loaded into xEdit. In this section we feature Xodarap‟s Fallout Overhaul (XFO) mod, which is known as one of the bigger, stable mods that changes that make your gaming experience much more challenging and immersive (I use this myself, so I had to feature Xodaraps fine work!)


For our example of building reference information, there are a couple of choices to consider; If you are trying to find All instances of that Thing, then load all of the mod files when loading XEdit. If however you are looking for instances of a Thing in a single mod-file, then you‟ll only want to load that mod-file as shown in the screenshot below:
For our example of building reference information, there are a couple of choices to consider; If you are trying to find All instances of that Thing, then load all of the mod files when loading xEdit. If however you are looking for instances of a Thing in a single mod-file, then you‟ll only want to load that mod-file as shown in the screenshot below:


Here we start the action by Right-clicking in the open white-space of the Master/Plugin Selection window (A) which presents a small context menu. From this menu choose, “Select None” (B) to clear all check marks. Then you can select just the XFO mod we want to load (C) and click, “OK” to bring it up into XEdit.
Here we start the action by Right-clicking in the open white-space of the Master/Plugin Selection window (A) which presents a small context menu. From this menu choose, “Select None” (B) to clear all check marks. Then you can select just the XFO mod we want to load (C) and click, “OK” to bring it up into xEdit.


Once XEdit is loaded, you will be presented with a screenshot similar to that below. There you can see the three mods loaded, the XFO stand-alone version and its two Masters. To build reference information, Right-
Once xEdit is loaded, you will be presented with a screenshot similar to that below. There you can see the three mods loaded, the XFO stand-alone version and its two Masters. To build reference information, Right-


click on the XFO entry in the Left-side Panel (A) which will present the main context menu. Select, “Build Reference Info” (B) from this menu as shown below:
click on the XFO entry in the Left-side Panel (A) which will present the main context menu. Select, “Build Reference Info” (B) from this menu as shown below:
Line 1,139: Line 1,139:
In this case we Left-ables and details that would be time consuming and error-prone to do by hand. This Copy Idle Animations function automates the process.
In this case we Left-ables and details that would be time consuming and error-prone to do by hand. This Copy Idle Animations function automates the process.


The final step is to save our hard work! Either pressing, “Alt-S” or closing the XEdit program with present you with the Save changed files window as shown below. Simply ensure that the mod you worked on is checked (A), and press, “OK” to Save. (Don‟t try this at home kids!):
The final step is to save our hard work! Either pressing, “Alt-S” or closing the xEdit program with present you with the Save changed files window as shown below. Simply ensure that the mod you worked on is checked (A), and press, “OK” to Save. (Don‟t try this at home kids!):


Note again that you should not be changing MMM or any other mod that you did not create. This function is purely for mod authors in creating their own mods which require many new NPCs, for which this function can automation part of the work.
Note again that you should not be changing MMM or any other mod that you did not create. This function is purely for mod authors in creating their own mods which require many new NPCs, for which this function can automation part of the work.
Line 1,149: Line 1,149:
== Deprecated Functions ==
== Deprecated Functions ==


There are three options in the main context menu that were built for Oblivion and were carried-forward into the Fallout: New Vegas version of XEdit. These functions may still work for Oblivion, but they do not work for Fallout: New Vegas and are considered Deprecated functions which should not be used for any reason. You may even crash XEdit by trying to run them. These functions that are deprecated for Fallout: New Vegas are:
There are three options in the main context menu that were built for Oblivion and were carried-forward into the Fallout: New Vegas version of xEdit. These functions may still work for Oblivion, but they do not work for Fallout: New Vegas and are considered Deprecated functions which should not be used for any reason. You may even crash xEdit by trying to run them. These functions that are deprecated for Fallout: New Vegas are:
* Object LOD
* Object LOD
* Set VWD for all REFR with VWD Mesh in this file
* Set VWD for all REFR with VWD Mesh in this file
Anonymous user