From 0b9eb20b92f49feeb34626eef4590f7938a93480 Mon Sep 17 00:00:00 2001 From: Tiger Wang Date: Mon, 4 Aug 2014 21:22:08 +0100 Subject: Fixed signs not staying on other signs --- src/Blocks/BlockSignPost.h | 3 ++- src/Blocks/BlockWallSign.h | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/Blocks/BlockSignPost.h b/src/Blocks/BlockSignPost.h index ee65d099a..d0cc760b0 100644 --- a/src/Blocks/BlockSignPost.h +++ b/src/Blocks/BlockSignPost.h @@ -39,8 +39,9 @@ public: { return false; } + BLOCKTYPE Type = a_Chunk.GetBlock(a_RelX, a_RelY - 1, a_RelZ); - return (cBlockInfo::IsSolid(a_Chunk.GetBlock(a_RelX, a_RelY - 1, a_RelZ))); + return ((Type == E_BLOCK_SIGN_POST) || cBlockInfo::IsSolid(Type)); } diff --git a/src/Blocks/BlockWallSign.h b/src/Blocks/BlockWallSign.h index e837b315e..47649379e 100644 --- a/src/Blocks/BlockWallSign.h +++ b/src/Blocks/BlockWallSign.h @@ -49,8 +49,9 @@ public: int BlockX = (a_Chunk.GetPosX() * cChunkDef::Width) + a_RelX; int BlockZ = (a_Chunk.GetPosZ() * cChunkDef::Width) + a_RelZ; GetBlockCoordsBehindTheSign(a_Chunk.GetMeta(a_RelX, a_RelY, a_RelZ), BlockX, BlockZ); + BLOCKTYPE Type = a_ChunkInterface.GetBlock(BlockX, a_RelY, BlockZ); - return (cBlockInfo::IsSolid(a_ChunkInterface.GetBlock(BlockX, a_RelY, BlockZ))); + return ((Type == E_BLOCK_WALLSIGN) || (Type == E_BLOCK_SIGN_POST) || cBlockInfo::IsSolid(Type)); } -- cgit v1.2.3