Commit Graph

434 Commits (master)

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