Many things work, some don't. Notably, genPOI doesn't work, and
there's some signedness comparison stuff going on in the C extension.
This also completely drops support for Python 2, as maintaining a C
extension for both Python 2 and 3 is a pain and not worth it for the
9 months that Python 2 is still going to be supported upstream.
The documentation needs to be adjusted as well.
All of the few tests we have pass, and rendering a map works, both
with a configuration file and without. We can also use optimizeimages.
Concerns #1528.
Some bad distributions (Debian) apparently are not good enough to
have a Pillow version from this decade packaged.
Therefore, we need to do it the painful way of prefixing our
symbols and refactoring everything to use them.
A new header file called "utils.h" has been added for this purpose,
and it is included in "overviewer.h".
The following macros have been prefixed with "OV_":
- MIN
- MAX
- CLAMP
- BLEND
- MULDIV255
Additionally, the C extension version was bumped to 56 because 55
was reverted back to 54.
Inlining the function allows the compiler to optimize away the
function completely. Clang 3.7.1 does exactly that.
This leads to an error, if the library is used with python:
% ./overviewer.py
Traceback (most recent call last):
File "/tmp/minecraft/Minecraft-Overviewer/overviewer_core/__init__.py", line 20, in check_c_overviewer
import c_overviewer
ImportError: /tmp/minecraft/Minecraft-Overviewer/overviewer_core/c_overviewer.so: undefined symbol: estimate_blocklevel
Something has gone wrong importing the c_overviewer extension. Please
make sure it is up-to-date (clean and rebuild)
Fix for Ender Portal Frame, w/eye of ender, in all orientations
Minor fix for Comparator back torches
Update to lighting on Quartz stairs
Added Quartz Half Slabs
Also removed some code that I accidentially left in.
Also added a traceback printing decorator around get_chunk() because the
C code can potentially swallow those exceptions.