aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.Client/PS3/SPU_Tasks/ChunkUpdate/TreeTile_SPU.h
diff options
context:
space:
mode:
Diffstat (limited to 'Minecraft.Client/PS3/SPU_Tasks/ChunkUpdate/TreeTile_SPU.h')
-rw-r--r--Minecraft.Client/PS3/SPU_Tasks/ChunkUpdate/TreeTile_SPU.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/Minecraft.Client/PS3/SPU_Tasks/ChunkUpdate/TreeTile_SPU.h b/Minecraft.Client/PS3/SPU_Tasks/ChunkUpdate/TreeTile_SPU.h
new file mode 100644
index 00000000..dec9f6ac
--- /dev/null
+++ b/Minecraft.Client/PS3/SPU_Tasks/ChunkUpdate/TreeTile_SPU.h
@@ -0,0 +1,40 @@
+#pragma once
+
+#include "Tile_SPU.h"
+
+class Player;
+
+class TreeTile_SPU : public Tile_SPU
+{
+public:
+ static const int DARK_TRUNK = 1;
+ static const int BIRCH_TRUNK = 2;
+ static const int JUNGLE_TRUNK = 3;
+
+ static const int MASK_TYPE = 0x3;
+ static const int MASK_FACING = 0xC;
+ static const int FACING_Y = 0 << 2;
+ static const int FACING_X = 1 << 2;
+ static const int FACING_Z = 2 << 2;
+
+ static const int TREE_NAMES_LENGTH = 4;
+
+ TreeTile_SPU(int id) : Tile_SPU(id) {}
+ int getRenderShape() { return Tile_SPU::SHAPE_TREE; }
+
+
+public:
+ Icon_SPU *getTexture(int face, int data)
+ {
+ int dir = data & MASK_FACING;
+ int type = data & MASK_TYPE;
+ if (dir == FACING_Y && (face == Facing::UP || face == Facing::DOWN))
+ return &ms_pTileData->treeTile_iconTop;
+ else if (dir == FACING_X && (face == Facing::EAST || face == Facing::WEST))
+ return &ms_pTileData->treeTile_iconTop;
+ else if (dir == FACING_Z && (face == Facing::NORTH || face == Facing::SOUTH))
+ return &ms_pTileData->treeTile_iconTop;
+
+ return &ms_pTileData->treeTile_icons[data];
+ }
+}; \ No newline at end of file