Esempio n. 1
0
        public Sculpt(BinaryReader br)
        {
            this.contextVersion = br.ReadUInt32();
            uint publicKeyCount    = br.ReadUInt32();
            uint externalKeyCount  = br.ReadUInt32();
            uint delayLoadKeyCount = br.ReadUInt32();
            uint objectKeyCount    = br.ReadUInt32();

            this.publicKey = new TGI[publicKeyCount];
            for (int i = 0; i < publicKeyCount; i++)
            {
                publicKey[i] = new TGI(br, TGI.TGIsequence.ITG);
            }
            this.externalKey = new TGI[externalKeyCount];
            for (int i = 0; i < externalKeyCount; i++)
            {
                externalKey[i] = new TGI(br, TGI.TGIsequence.ITG);
            }
            this.BGEOKey = new TGI[delayLoadKeyCount];
            for (int i = 0; i < delayLoadKeyCount; i++)
            {
                BGEOKey[i] = new TGI(br, TGI.TGIsequence.ITG);
            }
            this.objectKey = new ObjectData[objectKeyCount];
            for (int i = 0; i < objectKeyCount; i++)
            {
                objectKey[i] = new ObjectData(br);
            }
            this.version   = br.ReadUInt32();
            this.ageGender = (AgeGender)br.ReadUInt32();
            this.region    = (SimRegion)br.ReadUInt32();
            this.subRegion = (SimSubRegion)br.ReadUInt32();
        }
Esempio n. 2
0
        public SMOD(BinaryReader br)
        {
            this.contextVersion = br.ReadUInt32();
            uint publicKeyCount    = br.ReadUInt32();
            uint externalKeyCount  = br.ReadUInt32();
            uint delayLoadKeyCount = br.ReadUInt32();
            uint objectKeyCount    = br.ReadUInt32();

            this.publicKey = new TGI[publicKeyCount];
            for (int i = 0; i < publicKeyCount; i++)
            {
                publicKey[i] = new TGI(br, TGI.TGIsequence.ITG);
            }
            this.externalKey = new TGI[externalKeyCount];
            for (int i = 0; i < externalKeyCount; i++)
            {
                externalKey[i] = new TGI(br, TGI.TGIsequence.ITG);
            }
            this.BGEOKey = new TGI[delayLoadKeyCount];
            for (int i = 0; i < delayLoadKeyCount; i++)
            {
                BGEOKey[i] = new TGI(br, TGI.TGIsequence.ITG);
            }
            this.objectKey = new ObjectData[objectKeyCount];
            for (int i = 0; i < objectKeyCount; i++)
            {
                objectKey[i] = new ObjectData(br);
            }
            this.version   = br.ReadUInt32();
            this.ageGender = (AgeGender)br.ReadUInt32();
            this.region    = (SimRegion)br.ReadUInt32();
            if (this.version >= 144)
            {
                this.subRegion = (SimSubRegion)br.ReadUInt32();
            }
            this.linkTag              = (BgeoLinkTag)br.ReadUInt32();
            this.bonePoseKey          = new TGI(br, TGI.TGIsequence.ITG);
            this.deformerMapShapeKey  = new TGI(br, TGI.TGIsequence.ITG);
            this.deformerMapNormalKey = new TGI(br, TGI.TGIsequence.ITG);
            uint count = br.ReadUInt32();

            this.boneEntryList = new BoneEntry[count];
            for (int i = 0; i < count; i++)
            {
                this.boneEntryList[i] = new BoneEntry(br);
            }
        }