A Guide to Merging with TESIVGecko (second thread)

Post » Wed Sep 01, 2010 10:32 pm

You can find part one http://www.gamesas.com/bgsforums/index.php?showtopic=898653&st=200&start=200. Here's Shadowcran's first post, once again:

http://www.tesnexus.com/downloads/file.php?id=8665 Download for TESIV Gecko.

The Gecko is one of those great utilities that is little known. Even if a player knows of it, they are understandably leery of using it, not wanting to ruin their game or the mod they downloaded. However, you'll find that there's virtually no risk involved and the only problem you will experience merging mods is that you didn't know ALL that the mod did. It's best to know what the mods do before you even think about merging it.

What I will do is post the read me for the mod then explain it's better uses in "plainspeak" so you're not buried in technical jargon.
-------------------------
TES4Gecko - Version 14.5
-------------------------

Created by TeamGecko
- New development and Original TES4 Plugin Utility code: ScripterRon (Ron
Hoffman)
- Original Gecko plugin splitter and compare code: KomodoDave (N David Brown)
- Gecko project leader: dev_akm (Aubrey K McAuley)

Credits: TES4Gecko Version 13 represents ScripterRon's return to working on
TES4Gecko project, and the results are dramatic. TES4Gecko Version 12 was
created using the source code from ScripterRon's wonderful TES4 Plugin Utility
(Version 11.1), which he graciously donated to the project. The vast majority of
the functionality here was created by ScripterRon -- TeamGecko merely attempted
to expand and enhance his amazing work.


Overview
----------------------------------

TES4Gecko works with The Elder Scrolls IV: Oblivion plugin and master files
(*.esp/*.esm). It is designed to let mod-creators manipulate plugin and master
files in ways that Bethesda either did not imagine or decided to leave out of
the official Construction Set.

TES4Gecko has a wide variety of useful functions, such as merging two or more
plugins into a single plugin or removing data that doesn't need to be in a
plugin (accidental changes). It can convert a plugin file to a master file or a
master file to a plugin file, move worldspaces, generate silent dialog MP3s, and
a ton of other useful stuff. Selected plugin records can be removed from a
plugin or copied to another plugin. It will also split a single plugin file into
master/plugin components and compare two plugins, highlighting the differences
between them.

Please see the Available Functions section below for critical details and
warnings about how individual functions work.

Discussion of TES4Gecko is on the Bethesda Elder Scrolls Construction Set forum
(http://www.gamesas.com/bgsforums/). Search for TES4Gecko if you don't see the
thread right away.


New Features and Changes
----------------------------------

TES4Gecko Version 13 adds a ton of new features, drastically revamps the code
base, and fixes a bunch of bugs. Here's a few of the biggest new features.

The Compare Plugins function has been redesigned to improve performance. It now
allows comparisons of very large files, such as Oblivion.esm, which in turn made
it possible to add a new "Clean Plugin" function to remove any entries from a
plugin that do not actually differ from Oblivion.esm (accidental changes). The
'Toggle Ignore' and 'Copy to Clipboard' functions are now available on the
Compare Plugins screen. The "Split Plugin" function now has an option to create
an independent ESM/ESP pair (where the ESM has no dependency on the ESP). The
Display/Copy function now displays the plugin master list with the associated
modindex for records tied to that master, supports both FormID and EditorID
search functions, and provides automatic highlighting of master records. The
master list order can now be changed, Worldspaces can be moved into the
Oblivion.esm modindex (00) to avoid vanishing landscape problems, and BOOK
subrecords are merged.

See the version history near the end of this document for a complete list of
changes and fixes.


Installation
----------------------------------

To install this utility, place the TES4Gecko.jar and the TES4Gecko-Silence.mp3
files into a directory of your choice. To run the utility, create a program
shortcut and specify "javaw -Xmx1024m -jar \TES4Gecko.jar" as
the program to run, where should be replaced with the
directory where you extracted the jar file. If the path for java isn't set on
your system, you will need to specify the full path to javaw.

A sample program shortcut is included that specifies \Tmp as the install
directory. The -Xmx1024m argument specifies the maximum heap size in megabytes
(the example specifies a heap of 1024Mb, or 1Gb). You can increase the size if
you run out of space merging very large plugins. Note that Windows will start
swapping if the Java heap size exceeds the amount of available storage and this
will significantly impact performance.

The Sun Java 1.6 runtime is required. You can download JRE 1.6 from
http://java.com/download/index.jsp. If you are unsure what version of Java is
installed on your system, open a command prompt window and enter "java -
version".

=========================================================================
=========================================================================


Available functions:


Apply Patch
-----------

This function will recreate a modified plugin file by applying a patch file to a
plugin file. The patch file must have been created by the Create Patch function
and the plugin file must be the base plugin file that was used to create the
patch.

The 'Merge Plugins' function should be used if you want to combine two different
plugin files and the 'Merge to Master' function should be used if you want to
merge a plugin into a master file.


Clean Plugin
------------

This function will remove records from the plugin that are the same as records
in the master. Plugin records that modify or delete master records will not be
removed.


Compare Plugins
---------------

This function will let you browse the record structures of two plugins side-by-
side. Differences between the two plugins will be highlighted. This will let
you easily see what changes have been made in a new version of a plugin. You
can copy records from either plugin to the clipboard plugin. You can also
delete records in either plugin. Refer to the "Display Plugin" function for
more information on copying and deleting plugin records.

Note that records copied from the plugins are not merged into the clipboard -
they are copied as-is. This means that a record will not be copied if the
clipboard already contains a record with the same form ID.


Convert to Master
-----------------

This function will convert a plugin file (*.esp) to a master file (*.esm). The
plugin file will not be deleted. The output file will be overwritten if it
exists.


Convert to Plugin
-----------------

This function will convert a master file (*.esm) to a plugin file (*.esp). The
master file will not be deleted. The output file will be overwritten if it
exists.


Create Patch
------------

This function will create a patch file by comparing a modified plugin file to
the original plugin file. The master list must be the same for both the
original plugin and the modified plugin. The patch file will contain just those
items that were added, changed or deleted. The patch file name will be the same
as the original plugin file name but with an extension of ".esu" instead of
".esp". The modified plugin file can then be recreated by applying the patch
file to the original plugin file using the Apply Patch function. The
Display/Copy function can be used to display the contents of the patch file.

A record is considered to be changed if the subrecord data is not identical.
Since the Construction Set does not always write out the subrecord data in the
same order when saving a plugin and sometimes writes random data in unused
subrecord fields, this can cause records to be treated as changed even though no
changes were made.


Display/Copy
------------

This function will display the records in a plugin. Records that modify a
master record will be highlighted to make it easier to distinguish between local
records and shared records.

The "Ignore" flag can be set or reset to cause a record to be ignored when
saving the plugin. The record is physically removed from the plugin when the
plugin is saved. The "Ignore" flag for all records in a group will be toggled
when a group is selected. An attempt to set the "Ignore" flag for a subrecord
will be ignored since subrecords do not have an "Ignore" flag. However,
subrecords can be deleted and will be removed from the record.

Records can be copied to a clipboard plugin called "Gecko Clipboard.esp". An
existing clipboard plugin will be overwritten each time the clipboard is saved.
The clipboard plugin can be merged with another plugin or loaded by the
Construction Set. Optionally, any records referenced by the copied records will
also be copied to the clipboard plugin.

The "Copy" and "Toggle Ignore" buttons work on the selected rows in the plugin
tree display. Multiple records can be selected using the normal Windows
conventions. Hold down the SHIFT key to select all rows between the previous
selection and the new row. Hold down the CTRL key to add just the new row to
the selection.

You can search for a record based on its editor ID or its form ID. The editor
ID search term is specified as a regular expression while a form ID search term
is the hexadecimal form ID. If a match is found, the tree node for the matching
record will be selected.

An editor ID search expression can be the complete editor ID such as
"OOOBraidedCuirass". Or it can contain regular expression constructs to specify
the match pattern. The matching is case-insensitive because the editor ID is
not case senstive, thus "OOO" will match "ooo". The following are some useful
regular expression constructs. Refer to
http://java.sun.com/javase/6/docs/api/java...ex/Pattern.html for more
information on regular expression patterns. A special character can be
specified as part of the search string by escaping it. For example, if you want
to find an editor ID containing a period, specify "\." instead of "." in the
search expression since an unescaped period will match any character.

. = Any character
X* = Zero or more occurrences of X
X? = Zero or one occurrences of X
X+ = One or more occurrences of X
X{n} = n occurrences of X

For example, to search for any record starting with "OOO", the search term would
be "OOO.*". Note that the records are searched in the order they appear in the
plugin and not in the order they are displayed. Use the "Find Next" button to
continue the search from the last match.


Edit Description
----------------

This function will edit the plugin version, creator and summary fields. The
version can be set to 0.8 (base Oblivion) or 1.0 (Shivering Isles expansion).


Edit Master List
----------------

This function will edit the master list for a plugin. A master entry can be
renamed or removed. An error will be posted if the master file is still
referenced by an item in the plugin. The user can continue and forcibly remove
the master entry, in which case all records referencing the master will also be
removed. The user can also change the order of the master list entries. This
doesn't change the order in which master files are loaded, but it can be used to
synchronize form ID values when comparing two plugins (two items are considered
to be different if they both reference the same master but the masters are in
different positions in their respective master lists).


Generate Responses
------------------

This function will create response voice files for each dialog entry in the
plugin. Any existing response files for the plugin will be deleted. The
TES4Gecko-Silence.mp3 file is copied to the correct file names. If the dialog
uses the GetIsID function, a single file will be created based on the NPC race
and gender. If the dialog uses the GetIsRace function, two files (male and
female) will be created based on the specified race. Otherwise, two files (male
and female) will be created for each playable race.

The TES4Gecko-Silence.mp3 file provides 8 seconds of silence. You can replace
this file with another one of your choice to change the length. The file must
be recorded as a mono file with a 44KHz sample rate and a 64Kbps bit rate.


Merge Plugins
-------------

This function will merge two or more plugin files and create a new merged plugin
file. The output file will be overwritten if it exists. The files will be
merged in the order specified by the assigned priority values. Priority 1 files
will be merged before priority 2 files, priority 2 files will be merged before
priority 3 files, etc. Files with the same priority will be merged based on the
file modification timestamps. A file will not be merged if it has not been
assigned a priority or if the priority value is not valid (priority values must
be greater than zero). Specify priority values by clicking on a row in the
plugin table and then typing in the desired number.

If you check the 'Delete last master record conflict' box, the second
conflicting record will be removed from the merged file. Otherwise, the first
conflicting record will be removed. Two records conflict if they both modify
the same object in the master file.

If you check the 'Edit master leveled list conflicts' box, leveled list
conflicts will be displayed and you will be able to manually merge the leveled
list items. Items can be copied from the plugin leveled list to the merged
leveled list, items can be deleted from the merged leveled list, and the level
and count values for items in the merged leveled list can be changed. If this
box is not checked, leveled list conflicts will be resolved by adding the unique
entries from the second leveled list to the first leveled list (an entry is
considered to be a duplicate of an existing entry if it has the same level
number and item form ID).

Form ID and Editor ID conflicts are resolved by assigning new values. For this
reason, an existing save game may be invalidated if a new merged plugin file is
created and a conflict exists that did not exist in an earlier merged plugin
file. The Form ID and Editor ID will not be changed if there are no conflicts
with the existing values.

IMPORTANT NOTE: TES4Gecko does not contain support for processing scripts. If
an Editor ID conflict occurs and you choose to rename the Editor ID, then you
must check the scripts in the merged plugin (using the Bethesda Construction
Set) and manually change the Editor ID from the old value to the new value. The
compiled scripts will work properly after the merge without any changes but the
scripts will fail if they are recompiled without first updating the Editor ID
values in the script source.

If two plugins modify the same record in a master file, the conflict is resolved
by selecting those subrecords that are not the same as the corresponding master
subrecords. If both plugins modify the same subrecord, the subrecord from the
first plugin or the second plugin will be used depending on which option was
selected in the merge dialog. Lists are handled by adding unique list items
from the second plugin to the list from the first plugin.

Voice response files for each plugin are merged. Landscape files are not merged
since there is no way to tell if a particular landscape record is used by a
given plugin. Instead, the Move Worldspaces function should be used to move all
worldspaces in a plugin to the master index before attempting to merge the
plugin.


Merge to Master
---------------

This function will merge a plugin file into an existing master file. Items in
the master file which are modified by the plugin will be replaced by the plugin
definitions. This allows master changes to be tested first in a plugin before
committing the changes to the master.

Voice response files are merged. Landscape files are not merged since there is
no way to tell if a particular landscape record is used by a given plugin.
Instead, the Move Worldspaces function should be used to move all worldspaces in
a plugin to the master index before attempting to merge the plugin.


Move Worldspaces
----------------

This function will move WRLD and visible-when-distant STAT records from the
plugin index to the 00 index. Distant land files will be renamed if they are
found in Meshes\Landscape\LOD or Textures\LandscapeLOD\Generated. Distant
statics records will be updated if they are found in DistantLOD. The DistantLOD
files must be generated before moving worldspaces if a plugin contains visible-
when-distant references to statics defined in a master other than the first
master. The DistantLOD files are optional if all of the visible-when-distant
references are to statics defined in the plugin or in the first master.

Placeholders can be inserted to mark moved worldspaces and statics. These are
scrolls with the original form ID and an editor ID consisting of "TES4Gecko"
followed by the 8-digit relocated form ID. Placeholders are required if you are
moving worldspaces in a master and you have one or more dependent plugins that
reference the master. Otherwise, inserting placeholders is up to you.

If you want to relocate worldspace in a master with one or more plugins, you
must first relocate the worldspaces in the master (be sure to insert
placeholders). Then relocate worldspaces for each of the dependent plugins
(inserting placeholders at this point is optional).

If a plugin contains a visible-when-distant reference to a static defined in a
master but the master version of the static has not been relocated, a cloned
static definition will be added to the plugin and this definition will be
relocated. If the plugin already contains the static definition, the plugin
definition will be relocated, which means the plugin definition will no longer
override the master definition for the static.


Set Directory
-------------

This function set the directory containing the plugin files. This is usually
\Oblivion\Data but can be set to any directory. The
directory must already exist. Note that some functions require access to the
files in the master list for a plugin. If you set the directory to a different
location, you must copy any required master files to this directory.


Split Plugin
---------------

This function will split a plugin file into an ESM/ESP pair with the ESP
dependent on the ESM. The resulting split master will be "clean", containing
only new content that did not already exist in another master. The resulting
plugin will contain only changes to other masters. Doors linking new cells to
existing cells will be split correctly to avoid contaminating the master with
changes (which can cause landscape problems). New content added to existing
Cells (interiors) and Worldspaces will be correctly kept in the ESP because they
are in effect changing another master.

In addition, visible-when-distant references will be placed in the split plugin.
This is necessary because Oblivion has a problem with missing land when a non-00
master contains visible-when-distant references.

A dependent ESM contains all new items from the original plugin while the ESP
contains all modifications to another master, including references added to a
cell defined in another master. This will cause the ESM to require the ESP if
any of the items in the ESM (such as packages or scripts) refer to any of these
references. Loading the ESM without the ESP will result in errors because these
references will not be defined. Items defined in the ESP will use the ESM
module index instead of the ESP module index so that the master can reference
them.

An independent ESM contains all new items from the original plugin with the
exception of items that reference anything still defined in the ESP. For
example, if a new script references a character added to a cell defined by
another master, the script will remain in the ESP and will not be moved to the
ESM. The result is the ESM can be used without the ESP. Items defined in the
ESP will use the ESP module index since they are not referenced by any items in
the ESM.

The resulting split files will be saved automatically with an OUTPUT_ prefix, so
splitting mymod.esp will create an OUTPUT_mymod.esm and an OUTPUT_mymod.esp.
You'll need to remove this prefix before using the new split pair.

Used in conjunction with Merge to Master and Compare Plugins (see below), the
Split Plugin feature should help to facilitate large team projects. Once an
initial split is made and the files are distributed to team members, they can
keep adding new material to the ESP or can create new plugins based on the
master. At the end of each development phase (an arbitrary point you agree on
with other team members), all the new changes and work should be merged back
into the master and a new set of resulting baseline files distributed back out
to the team. When conflicting changes occur during this process, you can use the
Compare Plugins feature to examine the conflicts and use Merge Plugins to
resolve them.


=========================================================================
=========================================================================


Record merge rules for master object conflicts
----------------------------------------------

ACTI - Activator

Attribute subrecords are merged on a one-by-one basis. A plugin subrecord is
chosen if it is not the same as the corresponding subrecord in the master. If
both plugin subrecords are different from the master subrecord, then the
subrecord is chosen based on whether the first or the last conflict should be
deleted.


ALCH - Potion

The initial effects merged list contains all of the effects from the first
occurrence of the potion in a plugin. Unique effects from subsequents
occurrences of the potion are then added to the merged list. An effect is
unique if it has a different effect name/subtype. For a script effect, the
effect is unique if it uses a different script.

The potion value will be set to the highest value encountered. Auto-calculate
will be turned off if it is off for any occurrence of the potion in a plugin.


AMMO - Ammunition

Attribute subrecords are merged on a one-by-one basis. A plugin subrecord is
chosen if it is not the same as the corresponding subrecord in the master. If
both plugin subrecords are different from the master subrecord, then the
subrecord is chosen based on whether the first or the last conflict should be
deleted.


ANIO - Animated object

The entire record is merged. A plugin record is chosen if it is not the same as
the corresponding record in the master. If both plugin records are different
from the master record, then the record is chosen based on whether the first or
the last conflict should be deleted.


APPA - Apparatus

Attribute subrecords are merged on a one-by-one basis. A plugin subrecord is
chosen if it is not the same as the corresponding subrecord in the master. If
both plugin subrecords are different from the master subrecord, then the
subrecord is chosen based on whether the first or the last conflict should be
deleted.


ARMO - Armor

Attribute subrecords are merged on a one-by-one basis. A plugin subrecord is
chosen if it is not the same as the corresponding subrecord in the master. If
both plugin subrecords are different from the master subrecord, then the
subrecord is chosen based on whether the first or the last conflict should be
deleted.


BOOK - Book

Attribute subrecords are merged on a one-by-one basis. A plugin subrecord is
chosen if it is not the same as the corresponding subrecord in the master. If
both plugin subrecords are different from the master subrecord, then the
subrecord is chosen based on whether the first or the last conflict should be
deleted.


BSGN - Birthsign

Attribute subrecords are merged on a one-by-one basis. A plugin subrecord is
chosen if it is not the same as the corresponding subrecord in the master. If
both plugin subrecords are different from the master subrecord, then the
subrecord is chosen based on whether the first or the last conflict should be
deleted.

The initial merged spell list contains all of the spells from the first
occurrence of the birthsign in a plugin. Unique spells from subsequent plugins
are then added to the merged list.


CELL - Cell

The entire record is merged. A plugin record is chosen if it is not the same as
the corresponding record in the master. If both plugin records are different
from the master record, then the record is chosen based on whether the first or
the last conflict should be deleted.


CLAS - Class

Attribute subrecords are merged on a one-by-one basis. A plugin subrecord is
chosen if it is not the same as the corresponding subrecord in the master. If
both plugin subrecords are different from the master subrecord, then the
subrecord is chosen based on whether the first or the last conflict should be
deleted.


CLOT - Clothing

Attribute subrecords are merged on a one-by-one basis. A plugin subrecord is
chosen if it is not the same as the corresponding subrecord in the master. If
both plugin subrecords are different from the master subrecord, then the
subrecord is chosen based on whether the first or the last conflict should be
deleted.


CLMT - Climate

The entire record is merged. A plugin record is chosen if it is not the same as
the corresponding record in the master. If both plugin records are different
from the master record, then the record is chosen based on whether the first or
the last conflict should be deleted.


CONT - Container

Attribute subrecords are merge on a one-by-one basis. A plugin subrecord is
chosen if it is not the same as the corresponding subrecord in the master. If
both plugin subrecords are different from the master subrecord, then the
subrecord is chosen based on whether the first or the last conflict should be
deleted.

The initial merged container contains all of the items from the first occurrence
of the container in a plugin. Unique items from subsequent containers are then
added to the merged container.


CREA - Creature

Attribute subrecords are merged on a one-by-one basis. A plugin subrecord is
chosen if it is not the same as the corresponding subrecord in the master. If
both plugin subrecords are different from the master subrecord, then the
subrecord is chosen based on whether the first or the last conflict should be
deleted.

The initial faction list contains all of the factions from the first occurrence
of the creature in a plugin. Unique factions from subsequent plugins are then
added to the merged list.

The initial inventory list contains all of the items from the first occurrence
of the creature in a plugin. Unique items from subsequent plugins are then
added to the merged list.

The initial merged spell list contains all of the spells from the first
occurrence of the creature in a plugin. Unique spells from subsequent plugins
are then added to the merged list.

The initial merged package list contains all of the AI packages from the first
occurrence of the creature in a plugin. Unique packages from subsequent plugins
are then added to the merged list.


CSTY - Combat style

The entire record is merged. A plugin record is chosen if it is not the same as
the corresponding record in the master. If both plugin records are different
from the master record, then the record is chosen based on whether the first or
the last conflict should be deleted.


DIAL - Dialog

The entire record is merged. A plugin record is chosen if it is not the same as
the corresponding record in the master. If both plugin records are different
from the master record, then the record is chosen based on whether the first or
the last conflict should be deleted.


DOOR - Door

Attribute subrecords are merged on a one-by-one basis. A plugin subrecord is
chosen if it is not the same as the corresponding subrecord in the master. If
both plugin subrecords are different from the master subrecord, then the
subrecord is chosen based on whether the first or the last conflict should be
deleted.


EFSH - Effect shaders

The entire record is merged. A plugin record is chosen if it is not the same as
the corresponding record in the master. If both plugin records are different
from the master record, then the record is chosen based on whether the first or
the last conflict should be deleted.


ENCH - Enchantment

The initial effects merged list contains all of the effects from the first
occurrence of the enchantment in a plugin. Unique effects from subsequents
occurrences of the enchantment are then added to the merged list. An effect is
unique if it has a different effect name/subtype. For a script effect, the
effect is unique if it uses a different script.

The total charge and cost for the enchantment will be set to the highest values
encountered. Auto-calculate will be turned off if it is off for any occurrence
of the enchantment in a plugin.


EYES - Eyes

Attribute subrecords are merged on a one-by-one basis. A plugin subrecord is
chosen if it is not the same as the corresponding subrecord in the master. If
both plugin subrecords are different from the master subrecord, then the
subrecord is chosen based on whether the first or the last conflict should be
deleted.


FACT - Faction

Attribute subrecords are merged on a one-by-one basis. A plugin subrecord is
chosen if it is not the same as the corresponding subrecord in the master. If
both plugin subrecords are different from the master subrecord, then the
subrecord is chosen based on whether the first or the last conflict should be
deleted.

Faction ranks are merged as a single entity based on which plugin has a
different number of ranks than the master. If both plugins have a different
number of ranks, then the faction ranks are chosen based on whether the first or
the last conflict should be deleted.

The initial interfaction relations merged list contains all of the factions from
the first occurrence of the faction in a plugin. Unique interfaction relations
from subsequent occurrences of the faction are then added to the merged list.


FLOR - Flora

The entire record is merged. A plugin record is chosen if it is not the same as
the corresponding record in the master. If both plugin records are different
from the master record, then the record is chosen based on whether the first or
the last conflict should be deleted.


FURN - Furniture

The entire record is merged. A plugin record is chosen if it is not the same as
the corresponding record in the master. If both plugin records are different
from the master record, then the record is chosen based on whether the first or
the last conflict should be deleted.


GRAS - Grass

The entire record is merged. A plugin record is chosen if it is not the same as
the corresponding record in the master. If both plugin records are different
from the master record, then the record is chosen based on whether the first or
the last conflict should be deleted.


GLOB - Global Variable

The entire record is merged. A plugin record is chosen if it is not the same as
the corresponding record in the master. If both plugin records are different
from the master record, then the record is chosen based on whether the first or
the last conflict should be deleted.


GMST - Game Setting

The entire record is merged. A plugin record is chosen if it is not the same as
the corresponding record in the master. If both plugin records are different
from the master record, then the record is chosen based on whether the first or
the last conflict should be delete.


HAIR - Hair

Attribute subrecords are merged on a one-by-one basis. A plugin subrecord is
chosen if it is not the same as the corresponding subrecord in the master. If
both plugin subrecords are different from the master subrecord, then the
subrecord is chosen based on whether the first or the last conflict should be
deleted.


IDLE - Idle animation

The entire record is merged. A plugin record is chosen if it is not the same as
the corresponding record in the master. If both plugin records are different
from the master record, then the record is chosen based on whether the first or
the last conflict should be deleted.


INGR - Ingredient

The initial effects merged list contains all of the effects from the first
occurrence of the ingredient in a plugin. Unique effects from subsequents
occurrences of the ingredient are then added to the merged list. An effect is
unique if it has a different effect name/subtype. For a script effect, the
effect is unique if it uses a different script.

The ingredient value will be set to the highest value encountered. Auto-
calculate will be turned off if it is off for any occurrence of the ingredient
in a plugin.


KEYM - Key

The entire record is merged. A plugin record is chosen if it is not the same as
the corresponding record in the master. If both plugin records are different
from the master record, then the record is chosen based on whether the first or
the last conflict should be deleted.


LIGH - Light

Attribute subrecords are merged on a one-by-one basis. A plugin subrecord is
chosen if it is not the same as the corresponding subrecord in the master. If
both plugin subrecords are different from the master subrecord, then the
subrecord is chosen based on whether the first or the last conflict should be
deleted.


LSCR - Load screen

The entire record is merged. A plugin record is chosen if it is not the same as
the corresponding record in the master. If both plugin records are different
from the master record, then the record is chosen based on whether the first or
the last conflict should be deleted.


LVLC - Leveled Creature, LVLI - Leveled Item, LVSP - Leveled Spell

Attribute subrecords are merged on a one-by-one basis. A plugin subrecord is
chosen if it is not the same as the corresponding subrecord in the master. If
both plugin subrecords are different from the master subrecord, then the
subrecord is chosen based on whether the first or the last conflict should be
deleted.

The initial merged list contains all of the list items from the first occurrence
of the leveled list in a plugin. Unique list items from subsequent leveled
lists are then added to the merged list.


LTEX - Land texture

The entire record is merged. A plugin record is chosen if it is not the same as
the corresponding record in the master. If both plugin records are different
from the master record, then the record is chosen based on whether the first or
the last conflict should be deleted.


MGEF - Magic effects

The entire record is merged. A plugin record is chosen if it is not the same as
the corresponding record in the master. If both plugin records are different
from the master record, then the record is chosen based on whether the first or
the last conflict should be deleted.


MISC - Miscellaneous item

Attribute subrecords are merged on a one-by-one basis. A plugin subrecord is
chosen if it is not the same as the corresponding subrecord in the master. If
both plugin subrecords are different from the master subrecord, then the
subrecord is chosen based on whether the first or the last conflict should be
deleted.


NPC - Non-player character

Attribute subrecords are merged on a one-by-one basis. A plugin subrecord is
chosen if it is not the same as the corresponding subrecord in the master. If
both plugin subrecords are different from the master subrecord, then the
subrecord is chosen based on whether the first or the last conflict should be
deleted.

The initial faction list contains all of the factions from the first occurrence
of the NPC in a plugin. Unique factions from subsequent plugins are then added
to the merged list.

The initial inventory list contains all of the items from the first occurrence
of the NPC in a plugin. Unique items from subsequent plugins are then added to
the merged list.

The initial merged spell list contains all of the spells from the first
occurrence of the NPC in a plugin. Unique spells from subsequent plugins are
then added to the merged list.

The initial merged package list contains all of the AI packages from the first
occurrence of the NPC in a plugin. Unique packages from subsequent plugins are
then added to the merged list.


PACK - Package

The entire record is merged. A plugin record is chosen if it is not the same as
the corresponding record in the master. If both plugin records are different
from the master record, then the record is chosen based on whether the first or
the last conflict should be deleted.


QUST - Quest

The entire record is merged. A plugin record is chosen if it is not the same as
the corresponding record in the master. If both plugin records are different
from the master record, then the record is chosen based on whether the first or
the last conflict should be deleted.


RACE - Race

Attribute subrecords are merged on a one-by-one basis. A plugin subrecord is
chosen if it is not the same as the corresponding subrecord in the master. If
both plugin subrecords are different from the master subrecord, then the
subrecord is chosen based on whether the first or the last conflict should be
deleted.

Racial abilities and reactions are merged by adding unique entries from each
plugin to the current merged list.

Face and body meshes/textures are chosen based on which ones are different from
the corresponding master value. If both plugins are different from the master,
then the mesh/texture is chosen based on whether the first or the last conflict
should be deleted.


REGN - Region

The entire record is merged. A plugin record is chosen if it is not the same as
the corresponding record in the master. If both plugin records are different
from the master record, then the record is chosen based on whether the first or
the last conflict should be deleted.


SBSP - Subspace

The entire record is merged. A plugin record is chosen if it is not the same as
the corresponding record in the master. If both plugin records are different
from the master record, then the record is chosen based on whether the first or
the last conflict should be deleted.


SCPT - Script

The entire record is merged. A plugin record is chosen if it is not the same as
the corresponding record in the master. If both plugin records are different
from the master record, then the record is chosen based on whether the first or
the last conflict should be deleted.


SGST - Sigil stone

The entire record is merged. A plugin record is chosen if it is not the same as
the corresponding record in the master. If both plugin records are different
from the master record, then the record is chosen based on whether the first or
the last conflict should be deleted.


SKIL - Skill

Attribute subrecords are merged on a one-by-one basis. A plugin subrecord is
chosen if it is not the same as the corresponding subrecord in the master. If
both plugin subrecords are different from the master subrecord, then the
subrecord is chosen based on whether the first or the last conflict should be
deleted.


SLGM - Soul gem

The entire record is merged. A plugin record is chosen if it is not the same as
the corresponding record in the master. If both plugin records are different
from the master record, then the record is chosen based on whether the first or
the last conflict should be deleted.


SOUN - Sound

The entire record is merged. A plugin record is chosen if it is not the same as
the corresponding record in the master. If both plugin records are different
from the master record, then the record is chosen based on whether the first or
the last conflict should be deleted.


SPEL - Spell

The initial effects merged list contains all of the effects from the first
occurrence of the spell in a plugin. Unique effects from subsequents
occurrences of the spell are then added to the merged list. An effect is unique
if it has a different effect name/subtype. For a script effect, the effect is
unique if it uses a different script.

The total cost and skill level for the spell will be set to the highest values
encountered. Auto-calculate will be turned off if it is off for any occurrence
of the spell in a plugin.


STAT - Static

The entire record is merged. A plugin record is chosen if it is not the same as
the corresponding record in the master. If both plugin records are different
from the master record, then the record is chosen based on whether the first or
the last conflict should be deleted.


TREE - Tree

The entire record is merged. A plugin record is chosen if it is not the same as
the corresponding record in the master. If both plugin records are different
from the master record, then the record is chosen based on whether the first or
the last conflict should be deleted.


WATR - Water

The entire record is merged. A plugin record is chosen if it is not the same as
the corresponding record in the master. If both plugin records are different
from the master record, then the record is chosen based on whether the first or
the last conflict should be deleted.


WEAP - Weapon

Attribute subrecords are merged on a one-by-one basis. A plugin subrecord is
chosen if it is not the same as the corresponding subrecord in the master. If
both plugin subrecords are different from the master subrecord, then the
subrecord is chosen based on whether the first or the last conflict should be
deleted.


WRLD - World space

The entire record is merged. A plugin record is chosen if it is not the same as
the corresponding record in the master. If both plugin records are different
from the master record, then the record is chosen based on whether the first or
the last conflict should be deleted.


WTHR - Weather

The entire record is merged. A plugin record is chosen if it is not the same as
the corresponding record in the master. If both plugin records are different
from the master record, then the record is chosen based on whether the first or
the last conflict should be deleted.


=========================================================================
=========================================================================


Version 1: TES4Plugin
---------------------

Initial release.


Version 2: TES4Plugin
---------------------

Top-level records marked as 'Ignore' will not be copied to the merged plugin.
Records in sub-groups will still be copied even if marked as 'Ignore' until I
know more about what happens when you omit records found in a sub-group.

Compressed records are expanded as needed instead of expanding all records when
loading the plugin. This should significantly reduce the storage requirements
when merging large plugins.

WRLD and CELL records in a master can be modified by multiple plugins. An error
will still be posted if any other record type is modified by more than one
plugin. Research is continuing to determine what can safely be modified without
breaking the merged plugin.


Version 3: TES4Plugin
---------------------

Add the capability to convert a master file to a plugin file.

Add the capability to edit the plugin description.

Create the application preferences data directory if it doesn't exist.

The XCHG subrecord is now recognized.

References in additional subrecords are now adjusted when merging plugins.

The CS ignores underscores in an Editor ID, so conflicts will now be resolved by
appending 'X' to the Editor ID.


Version 4: TES4Plugin
---------------------

Add the Display Records function.

All ignored records are deleted during a merge.

Leveled lists (creature, item, spell) are now merged.


Version 5: TES4Plugin
---------------------

Add the capability to display the complete subrecord data in a popup window.

Conditions are now processed properly in quest (QUST), package (PACK) and dialog
(INFO) records.

Top-level groups now have descriptive names instead of the 4-character record
type.


Version 6: TES4Plugin
---------------------

Deleted records are indicated in the record display tree view.

Eyes (ENAM) and Hair (HNAM) subrecords are now processed properly for Races.

Conflicts will be removed from the merged file.

Duplicate items will be removed from the merged file.

The plugin merge list is now sorted by the last modified date.

The Set Directory function now uses a file chooser dialog.

Leveled list conflicts can be edited during the merge.


Version 7: TES4Plugin
---------------------

Both references in the race voice override subrecord (VNAM) will be updated
during a merge.

Add the capability to generate silent dialog response files.

Add the capability to merge a plugin file into a master file.

Merge the associated voice files when merging plugins.

The merge order is now specified explicitly by the user instead of being
determined by the file modification dates.

Change the Display Records function to display both master files and plugin
files.

WRLD, CELL and DIAL subgroups will be merged instead of being duplicated.


Version 8: TES4Plugin
---------------------

Fix problem with form ID conflicts after a master record conflict.

Duplicate references not removed when merging subgroup.

Group label not updated when the label is a form ID (WRLD/CELL/DIAL).

Update references in XTEL and XLOC subrecords.

Replace NL with CRLF in plugin summary.


Version 9: TES4Plugin
---------------------

Use a case-insensitive compare when checking for Editor ID conflicts.

When displaying a plugin, sort the records for a top-level group based on the
Editor ID.

Correctly handle ENAM subrecord for SKIL record.

Correctly handle MGEF record.

Correctly handle SCIT subrecord for ENCH and SPEL records.

Correctly handle adding a tail to an existing race.

Add spill file support.

Toggle the "Ignore" flag for all records in a group when "Toggle Ignore" is
selected for a group.

Accept Version 1.0 plugin files. New plugin files are still created as Version
0.8.

Don't save ignored records and empty groups.


Version 10: TES4Plugin
----------------------

Add subrecord merge support.

Copy records referenced by the selected records for the Display/Copy function.

Don't build the subrecord nodes for the Display/Copy function until they are
needed.

Correctly handle the same CELL record in different groups.

Correctly handle XCLR subrecord for CELL records.

Allow a plugin to rename an object in a master file.


Version 11: TES4Plugin
----------------------

Allow any record or group to be copied.

Update GetDistance function references.

Handle escape sequences (%xx) in file URL paths.

Initialize the merged plugin description to the description from the first
plugin in the merge.

Add confirmation dialog if the output file already exists.

Add function to edit the plugin master list.

Add functions to create and apply plugin patches.


Version 12: TES4Gecko
---------------------

Renamed the project TES4Gecko.

Added Plugin Splitter to create an ESM/ESP pair from a source plugin.

Added Compare Plugins to view two plugins and highlight differences between
them.

Added "Yes to All" button on Merge to Master.

Fixed other minor interface issues.

Revised documentation.


Version 13: TES4Gecko
---------------------

Check master file size as well as master timestamp to decide if the index file
should be rebuilt.

Set the initial directory to the Oblivion\Data directory.

Preserve the plugin version whenever the plugin is modified.

Add progress bar when loading/saving/updating plugins.

Add support for patching master files as well as plugin files.

Fix problem with "\r\r\n" sequences when the edited description already contains
"\r\n".

Fix reversed 'Yes' and 'No' options in merge confirmation dialog.

Use file chooser when renaming a master list entry, allow selection of master or
plugin file.

Allow a master list entry to be deleted even if the plugin contains references
to the master. The records containing the references will be deleted.

Fix bug where removing a master did not update the plugin record form ID values.

Allow the master list order to be changed. While this doesn't affect the order
in which master files are loaded, it can be used to synchronize form ID values
for the Compare function.

Redesign the Compare Plugins function to improve the performance.

Add 'Toggle Ignore' and 'Copy to Clipboard' functions to the Compare Plugins
dialog.

Add Clean Plugin function.

Add Move Worldspaces function.

Form ID references in LNAM subrecords were not being updated.

Subgroup CELL record references were not getting updated, causing CELL
references to be lost or moved.

Allow the plugin version to be changed by the Edit Description function.

Correctly merge GMST and MGEF records with the same editor ID but different form
ID values.

Add the ability to split a plugin into an independent ESM/ESP pair.

Update the Display/Copy function to display the plugin master list and the
associated index values.

Add search option to the Display/Copy function.

Highlight master records for the Display/Copy function.

Merge BOOK subrecords.

Fix dialog chains when merging/copying info records.

Form ID references in PGRL subrecords were not being updated.

Add the ability to copy an item without also copying its references.

Add the ability to delete subrecords.

Insert the 'visible distant children' subgroup before the 'temporary children'
subgroup.

Form ID reference in SNAM subrecord of WTHR record were not being updated.

Form ID references in WLST subrecord of CLMT record were not being updated.

Form ID references in ATXT subrecord of LAND record were not being updated.

The "Move to plugin index" option for the Move Worldspaces function has been
removed because it does not work for plugins referencing relocated masters.

Visible-when-distant statics defined in a master but referenced in a plugin will
be cloned in the plugin if they need to be relocated.


Version 14: TES4Gecko
---------------------

Add the exterior cell X,Y coordinates to the tree node description.

Assign interior cell block/subblock based on the merged form ID for the cell.

Change the Split Plugins function to move visible-when-distant groups to the
plugin.

Form ID references in DATA subrecord of IDLE record were not being updated.

Creature sounds merged incorrectly.
________________________________________________________________________________
__________________________________________________________________________

All this sounds daunting, but I assure you it's rather easy to merge plugins. The best place to start is to merge 2 plugins together. Try 2 small tweaks that you like or better yet, just for your own peace of mind, 2 you could care less about. What you'll do is go to the Gecko folder, click the "jar" file and a screen will come up. The first bit on the screen is merge plugins. Then go to the 2 tweaks you want to merge. Click on one of them and put the number 1 in the box to the left of the mod name. Go to the second tweak and put the number 2. Now Go to Ok, at the bottom of the window you have open. You'll be shown a screen with a possible mod name box, Default is Merged plugin.esp but you can name it however you want. for now let's say you picked Merged Plugin.esp. The Gecko will now copy the 2 esps into one, and will let you know if it isn't possible(this happens very rarely). After the 2 plugins are merged, you now have both of those esp's still intact plus the Merged plugin.esp. Now I suggest you take the 2 tweaks out of your data folder(If using Wrye Bash you can simply "hide" them and they'll auto go to that folder). Now I suggest you name the MergedPlugin.esp to one of the 2 mods you just merged so it can go to that mod's place in the load order when you use FCOM helper. It's as simple as that. If you don't like the merger you just did, simply delete the Merged plugin.esp and use the 2 esp's you merged...they're still intact.

Some good advice in merging is:
1) Merging weapons and armor mods is rather easy as the mods are mostly just textures and meshes. The ESP's are pretty small. I've merged over 150 weapons and armor mods into one esp and it's still under 2mb. That ought to tell you something.

2) if you have massive mergers like the one I just mentioned, then the OBMM will either take forever to make it into an OMOD or just give up before it can. This doesn't make the new esp unplayable, far from it. It just means you don't need an OMOD for it. I'd recommend using Wrye Bash instead if you're at the point you need to merge mods anyway.

3)Merging tweaks is easy, but make sure you know exactly what the tweak does before you do it. some Tweaks SOUND like just what you want, til you play them and discover that you were wrong. This has happened to me several times.

4) Dungeon mods are easy to merge, but be careful that you know where all the dungeons are located in the world. You don't want mods occupying the same world space. Believe it or not, this doesn't happen very often. Guess we've all been lucky.

5) Quest mods are a bit trickier due to their content. I strongly advise NOT to merge the big quest mods with Gecko, and stick with the smaller ones. However, one small mod I've noticed has a missing mesh in it's design, Cherdynhal Murder Mystery. Yes, I spelled Cheydinhall wrong, but so did the mod maker. Don't merge this one.

6) DO NOT TOUCH THE MODS ASSOCIATED WITH FCOM. The complexities of the load order designs with FCOM convergence will be complicated by this. I'm not just saying don't touch the "big 4 overhauls" but all mods that have plugins associated with it such as Slof's Robe Trader, Blood & Mud, etc. Trust me, there's plenty of room to merge without touching these.

7) Be wary of merging mods with multiple masters. Let's say you have a patch to VH Bloodlines. It makes sense to merge this patch with VH bloodlines and it will work. However, since the patch has a dependency on the VH Bloodlines mod it'll carry over into the merger. So you'll then have a merged plugin that is dependant on itself and will not work. With Wrye Bash you can change this dependancy to a different mod, such as a master file you will always be using.

8) for those really big mergers where you have a ton in one, you might want to keep a notepad entry noting what you have merged into that one esp. This is simply something you can look at when you have a question.

***Sometimes after a merger it'll make the bmusicenabled feature in your Oblivion.ini reset to 0. Simply go into the Oblivion.ini and go to Bmusicenabled and put the value to 1.

Anyway. Do not be afraid to try out the Gecko. Please post your questions here and I'll try and answer them if I have the time.

User avatar
Katy Hogben
 
Posts: 3457
Joined: Mon Oct 30, 2006 12:20 am

Post » Wed Sep 01, 2010 6:49 pm

I've been using TES4Gecko for various things, and just started using it to merge plugins. I attempted to do this with the following:

Cave of Wishcraft
Bottomless Cavern
Ruins of Aeris Zul
Gift of Kynareth,
Gaelendryl
Fort Krakatus
Fort Falkenshire
Fort Ferrion
Acolyte of Kynareth

I get this error message when I finish attempting the merge:

java.lang.NullPointerException
TES4Gecko MergeTask.mergeDialogTopic (MergeTask.java.2089)
TES4Gecko MergeTask.mergePlugin (MergeTask.java 1187)
TES4Gecko MergeTask.run (MergeTask.java.568)

...and the merge fails. All mods were pre-cleaned with TES4Edit. I've successfully merged other mods together using TES4Gecko, but I'm at a loss to figure this out. None of the mods listed above have an dependencies outside the obvious (Oblivion). Any help that can help explain what's going on and how I can remedy it would be greatly appreciated.
User avatar
Kate Norris
 
Posts: 3373
Joined: Mon Nov 27, 2006 6:12 pm

Post » Wed Sep 01, 2010 8:10 am

Surely it gave another error as well as that?

Some of those mods contain vanilla Wilderness cells (i.e. nameless) which have been given cell names. TES4Gecko has trouble merging mods when multiple ESPs contain the same cell with conflicting cell names. To resolve, you need to either remove the cell names, or duplicate the cell names into every mod editing the same cell. It's very likely that this is the cause of your failed merge (but normally in addition to the error you had, there would be another error vaguely hinting at a specific cell causing the upset - without mentioning which ESP it had trouble with).

If you know what the mod does and how it works, removing the cell names would be tidiest. However, do be aware that naming cells is a way to ensure that scripts detect your presence in those cells - as long as an interior cell exists with the same partial or complete cell name (either a used cell or a dummy cell). By this, I mean that if an interior cell were called for e.g. "Bravil", a script could be written to check things in a cell named "Bravil" - the script will then check the interior cell named "Bravil" plus any other cell whose name begins with "Bravil". So if it's possible that the mod might do this, you should keep the cell rename and duplicate it into the other mods you wish to merge which edit the same cell. Trouble of course will come if there's more than one mod renaming the cell different things, and there is or might be scripting involved in one or more of these conflicting mods requiring the cell name to match that mod's naming convention.
User avatar
luis ortiz
 
Posts: 3355
Joined: Sun Oct 07, 2007 8:21 pm

Post » Wed Sep 01, 2010 9:18 pm

Surely it gave another error as well as that?


No, that was it.

Some of those mods contain vanilla Wilderness cells (i.e. nameless) which have been given cell names. TES4Gecko has trouble merging mods when multiple ESPs contain the same cell with conflicting cell names. To resolve, you need to either remove the cell names, or duplicate the cell names into every mod editing the same cell. It's very likely that this is the cause of your failed merge (but normally in addition to the error you had, there would be another error vaguely hinting at a specific cell causing the upset - without mentioning which ESP it had trouble with).


You have a point about at least two of those mods: they do modify vanilla Wilderness cells, and I should have considered that. As I haven't played the mods yet, I'm not about to mess around with them: I like surprises from the quest mods I run, and finding out all the details in advance would take that away. I'll try merging the other plugins in the lot, and see how that goes. Thanks for replying with a solid, detailed explanation!
User avatar
Ben sutton
 
Posts: 3427
Joined: Sun Jun 10, 2007 4:01 am

Post » Wed Sep 01, 2010 1:58 pm

pardon me for being quite computer chalanged but im not quite understanding how to do the instalation.
is it possible to run this from a folder on my desk top if so i can name the folder tes4gecko
so could someone please explain in a tes4geko for dumbies style how to set the short cut please it would be quite helpfull.
User avatar
Gill Mackin
 
Posts: 3384
Joined: Sat Dec 16, 2006 9:58 pm

Post » Wed Sep 01, 2010 4:53 pm

No, that was it.



You have a point about at least two of those mods: they do modify vanilla Wilderness cells, and I should have considered that. As I haven't played the mods yet, I'm not about to mess around with them: I like surprises from the quest mods I run, and finding out all the details in advance would take that away. I'll try merging the other plugins in the lot, and see how that goes. Thanks for replying with a solid, detailed explanation!


Well you can determine whether what I said is your issue or not without spoiling any surprises. Load up all those ESPs in TES4Edit, and take a look at the cell records. Any time two or more ESPs edit the same cells, check the Cell names. If the names are changed by one ESP but not by the other(s), then drag the new cell name into the record entries for the other(s). As long as you only have one ESP giving a cell a name, this will resolve the problem (assuming that your problem is the one I stated).
User avatar
Grace Francis
 
Posts: 3431
Joined: Wed Jul 19, 2006 2:51 pm

Post » Wed Sep 01, 2010 7:07 pm

I get this error message when I finish attempting the merge:

java.lang.NullPointerException
TES4Gecko MergeTask.mergeDialogTopic (MergeTask.java.2089)
TES4Gecko MergeTask.mergePlugin (MergeTask.java 1187)
TES4Gecko MergeTask.run (MergeTask.java.568)


This means something was wrong with one of the dialogue topics in one of the plugins. A "null pointer exception" means that something in the plugin is pointing to 00000000 in a situation where a proper value is expected. You'd have to go digging through the Java source code for the app to find out exactly what it's trying to process, but that may not be much help.
User avatar
Emmi Coolahan
 
Posts: 3335
Joined: Wed Jan 24, 2007 9:14 pm

Post » Wed Sep 01, 2010 6:04 pm

okay, so i've added a *few* new mods but i can't use 'em because of the 255 limit. Could you guys do me a huge favor and tell me which one you would merge if this was your load order:
(for ease of looking at the list i got rid of all the esms and esp marked green in bash, and on the very botton are two or three files that BOSS didn't recognize so they aren't where they belong yet)
Possible MergesUnofficial Oblivion Patch.espFlamesRandomLightUOP.espDLCShiveringIsles.espUnofficial Shivering Isles Patch.espSM Plugin Refurbish - SI.espBetter Cities .espTamRes.espFrancesco's Optional Chance of Stronger Bosses.espFrancesco's Optional Chance of Stronger Enemies.espFrancesco's Optional Chance of More Enemies.espFrancesco's Optional Leveled Guards.espFCOM_FrancescosNamedBosses.espAll Natural - Real Lights.espAll Natural.espAll Natural - SI.espEnhanced Water v2.0 HDMI.espCampfireBehavior.espWindowLightingSystem.espAmbientDungeons.esp300_Lore_Dialogue_Updated.espAdonnays Ranger Coats.espAFK_PrayerIdles.espBook Jackets Oblivion.espCDM - Uderfrykte Matron Fix.espCT-Com's Torch Compendium.espdiversegrasses.espLock Bash Omega.espNBB.espP1DrobesOver.espDoomstones Expanded.espSoT_Holiday.espCyrodiil Economic Overhaul.espEnhanced Economy.espCrowded Roads Advanced.espChoices and Consequences.espMap Marker Overhaul.espMap Marker Overhaul - SI additions.espLandmarks, w Wells.espAyelid Wells.espDLCHorseArmor.espDLCHorseArmor - Unofficial Patch.espSM Plugin Refurbish - HorseArmor.espDLCOrrery.espDLCOrrery - Unofficial Patch.espSM Plugin Refurbish - Orrery.espChoices and Consequences - SM Plugin Refurbish - Orrery.espDLCVileLair.espDLCVileLair - Unofficial Patch.espDLCMehrunesRazor.espDLCMehrunesRazor - Unofficial Patch.espSM Plugin Refurbish - MehrunesRazor.espDLCSpellTomes.espAdonnays Classical Weaponry.espDBShadowSet.espSentientWeapon.espShields Of Antiquity.espThieves Arsenal.espMage Equipment.espkuerteeHorseCommands.espDLCThievesDen.espDLCThievesDen - Unofficial Patch.espDLCThievesDen - Unofficial Patch - SSSB.espSlof's Oblivion Robe Trader.espCobl Glue.espCobl Si.espOOO 1.32-Cobl.espBob's Armory Oblivion.espFCOM_BobsArmory.espLoth's Blunt Weapons for Npcs.espOblivion WarCry EV.espFCOM_WarCry.espOscuro's_Oblivion_Overhaul.espOMOBS Optional Combat Settings.espChoices and Consequences - OOO.espArmamentariumArtifacts.espMart's Monster Mod - Additional Enemy NPC Vars.espFCOM_Convergence.espFCOM_RealSwords.espFCOM_DurabilityAndDamage.espMart's Monster Mod - More Wilderness Life.espMart's Monster Mod - Extra Wounding.espMart's Monster Mod - Looting NPCs & Creatures.espMart's Monster Mod - No Werewolves.espMart's Monster Mod - Less Reavers.espMart's Monster Mod - Zombies for Body Meshes.espMart's Monster Mod - Dungeons of MMM.espMart's Monster Mod - Gems & Gem Dust.espMart's Monster Mod - Hunting & Crafting.espMart's Monster Mod - Farm Animals.espTamrielTravellers4OOO.espTamrielTravellersItemsCobl.espShiveringIsleTravellers.espFCOM_MoreRandomSpawns.espFCOM_MoreRandomItems.espT.I.E4MODS.espSSEE-OOO.esp(DC) Kvatch Watch Towers.espCastle Ravenpride.espCyrodiil transportation network.espIvellon.espAdenseEpicDungeon1_5.espArtifacts.espBHC_Expanded.espCDEP-UnderpallCave.espImpeREAL Empire - Unique Forts.espKragenir's Death Quest.espKDQ - Rural Line Additions.espKragenirs_WhiteStallion_Compat.espKvatchRising.espEiAmod.espOldCrowInn.espLostSwordOfTheAylied.espMalevolent.espME_DAEDRIC_RECON.espNNWAREAyleidDungeons_Series1EV.espNNWARE01EV-Sercen.espNNWARE02EV-Trumbe.espNNWARE03EV-Piukanda.espNNWARE04EV-Veyond.espRegion Revive - Lake Rumare.espThe Ayleid Steps.espTheElderCouncil.espTheElderCouncil_TempleOfTheOne.esp(DC) The Pride of Wolfs Gate.espTheForgottenShields.espTheStorytellersBrotherQuest.espThievery.espthievery - EE patch.espTR_Stirk.espStirk_Compatibility_Patch.espUnique Dungeons - Lichs Lair.espVOILA.espVOILA - Soldiers of Empire.espza_bankmod.esp24HrArenaAliveV2.espKnights.espKnights - Unofficial Patch.espDamarask.espTOTF.espTOTF-EiAE Patch.espRTT.espRTT-Weye Relocation Patch.espThe Lost Spires.espThe Lost Spires_delayer.espAFK_Weye.espRumare-AFK_Weye Patch.espGuardsofCyrodiilRedux.espMighty Umbra.espUngarion1TheWelkyndSword.espBlood&Mud.espBlood&Mud - EE patch.espOrigin of the Mages Guild.espHoarfrostCastle.espLanternMonastery.espFiveLanterns-HoarfrostCastle patch.espMannimarcoRevisited.espMannimarcoRevisitedOOO.espMart's Monster Mod - City Defences.espFCOM_Blood&Mud.espFCOM_OMG.espEnhanced Daedric Invasion.espFeldscar.espVergayun.espFaregyl.espxuldarkforest.espLostSpires-DarkForest patch.espxulStendarrValley.espxulTheHeath.espMMMMWL-TheHeath patch.espXulEntiusGorge.espxulFallenleafEverglade.espLostSpires-Everglade patch.espTheElderCouncil-FallenleafEverglade patch.espxulColovianHighlands_EV.espxulChorrolHinterland.espxulBeachesOfCyrodiilLostCoast.espKragenirsDeathQuest-LostCoast patch.espNNWARE1_Dungeon05ULPatch.espxulBravilBarrowfields.espxulLushWoodlands.espHoarfrostCastle-LushWoodlands patch.espxulAncientYews.espSentientWeaponII-AncientYews patch.espxulAncientRedwoods.espxulCloudtopMountains.espKragenirsDeathQuest-CloudtopMountains patch.espxulArriusCreek.espxulPatch_AY_AC.espLostSwordoftheAyleids-ArriusCreek patch.espxulRollingHills_EV.espMMMMWL-RollingHills patch.espKragenirsDeathQuest-RollingHills patch.espxulPantherRiver.espxulRiverEthe.espxulBrenaRiverRavine.espNakedNord.espxulImperialIsle.espxulBlackwoodForest.espxulCheydinhalFalls.espTearsOfTheFiend-CheydinhalFalls patch.espCastleRavenpride-CheydinhalFalls patch.espDungeonsOfIvellon-CheydinhalFalls patch.espxulAspenWood.espEtInArkay-UniqueLandscapes Merged patch.espCastle_Seaview.espCastleSeaview+LostCoast Patch.espbartholm.espBartholm-Panther River Patch.espbartholm - EE patch.espFort Akatosh Redux.espOTEP - Aleswell.espMoriarcis.espRegionReviveLakeRumare-ImperialIsle patch.espHarvest [Flora].espbgProtectMortalNPCs.espBirthsigns Expanded.espA Bloody Mess - Bloody Fights.espCliff_RiskyInnBeds.espCUO_FightersGuildContracts_SAFE.espCUO_NewFactionDialog_SAFE.espDropLitTorchOBSE.espEVE_ShiveringIslesEasterEggs.espDungeon Actors Have Torches 1.6 DT.espKyoma's Journal Mod.espkuerteeInventoryIsABackpack.espLeviathan Soulgems.espOblivion - Potions.espOblivion - Unique Potions.espOblivifall - Closing Time.espOblivifall - Let's Talk!.espOblivifall - Something's Not Right.espP1DkeyChain.espkuerteeGoldIsAnInventoryItem.espSalmo the Baker, Cobl.espEnhanced Vegetation [110%].espFeudal Empire 300.espQuest Award Leveller.espCliff_Roleplayingcharacter.espkuerteeEncumberingLootArmourAndWeapons.espSM Rest.espTFE.espTFE Cobl Glue.espRoughing It.espDuke Patricks - Nosferatu Class Vampires.espAgarMoreVariedSpellEffects.espsr_enhanced_magic_system.espSupremeMagicka.espSM_ShiveringIsles.espSM_EnchantStaff.espMidasSpells.espAudaciousMagery.espVector.espSyc_AtHomeAlchemy.espEnchantmentRestore.espattack and hide medium v2.1.espRenGuardOverhaul.espRenGuardOverhaulShiveringIsles.espsycHearNoEvil.espsycSHOUT.espEnhanced Grabbing.espSuddenViolence_CombatMoves.espSuddenViolence_Push.espSuddenViolence_Sprint.espDeadly Reflex 5 - Timed Block and 2.5x damage.espDeadlyReflex 5 - Combat Moves.espkuerteeNPCsYield.espDuke Patricks - Near Miss Magic And Arrows Alert The Target.espDuke Patricks - All NPC Or Just Vampires Now Bob And Weave.espDuke Patricks - Fresh Kills Now Alert The NPCs.espnGCD.espnGCD Oghma Infinium.espProgressMBSP.espProgressSBSP.espProgressRacial.espProgressArmorer.espLegendary Abilities-Shield MOJ.espimmersive_caves_manual.espLet There Be Darkness - Knights.espLet There Be Darkness - Cyrodiil + SI.espLet There Be Darkness - Mehrunes Razor.espbgBalancingEVCore.espbgMagicEV.espbgMagicBonus.espbgMagicEVPaperChase.espbgBalancingEVLAMEAddition.espbgIntegrationEV.espWillful Resistance.espScriptedArgonianFeet.espBetter Cities - Full City Defences.espBetter Cities Full - B&M Edition.espBetter Cities - Unique Landscape Barrowfields.espBetter Cities - Ruined Tail's Tale.espBetter Cities - Unique Landscape Chorrol Hinterland.espBetter Cities - Tears of the Fiend.espBetter Cities - Unique Landscape Cheydinhal Falls.espBetter Cities - Thievery.espBetter Imperial City.espBetter Cities - Old Crow Inn.espBetter Cities - COBL.espSPAWN.espbgMagicLightningbolt.espGet Wet - just droplets.espScreenControls.espUnnecessaryViolence.espBashed Patch, 0.espDuke Patricks - Momentum Damage And Jump Risk.espMergedMaps.espFormID Finder4.espkuerteeCleanUp.espStreamline 3.1.espxleyawiinSwamp.espDuke Patricks - Basic Alchemic Immersion.espGuardsofCyrodiilRedux - RRLRpatch.espFiveLanterns-StendarrValley patch.espDuke Patricks - Actors Can Miss Now.espClothes Get Wet.espCM Partners.esp

User avatar
gemma king
 
Posts: 3523
Joined: Fri Feb 09, 2007 12:11 pm

Post » Wed Sep 01, 2010 7:28 pm

First - I hope that is not your load order because if it is you are gonna have problems.

The rule of thumb I follow is if the mod has not been updated in over a year it is a good candidate for merging.

But there are other rules I follow.

Never merge overhaul related mods - why? They get updated or an update might rely upon them. Further never merge an esp that has an esp dependent upon it.

Don't merge landscape mods either. Although at one point I'd merged patches to UL mods (just not the UL mods themselves), I don't recommend that now.
Arthmoor and Vorians may make more patches than they eradicate, but they do endeavor to remove the need for patches and that, to me, is highly commendable (much different than it used to be). Besides they update UL mods and UL patches pretty consistently.

So then that narrows things down to certain types of mods - game tweaks that do not touch any part of a cell or worldspace are great candidates.

next look at load order - it is better to merge things that load early to each other than to merge late and early loading mods then loading it late or early.

So think like this:
1. Is it affecting world spaces in an area that may need patching? if yes don't merge.
2. Is it updated consistently? if yes then don't merge.
3. Is it part of an overhaul? If yes then don't merge.
3. Does it have another esp that is dependent upon it? Probably not a good idea, but yeah it could be done.
4. Does it load early? If yes then don't merge with late loading mod or load mod late. and vice versa.

The reason I like merging game tweaks is that they usually reach a finished state. Really is annoying for a modder to hear their mod isn't working only to learn it was merged with gecko.

so a few examples ...

Home Care mods merged.esp
Decorator Assistant
Decorator Assistant Unlock
Auto Book Placer
Reznods Mannequins
Universal Armor Stands

Game Tweaks Early.esp
Oblivion Citadel Door Fix
UOP Vampire Aging Fix
More Classes
Skeleton Key Revised 1.0
Real Days and Months
Reneers Notes Mod 0.92
Cliff County Names 1.1

Game Tweaks Late.esp
At Home Alchemy No Bounty v2
Skycaptain Bloodtime
_Burning Kvatch
Cliffs Better letters 1.1
Dungeon Actors Have Torches 1.6
Geomancy & Gemdust OOO 1.1
Medic! 1.0
P1DLookHereYou
No Looting During Combat 0.51
Stop Dark Brotherhood 1.1
Skeleton Key Revised 1.0
Wearable GS and DS Armor 0.1
SI Armors Wearable - Frans

Dialogue Mods Merged.esp
Roleplaying Dialogues 1.3
300_Lore Dialogues 2.3
Talk with Your Hands v2

Anyway that is just my 10cents on the subject.
User avatar
C.L.U.T.C.H
 
Posts: 3385
Joined: Tue Aug 14, 2007 6:23 pm

Post » Wed Sep 01, 2010 8:41 pm

lol, no that's not my LO, it's just the mods that i'm looking to merge with one another.
thnx for ur 10cents :P, although can you(or anyone) give me more specifics groups of mods to merge as per my list? granted i know that is asking a lot, believe me. however, it would be very much appreciated
User avatar
Emily Shackleton
 
Posts: 3535
Joined: Sun Feb 11, 2007 12:36 am

Post » Wed Sep 01, 2010 10:49 am

alright well i had a go at some merging but i got one problem.
i really need to find a way to merge the following together:
Better Cities - Unique Landscape Barrowfields.espBetter Cities - Ruined Tail's Tale.espBetter Cities - Unique Landscape Chorrol Hinterland.espBetter Cities - Tears of the Fiend.espBetter Cities - Unique Landscape Cheydinhal Falls.esp

unfortunately i tried it but when i rebuild my bash patch i get this message:
srcFile.load(True)
File "C:\Program Files\Bethesda Softworks\Oblivion\Mopy\bosh.py", line 5084, in load
self.tops[label].load(ins,unpack and (topClass != MobBase))
File "C:\Program Files\Bethesda Softworks\Oblivion\Mopy\bosh.py", line 4105, in load
self.loadData(ins, ins.tell()+self.size-20)
File "C:\Program Files\Bethesda Softworks\Oblivion\Mopy\bosh.py", line 4956, in loadData
worldBlock = MobWorld(header,selfLoadFactory,world,ins,True)
File "C:\Program Files\Bethesda Softworks\Oblivion\Mopy\bosh.py", line 4748, in __init__
MobCells.__init__(self,header,loadFactory,ins,unpack)
File "C:\Program Files\Bethesda Softworks\Oblivion\Mopy\bosh.py", line 4572, in __init__
MobBase.__init__(self,header,loadFactory,ins,unpack)
File "C:\Program Files\Bethesda Softworks\Oblivion\Mopy\bosh.py", line 4095, in __init__
if ins: self.load(ins,unpack)
File "C:\Program Files\Bethesda Softworks\Oblivion\Mopy\bosh.py", line 4105, in load
self.loadData(ins, ins.tell()+self.size-20)
File "C:\Program Files\Bethesda Softworks\Oblivion\Mopy\bosh.py", line 4790, in loadData
' subblock.' % (hex(cell.fid), cell.eid))
bosh.ModError: Better Cities - Merges Patches.esp: Exterior cell <0x23777> None after block or subblock.

any ideas on how to merge these patches together?
User avatar
Andrea Pratt
 
Posts: 3396
Joined: Mon Jul 31, 2006 4:49 am

Post » Wed Sep 01, 2010 8:34 pm

alright well i had a go at some merging but i got one problem.
i really need to find a way to merge the following together:
Better Cities - Unique Landscape Barrowfields.espBetter Cities - Ruined Tail's Tale.espBetter Cities - Unique Landscape Chorrol Hinterland.espBetter Cities - Tears of the Fiend.espBetter Cities - Unique Landscape Cheydinhal Falls.esp

unfortunately i tried it but when i rebuild my bash patch i get this message:

any ideas on how to merge these patches together?


Might be better not to try.

The error shows that the Bash Patch got upset with an exterior cell. At a guess I'd suggest that some data was lost during the Gecko merge which is referenced by another part of one of the patches. But since it's a Wrye Bash error, you need to be posting this in a Wrye Bash thread where someone might know exactly what the error means.
User avatar
Tyrel
 
Posts: 3304
Joined: Tue Oct 30, 2007 4:52 am

Post » Wed Sep 01, 2010 10:21 pm

so is there no way at all to merge these patches together? this is the only thing holding me back from playing the game...
and i would've post the error in the WB thread but none are currently active :(
User avatar
Charlotte Henderson
 
Posts: 3337
Joined: Wed Oct 11, 2006 12:37 pm

Post » Wed Sep 01, 2010 1:33 pm

so is there no way at all to merge these patches together? this is the only thing holding me back from playing the game...


How is it doing this?
User avatar
Shelby McDonald
 
Posts: 3497
Joined: Sat Jan 13, 2007 2:29 pm

Post » Wed Sep 01, 2010 4:34 pm

because i'm at the 255 limit :P
User avatar
CORY
 
Posts: 3335
Joined: Sat Oct 13, 2007 9:54 pm

Post » Wed Sep 01, 2010 12:08 pm

because i'm at the 255 limit :P


Okay, good, so this is a limit-bypass problem, not an "I'm too stubborn to give up even if this kills me" problem.

Well, personally, what I would do is merge as much of the patches as possible using TES4Edit. If you don't have absolute certainty of how to do this, don't try it. You'll only waste time and end up with a mess. But if you know how to use TES4Edit to copy records, overwrite records, disable records, and merge the correct variations of the same records, (plus other things, TES4Edit allows a lot of control of ESPs) then try it.

By the way, my guess would be that the Bash Patch had trouble with a persistent object, since "Exterior cell <0x23777>" could well mean cell 23777 from ESM/ESP 0 which would be cell 00023777, Tamriel worldspace's Persistent "cell".
User avatar
The Time Car
 
Posts: 3435
Joined: Sat Oct 27, 2007 7:13 pm

Post » Wed Sep 01, 2010 10:38 pm

damn, well i have no idea how to merge with TES4Edit, at least not to the degree that is required. Is there any way at all that you (or anyone else reading this thread) could do this for me? It would be much appreciated. Actually, it sounds like a good wiki entry on merging with TES4Edit would be good right about now
User avatar
(G-yen)
 
Posts: 3385
Joined: Thu Oct 11, 2007 11:10 pm

Post » Wed Sep 01, 2010 12:09 pm

damn, well i have no idea how to merge with TES4Edit, at least not to the degree that is required. Is there any way at all that you (or anyone else reading this thread) could do this for me? It would be much appreciated. Actually, it sounds like a good wiki entry on merging with TES4Edit would be good right about now


I don't really have the time to merge patches together. Go back to Gecko, and merge just two of them together, see if you can figure out at what point a merge goes bad and upsets Bash Patch.
User avatar
Dawn Farrell
 
Posts: 3522
Joined: Thu Aug 23, 2007 9:02 am

Post » Wed Sep 01, 2010 7:43 pm

k, i think i fixed it. for some reason i had the merged esp tagge as C. Water, so i removed the tag and now the patch seems to be rebuilding without error :)
User avatar
JD bernal
 
Posts: 3450
Joined: Sun Sep 02, 2007 8:10 am

Post » Wed Sep 01, 2010 9:25 am

quick question, are ini file dependent on esp names?
i merged:
kuerteeInventoryIsABackpack.esp
kuerteeGoldIsAnInventoryItem.esp
kuerteeEncumberingLootArmourAndWeapons.esp
and i'm wondering if these mods will function as a merged file under one name since they each have their own separate ini files.
User avatar
ILy- Forver
 
Posts: 3459
Joined: Sun Feb 04, 2007 3:18 am

Post » Wed Sep 01, 2010 8:19 pm

My experience is that they are dependent upon the name of the ini but that merging ini files together is not a good idea (unless you can then have it look for the new ini and its entries, but then you would be modding.

From what I've seen it is safe to merge together mods that access different ini and they will continue to access those ini even when merged.

I've merged all Progress add on mods (each with their own ini).
User avatar
Marguerite Dabrin
 
Posts: 3546
Joined: Tue Mar 20, 2007 11:33 am

Post » Wed Sep 01, 2010 4:28 pm

Hopefully a simple question that someone has a verifiable answer to. Is it relatively safe to merge CM partner mods together that use the same custom race (like all of those cute elf ones out there) as long as they have never been used in game? If not, is it safe to merge CM partners that just use vanilla resources?

I have a large number of partner mods (I use them to help populate the world some more and give more variety in npcs) and merging would help lower my mod count considerably. I dont plan on merging partner mods that rely on different masters than one another (i.e. no merging cute elf partners with vanilla partners) but to just group all of the partners with the same dependencies together.

On a related note, is it safe to merge partners that are of the same race but have different dependencies? I have some cute elves that rely on rens beauty pack and others that do not, would it mess anything up to merge them all?

-Ex0dus
User avatar
Stay-C
 
Posts: 3514
Joined: Sun Jul 16, 2006 2:04 am

Post » Wed Sep 01, 2010 8:16 pm

Bump
User avatar
Jacob Phillips
 
Posts: 3430
Joined: Tue Aug 14, 2007 9:46 am

Post » Wed Sep 01, 2010 12:26 pm

is it safe to merge CM partners that just use vanilla resources?

yes
Is it relatively safe to merge CM partner mods together that use the same custom race

i believe so
is it safe to merge partners that are of the same race but have different dependencies?

again, you should be fine. As long as your not merging an esp that depends on an esp with that esp (i.e if modB depends on modA, don't merge modA and modB together)

just remeber to backup your originals and you'll be fine. worst case senerio, you just have to revert back to the originals :P
User avatar
Theodore Walling
 
Posts: 3420
Joined: Sat Jun 02, 2007 12:48 pm

Post » Wed Sep 01, 2010 3:24 pm

again, you should be fine. As long as your not merging an esp that depends on an esp with that esp (i.e if modB depends on modA, don't merge modA and modB together)

just remeber to backup your originals and you'll be fine. worst case senerio, you just have to revert back to the originals :P


Though if you convert modA to an ESM, you can use "Merge to Master" to merge modB with modA then convert the merged ESM into an ESP.
User avatar
Kelly Upshall
 
Posts: 3475
Joined: Sat Oct 28, 2006 6:26 pm

Next

Return to IV - Oblivion