Commit Graph

38 Commits (db2d27c0779aaaee3fe285c6247d7f5076491a18)

Author SHA1 Message Date
Sfan5 a7a45b5a55 Tabs -> spaces 2014-04-09 12:02:21 +02:00
Rogier 84e1fac7d7 Improve parsing of colors file
The colors file is now parsed line by line, which means
that parse failures on one line will not carry over to the next line.

When a line fails to parse, the rest of the file is no longer silently
ignored, but the error is reported, and just the failed line is ignored.
2014-04-09 11:47:18 +02:00
Sfan5 e96c23a8f7 Add alpha transparency ability for blocks 2014-04-09 11:03:54 +02:00
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 5442db19dc Set default map geometry to the maximum world size (i.e. 4096x4096) 2014-03-26 08:55:20 +01: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 a2bec337a9 Fix vertical limits handling
Node and map-block coordinates were mixed up, causing the min/max
vertical coordinate limitation to be broken.

The confusion was removed, and --min-y and --max-y now work as they
should.
2014-03-23 19:47:49 +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 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
Miroslav Bendík 7d15dbf4ed Added --geometry support. 2012-11-24 19:25:13 +01:00
Miroslav Bendík 5969c61e54 Removed hard size limit. 2012-11-24 18:43:48 +01:00
Miroslav Bendík 28e9450573 Zlib moved into separate module. 2012-09-18 10:43:34 +02:00
Miroslav Bendík 6133aff2f3 Small cast cleaning. 2012-09-18 10:15:50 +02:00
Miroslav Bendík 112ccc5d08 File colors.txt compiled into binary 2012-09-01 15:51:02 +02:00
Miroslav Bendík 5a2375e608 Added printing of unknown nodes. 2012-08-25 16:41:53 +02:00
Miroslav Bendík 8396275bf8 Implemented rendering of names. 2012-08-25 16:29:41 +02:00
Miroslav Bendík 3349bee3a4 Added draworigin. 2012-08-25 15:21:51 +02:00
Miroslav Bendík a009d3e191 Added border support. 2012-08-25 14:11:55 +02:00
Miroslav Bendík 1aee368837 Implemented shading. 2012-08-25 13:21:28 +02:00
Miroslav Bendík 5ad849385a Moved static functions outside of class. 2012-08-25 07:49:46 +02:00
Miroslav Bendík eca111cf15 Implemented generation of map. 2012-08-24 22:51:17 +02:00
Miroslav Bendík 18598bba3c Reading timers. 2012-08-24 14:48:55 +02:00
Miroslav Bendík 2319d5f0ed Added node name reading. 2012-08-24 14:13:46 +02:00
Miroslav Bendík 6743984e16 Added zlib decompressor. 2012-08-24 11:49:42 +02:00
Miroslav Bendík 231f48c529 Added sorting of blocks. 2012-08-24 11:01:48 +02:00
Miroslav Bendík 0b9adc95b7 Added storing of blocks. 2012-08-24 10:44:48 +02:00
Miroslav Bendík 6e653648b5 Added reading of data. 2012-08-24 09:46:14 +02:00
Miroslav Bendík ace6f3b5b5 Added selection of blocks. 2012-08-23 15:35:00 +02:00
Miroslav Bendík b7f69cc3df Added color parser. 2012-08-23 14:43:11 +02:00
Miroslav Bendík 0d8358d4e3 Added generation of background. 2012-08-23 14:21:34 +02:00
Miroslav Bendík a6abd1445d Added calculation of image size. 2012-08-23 14:06:16 +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