aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xutil/minetestmapper.py14
1 files changed, 12 insertions, 2 deletions
diff --git a/util/minetestmapper.py b/util/minetestmapper.py
index c7ec0774e..1914576e8 100755
--- a/util/minetestmapper.py
+++ b/util/minetestmapper.py
@@ -88,9 +88,19 @@ def int_to_hex4(i):
def getBlockAsInteger(p):
return p[2]*16777216 + p[1]*4096 + p[0]
-def getIntegerAsBlock(i):
- return i%4096, int(i/4096)%4096, int(i/16777216)%4096
+def unsignedToSigned(i, max_positive):
+ if i < max_positive:
+ return i
+ else:
+ return i - 2*max_positive
+def getIntegerAsBlock(i):
+ x = unsignedToSigned(i % 4096, 2048)
+ i = int((i - x) / 4096)
+ y = unsignedToSigned(i % 4096, 2048)
+ i = int((i - y) / 4096)
+ z = unsignedToSigned(i % 4096, 2048)
+ return x,y,z
def limit(i, l, h):
if(i > h):