Jump to content

DynDOLOD 3.00 Alpha 182


sheson

Recommended Posts

20 minutes ago, Mousetick said:

Right.

The issue is that the tree references are "deleted" in SolitudeWorld, but there is visibly nothing to replace them, in SolitudeWorld.

When inside SolitudeWorld, looking from afar, the Tamriel LODs are visible, showing trees in the distance. Upon getting closer, the LODs turn off, and there are no full model trees where the LODs used to be shown, as I described in another, earlier post:

I don't understand why it's so difficult to convey to you what's happening and what the weirdness is. It should be straightforward to reproduce: USSEP + DynDOLOD object LOD is all that's needed.

  1. Walk from Solitude catacombs towards Angeline Aromatics. Facing north, as you pass under the arch connecting to the windmill, see the tree LODs in the distance in the mountains behind the walls.
  2. As you keep walking in the same direction, see the tree LODs turn off, and an empty space where they used to be. Instead of full model trees.

Perhaps. The question remains: is this weird behavior expected?

Where are the carbon copies of the "deleted" references created, if they are created in the first place? Which worldspace? What are their refids and/or editor ids?

 

I checked this tree issue in my game to see if it's happening, but it doesn't seem to be. When the cells load the LOD trees turn into full models as expected.

However I did notice that when turning on large refs, the trees turn invisible in the large ref grid, like the ones I reported around Kynesgrove.

Link to comment
Share on other sites

1 hour ago, Mousetick said:

Right.

The issue is that the tree references are "deleted" in SolitudeWorld, but there is visibly nothing to replace them, in SolitudeWorld.

When inside SolitudeWorld, looking from afar, the Tamriel LODs are visible, showing trees in the distance. Upon getting closer, the LODs turn off, and there are no full model trees where the LODs used to be shown, as I described in another, earlier post:

I don't understand why it's so difficult to convey to you what's happening and what the weirdness is. It should be straightforward to reproduce: USSEP + DynDOLOD object LOD is all that's needed.

  1. Walk from Solitude catacombs towards Angeline Aromatics. Facing north, as you pass under the arch connecting to the windmill, see the tree LODs in the distance in the mountains behind the walls.
  2. As you keep walking in the same direction, see the tree LODs turn off, and an empty space where they used to be. Instead of full model trees.

Perhaps. The question remains: is this weird behavior expected?

Where are the carbon copies of the "deleted" references created, if they are created in the first place? Which worldspace? What are their refids and/or editor ids?

 

As I wrote, if the tree references inside Solitude are currently not "deleted" because of a bug, then I would expect ultra tree LOD generated with Alpha 128 to be better now.

As I explained, that setup was made for standard tree LOD many years ago.  Generate standard tree LOD instead of ultra tree LOD and test that too. I would expect the old issue of having billboard tree LOD and full model show at the same time may creep up again - or not, since additional features have been added in the past years to address that automatically.

Carbon copies for IsFullLOD references in a childworld are added to the parent world or vice versa if the IsFullLOD flag is removed. The editor id will always have the plugin and form id of their source reference in them.

Link to comment
Share on other sites

I'm about to give up :) In fact I'd got tired of the runaround so I manually duplicated the USSEP tree neverfades disabled by DynDOLOD.esm into a custom patch plugin, as temporary references, in xEdit. So that I could see the full models.

nth attempt to describe the issue:

Cell -17,26

None of the references below are large references.

[CELL:0000925A] (in Tamriel "Skyrim" [WRLD:0000003C] at -17,26) 

USSEP adds [REFR:05063114] (places TreePineForestSnow04 [TREE:0005C06F] in GRUP Cell Temporary Children of [CELL:0000925A] (in Tamriel "Skyrim" [WRLD:0000003C] at -17,26))

DynDOLOD.esm changes nothing, it only adds Tamriel_Worshipper_%17_26 [REFR:XX02F280] (places DynDOLOD_WorshipperActivator [STAT:XX000926] in GRUP Cell Temporary Children of [CELL:0000925A] (in Tamriel "Skyrim" [WRLD:0000003C] at -17,26))

[CELL:00037EE6] (in SolitudeWorld "Solitude" [WRLD:00037EDF]) This is the persistent cell of SolitudeWorld.

USSEP adds [REFR:0506313E] (places TreePineForestSnow04 [TREE:0005C06F] in GRUP Cell Persistent Children of [CELL:00037EE6] (in SolitudeWorld "Solitude" [WRLD:00037EDF]) at -17,26) which is a neverfade duplicate of [REFR:05063114] above from Tamriel into SolitudeWorld.

DynDOLOD.esm "deletes" [REFR:0506313E]: [REFR:0506313E] (places XMarker [STAT:0000003B] in GRUP Cell Persistent Children of [CELL:00037EE6] (in SolitudeWorld "Solitude" [WRLD:00037EDF]) at -17,26) This is the USSEP rules patch which may not be currently working, but it used to work, at least until Alpha 121. Just assume that it works for the sake of this description.

[CELL:0004E3DC] (in SolitudeWorld "Solitude" [WRLD:00037EDF] at -17,26) Same cell position as [CELL:0000925A] but in Solitude worldspace.

USSEP changes nothing.

DynDOLOD.esm changes nothing, it only adds SolitudeWorld_Worshipper_%17_26 [REFR:XX02F632] (places DynDOLOD_WorshipperActivator [STAT:XX000926] in GRUP Cell Temporary Children of [CELL:0004E3DC] (in SolitudeWorld "Solitude" [WRLD:00037EDF] at -17,26))

End result:

  • When [CELL:0004E3DC] is not loaded, the LOD of [REFR:05063114] is visible from inside SolitudeWorld. So far so good.
  • When [CELL:0004E3DC] is loaded, the LOD of [REFR:05063114] is disabled, the full model of [REFR:05063114] is not visible since it's in another worldspace. But there is nothing to replace [REFR:0506313E], "deleted" by DynDOLOD, in SolitudeWorld. There is no tree reference in [CELL:0004E3DC] matching [REFR:05063114]. There is no tree where the LOD was showing...

 

 

Link to comment
Share on other sites

Hi Sheson, I noticed some SHESON_DynDOLOD_LODObject scripts stuck in infinite loop on my game. The variable SatetyCounter is 0-10 for most script instances, but for the stuck ones, SatetyCounter became negative, and the while loop never ends. There are 8 of them in my 40 hour save.

Given that the wait time is utility.wait(1), I believe it should be this while loop: while self && SafetyCounter && (OpenState != self.GetOpenState())

Link to comment
Share on other sites

1 hour ago, Mousetick said:

I'm about to give up :) In fact I'd got tired of the runaround so I manually duplicated the USSEP tree neverfades disabled by DynDOLOD.esm into a custom patch plugin, as temporary references, in xEdit. So that I could see the full models.

nth attempt to describe the issue:

Cell -17,26

None of the references below are large references.

[CELL:0000925A] (in Tamriel "Skyrim" [WRLD:0000003C] at -17,26) 

USSEP adds [REFR:05063114] (places TreePineForestSnow04 [TREE:0005C06F] in GRUP Cell Temporary Children of [CELL:0000925A] (in Tamriel "Skyrim" [WRLD:0000003C] at -17,26))

DynDOLOD.esm changes nothing, it only adds Tamriel_Worshipper_%17_26 [REFR:XX02F280] (places DynDOLOD_WorshipperActivator [STAT:XX000926] in GRUP Cell Temporary Children of [CELL:0000925A] (in Tamriel "Skyrim" [WRLD:0000003C] at -17,26))

[CELL:00037EE6] (in SolitudeWorld "Solitude" [WRLD:00037EDF]) This is the persistent cell of SolitudeWorld.

USSEP adds [REFR:0506313E] (places TreePineForestSnow04 [TREE:0005C06F] in GRUP Cell Persistent Children of [CELL:00037EE6] (in SolitudeWorld "Solitude" [WRLD:00037EDF]) at -17,26) which is a neverfade duplicate of [REFR:05063114] above from Tamriel into SolitudeWorld.

DynDOLOD.esm "deletes" [REFR:0506313E]: [REFR:0506313E] (places XMarker [STAT:0000003B] in GRUP Cell Persistent Children of [CELL:00037EE6] (in SolitudeWorld "Solitude" [WRLD:00037EDF]) at -17,26) This is the USSEP rules patch which may not be currently working, but it used to work, at least until Alpha 121. Just assume that it works for the sake of this description.

[CELL:0004E3DC] (in SolitudeWorld "Solitude" [WRLD:00037EDF] at -17,26) Same cell position as [CELL:0000925A] but in Solitude worldspace.

USSEP changes nothing.

DynDOLOD.esm changes nothing, it only adds SolitudeWorld_Worshipper_%17_26 [REFR:XX02F632] (places DynDOLOD_WorshipperActivator [STAT:XX000926] in GRUP Cell Temporary Children of [CELL:0004E3DC] (in SolitudeWorld "Solitude" [WRLD:00037EDF] at -17,26))

End result:

  • When [CELL:0004E3DC] is not loaded, the LOD of [REFR:05063114] is visible from inside SolitudeWorld. So far so good.
  • When [CELL:0004E3DC] is loaded, the LOD of [REFR:05063114] is disabled, the full model of [REFR:05063114] is not visible since it's in another worldspace. But there is nothing to replace [REFR:0506313E], "deleted" by DynDOLOD, in SolitudeWorld. There is no tree reference in [CELL:0004E3DC] matching [REFR:05063114]. There is no tree where the LOD was showing...

The current alpha version has a bug, so it does not delete those references when the current unofficial patch is used. If the references are not deleted by DynDOLOD, then the full models added by the unofficial patch to the Solitude worldspace should still be visible. You know if the bug happens, if the advanced interface shows the reference rules as not resolved as I explained here already https://stepmodifications.org/forum/topic/17510-dyndolod-300-alpha-128/?do=findComment&comment=272122. Does the bug not happen for you?

If the current alpha version still deletes those references because the bug does not happen for your load order, then obviously just remove the reference rules that delete those references via the advanced interface or directly from the DynDOLOD_SSE_unofficialskyrimspecialeditionpatchesp.ini. Then everything should just work with ultra tree LOD. Does it not?

As usual, always use the latest Alpha version. Whatever older versions do is irrelevant.

Link to comment
Share on other sites

22 minutes ago, yxzhang said:

Hi Sheson, I noticed some SHESON_DynDOLOD_LODObject scripts stuck in infinite loop on my game. The variable SatetyCounter is 0-10 for most script instances, but for the stuck ones, SatetyCounter became negative, and the while loop never ends. There are 8 of them in my 40 hour save.

Given that the wait time is utility.wait(1), I believe it should be this while loop: while self && SafetyCounter && (OpenState != self.GetOpenState())

Read the first post which DynDOLOD log and debug log to upload when making posts. That would help determine which scripts you are actually using.

If the counter goes to 0, it evaluates to false and exists the while loop. 

Link to comment
Share on other sites

I really appreciate your patience and willingness to respond, but I'm afraid we're still talking past each other :)

19 minutes ago, sheson said:

If the current alpha version still deletes those references because the bug does not happen for your load order, then obviously just remove the reference rules that delete those references via the advanced interface or directly from the DynDOLOD_SSE_unofficialskyrimspecialeditionpatchesp.ini.

The rules bug doesn't happen to me because I'm using Alpha 120. The USSEP rules are detected and seemingly applied correctly, as they've ever been since a long time ago:

image.png

Forget about the current rules bug for a minute, assume it doesn't exist, and let me ask differently. I'm just trying to understand what is the expected behavior inside SolitudeWorld when DynDOLOD and the USSEP rules work as intended.

  • What is supposed to be in the DynDOLOD plugin(s) exactly when the USSEP patch is working as intended?

It's understood that the neverfade trees added by USSEP in SolitudeWorld are "deleted" by overriding them with UDR'ed XMarkers. Ok, that part is fine.

But is that it? The trees are removed but not replaced by regular temporary duplicate references?

  • Is it expected that the LODs for the "deleted" trees still be visible from SolitudeWorld then?

Thanks.

Link to comment
Share on other sites

43 minutes ago, Mousetick said:

I really appreciate your patience and willingness to respond, but I'm afraid we're still talking past each other :)

The rules bug doesn't happen to me because I'm using Alpha 120. The USSEP rules are detected and seemingly applied correctly, as they've ever been since a long time ago:

image.png

Forget about the current rules bug for a minute, assume it doesn't exist, and let me ask differently. I'm just trying to understand what is the expected behavior inside SolitudeWorld when DynDOLOD and the USSEP rules work as intended.

  • What is supposed to be in the DynDOLOD plugin(s) exactly when the USSEP patch is working as intended?

It's understood that the neverfade trees added by USSEP in SolitudeWorld are "deleted" by overriding them with UDR'ed XMarkers. Ok, that part is fine.

But is that it? The trees are removed but not replaced by regular temporary duplicate references?

  • Is it expected that the LODs for the "deleted" trees still be visible from SolitudeWorld then?

Thanks.

https://dyndolod.info
Always use the latest version. Using the latest version and to provide feedback or to report problems is a requirement to participate in the alpha test. Do not waste time using older versions or reporting problems with older versions.

Reference rules are simply supposed to do what they are documented to do:

https://dyndolod.info/Help/Mesh-Mask-Reference-Rules#Dynamic-LOD-Options
Delete disables original reference completely and there will not be any LOD.

The vanilla game already adds the corresponding tree reference in the Tamriel worldspace, for which LOD is generated. Solitude uses the parent worldspace Tamriel for LOD.

The unofficial patch adds tree references for the same positions in the child worldspace, which caused the standard tree LOD and full model to show at the same when the cells are active - when the user is close - in the child worldspace. Because they are flagged persistent and IsFullLOD, similar overlapping happens in the parent world. Hence references rules were added to delete them.

In the past few years new features were added that should automatically deal better with this if the references are not deleted. If not, then a new more appropriate solution that works for both standard and ultra tree LOD will be conceived.

So I ask again, does using the current version not applying the "deletions" / removing the reference rules solve the issue for you? 

Link to comment
Share on other sites

3 hours ago, sheson said:

So I ask again, does using the current version not applying the "deletions" / removing the reference rules solve the issue for you? 

I'm not in the capacity to test the latest and greatest at this time, sorry.

So to summarize, after reading very hard between the lines of your oblique answers to my simple, direct questions: the issue is caused by the USSEP rules which should not be used (when doing tree LOD as object LOD? unclear, not sure).

Anyhow, reading https://dyndolod.info/DynDOLOD-Reference, specifically step #6 "Disable neverfades", gave me an idea. I made a patch that simply removes the IsFullLOD flag from the USSEP trees in SolitudeWorld. Problem solved. I guess that's what DynDOLOD would have done if I had run it without the USSEP rules?...

It's not perfect though, I'm guessing because the Tamriel LODs cover more trees/cells than there are duplicates in SolitudeWorld, quite a few trees still disappear when getting closer, but at least the closest trees (e.g. the ones in cell -17,26) don't vanish so it's not as noticeable and jarring.

Thanks.

Link to comment
Share on other sites

On 6/24/2023 at 1:58 AM, Mousetick said:

I'm not in the capacity to test the latest and greatest at this time, sorry.

So to summarize, after reading very hard between the lines of your oblique answers to my simple, direct questions: the issue is caused by the USSEP rules which should not be used (when doing tree LOD as object LOD? unclear, not sure).

Anyhow, reading https://dyndolod.info/DynDOLOD-Reference, specifically step #6 "Disable neverfades", gave me an idea. I made a patch that simply removes the IsFullLOD flag from the USSEP trees in SolitudeWorld. Problem solved. I guess that's what DynDOLOD would have done if I had run it without the USSEP rules?...

It's not perfect though, I'm guessing because the Tamriel LODs cover more trees/cells than there are duplicates in SolitudeWorld, quite a few trees still disappear when getting closer, but at least the closest trees (e.g. the ones in cell -17,26) don't vanish so it's not as noticeable and jarring.

Thanks.

If you have problems using the current version, then report them. There is no reason not to use it.
I directly answered the questions what the rules are expected to do and how/why LOD for the trees is still be seen from Solitude.

If the current alpha version still deletes those references because the bug does not happen for your load order, then obviously just remove the reference rules that delete those references via the advanced interface or directly from the DynDOLOD_SSE_unofficialskyrimspecialeditionpatchesp.ini. Then everything should just work with ultra tree LOD. Does it not?

Does [..] removing the reference rules solve the issue for you? 

I am directly asking you to remove the reference rules instead of relying on the bug. Twice. Simply read the actual lines I am writing.

I am asking again, what happens when you do this? If the result still is not working, it will be addressed in the next update, as I already mentioned.

If you are unable to do what I am asking directly, then simply say so. Then I will add the tests to my long list of things to do. And you just need to wait for the next version for it to be resolved.

Link to comment
Share on other sites

15 hours ago, sheson said:

Read the first post which DynDOLOD log and debug log to upload when making posts. That would help determine which scripts you are actually using.

If the counter goes to 0, it evaluates to false and exists the while loop. 

Here's the log, https://ufile.io/eniga12z, and in summary my version is 3.0.0.128, latest one from nexus.

That's the intended behavior, I know. But I find the counter negative in my save file, and the loop never ends. Not sure how. Heavily loaded Papyrus can be weird.

Link to comment
Share on other sites

38 minutes ago, yxzhang said:

Here's the log, https://ufile.io/eniga12z, and in summary my version is 3.0.0.128, latest one from nexus.

That's the intended behavior, I know. But I find the counter negative in my save file, and the loop never ends. Not sure how. Heavily loaded Papyrus can be weird.

From the log it seems you are using DynDOLOD.DLL 2.45 for 1.6.640 with DynDOLOD DLL SE - Scripts 2.82.5.

Does that sound correct? If it does, download the DynDOLOD DLL SE - Scripts 2.82.6.

You might need to do a clean save without the plugins and scripts in the load order, so the old scripts are removed.
If you can repeat whatever you believe might have caused this, test if the never ending loop situation does not happen anymore.

Link to comment
Share on other sites

1 hour ago, sheson said:

From the log it seems you are using DynDOLOD.DLL 2.45 for 1.6.640 with DynDOLOD DLL SE - Scripts 2.82.5.

Does that sound correct? If it does, download the DynDOLOD DLL SE - Scripts 2.82.6.

You might need to do a clean save without the plugins and scripts in the load order, so the old scripts are removed.
If you can repeat whatever you believe might have caused this, test if the never ending loop situation does not happen anymore.

Thanks for the quick response.

Just updated to 2.82.6. As soon as I load the game, those active scripts decided to kill themselves.

I see you've made it a local variable, so that should solve the race condition, hopefully.

Link to comment
Share on other sites

11 hours ago, Floop said:

DynDOLOD is saying that the dragonborn dlc has Large References. I cleaned all of my mods with xedit so idk what's happening. Any fix for this? 

mod/plugin list:https://loadorderlibrary.com/lists/dyndolod-help-1 

 

Moved to the DynDOLOD 3 Alpha thread.

Read the first post or https://dyndolod.info/Official-DynDOLOD-Support-Forum#Post-Logs which log and debug log to upload when making posts.

Do not post screenshots of messages, use the "Copy message to clipboard" and paste the text instead as explained in the first post or at https://dyndolod.info/Official-DynDOLOD-Support-Forum#Copy-and-Paste-Text

The message is saying that Unofficial Ghosts of the Tribunal Patch.esl has a large reference entry which links to the FormID 0x0401E343, which is a reference that normally exists in Dragonborn.esm. That FormID can not be found. Typically Unofficial Ghosts of the Tribunal Patch.esl should only have that large reference entry if it overwrites the reference added by Dragonbon.esm.

Use the "Click on this link for additional explanations and help for this message" to open https://dyndolod.info/Messages/Unresolved-Form-ID as explained in the first post or at https://dyndolod.info/Official-DynDOLOD-Support-Forum#Read-Log-and-Error-Messages
Start by checking the plugin and record with xEdit mentioned in the Error in ... message.

So, start by checking with xEdit if the plugin load order 0x04 is Dragonborn.esm. Then check if you can find the formID 0x0401E343 in it.

If unresolved form ID errors happen in the latest and all updated vanilla game files (including DLC and CC), consider using the Unofficial Skyrim Legendary Edition Patch, Unofficial Skyrim Special Edition Patch and/or Unofficial Skyrim Creation Club Content Patches.

Make sure the vanilla and CC game plugins are all in sync for the same game version and that the patch plugin was made for that version.

The order of the 3 vanilla DLC is wrong in the modlist.txt you uploaded. Make sure the plugins are sorted properly.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Guidelines, Privacy Policy, and Terms of Use.