Difference between revisions of "De-Isolation Tutorial"

4,746 bytes added ,  18:42, 16 July 2007
Background and Esp Mastering
imported>Dev akm
(formatting)
imported>Wrye
(Background and Esp Mastering)
Line 1: Line 1:
by dev_akm
==Mod Isolation and De-Isolation==
Lets start with the confusing bit:
* TESCS ''seems'' to allow you to make one esp dependent on another. When loading, you can turn on esps the same way you turn on esms, and their content will appear and be usable. But...
* When you save your new plugin, TESCS will refuse to remember that the plugin was built on top of those other esps. If you then reload your newly created plugin, TESCS will then be lacking the internal references to connect it back to the esps you had loaded before, and you'll likely get lots of error messages and things generally won't work as desired. This is called '''Mod Isolation'''.
* ''However...'' using external tools, it's possible to temporarily turn an esp into an esm. And having done that, TESCS will then allow you to establish dependencies on it.


DRAFT
So, in short: the totally naive modder thinks you can make make esps dependent on other esps; the more advanced modder thinks you can't; and the hyper-guru, master modders know that you can (with a little work). And here's how...


== An Advanced Modding Tutorial for TES4Gecko and Wrye Bash ==
==Esp Mastering with Wrye Bash==
There are two ways to use [http://wrye.ufrealms.net/#WryeBash Wrye Bash] to make esp masters. The older way involves creating an esm copy of the esp, then building on top of that, and then, when done, editing the masters list of the mod to point back to the esp instead of the esm. (Oddly, the game itself allows esp-mastering -- it's only TESCS that objects to it.)
 
The newer Wrye Bash approach doesn't make an esm copy of the mod, but instead flips a bit in the esp file that fools TESCS into treating an "esp" extension file as an esm. This is a bit less messy then the older approach -- but you have to remember to flip the bit back before you play.
 
Having said all that, the process is actually quite simple:
* If you want to add an esp master to the mod, then (in Wrye Bash):
** Go to Mods tab, right click on the esp you want to act as master (e.g., Alpha.esp), and...
** Select '''Esmify Self''' from the context menu.
* Start TESC in the normal way, and include the esm'ified esp just like you include Oblivion.esm.
** Note that since it's now an "esm" as far as TESCS is concerned, it will appear near the top of the the mod listing in TESCS.
* Mod in the normal way, and save your new mod (e.g. Beta.esp).
** If you've done things correctly, then Beta.esp will have both Oblivion.esm and Alpha.esp as masters -- and they'll both appear in blue text in the masters list for Beta.esp in Wrye Bash.
** ''The blue text is a hint that the mod is still esm'ified!''
* Before playing, you need to convert the Alpha.esp back to an esp, so...
** On the Mods tab, right click on Alpha.esp and select '''Espify Self''' (the command changes to match the esm/esp state of the mod.)
** '''Or...''' On the mods tab, right click on Beta.esp and select '''Espify Masters'''. This is useful if the mod has more than one esp master.
 
'''Additional tips:'''
* If a mod already has esp masters then you can quickly flip all of them to esm state by using the '''Esmify Masters''' command.
* In short, you only need to use "Esmify Self" when you're adding esp masters to a mod. If it's already dependent on them, just use the "Esmify Masters" and "Espify Masters" commands on the dependent mod (Beta.esp).
* If you're modding and playtesting, You can actually use "Espify Masters" ''before'' quitting TESCS -- ''so long as you don't reload the esmified esps, TESCS will continue to think that they're esms!'' If you're doing this, be ''sure'' that when you load, esps are esmified -- if they're not, then TESCS will treat them like esps and your mod will be messed up.
** Just to be safe, it's probably a good idea to make backups of your mod on a regular basis. You can do this manually, and/or you can take advantage of Bash's [http://wrye.ufrealms.net/Wrye%20Bash.html#FileCommands Snapshot and Backup] features.
* Not all esps cooperate well with each other. E.g., Martigens Monster Mod defines a "GoldenSaint" editor id which conflicts with the "GoldenSaint" defined by the SI version of Oblivion.esm. You'll need to understand the mods involved and the nature of the particular conflict to know whether you can ignore such warnings or not.
* The "Espify/Esmify Self" command is also useful for editing esm files. While TESCS will not ordinarily allow you to modify esm files, you can use the "Espify Self" command to turn them into esps that can be edited. However, there are limits on this -- not all files behave well when treated as esps (e.g. Oblivion.esm).
 
== TES4Gecko and Wrye Bash (Somewhat Dated)==
'''Warning: The following section is rather dated, referring to and the older Bash Espify/Esmify command, and suggesting use of the "Add Master" command which is a bit dangerous. For simple esp-mastering, use the section above.'''


Normally, when people make changes to a plugin, they just open it up in the CS and do it. But what if you want to avoid having your changes wiped out by the next release of that plugin? Here is a simple scenario where it makes a lot of sense to take advantage of mod "de-isolation" to preserve your changes in a separate plugin.
Normally, when people make changes to a plugin, they just open it up in the CS and do it. But what if you want to avoid having your changes wiped out by the next release of that plugin? Here is a simple scenario where it makes a lot of sense to take advantage of mod "de-isolation" to preserve your changes in a separate plugin.
Anonymous user