first commit
This commit is contained in:
54
Minecraft.Client/PS3/SPU_Tasks/ChunkUpdate/ButtonTile_SPU.h
Normal file
54
Minecraft.Client/PS3/SPU_Tasks/ChunkUpdate/ButtonTile_SPU.h
Normal file
@@ -0,0 +1,54 @@
|
||||
#pragma once
|
||||
#include "Tile_SPU.h"
|
||||
|
||||
|
||||
class ButtonTile_SPU : public Tile_SPU
|
||||
{
|
||||
|
||||
public:
|
||||
ButtonTile_SPU(int id) : Tile_SPU(id) {}
|
||||
|
||||
Icon_SPU *getTexture(int face, int data)
|
||||
{
|
||||
if(id == Tile_SPU::button_wood_Id)
|
||||
return TileRef_SPU(wood_Id)->getTexture(Facing::UP);
|
||||
else
|
||||
return TileRef_SPU(rock_Id)->getTexture(Facing::UP);
|
||||
}
|
||||
virtual bool blocksLight() { return false; }
|
||||
virtual bool isSolidRender(bool isServerLevel = false) { return false; }
|
||||
virtual bool isCubeShaped() { return false; }
|
||||
virtual void updateShape(ChunkRebuildData *level, int x, int y, int z, int forceData = -1, TileEntity* forceEntity = NULL) // 4J added forceData, forceEntity param
|
||||
{
|
||||
int data = level->getData(x, y, z);
|
||||
int dir = data & 7;
|
||||
bool pressed = (data & 8) > 0;
|
||||
|
||||
float h0 = 6 / 16.0f;
|
||||
float h1 = 10 / 16.0f;
|
||||
float r = 3 / 16.0f;
|
||||
float d = 2 / 16.0f;
|
||||
if (pressed) d = 1 / 16.0f;
|
||||
|
||||
if (dir == 1)
|
||||
{
|
||||
setShape(0, h0, 0.5f - r, d, h1, 0.5f + r);
|
||||
} else if (dir == 2)
|
||||
{
|
||||
setShape(1 - d, h0, 0.5f - r, 1, h1, 0.5f + r);
|
||||
} else if (dir == 3)
|
||||
{
|
||||
setShape(0.5f - r, h0, 0, 0.5f + r, h1, d);
|
||||
} else if (dir == 4)
|
||||
{
|
||||
setShape(0.5f - r, h0, 1 - d, 0.5f + r, h1, 1);
|
||||
}
|
||||
}
|
||||
virtual void updateDefaultShape()
|
||||
{
|
||||
float x = 3 / 16.0f;
|
||||
float y = 2 / 16.0f;
|
||||
float z = 2 / 16.0f;
|
||||
setShape(0.5f - x, 0.5f - y, 0.5f - z, 0.5f + x, 0.5f + y, 0.5f + z);
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user