Use xofts ReadPosition() code.
This commit is contained in:
parent
33c843c656
commit
3ee211bbba
@ -497,9 +497,12 @@ bool cByteBuffer::ReadPosition(int & a_BlockX, int & a_BlockY, int & a_BlockZ)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
a_BlockX = Value >> 38;
|
UInt32 BlockXRaw = (Value >> 38) & 0x3ffffff;
|
||||||
a_BlockY = Value << 26 >> 52;
|
UInt32 BlockYRaw = (Value >> 26) & 0xfff;
|
||||||
a_BlockZ = Value << 38 >> 38;
|
UInt32 BlockZRaw = (Value & 0x3ffffff);
|
||||||
|
a_BlockX = ((BlockXRaw & 0x2000000) == 0) ? BlockXRaw : (~(BlockXRaw & 0x1ffffff)) + 1;
|
||||||
|
a_BlockY = ((BlockYRaw & 0x800) == 0) ? BlockYRaw : (~(BlockXRaw & 0x7ff)) + 1;
|
||||||
|
a_BlockZ = ((BlockZRaw & 0x2000000) == 0) ? BlockZRaw : (~(BlockZRaw & 0x1ffffff)) + 1;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user