diff --git a/CMakeLists.txt b/CMakeLists.txt index 14f3cd5924..d064226b6e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,6 +5,10 @@ project(hifi) IF (WIN32) add_definitions( -DNOMINMAX -D_CRT_SECURE_NO_WARNINGS ) set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} "C:\\Program Files\\Microsoft SDKs\\Windows\\v7.1 ") +ELSEIF (CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) + #SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-long-long -pedantic") + #SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-unknown-pragmas") + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall") ENDIF(WIN32) set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} $ENV{QT_CMAKE_PREFIX_PATH}) diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index 5a2f2fc5d5..67ec75f513 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -2166,7 +2166,7 @@ void Application::updateShadowMap() { rotation * (glm::mix(_viewFrustum.getNearBottomLeft(), _viewFrustum.getFarBottomLeft(), farScale) + translation), rotation * (glm::mix(_viewFrustum.getNearBottomRight(), _viewFrustum.getFarBottomRight(), farScale) + translation) }; glm::vec3 minima(FLT_MAX, FLT_MAX, FLT_MAX), maxima(-FLT_MAX, -FLT_MAX, -FLT_MAX); - for (int i = 0; i < sizeof(points) / sizeof(points[0]); i++) { + for (size_t i = 0; i < sizeof(points) / sizeof(points[0]); i++) { minima = glm::min(minima, points[i]); maxima = glm::max(maxima, points[i]); } diff --git a/interface/src/BandwidthMeter.cpp b/interface/src/BandwidthMeter.cpp index bd7574dcdc..dfc142fb95 100644 --- a/interface/src/BandwidthMeter.cpp +++ b/interface/src/BandwidthMeter.cpp @@ -131,7 +131,7 @@ void BandwidthMeter::render(int screenWidth, int screenHeight) { // Determine total float totalIn = 0.0f, totalOut = 0.0f; - for (int i = 0; i < N_CHANNELS; ++i) { + for (size_t i = 0; i < N_CHANNELS; ++i) { totalIn += inputStream(ChannelIndex(i)).getValue(); totalOut += outputStream(ChannelIndex(i)).getValue(); @@ -207,7 +207,7 @@ void BandwidthMeter::render(int screenWidth, int screenHeight) { // Render bars int xIn = 0, xOut = 0; - for (int i = 0; i < N_CHANNELS; ++i) { + for (size_t i = 0; i < N_CHANNELS; ++i) { ChannelIndex chIdx = ChannelIndex(i); int wIn = int(barWidth * inputStream(chIdx).getValue() * UNIT_SCALE / scaleMax); @@ -242,7 +242,7 @@ void BandwidthMeter::render(int screenWidth, int screenHeight) { // After rendering, indicate that no data has been sent/received since the last feed. // This way, the meters fall when not continuously fed. - for (int i = 0; i < N_CHANNELS; ++i) { + for (size_t i = 0; i < N_CHANNELS; ++i) { inputStream(ChannelIndex(i)).updateValue(0); outputStream(ChannelIndex(i)).updateValue(0); } diff --git a/interface/src/avatar/Hand.cpp b/interface/src/avatar/Hand.cpp index ce2f2a242e..8f003d32d5 100644 --- a/interface/src/avatar/Hand.cpp +++ b/interface/src/avatar/Hand.cpp @@ -57,8 +57,7 @@ void Hand::simulate(float deltaTime, bool isMine) { } } -void Hand::playSlaps(PalmData& palm, Avatar* avatar) -{ +void Hand::playSlaps(PalmData& palm, Avatar* avatar) { // Check for palm collisions glm::vec3 myPalmPosition = palm.getPosition(); float palmCollisionDistance = 0.1f; diff --git a/interface/src/avatar/MyAvatar.cpp b/interface/src/avatar/MyAvatar.cpp index 961fe92ce6..3a00648eb1 100644 --- a/interface/src/avatar/MyAvatar.cpp +++ b/interface/src/avatar/MyAvatar.cpp @@ -103,9 +103,8 @@ void MyAvatar::update(float deltaTime) { // Update head mouse from faceshift if active Faceshift* faceshift = Application::getInstance()->getFaceshift(); if (faceshift->isActive()) { - glm::vec3 headVelocity = faceshift->getHeadAngularVelocity(); - // TODO? resurrect headMouse stuff? + //glm::vec3 headVelocity = faceshift->getHeadAngularVelocity(); //// sets how quickly head angular rotation moves the head mouse //const float HEADMOUSE_FACESHIFT_YAW_SCALE = 40.f; //const float HEADMOUSE_FACESHIFT_PITCH_SCALE = 30.f; diff --git a/libraries/avatars/src/HandData.cpp b/libraries/avatars/src/HandData.cpp index e4bb187f28..0355a4c86b 100644 --- a/libraries/avatars/src/HandData.cpp +++ b/libraries/avatars/src/HandData.cpp @@ -178,7 +178,7 @@ int HandData::decodeRemoteData(const QByteArray& dataByteArray) { unsigned int numPalms = *sourceBuffer++; for (unsigned int handIndex = 0; handIndex < numPalms; ++handIndex) { - if (handIndex >= getNumPalms()) + if (handIndex >= (unsigned int)getNumPalms()) addNewPalm(); PalmData& palm = getPalms()[handIndex]; @@ -196,7 +196,7 @@ int HandData::decodeRemoteData(const QByteArray& dataByteArray) { palm.setSixenseID(handIndex); for (unsigned int fingerIndex = 0; fingerIndex < numFingers; ++fingerIndex) { - if (fingerIndex < palm.getNumFingers()) { + if (fingerIndex < (unsigned int)palm.getNumFingers()) { FingerData& finger = palm.getFingers()[fingerIndex]; glm::vec3 tipPosition; diff --git a/libraries/octree/src/AABox.cpp b/libraries/octree/src/AABox.cpp index 1313111765..97fd706c21 100644 --- a/libraries/octree/src/AABox.cpp +++ b/libraries/octree/src/AABox.cpp @@ -335,7 +335,7 @@ glm::vec3 AABox::getClosestPointOnFace(const glm::vec4& origin, const glm::vec4& secondAxisMaxPlane + thirdAxisMaxPlane + offset }; float minDistance = FLT_MAX; - for (int i = 0; i < sizeof(diagonals) / sizeof(diagonals[0]); i++) { + for (size_t i = 0; i < sizeof(diagonals) / sizeof(diagonals[0]); i++) { float divisor = glm::dot(direction, diagonals[i]); if (fabs(divisor) < EPSILON) { continue; // segment is parallel to diagonal plane diff --git a/libraries/octree/src/JurisdictionMap.cpp b/libraries/octree/src/JurisdictionMap.cpp index 6dc5a22e73..0271c77012 100644 --- a/libraries/octree/src/JurisdictionMap.cpp +++ b/libraries/octree/src/JurisdictionMap.cpp @@ -50,7 +50,7 @@ void JurisdictionMap::copyContents(unsigned char* rootCodeIn, const std::vector< unsigned char* rootCode; std::vector endNodes; if (rootCodeIn) { - int bytes = bytesRequiredForCodeLength(numberOfThreeBitSectionsInCode(rootCodeIn)); + size_t bytes = bytesRequiredForCodeLength(numberOfThreeBitSectionsInCode(rootCodeIn)); rootCode = new unsigned char[bytes]; memcpy(rootCode, rootCodeIn, bytes); } else { @@ -60,7 +60,7 @@ void JurisdictionMap::copyContents(unsigned char* rootCodeIn, const std::vector< for (size_t i = 0; i < endNodesIn.size(); i++) { if (endNodesIn[i]) { - int bytes = bytesRequiredForCodeLength(numberOfThreeBitSectionsInCode(endNodesIn[i])); + size_t bytes = bytesRequiredForCodeLength(numberOfThreeBitSectionsInCode(endNodesIn[i])); unsigned char* endNodeCode = new unsigned char[bytes]; memcpy(endNodeCode, endNodesIn[i], bytes); endNodes.push_back(endNodeCode); @@ -133,7 +133,7 @@ void myDebugPrintOctalCode(const unsigned char* octalCode, bool withNewLine) { if (!octalCode) { printf("NULL"); } else { - for (int i = 0; i < bytesRequiredForCodeLength(numberOfThreeBitSectionsInCode(octalCode)); i++) { + for (size_t i = 0; i < bytesRequiredForCodeLength(numberOfThreeBitSectionsInCode(octalCode)); i++) { myDebugoutputBits(octalCode[i],false); } } @@ -293,7 +293,7 @@ int JurisdictionMap::packIntoMessage(unsigned char* destinationBuffer, int avail // add the root jurisdiction if (_rootOctalCode) { - int bytes = bytesRequiredForCodeLength(numberOfThreeBitSectionsInCode(_rootOctalCode)); + size_t bytes = bytesRequiredForCodeLength(numberOfThreeBitSectionsInCode(_rootOctalCode)); memcpy(destinationBuffer, &bytes, sizeof(bytes)); destinationBuffer += sizeof(bytes); memcpy(destinationBuffer, _rootOctalCode, bytes); @@ -306,7 +306,7 @@ int JurisdictionMap::packIntoMessage(unsigned char* destinationBuffer, int avail for (int i=0; i < endNodeCount; i++) { unsigned char* endNodeCode = _endNodes[i]; - int bytes = 0; + size_t bytes = 0; if (endNodeCode) { bytes = bytesRequiredForCodeLength(numberOfThreeBitSectionsInCode(endNodeCode)); } diff --git a/libraries/octree/src/Octree.cpp b/libraries/octree/src/Octree.cpp index 3e7e5dd3c1..f85ed7f487 100644 --- a/libraries/octree/src/Octree.cpp +++ b/libraries/octree/src/Octree.cpp @@ -222,10 +222,8 @@ int Octree::readNodeData(OctreeElement* destinationNode, const unsigned char* no } OctreeElement* childNodeAt = destinationNode->getChildAtIndex(i); - bool nodeWasDirty = false; bool nodeIsDirty = false; if (childNodeAt) { - nodeWasDirty = childNodeAt->isDirty(); bytesRead += childNodeAt->readElementDataFromBuffer(nodeData + bytesRead, bytesLeftToRead, args); childNodeAt->setSourceUUID(args.sourceUUID); diff --git a/libraries/octree/src/OctreeElement.cpp b/libraries/octree/src/OctreeElement.cpp index 67b96b4047..72ac5b14d6 100644 --- a/libraries/octree/src/OctreeElement.cpp +++ b/libraries/octree/src/OctreeElement.cpp @@ -44,7 +44,7 @@ void OctreeElement::init(unsigned char * octalCode) { _voxelNodeLeafCount++; // all nodes start as leaf nodes - int octalCodeLength = bytesRequiredForCodeLength(numberOfThreeBitSectionsInCode(octalCode)); + size_t octalCodeLength = bytesRequiredForCodeLength(numberOfThreeBitSectionsInCode(octalCode)); if (octalCodeLength > sizeof(_octalCode)) { _octalCode.pointer = octalCode; _octcodePointer = true; diff --git a/libraries/particles/src/ParticleCollisionSystem.cpp b/libraries/particles/src/ParticleCollisionSystem.cpp index f7bf73a637..c827e28c78 100644 --- a/libraries/particles/src/ParticleCollisionSystem.cpp +++ b/libraries/particles/src/ParticleCollisionSystem.cpp @@ -225,6 +225,7 @@ void ParticleCollisionSystem::updateCollisionWithAvatars(Particle* particle) { // while ramping it up to 1 when attenuationFactor = 0 damping = DAMPING + (1.f - attenuationFactor) * (1.f - DAMPING); } + collision->_damping = damping; } // HACK END diff --git a/libraries/particles/src/ParticleTreeElement.cpp b/libraries/particles/src/ParticleTreeElement.cpp index 4930263d64..ee916dcf2f 100644 --- a/libraries/particles/src/ParticleTreeElement.cpp +++ b/libraries/particles/src/ParticleTreeElement.cpp @@ -234,7 +234,6 @@ void ParticleTreeElement::getParticles(const glm::vec3& searchPosition, float se uint16_t numberOfParticles = _particles->size(); for (uint16_t i = 0; i < numberOfParticles; i++) { const Particle* particle = &(*_particles)[i]; - glm::vec3 particlePosition = particle->getPosition(); float distance = glm::length(particle->getPosition() - searchPosition); if (distance < searchRadius + particle->getRadius()) { foundParticles.push_back(particle); @@ -294,15 +293,14 @@ int ParticleTreeElement::readElementDataFromBuffer(const unsigned char* data, in uint16_t numberOfParticles = 0; int expectedBytesPerParticle = Particle::expectedBytes(); - if (bytesLeftToRead >= sizeof(numberOfParticles)) { - + if (bytesLeftToRead >= (int)sizeof(numberOfParticles)) { // read our particles in.... numberOfParticles = *(uint16_t*)dataAt; dataAt += sizeof(numberOfParticles); - bytesLeftToRead -= sizeof(numberOfParticles); + bytesLeftToRead -= (int)sizeof(numberOfParticles); bytesRead += sizeof(numberOfParticles); - if (bytesLeftToRead >= (numberOfParticles * expectedBytesPerParticle)) { + if (bytesLeftToRead >= (int)(numberOfParticles * expectedBytesPerParticle)) { for (uint16_t i = 0; i < numberOfParticles; i++) { Particle tempParticle; int bytesForThisParticle = tempParticle.readParticleDataFromBuffer(dataAt, bytesLeftToRead, args); diff --git a/libraries/shared/src/OctalCode.cpp b/libraries/shared/src/OctalCode.cpp index ff30dad47e..ba0a001fb9 100644 --- a/libraries/shared/src/OctalCode.cpp +++ b/libraries/shared/src/OctalCode.cpp @@ -35,7 +35,7 @@ void printOctalCode(const unsigned char* octalCode) { qDebug("NULL"); } else { QDebug continuedDebug = qDebug().nospace(); - for (int i = 0; i < bytesRequiredForCodeLength(numberOfThreeBitSectionsInCode(octalCode)); i++) { + for (size_t i = 0; i < bytesRequiredForCodeLength(numberOfThreeBitSectionsInCode(octalCode)); i++) { outputBits(octalCode[i], &continuedDebug); } } @@ -51,11 +51,11 @@ char sectionValue(const unsigned char* startByte, char startIndexInByte) { } } -int bytesRequiredForCodeLength(unsigned char threeBitCodes) { +size_t bytesRequiredForCodeLength(unsigned char threeBitCodes) { if (threeBitCodes == 0) { return 1; } else { - return 1 + (int)ceilf((threeBitCodes * 3) / 8.0f); + return 1 + ceilf((threeBitCodes * 3) / 8.0f); } } @@ -78,10 +78,10 @@ unsigned char* childOctalCode(const unsigned char* parentOctalCode, char childNu : 0; // get the number of bytes used by the parent octal code - int parentCodeBytes = bytesRequiredForCodeLength(parentCodeSections); + size_t parentCodeBytes = bytesRequiredForCodeLength(parentCodeSections); // child code will have one more section than the parent - int childCodeBytes = bytesRequiredForCodeLength(parentCodeSections + 1); + size_t childCodeBytes = bytesRequiredForCodeLength(parentCodeSections + 1); // create a new buffer to hold the new octal code unsigned char* newCode = new unsigned char[childCodeBytes]; @@ -175,7 +175,7 @@ OctalCodeComparison compareOctalCodes(const unsigned char* codeA, const unsigned OctalCodeComparison result = LESS_THAN; // assume it's shallower - int numberOfBytes = std::min(bytesRequiredForCodeLength(*codeA), bytesRequiredForCodeLength(*codeB)); + size_t numberOfBytes = std::min(bytesRequiredForCodeLength(*codeA), bytesRequiredForCodeLength(*codeB)); int compare = memcmp(codeA, codeB, numberOfBytes); if (compare < 0) { @@ -367,7 +367,7 @@ QString octalCodeToHexString(const unsigned char* octalCode) { if (!octalCode) { output = "00"; } else { - for (int i = 0; i < bytesRequiredForCodeLength(*octalCode); i++) { + for (size_t i = 0; i < bytesRequiredForCodeLength(*octalCode); i++) { output.append(QString("%1").arg(octalCode[i], HEX_BYTE_SIZE, HEX_NUMBER_BASE, QChar('0')).toUpper()); } } diff --git a/libraries/shared/src/OctalCode.h b/libraries/shared/src/OctalCode.h index 36f3e74f63..c80aa82a2d 100644 --- a/libraries/shared/src/OctalCode.h +++ b/libraries/shared/src/OctalCode.h @@ -20,7 +20,7 @@ const int GREEN_INDEX = 1; const int BLUE_INDEX = 2; void printOctalCode(const unsigned char* octalCode); -int bytesRequiredForCodeLength(unsigned char threeBitCodes); +size_t bytesRequiredForCodeLength(unsigned char threeBitCodes); int branchIndexWithDescendant(const unsigned char* ancestorOctalCode, const unsigned char* descendantOctalCode); unsigned char* childOctalCode(const unsigned char* parentOctalCode, char childNumber);