MCPcopy Create free account
hub / github.com/GarageGames/Torque3D / packData

Method packData

Engine/source/T3D/shapeImage.cpp:976–1156  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

974}
975
976void ShapeBaseImageData::packData(BitStream* stream)
977{
978 Parent::packData(stream);
979
980 if(stream->writeFlag(computeCRC))
981 {
982 for( U32 j=0; j<MaxShapes; ++j )
983 {
984 stream->write(mCRC[j]);
985 }
986 }
987
988 stream->writeString(shapeName); // shape 0 for normal use
989 stream->writeString(shapeNameFP); // shape 1 for first person use (optional)
990
991 stream->writeString(imageAnimPrefix);
992 stream->writeString(imageAnimPrefixFP);
993
994 stream->write(mountPoint);
995 if (!stream->writeFlag(mountOffset.isIdentity()))
996 stream->writeAffineTransform(mountOffset);
997 if (!stream->writeFlag(eyeOffset.isIdentity()))
998 stream->writeAffineTransform(eyeOffset);
999
1000 stream->writeFlag(animateOnServer);
1001
1002 stream->write(scriptAnimTransitionTime);
1003
1004 stream->writeFlag(useEyeNode);
1005
1006 stream->writeFlag(correctMuzzleVector);
1007 stream->writeFlag(correctMuzzleVectorTP);
1008 stream->writeFlag(firstPerson);
1009 stream->write(mass);
1010 stream->writeFlag(usesEnergy);
1011 stream->write(minEnergy);
1012
1013 for( U32 j=0; j<MaxShapes; ++j)
1014 {
1015 stream->writeFlag(hasFlash[j]);
1016 }
1017
1018 // Client doesn't need accuFire
1019
1020 // Write the projectile datablock
1021 if (stream->writeFlag(projectile))
1022 stream->writeRangedU32(packed? SimObjectId((uintptr_t)projectile):
1023 projectile->getId(),DataBlockObjectIdFirst,DataBlockObjectIdLast);
1024
1025 stream->writeFlag(cloakable);
1026 stream->writeRangedU32(lightType, 0, NumLightTypes-1);
1027 if(lightType != NoLight)
1028 {
1029 stream->write(lightRadius);
1030 stream->write(lightDuration);
1031 stream->writeFloat(lightColor.red, 7);
1032 stream->writeFloat(lightColor.green, 7);
1033 stream->writeFloat(lightColor.blue, 7);

Callers

nothing calls this directly

Calls 12

mathWriteFunction · 0.85
sfxWriteFunction · 0.85
writeAffineTransformMethod · 0.80
writeRangedU32Method · 0.80
writeFloatMethod · 0.80
writeIntMethod · 0.80
writeSignedIntMethod · 0.80
writeFlagMethod · 0.45
writeMethod · 0.45
writeStringMethod · 0.45
isIdentityMethod · 0.45
getIdMethod · 0.45

Tested by

no test coverage detected