From 74c4789c6f8f42c6df45ed1e355e562bdced908d Mon Sep 17 00:00:00 2001 From: Tiger Wang Date: Mon, 7 Apr 2014 12:43:43 +0100 Subject: Attempt to fix errors --- src/Chunk.cpp | 4 ++-- src/ChunkDef.h | 20 ++++++++++---------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/Chunk.cpp b/src/Chunk.cpp index 7a3e63bd0..ede01a6cc 100644 --- a/src/Chunk.cpp +++ b/src/Chunk.cpp @@ -1624,7 +1624,7 @@ void cChunk::FastSetBlock(int a_RelX, int a_RelY, int a_RelZ, BLOCKTYPE a_BlockT MarkDirty(); - if (m_BlockTypes.empty() || (index > m_BlockTypes.size() - 1) /* Vector starts from zero, .size() starts from 1 */) + if (m_BlockTypes.empty() || ((size_t)index > m_BlockTypes.size() - 1) /* Vector starts from zero, .size() starts from 1 */) { m_BlockTypes.resize(index + 1); } @@ -2569,7 +2569,7 @@ BLOCKTYPE cChunk::GetBlock(int a_BlockIdx) const return 0; } - if (m_BlockTypes.empty() || (a_BlockIdx > m_BlockTypes.size() - 1) /* Vector starts from zero, .size() starts from 1 */) + if (m_BlockTypes.empty() || ((size_t)a_BlockIdx > m_BlockTypes.size() - 1) /* Vector starts from zero, .size() starts from 1 */) { return E_BLOCK_AIR; } diff --git a/src/ChunkDef.h b/src/ChunkDef.h index d744d24b2..bb9f14bbe 100644 --- a/src/ChunkDef.h +++ b/src/ChunkDef.h @@ -236,11 +236,11 @@ public: { if ((a_BlockIdx > -1) && (a_BlockIdx < NumBlocks)) { - if (a_Buffer.empty() || (a_BlockIdx / 2 > a_Buffer.size() - 1)) + if (a_Buffer.empty() || ((size_t)(a_BlockIdx / 2) > a_Buffer.size() - 1)) { return (a_IsSkyLightNibble ? 0xff : 0); } - return (a_Buffer[a_BlockIdx / 2] >> ((a_BlockIdx & 1) * 4)) & 0x0f; + return (a_Buffer[(size_t)(a_BlockIdx / 2)] >> ((a_BlockIdx & 1) * 4)) & 0x0f; } ASSERT(!"cChunkDef::GetNibble(): index out of chunk range!"); return 0; @@ -264,11 +264,11 @@ public: if ((x < Width) && (x > -1) && (y < Height) && (y > -1) && (z < Width) && (z > -1)) { int Index = MakeIndexNoCheck(x, y, z); - if (a_Buffer.empty() || (Index / 2 > a_Buffer.size() - 1)) + if (a_Buffer.empty() || ((size_t)(Index / 2) > a_Buffer.size() - 1)) { return (a_IsSkyLightNibble ? 0xff : 0); } - return (a_Buffer[Index / 2] >> ((Index & 1) * 4)) & 0x0f; + return (a_Buffer[(size_t)(Index / 2)] >> ((Index & 1) * 4)) & 0x0f; } ASSERT(!"cChunkDef::GetNibble(): coords out of chunk range!"); return 0; @@ -296,11 +296,11 @@ public: ASSERT(!"cChunkDef::SetNibble(): index out of range!"); return; } - if (a_Buffer.empty() || (a_BlockIdx / 2 > a_Buffer.size() - 1)) + if (a_Buffer.empty() || ((size_t)(a_BlockIdx / 2) > a_Buffer.size() - 1)) { - a_Buffer.resize((a_BlockIdx / 2) + 1); + a_Buffer.resize((size_t)((a_BlockIdx / 2) + 1)); } - a_Buffer[a_BlockIdx / 2] = static_cast( + a_Buffer[(size_t)(a_BlockIdx / 2)] = static_cast( (a_Buffer[a_BlockIdx / 2] & (0xf0 >> ((a_BlockIdx & 1) * 4))) | // The untouched nibble ((a_Nibble & 0x0f) << ((a_BlockIdx & 1) * 4)) // The nibble being set ); @@ -340,11 +340,11 @@ public: } int Index = MakeIndexNoCheck(x, y, z); - if (a_Buffer.empty() || (Index / 2 > a_Buffer.size() - 1)) + if (a_Buffer.empty() || ((size_t)(Index / 2) > a_Buffer.size() - 1)) { - a_Buffer.resize((Index / 2) + 1); + a_Buffer.resize((size_t)((Index / 2) + 1)); } - a_Buffer[Index / 2] = static_cast( + a_Buffer[(size_t)(Index / 2)] = static_cast( (a_Buffer[Index / 2] & (0xf0 >> ((Index & 1) * 4))) | // The untouched nibble ((a_Nibble & 0x0f) << ((Index & 1) * 4)) // The nibble being set ); -- cgit v1.2.3