forked from oerkki/voxelands
fixed the clock
This commit is contained in:
parent
617f5c91d4
commit
f7d3480951
Binary file not shown.
Before Width: | Height: | Size: 136 B After Width: | Height: | Size: 124 B |
Binary file not shown.
Before Width: | Height: | Size: 148 B After Width: | Height: | Size: 265 B |
|
@ -1419,10 +1419,10 @@ void content_nodebox_clock(ContentFeatures *f)
|
|||
-0.4375*BS,0.1875*BS,-0.125*BS,0.4375*BS,0.25*BS,-0.0625*BS
|
||||
));
|
||||
f->addNodeBox(NodeBox(
|
||||
0.*BS,-0.0625*BS,-0.125*BS,0.0625*BS,0.*BS,-0.0625*BS
|
||||
-0.02*BS,-0.0625*BS,-0.125*BS,0.0225*BS,0.*BS,-0.0625*BS
|
||||
));
|
||||
f->addNodeBox(NodeBox(
|
||||
0.*BS,-0.1875*BS,-0.125*BS,0.0625*BS,-0.125*BS,-0.0625*BS
|
||||
-0.02*BS,-0.1875*BS,-0.125*BS,0.0225*BS,-0.125*BS,-0.0625*BS
|
||||
));
|
||||
}
|
||||
|
||||
|
|
|
@ -76,28 +76,39 @@ std::vector<NodeBox> ClockNodeMetadata::getNodeBoxes(MapNode &n) {
|
|||
v[2] = m/10;
|
||||
v[3] = m%10;
|
||||
|
||||
f32 x[4] = {-0.125,0.0625,0.3125,0.5};
|
||||
f32 x[4] = {-0.180,0.0225,0.2925,0.5};
|
||||
|
||||
u8 b[10] = {0xFC,0x0C,0xB6,0x9E,0x4E,0xDA,0xFA,0x8C,0xFE,0xDE};
|
||||
|
||||
float z1 = -0.125;
|
||||
float z2 = -0.0625;
|
||||
|
||||
for (int i=0; i<4; i++) {
|
||||
// clock numbers are built from 7 segments
|
||||
// top
|
||||
if ((b[v[i]]&0x80))
|
||||
boxes.push_back(NodeBox((-0.25+x[i])*BS,0.0625*BS,-0.125*BS,(-0.0625+x[i])*BS,0.125*BS,-0.0625*BS));
|
||||
boxes.push_back(NodeBox((-0.25+x[i])*BS,0.0625*BS,z1*BS,(-0.0625+x[i])*BS,0.125*BS,z2*BS));
|
||||
// top right
|
||||
if ((b[v[i]]&0x04))
|
||||
boxes.push_back(NodeBox((-0.125+x[i])*BS,-0.0625*BS,-0.125*BS,(-0.0625+x[i])*BS,0.0625*BS,-0.0625*BS));
|
||||
boxes.push_back(NodeBox((-0.125+x[i])*BS,-0.125*BS,z1*BS,(-0.0625+x[i])*BS,0.125*BS,z2*BS));
|
||||
// bottom right
|
||||
if ((b[v[i]]&0x08))
|
||||
boxes.push_back(NodeBox((-0.125+x[i])*BS,-0.25*BS,-0.125*BS,(-0.0625+x[i])*BS,-0.125*BS,-0.0625*BS));
|
||||
boxes.push_back(NodeBox((-0.125+x[i])*BS,-0.3125*BS,z1*BS,(-0.0625+x[i])*BS,-0.0625*BS,z2*BS));
|
||||
// bottom
|
||||
if ((b[v[i]]&0x10))
|
||||
boxes.push_back(NodeBox((-0.25+x[i])*BS,-0.3125*BS,-0.125*BS,(-0.0625+x[i])*BS,-0.25*BS,-0.0625*BS));
|
||||
boxes.push_back(NodeBox((-0.25+x[i])*BS,-0.3125*BS,z1*BS,(-0.0625+x[i])*BS,-0.25*BS,z2*BS));
|
||||
// bottom left
|
||||
if ((b[v[i]]&0x20))
|
||||
boxes.push_back(NodeBox((-0.25+x[i])*BS,-0.25*BS,-0.125*BS,(-0.1875+x[i])*BS,-0.125*BS,-0.0625*BS));
|
||||
boxes.push_back(NodeBox((-0.25+x[i])*BS,-0.3125*BS,z1*BS,(-0.1875+x[i])*BS,-0.0625*BS,z2*BS));
|
||||
// top left
|
||||
if ((b[v[i]]&0x40))
|
||||
boxes.push_back(NodeBox((-0.25+x[i])*BS,-0.0625*BS,-0.125*BS,(-0.1875+x[i])*BS,0.0625*BS,-0.0625*BS));
|
||||
boxes.push_back(NodeBox((-0.25+x[i])*BS,-0.125*BS,z1*BS,(-0.1875+x[i])*BS,0.125*BS,z2*BS));
|
||||
// middle
|
||||
if ((b[v[i]]&0x02))
|
||||
boxes.push_back(NodeBox((-0.1875+x[i])*BS,-0.125*BS,-0.125*BS,(-0.125+x[i])*BS,-0.0625*BS,-0.0625*BS));
|
||||
boxes.push_back(NodeBox((-0.25+x[i])*BS,-0.125*BS,z1*BS,(-0.0625+x[i])*BS,-0.0625*BS,z2*BS));
|
||||
}
|
||||
|
||||
return transformNodeBox(n,boxes);
|
||||
return boxes;
|
||||
}
|
||||
bool ClockNodeMetadata::step(float dtime, v3s16 pos, ServerEnvironment *env)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue