From e041357a06423acad52127c543f3ff29aa323826 Mon Sep 17 00:00:00 2001 From: gmueller Date: Tue, 25 Jan 2011 22:46:36 +0100 Subject: [PATCH] fix update interpolation --- src/common/Network.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/common/Network.cpp b/src/common/Network.cpp index c060e69..1c8197c 100644 --- a/src/common/Network.cpp +++ b/src/common/Network.cpp @@ -299,7 +299,11 @@ void Network::dispatch(enet_uint8 *data, size_t length) { btVector3 p1(m.x, m.y, m.z); player->body->activate(true); player->body->setLinearVelocity(v1); - player->body->getWorldTransform().setOrigin((2 * p + p1) / 3); + btVector3 dp = p1 - p; + if (dp.length2() > 5.) + player->body->getWorldTransform().setOrigin(p1); + else + player->body->getWorldTransform().setOrigin(p + dp/10.); //player->body->applyCentralForce((v1 -v)/10.0); #endif #if 0 @@ -514,6 +518,7 @@ void Network::send(const YAML::Emitter &em) { void Network::sendMessage(uint8_t *data, size_t length) { if (client_peer) { + std::cout << data << std::endl; ENetPacket * packet = enet_packet_create(data, length, ENET_PACKET_FLAG_RELIABLE); enet_peer_send(client_peer, 0, packet);