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(); }
public CASP(BinaryReader br) { br.BaseStream.Position = 0; version = br.ReadUInt32(); offset = br.ReadUInt32(); presetCount = br.ReadInt32(); partname = new BinaryReader(br.BaseStream, Encoding.BigEndianUnicode).ReadString(); sortPriority = br.ReadSingle(); swatchOrder = br.ReadUInt16(); outfitID = br.ReadUInt32(); materialHash = br.ReadUInt32(); parameterFlags = br.ReadByte(); if (this.version >= 39) { parameterFlags2 = br.ReadByte(); } excludePartFlags = br.ReadUInt64(); if (version >= 41) { excludePartFlags2 = br.ReadUInt64(); } if (version > 36) { excludeModifierRegionFlags = br.ReadUInt64(); } else { excludeModifierRegionFlags = br.ReadUInt32(); } tagCount = br.ReadInt32(); int valueLength = version >= 37 ? 4 : 2; for (int i = 0; i < tagCount; i++) { br.ReadUInt16(); if (valueLength == 4) { br.ReadUInt32(); } else { br.ReadUInt16(); } } if (version >= 0x2B) { knitFlags = br.ReadUInt32(); } price = br.ReadUInt32(); titleKey = br.ReadUInt32(); partDescKey = br.ReadUInt32(); textureSpace = br.ReadByte(); bodyType = br.ReadUInt32(); bodySubType = br.ReadUInt32(); ageGender = (AgeGender)br.ReadUInt32(); }
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); } }