| 797 | } |
| 798 | |
| 799 | void TSStatic::unpackUpdate(NetConnection *con, BitStream *stream) |
| 800 | { |
| 801 | Parent::unpackUpdate(con, stream); |
| 802 | |
| 803 | if ( stream->readFlag() ) // TransformMask |
| 804 | { |
| 805 | MatrixF mat; |
| 806 | mathRead( *stream, &mat ); |
| 807 | setTransform(mat); |
| 808 | setRenderTransform(mat); |
| 809 | } |
| 810 | |
| 811 | if ( stream->readFlag() ) // ScaleMask |
| 812 | { |
| 813 | if ( stream->readFlag() ) |
| 814 | { |
| 815 | VectorF scale; |
| 816 | mathRead( *stream, &scale ); |
| 817 | setScale( scale ); |
| 818 | } |
| 819 | else |
| 820 | setScale( Point3F::One ); |
| 821 | } |
| 822 | |
| 823 | if ( stream->readFlag() ) // UpdateCollisionMask |
| 824 | { |
| 825 | U32 collisionType = CollisionMesh; |
| 826 | |
| 827 | stream->read( &collisionType ); |
| 828 | |
| 829 | // Handle it if we have changed CollisionType's |
| 830 | if ( (MeshType)collisionType != mCollisionType ) |
| 831 | { |
| 832 | mCollisionType = (MeshType)collisionType; |
| 833 | |
| 834 | if ( isProperlyAdded() && mShapeInstance ) |
| 835 | prepCollision(); |
| 836 | } |
| 837 | } |
| 838 | |
| 839 | if (stream->readFlag()) // SkinMask |
| 840 | { |
| 841 | NetStringHandle skinDesiredNameHandle = con->unpackNetStringHandleU(stream);; |
| 842 | if (mSkinNameHandle != skinDesiredNameHandle) |
| 843 | { |
| 844 | mSkinNameHandle = skinDesiredNameHandle; |
| 845 | reSkin(); |
| 846 | } |
| 847 | } |
| 848 | |
| 849 | if (stream->readFlag()) // AdvancedStaticOptionsMask |
| 850 | { |
| 851 | mShapeName = stream->readSTString(); |
| 852 | |
| 853 | stream->read((U32*)&mDecalType); |
| 854 | |
| 855 | mAllowPlayerStep = stream->readFlag(); |
| 856 | mMeshCulling = stream->readFlag(); |
nothing calls this directly
no test coverage detected