From 3ee523628465a59070354781cda6585f6778192c Mon Sep 17 00:00:00 2001 From: "madmaxoft@gmail.com" Date: Tue, 4 Jun 2013 19:22:14 +0000 Subject: Removed cLadder, cSign, cStairs, cTorch and cVine classes, moved their functionality into the appropriate BlockHandlers / ItemHandlers git-svn-id: http://mc-server.googlecode.com/svn/trunk@1555 0a769ca7-a7f5-676a-18bf-c427514a06d6 --- source/Blocks/BlockStairs.h | 30 ++++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) (limited to 'source/Blocks/BlockStairs.h') diff --git a/source/Blocks/BlockStairs.h b/source/Blocks/BlockStairs.h index c85d07c00..6fc316e45 100644 --- a/source/Blocks/BlockStairs.h +++ b/source/Blocks/BlockStairs.h @@ -2,7 +2,6 @@ #pragma once #include "BlockHandler.h" -#include "../Stairs.h" @@ -27,7 +26,7 @@ public: ) override { a_BlockType = m_BlockType; - a_BlockMeta = cStairs::RotationToMetaData(a_Player->GetRotation()); + a_BlockMeta = RotationToMetaData(a_Player->GetRotation()); switch (a_BlockFace) { case BLOCK_FACE_TOP: break; @@ -51,6 +50,33 @@ public: // TODO: step sound + static NIBBLETYPE RotationToMetaData(double a_Rotation) + { + a_Rotation += 90 + 45; // So its not aligned with axis + NIBBLETYPE result = 0x0; + if (a_Rotation > 360) + { + a_Rotation -= 360; + } + if ((a_Rotation >= 0) && (a_Rotation < 90)) + { + return 0x0; + } + else if ((a_Rotation >= 180) && (a_Rotation < 270)) + { + return 0x1; + } + else if ((a_Rotation >= 90) && (a_Rotation < 180)) + { + return 0x2; + } + else + { + return 0x3; + } + } + + virtual NIBBLETYPE MetaRotateCCW(NIBBLETYPE a_Meta) override { // Bits 3 and 4 stay, the rest is swapped around according to a table: -- cgit v1.2.3