DKC:TF > Types

In DKC:TF, some types appear in multiple different file formats. This page lists the most common types.

Basic types:

Class types:

String

TypeDescription
Uint32Length
Char[]Data

CString

TypeDescription
Char[]Null-terminated string

List

TypeDescription
Uint32Number of entries
Entries

List16

TypeDescription
Uint16Number of entries
Entries

Map

TypeDescription
Uint16Number of key-value pairs
First key
First value
...
Last key
Last value

Bits

Some file formats ignore byte boundaries and read individual bits from a file. When a larger type (such as Uint32) is extracted and not all bits in a byte have been read, the remaining bits in the byte are discarded and the stream becomes byte-aligned again.

CFourCC

TypeDescription
Char[4]Identifier

CGuid

TypeDescription
Uint32Part 1
Uint16Part 2
Uint16Part 3
Uint64Part 4

CObjectId

TypeDescription
CGuidGuid

CObjectTag

TypeDescription
CFourCCType
CObjectIdObject id

CAssetHeader

TypeDescription
Uint16Type id
Uint16Version

CFormDescriptor

TypeDescription
CFourCCIdentifier ("RFRM")
Uint64Data size
Uint64Unknown
CFourCCForm type
Uint32Version number
Uint32Version number
...Form data

CChunkDescriptor

TypeDescription
CFourCCChunk type
Uint64Data size
Uint32Unknown
Uint64Data offset

CVector3f

TypeDescription
Floatx
Floaty
Floatz

CVector4i

TypeDescription
Int32x
Int32y
Int32z
Int32w

CColor4f

TypeDescription
Floatred
Floatgreen
Floatblue
Floatalpha

CAABox

TypeDescription
CVector3fLow edge
CVector3fHigh edge

CMayaSpline

TypeDescription
List<CMayaSplineKnot>Knots
FloatMinimum
FloatMaximum
EInfinityTypePre infinity
EInfinityTypePost infinity
EClampModeClamp mode

EInfinityType

This enum specifies how the spline behaves before the first knot and behind the last knot.

ValueDescription
0Constant
1Linear
2Cycle
3CycleRelative
4Oscillate

EClampMode

This enum specifies how the spline is clamped if it is not between the minimum and maximum values.

ValueDescription
0Don't clamp
1Standard clamp (force to minimum/maximum)
2Cyclic clamp (if it's too high, wrap around to minimum)

CMayaSplineKnot

TypeDescription
FloatTime
FloatValue
ETangentTypeTangent type 1
ETangentTypeTangent type 2
Floatfield_C; Only present if tangent type 1 is Fixed.
Floatfield_10; Only present if tangent type 1 is Fixed.
Floatfield_14; Only present if tangent type 2 is Fixed.
Floatfield_18; Only present if tangent type 2 is Fixed.

ETangentType

ValueDescription
0Linear
1Flat
2Smooth
3Step
4Clamped
5Fixed