INT64_MIN was causing problems ('not declared'), because C99 requires some
C++-specific behavior, which C++11 prohibits...
Comments from clang's stdint implementation (http://clang.llvm.org/doxygen/stdint_8h_source.html):
// C99 7.18.3 Limits of other integer types
//
// Footnote 219, 220: C++ implementations should define these macros only when
// __STDC_LIMIT_MACROS is defined before <stdint.h> is included.
//
// Footnote 222: C++ implementations should define these macros only when
// __STDC_CONSTANT_MACROS is defined before <stdint.h> is included.
//
// C++11 [cstdint.syn]p2:
//
// The macros defined by <cstdint> are provided unconditionally. In particular,
// the symbols __STDC_LIMIT_MACROS and __STDC_CONSTANT_MACROS (mentioned in
// footnotes 219, 220, and 222 in the C standard) play no role in C++.
//
// C11 removed the problematic footnotes.
When using --disable-blocklist-prefetch, the database key format for every leveldb
block, which is normally determined when prefetching the block list, is not known.
In order to avoid duplicate queries using both key formats, the key format can now
be specified using --database-format
This introduces a speed tradeoff.
When mapping a small part of a large world, the prefetch time dominates
the mapping time, and it is more advantageous to skip the prefetch and
query all possible blocks in the mapped space.
When mapping a large fraction of a world, in particular when a lot of
the mapped space is empty, the time spent querying non-existing blocks can
dominate mapping time, and it is more advantageous to prefetch the list
of existing blocks, so that querying huge numbers of non-existing blocks
can be avoided.
On Windows, minetestmapper now uses the colors files from the
directory where it is installed.
If the last directory is named 'bin', that part is stripped,
and the resulting directory, and a subdirectory named 'colors'
are searched.
All depends on the whether on invocation, argv[0] contains the full
path of the exe file. It works under Wine when compiled with MinGW.
I haven't been able to test on a real copy of windows, or when
compiled using msvc, but I assume that will work too.
As tests using --sqlite-cacheworldrow showed a consistently
lower performance than without, this option was effectively
disabled. It is still recognised for compatibility, but
it may be removed some time in the future.
Most of the content of README.rst was moved to a separate
user manual, and to a build manual.
The README was simplified to provide just the most important
information.
The user manual was extensively reworked, and beautified with images.