From e9caa40d9a9d5046ad1ff913d490afd527063683 Mon Sep 17 00:00:00 2001 From: ZappoMan Date: Mon, 20 May 2013 13:54:02 -0700 Subject: [PATCH] added exists bits to avatar data --- libraries/avatars/src/AvatarData.cpp | 8 +++++--- libraries/avatars/src/AvatarData.h | 16 ++++++++++------ 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/libraries/avatars/src/AvatarData.cpp b/libraries/avatars/src/AvatarData.cpp index db5718a516..43259298fb 100644 --- a/libraries/avatars/src/AvatarData.cpp +++ b/libraries/avatars/src/AvatarData.cpp @@ -55,7 +55,9 @@ AvatarData::AvatarData() : _cameraFarClip(0.0f), _keyState(NO_KEY_DOWN), _wantResIn(false), - _wantColor(true) + _wantColor(true), + _wantDelta(true), + _wantExistsBits(true) { }; @@ -129,9 +131,9 @@ int AvatarData::getBroadcastData(unsigned char* destinationBuffer) { // voxel sending features... unsigned char wantItems = 0; if (_wantResIn) { setAtBit(wantItems,WANT_RESIN_AT_BIT); } - if (_wantExistsBits) { setAtBit(wantItems,WANT_EXISTS_BITS_BIT); } if (_wantColor) { setAtBit(wantItems,WANT_COLOR_AT_BIT); } if (_wantDelta) { setAtBit(wantItems,WANT_DELTA_AT_BIT); } + if (_wantExistsBits) { setAtBit(wantItems,WANT_EXISTS_BITS_BIT); } *destinationBuffer++ = wantItems; return destinationBuffer - bufferStart; @@ -212,9 +214,9 @@ int AvatarData::parseData(unsigned char* sourceBuffer, int numBytes) { unsigned char wantItems = 0; wantItems = (unsigned char)*sourceBuffer++; _wantResIn = oneAtBit(wantItems,WANT_RESIN_AT_BIT); - _wantExistsBits = oneAtBit(wantItems,WANT_EXISTS_BITS_BIT); _wantColor = oneAtBit(wantItems,WANT_COLOR_AT_BIT); _wantDelta = oneAtBit(wantItems,WANT_DELTA_AT_BIT); + _wantExistsBits = oneAtBit(wantItems,WANT_EXISTS_BITS_BIT); return sourceBuffer - startPosition; } diff --git a/libraries/avatars/src/AvatarData.h b/libraries/avatars/src/AvatarData.h index eeb2e1eb7e..57edf3c452 100644 --- a/libraries/avatars/src/AvatarData.h +++ b/libraries/avatars/src/AvatarData.h @@ -18,6 +18,7 @@ const int WANT_RESIN_AT_BIT = 0; const int WANT_COLOR_AT_BIT = 1; const int WANT_DELTA_AT_BIT = 2; +const int WANT_EXISTS_BITS_BIT = 4; enum KeyState { @@ -102,12 +103,14 @@ public: const std::string& chatMessage () const { return _chatMessage; } // related to Voxel Sending strategies - bool getWantResIn() const { return _wantResIn; } - bool getWantColor() const { return _wantColor; } - bool getWantDelta() const { return _wantDelta; } - void setWantResIn(bool wantResIn) { _wantResIn = wantResIn; } - void setWantColor(bool wantColor) { _wantColor = wantColor; } - void setWantDelta(bool wantDelta) { _wantDelta = wantDelta; } + bool getWantResIn() const { return _wantResIn; } + bool getWantColor() const { return _wantColor; } + bool getWantDelta() const { return _wantDelta; } + bool getWantExistsBits() const { return _wantExistsBits; } + void setWantResIn(bool wantResIn) { _wantResIn = wantResIn; } + void setWantColor(bool wantColor) { _wantColor = wantColor; } + void setWantDelta(bool wantDelta) { _wantDelta = wantDelta; } + void setWantExistsBits(bool wantExistsBits) { _wantExistsBits = wantExistsBits; } protected: // privatize the copy constructor and assignment operator so they cannot be called @@ -158,6 +161,7 @@ protected: bool _wantResIn; bool _wantColor; bool _wantDelta; + bool _wantExistsBits; }; #endif /* defined(__hifi__AvatarData__) */