TES4Edit Question

Post » Fri Feb 18, 2011 11:00 pm

First, let me apologize for not putting this in the TES4Edit release thread. I couldn't locate an open release thread (tried searching for TES4Edit in titles, and then ElminsterEU's topics -- neither worked). Sigh.

Anyhow, I'm seeing quite a few messages like this when loading stuff up for cleaning.

Error: record ACRE contains unexpected (or out of order) subrecord XLOD 444F4C58Errors were found in: [ACRE:5A003DF9] (places A909FleshDemon "Abyss God" [CREA:00510A35] in GRUP Cell Temporary Children of [CELL:5A003DF2] (in A909Hell "Abyss" [WRLD:00510A32] at -4,10))Contained subrecords: NAME XLOD XSCL DATA

Should I be worried about this type of error. And, if so, what is the best way to fix it?

Thanx, - RB
User avatar
Tikarma Vodicka-McPherson
 
Posts: 3426
Joined: Fri Feb 02, 2007 9:15 am

Post » Fri Feb 18, 2011 11:02 pm

There is no active thread for TES4Edit, so no worries about having to start a new thread for your query.

I would worry about error messages like that, as it shows that there is bad data (effectively, corrupt data) in the ESP you're looking at. This data could be harmless in-game, or it could cause the game to crash. Try to resolve it by placing a new record (don't copy the existing) with the same settings as the error-containing record, then removing the one with the error.
User avatar
Taylor Thompson
 
Posts: 3350
Joined: Fri Nov 16, 2007 5:19 am

Post » Sat Feb 19, 2011 8:25 am

The problem in this case appears to be an extra XLOD subrecord in a ACRE record. I am hesitant to remove the XLOD subrecord as the only reference to it I've been able to locate states it's purpose is unknown.

XLODs show up in the http://www.uesp.net/wiki/Tes4Mod:Mod_File_Format/REFR

The whole mod file format section is prefaced with
Outdated Tech: While these pages still provide the best public documentation of the Oblivion file formats, all mod makers should also be using Tes4View, which currently provides the most complete and correct understanding of the mod file format in a readily accessible manner.


Here's a byte array of an instance of the record
0000: AF E7 B1 3D D8 78 09 3E BB B4 7C 3F              *...=.x.>..|? 


If anyone wants to look for themselves. these are taken from Gates to Aesgaard - Episode 1 v1.0

I'm wondering of the XLOD is legal in ACRE records, but it just occurs so rarely that it's missing from the reverse engineered model. Or, if the purpose of XLOD subrecords has been untangled and just not documented.
User avatar
Soph
 
Posts: 3499
Joined: Fri Oct 13, 2006 8:24 am

Post » Sat Feb 19, 2011 1:36 am

XLOD relates in some way to Distant LOD. I'm not actually sure whether the game uses it or whether it is old redundant coding. But a placed creature (ACRE) shouldn't have an XLOD entry at all. Such errors can (I believe) occur when one type of object is placed, and it is then swapped for another type of object, and some of the original object's data accidentally gets attached to the new object. Placing another copy of the CREA at the same location with the same record entries then removing the error record would resolve.
User avatar
Rach B
 
Posts: 3419
Joined: Thu Mar 08, 2007 11:30 am

Post » Sat Feb 19, 2011 11:26 am

That error for GTA is harmless. The CS will allow you to check the box for "visible when distant" on a creature but the game does not use it. TES4Edit does not expect it to be there and complains but it does no harm.
User avatar
Captian Caveman
 
Posts: 3410
Joined: Thu Sep 20, 2007 5:36 am

Post » Sat Feb 19, 2011 12:23 pm

Thanks Display,

I used TES4Gecko to delete the XLOD subrecords from the following 8 ACRE formids:

xx00766D, xx00766E, xx0041A4, xx00407E, xx003DF9, xx003E28, xx003E2C, xx003E2D

TES4Edit now loads Gates to Aesgaard cleanly. Yippee :foodndrink:

The remaining errors I am seeing are in Horadric Cube.esm and appear to be an out of order issue with the data subrecord showing up before the script effect subrecords.

[00:12] Background Loader: Contained subrecords: EDID FULL MODL MODB ICON SCRI DATA EFID EFIT SCIT FULL EFID EFIT EFID EFIT EFID EFIT SCIT FULL [00:12] Background Loader: Error: record SGST contains unexpected (or out of order) subrecord EFID[00:12] Background Loader: Error: record SGST contains unexpected (or out of order) subrecord EFIT 54494645[00:12] Background Loader: Error: record SGST contains unexpected (or out of order) subrecord SCIT 54494353[00:12] Background Loader: Error: record SGST contains unexpected (or out of order) subrecord FULL[00:12] Background Loader: Error: record SGST contains unexpected (or out of order) subrecord EFID[00:12] Background Loader: Error: record SGST contains unexpected (or out of order) subrecord EFIT 54494645[00:12] Background Loader: Error: record SGST contains unexpected (or out of order) subrecord EFID[00:12] Background Loader: Error: record SGST contains unexpected (or out of order) subrecord EFIT 54494645[00:12] Background Loader: Error: record SGST contains unexpected (or out of order) subrecord EFID[00:12] Background Loader: Error: record SGST contains unexpected (or out of order) subrecord EFIT 54494645[00:12] Background Loader: Error: record SGST contains unexpected (or out of order) subrecord SCIT 54494353[00:12] Background Loader: Error: record SGST contains unexpected (or out of order) subrecord FULL[00:12] Background Loader: Errors were found in: hcPearlPerfect "Pearl, Perfect" [SGST:0100101C]


Is there an easy way to move the required data subrecord to the end of structure? The parser is expecting the data record to be the last one and is choking on all the extra records. Gecko will let me delete a subrecord, but not move or add. I don't on first pass see anything in TES4View or the Construction Set that will let me just move the subrecord to the end.

Thanks again for your help
RB
User avatar
Matthew Warren
 
Posts: 3463
Joined: Fri Oct 19, 2007 11:37 pm

Post » Sat Feb 19, 2011 3:55 am

Thanx Arthmoor, I fixed it before I saw your response, so I guess at least I saved a teeny bit of memory. :violin:

And saving from the CS fixed the ordering issue with Horadric Cube subrecords.

It however exposed another probable error. The SCIT subrecord has a null reference as the value of its script effect field. In the absence of a script it looks like the best way to fix this is to delete the entire SCIT subrecord. Is that the "correct" way to address this type of problem.

If anyone is working on TES4Edit, adding the ability to filter based on formid and using a value of 0 for the formid would point up null references. Or, is there another tool that wouild do this?

RB
User avatar
Chavala
 
Posts: 3355
Joined: Sun Jun 25, 2006 5:28 am


Return to IV - Oblivion