mhcExt* Externally referenced node is used to utilize node inside another module.

Macro _mhcExternalNodeInit Initializes externally referenced node

mhcInstance* Instance is used together with node in hierarchy evaluation. In addition to information related to the node, instance also has information regarding the hierarchy.

Structure MhcInstance MhcInstance structure
Function mhcInstanceInit Initializes MhcInstance
Macro _mhcInstanceCopyContext Copies hierarchy context of MhcInstance
Macro _mhcInstanceEvaluate Evaluates MhcInstance
Macro _mhcInstanceIsReady Checks whether MhcInstance can be evaluated

mhcModule* A group of hierarchy structures consists of Module

Structure MhcModule MhcModule structure
Function mhcModuleActivate Activates MhcModule
Function mhcModuleBeginEval Initializes for evaluating MhcModule
Function mhcModuleBind Binds Module with scene
Function mhcModuleDestroy Destroys MhcModule
Function mhcModuleGetExternalNode Resolves external reference node
Function mhcModuleGetNodeByName Searches for a node specified by its name
Function mhcModuleGetNodeByType Returns the number of specified node searched by type
Function mhcModuleInactivate Inactivates MhcModule
Function mhcModuleInit Initializes MhcModule
Function mhcModuleLoad Imports Module
Function mhcModuleUnload Deletes the contents of module that has been imported
Macro _mhcModuleIsActive Checks if Module is active
Macro _mhcModuleGetNodeByIndex Searches for a node specified by Index
Macro _mhcModuleAddNode Adds a node to Module

mhcModuleNode* ModuleNode is used to connect entire Module.

Variable gMhcModuleChunkParserList The array of the parser for the NVF chunk ('NHDR', 'REFR', 'MDUL', 'XTRN') Module handles
Structure MhcModuleNode MhcModuleNode Structure
Function mhcModuleNodeInit

mhcNode* Node is the unit for constructing a hierarchy

Structure MhcNode MhcNode structure
Function mhcNodeInit Initializes node
Function mhcNodeBeginEval Prepares for node evaluation
Function mhcNodeIsReadyToEvaluate Checks whether node can be evaluated
Function mhcNodeComplete Completes evaluation of node
Function mhcNodeAddInput Add input of node
Function mhcNodeRemoveInput Cancel input of node
Function mhcNodeAddOutput Add output of node
Function mhcNodeRemoveOutput Cancel output of node
Function mhcNodeSetInputMask Sets bit mask indicating that input has been resolved
Macro _mhcNodeActivate Makes it possible to evaluate node
Macro _mhcNodeInactivate Makes it so that node cannot be evaluated
Macro _mhcNodeIsActive Checks whether node can be evaluated
Macro _mhcNodeSetName Sets name
Macro _mhcNodeEvaluate Evaluates node
Macro _mhcNodeGetFieldPtr Returns pointer to field
Macro _mhcNodeBind Links node to scene
Macro _mhcNodeDestroy Destroys node

mhcNodeHandle* NodeHandle holds both the pointer and the index to a node.

Structure MhcNodeHandle MhcNodeHandle structure
Function mhcNodeHandleBind Sets a value in pointer based on index
Macro _mhcNodeHandleInit Initializes NodeHandle
Macro _mhcNodeHandleIsExternal Checks whether node indicated by NodeHandle is an external node
Macro _mhcNodeHandleSetIndex Specifies index for NodeHandle

mhcReference* Reference sets the reference between the fields of a node.

Structure MhcReference MhcReference structure
Function mhcReferenceBind Links Reference to a scene
Function mhcReferenceInit Initializes Reference
Macro _mhcReferenceActivate Makes reference possible
Macro _mhcReferenceBeginEval Makes preparations for reference
Macro _mhcReferenceInactivate Makes reference impossible
Macro _mhcReferenceIsActive Checks whether reference is possible
Macro _mhcReferenceResolve Resolves reference
Macro _mhcReferenceIsResolved Checks whether reference has been resolved

mhcScene* Scene holds all the data needed for hierarchy evaluation

Structure MhcScene MhcScene structure
Function mhcSceneInit Initializes Scene
Function mhcSceneDestroy Destroys Scene
Function mhcSceneGetNode Returns pointer to Node
Function mhcSceneEvaluate Evaluates Scene and generates rendering object
Function mhcSceneEvaluateFlat Evaluates Scene and generates rendering object
Function mhcSceneCreateInstance Generates an instance
Function mhcScenePutInstance Evaluates an instance and adds it to the list
Function mhcSceneBind Binds all Scene with module
Function mhcSceneAllocTransformBuffer Allocates dynamic buffer needed for coordinate conversion
Macro _mhcSceneAllocMatrix33f Allocates MvbMatrix33f to the buffer for coordinate conversion
Macro _mhcSceneAllocVector3f Allocates MvmVector3f to the buffer for coordinate conversion
Macro _mhcSceneGetModule Returns pointer to Module

mhcTransform* Transform defines the coordinate conversion mode

Structure MhcTransform MhcTransform structure
Function mhcTransformGenerateMatrix Generates a 4x4 matrix from transform
Function mhcTransformGenerateMtx Generates a Mtx from transform
Function mhcTransformGenerateOrientation Generates a 3x3 matrix from transform which indicates only rotation
Macro _mhcTransformCopy Copies transform