70 Commits

Author SHA1 Message Date
Rogier
f18d5de26a Add the option to divide the map into tiles, rendered with a border in-between.
The net effect of making an image tiled, is that a grid is added
to the image, *without* obscuring part of the image with
grid lines: all pixel information is preserved. The lines
(aka borders) are added in-between the pixels of the image.
As a result, the image dimensions increase, and the image
may look slightly distorted. (a straight slanted line crossing
a tile border, will not look straight at the crossing).

Example:
Picture:
	[                                                  ]
	[ H   H  III     TTTTT  H   H  EEEEE  RRRR   EEEEE ]
	[ H   H   I        T    H   H  E      R   R  E     ]
	[ HHHHH   I        T    HHHHH  EEE    RRRR   EEE   ]
	[ H   H   I        T    H   H  E      R   R  E     ]
	[ H   H  III       T    H   H  EEEEE  R   R  EEEEE ]
	[                                                  ]
Same picture with 10x5 tiles:
	[          |          |          |          |          ]
	[ H   H  II|I     TTTT|T  H   H  |EEEEE  RRR|R   EEEEE ]
	[ H   H   I|        T |   H   H  |E      R  | R  E     ]
	[ HHHHH   I|        T |   HHHHH  |EEE    RRR|R   EEE   ]
	[ H   H   I|        T |   H   H  |E      R  | R  E     ]
	[----------|----------|----------|----------|----------]
	[ H   H  II|I       T |   H   H  |EEEEE  R  | R  EEEEE ]
	[          |          |          |          |          ]
2014-04-08 04:40:09 +02:00
Rogier
10e6a746cd Database performance tweaks
Added the option to bulk load and cache entire world rows at
a time when using sqlite. Caching is implemented in the
database class this time around.
Enabled using --sqlite-cacheworldrow on the command line.

This is essentially re-introduces the database access strategy
that was used originally, but as an option.

Currently, one block is read at a time from the database.
The original behavior was to read and cache one entire world
row at a time, irrespective of whether or not only a (small)
subsection of the world was being mapped.
Under some circumstances, in particular if the entire world is
mapped or a relatively large percentage of it (blocks-wise), the
bulk loading and caching may outperform the one-by-one strategy,
even though it usually loads many more blocks than are actually
needed.

It seems that leveldb won't benefit from any kind of caching or
bulk loading of blocks, so none was implemented.

Leveldb does compile now. Still not tested on a database :-(

Improved the database statistics (printed with --verbose).
2014-03-26 00:23:33 +01:00
Rogier
ecbe59ac82 Optimize database access - load only blocks that are needed 2014-03-24 22:43:32 +01:00
Rogier
6420eb48fb Add option --forcegeometry to force using the requested geometry
Instead of reducing the map size to the minimum necessary for the
size of the world, a map of the requested size is always generated.
2014-03-23 20:06:35 +01:00
Rogier
a32516d5be Add option '--verbose', and make it report requested and actual map coordinates. 2014-03-23 18:35:00 +01:00
Sfan5
46023f77f5 Make it (almost) compile for windows 2014-03-09 12:32:13 +01:00
Sfan5
393d7e2ac0 LevelDB support 2014-03-05 21:42:21 +01:00
Sfan5
15444ff8f6 Add --min-y and --max-y options 2014-03-05 18:06:05 +01:00
Sfan5
33f323b1e3 Add --noshading option, Fix SIGABRT because of uncaught exception when any exception occured 2014-03-05 17:20:06 +01:00
ShadowNinja
de94ab8aa6 Fix usage text and rename executable 2013-07-29 12:16:08 -04:00
Miroslav Bendík
7d15dbf4ed Added --geometry support. 2012-11-24 19:25:13 +01:00
Miroslav Bendík
908697427b Removed drawunderground parameter. 2012-08-25 14:12:54 +02:00
Miroslav Bendík
65ae97f54b Added block position decoder. 2012-08-23 13:32:22 +02:00
Miroslav Bendík
957a72e2b4 Parsing of colors moved to TileGenerator. 2012-08-23 12:55:31 +02:00
Miroslav Bendík
3d54e5edaa Added class TileGenerator. 2012-08-23 12:46:22 +02:00
Miroslav Bendík
6a4083d28c Added ColorMap definition. 2012-08-23 12:32:59 +02:00
Miroslav Bendík
375812ea15 Added parsing of colors.txt. 2012-08-23 12:30:09 +02:00
Miroslav Bendík
2adc11fdb5 Added parsing. 2012-08-22 16:04:43 +02:00
Miroslav Bendík
efe280f988 Added commandline parameters. 2012-08-22 15:49:45 +02:00
Miroslav Bendík
b15a8d4de4 Created project. 2012-08-22 15:22:01 +02:00