From 99c9b2e11d17b9c0d0fa9e62119ed3d13f96beda Mon Sep 17 00:00:00 2001 From: "madmaxoft@gmail.com" Date: Thu, 18 Oct 2012 13:39:42 +0000 Subject: [PATCH] Reverted previous commit, chose a different solution, much cleaner. git-svn-id: http://mc-server.googlecode.com/svn/trunk@975 0a769ca7-a7f5-676a-18bf-c427514a06d6 --- source/ChunkDef.h | 21 +++++++++------------ source/Simulator/FloodyFluidSimulator.cpp | 3 +-- 2 files changed, 10 insertions(+), 14 deletions(-) diff --git a/source/ChunkDef.h b/source/ChunkDef.h index 44103e659..db3bf4740 100644 --- a/source/ChunkDef.h +++ b/source/ChunkDef.h @@ -106,20 +106,17 @@ enum EMCSBiome class cChunkDef { public: - enum - { - Width = 16, - Height = 256, - NumBlocks = Width * Height * Width, - BlockDataSize = NumBlocks * 2 + (NumBlocks / 2), // 2.5 * numblocks + static const int Width = 16; + static const int Height = 256; + static const int NumBlocks = Width * Height * Width; + static const int BlockDataSize = NumBlocks * 2 + (NumBlocks / 2); // 2.5 * numblocks - // Offsets to individual components in the joined blockdata array - MetaOffset = NumBlocks, - LightOffset = MetaOffset + NumBlocks / 2, - SkyLightOffset = LightOffset + NumBlocks / 2, + // Offsets to individual components in the joined blockdata array + static const int MetaOffset = NumBlocks; + static const int LightOffset = MetaOffset + NumBlocks / 2; + static const int SkyLightOffset = LightOffset + NumBlocks / 2; - INDEX_OUT_OF_RANGE = 0xffffffff, - } ; + static const unsigned int INDEX_OUT_OF_RANGE = 0xffffffff; /// The type used for any heightmap operations and storage; idx = x + Width * z typedef HEIGHTTYPE HeightMap[Width * Width]; diff --git a/source/Simulator/FloodyFluidSimulator.cpp b/source/Simulator/FloodyFluidSimulator.cpp index 0f100116d..7d6879e07 100644 --- a/source/Simulator/FloodyFluidSimulator.cpp +++ b/source/Simulator/FloodyFluidSimulator.cpp @@ -42,8 +42,7 @@ void cFloodyFluidSimulator::SimulateBlock(int a_BlockX, int a_BlockY, int a_Bloc cBlockArea Area; int MinBlockY = std::max(0, a_BlockY - 1); - int ChunkHeight = cChunkDef::Height; // Stupid compilers wouldn't let me use std::min(cChunkDef::Height, ...) - int MaxBlockY = std::min(ChunkHeight, a_BlockY + 1); + int MaxBlockY = std::min(+cChunkDef::Height, a_BlockY + 1); if (!Area.Read(m_World, a_BlockX - 1, a_BlockX + 1, MinBlockY, MaxBlockY, a_BlockZ - 1, a_BlockZ + 1)) { // Cannot read the immediate neighborhood, probably too close to an unloaded chunk. Bail out.