Jump to content

[WIPz] TES5Edit


zilav

Recommended Posts

Thanks for these game settings fireundubh. I'm looking for a setting that may increase the max distance between the player and the camera when zooming out in 3rd person view. fPitchZoomOutMaxDist has no effect. Any idea ?  :huh:

It works without a problem as INI seting. (Fallout4.ini)

[Camera]
fPitchZoomOutMaxDist=x.xxxx
Link to comment
Share on other sites

For some reason, working on a Cell seems to shuffle the list of physics references (XPRI). Also the currently unknown subfield for XOWN got modified.

 

Also, about layers, any thought on treating XLYR for REFR as Benign conflicts ? I don't think layers are used by the game itself at all.

Link to comment
Share on other sites

On this one again: https://i.imgur.com/1JShdSB.png

 

ALCS is working perfectly now.

 

I've identified what ALMI is. In the CK, when you are setting up a collection alias, there is a box that asks for the fill count. ALMI stores that value. I will assume that since it's just one byte field that it can only go up to FF, thus limiting it to 255.

 

The box is labeled "Max Initial Fill Count" if you want a specific text string for it.

Link to comment
Share on other sites

Are references that are in the XCRI subrecord for cells why xEdit shows "[Placed Object]" instead of just "Placed Object" ?

Link to comment
Share on other sites

Yes yes, but I have no reason to follow the gory details either :P

 

Next bit. It appears the FO4 CK is saving ONAM data to the TES4 header for regular ESP files now. This didn't used to happen in Skyrim and xEdit is stripping the data from the file if an edit is made. It seems this data should now be preserved in all cases for FO4.

Link to comment
Share on other sites

Are references that are in the XCRI subrecord for cells why xEdit shows "[Placed Object]" instead of just "Placed Object" ?

http://www.afkmods.com/index.php?/topic/3750-wipz-tes5edit/page-59#entry160258

 

Next bit. It appears the FO4 CK is saving ONAM data to the TES4 header for regular ESP files now. This didn't used to happen in Skyrim and xEdit is stripping the data from the file if an edit is made. It seems this data should now be preserved in all cases for FO4.

Wait... what? I'll check that when I get to decoding refs. By the way ONAM now also stores FormIDs of quest children: SCEN, DLBR, DIAL and INFO. This is a pure fun.

  • Like 1
Link to comment
Share on other sites

Wait... what? I'll check that when I get to decoding refs. By the way ONAM now also stores FormIDs of quest children: SCEN, DLBR, DIAL and INFO. This is a pure fun.

LOL. That's pretty much the reaction I had too. Was checking to see what referenced something and noticed it claimed something in the TES4 header was there. Except xEdit showed me nothing, and when I saved the edit I made and reloaded it, the TES4 header reference was gone.

 

Loaded it back into the CK again, did something else, saved, and then checked xEdit again and found the TES4 header reference was showing up again. So I looked with a hex editor and see that the ONAM data is being saved but xEdit isn't showing it.

 

I have no idea WHY they did this, but they did. I've also noticed that they include all the dialogue children too. Not sure why but maybe it's why we don't need SEQ files anymore.

Link to comment
Share on other sites

I have no idea WHY they did this, but they did. I've also noticed that they include all the dialogue children too. Not sure why but maybe it's why we don't need SEQ files anymore.

I'm still not convinced that it is not another Beth bug in CK. There are mods made in FO4Edit on nexus that change existing refs and dialogues, they do work just fine without any ONAMs.

 

Can you test yourself please to check if there any difference between mods with and without ONAM that modify vanilla refs, landscape, navmeshes and dialogues?

  • Like 1
Link to comment
Share on other sites

Bug or not, I firmly believe xEdit needs to reflect what the official tool is outputting to the file.

 

I can't say I've noticed any issues in playing with the UFO4P loaded (after the WRLD record was fixed) so I dunno. It's up to you obviously but I don't think operating in undefined territory is a good plan.

Link to comment
Share on other sites

Uploading for XB1 didn't make me provide a separate esp, but who knows.

Link to comment
Share on other sites

Far Harbor is kicking off some new errors when looking at DLCCoast.esm:

[00:10] Background Loader: Error: record ACHR contains unexpected (or out of order) subrecord MNAM 4D414E4D
[00:10] Background Loader: Errors were found in: [ACHR:01053DE6] (places DLC03_EncRadChickenTrapper "Rad Chicken" [NPC_:010509D5] in GRUP Cell Persistent Children of [CELL:01001942] (in DLC03FarHarbor "The Island" [WRLD:01000B0F]) at 12,0)
[00:10] Background Loader: Contained subrecords: NAME XLYR XLKR DATA MNAM
[00:30] Background Loader: Error: record SCEN contains unexpected (or out of order) subrecord JOUT 54554F4A
[00:30] Background Loader: Error: record SCEN contains unexpected (or out of order) subrecord DALC 434C4144
[00:30] Background Loader: Error: record SCEN contains unexpected (or out of order) subrecord NPOT 544F504E
[00:30] Background Loader: Error: record SCEN contains unexpected (or out of order) subrecord NNGT 54474E4E
[00:30] Background Loader: Error: record SCEN contains unexpected (or out of order) subrecord NNUT 54554E4E
[00:30] Background Loader: Error: record SCEN contains unexpected (or out of order) subrecord NQUT 5455514E
[00:30] Background Loader: Error: record SCEN contains unexpected (or out of order) subrecord DTGT 54475444
[00:30] Background Loader: Error: record SCEN contains unexpected (or out of order) subrecord ANAM
[00:30] Background Loader: Error: record SCEN contains unexpected (or out of order) subrecord ANAM
[00:30] Background Loader: Error: record SCEN contains unexpected (or out of order) subrecord NAM0 304D414E
[00:30] Background Loader: Error: record SCEN contains unexpected (or out of order) subrecord ALID
[00:30] Background Loader: Error: record SCEN contains unexpected (or out of order) subrecord INAM
[00:30] Background Loader: Error: record SCEN contains unexpected (or out of order) subrecord SNAM 4D414E53
[00:30] Background Loader: Error: record SCEN contains unexpected (or out of order) subrecord ENAM 4D414E45
[00:30] Background Loader: Error: record SCEN contains unexpected (or out of order) subrecord PNAM
[00:30] Background Loader: Error: record SCEN contains unexpected (or out of order) subrecord ANAM
[00:30] Background Loader: Error: record SCEN contains unexpected (or out of order) subrecord PNAM
[00:30] Background Loader: Error: record SCEN contains unexpected (or out of order) subrecord INAM
[00:30] Background Loader: Error: record SCEN contains unexpected (or out of order) subrecord VNAM
[00:30] Background Loader: Error: record SCEN contains unexpected (or out of order) subrecord TNAM
[00:30] Background Loader: Error: record SCEN contains unexpected (or out of order) subrecord XNAM
[00:30] Background Loader: Errors were found in: DLC03DialogueDiMA_03_HubScene [SCEN:01021C10]
[00:30] Background Loader: Contained subrecords: EDID FNAM HNAM NAM0 NEXT NEXT WNAM HNAM HNAM NAM0 NEXT NEXT WNAM FNAM SCQS HNAM ANAM NAM0 ALID INAM FNAM SNAM ENAM PTOP NTOP NETO QTOP VENC JOUT DALC NPOT NNGT NNUT NQUT DTGT ANAM ANAM NAM0 ALID INAM SNAM ENAM PNAM ANAM PNAM INAM VNAM TNAM XNAM
[00:31] Background Loader: Error: record SNDR contains unexpected (or out of order) subrecord NNAM 4D414E4E
[00:31] Background Loader: Errors were found in: DLC03OBJFogCondenserRunLAYERBLPM [SNDR:01048E02]
[00:31] Background Loader: Contained subrecords: EDID NNAM CNAM GNAM ANAM ANAM ONAM LNAM BNAM
[00:31] Background Loader: Error: record SNDR contains unexpected (or out of order) subrecord NNAM 4D414E4E
[00:31] Background Loader: Errors were found in: DLC03OBJFogCondenserRunLAYERALPM [SNDR:01048E01]
[00:31] Background Loader: Contained subrecords: EDID NNAM CNAM GNAM ANAM ANAM ONAM LNAM BNAM
[00:31] Background Loader: Error: record SNDR contains unexpected (or out of order) subrecord NNAM 4D414E4E
[00:31] Background Loader: Errors were found in: DLC03OBJFogCondenserRunLPM [SNDR:01048DFF]
[00:31] Background Loader: Contained subrecords: EDID NNAM CNAM DNAM DNAM
Link to comment
Share on other sites

Uploaded new build to fix those errors in DLC.

 

Regarding ONAMs in ESP. No matter what I tried to do in CK (changing scenes, dialogues, moving vanilla refs around, etc.), I couldn't get it to create them in my test plugin. However when I load unofficial patch and save it, CK does create ONAMs. So it is probably a lookup optimization data for changed records triggered to be created when a plugin reaches some size threshold, or whatever.

Anyway FO4Edit will now always generate ONAMs in any FO4 plugins.

  • Like 1
Link to comment
Share on other sites

Found an error in data handling for Skyrim NPCs.

For this example, we have EncVampire00Template as reported here: http://www.afkmods.com/index.php?/tracdown/issue/20460-vampire-templates-do-not-have-chill-touch/

Dawnguard.esm has a record that looks like this: https://i.imgur.com/4o8FppY.jpg

Notice how the "Override Data" button shows as pressed and there's a * next to the data in the list, which I have selected. That's without saving anything.

Here's what it looks like when loaded up in USLEEP: https://i.imgur.com/lI8rVY6.jpg

You can see the star has been lost and the "Override Data" button no longer shows up as pressed.

So I did a test to confirm the cause. I loaded the 304Update.esp file we use to do the normal work on USLEEP. Went to the EncVampire00Template (Form 00032FE7) and selected the needed data and set it back up. Then saved the file. Right now that's the only record present.

Loaded this file into xEdit, and checked it. Nothing looks amiss, no indication of a flag that's different or anything. So I did a copy as override into a new file. Saved that and loaded it into the CK. Initially you get a UI screen that has the correct data, but the "Overide Data" button is NO LONGER PRESSED. As soon as you save the file, for whatever reason, the data is lost.

Exit the CK, load up xEdit, and sure enough, this is what you'll see: https://i.imgur.com/Q2scpVr.jpg

Again, no visual indicator of what's been lost, so I can only assume it's a case of unknown data being stripped and not shown in the xEdit UI and then stripped off when the file is saved, which eventually results in the data being lost. Probably without anyone noticing, like us, until someone reports the bug and wonders what's up.

There must be some subtle different between the two files. I have uploaded those files here: http://www.iguanadons.net/AttackRecordFiles.7z so you can hopefully compare them, find the discrepancy, and account for it in the xEdit UI so this doesn't remain a problem in the future.

Link to comment
Share on other sites

That was a bitch to catch. First I created a new plugin with that record from Dawnguard using CK, then the same one using xEdit. All meaningful fields were identical but still the xEdit's one didn't work. Then I right clicked and mark modified a record from CK's plugin in xEdit and saved. This caused the whole record to be reconstructed using xEdit's definitions and recompressed, and this one still worked fine when loaded in CK, so at least xEdit was not losing any values that are already present in a plugin.

I replaced all attack data subrecords with hex arrays and compared both plugins, sure there was a single bit difference otherwise I would start to pull my hairs. Turns out that when I was decoding Skyrim, I copied flags definition code from somewhere else in the source code to not type all those hex bit masks over and over again myself, but didn't spot that it has a parameter to ignore undefined flags. So there is an extra flag set in Attack Data which xEdit was hiding as commanded by definitions and was not copying itself, that's why plugins looked identical but worked differently. However as I mentioned it doesn't remove that flag either if it is already present, so saving CK made plugins in xEdit was safe in this case.

I'll update that in the next build, stay tuned :imp:

  • Like 1
Link to comment
Share on other sites

Uploaded build that fixes attack data issue in Skyrim.

You can now use "Check for Errors" on Fallout 4 plugins since 95% of definitions are done.

  • Like 2
Link to comment
Share on other sites

Hey zilav (or anyone else) quick question about building references:

 

Based on my experience, you have to build references in order for xEdit to detect certain types of errors (Unresolved References and Unexpected References, I think?).  So my question is thus: If I want to find all errors in a particular plugin file, can I build references ONLY for that plugin file, or do I have to build references for every plugin I load?

 

EDIT: Also, seeing you said 95% of definitions are done, do you think now would be a good time to add Fallout 4 support to Merge Plugins, or should I wait a bit longer?

Link to comment
Share on other sites

Based on my experience, you have to build references in order for xEdit to detect certain types of errors (Unresolved References and Unexpected References, I think?).  So my question is thus: If I want to find all errors in a particular plugin file, can I build references ONLY for that plugin file, or do I have to build references for every plugin I load?

 

You don't have to build references to check for those errors. Building references just fills out the Referenced By tab. Also, you can build references for specific plugins.

Link to comment
Share on other sites

EDIT: Also, seeing you said 95% of definitions are done, do you think now would be a good time to add Fallout 4 support to Merge Plugins, or should I wait a bit longer?

Not yet. xEdit should pass 2 tests before it can be even considered stable

1. Check For Errors shoudn't report false positives on master file

2. Copy As Override should work on all vanilla master records and always produce ITM data, even copying full worldspaces if there is enough memory,

 

I'm now on the first test only and it is almost working as intended.

  • Like 1
Link to comment
Share on other sites

You don't have to build references to check for those errors. Building references just fills out the Referenced By tab. Also, you can build references for specific plugins.

 

I'm well aware that you can build references for specific plugins.  I'm doing this from code by calling BuildRef on the plugin IwbFile instance directly.  I know what I'm doing.

 

I think that you do have to build references to check for those errors because, (based on what I've seen) those errors aren't appearing currently (when I'm not building references) when they normally would appear in TES5Edit (with references built).  It's also possible that there's something else I'm missing to be able to find those errors, but what I do know is that me not building references in ModDump -> Less errors than what TES5Edit reports.  And the error checking code is lifted directly from TES5Edit, so yeah.  Idk right now, have to look into it some more.

 

Right now I'm having this really stupid issue where I'm getting an EOS 2 error when trying to load plugins when running Mod Dump through MO (including plugins not managed by MO) and it doesn't make any sense (doesn't happen with TES5Edit, happens with ModDump).  Really annoying...  >_>'

Link to comment
Share on other sites

I know this may not be feasible for you and it's not what you are asking about but does it happen on another machine without MO.  MO2 for Fallout 4, even though I hear Beta 1 is working better is trying to account for the fact that xEdit is a 32-Bit app.  Programs like LOOT, Wrye Flash, and xEdit will not be built to be 64-bit apps.  So while your issue seems simple enough if you take MO out of the equation does it still happen?  If not then it's because of how MO2 handles 32 bit apps and Tannin just needs to do more work still.  It may not be anything you are doing wrong.  Skyrim ran in a 32-bit environment and MO for Skryim used a 32-bit environment.  Since TES5Edit was a 32-bit app it may not have had any issues so what I am saying may be pertinent.

Link to comment
Share on other sites

I'm well aware that you can build references for specific plugins.  I'm doing this from code by calling BuildRef on the plugin IwbFile instance directly.  I know what I'm doing.

 

You asked, "If I want to find all errors in a particular plugin file, can I build references ONLY for that plugin file?" The answer is: yes. Perhaps you asked the wrong question?

 

 

I think that you do have to build references to check for those errors because, (based on what I've seen) those errors aren't appearing currently (when I'm not building references) when they normally would appear in TES5Edit (with references built).

 

I always skip building references when I load plugins. I was just helping Zilav with a Check for Errors issue when you asked your question, and Check for Errors without building references output unresolved/unexpected reference errors.

 

I can't help you with ModDump. No idea what that is.

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...