Skyrim

Documentation

Readme

View as plain text

=======================================================================
DynDOLOD - Dynamic Distant Objects LOD - Sheson
=======================================================================

If there are errors running DynDOLOD.exe or TexGen.exe, check the FAQ and search the forum http://forum.step-project.com/forum/101-shesons-dyndolod-support/ for it.

If problem persists, post error report with entire content of ..\DynDOLOD\bugreport.txt (if it exists) and ..DynDOLOD\Logs\[DynDOLOD|TexGen]_[GAMEMODE]_log.txt

=======================================================================

Dynamic LOD uses papyrus scripting. The scripts are passive, very light weight, highly optimized and use threading. Please test thoroughly before using for a play-through. Follow update instruction in the manual if generating new DynDOLOD plugins.

More objects - static or dynamic - will use more memory. Adjust default heap allocations of Skyrim if needed.

The dynamic LOD switching uses trigger boxes which do not work when clipping (tcl) is enabled. Setting player.setav greater than 500 also disables dynamic LOD switching. In both cases all dynamic LOD models will turn off eventually until clipping is turned off again or speeds are less or equal to 500. Crossing cell borders will resume normal operation.

When using MOD Organizer, do not close DynDOLOD.exe while LODGen.exe still runs in the background. Be aware that LODGen.exe overwrites existing loose *.bto files. Use the LODGen output path setting to generate files into an empty folder. By default DynDOLOD will not allow exporting to the game data folder to avoid any accidental overwriting.

When using MOD Organizer DynDOLOD.exe and LODGen.exe only use BSA files loaded by the internal xEdit.exe file loader. Pay attention when using MO BSA/archive management and DynDOLOD.exe listing which BSA are loaded when starting up. Mesh or texture files in BSA files that are not loaded will not be discovered by DynDOLOD.exe/TexGen.exe or LODGen.exe.

By default the Skyrim.ini defines the vanilla BSA to be always loaded automatically. In case vanilla BSA files are not loaded, make sure the used Skyrim.ini contains

Skyrim
[Archive]
sResourceArchiveList=Skyrim - Misc.bsa, Skyrim - Shaders.bsa, Skyrim - Textures.bsa, Skyrim - Interface.bsa, Skyrim - Animations.bsa, Skyrim - Meshes.bsa, Skyrim - Sounds.bsa
sResourceArchiveList2=Skyrim - Voices.bsa, Skyrim - VoicesExtra.bsa

Skyrim Special Edition / Skyrim VR
[Archive]
sResourceArchiveList=Skyrim - Misc.bsa, Skyrim - Shaders.bsa, Skyrim - Interface.bsa, Skyrim - Animations.bsa, Skyrim - Meshes0.bsa, Skyrim - Meshes1.bsa, Skyrim - Sounds.bsa
sResourceArchiveList2=Skyrim - Voices_en0.bsa, Skyrim - Textures0.bsa, Skyrim - Textures1.bsa, Skyrim - Textures2.bsa, Skyrim - Textures3.bsa, Skyrim - Textures4.bsa, Skyrim - Textures5.bsa, Skyrim - Textures6.bsa, Skyrim - Textures7.bsa, Skyrim - Textures8.bsa, Skyrim - Patch.bsa

Enderal
[Archive]
sResourceArchiveList=Skyrim - Misc.bsa, Skyrim - Shaders.bsa, Skyrim - Textures.bsa, Skyrim - Interface.bsa, Skyrim - Animations.bsa, Skyrim - Meshes.bsa, Skyrim - Sounds.bsa
sResourceArchiveList2=EEN - MeshesLOD.bsa, EEN - Meshes.bsa, EEN - Music.bsa, EEN - Scripts.bsa, EEN - SoundFX.bsa, EEN - SoundVoice.bsa, EEN - SoundExtra.bsa, EEN - TexturesLOD.bsa, EEN - Textures1.bsa, EEN - Textures2.bsa, EEN - Textures3.bsa

WARNING: It is possible the ArchiveLists are different for non English versions of the game, especially in case of Enderal. Do not replace these lines in case they are already existing and appear to work correctly.

While meshes were run through nifconvert, nifoaster and nifconvert again plenty of times, sometimes an invalid LOD mesh may slip through causing CTD. This can only happen when such a mesh is used by DynDOLOD and dynamically inserted into the world.

=======================================================================

Debug CTD caused by missing or invalid nif

Check the bottom of the ..DynDOLOD\Logs\DynDOLOD_[GAMEMODE]_log.txt for messages about deleted references and take the suggestion to clean plugins seriously.

Check the bottom of the ..DynDOLOD\Logs\DynDOLOD_[GAMEMODE]_log.txt for Missing model 'meshes\..\*.nif' - ignoring * [STAT:xxxxxxxx] for dynamic LOD and the further instructions beneath them.

Check if ..DynDOLOD\Logs\DynDOLOD_[GAMEMODE]_log.txt contains messages like 'Root block of meshes\..\*.nif is NiNode'. Check if using NifSkope to convert the root node to a BSFadeNode fixes the problem, though that may not be a valid approach for every type of model.

Install crash fixes for Skyrim as it will report missing or invalid nifs. Install .NET Script Framework for Skyrim Special Edition and check its crash log for clues about NIFs or other causes.

If the things above did not help, try the following:

Step 1) Open data\skse\plugins\StorageUtilData\DynDOLOD_Worlds.json (PayrusUtil) or data\skse\plugins\DynDOLOD_Data\DynDOLOD_Worlds.txt (DynDOLOD DLL) with notepad and change the line from
"debug":"false" or debug=false
to
"debug":"true" or debug=true

Step 2) Open Skyrim.ini in notepad or use MO INI Editor (puzzle icon) and change
[Papyrus]
fPostLoadUpdateTimeMS=500.0
bEnableLogging=0
bEnableTrace=0
bLoadDebugInformation=0

to

[Papyrus]
fPostLoadUpdateTimeMS=500.0
bEnableLogging=1
bEnableTrace=1
bLoadDebugInformation=1

Step 3) Start the game and proceed to make it CTD.

Step 4) Find the latest papyrus logfile typically in c:\Users\[username]\Documents\My Games\Skyrim\Logs\Script\Papyrus.0.log.
Scroll to the very bottom and find lines like
[05/16/2015 - 01:15:10PM] [SHESON_DynDOLOD_LODObject < (0D003F52)>] using base element [Form < (0D0010F3)>] using meshes\architecture\farmhouse\farmhousewindmill\farmhousewindmillfan.nif
[05/16/2015 - 01:15:10PM] [SHESON_DynDOLOD_LODObject < (0D00445E)>] using base element [Form < (0D0011D7)>] using meshes\landscape\trees\wrtempletree01.nif
[05/16/2015 - 01:15:10PM] [SHESON_DynDOLOD_LODObject < (0D003B01)>] using base element [Form < (0D00106B)>] using meshes\clutter\giant\giantcampfire01burning.nif

Step 5) Take note of the meshes used. To test if any of these are the cause of CTD, use xEdit to remove the listed references from the DynDOLOD plugin. Start with the last entry from the log, find the first Form ID (e.g. < (0D003B01)>) and enter it into the Form ID field top left of xEdit. In the left tree view, right click onto the entry for this Form ID and select remove. Save plugin. The ones from this example are all vanilla meshes in 'Skyrim - Meshes.bsa' and unless a mod replaces them they do not cause CTD. Repeat from step 3 until CTD hopefully stop. Only test what is listed in the very last second of the log, since anything that happened earlier did not cause CTD.

Once the nif or mod has been identified, please post about here http://forum.step-project.com/forum/101-shesons-dyndolod-support/

When done debugging simply revert changes to DynDOLOD_Worlds.[txt|json] and Skyrim.ini.

=======================================================================

These free tools and resources can be used to create a LOD mod, which is obviously not made with the castrated and buggy disaster called Creation Kit, fixes shortcomings and technical shortcuts of the official game, provides several thousands of new assets and required thousands of hours of work by many people, was made almost entirely with third party tools and so is consequently not made, guaranteed, or supported by Zenimax, Bethesda Game Studios, or any of their affiliates - the ones that are paid money to do these things.

THE SOFTWARE IS PROVIDED 'AS IS' AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.