Rogier-5 / minetest-mapper-cpp

Generates maps of minetest and freeminer worlds
Other
9 stars 4 forks source link

Minetest Mapper ###############

A tool to generate maps of minetest and freeminer worlds.



Quick links (functional on github. Elsewhere possibly not):

:All features:      `<doc/features.rst>`_
:User manual:       `<doc/manual.rst>`_
:Changelog:     `<Changelog>`_
:Building:      `<doc/build-instructions.rst>`_
:Github:        `<https://github.com/Rogier-5/minetest-mapper-cpp>`_
:Submitting bugs:   `<https://github.com/Rogier-5/minetest-mapper-cpp/issues>`_
:Binary downloads:  `<https://github.com/Rogier-5/minetest-mapper-cpp/wiki/Downloads>`_
:Generating colors.txt: `<dumpnodes/README.dumpnodes>`_

Features (short list)
=====================

Map Generation Features
-----------------------

* Support for both minetest and freeminer worlds
* Support for sqlite3, postgresql, leveldb and redis map databases
* Generate a subsection of the map, or a full map
  (but note that the size of generated images is limited)
* Generate regular maps or height-maps
* All colors for regular or height maps are configurable
* Draw player positions
* Draw different geometric figures, or text on the map
* Draw the map at a reduced scale. E.g. 1:4.
* Draw a scale on the left and/or top side of the map,
  and/or a height scale (for height maps) on the bottom.
* Optionally draw some nodes transparently (e.g. water)
* Includes User Manual
* Includes scripts to aid in generating a color definition file.

Build Features
--------------
* Supports both the gcc and clang compiler suites
* Supports MSVC building on Windows (with SQLite3 and LevelDB)

  * With automatic downloading of all but one of the required libraries.

* Build rpm, deb and/or tar.gz installation
  packages. Or simply type 'make install'.

Quick Start
===========

Windows
-------

Check the download page to obtain a compiled version:
`<https://github.com/Rogier-5/minetest-mapper-cpp/wiki/Downloads>`_

Or check the building instructions for compiling using MSVC:
`<doc/build-instructions.rst>`_.

Install Dependencies
--------------------

Make sure development versions of the following packages are installed.
For more detailed instructions, see `<doc/build-instructions.rst>`_.

**Libraries:**

* zlib
* libgd
* sqlite3 (not mandatory. See `<doc/build-instructions.rst>`_.
* postgresql (if postgresql support is desired)
* leveldb (if leveldb support is desired)
* hiredis (if redis support is desired)

**Build environment:**

* C++ compiler suite (clang or gcc)
* cmake
* make

**Other:**

* python-docutils (if documentation in html format is desired)

Compile
-------

Plain:

::

    cmake .
    make

With levelDB and Redis support:

::

    cmake -DENABLE_LEVELDB=true -DENABLE_REDIS=true .
    make

Generate a Map
----------------

After compilation, and optional installation, minetestmapper is started as follows:

('\\' is a continuation character - the command-line continues
on the next line. Type return only after the line that does
not end with the continuation character)

::

    minetestmapper \
    --input <world-directory> \
    --output <image-file-name.png>

If the world is not too large, and if minetestmapper is installed in
a  system directory, it will most likely work as expected.

Possibly, minetestmapper will not be able to find a colors.txt file. If that happens,
the colors.txt file can be specified on the command-line:

::

    minetestmapper \
    --input <world-directory> \
    --output <image-file-name.png> \
    --colors <filename>

Or the colors.txt file must be installed in a location where minetestmapper will find it.
A colors.txt file (named ``colors.txt``, in lowercase) in the world's directory will certainly
be found. Depending on the system and the configuration, other locations are available. Use the
following command to find out which:

::

    minetestmapper \
    --input <world-directory> \
    --output <image-file-name.png> \
    --verbose-search-colors=2

Manual
======

For more elaborate compilation and installation documentation, please consult
the build manual: `<doc/build-instructions.rst>`_.

For more elaborate usage instruction, please consult the user manual: `<doc/manual.rst>`_.