/* ================ idPhysics_StaticMulti::WriteToSnapshot ================ */ void idPhysics_StaticMulti::WriteToSnapshot( idBitMsg& msg ) const { int i; idCQuat quat, localQuat; msg.WriteByte( current.Num() ); for( i = 0; i < current.Num(); i++ ) { quat = current[i].axis.ToCQuat(); localQuat = current[i].localAxis.ToCQuat(); msg.WriteFloat( current[i].origin[0] ); msg.WriteFloat( current[i].origin[1] ); msg.WriteFloat( current[i].origin[2] ); msg.WriteFloat( quat.x ); msg.WriteFloat( quat.y ); msg.WriteFloat( quat.z ); msg.WriteDeltaFloat( current[i].origin[0], current[i].localOrigin[0] ); msg.WriteDeltaFloat( current[i].origin[1], current[i].localOrigin[1] ); msg.WriteDeltaFloat( current[i].origin[2], current[i].localOrigin[2] ); msg.WriteDeltaFloat( quat.x, localQuat.x ); msg.WriteDeltaFloat( quat.y, localQuat.y ); msg.WriteDeltaFloat( quat.z, localQuat.z ); } }
/* ================ idPhysics_Monster::WriteToSnapshot ================ */ void idPhysics_Monster::WriteToSnapshot( idBitMsg& msg ) const { msg.WriteFloat( current.origin[0] ); msg.WriteFloat( current.origin[1] ); msg.WriteFloat( current.origin[2] ); msg.WriteFloat( current.velocity[0], MONSTER_VELOCITY_EXPONENT_BITS, MONSTER_VELOCITY_MANTISSA_BITS ); msg.WriteFloat( current.velocity[1], MONSTER_VELOCITY_EXPONENT_BITS, MONSTER_VELOCITY_MANTISSA_BITS ); msg.WriteFloat( current.velocity[2], MONSTER_VELOCITY_EXPONENT_BITS, MONSTER_VELOCITY_MANTISSA_BITS ); msg.WriteDeltaFloat( current.origin[0], current.localOrigin[0] ); msg.WriteDeltaFloat( current.origin[1], current.localOrigin[1] ); msg.WriteDeltaFloat( current.origin[2], current.localOrigin[2] ); msg.WriteDeltaFloat( 0.0f, current.pushVelocity[0], MONSTER_VELOCITY_EXPONENT_BITS, MONSTER_VELOCITY_MANTISSA_BITS ); msg.WriteDeltaFloat( 0.0f, current.pushVelocity[1], MONSTER_VELOCITY_EXPONENT_BITS, MONSTER_VELOCITY_MANTISSA_BITS ); msg.WriteDeltaFloat( 0.0f, current.pushVelocity[2], MONSTER_VELOCITY_EXPONENT_BITS, MONSTER_VELOCITY_MANTISSA_BITS ); msg.WriteLong( current.atRest ); msg.WriteBits( current.onGround, 1 ); }
/* ================ idPhysics_Static::WriteToSnapshot ================ */ void idPhysics_Static::WriteToSnapshot( idBitMsg& msg ) const { idCQuat quat, localQuat; quat = current.axis.ToCQuat(); localQuat = current.localAxis.ToCQuat(); msg.WriteFloat( current.origin[0] ); msg.WriteFloat( current.origin[1] ); msg.WriteFloat( current.origin[2] ); msg.WriteFloat( quat.x ); msg.WriteFloat( quat.y ); msg.WriteFloat( quat.z ); msg.WriteDeltaFloat( current.origin[0], current.localOrigin[0] ); msg.WriteDeltaFloat( current.origin[1], current.localOrigin[1] ); msg.WriteDeltaFloat( current.origin[2], current.localOrigin[2] ); msg.WriteDeltaFloat( quat.x, localQuat.x ); msg.WriteDeltaFloat( quat.y, localQuat.y ); msg.WriteDeltaFloat( quat.z, localQuat.z ); }