Difference between revisions of "FA1C39F7"
From SimsWiki
(Added infobox) |
|||
Line 14: | Line 14: | ||
*0x7D4F2BB8 : [[cAnimatable]] | *0x7D4F2BB8 : [[cAnimatable]] | ||
*0xFA1C39F7 : [[cObject]] | *0xFA1C39F7 : [[cObject]] | ||
+ | |||
+ | The following is based Inge's 2007 november note. | ||
+ | |||
+ | |||
+ | |||
+ | ::64 BYTEs - Zeroes | ||
+ | |||
+ | ;***cPerson section starts here, if not person, we move straight on to cAnimatable section | ||
+ | ::DWORD - Type of record (0x FA34F3EB=cPerson) | ||
+ | ::DWORD - probably version | ||
+ | ::BYTE - STRING length | ||
+ | ::STRING - Type of table ("cPerson") | ||
+ | |||
+ | ;***cLocomotable section starts here, if not Locomotable, we move straight on to cAnimatable section | ||
+ | ::DWORD - Type of record (0xFD4F2EC7=cLocomotable) | ||
+ | ::DWORD - probably version | ||
+ | ::BYTE - STRING length | ||
+ | ::STRING - Type of table ("cLocomotable") | ||
+ | |||
+ | ;***cAnimatable section starts here, if not animatable, we move straight on to cObject section | ||
+ | ::DWORD - Type of record (0x7D4F2BB8 = cAnimatable) | ||
+ | ::DWORD - probably version (usually 1000 0000) | ||
+ | ::BYTE - STRING length | ||
+ | ::STRING - Type of table ("cAnimatable") | ||
+ | |||
+ | ;***cObject section starts here | ||
+ | ::DWORD - Type of record (0xFA1C39F7 = cObject) | ||
+ | ::DWORD - probably version (1100 0000) | ||
+ | ::BYTE - STRING length | ||
+ | ::STRING - Type of table ("cObject") | ||
+ | ::BYTE - STRING length | ||
+ | ::STRING - model name from STR#85. Can be 0 length if no model name | ||
+ | |||
+ | ::DWORD - Count of entries | ||
+ | :::__Main entry starts__ | ||
+ | ::::BYTE - STRING length | ||
+ | ::::STRING - Unk | ||
+ | ::::DWORD - Unk (from the CRES cResourceNode, Settings, "Unknown 2"?) | ||
+ | ::::DWORD - Count of subentries | ||
+ | :::::___Subentry starts____ | ||
+ | ::::::BYTE - STRING length | ||
+ | ::::::STRING - material | ||
+ | ::::::BYTE - STRING length | ||
+ | ::::::STRING - mesh subset | ||
+ | :::::___Subentry ends___ | ||
+ | :::__Main entry ends___ | ||
+ | |||
+ | ;***Main Coords (Main coords are relative to lot) | ||
+ | ::FLOAT - X coord | ||
+ | ::FLOAT - Y coord | ||
+ | ::FLOAT - Height in metres | ||
+ | ::8 BYTEs - Unk (nearly always 0) | ||
+ | ::4 BYTEs - Rotation quaternion Y | ||
+ | ::4 BYTEs - Rotation quaternion W | ||
+ | |||
+ | ::DWORD - count of entries which I think are CRES nodes. | ||
+ | :::Entry #1's coordinates are relative to the lot. They change if the object is moved on the lot. The subsequent entries I believe are relative to the Entry #1. | ||
+ | |||
+ | ::::___Entry starts___ | ||
+ | :::::BYTE - STRING length | ||
+ | :::::STRING - node name | ||
+ | :::::FLOAT - X coord | ||
+ | :::::FLOAT - Y coord | ||
+ | :::::FLOAT - Height in metres | ||
+ | :::::8BYTEs - Unk (almost always 0) | ||
+ | :::::4 BYTEs - Rotation quaternion Y | ||
+ | :::::4 BYTEs - Rotation quaternion W | ||
+ | ::::___Entry ends___ | ||
+ | |||
+ | ::DWORD - count of blend pair entries (whatever they are) | ||
+ | ::::___Entry starts____ | ||
+ | :::::BYTE - STRING length | ||
+ | :::::STRING - blend name | ||
+ | :::::BYTE - STRING length | ||
+ | :::::STRING - blend partner | ||
+ | :::::DWORD - terminal zeroes | ||
+ | ::::___Entry ends___ | ||
+ | |||
+ | ;***cObject data ends here and cAnimatable data restarts | ||
+ | |||
+ | ;8 bytes (always seems to be 0000 803F 0100 0000) | ||
+ | |||
+ | ;_Set of coords_ (current - changes when moved) | ||
+ | ::FLOAT - X coord | ||
+ | ::FLOAT - Y coord | ||
+ | ::FLOAT - Height in metres | ||
+ | ::8BYTEs - Unk (nearly always 0) | ||
+ | ::4 BYTEs - Rotation quaternion Y | ||
+ | ::4 BYTEs - Rotation quaternion W | ||
+ | |||
+ | ;_Set of coords_ (current - usually identical to set above) | ||
+ | ::FLOAT - X coord | ||
+ | ::FLOAT - Y coord | ||
+ | ::FLOAT - Height in metres | ||
+ | ::8BYTEs - Unk (nearly always 0) | ||
+ | ::4 BYTEs - Rotation quaternion Y | ||
+ | ::4 BYTEs - Rotation quaternion W | ||
+ | |||
+ | ;_Set of coords_ (does not seem to change with move) | ||
+ | ::FLOAT - X coord | ||
+ | ::FLOAT - Y coord | ||
+ | ::FLOAT - Height in metres | ||
+ | ::8BYTEs - Unk (nearly always 0) | ||
+ | ::4 BYTEs - Rotation quaternion Y | ||
+ | ::4 BYTEs - Rotation quaternion W | ||
+ | |||
+ | ;_Set of coords_ (previously saved position) | ||
+ | ::FLOAT - X coord | ||
+ | ::FLOAT - Y coord | ||
+ | ::FLOAT - Height in metres | ||
+ | ::8BYTEs - Unk (nearly always 0) | ||
+ | ::4 BYTEs - Rotation quaternion Y | ||
+ | ::4 BYTEs - Rotation quaternion W | ||
+ | |||
+ | ::DWORD - count of anim entries | ||
+ | :::___Entry starts____ | ||
+ | ::::16 BYTES - Unk | ||
+ | ::::BYTE - STRING length | ||
+ | ::::STRING - anim-related string | ||
+ | ::::BYTE - STRING length | ||
+ | ::::STRING - bone? joint? | ||
+ | ::::377 BYTES - Unk | ||
+ | ::::BYTE - STRING length | ||
+ | ::::STRING - another anim-related string | ||
+ | ::::4 BYTEs - Unk | ||
+ | :::___Entry ends___ | ||
+ | |||
+ | ::DWORD - (Only in cPerson - zeroes - may be cLocomotable record terminator) | ||
+ | ::DWORD - (Only in cPerson - zeroes - may be cPerson record terminator) | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
{{OldWikiEntryCleaned}} | {{OldWikiEntryCleaned}} |
Revision as of 12:59, 11 March 2010
FA1C39F7 | |
---|---|
Short name: | OBJT |
Long name: | Object |
Singular Lot Objects are a multi-format filetype.
Format
Since all three of the possible formats use this same TypeID, the Block ID must be used to determine which type of Block is contained in the file.
The possible Block IDs are:
- 0xFA34F3EB : cPerson
- 0x7D4F2BB8 : cAnimatable
- 0xFA1C39F7 : cObject
The following is based Inge's 2007 november note.
- 64 BYTEs - Zeroes
- cPerson section starts here, if not person, we move straight on to cAnimatable section
- DWORD - Type of record (0x FA34F3EB=cPerson)
- DWORD - probably version
- BYTE - STRING length
- STRING - Type of table ("cPerson")
- cLocomotable section starts here, if not Locomotable, we move straight on to cAnimatable section
- DWORD - Type of record (0xFD4F2EC7=cLocomotable)
- DWORD - probably version
- BYTE - STRING length
- STRING - Type of table ("cLocomotable")
- cAnimatable section starts here, if not animatable, we move straight on to cObject section
- DWORD - Type of record (0x7D4F2BB8 = cAnimatable)
- DWORD - probably version (usually 1000 0000)
- BYTE - STRING length
- STRING - Type of table ("cAnimatable")
- cObject section starts here
- DWORD - Type of record (0xFA1C39F7 = cObject)
- DWORD - probably version (1100 0000)
- BYTE - STRING length
- STRING - Type of table ("cObject")
- BYTE - STRING length
- STRING - model name from STR#85. Can be 0 length if no model name
- DWORD - Count of entries
- __Main entry starts__
- BYTE - STRING length
- STRING - Unk
- DWORD - Unk (from the CRES cResourceNode, Settings, "Unknown 2"?)
- DWORD - Count of subentries
- ___Subentry starts____
- BYTE - STRING length
- STRING - material
- BYTE - STRING length
- STRING - mesh subset
- ___Subentry ends___
- ___Subentry starts____
- __Main entry ends___
- __Main entry starts__
- DWORD - Count of entries
- Main Coords (Main coords are relative to lot)
- FLOAT - X coord
- FLOAT - Y coord
- FLOAT - Height in metres
- 8 BYTEs - Unk (nearly always 0)
- 4 BYTEs - Rotation quaternion Y
- 4 BYTEs - Rotation quaternion W
- DWORD - count of entries which I think are CRES nodes.
- Entry #1's coordinates are relative to the lot. They change if the object is moved on the lot. The subsequent entries I believe are relative to the Entry #1.
- DWORD - count of entries which I think are CRES nodes.
- ___Entry starts___
- BYTE - STRING length
- STRING - node name
- FLOAT - X coord
- FLOAT - Y coord
- FLOAT - Height in metres
- 8BYTEs - Unk (almost always 0)
- 4 BYTEs - Rotation quaternion Y
- 4 BYTEs - Rotation quaternion W
- ___Entry ends___
- ___Entry starts___
- DWORD - count of blend pair entries (whatever they are)
- ___Entry starts____
- BYTE - STRING length
- STRING - blend name
- BYTE - STRING length
- STRING - blend partner
- DWORD - terminal zeroes
- ___Entry ends___
- ___Entry starts____
- DWORD - count of blend pair entries (whatever they are)
- cObject data ends here and cAnimatable data restarts
- 8 bytes (always seems to be 0000 803F 0100 0000)
- _Set of coords_ (current - changes when moved)
- FLOAT - X coord
- FLOAT - Y coord
- FLOAT - Height in metres
- 8BYTEs - Unk (nearly always 0)
- 4 BYTEs - Rotation quaternion Y
- 4 BYTEs - Rotation quaternion W
- _Set of coords_ (current - usually identical to set above)
- FLOAT - X coord
- FLOAT - Y coord
- FLOAT - Height in metres
- 8BYTEs - Unk (nearly always 0)
- 4 BYTEs - Rotation quaternion Y
- 4 BYTEs - Rotation quaternion W
- _Set of coords_ (does not seem to change with move)
- FLOAT - X coord
- FLOAT - Y coord
- FLOAT - Height in metres
- 8BYTEs - Unk (nearly always 0)
- 4 BYTEs - Rotation quaternion Y
- 4 BYTEs - Rotation quaternion W
- _Set of coords_ (previously saved position)
- FLOAT - X coord
- FLOAT - Y coord
- FLOAT - Height in metres
- 8BYTEs - Unk (nearly always 0)
- 4 BYTEs - Rotation quaternion Y
- 4 BYTEs - Rotation quaternion W
- DWORD - count of anim entries
- ___Entry starts____
- 16 BYTES - Unk
- BYTE - STRING length
- STRING - anim-related string
- BYTE - STRING length
- STRING - bone? joint?
- 377 BYTES - Unk
- BYTE - STRING length
- STRING - another anim-related string
- 4 BYTEs - Unk
- ___Entry ends___
- ___Entry starts____
- DWORD - count of anim entries
- DWORD - (Only in cPerson - zeroes - may be cLocomotable record terminator)
- DWORD - (Only in cPerson - zeroes - may be cPerson record terminator)
This article is imported from the old MTS2 wiki. It's original page, with comments, can be found at http://old_wiki.modthesims2.com/FA1C39F7