Esp vs. Esm
Jump to navigation
Jump to search
While the publically released version of the CS seems to draw a clear distinction between esm ("master") and esp ("plugin") files, in truth the differences between the two types of files is not that great. (E.g. esm files can safely modify esm files.) However, there are a number of subtle distinctions which do need to be kept in mind.
Pseudo-Differences[edit | edit source]
First, let's cover the ways in which esm and esp files seem to be different, but in fact, are not so different.
- Creating/Editing ESM Files
- TESCS does not allow you to create esm files. However several tools exist which allow easy conversion between esm and esp files. However, there are some limits on such functions for complex mods. (More on this later.)
- Most modders who want to create esm files will usually create an esp file and then convert it to an esm for release. Subsequent editing can be done either by converting the file back to an esp and editing it with TESCS, or by using other tools to merge esp files into the esm file.
- Removing ESM Files
- While esp files can usually be removed from gameplay simply by de-activating them, esm files cannot be removed in this way. In short the game engine simply refuses to remove an esm from the savegame. However, this can easily overcome by modifying the savegame to think that the esm was actually an esp -- at which point the game engine will happily remove it. (See Wrye Bash: Disabling Masters.)
- Modifying Other Mods
- While TESCS allows esps to use and modify esms, it will not allow similar actions for esps. The basic problem here is that TESCS refuses to allow an esp to become a master of an esp. And without that master relationship, it's impossible for the new esp to refer to anything in the old esp (and thus is unable to use or modify it).
- However, it's possible to trick TESCS into remembering another esp as a master -- once this is done, then the new mod is able to use and modify the old esp (almost) as if it were a regular esm file. See De-Isolation Tutorial.
- Also of note is that esms can modify other esms -- within certain limits. The main limit seems to be that one esm cannot add items to worldspaces defined by another esm. (Or rather, it can't do so safely -- since doing so causes landscape and buildings to disappear during gameplay.)
Real Differences[edit | edit source]
Here's where esm and esp files really do differ.
- Esm Bit
- TESCS distinguishes an esp from an esm in part by the extension and in part by an internal bit. Tools that convert esms to esps and vice versa work by changing the extension and flipping the bit. For more info see De-Isolation Tutorial.
- Load Order
- Esm files always load before esp files. Hence an esm cannot have an esp as a master. (Since the masters of a mod must load before the mod itself.)
- Esp Master Ref Limits
- There seem to limits on how much an esp can change refs placed by another esp. In particular, an esp cannot delete refs placed by another esp. However, one esp can move refs placed by another esp. (Verify?)
- Esm/Esm Land Bug
- When one esm modifies in any way a worldspace cell of another esm, the land bug occurs in gameplay. The land bug is where the local land textures (and often static buildings, etc.) disappear in gameplay. This happens not just in a few isolated spots, but typically everywhere.
- File Size
- There seems to be an upper limit on how large an esp file can be and still work. Esm's do not have this limit.
In Practice[edit | edit source]
In practice the most relevant tools are:
- Tes4Gecko - Esm/esp conversion; Merge esp into esm; Mod Splitting; Remove Masters; etc.
- Tes4View - Remove masters; Copy records between mods; etc.
- Wrye Bash - Esm/esp conversion; Esmify/Espify masters; Bashed Patch; Disable Masters.