Networking variables question.
by Kevin Mitchell · in Torque 3D Professional · 03/12/2012 (5:13 am) · 5 replies
Is there something I'm missing about networked variables? I have my variables added to these functions:
Even though I have this here, my variables are still not updating on the ghost side object. Is there something I could be missing?
void RPGPlayer::writePacketData(GameConnection *connection, BitStream *stream)
{
Parent::writePacketData(connection, stream);
// ................................
// ................................
// ................................
stream->writeFlag(mLockedOn);
stream->writeFlag(mStrifeOn);
}
void RPGPlayer::readPacketData(GameConnection *connection, BitStream *stream)
{
Parent::readPacketData(connection, stream);
// ................................
// ................................
// ................................
mLockedOn=stream->readFlag();
mStrifeOn=stream->readFlag();
}
U32 RPGPlayer::packUpdate(NetConnection *con, U32 mask, BitStream *stream)
{
U32 retMask = Parent::packUpdate(con, mask, stream);
// ................................
// ................................
// ................................
stream->writeFlag(mLockedOn);
stream->writeFlag(mStrifeOn);
return retMask;
}
void RPGPlayer::unpackUpdate(NetConnection *con, BitStream *stream)
{
Parent::unpackUpdate(con,stream);
// ................................
// ................................
// ................................
mLockedOn=stream->readFlag();
mStrifeOn=stream->readFlag();
}Even though I have this here, my variables are still not updating on the ghost side object. Is there something I could be missing?
>>>>isControlObject: 0 isGhost: 0 mLockedOn: 1 mStrifeOn: 1 DIR_ANGLE: -1.573185 >>>>isControlObject: 0 isGhost: 0 mLockedOn: 1 mStrifeOn: 1 DIR_ANGLE: -1.583582 >>>>isControlObject: 0 isGhost: 0 mLockedOn: 1 mStrifeOn: 1 DIR_ANGLE: -1.583582 >>>>isControlObject: 0 isGhost: 0 mLockedOn: 1 mStrifeOn: 1 DIR_ANGLE: -1.583582 >>>>isControlObject: 0 isGhost: 0 mLockedOn: 1 mStrifeOn: 1 DIR_ANGLE: -1.583582 >>>>isControlObject: 0 isGhost: 0 mLockedOn: 1 mStrifeOn: 1 DIR_ANGLE: -1.583582 >>>>isControlObject: 0 isGhost: 0 mLockedOn: 1 mStrifeOn: 1 DIR_ANGLE: -1.583582 >>>>isControlObject: 1 isGhost: 1 mLockedOn: 0 mStrifeOn: 0 DIR_ANGLE: -1.573185 >>>>isControlObject: 1 isGhost: 1 mLockedOn: 0 mStrifeOn: 0 DIR_ANGLE: -1.573185 >>>>isControlObject: 1 isGhost: 1 mLockedOn: 0 mStrifeOn: 0 DIR_ANGLE: -1.573185 >>>>isControlObject: 0 isGhost: 1 mLockedOn: 0 mStrifeOn: 0 DIR_ANGLE: -1.583582 >>>>isControlObject: 1 isGhost: 1 mLockedOn: 0 mStrifeOn: 0 DIR_ANGLE: -1.573185 >>>>isControlObject: 0 isGhost: 1 mLockedOn: 0 mStrifeOn: 0 DIR_ANGLE: -1.583582 >>>>isControlObject: 1 isGhost: 1 mLockedOn: 0 mStrifeOn: 0 DIR_ANGLE: -1.573185 >>>>isControlObject: 0 isGhost: 1 mLockedOn: 0 mStrifeOn: 0 DIR_ANGLE: -1.583582 >>>>isControlObject: 1 isGhost: 1 mLockedOn: 0 mStrifeOn: 0 DIR_ANGLE: -1.573185 >>>>isControlObject: 0 isGhost: 0 mLockedOn: 1 mStrifeOn: 1 DIR_ANGLE: -1.573185 >>>>isControlObject: 0 isGhost: 0 mLockedOn: 1 mStrifeOn: 1 DIR_ANGLE: -1.573185 >>>>isControlObject: 0 isGhost: 0 mLockedOn: 1 mStrifeOn: 1 DIR_ANGLE: -1.573185 >>>>isControlObject: 0 isGhost: 0 mLockedOn: 1 mStrifeOn: 1 DIR_ANGLE: -1.573185 >>>>isControlObject: 0 isGhost: 0 mLockedOn: 1 mStrifeOn: 1 DIR_ANGLE: -1.573185 >>>>isControlObject: 0 isGhost: 0 mLockedOn: 1 mStrifeOn: 1 DIR_ANGLE: -1.573185 >>>>isControlObject: 0 isGhost: 0 mLockedOn: 1 mStrifeOn: 1 DIR_ANGLE: -1.583582 >>>>isControlObject: 0 isGhost: 0 mLockedOn: 1 mStrifeOn: 1 DIR_ANGLE: -1.583582 >>>>isControlObject: 0 isGhost: 0 mLockedOn: 1 mStrifeOn: 1 DIR_ANGLE: -1.583582 >>>>isControlObject: 0 isGhost: 0 mLockedOn: 1 mStrifeOn: 1 DIR_ANGLE: -1.583582 >>>>isControlObject: 0 isGhost: 0 mLockedOn: 1 mStrifeOn: 1 DIR_ANGLE: -1.583582 >>>>isControlObject: 0 isGhost: 0 mLockedOn: 1 mStrifeOn: 1 DIR_ANGLE: -1.583582 >>>>isControlObject: 1 isGhost: 1 mLockedOn: 0 mStrifeOn: 0 DIR_ANGLE: -1.573185 >>>>isControlObject: 1 isGhost: 1 mLockedOn: 0 mStrifeOn: 0 DIR_ANGLE: -1.573185 >>>>isControlObject: 1 isGhost: 1 mLockedOn: 0 mStrifeOn: 0 DIR_ANGLE: -1.573185 >>>>isControlObject: 0 isGhost: 1 mLockedOn: 0 mStrifeOn: 0 DIR_ANGLE: -1.583582 >>>>isControlObject: 1 isGhost: 1 mLockedOn: 0 mStrifeOn: 0 DIR_ANGLE: -1.573185 >>>>isControlObject: 0 isGhost: 1 mLockedOn: 0 mStrifeOn: 0 DIR_ANGLE: -1.583582 >>>>isControlObject: 1 isGhost: 1 mLockedOn: 0 mStrifeOn: 0 DIR_ANGLE: -1.573185 >>>>isControlObject: 0 isGhost: 1 mLockedOn: 0 mStrifeOn: 0 DIR_ANGLE: -1.583582 >>>>isControlObject: 1 isGhost: 1 mLockedOn: 0 mStrifeOn: 0 DIR_ANGLE: -1.573185 >>>>isControlObject: 0 isGhost: 0 mLockedOn: 1 mStrifeOn: 1 DIR_ANGLE: -1.573185 >>>>isControlObject: 0 isGhost: 0 mLockedOn: 1 mStrifeOn: 1 DIR_ANGLE: -1.573185 >>>>isControlObject: 0 isGhost: 0 mLockedOn: 1 mStrifeOn: 1 DIR_ANGLE: -1.573185 >>>>isControlObject: 0 isGhost: 0 mLockedOn: 1 mStrifeOn: 1 DIR_ANGLE: -1.573185 >>>>isControlObject: 0 isGhost: 0 mLockedOn: 1 mStrifeOn: 1 DIR_ANGLE: -1.573185 >>>>isControlObject: 0 isGhost: 0 mLockedOn: 1 mStrifeOn: 1 DIR_ANGLE: -1.573185 >>>>isControlObject: 0 isGhost: 0 mLockedOn: 1 mStrifeOn: 1 DIR_ANGLE: -1.583582 >>>>isControlObject: 0 isGhost: 0 mLockedOn: 1 mStrifeOn: 1 DIR_ANGLE: -1.583582 >>>>isControlObject: 0 isGhost: 0 mLockedOn: 1 mStrifeOn: 1 DIR_ANGLE: -1.583582 >>>>isControlObject: 0 isGhost: 0 mLockedOn: 1 mStrifeOn: 1 DIR_ANGLE: -1.583582 >>>>isControlObject: 0 isGhost: 0 mLockedOn: 1 mStrifeOn: 1 DIR_ANGLE: -1.583582 >>>>isControlObject: 0 isGhost: 0 mLockedOn: 1 mStrifeOn: 1 DIR_ANGLE: -1.583582 >>>>isControlObject: 1 isGhost: 1 mLockedOn: 0 mStrifeOn: 0 DIR_ANGLE: -1.573185 >>>>isControlObject: 1 isGhost: 1 mLockedOn: 0 mStrifeOn: 0 DIR_ANGLE: -1.573185 >>>>isControlObject: 1 isGhost: 1 mLockedOn: 0 mStrifeOn: 0 DIR_ANGLE: -1.573185 >>>>isControlObject: 0 isGhost: 1 mLockedOn: 0 mStrifeOn: 0 DIR_ANGLE: -1.583582 >>>>isControlObject: 1 isGhost: 1 mLockedOn: 0 mStrifeOn: 0 DIR_ANGLE: -1.573185 >>>>isControlObject: 0 isGhost: 1 mLockedOn: 0 mStrifeOn: 0 DIR_ANGLE: -1.583582 >>>>isControlObject: 1 isGhost: 1 mLockedOn: 0 mStrifeOn: 0 DIR_ANGLE: -1.573185 >>>>isControlObject: 0 isGhost: 1 mLockedOn: 0 mStrifeOn: 0 DIR_ANGLE: -1.583582
About the author
Riding Solo since 2005. Current Project: Fated World 2005-Present RPG Engine Tool Kit - Now available.
#2
03/12/2012 (5:24 am)
Where would this be triggered. I am using a modified version of player.cpp if the tick runs wouldn't the update have to be triggered then?
#3
03/12/2012 (5:25 am)
Also I thing the variables are being set on the client ghost=0 but they are not being sent to the ghost server side. If my understanding of ghost is correct...
#4
I believe that you have a getControllingClient() check and all the data below it is dropped.
03/13/2012 (6:25 am)
Put a break point on your pack-unpack routines to be sure that your flags are transmitted (or received).I believe that you have a getControllingClient() check and all the data below it is dropped.
#5
03/13/2012 (5:46 pm)
so I'm not an idiot Im just stupid.... I hade client and ghost going through the same code and the ghost was resetting said variables....
Torque Owner Vince Gee
WinterLeaf Entertainment