diff options
author | thetaepsilon-gamedev <thetaepsilon-gamedev@noreply.users.github.com> | 2017-12-22 17:13:50 +0000 |
---|---|---|
committer | thetaepsilon-gamedev <thetaepsilon-gamedev@noreply.users.github.com> | 2017-12-22 17:18:31 +0000 |
commit | 57fc8c67f827a41ab1278fd0d25b2566032da61a (patch) | |
tree | 7fbf93be23e4fca48b1367928ad249fdf05d2ad3 /textures/pipeworks_grating_top.png | |
parent | a2e183c6f3d76e809bbc2d6b596e7e000f06ee66 (diff) | |
download | pipeworks-57fc8c67f827a41ab1278fd0d25b2566032da61a.tar pipeworks-57fc8c67f827a41ab1278fd0d25b2566032da61a.tar.gz pipeworks-57fc8c67f827a41ab1278fd0d25b2566032da61a.tar.bz2 pipeworks-57fc8c67f827a41ab1278fd0d25b2566032da61a.tar.xz pipeworks-57fc8c67f827a41ab1278fd0d25b2566032da61a.zip |
teleport_tube.lua: fix 32-bit clamping issues on some systems for %d in string.format
Some servers running ubuntu in particular were reporting issues with teleport tubes not working.
On investigation, all tube entries were colliding as string.format("%d", ...)
was returning either -2^31 or 2^31-1 depending on system bit width,
causing hash entries to be overwritten.
This is possibly related to the use of C sprintf within lua.
Fix this by using %g instead to interpret as double without int conversion,
with a large enough number of digits such that all possible 2^48 values from
minetest.hash_node_position() can be correctly serialised.
Diffstat (limited to 'textures/pipeworks_grating_top.png')
0 files changed, 0 insertions, 0 deletions