434 Commits

Author SHA1 Message Date
Rogier
df9a03f416 Create strlower() function to convert std::string to lowercase. 2016-01-17 10:37:51 +01:00
Rogier
333eded9f3 Mention that postgresql is not an official minetest backend in the manual 2016-01-17 10:37:51 +01:00
Rogier
8288c85ca2 Fix build when only postgresql is enabled
Build would fail, requesting that a database be configured...
2016-01-17 10:37:51 +01:00
Rogier
03926420d0 Implement bounded block-list query for postgresql
i.e. allow minetestmapper to query the database for a list of
blocks in a specific range (corresponding to the requested geometry),
instead of always obtaining a full list off all blocks.

As postgresql is the only database which supports this efficiently,
this option is only effective for postgresql.
2016-01-17 10:37:51 +01:00
Rogier
2ec0988e32 Abstract & improve some stream operations, and make them idempotent.
<stream>.eof() may require the stream to be read (peeked) before giving the
correct result. But it can't be peeked if already at EOF - see below.

<stream>.peek() is not idempotent:
If the stream is at EOF, but not known to be, it sets eofbit.
However, if the stream is known to be at EOF, it sets the failbit :-(
2016-01-17 10:37:51 +01:00
Rogier
8f6c9d7557 Improve an error message 2016-01-17 10:37:51 +01:00
Rogier
4041993672 Fix incorrect handling of some options when backend==auto 2016-01-17 10:37:50 +01:00
Rogier
23dad0dbf4 Miscellaneous improvements to the manual 2016-01-17 10:37:50 +01:00
Rogier
3d24b6216f Improve syntax for code blocks in manual
Use:
	<some text>::

		<some code>

Instead of:
	<some text>:

		``<some code>``
2016-01-17 10:37:50 +01:00
Rogier
74d4553229 Add information about minetestmappergui to manual 2016-01-17 10:37:50 +01:00
Rogier
346f8ef24e Document the different reported world statistics (geometries) in manual.
(these are reported with --verbose and --verbose=2)
2016-01-17 10:37:50 +01:00
Rogier
c71aca51de Make sure no HTML documentation is generated when conversion causes warnings
Previously, the HTML documentation would be generated even if there were
warnings, and a subsequent build would consider the documentation
up-to-date.

It seems like CMake has no option to remove a (possibly partially generated!)
target if the command exits with a non-zero status...
2016-01-17 10:37:50 +01:00
Rogier
64b04d18dc Document concurrent minetest & minetestmapper use in the manual.
Bottom-line:
	leveldb: impossible
	sqlite: OK when running a recent minetest
	postgresql and redis: OK
2016-01-17 10:37:50 +01:00
Rogier
7c43e42ea9 Fix parsing of config file where '=' is not preceded by space 2015-12-16 19:16:22 +01:00
Rogier
919595c614 Add postgresql support
Supports both ShadowNinja's implementation:
  https://github.com/ShadowNinja/minetest/tree/PostgreSQL
and johnnyjoy's implementation:
  https://forum.minetest.net/viewtopic.php?f=3&t=12851
  4d537fe53a
2015-12-16 15:40:45 +01:00
Rogier
4e8441d322 Use Settings class to obtain world chunksize 2015-12-16 15:40:45 +01:00
Rogier
fcedce3e13 Use Settings class in redis backend 2015-12-16 15:17:54 +01:00
Rogier
c08b218f71 Add Settings class for reading config files 2015-12-16 15:17:54 +01:00
Rogier
b6189210d4 Some more changes to the HTML generation procedure and its documentation. 2015-11-27 08:47:16 +01:00
Rogier
856d886241 Some fixes to the documentation 2015-11-26 17:43:39 +01:00
Rogier
0288064164 Generate HTML documentation (some improvements and documentation) 2015-11-26 17:43:34 +01:00
Rogier
47dd510384 Generate HTML documentation 2015-11-26 16:20:31 +01:00
Rogier
a9148f8352 Remove per-file custom target from cmake docutils module 2015-11-26 16:16:30 +01:00
Rogier
2c89a92e18 Add cmake module to find docutils
Copied from 95f64595a0/cmake/modules/FindDocutils.cmake
2015-11-26 13:26:31 +01:00
Rogier
189a9ce8b0 Update Changelog 2015-11-26 12:39:28 +01:00
Rogier
3478a87c16 Some documentation fixes & improvements 2015-11-26 12:38:23 +01:00
Rogier
005e69b8c6 Explicitly set the color of xpanes:bar_* only when computing it failed 2015-11-26 12:00:12 +01:00
Rogier
76d04d64e3 Don't report a warning for failure to compute colors for xpanes:bar_*
(The colors are explicitly set later, so a warning would only confuse
 the user)
2015-11-26 12:00:11 +01:00
Rogier
4de7e173bc Improve scripts & documentation for generating colors.txt files a bit. 2015-11-25 11:02:09 +01:00
Rogier
5974a26e05 Update color files for added nodes in default minetest game 2015-11-25 01:31:54 +01:00
Rogier
5e4cf95b63 Remove a line of lingering debug code 2015-11-13 12:29:42 +01:00
Rogier
673e8c6723 When using transparency, don't compute new value when pixel is already fully opaque
This makes the code slightly more efficient, and should not affect the
generated map at all.
2015-11-13 12:29:42 +01:00
Rogier
4e6ee97936 Add a comment to clarify a magical formula 2015-11-13 12:29:42 +01:00
Rogier
5e7f7c74c0 Fix building when some database libraries are not installed. 2015-10-24 17:06:11 +02:00
Rogier
333e6b22fc Remove some unused functions 2015-05-31 08:13:25 +02:00
Rogier
3c39308931 Small fix (bad comparison due to typo in commit 5ce7ff) 2015-05-31 08:12:27 +02:00
Rogier
1fbf6d3962 Use cstdint instead of stdint.h to (hopefully) fix any problems caused by C/C++ mismatches
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.
2015-05-31 07:08:25 +02:00
Rogier
d654b3fa75 Updated Changelog & version (20150310) 2015-03-10 18:40:14 +01:00
Rogier
9e9edbd3c2 Some fixes and tweaks to the manual 2015-03-10 18:13:13 +01:00
Rogier
2ca8ce4c53 Print suggestion messages related to the use of --disable-blocklist-prefetch 2015-03-10 18:12:53 +01:00
Rogier
0a5e24b7d7 Add option --silence-suggestions, to disable certain messages
Specific message types will be in a later commit
2015-03-10 18:12:53 +01:00
Rogier
8349d41283 Handle empty world (don't generate map & improve --verbose output) 2015-03-10 18:12:53 +01:00
Rogier
dd0ff68c12 Add an option to disable prefetching the block list from the database (fix indent) 2015-03-10 18:12:53 +01:00
Rogier
b3ce6116a5 Add an option to specify database format (for use with --disable-blocklist-prefetch)
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
2015-03-10 18:12:53 +01:00
Rogier
38f4272dd3 Add an option to disable prefetching the block list from the database
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.
2015-03-10 18:12:53 +01:00
Rogier
d6e08adefe Fixes to statistical variables & other minor changes 2015-03-10 17:47:30 +01:00
Rogier
8c5bc78307 If leveldb key format is not known, try both variants 2015-03-10 17:47:30 +01:00
Rogier
0462481e1f Report key formats found in leveldb (currently applicable to freeminer worlds) 2015-03-10 17:47:30 +01:00
Rogier
f7e822adf0 Change verboseStatistics to int (from bool) 2015-03-10 17:47:29 +01:00
Rogier
46c070070a Implement an iterator for BlockPos 2015-03-10 17:47:29 +01:00