Talk:GFF

From Dragon Age Toolset Wiki
Revision as of 22:51, 15 March 2010 by Eshme (Talk | contribs) (Field information incorrect)

Jump to: navigation, search

Here's some more info on it for consideration. As is, the wiki article leaves you to guess at a lot of what's going on. Listing it here for now so I don't lose track of it.

--FollowTheGourd 06:56, 26 January 2010 (UTC)


Field information incorrect

After checking a .das file with the GFF editor that comes with the toolset, it would appear that FieldType is TypeID *then* flags. Also the flags are Reference (MSB, bit 16), List (bit 15), and Struct (bit 14).

This can be verified with:

# let data be an array of the gff file
# let offset be the start of a field in the field array
(id, type, flags, index) = unpack("I H H I),data[offset:offset+12])

isList = (flags & (1 << 15) >0)
isStruct = (flags & (1 << 14) >0)
isRef = (flags & (1 << 16) >0)

Given this, I'm going to change the page. If I'm incorrect, feel free to revert and explain why here.

--Overture1943 19:22, 6 November 2009 (UTC)

I say this is not easy, however i think the original was correct. I dont have big explanation at hand, the Bonesused List in MMH for example has Bit 1 set. The "Generic List" has Bit 1 and 3 set (Where with Bit3 Data contains a Struct reference). And lastly "Struct List" has Bit 1 and 2 set. (Where with bit2 the Data contains the Struct itself) All of them data are referenced in itself, however i think that is a given for Lists.
With which if only Bit3 is set, then the Data isnt referenced, but a struct is referenced ,and it is not a list or so it seems to me. Eshme 07:25, 15 March 2010 (UTC)
This appears true in GAD files as well, solely Bit1 is set for a Float32 list. Eshme 22:51, 15 March 2010 (UTC)