Difference between revisions of "De-Isolation Tutorial"

3,697 bytes added ,  00:47, 21 March 2008
→‎Esmify (bit-flip) Method: Moved from ESP Mastering
imported>Dev akm
imported>Haama
(→‎Esmify (bit-flip) Method: Moved from ESP Mastering)
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Unfinished}}
{{FeatNom}}
{{Byline}}
 
by dev_akm
 
== Introduction ==
 
Normally, when people make changes to a plugin, they just open it up in the CS, make their changes and save.  
Normally, when people make changes to a plugin, they just open it up in the CS, make their changes and save.  


Line 75: Line 69:
For example, if you wanted to add new enemies and dungeon levels to the Knights of the Nine DLC mod, then ESP Mastering is the way to go because you're adding a bunch of new content. If you just want to alter the existing enemies and dungeon levels in KotN, then ESP Patching is probably a better solution.
For example, if you wanted to add new enemies and dungeon levels to the Knights of the Nine DLC mod, then ESP Mastering is the way to go because you're adding a bunch of new content. If you just want to alter the existing enemies and dungeon levels in KotN, then ESP Patching is probably a better solution.


=== Esmify (bit-flip) Method ===
=== Esmify (bit-flip) Method (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.


See [[ESP_Mastering|ESP Mastering]] for a full description.
'''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.
* Unfortunately, the "Espify/Esmify Self" command can't practically be used for editing esm files.  While you will be able to load the .espify-self file as a plug-in, the bit will be flipped back on the first save, making it a true .esm file again. A second save will cause a crash, presumably because master files can't be set as active, and thus can't be saved.


=== Bait-and-Switch Method ===
=== Bait-and-Switch Method ===
Line 150: Line 167:
This way a single OOO_scythes.esp can, for example, be used with either the FULL or LITE versions of the Oscuro's_Oblivion_Overhaul.esp, and it will almost certainly be completely compatible with future versions of OOO -- only minor adjustments would be needed if future versions of OOO make new changes to those specific items (or the leveled lists you added them to), but at least you don't have to worry about changes anywhere else in OOO.
This way a single OOO_scythes.esp can, for example, be used with either the FULL or LITE versions of the Oscuro's_Oblivion_Overhaul.esp, and it will almost certainly be completely compatible with future versions of OOO -- only minor adjustments would be needed if future versions of OOO make new changes to those specific items (or the leveled lists you added them to), but at least you don't have to worry about changes anywhere else in OOO.


Now, if you want to add some new content as well, and you want to make sure it doesn't have a problem when the next version of OOO comes out, then you must make sure the new content isn't accidentally given the same master relationship as the changes are. In other words, you need to make sure that any new content is stored in the local modindex rather than the master modindex. However, the details on how to do this would be a good subject for another tutorial since it's a bit out of the scope of this article.
Now, if you want to add some new content as well, and you want to make sure it doesn't have a problem when the next version of OOO comes out, then you must make sure the new content isn't accidentally given the same master relationship as the changes. In other words, you need to make sure that any new content is stored in the local modindex rather than the master modindex. Otherwise your new content will be "injected" into the master and could potentially collide with other new data added there by the mod author in an update. However, the details on how to deal with issues like this would be a good subject for another tutorial since it's a bit out of the scope of this article.


One other possibility worth considering if you're only making changes and not adding anything new. Once you've  finished making all your changes and chopping the plugin down to only include the records you changed, you can make it into a patch file. To do this, all you have to do is change the file extension to .ESU instead of .ESP. This allows TES4Gecko to recognize the file as a patch and you can use the ''Apply Patch'' function to add your changes back into OOO after the next update is released.  
One other possibility worth considering if you're only making changes and not adding anything new. Once you've  finished making all your changes and chopping the plugin down to only include the records you changed, you can make it into a patch file. To do this, all you have to do is change the file extension to .ESU instead of .ESP. This allows TES4Gecko to recognize the file as a patch and you can use the ''Apply Patch'' function to add your changes back into OOO after the next update is released.  


== Credit ==


The original version of this article is located [http://devnull.devakm.googlepages.com/deisolation here].


[[Category:Tutorials]]
[[Category:Tutorials]]
Anonymous user