Difference between revisions of "FA1C39F7"

From SimsWiki
Jump to: navigation, search
m (Quaternions are 16 bytes.)
m (More information about version numbers.)
Line 23: Line 23:
 
;***cPerson section starts here, if not person, we move straight on to cAnimatable section
 
;***cPerson section starts here, if not person, we move straight on to cAnimatable section
 
::DWORD - Type of record (0x FA34F3EB=cPerson)
 
::DWORD - Type of record (0x FA34F3EB=cPerson)
::DWORD - probably version
+
::DWORD - cPerson Version (only known value = 3)
 
::BYTE - STRING length
 
::BYTE - STRING length
 
::STRING - Type of table ("cPerson")
 
::STRING - Type of table ("cPerson")
Line 29: Line 29:
 
;***cLocomotable section starts here, if not Locomotable, we move straight on to cAnimatable section
 
;***cLocomotable section starts here, if not Locomotable, we move straight on to cAnimatable section
 
::DWORD - Type of record (0xFD4F2EC7=cLocomotable)
 
::DWORD - Type of record (0xFD4F2EC7=cLocomotable)
::DWORD - probably version
+
::DWORD - cLocomotable version (only known value = 4)
 
::BYTE - STRING length
 
::BYTE - STRING length
 
::STRING - Type of table ("cLocomotable")
 
::STRING - Type of table ("cLocomotable")
Line 35: Line 35:
 
;***cAnimatable section starts here, if not animatable, we move straight on to cObject section
 
;***cAnimatable section starts here, if not animatable, we move straight on to cObject section
 
::DWORD - Type of record (0x7D4F2BB8 = cAnimatable)
 
::DWORD - Type of record (0x7D4F2BB8 = cAnimatable)
::DWORD - probably version (usually 1000 0000)
+
::DWORD - cAnimatable version (known values: 14, 15, 16, 17)
 
::BYTE - STRING length
 
::BYTE - STRING length
 
::STRING - Type of table ("cAnimatable")
 
::STRING - Type of table ("cAnimatable")
Line 41: Line 41:
 
;***cObject section starts here
 
;***cObject section starts here
 
::DWORD - Type of record (0xFA1C39F7 = cObject)
 
::DWORD - Type of record (0xFA1C39F7 = cObject)
::DWORD - probably version (1100 0000)
+
::DWORD - cObject version (known values: 15, 16, 17)
 
::BYTE - STRING length
 
::BYTE - STRING length
 
::STRING - Type of table ("cObject")
 
::STRING - Type of table ("cObject")
::BYTE - STRING length
+
::7BITSTR - model name from STR#85.  Can be 0 length if no model name
::STRING - model name from STR#85.  Can be 0 length if no model name
+
  
 
::DWORD - Count of  entries
 
::DWORD - Count of  entries
Line 90: Line 89:
 
;***cObject data ends here and cAnimatable data restarts
 
;***cObject data ends here and cAnimatable data restarts
  
;8 bytes (always seems to be 0000 803F 0100 0000)
+
;FLOAT
 +
:value normally 1, but values as low as .94 have been seen
 +
 
 +
;DWORD
 +
:value always 1
  
 
;_Set of coords_ (current - changes when moved)
 
;_Set of coords_ (current - changes when moved)
Line 105: Line 108:
  
 
;_Set of coords_ (does not seem to change with move)
 
;_Set of coords_ (does not seem to change with move)
 +
::Note: if cAnimatable version is 14 or 15, then this entry is only 6 DWORDS, not 7, so it's not clear that this is actually a set of coordinates.
 
::FLOAT - X coord
 
::FLOAT - X coord
 
::FLOAT - Y coord
 
::FLOAT - Y coord
Line 116: Line 120:
 
::16 BYTEs - Rotation quaternion
 
::16 BYTEs - Rotation quaternion
  
 +
::Note: If cAnimatable version is 14 or 15, then the following table of anim entries does not exist.
 
::DWORD - count of anim entries
 
::DWORD - count of anim entries
 
:::___Entry starts____
 
:::___Entry starts____
Line 129: Line 134:
 
:::___Entry ends___
 
:::___Entry ends___
  
::DWORD - (Only in cPerson - zeroes - may be cLocomotable record terminator)
+
::DWORD - (Only in cLocomotable - zeroes - may be cLocomotable record terminator)
 
::DWORD - (Only in cPerson - zeroes - may be cPerson record terminator)
 
::DWORD - (Only in cPerson - zeroes - may be cPerson record terminator)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  
  

Revision as of 13:35, 18 May 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:

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 - cPerson Version (only known value = 3)
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 - cLocomotable version (only known value = 4)
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 - cAnimatable version (known values: 14, 15, 16, 17)
BYTE - STRING length
STRING - Type of table ("cAnimatable")
      • cObject section starts here
DWORD - Type of record (0xFA1C39F7 = cObject)
DWORD - cObject version (known values: 15, 16, 17)
BYTE - STRING length
STRING - Type of table ("cObject")
7BITSTR - 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
16 BYTEs - Rotation quaternion
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
16 BYTEs - Rotation quaternion
___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
FLOAT
value normally 1, but values as low as .94 have been seen
DWORD
value always 1
_Set of coords_ (current - changes when moved)
FLOAT - X coord
FLOAT - Y coord
FLOAT - Height in metres
16 BYTEs - Rotation quaternion
_Set of coords_ (current - usually identical to set above)
FLOAT - X coord
FLOAT - Y coord
FLOAT - Height in metres
16 BYTEs - Rotation quaternion
_Set of coords_ (does not seem to change with move)
Note: if cAnimatable version is 14 or 15, then this entry is only 6 DWORDS, not 7, so it's not clear that this is actually a set of coordinates.
FLOAT - X coord
FLOAT - Y coord
FLOAT - Height in metres
16 BYTEs - Rotation quaternion
_Set of coords_ (previously saved position)
FLOAT - X coord
FLOAT - Y coord
FLOAT - Height in metres
16 BYTEs - Rotation quaternion
Note: If cAnimatable version is 14 or 15, then the following table of anim entries does not exist.
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 cLocomotable - 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

Personal tools
Namespaces

Variants
Actions
Navigation
game select
Toolbox