diff options
author | maximius <none@none> | 2009-10-17 15:35:07 -0700 |
---|---|---|
committer | maximius <none@none> | 2009-10-17 15:35:07 -0700 |
commit | 26b5e033ffde3d161382fc9addbfa99738379641 (patch) | |
tree | a344f369ca32945f787a02dee35c3dbe342bed7e /src/game/UpdateMask.h | |
parent | f21f47005dcb6b76e1abc9f35fbcd03eed191bff (diff) |
*Massive cleanup (\n\n -> \n, *\n -> \n, cleanup for(...) to for (...), and some other cleanups by hand)
*Fix a possible crash in Spell::DoAllEffectOnTarget
--HG--
branch : trunk
Diffstat (limited to 'src/game/UpdateMask.h')
-rw-r--r-- | src/game/UpdateMask.h | 23 |
1 files changed, 0 insertions, 23 deletions
diff --git a/src/game/UpdateMask.h b/src/game/UpdateMask.h index 66a6947fc37..895b27dd348 100644 --- a/src/game/UpdateMask.h +++ b/src/game/UpdateMask.h @@ -17,107 +17,84 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ - #ifndef __UPDATEMASK_H #define __UPDATEMASK_H - #include "UpdateFields.h" #include "Errors.h" - class UpdateMask { public: UpdateMask( ) : mCount( 0 ), mBlocks( 0 ), mUpdateMask( 0 ) { } UpdateMask( const UpdateMask& mask ) : mUpdateMask( 0 ) { *this = mask; } - ~UpdateMask( ) { if(mUpdateMask) delete [] mUpdateMask; } - void SetBit (uint32 index) { ( (uint8 *)mUpdateMask )[ index >> 3 ] |= 1 << ( index & 0x7 ); } - void UnsetBit (uint32 index) { ( (uint8 *)mUpdateMask )[ index >> 3 ] &= (0xff ^ (1 << ( index & 0x7 ) ) ); } - bool GetBit (uint32 index) const { return ( ( (uint8 *)mUpdateMask)[ index >> 3 ] & ( 1 << ( index & 0x7 ) )) != 0; } - uint32 GetBlockCount() const { return mBlocks; } uint32 GetLength() const { return mBlocks << 2; } uint32 GetCount() const { return mCount; } uint8* GetMask() { return (uint8*)mUpdateMask; } - void SetCount (uint32 valuesCount) { if(mUpdateMask) delete [] mUpdateMask; - mCount = valuesCount; mBlocks = (valuesCount + 31) / 32; - mUpdateMask = new uint32[mBlocks]; memset(mUpdateMask, 0, mBlocks << 2); } - void Clear() { if (mUpdateMask) memset(mUpdateMask, 0, mBlocks << 2); } - UpdateMask& operator = ( const UpdateMask& mask ) { SetCount(mask.mCount); memcpy(mUpdateMask, mask.mUpdateMask, mBlocks << 2); - return *this; } - void operator &= ( const UpdateMask& mask ) { ASSERT(mask.mCount <= mCount); for (uint32 i = 0; i < mBlocks; ++i) mUpdateMask[i] &= mask.mUpdateMask[i]; } - void operator |= ( const UpdateMask& mask ) { ASSERT(mask.mCount <= mCount); for (uint32 i = 0; i < mBlocks; ++i) mUpdateMask[i] |= mask.mUpdateMask[i]; } - UpdateMask operator & ( const UpdateMask& mask ) const { ASSERT(mask.mCount <= mCount); - UpdateMask newmask; newmask = *this; newmask &= mask; - return newmask; } - UpdateMask operator | ( const UpdateMask& mask ) const { ASSERT(mask.mCount <= mCount); - UpdateMask newmask; newmask = *this; newmask |= mask; - return newmask; } - private: uint32 mCount; uint32 mBlocks; |