-
Posts
13,122 -
Joined
-
Last visited
-
Days Won
429
Everything posted by sheson
-
Dynamic Distant Objects LOD - pre 2.xx
sheson replied to sheson's question in DynDOLOD & xLODGen Support
Thanks, uploaded to TES5LODGen. Wondering why Vurts doesn't include them himself, it seems he creates the included tree LOD with TES5LODGen so he has must have them already... :) -
Dynamic Distant Objects LOD - pre 2.xx
sheson replied to sheson's question in DynDOLOD & xLODGen Support
Glad you figured out so much stuff yourself :) lod\nordicexterior\nortempleexteriorribfree03_lod.nif is in "Skyrim - Meshes.bsa" Check Skyrim.ini (in the MO profile you are using) for sResourceArchiveList=Skyrim - Misc.bsa, Skyrim - Shaders.bsa, Skyrim - Textures.bsa, Skyrim - Interface.bsa, Skyrim - Animations.bsa, Skyrim - Meshes.bsa, Skyrim - Sounds.bsa See if that file is listed in the top section of TES5Edit\Edit Scripts\LODGen_Tamriel.txt with all the other BSAs. If not MO is "hiding" it from TES5Edit Alternatively you can also unpack the LOD folder from "Skyrim - Meshes.bsa" or use https://www.afkmods.com/index.php?/files/file/1543-skyrim-vanilla-lod-source-files-v16/. Do not overwrite any LOD meshes from DynDOLOD. Only in some posts in this thread or in the folders themselves. The wrong placed objects happens when updating with a new DynDOLOD.esp and SKSE wasn't done right. Rules for SkyFalls are included in DynDOLOD already. You can keep it or remove it. DynDOLOD doesn't do terrain LOD, so use a terrain LOD mod to fix those issues. DynDOLOD adds lots of new LOD for many objects but certainly not everything. Compare screenshots in first post. Great! Post a screenshot to https://www.nexusmods.com/skyrim/mods/addimage/?id=59721 See https://forum.step-project.com/topic/5011-dynamic-distant-objects-lod-dyndolod-128/page-81?do=findComment&comment=126630 -
Dynamic Distant Objects LOD - pre 2.xx
sheson replied to sheson's question in DynDOLOD & xLODGen Support
Not automatically yet. You need to run DynDOLOD TexGen.pas. It will take the current full textures and create LOD textures in the output folder. It is a bit experimental and doesn't work for town LOD textures. All its instruction are in the DynDOLOD TexGen.pas itself at the top. Basically it goes like this: Set -o: command line parameter for TES5Edit (Arguments field in MO Modify Executables) Start TES5Edit right click, apply script on any mod, DynDOLOD TexGen.pas Let it do its thing (if you encounter any errors about missing textures you need to fix those),any other weird errors just post here Once its done it will have created the new LOD textures in the output path. Pay attention to all messages it spits out. Either copy all or some of the created textures overwriting the ones shipping with Vanilla (in BSA) and DynDOLOD. The fort textures are textures\lod\imperialfortlod.dds textures\lod\imperialforticelod.dds Once you have updated the LOD textures you don't have to run the hole DynDOLOD World.pas process just to update the atlas texture: Set Expert=1 in DynDOLOD.ini In TES5Edit, apply script, DynDOLOD Worlds.pas Select 'LODGen export' file from a past LOD generation, e.g. ..\TES5Edit\Edit Scripts\LODGen Tamriel.txt There should be a file like this for each worldspace from last generation 'Rebuild atlas' button becomes enabled if a LODGen export file has been found Click 'Rebuild atlas' to recreate the atlas texture for that LODGen export file, it will use the currently loaded LOD textures Repeat for all other world spaces. If dimensions of textures change or atlas order does not match the current static object LOD anymore, click 'Execute LODGen.exe' after recreating the atlas to generate object LOD again with the new atlas data -
Dynamic Distant Objects LOD - pre 2.xx
sheson replied to sheson's question in DynDOLOD & xLODGen Support
It should work anyways. It is just an extra safety measure. You could also install papyrus script from 1.27 and it should show the old menu again. -
Dynamic Distant Objects LOD - pre 2.xx
sheson replied to sheson's question in DynDOLOD & xLODGen Support
You will need to do the update cycle. See https://www.youtube.com/watch?v=c3zVK8PD3Vg&t=1755 -
Dynamic Distant Objects LOD - pre 2.xx
sheson replied to sheson's question in DynDOLOD & xLODGen Support
DynDOLOD World.pas is a TES5Edit script. It gets all its data and variables from TES5Edit. You probably manually moved the game folder. I suggest to start by making sure the MO profile you are using has default inis and fixing the game folder in the registry. None of the included tools will work correctly if the folders and inis are all weird. The papyrus log shows countless script errors from all over the place. It seems you already removed a bunch other mods and scripts. There is orphaned data and update scripts left in limbo. The stack dumping starts with AutosortContainer. If other mods already cause low frame rate it won't help either. Dropping DynDOLOD dynamic LOD scripting on top of that won't work. You could try cleaning the save file before attempting to add dynamic LOD to it. Make sure you generally have a decent frame rate before adding more detail. I can't say anything about the other "I got an error" without knowing what it is. You would need to copy and paste the message or upload TES5Edit\TES5Edit_log.txt -
TES5Edit scripting - Slow function wbCopyElementToFile
sheson replied to MilletGtR's question in xEdit Support
Remove the AddMessage from the loop. Writing lots of messages takes a long time. Can't say much about the wbCopyElementToFile command itself. That is inside xEdit. Edit: you could "optimize" away the array by adding e to a TList and then getting them out later with ObjectToElement unit userscript; var l: TList; function Initialize: integer; begin l:= TList.Create; end; function Process(e: IInterface): integer; begin if not ElementExists(e, 'RNAM') then Exit; // Add Element e to list l.Add(e); end; function Finalize: integer; var i: integer; e: IInterface; begin; for i := 0 to Pred(l.Count) do begin e := ObjectToElement(l[i]); // now do whatever with Element e end; end; -
Dynamic Distant Objects LOD - pre 2.xx
sheson replied to sheson's question in DynDOLOD & xLODGen Support
Everything is fine. There is no billboard LOD for shrubs, bushes and ferns, only for real tall trees. I guess in the videos the LOD not found messages for the small vegetation just go by too fast. -
Dynamic Distant Objects LOD - pre 2.xx
sheson replied to sheson's question in DynDOLOD & xLODGen Support
The Unofficial Dragonborn Patch comes with a LOD version of that temple that is used over the version shipping with DynDOLOD. It may not be able to read the texture Textures\dlc02\lod\apoexttowerbase01_lod_d.dds from the bsa for some reason. There is probably a message in TES5Edit\TES5Edit_log.txt 'Can not find [texture name].dds for texture atlas' That is not a huge problem if the texture is still there when the game starts. It will use the single texture instead. However in this case the texture is missing from the game as well -
Dynamic Distant Objects LOD - pre 2.xx
sheson replied to sheson's question in DynDOLOD & xLODGen Support
Make sure to use the latest Unofficial Dragonborn Patch -
Dynamic Distant Objects LOD - pre 2.xx
sheson replied to sheson's question in DynDOLOD & xLODGen Support
You can update an existing esp that already contains LOD data without starting from scratch. It should work OK when adding a new mod that adds a new house. It will not change any existing dynamic LOD. If you click to advance options you might even check 'Use cached based elements' to speed up the process a bit. If the process throws errors and doesn't complete, then you have to start from scratch. Personally I never wait any in game days when doing the save game update routine and it works for me. If anything fails you will notice right away with the windmill sails or waterwheels not showing the way the are supposed to. If they are there and there are not extra out of place random objects attached to the windmill silos you are fine. If the dynamic LOD goes all wired, you can still fall back on the start from scratch routine. Use the update described above when you add a new home mid play-through or maybe to quickly test something. If you backup old esp and SKSE folder you can revert back. I suggest to start from scratch when you are done building the load order and are ready to play. You can always update the static object and tree LOD as you please since those file are not affecting the save game. -
Dynamic Distant Objects LOD - pre 2.xx
sheson replied to sheson's question in DynDOLOD & xLODGen Support
Yes that will be fine. -
Dynamic Distant Objects LOD - pre 2.xx
sheson replied to sheson's question in DynDOLOD & xLODGen Support
It is not required to run the process before.I guess it helps to do it once before for some world spaces to have the tree LOD folders in place so you don't have to guess paths and filenames. Make sure to delete the cache folder and remove all 2D tree LOD *.btr files... Remember, this is experimental. Eventually there may be a check box to do this without any manual work. -
Dynamic Distant Objects LOD - pre 2.xx
sheson replied to sheson's question in DynDOLOD & xLODGen Support
Earlier instructions required editing lib\process.pas to change a if-then to set the Has Distant LOD flag on tree base elements. Now this can be done by changing the ini. -
Dynamic Distant Objects LOD - pre 2.xx
sheson replied to sheson's question in DynDOLOD & xLODGen Support
You understood correctly. That is exactly what needs to be done. -
Dynamic Distant Objects LOD - pre 2.xx
sheson replied to sheson's question in DynDOLOD & xLODGen Support
DynDOLOD 1.28 SKSE plugin json output folder should now always be created in the same output folder where the Meshes and Textures are generated. Added a second MCM page requested by Zilav ;) You can simply overwrite the papyrus scripts and they should be used right away without any special steps required. The You Are Here MCM page uses new data added to the json files, but it will also work without it present, some values might be off. The point is, you do not have to run DynDOLOD World.pas again it will work with the old files as is. If you use Convenient Bridges ALPHA, Silverstead - A Buildable Dwemer Estate or Skyfall Estate then consider generating again. [spoiler=Changelog]DynDOLOD Worlds.pas - removed all ambiguity from the SKSE plugin json output folder so it always ends up next to meshes and textures DynDOLOD Worlds.pas - added SW Cell coordinates to [world].json for new You Are Here MCM page DynDOLOD Worlds.pas - updated a check for newer xEdit version so the nice error message shows again DynDOLOD Worlds.pas - fixed output of textures_used.txt to actually use the used texture list for real this time DynDOLOD Worlds.pas - added FlagTrees switch to DynDOLOD.ini to set Has Distant LOD flag on tree base elements Papyrus Scripts - added last top left message to the SkyUI MCM page, hover above it to see the full message at the bottom in case it gets cut off Papyrus Scripts - added a You Are Here SkyUI MCM page to show position, cell and LOD filenames for the current location DynDOLOD TexGen.pas - added creation of cavebaseground02 DynDOLOD-rules - added/updated rules for better compatibility with mods Meshes/Textures - updated LOD meshes/textures for better compatibility with mods DynDOLOD_Manual.html - updated compatibility information for several mods @Afonik and anyone else interested in doing trees as 3D static LOD instead of 2D billboards have a look at Options\trees.ultra\DynDOLOD-Trees.txt Instead of editing a pas file, there is a ini switch now. -
Dynamic Distant Objects LOD - pre 2.xx
sheson replied to sheson's question in DynDOLOD & xLODGen Support
The SKSE\Plugins\StorageUtilData and all json files are created when running DynDOLOD Worlds.pas -
Dynamic Distant Objects LOD - pre 2.xx
sheson replied to sheson's question in DynDOLOD & xLODGen Support
It is possible that old state data either in save or in old jsons can make newly generated objects visible. But you will soon discover that it is all wrong. Whenever it says it can not read anything from the json data files it means it is missing vital data for the worldspace to operate, e.g. there is no "DynDOLOD" for the worldspace. Error handling is rudimentary in papyrus, so not being able to read either means the json files are not there - easy to check the data structure in them is invalid - unlikely the data for the current cell is not in the file - current DynDOLOD.esp does not match the json files -
Dynamic Distant Objects LOD - pre 2.xx
sheson replied to sheson's question in DynDOLOD & xLODGen Support
The current output location of the json files is shown in the last lines of the process. It *should* be the same output folder as the meshes and textures, but there can be settings that they may end up somewhere else (I am looking into that) [00:17:54.907] Saved C:\Output\skse\plugins\StorageUtilData\DynDOLOD_Worlds.json [00:17:54.928] Disabling 2 REFRs [00:17:54.983] DynDOLOD Worlds completed successfully. [Apply Script done] Processed Records: 0, Elapsed Time: 17:57 Copy them to game or mod folder as usual. If the MCM page says there is no DynDOLOD for this world there isn't any dynamic, animated LODs. There still can be improved tree and static LOD. There is nothing further to debug. When it starts up the messages top left explain the error. -
Dynamic Distant Objects LOD - pre 2.xx
sheson replied to sheson's question in DynDOLOD & xLODGen Support
That is because the TES5Edit scripts didn't change in the last update :) See Docs\DynDOLOD-Changelog.txt and my 1.27 update notes at https://forum.step-project.com/topic/5011-dynamic-distant-objects-lod-dyndolod-127/page-77?do=findComment&comment=126057 Quickly test with a new game, coc whiterun from main menu if the same error occurs. If it works then, try redoing the update cycle. If not, make sure the correct json files are in skse\plugins\StorageUtilData\ They need to be the ones created together with the DynDOLOD.esp at the same time. -
Dynamic Distant Objects LOD - pre 2.xx
sheson replied to sheson's question in DynDOLOD & xLODGen Support
If you want to raise block 1 past 512 and it crashes when starting the game set ExpandSystemMemoryX64=false in enblocal.ini If that still doesn't help try raising block 2 as well. You are welcome :) You can try to use specially crafted hybrid trees secretly shipped with DynDOLOD as static LOD instead of 2D tree LOD. This has an performance impact and needs even more heap memory. Make sure to use Memory Blocks Log to see if block 1 fills up and adjust settings accordingly. This will only work with Vanilla trees. If you insist on using a tree mod either create hybrid trees yourself (for example see Meshes\DynDOLOD\lod\trees\treepineforest01_lod.nif) or use "Full Model" instead of "Static LOD4" in the mesh rules below. Though I never tested if it works properly. Here is how you do it: Copy TES5Edit\Edit Scripts\DynDOLOD\nolodtrees.lst to OUTPUT PATH\Meshes\Terrain\Tamriel\Trees\Tamriel.lst This will disable all 2D tree LOD for Tamriel. Do the same for any other worldspace by replacing "Tamriel" as desired Open TES5Edit\Edit Scripts\DynDOLOD\lib\process.pas in notepad Find line 350 if (Result <> '') and (Signature(Element) <> 'TREE') and (Pos('effects\', sMODLPath) = 0) and (Pos('water\', sMODLPath) = 0) then begin change it to if (Result <> '') and (Pos('effects\', sMODLPath) = 0) and (Pos('water\', sMODLPath) = 0) then begin This will set the Has Distant LOD flag (Unkown flag 15) on TREE base elements, so flickering time when changing from LOD to full model is reduced as much as possible. Delete TES5Edit\Edit Scripts\DynDOLOD\cache\DynDOLOD_skyrim-tamriel_trees.txt and similar for other worldspaces. Probably easier to just delete all files TES5Edit\Edit Scripts\DynDOLOD\cache\ Start xEdit as usual, apply script. Click to the advanced options Uncheck "Generate Tree LOD" Choose Low/Medium/High (this will overwrite any custom mesh rules!) Add a custom mesh rule at the bottom just before the last catch all "\" rule, right click into the mesh rules list, select Insert Mesh mask LOD 4 LOD 8 LOD 16 VWD Grid Reference tree Static LOD4 Static LOD8 Static LOD8 Checked Far LOD Unchanged Static LOD4 means use the special DynDOLOD hybrid trees Static LOD8 means use the 2D billboard trees. Start process by clicking OK. Proceed as normal by copying everything from OUTPUT PATH including the Meshes\Terrain\tamriel\trees\Tamriel.lst you created in the first step to game or mod folder. There should be no *.btt files in Meshes\Terrain\tamriel\trees\ Increase heap memory by 150 - 200 or so before even starting the game the first time :) -
Dynamic Distant Objects LOD - pre 2.xx
sheson replied to sheson's question in DynDOLOD & xLODGen Support
I assume you started with a default DynDOLOD.esp. Make sure you selected 'Generate DynDOLOD'. This a check box on the advanced options. It is always checked when using the wizard mode since it is hidden from view. Check TES5Edit\TES5Edit_log.txt for Saved ...\skse\plugins\StorageUtilData\DynDOLOD_Tamriel_Objects.json Saved ...\skse\plugins\StorageUtilData\DynDOLOD_Tamriel.json Saved ...\skse\plugins\StorageUtilData\DynDOLOD_Worlds.json ... will be the drive and path to the selected output folder. Substitute "Tamriel" for the world spaces LOD was generated for. -
Dynamic Distant Objects LOD - pre 2.xx
sheson replied to sheson's question in DynDOLOD & xLODGen Support
If you mean loading screen of the game starting before the main menu then your load order is missing a master. If you mean loading a save game or testing with coc from the main menu and it crashes the second the screen fades from black to show the world: More LOD uses more memory. Double check heap memory usage (block 1) with Memory Blocks Log from https://www.nexusmods.com/skyrim/mods/50471/ and adjust SKSE or SSME memory settings. If you mean it loaded the world successfully and then crashes a few seconds into the game see 'Debug CTD caused by invalid nif' in Docs\DynDOLOD-README.txt -
Dynamic Distant Objects LOD - pre 2.xx
sheson replied to sheson's question in DynDOLOD & xLODGen Support
The cooling is not working right that is for sure. Maybe the heatsink came loose or whatever. No idea what temps are normal or about the difference. Just make sure to fix that soon :) You really need xEdit 090515 or newer - this is the newest developer version of TES5Edit It had a nice message about needing a newer version, but this error shows up atm. The nice message will be back next version. -
Dynamic Distant Objects LOD - pre 2.xx
sheson replied to sheson's question in DynDOLOD & xLODGen Support
Since LODGen.exe (the command prompt thing) is multithreaded is uses almost all CPU when generating LOD, so this could very well be a overheating problem. Check the CPU temps, cooling... When LODGen.exe runs, open Task Manager, right click LODGen.exe, select Set Affinity and uncheck a bunch of cores so overall CPU usages and thus heat production goes down. You have to do it every time a new LODGen.exe starts. If this actually really helps, you should check the CPU cooling for sure.

