1
0

Fixed style

This commit is contained in:
Tycho 2014-09-25 15:45:39 +01:00
parent 9c459cbe50
commit 799c96661d
4 changed files with 108 additions and 2 deletions

View File

@ -19,8 +19,8 @@ public:
/** Returns the associated BlockInfo structure for the specified block type. */ /** Returns the associated BlockInfo structure for the specified block type. */
/** This accessor makes sure that the cBlockInfo structures are properly initialized exactly once. /** This accessor makes sure that the cBlockInfo structures are properly initialized exactly once.
It does so by using the C++ singleton approximation - storing the actual singleton as the function's static variable. It does so by using the C++ singleton approximation - storing the actual singleton as the function's static variable.
It works only if it is called for the first time before the app spawns other threads. */ It works only if it is called for the first time before the app spawns other threads. */
static cBlockInfo & Get(BLOCKTYPE a_Type) static cBlockInfo & Get(BLOCKTYPE a_Type)
{ {
static cBlockInfo ms_Info[256]; static cBlockInfo ms_Info[256];

View File

@ -5,24 +5,49 @@
#include "ChunkMap.h" #include "ChunkMap.h"
#include "BlockHandler.h" #include "BlockHandler.h"
BLOCKTYPE cChunkInterface::GetBlock(int a_BlockX, int a_BlockY, int a_BlockZ) BLOCKTYPE cChunkInterface::GetBlock(int a_BlockX, int a_BlockY, int a_BlockZ)
{ {
return m_ChunkMap->GetBlock(a_BlockX, a_BlockY, a_BlockZ); return m_ChunkMap->GetBlock(a_BlockX, a_BlockY, a_BlockZ);
} }
BLOCKTYPE cChunkInterface::GetBlock(const Vector3i & a_Pos) BLOCKTYPE cChunkInterface::GetBlock(const Vector3i & a_Pos)
{ {
return GetBlock(a_Pos.x, a_Pos.y, a_Pos.z); return GetBlock(a_Pos.x, a_Pos.y, a_Pos.z);
} }
NIBBLETYPE cChunkInterface::GetBlockMeta(int a_BlockX, int a_BlockY, int a_BlockZ) NIBBLETYPE cChunkInterface::GetBlockMeta(int a_BlockX, int a_BlockY, int a_BlockZ)
{ {
return m_ChunkMap->GetBlockMeta(a_BlockX, a_BlockY, a_BlockZ); return m_ChunkMap->GetBlockMeta(a_BlockX, a_BlockY, a_BlockZ);
} }
bool cChunkInterface::GetBlockTypeMeta(int a_BlockX, int a_BlockY, int a_BlockZ, BLOCKTYPE & a_BlockType, NIBBLETYPE & a_BlockMeta) bool cChunkInterface::GetBlockTypeMeta(int a_BlockX, int a_BlockY, int a_BlockZ, BLOCKTYPE & a_BlockType, NIBBLETYPE & a_BlockMeta)
{ {
return m_ChunkMap->GetBlockTypeMeta(a_BlockX, a_BlockY, a_BlockZ, a_BlockType, a_BlockMeta); return m_ChunkMap->GetBlockTypeMeta(a_BlockX, a_BlockY, a_BlockZ, a_BlockType, a_BlockMeta);
} }
/** Sets the block at the specified coords to the specified value. /** Sets the block at the specified coords to the specified value.
Full processing, incl. updating neighbors, is performed. Full processing, incl. updating neighbors, is performed.
*/ */
@ -31,16 +56,31 @@ void cChunkInterface::SetBlock(int a_BlockX, int a_BlockY, int a_BlockZ, BLOCKTY
m_ChunkMap->SetBlock(a_BlockX, a_BlockY, a_BlockZ, a_BlockType, a_BlockMeta); m_ChunkMap->SetBlock(a_BlockX, a_BlockY, a_BlockZ, a_BlockType, a_BlockMeta);
} }
void cChunkInterface::SetBlockMeta(int a_BlockX, int a_BlockY, int a_BlockZ, NIBBLETYPE a_MetaData) void cChunkInterface::SetBlockMeta(int a_BlockX, int a_BlockY, int a_BlockZ, NIBBLETYPE a_MetaData)
{ {
m_ChunkMap->SetBlockMeta(a_BlockX, a_BlockY, a_BlockZ, a_MetaData); m_ChunkMap->SetBlockMeta(a_BlockX, a_BlockY, a_BlockZ, a_MetaData);
} }
void cChunkInterface::QueueSetBlock(int a_BlockX, int a_BlockY, int a_BlockZ, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, int a_TickDelay, BLOCKTYPE a_PreviousBlockType, cWorldInterface & a_WorldInterface) void cChunkInterface::QueueSetBlock(int a_BlockX, int a_BlockY, int a_BlockZ, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, int a_TickDelay, BLOCKTYPE a_PreviousBlockType, cWorldInterface & a_WorldInterface)
{ {
m_ChunkMap->QueueSetBlock(a_BlockX, a_BlockY, a_BlockZ, a_BlockType, a_BlockMeta, a_WorldInterface.GetWorldAge() + a_TickDelay, a_PreviousBlockType); m_ChunkMap->QueueSetBlock(a_BlockX, a_BlockY, a_BlockZ, a_BlockType, a_BlockMeta, a_WorldInterface.GetWorldAge() + a_TickDelay, a_PreviousBlockType);
} }
/** Sets the block at the specified coords to the specified value. /** Sets the block at the specified coords to the specified value.
The replacement doesn't trigger block updates. The replacement doesn't trigger block updates.
The replaced blocks aren't checked for block entities (block entity is leaked if it exists at this block) The replaced blocks aren't checked for block entities (block entity is leaked if it exists at this block)
@ -50,29 +90,55 @@ void cChunkInterface::FastSetBlock(int a_BlockX, int a_BlockY, int a_BlockZ, BLO
m_ChunkMap->FastSetBlock(a_BlockX, a_BlockY, a_BlockZ, a_BlockType, a_BlockMeta); m_ChunkMap->FastSetBlock(a_BlockX, a_BlockY, a_BlockZ, a_BlockType, a_BlockMeta);
} }
void cChunkInterface::FastSetBlock(const Vector3i & a_Pos, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta) void cChunkInterface::FastSetBlock(const Vector3i & a_Pos, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta)
{ {
FastSetBlock( a_Pos.x, a_Pos.y, a_Pos.z, a_BlockType, a_BlockMeta); FastSetBlock( a_Pos.x, a_Pos.y, a_Pos.z, a_BlockType, a_BlockMeta);
} }
void cChunkInterface::UseBlockEntity(cPlayer * a_Player, int a_BlockX, int a_BlockY, int a_BlockZ) void cChunkInterface::UseBlockEntity(cPlayer * a_Player, int a_BlockX, int a_BlockY, int a_BlockZ)
{ {
m_ChunkMap->UseBlockEntity(a_Player, a_BlockX, a_BlockY, a_BlockZ); m_ChunkMap->UseBlockEntity(a_Player, a_BlockX, a_BlockY, a_BlockZ);
} }
bool cChunkInterface::ForEachChunkInRect(int a_MinChunkX, int a_MaxChunkX, int a_MinChunkZ, int a_MaxChunkZ, cChunkDataCallback & a_Callback) bool cChunkInterface::ForEachChunkInRect(int a_MinChunkX, int a_MaxChunkX, int a_MinChunkZ, int a_MaxChunkZ, cChunkDataCallback & a_Callback)
{ {
return m_ChunkMap->ForEachChunkInRect(a_MinChunkX, a_MaxChunkX, a_MinChunkZ, a_MaxChunkZ, a_Callback); return m_ChunkMap->ForEachChunkInRect(a_MinChunkX, a_MaxChunkX, a_MinChunkZ, a_MaxChunkZ, a_Callback);
} }
bool cChunkInterface::WriteBlockArea(cBlockArea & a_Area, int a_MinBlockX, int a_MinBlockY, int a_MinBlockZ, int a_DataTypes) bool cChunkInterface::WriteBlockArea(cBlockArea & a_Area, int a_MinBlockX, int a_MinBlockY, int a_MinBlockZ, int a_DataTypes)
{ {
return m_ChunkMap->WriteBlockArea(a_Area, a_MinBlockX, a_MinBlockY, a_MinBlockZ, a_DataTypes); return m_ChunkMap->WriteBlockArea(a_Area, a_MinBlockX, a_MinBlockY, a_MinBlockZ, a_DataTypes);
} }
bool cChunkInterface::DigBlock(cWorldInterface & a_WorldInterface, int a_X, int a_Y, int a_Z) bool cChunkInterface::DigBlock(cWorldInterface & a_WorldInterface, int a_X, int a_Y, int a_Z)
{ {
cBlockHandler * Handler = cBlockInfo::GetHandler(GetBlock(a_X, a_Y, a_Z)); cBlockHandler * Handler = cBlockInfo::GetHandler(GetBlock(a_X, a_Y, a_Z));
Handler->OnDestroyed(*this, a_WorldInterface, a_X, a_Y, a_Z); Handler->OnDestroyed(*this, a_WorldInterface, a_X, a_Y, a_Z);
return m_ChunkMap->DigBlock(a_X, a_Y, a_Z); return m_ChunkMap->DigBlock(a_X, a_Y, a_Z);
} }

View File

@ -8,9 +8,20 @@ class cBlockTripwireHookHandler;
class cBlockDoorHandler; class cBlockDoorHandler;
class cBlockPistonHandler; class cBlockPistonHandler;
template<BLOCKTYPE T> template<BLOCKTYPE T>
class GetHandlerCompileTime; class GetHandlerCompileTime;
template<> template<>
class GetHandlerCompileTime<E_BLOCK_TORCH> class GetHandlerCompileTime<E_BLOCK_TORCH>
{ {
@ -18,6 +29,11 @@ public:
typedef cBlockTorchHandler type; typedef cBlockTorchHandler type;
}; };
template<> template<>
class GetHandlerCompileTime<E_BLOCK_LEVER> class GetHandlerCompileTime<E_BLOCK_LEVER>
{ {
@ -25,6 +41,11 @@ public:
typedef cBlockLeverHandler type; typedef cBlockLeverHandler type;
}; };
template<> template<>
class GetHandlerCompileTime<E_BLOCK_STONE_BUTTON> class GetHandlerCompileTime<E_BLOCK_STONE_BUTTON>
{ {
@ -32,6 +53,11 @@ public:
typedef cBlockButtonHandler type; typedef cBlockButtonHandler type;
}; };
template<> template<>
class GetHandlerCompileTime<E_BLOCK_TRIPWIRE_HOOK> class GetHandlerCompileTime<E_BLOCK_TRIPWIRE_HOOK>
{ {
@ -39,6 +65,11 @@ public:
typedef cBlockTripwireHookHandler type; typedef cBlockTripwireHookHandler type;
}; };
template<> template<>
class GetHandlerCompileTime<E_BLOCK_WOODEN_DOOR> class GetHandlerCompileTime<E_BLOCK_WOODEN_DOOR>
{ {
@ -46,9 +77,15 @@ public:
typedef cBlockDoorHandler type; typedef cBlockDoorHandler type;
}; };
template<> template<>
class GetHandlerCompileTime<E_BLOCK_PISTON> class GetHandlerCompileTime<E_BLOCK_PISTON>
{ {
public: public:
typedef cBlockPistonHandler type; typedef cBlockPistonHandler type;
}; };

View File

@ -25,6 +25,9 @@ class cMonster :
typedef cPawn super; typedef cPawn super;
public: public:
//Depreciated
typedef eMonsterType eType;
enum eFamily enum eFamily
{ {
mfHostile = 0, // Spider, Zombies ... mfHostile = 0, // Spider, Zombies ...