// ---- METHODS ------------------------------------------------------------------------------------------------ void IResData.Load(ResFileLoader loader) { _flags = loader.ReadUInt32(); PolygonControl = new PolygonControl() { Value = loader.ReadUInt32() }; DepthControl = new DepthControl() { Value = loader.ReadUInt32() }; AlphaControl = new AlphaControl() { Value = loader.ReadUInt32() }; AlphaRefValue = loader.ReadSingle(); ColorControl = new ColorControl() { Value = loader.ReadUInt32() }; BlendTarget = loader.ReadUInt32(); BlendControl = new BlendControl() { Value = loader.ReadUInt32() }; BlendColor = loader.ReadVector4F(); }
// ---- CONSTRUCTORS & DESTRUCTOR ------------------------------------------------------------------------------ internal BoneAnimData(ResFileLoader loader, BoneAnimFlagsBase flags) { Flags = 0; // Never in files. Scale = flags.HasFlag(BoneAnimFlagsBase.Scale) ? loader.ReadVector3F() : Vector3F.Zero; Rotate = flags.HasFlag(BoneAnimFlagsBase.Rotate) ? loader.ReadVector4F() : Vector4F.Zero; Padding = 0; // Never in files. Translate = flags.HasFlag(BoneAnimFlagsBase.Translate) ? loader.ReadVector3F() : Vector3F.Zero; }
// ---- METHODS ------------------------------------------------------------------------------------------------ void IResData.Load(ResFileLoader loader) { if (loader.IsSwitch) { Name = loader.LoadString(); UserData = loader.LoadDictValues <UserData>(); if (loader.ResFile.VersionMajor2 == 8 || loader.ResFile.VersionMajor2 == 9) { loader.Seek(16); } ushort idx = loader.ReadUInt16(); ParentIndex = loader.ReadInt16(); SmoothMatrixIndex = loader.ReadInt16(); RigidMatrixIndex = loader.ReadInt16(); BillboardIndex = loader.ReadInt16(); ushort numUserData = loader.ReadUInt16(); _flags = loader.ReadUInt32(); Scale = loader.ReadVector3F(); Rotation = loader.ReadVector4F(); Position = loader.ReadVector3F(); } else { Name = loader.LoadString(); ushort idx = loader.ReadUInt16(); ParentIndex = loader.ReadInt16(); SmoothMatrixIndex = loader.ReadInt16(); RigidMatrixIndex = loader.ReadInt16(); BillboardIndex = loader.ReadInt16(); ushort numUserData = loader.ReadUInt16(); _flags = loader.ReadUInt32(); Scale = loader.ReadVector3F(); Rotation = loader.ReadVector4F(); Position = loader.ReadVector3F(); UserData = loader.LoadDict <UserData>(); if (loader.ResFile.Version < 0x03040000) { InverseMatrix = loader.ReadMatrix3x4(); } } }
// ---- METHODS ------------------------------------------------------------------------------------------------ void IResData.Load(ResFileLoader loader) { Name = loader.LoadString(); ushort idx = loader.ReadUInt16(); ParentIndex = loader.ReadUInt16(); SmoothMatrixIndex = loader.ReadInt16(); RigidMatrixIndex = loader.ReadInt16(); BillboardIndex = loader.ReadUInt16(); ushort numUserData = loader.ReadUInt16(); _flags = loader.ReadUInt32(); Scale = loader.ReadVector3F(); Rotation = loader.ReadVector4F(); Position = loader.ReadVector3F(); UserData = loader.LoadDict <UserData>(); }