/// <summary> /// The serialise. /// </summary> /// <param name="serialise"> /// The serialise. /// </param> public override void Serialise(IwSerialise serialise) { base.Serialise(serialise); { serialise.UInt16(ref this.size); } { serialise.UInt16(ref this.numItems); } { serialise.UInt16(ref this.flags); } }
float m_TransformPrecision = 1; // Amount this is scaled up by. #endregion #region Public Methods and Operators /// <summary> /// The serialise. /// </summary> /// <param name="serialise"> /// The serialise. /// </param> public override void Serialise(IwSerialise serialise) { base.Serialise(serialise); serialise.UInt32(ref parentBone); serialise.SQuat(ref this.rot); serialise.SVec3(ref this.pos); serialise.UInt16(ref m_SkelID); serialise.UInt16(ref m_Flags); serialise.Fixed(ref m_TransformPrecision); }
/// <summary> /// The serialise. /// </summary> /// <param name="serialise"> /// The serialise. /// </param> public override void Serialise(IwSerialise serialise) { base.Serialise(serialise); serialise.UInt32(ref parentBone); serialise.SQuat(ref this.rot); serialise.SVec3(ref this.pos); serialise.UInt16(ref m_SkelID); serialise.UInt16(ref m_Flags); serialise.Fixed(ref m_TransformPrecision); }
/// <summary> /// The serialise. /// </summary> /// <param name="serialise"> /// The serialise. /// </param> public override void Serialise(IwSerialise serialise) { base.Serialise(serialise); { serialise.UInt16(ref this.size); } { serialise.UInt16(ref this.numItems); } { serialise.UInt16(ref this.flags); } }
/// <summary> /// The serialise. /// </summary> /// <param name="serialise"> /// The serialise. /// </param> public override void Serialise(IwSerialise serialise) { base.Serialise(serialise); serialise.UInt32(ref this.materialId); this.inds = new ushort[this.numItems]; serialise.Serialise(ref this.inds); { serialise.UInt16(ref this.streamIdBegin); } { serialise.UInt16(ref this.streamIdEnd); } }
uint m_NumVerts; // number of verts in skin set public override void Serialise(IwSerialise serialise) { base.Serialise(serialise); serialise.UInt32(ref m_NumVerts); if (serialise.IsReading()) { uint dataLen = 0; serialise.UInt32(ref dataLen); long pos = serialise.Position + dataLen; byte boneId = 0; for (; ;) { serialise.UInt8(ref boneId); if (boneId == 0xFF) { break; } boneIds.Add(boneId); } // pad if ((boneIds.Count % 2) == 0) { serialise.UInt8(ref boneId); } vertices = new CIwAnimSkinSetVertex[m_NumVerts]; for (int i = 0; i < m_NumVerts; ++i) { serialise.UInt16(ref vertices[i].VertexId); vertices[i].Bones = new CIwAnimSkinSetVertexBone[boneIds.Count]; for (int j = 0; j < boneIds.Count; j++) { serialise.SVec3(ref vertices[i].Bones[j].BindPose); } for (int j = 0; j < boneIds.Count; j++) { serialise.UInt8(ref vertices[i].Bones[j].Weight); } // pad if (boneIds.Count % 2 == 1) { serialise.UInt8(ref boneId); } } if (serialise.Position != pos) { throw new FormatException("CIwAnimSkinSet"); } } else { throw new ApplicationException(); } }
/// <summary> /// The serialise. /// </summary> /// <param name="serialise"> /// The serialise. /// </param> public override void Serialise(IwSerialise serialise) { base.Serialise(serialise); { uint val = 0x00020000; serialise.UInt32(ref val); } { ushort val = 4; serialise.UInt16(ref val); } { ushort val = 4; serialise.UInt16(ref val); } this.sphere.Serialise(serialise); this.list.Serialise(serialise); this.ext.Serialise(serialise); if (serialise.IsReading()) { uint numMaterials = 0; serialise.UInt32(ref numMaterials); this.materials = new CIwMaterial[numMaterials]; for (int i = 0; i < this.materials.Length; ++i) { CIwManaged m = null; serialise.ManagedHash("CIwMaterial".ToeHash(), ref m); this.materials[i] = (CIwMaterial)m; } } else { uint numMaterials = (uint)this.materials.Length; serialise.UInt32(ref numMaterials); for (int i = 0; i < this.materials.Length; ++i) { CIwManaged m = this.materials[i]; serialise.ManagedHash("CIwMaterial".ToeHash(), ref m); } } }
public override void Serialise(IwSerialise serialise) { base.Serialise(serialise); serialise.UInt32(ref m_NumVerts); if (serialise.IsReading()) { uint dataLen = 0; serialise.UInt32(ref dataLen); long pos = serialise.Position + dataLen; byte boneId = 0; for (; ; ) { serialise.UInt8(ref boneId); if (boneId == 0xFF) break; boneIds.Add(boneId); } // pad if ((boneIds.Count % 2) == 0) serialise.UInt8(ref boneId); vertices = new CIwAnimSkinSetVertex[m_NumVerts]; for (int i = 0; i < m_NumVerts;++i ) { serialise.UInt16(ref vertices[i].VertexId); vertices[i].Bones = new CIwAnimSkinSetVertexBone[boneIds.Count]; for (int j = 0; j < boneIds.Count; j++) { serialise.SVec3(ref vertices[i].Bones[j].BindPose); } for (int j = 0; j < boneIds.Count; j++) { serialise.UInt8(ref vertices[i].Bones[j].Weight); } // pad if ( boneIds.Count % 2 == 1) serialise.UInt8(ref boneId); } if (serialise.Position != pos) throw new FormatException("CIwAnimSkinSet"); } else { throw new ApplicationException(); } }
/// <summary> /// The serialise. /// </summary> /// <param name="serialise"> /// The serialise. /// </param> /// <exception cref="NotImplementedException"> /// </exception> public override void Serialise(IwSerialise serialise) { base.Serialise(serialise); { serialise.UInt16(ref this.uniqueValues); } short mediane = 0; serialise.Int16(ref mediane); var len = this.uniqueValues; // this.numItems; // this.Resize(this.numItems); if (serialise.IsWriting()) { throw new NotImplementedException(); } for (int i = 0; i < len; ++i) { short x = (short)(this.verts[i].X - mediane); serialise.Int16(ref x); this.verts[i].X = x + mediane; } for (int i = 0; i < len; ++i) { short y = (short)(this.verts[i].Y - mediane); serialise.Int16(ref y); this.verts[i].Y = y + mediane; } for (int i = 0; i < len; ++i) { short z = (short)(this.verts[i].Z - mediane); serialise.Int16(ref z); this.verts[i].Z = z + mediane; } ushort[] links = new ushort[this.numItems - this.uniqueValues]; serialise.Serialise(ref links); for (int i = this.uniqueValues; i < this.numItems; ++i) { this.verts[i] = this.verts[links[i - this.uniqueValues]]; } }
/// <summary> /// The serialise. /// </summary> /// <param name="serialise"> /// The serialise. /// </param> /// <exception cref="NotImplementedException"> /// </exception> public override void Serialise(IwSerialise serialise) { base.Serialise(serialise); { serialise.UInt16(ref this.uniqueValues); } short mediane = 0; serialise.Int16(ref mediane); var len = this.uniqueValues; // this.numItems; // this.Resize(this.numItems); if (serialise.IsWriting()) { throw new NotImplementedException(); } for (int i = 0; i < len; ++i) { short x = (short)(this.verts[i].X - mediane); serialise.Int16(ref x); this.verts[i].X = x + mediane; } for (int i = 0; i < len; ++i) { short y = (short)(this.verts[i].Y - mediane); serialise.Int16(ref y); this.verts[i].Y = y + mediane; } for (int i = 0; i < len; ++i) { short z = (short)(this.verts[i].Z - mediane); serialise.Int16(ref z); this.verts[i].Z = z + mediane; } ushort[] links = new ushort[this.numItems - this.uniqueValues]; serialise.Serialise(ref links); for (int i = this.uniqueValues; i < this.numItems; ++i) { this.verts[i] = this.verts[links[i - this.uniqueValues]]; } }
/// <summary> /// The serialise. /// </summary> /// <param name="serialise"> /// The serialise. /// </param> public override void Serialise(IwSerialise serialise) { base.Serialise(serialise); serialise.UInt32(ref this.m_MaterialID); serialise.UInt16(ref this.m_NumTupleIDs); if (serialise.IsReading()) { this.m_TupleIDs = new ushort[this.m_NumTupleIDs]; this.prims = new _IwModelPrim[this.numItems]; } serialise.Serialise(ref this.m_TupleIDs); for (int i = 0; i < this.numItems; ++i) { this.prims[i].Serialise(serialise); } }
/// <summary> /// The serialise. /// </summary> /// <param name="serialise"> /// The serialise. /// </param> public override void Serialise(IwSerialise serialise) { base.Serialise(serialise); serialise.UInt32(ref this.m_MaterialID); serialise.UInt16(ref this.m_NumTupleIDs); if (serialise.IsReading()) { this.m_TupleIDs = new ushort[this.m_NumTupleIDs]; this.prims = new _IwModelPrim[this.numItems]; } serialise.Serialise(ref this.m_TupleIDs); for (int i = 0; i < this.numItems; ++i) { this.prims[i].Serialise(serialise); } }
/// <summary> /// The serialise. /// </summary> /// <param name="serialise"> /// The serialise. /// </param> public override void Serialise(IwSerialise serialise) { base.Serialise(serialise); serialise.UInt32(ref this.materialId); this.inds = new ushort[this.numItems]; serialise.Serialise(ref this.inds); { serialise.UInt16(ref this.streamIdBegin); } { serialise.UInt16(ref this.streamIdEnd); } }