|
@@ -537,6 +537,13 @@ void Trigger::setTransform(const MatrixF & mat)
|
|
|
testObjects();
|
|
|
}
|
|
|
|
|
|
+void Trigger::onUnmount( SceneObject *obj, S32 node )
|
|
|
+{
|
|
|
+ Parent::onUnmount( obj, node );
|
|
|
+ // Make sure the client get's the final server pos.
|
|
|
+ setMaskBits(TransformMask | ScaleMask);
|
|
|
+}
|
|
|
+
|
|
|
void Trigger::prepRenderImage( SceneRenderState *state )
|
|
|
{
|
|
|
// only render if selected or render flag is set
|
|
@@ -695,6 +702,13 @@ void Trigger::processTick(const Move* move)
|
|
|
if (!mDataBlock->isClientSide && isClientObject())
|
|
|
return;
|
|
|
|
|
|
+ if (isMounted()) {
|
|
|
+ MatrixF mat;
|
|
|
+ mMount.object->getMountTransform( mMount.node, mMount.xfm, &mat );
|
|
|
+ setTransform(mat);
|
|
|
+ setRenderTransform(mat);
|
|
|
+ }
|
|
|
+
|
|
|
//
|
|
|
if (mObjects.size() == 0)
|
|
|
return;
|
|
@@ -734,6 +748,15 @@ void Trigger::processTick(const Move* move)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+void Trigger::interpolateTick(F32 delta)
|
|
|
+{
|
|
|
+ if (isMounted()) {
|
|
|
+ MatrixF mat;
|
|
|
+ mMount.object->getRenderMountTransform( delta, mMount.node, mMount.xfm, &mat );
|
|
|
+ setRenderTransform(mat);
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
//--------------------------------------------------------------------------
|
|
|
|
|
|
U32 Trigger::packUpdate(NetConnection* con, U32 mask, BitStream* stream)
|