2.8.17 TimeNodeAtom

Referenced by: ExtTimeNodeContainer, SubEffectContainer

An atom record that specifies the attributes of a time node.

Let the corresponding time node be specified by the ExtTimeNodeContainer record (section 2.8.15) or the SubEffectContainer record that contains this TimeNodeAtom record.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

rh

...

reserved1

restart

type

fill

reserved2

reserved3

unused

duration

A

B

C

D

E

reserved5

rh (8 bytes): A RecordHeader structure (section 2.3.1) that specifies the header for this record. Sub-fields are further specified in the following table.

Field

Meaning

rh.recVer

MUST be 0x0.

rh.recInstance

MUST be 0x000.

rh.recType

MUST be an RT_TimeNode.

rh.recLen

MUST be 0x00000020.

reserved1 (4 bytes): MUST be zero, and MUST be ignored.

restart (4 bytes): An unsigned integer that specifies how the corresponding time node restarts when it completes its action. It MUST be ignored if fRestartProperty is FALSE and a value of 0x00000000 MUST be used instead. It MUST be a value from the following table:

Value

Meaning

0x00000000

Does not restart.

0x00000001

Can restart at any time.

0x00000002

Can restart when the corresponding time node is not active.

0x00000003

Same as 0x00000000.

type (4 bytes): A TimeNodeTypeEnum enumeration that specifies the type of the corresponding time node. It MUST be ignored if fGroupingTypeProperty is FALSE and a value of TL_TNT_Parallel MUST be used instead.

fill (4 bytes): An unsigned integer that specifies the state of the target object's properties when the animation ends. It MUST be ignored if fFillProperty is FALSE and a value of 0x00000000 MUST be used instead. It MUST be a value from the following table.

Value

Meaning

0x00000000

The properties remain at their ending values while the parent time node is still running or holding. After which, the properties reset to their original values.

0x00000001

The properties reset to their original values after the time node becomes inactive.

0x00000002

The properties remain at their ending values while the parent time node is still running or holding, or until another sibling time node is started under a sequential time node as specified in the type field. After which, the properties reset to their original values.

0x00000003

Same as 0x00000000.

0x00000004

Same as 0x00000001.

reserved2 (4 bytes):  MUST be zero, and MUST be ignored.

reserved3 (1 byte):  MUST be zero, and MUST be ignored.

unused (3 bytes): Undefined and MUST be ignored.

duration (4 bytes): A signed integer that specifies the duration of the corresponding time node in milliseconds. It MUST be ignored if fDurationProperty is FALSE and a value of 0x00000000 MUST be used instead.

A - fFillProperty (1 bit): A bit that specifies whether fill was explicitly set by a user interface action.

B - fRestartProperty (1 bit): A bit that specifies whether restart was explicitly set by a user interface action.

C - reserved4 (1 bit): MUST be zero, and MUST be ignored.

D - fGroupingTypeProperty (1 bit): A bit that specifies whether type was explicitly set by a user interface action.

E - fDurationProperty (1 bit): A bit that specifies whether duration was explicitly set by a user interface action.

reserved5 (27 bits): MUST be zero, and MUST be ignored.