| 994 | } |
| 995 | |
| 996 | void ShapeBaseImageData::packData(BitStream* stream) |
| 997 | { |
| 998 | Parent::packData(stream); |
| 999 | |
| 1000 | if(stream->writeFlag(computeCRC)) |
| 1001 | { |
| 1002 | for( U32 j=0; j<MaxShapes; ++j ) |
| 1003 | { |
| 1004 | stream->write(mCRC[j]); |
| 1005 | } |
| 1006 | } |
| 1007 | |
| 1008 | for (U32 j = 0; j < MaxShapes; ++j) |
| 1009 | { |
| 1010 | PACKDATA_ASSET_ARRAY(Shape, j); // shape 0 for normal use, shape 1 for first person use (optional) |
| 1011 | } |
| 1012 | |
| 1013 | stream->writeString(imageAnimPrefix); |
| 1014 | stream->writeString(imageAnimPrefixFP); |
| 1015 | |
| 1016 | stream->write(mountPoint); |
| 1017 | if (!stream->writeFlag(mountOffset.isIdentity())) |
| 1018 | stream->writeAffineTransform(mountOffset); |
| 1019 | if (!stream->writeFlag(eyeOffset.isIdentity())) |
| 1020 | stream->writeAffineTransform(eyeOffset); |
| 1021 | |
| 1022 | stream->writeFlag(animateOnServer); |
| 1023 | |
| 1024 | stream->write(scriptAnimTransitionTime); |
| 1025 | |
| 1026 | stream->writeFlag(useEyeNode); |
| 1027 | |
| 1028 | stream->writeFlag(correctMuzzleVector); |
| 1029 | stream->writeFlag(correctMuzzleVectorTP); |
| 1030 | stream->writeFlag(firstPerson); |
| 1031 | stream->write(mass); |
| 1032 | stream->writeFlag(usesEnergy); |
| 1033 | stream->write(minEnergy); |
| 1034 | |
| 1035 | for( U32 j=0; j<MaxShapes; ++j) |
| 1036 | { |
| 1037 | stream->writeFlag(hasFlash[j]); |
| 1038 | } |
| 1039 | |
| 1040 | // Client doesn't need accuFire |
| 1041 | |
| 1042 | // Write the projectile datablock |
| 1043 | if (stream->writeFlag(projectile)) |
| 1044 | stream->writeRangedU32(mPacked ? SimObjectId((uintptr_t)projectile): |
| 1045 | projectile->getId(),DataBlockObjectIdFirst,DataBlockObjectIdLast); |
| 1046 | |
| 1047 | stream->writeFlag(cloakable); |
| 1048 | stream->writeRangedU32(lightType, 0, NumLightTypes-1); |
| 1049 | if(lightType != NoLight) |
| 1050 | { |
| 1051 | stream->write(lightRadius); |
| 1052 | stream->write(lightDuration); |
| 1053 | stream->writeFloat(lightColor.red, 7); |
nothing calls this directly
no test coverage detected