TES Dependency Tool Kit v2.0
written by Aaron White (aka Argent)
Installation
Using TESDTK
Adding Dependencies
Removing Dependencies
Updating Version Number
Converting ESD to ESP
Converting ESM to ESP
Converting ESP to ESM
Bugs
Limitations
Version History
Installation
It is recommended that this program be placed in the Morrowind\TESDTK directory. This program can be run from other directories, but the file-chooser will start in the My Documents folder rather than the Data Files Folder.
This program requires the Java Run Time Environment to run. If you do not already have this installed, run the JRE setup file to install it. Installation requires an internet connection, and can take a while.
Although TESDTK does not require any other files to run, it does create a temp file to assist in formatting byte data. This file can be deleted without causing any problems, but the file will be re-created each time the program is run.
Using TESDTK
The Elder Scrolls Dependency Tool Kit was originally designed as a way to prevent the GMST errors that occur when using the Tribunal and/or Bloodmoon versions of the Construction Set without having all the official master files (.esm) loaded. If you have a mod that does not require Tribunal or Bloodmoon items or scripting functions, and want to release your mod as a 'Morrowind only' mod, then you can make your mod with any and all master files loaded, and simply remove them prior to release.
Five new functions have been added since version 1.0; Add dependency, Update Version Number, ESD to ESP converter, ESP to ESM and ESM to ESP. The Update Version Number was suggested to me, which I thought was a worthwhile function to include. Most other functions were not planned but were 'discovered' as a natural consequence of the initial code written for the remove function. I have no idea how useful (or useless) some of these functions may be, but as they essentially used existing code, I included them anyway.
Adding Dependencies
To add a dependency to a plug-in file, load the file by clicking the button and selecting a plug-in file. The program will scan the plug-in and list all present dependencies in the window. The plug-in name and version number will be displayed in the toolbar next to the buttons. Click the button to display another file chooser dialogue window and select the file that you want to add as a parent master. Note that any file (ESM/ESP/ESS) can be added as a parent master. So it is possible (but not desirable) to make one ESP file dependent on another ESP file, or an ESP file can be added as a parent to a save game file, if desired.
Removing Dependencies
To remove a dependency from a plug-in file, load the file by clicking the button and selecting the file. The program will scan the plug-in and list all present dependencies in the window. Each master file name has a checkbox next to it. To remove that master file dependency click the corresponding check box. When you have selected all the master files you want to remove, press the button to remove the dependencies. This will create a new file with the prefix 'Free' (free of dependencies) and will be placed in the same folder that the program runs from.
This program is not capable of overwriting or accidentally deleting your plug-in files. However, it will overwrite 'free' files without a confirmation prompt. Dependencies can also be removed from master files and saved game files.
This version now allows the removal of the Morrowind.esm dependency.
Updating Version Number
If you have mods that were made with earlier versions of Morrowind, the version number will be recorded in that plug-in file and will cause error messages when trying to load the game. The previous solution to this was to load it into the Construction Set and resave. However, this is also a quick and easy method to fill your plug-in file with GMST settings, unless you load all official master files (which may not be desirable). TESDTK allows you to quickly update your old mods without loading the Construction Set. Once you have loaded a file, click the button; this will automatically scan your Morrowind.esm file and update to the corresponding version number. If you have placed this program in a folder other than the one specified above, the program may not be able to find Morrowind.esm by itself, in which case a file chooser dialogue window will open allowing the user to browse to the correct directory.
Converting ESD to ESP
This function simply writes out header data to a TESAME module file, converting it into a plug-in file. Useful for making plug-ins directly from items extracted from other plug-in files. To use, click the button and select the module file. The only limitation to this function is that it displays as an empty file when viewed with the details option in the Construction Set.
Converting ESM to ESP
To convert a master file to a plug-in file, first load a master file and then click the button.
Converting ESP to ESM
This functions does the same as the 'Merge To Masters' button in the Construction Set. To convert your plug-in file to a master file, load your ESP file and then click the button.
Bugs
No bugs documented so far.
NOTE: Any run-time errors that occur will be displayed in the console window that runs along side this program. If you get any messages in it can you please copy them to a text file and email them to me.
Limitations
This program is written in Java and therefore requires the Java Runtime Environment to be installed on your computer. Installing this can take a long time, and it requires an active internet connection. The installed JRE takes up 35MB of disk space, which is annoying considering the actual program is only 160kb (actually, its only 100kb).
The other limitation is the console window that runs along side this program. The reason for this is that the original program is packaged as an executable Java Archive File (JAR). However, on some systems (or between user accounts) this is not recognized as an executable JAR but as a regular archive file, so that double clicking it results in a prompt to extract it rather than run it. To solve this problem, I used a small program called Executor, which raps the JAR file in a Windows executable file. This is the other 60kb on top of the core program.
Version History
Since v1.0
Add dependency function added.
Update version number function added.
ESD to ESP function added.
ESP to ESM function added.
ESM to ESP function added.
Author and description are now kept.
Optimized read/write code.
Fixed a bug that corrupted a file if leaving more than the Morrowind.esm dependency.
Files larger than 1 MB took a long time to process. This was a result of poor design on my behalf and has been fixed in this version.
There is an intermittent bug that occurs when using the file chooser where folders are not recognized as a valid file type, and this crashes the file chooser. This bug has since disappeared (!??).
Since beta v1.0
Fixed the file filter for the .esp; .esm; .ess files. This was broken and crashed the program when trying to ascend past the C:\ folder.
Fixed an error occurring when trying to load a file with more than 20 Parent Masters, most commonly experienced when loading saved games.
Added scroll bars to the viewing window.
There was a bug when trying to remove dependencies that list more than 2 master files. The bug occurred if you only remove 1 master file at a time, and prevented the window from displaying the contents of the new freed file. This somehow fixed itself (?). If you encounter this problem please let me know.
If you encounter any other bugs, please contact me.