From 6b03622e29aa8c2f01b42fe605cc04a9ec595115 Mon Sep 17 00:00:00 2001 From: Philip Rosedale Date: Wed, 17 Apr 2013 16:49:39 -0700 Subject: [PATCH 1/4] Fixed bug having other people showing up at negative of their transmitted position. --- interface/src/main.cpp | 2 +- libraries/avatars/src/AvatarData.cpp | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/interface/src/main.cpp b/interface/src/main.cpp index b2b7055db5..59617f27c4 100644 --- a/interface/src/main.cpp +++ b/interface/src/main.cpp @@ -825,7 +825,7 @@ void display(void) Head *agentHead = (Head *)agent->getLinkedData(); glPushMatrix(); glm::vec3 pos = agentHead->getBodyPosition(); - glTranslatef(-pos.x, -pos.y, -pos.z); + glTranslatef(pos.x, pos.y, pos.z); agentHead->render(0); glPopMatrix(); } diff --git a/libraries/avatars/src/AvatarData.cpp b/libraries/avatars/src/AvatarData.cpp index 9be48b04ac..33818cf43a 100644 --- a/libraries/avatars/src/AvatarData.cpp +++ b/libraries/avatars/src/AvatarData.cpp @@ -59,10 +59,12 @@ int AvatarData::getBroadcastData(unsigned char* destinationBuffer) { destinationBuffer += packFloatAngleToTwoByte(destinationBuffer, _bodyPitch); destinationBuffer += packFloatAngleToTwoByte(destinationBuffer, _bodyRoll); + //printf( "_bodyYaw = %f", _bodyYaw ); + memcpy(destinationBuffer, &_handPosition, sizeof(float) * 3); destinationBuffer += sizeof(float) * 3; - //std::cout << _handPosition.x << ", " << _handPosition.y << ", " << _handPosition.z << "\n"; + //std::cout << _bodyPosition.x << ", " << _bodyPosition.y << ", " << _bodyPosition.z << "\n"; return destinationBuffer - bufferStart; } @@ -83,6 +85,9 @@ void AvatarData::parseData(unsigned char* sourceBuffer, int numBytes) { memcpy(&_handPosition, sourceBuffer, sizeof(float) * 3); sourceBuffer += sizeof(float) * 3; + //std::cout << _bodyPosition.x << ", " << _bodyPosition.y << ", " << _bodyPosition.z << "\n"; + + } glm::vec3 AvatarData::getBodyPosition() { From 484ab53764b04a0284d6e6939c2cdd5453d33234 Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Wed, 17 Apr 2013 17:04:29 -0700 Subject: [PATCH 2/4] fix the flipped sign for agentHead translate --- interface/src/main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/interface/src/main.cpp b/interface/src/main.cpp index fb605a8c20..1854992526 100644 --- a/interface/src/main.cpp +++ b/interface/src/main.cpp @@ -826,7 +826,7 @@ void display(void) Head *agentHead = (Head *)agent->getLinkedData(); glPushMatrix(); glm::vec3 pos = agentHead->getBodyPosition(); - glTranslatef(-pos.x, -pos.y, -pos.z); + glTranslatef(pos.x, pos.y, pos.z); agentHead->render(0); glPopMatrix(); } From 4340f127e12d01ae9356e36e73383892d53b5298 Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Wed, 17 Apr 2013 17:41:37 -0700 Subject: [PATCH 3/4] cast max uint16_t to float for angle unpack --- libraries/avatars/src/AvatarData.cpp | 2 +- libraries/shared/src/AgentList.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/libraries/avatars/src/AvatarData.cpp b/libraries/avatars/src/AvatarData.cpp index 60e05b8d05..955ed0cc9f 100644 --- a/libraries/avatars/src/AvatarData.cpp +++ b/libraries/avatars/src/AvatarData.cpp @@ -25,7 +25,7 @@ int packFloatAngleToTwoByte(unsigned char* buffer, float angle) { } int unpackFloatAngleFromTwoByte(uint16_t* byteAnglePointer, float* destinationPointer) { - *destinationPointer = (*byteAnglePointer / std::numeric_limits::max()) * 360.0 - 180; + *destinationPointer = (*byteAnglePointer / (float) std::numeric_limits::max()) * 360.0 - 180; return sizeof(uint16_t); } diff --git a/libraries/shared/src/AgentList.cpp b/libraries/shared/src/AgentList.cpp index e4325df2a0..25a98cdb31 100644 --- a/libraries/shared/src/AgentList.cpp +++ b/libraries/shared/src/AgentList.cpp @@ -107,7 +107,7 @@ void AgentList::processBulkAgentData(sockaddr *senderAddress, unsigned char *pac bulkSendAgent->setLastRecvTimeUsecs(usecTimestampNow()); } - unsigned char *startPosition = (unsigned char *)packetData; + unsigned char *startPosition = packetData; unsigned char *currentPosition = startPosition + 1; unsigned char packetHolder[numBytesPerAgent + 1]; From 24994f35619430f1006bb627d80c0f6e90609fe0 Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Wed, 17 Apr 2013 17:43:30 -0700 Subject: [PATCH 4/4] remove extra debug line left over from mutex fixes --- libraries/shared/src/Agent.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/libraries/shared/src/Agent.cpp b/libraries/shared/src/Agent.cpp index 1ac676e916..dfd16c4cc6 100644 --- a/libraries/shared/src/Agent.cpp +++ b/libraries/shared/src/Agent.cpp @@ -71,7 +71,6 @@ Agent::Agent(const Agent &otherAgent) { } Agent& Agent::operator=(Agent otherAgent) { - std::cout << "Agent swap constructor called on resize?\n"; swap(*this, otherAgent); return *this; }