| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- /*
- * Copyright (c) 2014, Oculus VR, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- */
- #include "VariableListDeltaTracker.h"
- using namespace RakNet;
- VariableListDeltaTracker::VariableListDeltaTracker() {nextWriteIndex=0;}
- VariableListDeltaTracker::~VariableListDeltaTracker()
- {
- unsigned int i;
- for (i=0; i < variableList.Size(); i++)
- rakFree_Ex(variableList[i].lastData,_FILE_AND_LINE_);
- }
- // Call before using a series of WriteVar
- void VariableListDeltaTracker::StartWrite(void) {nextWriteIndex=0;}
- void VariableListDeltaTracker::FlagDirtyFromBitArray(unsigned char *bArray)
- {
- unsigned short readOffset=0;
- for (readOffset=0; readOffset < variableList.Size(); readOffset++)
- {
- bool result = ( bArray[ readOffset >> 3 ] & ( 0x80 >> ( readOffset & 7 ) ) ) !=0;
- if (result==true)
- variableList[readOffset].isDirty=true;
- }
- }
- VariableListDeltaTracker::VariableLastValueNode::VariableLastValueNode()
- {
- lastData=0;
- }
- VariableListDeltaTracker::VariableLastValueNode::VariableLastValueNode(const unsigned char *data, int _byteLength)
- {
- lastData=(char*) rakMalloc_Ex(_byteLength,_FILE_AND_LINE_);
- memcpy(lastData,data,_byteLength);
- byteLength=_byteLength;
- isDirty=false;
- }
- VariableListDeltaTracker::VariableLastValueNode::~VariableLastValueNode()
- {
- }
|