Jump to content

Undo previsibine breaking done by another mod


pra

Recommended Posts

So, there is a mod, which does a lot of changes to the exterior commonwealth worldspace, and breaks previsibines in the process.

 

Let's call it A.esp.

 

If A.esp is loaded, you have broken previsibines in the affected area.

 

What I want to do is to create a B.esp, which, when loaded, undoes the changes done by A.esp in such a way, that vanilla previsibines take effect in the affected area once again.

 

 

 

Is that possible? I have tried, but so far, failed.

 

Regenerating previsibines for B.esp is not an option, because the whole point of the exercise is vanilla compatibility, to resolve conflicts.

Editing A.esp is also not an option, because the mod author in question cannot be reached for permissions.

Link to comment
Share on other sites

I think you would need 2 steps:

 

1 copy all modified cells from a.esp to b.esp as override records, and mark everything as deleted (deleted flag on all records, do not remove the record)

 

2 copy the cells in the vanilla esm and copy them to b.esp as override records, overwriting vanilla records flagged as deleted form the previous step.

 

In the resulting b.esp you should then have all a.bsp additions marked as deleted, and all vanilla restored to its default.

 

Then load b.esp after a.esp, and that should do the trick.

Link to comment
Share on other sites

So basically, introduce ITMs of all vanilla records in the cell into B.esp? I was under the impression that ITMs still break precombines. Am I wrong?

 

 

Additions from A.esp shouln't be an an issue, though, since AFAIK you can add refs as you please without breaking precombines, it's only deleting, moving, or otherwise changing, which breaks them.

Link to comment
Share on other sites

In case you want keep vanilla and modified ones, you can just copy (deep copy as override) the cells containing modified vanilla objects from the esm to b.esp, b.esp will override the modified records from a.esp to its vanilla state.

Link to comment
Share on other sites

Can find some interesting info in this topic https://forums.nexusmods.com/index.php?/topic/5522717-fallout-4-optimization-and-performance-systems-explained/ , run search for "timestamp".

To heal what another mod has broken need to restore all bracketed records (elements included into precombined meshes) that were touched and their timestamps (VersionControlInfo) to original state, also CELL's PCMB and XCRI should be reverted if were changed or cleared.

Supposedly, precombs can be "broken" selectively as necessary by removing only some of XCRI elements manually and let a mod to keep its most worthy additions/changes without breaking everything else around, but meself never had a suitable occasion to confirm this assumption, curious though.

 

ps. Was the question about PreVis or Precombines though? Previsibines...

Edited by hereami
Link to comment
Share on other sites

 

ps. Was the question about PreVis or Precombines though? Previsibines...

Both. I thought "previsibines" is the community term for this now.

I definitely want to restore both. And for what the two of you wrote, it seems I can.

Thank you!

 

I'll post again after I tried doing this.

Link to comment
Share on other sites

About PreVis i only know that they have some stamp too and cause unpleasant visual issues.

Just in case then, might need XEdit script "Copy Version Control Info", duplicated records have None or a fresh stamp (in CK) and that's the problem.

Edited by hereami
Link to comment
Share on other sites

The only important thing about Previs (visibility) is the uxd files themselves, the information in the CELL records (including timestamps) is completely ignored by the occlusion system. Only precombines care about the timestamp information in the CELL/REFR records (and the XCRI etc info).

If your a.esp mod includes any precombine meshes or previs uvd files then that will also be a (seperate) issue. ITM's won't fix that.

If it is just an esp then yes, deliberate ITM's for the CELL records, and any moved/deleted REFR's (that are referenced in the CELL's XCRI section) are required to 'undo' the changes in a.esp that will break previsbines.

 

I do this myself for some mods that unnecessarily break previsbines (because they slightly moved some objects while they were in the CK - easily done).

 

Be careful when creating ITM's of REFR's, xedit will create new timestamps for them (it does not copy the timestamp, which is what you definitely need - new timestamps will disable previsbines in that cell). There is a script for copying the versioncontrol info (timestamp) in xedit, but it is broken. A working one is available - I will see if I can find the link.

 

P.S. Surprised you are asking this Pra - aren't you one of the experts in this? It might even be your script I am looking for!

If so - mea culpa - I jumped in to pass on my hard won learnings before I realized who I was teaching to suck eggs.

Edited by PJMail
Link to comment
Share on other sites

P.S. Surprised you are asking this Pra - aren't you one of the experts in this? It might even be your script I am looking for!

If so - mea culpa - I jumped in to pass on my hard won learnings before I realized who I was teaching to suck eggs.

You give me too much credit :D I mostly find out stuff via trial&error, and am rarely sure about them...

Another problem is, some of this stuff was literally years ago...

In this particular case, I tried fixing precombines via ITMs a while ago, but failed.

I probably have forgotten the version infos, missed one ref or another, or messed up in another way.

 

I remember doing a script to copy over version info at least. Probably because someone asked me to.

I am also thinking about making a "fix precombines for this cell" script, with the information I have now, it should be possible.

Link to comment
Share on other sites

Could well be your "version Info copy" script! I know the one supplied with xedit (Copy version control info from another plugin) is faulty...

 

A script that does most of the work would be very welcome by the 'previsbines' community on Discord (those making patches) - everyone ends up having to 'unbreak' mods (especially the older unsupported ones). It only needs one missed PCMB date on a CELL, or version info on a REFR, and precombines are toast - so a script would be more infallible...

 

A useful thing to know is the VISI previs datestamp is ignored so it is a useful field you can set (to say todays date) that stops the CELL record being considered an "ITM" (most people seem allergic to ITMs). There is something useless you can set on REFRs too (but I don't remember it atm).

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...