Expand description
ASCII name registry for controllers, classifications, and node types. ASCII MDL name registry for controllers, classifications, and node types.
Provides bidirectional mappings between binary format codes and the ASCII
field name strings used by the engine’s text-mode MDL parser. Controller
type codes are node-type-specific – the same numeric code has different
ASCII names on different node types (e.g., code 100 is selfillumcolor
on mesh, verticaldisplacement on light, and drag on emitter).
All 58 controller codes are independently traced against swkotor.exe:
3 base (MdlNode::InternalParseField, 0x00465560), 48 emitter
(MdlNodeEmitter, 0x004658b0), 5 light (MdlNodeLight, 0x00469150)
and 2 mesh (MdlNodeTriMesh, 0x00469700). The set is closed rather
than sampled: every call site of the three controller-registration sinks
in the whole binary falls inside those four functions, so no other node
type has a controller vocabulary of its own. MdlNodeSkin tail-calls the
mesh parser, which is why the mesh pair covers the whole mesh family.
Enums§
- Node
Type Context - Node type context for disambiguating controller names.
Functions§
- classification_
from_ ascii - Returns the classification byte for an ASCII classification string.
- classification_
to_ ascii - Returns the ASCII classification string for a classification byte.
- controller_
ascii_ name - Returns the ASCII name for a controller type in a given node context.
- controller_
from_ ascii_ name - Returns the controller type code for an ASCII name in a given node context.
- is_
non_ controller_ keyword - Returns true for ASCII MDL keywords that should NOT be interpreted as inline controllers, even if they could parse as float values.
- node_
data_ from_ ascii_ name - Returns the default
MdlNodeDatavariant for an ASCII node type string. - node_
type_ ascii_ name - Returns the ASCII node type string for a node data variant.
- node_
type_ context - Returns the
NodeTypeContextfor a node data variant.