An INFO record defines a dialogue response. There is a sequence of TRDT, NAM1 and NAM2 subrecords for each response associated with the INFO record. There is a CTDA subrecord for each dialogue condition, a TCLT subrecord for each choice, and a NAME subrecord for each add topic.
The INFO records are contained in a Topic group. The INFO records must occur in the order defined by the PNAM subrecords. The first INFO record in the group has a PNAM subrecord containing a form ID of 0. The second INFO record has a PNAM subrecord containing the form ID of the first INFO record. And so forth.
Subrecord | Type | Info |
---|---|---|
DATA | ubyte | Dialogue type
|
ubyte | Next speaker
|
|
ubyte | Flags
|
|
QSTI | formid | Quest ID |
PNAM | formid | Previous INFO ID |
TRDT | long | Emotion type
|
long | Emotion value | |
ubyte[4] | Unknown | |
ubyte | Response number | |
ubyte[3] | Unknown | |
NAM1 | zstring | Response text |
NAM2 | zstring | Actor notes |
CTDA | ubyte | Condition type where the upper 4 bits contain the compare operator and the lower 4 bits contain flags.
|
ubyte[3] | Unknown | |
float | Comparison value | |
long | Function index. See Functions for a list of function indices. | |
formid/long | First parameter. This can be a number or a Form ID depending on the function. | |
formid/long | Second parameter. This can be a number of a Form ID depending on the function | |
formid/long? | Third parameter? | |
TCLT | formid | Choice |
NAME | formid | Add topic |
SCHR | struct | Result script data. See SCHR for more information. |
SCDA | struct | Compiled result script. See SCDA for more information. |
SCTX | string | Result script source. |
SCRO | formid | Global variable reference. There is an SCRO subrecord for each global reference. |
CTDT | 20 bytes | Seems to be the same structure as the CTDA except missing the last 4 bytes. This may be an 'older' version of the CTDA subrecord which needed to be expanded at some point. New/modified INFOs seem to use CTDA subrecords even if the original record used CTDTs. |