|
|
@@ -15,7 +15,8 @@ Block::Block(const BlockType* zType,
|
|
|
bool needRequestModelInfo,
|
|
|
float size,
|
|
|
bool passable,
|
|
|
- float speedModifier)
|
|
|
+ float speedModifier,
|
|
|
+ Direction frontDirection)
|
|
|
: FactoryCraftModel(),
|
|
|
zType(zType),
|
|
|
location(pos),
|
|
|
@@ -26,7 +27,8 @@ Block::Block(const BlockType* zType,
|
|
|
distanceToSource(0),
|
|
|
passable(passable),
|
|
|
speedModifier(speedModifier),
|
|
|
- currentModelInfo(0)
|
|
|
+ currentModelInfo(0),
|
|
|
+ frontDirection(frontDirection)
|
|
|
{
|
|
|
hp = (float)maxHP;
|
|
|
memset(sideVisible, 0, 6);
|
|
|
@@ -37,6 +39,7 @@ Block::Block(const BlockType* zType,
|
|
|
setModelTextur(texture);
|
|
|
memset(lightData, 0, 6 * 6);
|
|
|
setSize(size);
|
|
|
+ Model3D::setRotation(::getRotation(NORTH, frontDirection));
|
|
|
}
|
|
|
|
|
|
Block::~Block()
|
|
|
@@ -191,6 +194,11 @@ bool Block::isVisible() const
|
|
|
// || sideVisible[4] || sideVisible[5];
|
|
|
}
|
|
|
|
|
|
+Direction Block::getFrontDirection() const
|
|
|
+{
|
|
|
+ return frontDirection;
|
|
|
+}
|
|
|
+
|
|
|
Vec3<int> Block::getLocation() const
|
|
|
{
|
|
|
return location;
|
|
|
@@ -209,83 +217,50 @@ Skeleton* Block::zSkeleton() const
|
|
|
Text Block::printLightInfo()
|
|
|
{
|
|
|
Text result = "NORTH[0;-1;0](";
|
|
|
- result += (int)lightData[0];
|
|
|
- result += ",";
|
|
|
- result += (int)lightData[1];
|
|
|
- result += ",";
|
|
|
- result += (int)lightData[2];
|
|
|
- result += ";";
|
|
|
- result += (int)lightData[3];
|
|
|
- result += ",";
|
|
|
- result += (int)lightData[4];
|
|
|
- result += ",";
|
|
|
- result += (int)lightData[5];
|
|
|
- result += ")\n";
|
|
|
- result += "EAST[1;0;0](";
|
|
|
- result += (int)lightData[6];
|
|
|
- result += ",";
|
|
|
- result += (int)lightData[7];
|
|
|
- result += ",";
|
|
|
- result += (int)lightData[8];
|
|
|
- result += ";";
|
|
|
- result += (int)lightData[9];
|
|
|
- result += ",";
|
|
|
- result += (int)lightData[10];
|
|
|
- result += ",";
|
|
|
- result += (int)lightData[11];
|
|
|
- result += ")\n";
|
|
|
- result += "SOUTH[0;1;0](";
|
|
|
- result += (int)lightData[12];
|
|
|
- result += ",";
|
|
|
- result += (int)lightData[13];
|
|
|
- result += ",";
|
|
|
- result += (int)lightData[14];
|
|
|
- result += ";";
|
|
|
- result += (int)lightData[15];
|
|
|
- result += ",";
|
|
|
- result += (int)lightData[16];
|
|
|
- result += ",";
|
|
|
- result += (int)lightData[17];
|
|
|
- result += ")\n";
|
|
|
- result += "WEST[-1;0;0](";
|
|
|
- result += (int)lightData[18];
|
|
|
- result += ",";
|
|
|
- result += (int)lightData[19];
|
|
|
- result += ",";
|
|
|
- result += (int)lightData[20];
|
|
|
- result += ";";
|
|
|
- result += (int)lightData[21];
|
|
|
- result += ",";
|
|
|
- result += (int)lightData[22];
|
|
|
- result += ",";
|
|
|
- result += (int)lightData[23];
|
|
|
- result += ")\n";
|
|
|
- result += "TOP[0;0;1](";
|
|
|
- result += (int)lightData[24];
|
|
|
- result += ",";
|
|
|
- result += (int)lightData[25];
|
|
|
- result += ",";
|
|
|
- result += (int)lightData[26];
|
|
|
- result += ";";
|
|
|
- result += (int)lightData[27];
|
|
|
- result += ",";
|
|
|
- result += (int)lightData[28];
|
|
|
- result += ",";
|
|
|
- result += (int)lightData[29];
|
|
|
- result += ")\n";
|
|
|
- result += "BOTTOM[0;0;-1](";
|
|
|
- result += (int)lightData[30];
|
|
|
- result += ",";
|
|
|
- result += (int)lightData[31];
|
|
|
- result += ",";
|
|
|
- result += (int)lightData[32];
|
|
|
- result += ";";
|
|
|
- result += (int)lightData[33];
|
|
|
- result += ",";
|
|
|
- result += (int)lightData[34];
|
|
|
- result += ",";
|
|
|
- result += (int)lightData[35];
|
|
|
- result += ")\n";
|
|
|
+ result.append() << (int)lightData[0] << "," << (int)lightData[1] << ","
|
|
|
+ << (int)lightData[2] << ";" << (int)lightData[3] << ","
|
|
|
+ << (int)lightData[4] << "," << (int)lightData[5] << ")\n"
|
|
|
+ << "EAST[1;0;0](" << (int)lightData[6] << ","
|
|
|
+ << (int)lightData[7] << "," << (int)lightData[8] << ";"
|
|
|
+ << (int)lightData[9] << "," << (int)lightData[10] << ","
|
|
|
+ << (int)lightData[11] << ")\n"
|
|
|
+ << "SOUTH[0;1;0](" << (int)lightData[12] << ","
|
|
|
+ << (int)lightData[13] << "," << (int)lightData[14] << ";"
|
|
|
+ << (int)lightData[15] << "," << (int)lightData[16] << ","
|
|
|
+ << (int)lightData[17] << ")\n"
|
|
|
+ << "WEST[-1;0;0](" << (int)lightData[18] << ","
|
|
|
+ << (int)lightData[19] << "," << (int)lightData[20] << ";"
|
|
|
+ << (int)lightData[21] << "," << (int)lightData[22] << ","
|
|
|
+ << (int)lightData[23] << ")\n"
|
|
|
+ << "TOP[0;0;1](" << (int)lightData[24] << ","
|
|
|
+ << (int)lightData[25] << "," << (int)lightData[26] << ";"
|
|
|
+ << (int)lightData[27] << "," << (int)lightData[28] << ","
|
|
|
+ << (int)lightData[29] << ")\n"
|
|
|
+ << "BOTTOM[0;0;-1](" << (int)lightData[30] << ","
|
|
|
+ << (int)lightData[31] << "," << (int)lightData[32] << ";"
|
|
|
+ << (int)lightData[33] << "," << (int)lightData[34] << ","
|
|
|
+ << (int)lightData[35] << ")\n";
|
|
|
+ switch (frontDirection)
|
|
|
+ {
|
|
|
+ case NORTH:
|
|
|
+ result += "Front: NORTH\n";
|
|
|
+ break;
|
|
|
+ case EAST:
|
|
|
+ result += "Front: EAST\n";
|
|
|
+ break;
|
|
|
+ case SOUTH:
|
|
|
+ result += "Front: SOUTH\n";
|
|
|
+ break;
|
|
|
+ case WEST:
|
|
|
+ result += "Front: WEST\n";
|
|
|
+ break;
|
|
|
+ case TOP:
|
|
|
+ result += "Front: TOP\n";
|
|
|
+ break;
|
|
|
+ case BOTTOM:
|
|
|
+ result += "Front: BOTTOM\n";
|
|
|
+ break;
|
|
|
+ }
|
|
|
return result;
|
|
|
}
|
|
|
|