Skip to content

MOREActor::ActorModel

MOREActor::ActorModel structure

Name Type Condition Description
bonesName BasicString version < 0x6 Revelation's code appears to ignore this field.
bonesGeometricFileName BasicString version < 0x6 Revelation's code appears to ignore this field.
bones Array<BoneInfo> version >= 0x6 && version < 0x8
bones Array<BoneModel> version >= 0x8
eventEmitters Array<EventEmitterInfo> version >= 0x3 && version < 0x8
eventEmitters Array<EventEmitterModel> version >= 0x8
soundEmitters Array<SoundEmitterInfo> version < 0x8
soundEmitters Array<BaseEmitterModel> version >= 0x8
stateModels Array<BaseTrackContainerModel> version => 0xA
channels Array<ChannelInfo> version < 0x8
channels Array<ChannelModel> version >= 0x8
graphicObjectNames Array<BasicString> version >= 0x6

BaseHierarchyModel structure

Name Type Condition Description
name BasicString
fatherIndex int16
type uint32
position ??? Type changes based on type (0x0, 0x1 or 0x2).

Note

If type is not any of the values listed above, Revelation will crash.

BaseRotationModel structure

Name Type Condition Description
type uint32
rotation ??? Type changes based on type (0x0, 0x1, 0x2, 0x3 or 0x4).

Note

If type is not any of the values listed above, Revelation will crash.

BaseEmitterModel structure

Name Type
bhm BaseHierarchyModel
box Box
trackNames Array<BasicString>

BaseTrackContainerModel structure

Name Type
name BasicString
trackNames Array<BasicString>

BoneInfo structure

Name Type Condition Description
name BasicString
positionName BasicString
rotationName BasicString
scaleValueName BasicString version >= 0x7
scaleOrientationName BasicString version >= 0x7
useScale bool version >= 0x7
fatherIndex int16
defaultPosition Vector3
defaultRotation Quaternion
scaleValue Vector3 version < 0x7
scaleOrientation Quaternion version < 0x7
matrixDeterminant float32 version < 0x7 scaleValue *= matrixDeterminant
defaultScaleValue Vector3 version >= 0x7
defaultScaleOrientation Quaternion version >= 0x7

BoneModel structure

Name Type Condition
bhm BaseHierarchyModel
brm BaseRotationModel
type uint32
scale AnimScale type == 0x0
scale ConstScale type == 0x1

Note

If type is not any of the values listed above, Revelation will crash.

AnimScale structure

Name Type
const ConstAnim
valueName BasicString
rotationName BasicString

ConstScale structure

Name Type
value Vector3
rotation Quaternion

EventEmitterInfo structure

Name Type Condition
name BasicString
positionName BasicString
rotationName BasicString
fatherIndex int16
defaultPosition Vector3
defaultRotation Quaternion
box Box version >= 0x4
eventTrackNames Array<BasicString>

EventEmitterModel structure

Name Type
bem BaseEmitterModel
brm BaseRotationModel

SoundEmitterInfo structure

Name Type Condition
name BasicString
positionName BasicString
fatherIndex int16
defaultPosition Vector3
box Box version >= 0x4
soundTrackNames Array<BasicString>

ChannelInfo structure

Name Type Condition Description
name BasicString If version < 0x6, serialisation code describes this as geometricObjectName instead, but still puts it in the same struct field.
graphicObjectIDs Array<uint16> version >= 0x6
boneIDs Array<uint16>
isDeformable bool version >= 0x5 If version < 0x5, this field is implicitly boneIDs.len > 1.

ChannelModel structure

Name Type
name BasicString
isDeformable bool
isMultipleMeshes bool
isVisibilityAnimated bool
boneIDs Array<uint16>
graphicObjectIDs Array<uint16>