Made constants in cChunkDef enums, compilation fixes for gcc.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@974 0a769ca7-a7f5-676a-18bf-c427514a06d6
This commit is contained in:
parent
84da8a2353
commit
7aa87d1818
@ -106,17 +106,20 @@ enum EMCSBiome
|
|||||||
class cChunkDef
|
class cChunkDef
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
static const int Width = 16;
|
enum
|
||||||
static const int Height = 256;
|
{
|
||||||
static const int NumBlocks = Width * Height * Width;
|
Width = 16,
|
||||||
static const int BlockDataSize = NumBlocks * 2 + (NumBlocks / 2); // 2.5 * numblocks
|
Height = 256,
|
||||||
|
NumBlocks = Width * Height * Width,
|
||||||
|
BlockDataSize = NumBlocks * 2 + (NumBlocks / 2), // 2.5 * numblocks
|
||||||
|
|
||||||
// Offsets to individual components in the joined blockdata array
|
// Offsets to individual components in the joined blockdata array
|
||||||
static const int MetaOffset = NumBlocks;
|
MetaOffset = NumBlocks,
|
||||||
static const int LightOffset = MetaOffset + NumBlocks / 2;
|
LightOffset = MetaOffset + NumBlocks / 2,
|
||||||
static const int SkyLightOffset = LightOffset + NumBlocks / 2;
|
SkyLightOffset = LightOffset + NumBlocks / 2,
|
||||||
|
|
||||||
static const unsigned int INDEX_OUT_OF_RANGE = 0xffffffff;
|
INDEX_OUT_OF_RANGE = 0xffffffff,
|
||||||
|
} ;
|
||||||
|
|
||||||
/// The type used for any heightmap operations and storage; idx = x + Width * z
|
/// The type used for any heightmap operations and storage; idx = x + Width * z
|
||||||
typedef HEIGHTTYPE HeightMap[Width * Width];
|
typedef HEIGHTTYPE HeightMap[Width * Width];
|
||||||
|
@ -42,7 +42,8 @@ void cFloodyFluidSimulator::SimulateBlock(int a_BlockX, int a_BlockY, int a_Bloc
|
|||||||
|
|
||||||
cBlockArea Area;
|
cBlockArea Area;
|
||||||
int MinBlockY = std::max(0, a_BlockY - 1);
|
int MinBlockY = std::max(0, a_BlockY - 1);
|
||||||
int MaxBlockY = std::min(cChunkDef::Height, 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);
|
||||||
if (!Area.Read(m_World, a_BlockX - 1, a_BlockX + 1, MinBlockY, MaxBlockY, a_BlockZ - 1, a_BlockZ + 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.
|
// Cannot read the immediate neighborhood, probably too close to an unloaded chunk. Bail out.
|
||||||
|
Loading…
Reference in New Issue
Block a user