예제 #1
0
        /// <summary>
        /// Reads the data-block from a stream.
        /// </summary>
        public override void Read(ResourceDataReader reader, params object[] parameters)
        {
            base.Read(reader, parameters);

            // read structure data
            this.Poses                 = reader.ReadBlock <ResourceSimpleList64 <DataVec3V> >();
            this.ControllerPointer     = reader.ReadUInt64();
            this.BoundCompositePointer = reader.ReadUInt64();
            this.Unknown_30h           = reader.ReadBlock <SimpleList64 <uint> >();
            this.Unknown_40h           = reader.ReadUInt64();
            this.Unknown_48h           = reader.ReadUInt64();
            this.Unknown_50h           = reader.ReadMatrix4x4();
            this.BoneIndex             = reader.ReadBlock <SimpleList64 <uint> >();
            this.Unknown_A0h           = reader.ReadUInt64();
            this.Unknown_A8h           = reader.ReadUInt64();
            this.Unknown_B0h           = reader.ReadUInt64();
            this.Unknown_B8h           = reader.ReadUInt64();
            this.Unknown_C0h           = reader.ReadUInt32();
            this.Unknown_C4h           = reader.ReadUInt32();
            this.Unknown_C8h           = reader.ReadUInt64();

            // read reference data
            this.Controller = reader.ReadBlockAt <CharacterClothController>(
                this.ControllerPointer // offset
                );
            this.BoundComposite = reader.ReadBlockAt <BoundComposite>(
                this.BoundCompositePointer // offset
                );
        }
예제 #2
0
        /// <summary>
        /// Reads the data-block from a stream.
        /// </summary>
        public override void Read(ResourceDataReader reader, params object[] parameters)
        {
            base.Read(reader, parameters);

            // read structure data
            this.Unknown_A8h       = reader.ReadUInt64();
            this.Unknown_B0h       = reader.ReadMatrix4x4();
            this.BoundPointer      = reader.ReadUInt64();
            this.Unknown_F8h_Data  = reader.ReadBlock <SimpleList64 <ulong> >();
            this.Unknown_108h_Data = reader.ReadBlock <SimpleList64 <Matrix4x4> >();
            this.Unknown_118h      = reader.ReadUInt64();
            this.Unknown_120h      = reader.ReadUInt64();
            this.Unknown_128h      = reader.ReadUInt64();
            this.NamePointer       = reader.ReadUInt64();
            this.Unknown_138h      = reader.ReadUInt64();
            this.Unknown_140h      = reader.ReadUInt64();
            this.Unknown_148h      = reader.ReadUInt64();

            // read reference data
            this.Bound = reader.ReadBlockAt <Bound>(
                this.BoundPointer // offset
                );
            this.Name = reader.ReadBlockAt <string_r>(
                this.NamePointer // offset
                );
        }
예제 #3
0
        public override void Read(ResourceDataReader reader, params object[] parameters)
        {
            ProjectionMatrix = reader.ReadMatrix4x4();
            Id          = reader.ReadUInt32();
            GroupIndex  = reader.ReadUInt16();
            Unknown_46h = reader.ReadUInt16();
            Unknown_48h = reader.ReadUInt16();
            Unknown_4Ah = reader.ReadUInt16();
            ChunkSize   = reader.ReadUInt16();
            Unknown_4Eh = reader.ReadUInt16();
            Unknown_50h = reader.ReadUInt32();
            Unknown_54h = reader.ReadUInt32();
            Unknown_58h = reader.ReadSingle();
            Unknown_5Ch = reader.ReadSingle();
            Unknown_60h = reader.ReadUInt32();
            Unknown_64h = reader.ReadSingle();
            Unknown_68h = reader.ReadUInt32();
            Unknown_6Ch = reader.ReadUInt32();
            Chunk       = reader.ReadBytes(ChunkSize);

            // Skip padding
            reader.ReadBytes((16 - (ChunkSize % 16)) % 16);
        }
예제 #4
0
 /// <summary>
 /// Reads the data-block from a stream.
 /// </summary>
 public override void Read(ResourceDataReader reader, params object[] parameters)
 {
     // read structure data
     Value = reader.ReadMatrix4x4();
 }
예제 #5
0
        /// <summary>
        /// Reads the data-block from a stream.
        /// </summary>
        public override void Read(ResourceDataReader reader, params object[] parameters)
        {
            base.Read(reader, parameters);

            // read structure data
            this.Unknown_10h       = reader.ReadUInt32();
            this.Unknown_14h       = reader.ReadUInt32();
            this.Unknown_18h       = reader.ReadUInt32();
            this.Unknown_1Ch       = reader.ReadUInt32();
            this.Unknown_20h       = reader.ReadMatrix4x4();
            this.Unknown_60h       = reader.ReadVector4();
            this.VerticesPointer   = reader.ReadUInt64();
            this.Unknown_78h       = reader.ReadUInt32();
            this.Unknown_7Ch       = reader.ReadUInt32();
            this.IndicesPointer    = reader.ReadUInt64();
            this.AdjPolysPointer   = reader.ReadUInt64();
            this.Unknown_90h       = reader.ReadUInt32();
            this.Unknown_94h       = reader.ReadUInt32();
            this.Unknown_98h       = reader.ReadUInt32();
            this.Unknown_9Ch       = reader.ReadUInt32();
            this.Unknown_A0h       = reader.ReadUInt32();
            this.Unknown_A4h       = reader.ReadUInt32();
            this.Unknown_A8h       = reader.ReadUInt32();
            this.Unknown_ACh       = reader.ReadUInt32();
            this.Unknown_B0h       = reader.ReadUInt32();
            this.Unknown_B4h       = reader.ReadUInt32();
            this.Unknown_B8h       = reader.ReadUInt32();
            this.Unknown_BCh       = reader.ReadUInt32();
            this.Unknown_C0h       = reader.ReadUInt32();
            this.Unknown_C4h       = reader.ReadUInt32();
            this.Unknown_C8h       = reader.ReadUInt32();
            this.Unknown_CCh       = reader.ReadUInt32();
            this.Unknown_D0h       = reader.ReadUInt32();
            this.Unknown_D4h       = reader.ReadUInt32();
            this.Unknown_D8h       = reader.ReadUInt32();
            this.Unknown_DCh       = reader.ReadUInt32();
            this.Unknown_E0h       = reader.ReadUInt32();
            this.Unknown_E4h       = reader.ReadUInt32();
            this.Unknown_E8h       = reader.ReadUInt32();
            this.Unknown_ECh       = reader.ReadUInt32();
            this.Unknown_F0h       = reader.ReadUInt32();
            this.Unknown_F4h       = reader.ReadUInt32();
            this.Unknown_F8h       = reader.ReadUInt32();
            this.Unknown_FCh       = reader.ReadUInt32();
            this.Unknown_100h      = reader.ReadUInt32();
            this.Unknown_104h      = reader.ReadUInt32();
            this.Unknown_108h      = reader.ReadUInt32();
            this.Unknown_10Ch      = reader.ReadUInt32();
            this.Unknown_110h      = reader.ReadUInt32();
            this.Unknown_114h      = reader.ReadUInt32();
            this.PolysPointer      = reader.ReadUInt64();
            this.SectorTreePointer = reader.ReadUInt64();
            this.PortalsPointer    = reader.ReadUInt64();
            this.p8           = reader.ReadUInt64();
            this.Unknown_138h = reader.ReadUInt32();
            this.Unknown_13Ch = reader.ReadUInt32();
            this.Unknown_140h = reader.ReadUInt32();
            this.Unknown_144h = reader.ReadUInt32();
            this.Unknown_148h = reader.ReadUInt32();
            this.PortalsCount = reader.ReadUInt32();
            this.c1           = reader.ReadUInt32();
            this.Unknown_154h = reader.ReadUInt32();
            this.Unknown_158h = reader.ReadUInt32();
            this.Unknown_15Ch = reader.ReadUInt32();
            this.Unknown_160h = reader.ReadUInt32();
            this.Unknown_164h = reader.ReadUInt32();
            this.Unknown_168h = reader.ReadUInt32();
            this.Unknown_16Ch = reader.ReadUInt32();

            // read reference data
            this.Vertices = reader.ReadBlockAt <SimpleSplitArray <CompressedVertex> >(
                this.VerticesPointer // offset
                );
            this.Indices = reader.ReadBlockAt <SimpleSplitArray <ushort> >(
                this.IndicesPointer // offset
                );
            this.AdjPolys = reader.ReadBlockAt <SimpleSplitArray <AdjPoly> >(
                this.AdjPolysPointer // offset
                );
            this.Polys = reader.ReadBlockAt <SimpleSplitArray <Poly> >(
                this.PolysPointer // offset
                );
            this.SectorTree = reader.ReadBlockAt <Sector>(
                this.SectorTreePointer // offset
                );
            this.Portals = reader.ReadBlockAt <SimpleArray <Portal> >(
                this.PortalsPointer, // offset
                this.PortalsCount
                );
            this.p8data = reader.ReadBlockAt <SimpleArray <ushort> >(
                this.p8, // offset
                this.c1
                );
        }