Example #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();
        }
Example #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);
            }
        }
Example #3
0
 public TGI(TGI tgi)
 {
     this.type     = tgi.Type;
     this.group    = tgi.Group;
     this.instance = tgi.Instance;
 }
Example #4
0
 internal static TGI[] CopyTGIArray(TGI[] source)
 {
     TGI[] tmp = new TGI[source.Length];
     Array.Copy(source, tmp, source.Length);
     return(tmp);
 }
Example #5
0
        public bool Equals(string tgi)
        {
            TGI tmp = new TGI(tgi);

            return(this.type == tmp.type & this.group == tmp.group & this.instance == tmp.instance);
        }
Example #6
0
 public bool Equals(TGI tgi)
 {
     return(this.type == tgi.type & this.group == tgi.group & this.instance == tgi.instance);
 }