366 Commits

Author SHA1 Message Date
Rogier
5ce7ff4bce Allow scaling a map to a smaller size while generating. (1/2, 1/4 .. 1/16)
Scaling will not average nodes across block boundaries, This implies
that the only scale factors supported are 1:2, 1:4, 1:8 and 1:16.
2015-02-20 13:10:09 +01:00
Rogier
045540e8f9 Add rainbow colors configuration file for heightmap 2015-02-20 13:10:09 +01:00
Rogier
994e9d7171 Add the option to draw a height scale for the height map 2015-02-20 13:10:09 +01:00
Rogier
4476de429d Allow reading heightmap colors from file, and use separate option for nodes file 2015-02-20 13:10:09 +01:00
Rogier
3812e31fc9 Add options to generate a height map of the world.
--heightmap: generate the height map, in colors
--heightmap-grey: use shades of grey instead of colors
--sealevel <n>: define the sea level (below sea level is drawn in blue)
--heightmap-scale <f>: scale the heights by f (for the purpose of
  color selection)

When generating a heightmap, a special colors file is needed,
that defines just the blocks that should be considered part
of the ground. That means that normally, any plants, special
nodes and water should not be included.
2015-02-20 13:10:09 +01:00
Rogier
2d3eaff736 Enlarge left scale (was too small for 5-digit numbers) 2015-02-20 13:10:09 +01:00
Rogier
d538398c31 Allow selecting which sides to draw the scale on (top and/or left) 2015-02-20 13:10:09 +01:00
Rogier
722086781d Allow specifying lighter or darker variants of built-in colors. 2015-02-20 13:10:09 +01:00
Rogier
1854ef34e6 Recognise some symbolic colors (red, green, blue, yellow, black, white, gr[ae]y, and more) 2015-02-20 13:10:09 +01:00
Rogier
59bae48fc7 Fix add method for pixel
When adding any pixel to an object in 'invalid' state,
the operation should be equivalent to an assignment. It wasn't
2015-02-20 13:10:09 +01:00
Rogier
784cf9604f Replace m_nextStoredYCoord by a PixelAttributes member. 2015-02-20 13:10:09 +01:00
Rogier
07e3fb5efd Add _CPack_Packages to .gitignore 2015-02-20 13:10:08 +01:00
Rogier
845e34d2a7 Make ice slightly transparent 2015-02-20 13:10:08 +01:00
Rogier
2e69eaeba7 Enhance progress indicator 2015-02-20 13:10:08 +01:00
Rogier
c0a62b7874 Use topmost height for a stack of only transparent nodes 2015-02-20 13:10:08 +01:00
Rogier
185bf90c4b Sanitize the code that searches for a colors.txt file 2015-02-20 13:10:08 +01:00
Rogier
4ab1728246 Fix to drawalpha darkening mode (no extra computation of t needed...) 2015-02-20 13:10:08 +01:00
Rogier
b799f2150c Fix typo in colors.txt (wrong 5th parameter for water source) 2015-02-20 13:10:08 +01:00
Rogier
d3dcf310eb Fix shading when pixels are sparse 2015-02-20 13:10:08 +01:00
Rogier
22041a8603 Add shorthand options to draw tiles matching map-blocks and map-chunks
The option --tiles has two new possible values: 'block' and 'chunk'
'block' creates tiles corresponding to map blocks
'chunk' creates tiles corresponding to map chunks
(chunks are the unit of map generation).

An option --chunksize was added to manually override the chunk size.
2015-02-20 13:10:08 +01:00
Rogier
5aa358aafe Rename some constants for clarity 2015-02-20 13:10:08 +01:00
Rogier
b71c1a3089 Print block coordinates as well in the scale
Note: on the y-axis scale, the block coordinates are rendered above
the line, instead of under the node coordinate, as that makes
them adjacent to the block they refer to.

for illustration: create a map with --drawscale --tiles=16 --tileorigin=world.
this makes the tiles correspond to the map blocks.
Consider a point with y-coordinate 64. It is part of a map-block with y=64..79.
This block is located at and above the line corresponding to y=64. On the y-axis,
it is therefore most intuitive to render the block coordinate above the line.
2015-02-20 13:10:03 +01:00
Rogier
bff6d0761d Updated Changelog 2014-06-19 15:00:24 +02:00
Rogier
743d657bef Improve the colors of water (esp. for --drawalpha) & make lava transparent.
As the best color for water depends on the rendering parameters
(i.e. the --drawalpha mode: none, average or cumulative), two
additional colors files are provided for these alternatives.
2014-06-19 13:31:53 +02:00
Rogier
b99111e038 Add a --drawalpha mode that keeps water (etc.) transparent to great depths
This new mode averages the colors of all transparent blocks, instead of
making the colors progressively darker and more opaque.

This 'average' mode is now the default when using --drawalpha. It can be
explicitly selected using --drawalpha=average. The old modes can be selected
using --drawalpha=cumulative[-darken].

It is recommended to change the colors of water as well. These are in a
separate patch.
2014-06-19 13:30:00 +02:00
Rogier
e27d181d9f Idempotent changes to PixelAttribute class (preparing for next patch) 2014-06-19 13:29:28 +02:00
Rogier
a065e68eac Make darkening of thick transparent stacks (e.g. deep water) configurable.
In order to reduce rendering surprises, this darkening is off by default
(it was on previously).
2014-06-18 21:19:14 +02:00
Rogier
9285bc586c Add package extensions to .gitignore 2014-06-18 21:18:58 +02:00
Rogier
71234c3422 Fix build for freebsd/clang - fixes #4 2014-06-18 14:01:34 +02:00
Rogier
1dcc3da212 Updated changelog with recent changes, and updated base version 2014-06-18 11:44:24 +02:00
Rogier
3ffb1dfb33 Some small changes to README.rst 2014-06-18 11:44:24 +02:00
Rogier
66122c1c2e Freeminer database coordinate format support ('a<x>,<y>,<z>') 2014-06-18 10:12:44 +02:00
Rogier
0a9a885e63 Fix to redis return value verification
(thanks to clang for reporting the issue :-)
2014-06-18 10:11:54 +02:00
Rogier
60b39e7d4b Generalize processing of air and ignore nodes 2014-06-18 10:11:11 +02:00
Rogier
f832530bf8 Allow air nodes to have a color.
As this comes with a significant performance penalty, this
feature must be enabled using the command-line option --drawair

For best results, the color of air should be fully transparent,
so that underlying nodes will override it.
2014-06-18 10:07:55 +02:00
Rogier
ced0390611 Add a default color for nodes
This is useful to show invisible ('air' or 'invalid') nodes in blocks
that are in the database using a different color than blocks that are
not in the database (which will have no color at all, causing the
background color to show).
2014-06-18 10:06:46 +02:00
Rogier
5369adb937 Interpret fully transparent node colors as default colors
(to be overridden by the color of any not-fully-transparent node beneath)

Fully transparent nodes also do not participate in shading.
2014-06-18 10:03:46 +02:00
Rogier
9b5da3ad2c Optimize generation of horizontally sparse maps
(i.e. maps with most but not all pixels in every row empty)
2014-06-18 10:03:32 +02:00
Rogier
5b9d51daa1 Improve installation and package generation; add deb and rpm
Minetestmapper can now be installed into a proper directory hierarchy
(instead of all files being dumped into /usr/local/. for instance.)

Non-hierarchical installation (or creation of a non-hierarchical archive)
is also still supported, and remains the default, for backwards compatibility.

Packaging on windows remains unchanged, due to lack of infrastructure :-)
2014-06-18 10:03:20 +02:00
Rogier
e6322f2911 Add an include directive for colors files
A colors file can now specify other colors files, from which
additional node color specifications will be read. This allows, for
instance, using system-installed colors file for most colors,
and only overriding some of its colors in a custom colors file.

As a purpose of using a custom colors file may be to leave the colors
for some nodes undefined, it is now also possible to undefine a
previously defined node color (i.e. after reading another colors file
which defines a color for the node).
2014-06-18 10:02:51 +02:00
Rogier
224c6b1df7 Add a command-line option to report which colors file is being used. 2014-06-18 09:50:41 +02:00
Rogier
b7fe1404fa Add support for system-wide colors.txt file 2014-06-10 17:41:28 +02:00
Rogier
f6adec1bf9 Configure a better version number (partly or fully auto-computed) 2014-05-26 21:31:29 +02:00
Rogier
8d3117e8d3 Fixes to CMakeLists.txt
- Continue processing if libraries are not found (so that all missing
  libraries are reported)
- Set compiler flags correctly if CMAKE_BUILD_TYPE is not set (fixes bug #0)
- Make CMAKE_BUILD_TYPE=Release the default
- Increase optimisation level for Release
2014-05-26 21:31:29 +02:00
Rogier
ace16ce575 Fix to translucency computation & improve water colors 2014-05-24 20:49:00 +02:00
Rogier
9706084e8d Remove lingering printfs... 2014-05-23 23:29:34 +02:00
Rogier
b9e82658d5 Added Changelog 2014-05-23 15:52:15 +02:00
Rogier
bacbcfc1e4 Skip comments at end of colors.txt lines as well
(and detect and report incomplete lines as well)
2014-05-23 15:52:15 +02:00
Rogier
f3c25ac729 Fix and improve configuration of tiles location 2014-05-23 13:47:41 +02:00
Rogier
bd2ff09dfb Fix computation of map size with tiles (height could be miscomputed) 2014-05-23 13:47:41 +02:00