diff --git a/interface/src/Audio.cpp b/interface/src/Audio.cpp index e717d707a9..d003de98cb 100644 --- a/interface/src/Audio.cpp +++ b/interface/src/Audio.cpp @@ -231,19 +231,19 @@ int audioCallback (const void *inputBuffer, if (ringBuffer->getEndOfLastWrite() != NULL) { if (!ringBuffer->isStarted() && ringBuffer->diffLastWriteNextOutput() < PACKET_LENGTH_SAMPLES + JITTER_BUFFER_SAMPLES) { - printf("Held back, buffer has %d of %d samples required.\n", ringBuffer->diffLastWriteNextOutput(), PACKET_LENGTH_SAMPLES + JITTER_BUFFER_SAMPLES); + //printf("Held back, buffer has %d of %d samples required.\n", ringBuffer->diffLastWriteNextOutput(), PACKET_LENGTH_SAMPLES + JITTER_BUFFER_SAMPLES); } else if (ringBuffer->diffLastWriteNextOutput() < PACKET_LENGTH_SAMPLES) { ringBuffer->setStarted(false); starve_counter++; packetsReceivedThisPlayback = 0; - printf("Starved #%d\n", starve_counter); + //printf("Starved #%d\n", starve_counter); data->wasStarved = 10; // Frames to render the indication that the system was starved. } else { if (!ringBuffer->isStarted()) { ringBuffer->setStarted(true); - printf("starting playback %3.1f msecs delayed, \n", (usecTimestampNow() - usecTimestamp(&firstPlaybackTimer))/1000.0); + printf("starting playback %3.1f msecs delayed \n", (usecTimestampNow() - usecTimestamp(&firstPlaybackTimer))/1000.0); } else { //printf("pushing buffer\n"); } @@ -396,7 +396,7 @@ void *receiveAudioViaUDP(void *args) { if (totalPacketsReceived > 3) stdev.addValue(tDiff); if (stdev.getSamples() > 500) { sharedAudioData->measuredJitter = stdev.getStDev(); - printf("Avg: %4.2f, Stdev: %4.2f\n", stdev.getAverage(), sharedAudioData->measuredJitter); + //printf("Avg: %4.2f, Stdev: %4.2f\n", stdev.getAverage(), sharedAudioData->measuredJitter); stdev.reset(); } @@ -404,7 +404,7 @@ void *receiveAudioViaUDP(void *args) { if (!ringBuffer->isStarted()) { - printf("Audio packet %d received at %6.0f\n", ++packetsReceivedThisPlayback, usecTimestampNow()/1000); + packetsReceivedThisPlayback++; } else { //printf("Audio packet received at %6.0f\n", usecTimestampNow()/1000); diff --git a/interface/src/Head.cpp b/interface/src/Head.cpp index 2b1222c09d..35a3c547b7 100755 --- a/interface/src/Head.cpp +++ b/interface/src/Head.cpp @@ -550,6 +550,8 @@ void Head::renderHead( int faceToFace, int isMine ) // Always render own hand, but don't render head unless showing face2face glEnable(GL_DEPTH_TEST); + glEnable(GL_RESCALE_NORMAL); + glPushMatrix(); //glScalef(scale, scale, scale); @@ -580,17 +582,14 @@ void Head::renderHead( int faceToFace, int isMine ) glRotatef(Roll, 0, 0, 1); // Overall scale of head - if (faceToFace) glScalef(1.5, 2.0, 2.0); + if (faceToFace) glScalef(2.0, 2.0, 2.0); else glScalef(0.75, 1.0, 1.0); glColor3fv(skinColor); - // Head glutSolidSphere(1, 30, 30); - - //std::cout << distanceToCamera << "\n"; - + // Ears glPushMatrix(); glTranslatef(1.0, 0, 0); @@ -962,13 +961,13 @@ void Head::updateHandMovement() // adjust right hand and elbow according to hand offset //---------------------------------------------------------------- avatar.bone[ AVATAR_BONE_RIGHT_HAND ].worldPosition += handOffset; - glm::dvec3 armVector = avatar.bone[ AVATAR_BONE_RIGHT_HAND ].worldPosition; + glm::vec3 armVector = avatar.bone[ AVATAR_BONE_RIGHT_HAND ].worldPosition; armVector -= avatar.bone[ AVATAR_BONE_RIGHT_SHOULDER ].worldPosition; //------------------------------------------------------------------------------- // test to see if right hand is being dragged beyond maximum arm length //------------------------------------------------------------------------------- - double distance = glm::length( armVector ); + float distance = glm::length( armVector ); //------------------------------------------------------------------------------- @@ -980,10 +979,10 @@ void Head::updateHandMovement() // reset right hand to be constrained to maximum arm length //------------------------------------------------------------------------------- avatar.bone[ AVATAR_BONE_RIGHT_HAND ].worldPosition = avatar.bone[ AVATAR_BONE_RIGHT_SHOULDER ].worldPosition; - glm::dvec3 armNormal = armVector / distance; - armVector = armNormal * avatar.maxArmLength; + glm::vec3 armNormal = armVector / distance; + armVector = armNormal * (float)avatar.maxArmLength; distance = avatar.maxArmLength; - glm::dvec3 constrainedPosition = avatar.bone[ AVATAR_BONE_RIGHT_SHOULDER ].worldPosition; + glm::vec3 constrainedPosition = avatar.bone[ AVATAR_BONE_RIGHT_SHOULDER ].worldPosition; constrainedPosition += armVector; avatar.bone[ AVATAR_BONE_RIGHT_HAND ].worldPosition = constrainedPosition; } @@ -991,8 +990,8 @@ void Head::updateHandMovement() //----------------------------------------------------------------------------- // set elbow position //----------------------------------------------------------------------------- - glm::dvec3 newElbowPosition = avatar.bone[ AVATAR_BONE_RIGHT_SHOULDER ].worldPosition; - newElbowPosition += armVector * ONE_HALF; + glm::vec3 newElbowPosition = avatar.bone[ AVATAR_BONE_RIGHT_SHOULDER ].worldPosition; + newElbowPosition += armVector * (float)ONE_HALF; glm::dvec3 perpendicular = glm::dvec3( -armVector.y, armVector.x, armVector.z ); newElbowPosition += perpendicular * ( 1.0 - ( avatar.maxArmLength / distance ) ) * ONE_HALF; avatar.bone[ AVATAR_BONE_RIGHT_FOREARM ].worldPosition = newElbowPosition; @@ -1006,21 +1005,57 @@ void Head::renderBody() { glColor3fv(skinColor); + // Render bones as spheres for (int b=0; b 500) { - printf("Avg: %4.2f, Stdev: %4.2f\n", stdev.getAverage(), stdev.getStDev()); + //printf("Avg: %4.2f, Stdev: %4.2f\n", stdev.getAverage(), stdev.getStDev()); stdev.reset(); } } diff --git a/shared/src/AgentList.cpp b/shared/src/AgentList.cpp index e0d4491700..1e01487348 100644 --- a/shared/src/AgentList.cpp +++ b/shared/src/AgentList.cpp @@ -82,8 +82,7 @@ void AgentList::processAgentData(sockaddr *senderAddress, void *packetData, size case PACKET_HEADER_PING: { // ping from another agent //std::cout << "Got ping from " << inet_ntoa(((sockaddr_in *)senderAddress)->sin_addr) << "\n"; - char reply[] = "R"; - agentSocket.send(senderAddress, reply, 1); + agentSocket.send(senderAddress, &PACKET_HEADER_PING_REPLY, 1); break; } case PACKET_HEADER_PING_REPLY: { @@ -325,7 +324,7 @@ void *checkInWithDomainServer(void *args) { sockaddr_in tempAddress; memcpy(&tempAddress.sin_addr, pHostInfo->h_addr_list[0], pHostInfo->h_length); strcpy(DOMAIN_IP, inet_ntoa(tempAddress.sin_addr)); - printf("Domain server %s: %s\n", DOMAIN_HOSTNAME, DOMAIN_IP); + printf("Domain server %s: \n", DOMAIN_HOSTNAME); } else { printf("Failed lookup domainserver\n"); diff --git a/shared/src/PacketHeaders.h b/shared/src/PacketHeaders.h index 097a87604c..280aa69d70 100644 --- a/shared/src/PacketHeaders.h +++ b/shared/src/PacketHeaders.h @@ -5,6 +5,9 @@ // Created by Stephen Birarda on 4/8/13. // // +// The packet headers below refer to the first byte of a received UDP packet transmitted between +// any two Hifi components. For example, a packet whose first byte is 'P' is always a ping packet. +// #ifndef hifi_PacketHeaders_h #define hifi_PacketHeaders_h