How to properly use TESTool

Posted 30 June 2010 - 01:49 PM

It is not difficult at all to properly use TESTool, but you must read the documentation before and learn to understand the log.
There are essentially 3 risky things.
1) Don't be lazy and avoid the "JUST FIX IT" button. In an ideal world, all mods would be respecting point 2) and 3). Some mods don't. Read the TESTool documentation, experiment with the "save results in clean folder" and check the result log until you understand what TESTool is doing.

2) Some mods use a private empty interior cell to store/move objects by scripting. This may be found especially with mods engineered to not require Tribunal or better Morrowind engine, so they can't use setdelete command to get rid of discarded objects but use a "garbage" cell instead to move things to be cleaned 72 hours after.

You can identify such a mod loading it in TESCS and sorting the cell view by ref counts, group=interior
If you find an interior cell with 0 references, do a Edit/Find text using the cell name to look for scripts accessing/moving things to that cell name.

TESTool by default removes empty interior cells.
Solution: tick the "Restricted cell cleaning" box in TESTool. Or (better) fix the mod by adding any static to the empty cell, so TESTool will not remove it.

3) Some mods use empty dialog topics, or dialog topics containing just spaces or something with a high risk to be stripped importing/exporting dialogue.
Solution: tick the "Restricted dialog cleaning" box in TESTool. Or (better) fix the mod adding any safe character to the dialog topic text, for instance a . (dot) character

3b) (This is the critical problem) Dialog is made with a double linked list structure. Any time you insert/change a dialog entry in TESCS, you change the "next" pointer in the previous dialog entry (if present) and the "previous" pointer in the next dialog entry (if present).

These changes are not necessary, because Morrowind engine can make them "on the fly" when loading "previous" and "next" pointers in your inserted dialog entry. So TESTool by default removes changes to previous dialog entry and next dialog entry.

In a ideal world, all mods would change dialog in a proper way, and TESTool would make no harm.

In the real world, dialogue interaction between mods is a risky thing (see 1, 2) so better always have "Restricted dialog cleaning" box ticked in TESTool, at least if you are not as confident as to verify any dialog intensive mod you are using.

Regarding "dirty" GMSTs, TESTool is the faster way to remove them (and only them).

Another great thing cleaned by TESTool that alone should make it a must for any modder, is that it strips from your mod unnecessary changes to interior cells ambient lights wrongly added by TESCS.