Merge branch 'master' into smooth-lighting
This commit is contained in:
306
README.rst
306
README.rst
@@ -3,63 +3,41 @@ Minecraft Overviewer
|
||||
====================
|
||||
By Andrew Brown and contributors (see CONTRIBUTORS.rst).
|
||||
|
||||
Documentation:
|
||||
http://docs.overviewer.org
|
||||
|
||||
Github code repository:
|
||||
http://github.com/overviewer/Minecraft-Overviewer
|
||||
|
||||
Generates large resolution images of a Minecraft map.
|
||||
|
||||
In short, this program reads in Minecraft world files and renders very large
|
||||
resolution images that can be viewed through a Google Maps interface. It
|
||||
performs a similar function to the existing Minecraft Cartographer program but
|
||||
with a slightly different goal in mind: to generate large resolution images
|
||||
such that one can zoom in and see details.
|
||||
The Minecraft Overviewer is a command-line tool for rendering high-resolution
|
||||
maps of Minecraft worlds. It generates a set of static html and image files and
|
||||
uses the Google Maps API to display a nice interactive map.
|
||||
|
||||
See some examples here!
|
||||
http://github.com/overviewer/Minecraft-Overviewer/wiki/Map-examples
|
||||
The Overviewer has been in active development for over a year and has many
|
||||
features, including day and night lighting, cave rendering, mineral overlays,
|
||||
and many plugins for even more features! It is written mostly in Python with
|
||||
critical sections in C as an extension module.
|
||||
|
||||
Further documentation may be found at
|
||||
https://github.com/overviewer/Minecraft-Overviewer/wiki/Documentation
|
||||
Getting Started
|
||||
---------------
|
||||
All documentation has been consolidated at our documentation site. For
|
||||
information on downloading, compiling, installing, and running The Overviewer,
|
||||
visit the docs site.
|
||||
|
||||
To contact the developers and other users, go to the site at the top of this
|
||||
README, or go to #overviewer on irc.freenode.net.
|
||||
http://docs.overviewer.org
|
||||
|
||||
Features
|
||||
========
|
||||
A few helpful tips are below, but everyone is going to want to visit the
|
||||
documentation site for the most up-to-date and complete set of instructions!
|
||||
|
||||
* Renders large resolution images of your world, such that you can zoom in and
|
||||
see details
|
||||
Alternatively, the docs are also in the docs/ directory of the source download.
|
||||
Look in there if you can't access the docs site.
|
||||
|
||||
* Customizable textures! Pulls textures straight from your installed texture
|
||||
pack!
|
||||
Examples
|
||||
--------
|
||||
See examples of The Overviewer in action!
|
||||
|
||||
* Outputs a Google Map powered interface that is memory efficient, both in
|
||||
generating and viewing.
|
||||
|
||||
* Renders efficiently in parallel, using as many simultaneous processes as you
|
||||
want!
|
||||
|
||||
* Utilizes caching to speed up subsequent renderings of your world.
|
||||
|
||||
* Throw the output directory up on a web server to share your Minecraft world
|
||||
with everyone!
|
||||
|
||||
Requirements
|
||||
============
|
||||
This program requires:
|
||||
|
||||
* Python 2.6 or 2.7 <http://python.org/download/>
|
||||
* PIL (Python Imaging Library) <http://www.pythonware.com/products/pil/>
|
||||
* Numpy <http://scipy.org/Download>
|
||||
* Either the Minecraft client installed, or a terrain.png file. See the
|
||||
`Textures`_ section below.
|
||||
* A C compiler.
|
||||
|
||||
If you download a binary package, then some or all of these may not be required.
|
||||
|
||||
Using the Overviewer
|
||||
====================
|
||||
|
||||
For a quick-start guide, see
|
||||
https://github.com/overviewer/Minecraft-Overviewer/wiki/Quick-Start-Guide
|
||||
https://github.com/overviewer/Minecraft-Overviewer/wiki/Map-examples
|
||||
|
||||
Disclaimers
|
||||
-----------
|
||||
@@ -78,204 +56,6 @@ directory and it will only update the tiles it needs to.
|
||||
There are probably some other minor glitches along the way, hopefully they will
|
||||
be fixed soon. See the `Bugs`_ section below.
|
||||
|
||||
Textures
|
||||
--------
|
||||
The Overviewer uses actual textures to render your world. However, I don't
|
||||
include textures in the package. You will need to do one of two things before
|
||||
you can use the Overviewer:
|
||||
|
||||
* Make sure the Minecraft client is installed. The Overviewer will find the
|
||||
installed minecraft.jar and extract the textures from it.
|
||||
|
||||
* Install a texture file yourself. This file is called "terrain.png" and is
|
||||
normally found in your minecraft.jar file (not "Minecraft.jar", the launcher,
|
||||
but rather the file that's downloaded by the launcher and installed into a
|
||||
hidden directory). You can also get this file from any of the third party
|
||||
texture packs out there.
|
||||
|
||||
Biome Tinting
|
||||
-------------
|
||||
With the Halloween update, biomes were added to Minecraft. In order to get
|
||||
biome-accurate tinting, the Overviewer can use biome data produced by the
|
||||
Minecraft Biome Extractor tool. This tool can be downloaded from:
|
||||
http://www.minecraftforum.net/viewtopic.php?f=25&t=80902
|
||||
|
||||
If the "biomes" folder is present in the world directory, then the Overviewer
|
||||
will use the biome data to tint grass and leaves automatically -- there is no
|
||||
command line option to turn this feature on. If this folder does not exist,
|
||||
then the Overviewer will use a static tinting for grass and leaves.
|
||||
|
||||
Compiling the C Extension
|
||||
-------------------------
|
||||
The C Extension for Overviewer is no longer optional. In addition to
|
||||
providing a higher quality image compositing function that looks better on
|
||||
maps with lighting enabled, it now does the bulk of the rendering.
|
||||
|
||||
If you downloaded Overviewer as a binary package, this extension will already
|
||||
be compiled for you.
|
||||
|
||||
If you have a C compiler and the Python development libraries set up, you can
|
||||
compile this extension like this::
|
||||
|
||||
python setup.py build
|
||||
|
||||
Note that you need the development headers for your version of Python installed,
|
||||
look for a package named 'python-dev', 'python-devel' or similar. Also, some
|
||||
Python distributions do not install "Imaging.h" and "ImPlatform.h" properly. If
|
||||
you get errors complaining about them, you can get them from the PIL source, or
|
||||
at <http://svn.effbot.org/public/tags/pil-1.1.7/libImaging/>. Just put them in
|
||||
the same directory as "overviewer.py".
|
||||
|
||||
For more detailed instructions, check the wiki:
|
||||
https://github.com/overviewer/Minecraft-Overviewer/wiki/Build-Instructions
|
||||
|
||||
Running
|
||||
-------
|
||||
To generate a set of Google Map tiles, use the overviewer.py script like this::
|
||||
|
||||
python overviewer.py [OPTIONS] <World # / Name / Path to World> <Output Directory>
|
||||
|
||||
The output directory will be created if it doesn't exist. This will generate a
|
||||
set of image tiles for your world in the directory you choose. When it's done,
|
||||
you will find an index.html file in the same directory that you can use to view
|
||||
it.
|
||||
|
||||
|
||||
Options
|
||||
-------
|
||||
|
||||
-h, --help
|
||||
Shows the list of options and exits
|
||||
|
||||
--advanced-help
|
||||
Display help - including advanced options
|
||||
|
||||
-p PROCS, --processes=PROCS
|
||||
Adding the "-p" option will utilize more cores during processing. This
|
||||
can speed up rendering quite a bit. The default is set to the same
|
||||
number of cores in your computer, but you can adjust it.
|
||||
|
||||
Example to run 5 worker processes in parallel::
|
||||
|
||||
python overviewer.py -p 5 <Path to World> <Output Directory>
|
||||
|
||||
-d, --delete
|
||||
This option changes the mode of execution. No tiles are rendered, and
|
||||
instead, files are deleted.
|
||||
|
||||
*Note*: Currently only the overviewer.dat file is deleted when you run with
|
||||
this option
|
||||
|
||||
--forcerender
|
||||
Force re-rendering the entire map (or the given regionlist). This
|
||||
is an easier way to completely re-render without deleting the map.
|
||||
|
||||
--regionlist=regionlist
|
||||
Use this option to specify manually a list of regions to consider for
|
||||
updating. Without this option, every chunk in every region is checked for
|
||||
update and if necessary, re-rendered. If this option points to a file
|
||||
containing, 1 per line, the path to a region data file, then only those
|
||||
in the list will be considered for update.
|
||||
|
||||
It's up to you to build such a list. On Linux or Mac, try using the "find"
|
||||
command. You could, for example, output all region files that are older than
|
||||
a certain date. Or perhaps you can incrementally update your map by passing
|
||||
in a subset of regions each time. It's up to you!
|
||||
|
||||
--rendermodes=MODE1[,MODE2,...]
|
||||
Use this option to specify which render mode to use, such as lighting or
|
||||
night. Use --list-rendermodes to get a list of available rendermodes, and
|
||||
a short description of each. If you provide more than one mode (separated
|
||||
by commas), Overviewer will render all of them at once, and provide a
|
||||
toggle on the resulting map to switch between them.
|
||||
|
||||
If for some reason commas do not work for your shell (like if you're using
|
||||
Powershell on Windows), you can also use a colon ':' or a forward slash '/'
|
||||
to separate the modes.
|
||||
|
||||
--list-rendermodes
|
||||
List the available render modes, and a short description of each.
|
||||
|
||||
--north-direction=NORTH_DIRECTION
|
||||
Specifies which corner of the screen north will point to.
|
||||
Valid options are: lower-left, upper-left, upper-right, lower-right.
|
||||
If you do not specify this option, it will default to whatever direction
|
||||
the existing map uses. For new maps, it defaults to lower-left for
|
||||
historical reasons.
|
||||
|
||||
--settings=PATH
|
||||
Use this option to load settings from a file. The format of this file is
|
||||
given below.
|
||||
|
||||
|
||||
Settings
|
||||
--------
|
||||
|
||||
You can optionally store settings in a file named settings.py (or really,
|
||||
anything you want). It is a regular python script, so you can use any python
|
||||
functions or modules you want. To use a settings file, use the --settings
|
||||
command line option.
|
||||
|
||||
For a sample settings file, look at 'sample.settings.py'. Note that this file
|
||||
is not meant to be used directly, but instead it should be used as a
|
||||
collection of examples to guide writing your own.
|
||||
|
||||
Here's a (possibly incomplete) list of available settings, which are available
|
||||
in settings.py. Note that you can also set command-line options in a similar
|
||||
way.
|
||||
|
||||
imgformat=FORMAT
|
||||
Set the output image format used for the tiles. The default is 'png',
|
||||
but 'jpg' is also supported.
|
||||
|
||||
zoom=ZOOM
|
||||
The Overviewer by default will detect how many zoom levels are required
|
||||
to show your entire map. This option sets it manually.
|
||||
|
||||
*You do not normally need to set this option!*
|
||||
|
||||
This is equivalent to setting the dimensions of the highest zoom level. It
|
||||
does not actually change how the map is rendered, but rather *how much of
|
||||
the map is rendered.* Setting this option too low *will crop your map.*
|
||||
(Calling this option "zoom" may be a bit misleading, I know)
|
||||
|
||||
To be precise, it sets the width and height of the highest zoom level, in
|
||||
tiles. A zoom level of z means the highest zoom level of your map will be
|
||||
2^z by 2^z tiles.
|
||||
|
||||
This option map be useful if you have some outlier chunks causing your map
|
||||
to be too large, or you want to render a smaller portion of your map,
|
||||
instead of rendering everything.
|
||||
|
||||
Remember that each additional zoom level adds 4 times as many tiles as
|
||||
the last. This can add up fast, zoom level 10 has over a million tiles.
|
||||
Tiles with no content will not be rendered, but they still take a small
|
||||
amount of time to process.
|
||||
|
||||
web_assets_hook
|
||||
This option lets you define a function to run after the web assets have
|
||||
been copied into the output directory, but before any tile rendering takes
|
||||
place. This is an ideal time to do any custom postprocessing for
|
||||
markers.js or other web assets.
|
||||
|
||||
This function should accept one argument: a QuadtreeGen object.
|
||||
|
||||
web_assets_path
|
||||
This option lets you provide alternative web assets to use when
|
||||
rendering. The contents of this folder will be copied into the output folder
|
||||
during render, and will overwrite any default files already copied by
|
||||
Overviewer. See the web_assets folder included with Overviewer for the
|
||||
default assets.
|
||||
|
||||
textures_path
|
||||
This is like web_assets_path, but instead it provides an alternative texture
|
||||
source. Overviewer looks in here for terrain.png and other textures before
|
||||
it looks anywhere else.
|
||||
|
||||
north_direction
|
||||
Specifies which corner of the screen north will point to.
|
||||
Valid options are: lower-left, upper-left, upper-right, lower-right.
|
||||
|
||||
Viewing the Results
|
||||
-------------------
|
||||
Within the output directory you will find two things: an index.html file, and a
|
||||
@@ -290,44 +70,12 @@ however, bound by the Google Maps API terms of service.
|
||||
|
||||
http://code.google.com/apis/maps/terms.html
|
||||
|
||||
Crushing the Output Tiles
|
||||
-------------------------
|
||||
Image files taking too much disk space? Try using pngcrush. On Linux and
|
||||
probably Mac, if you have pngcrush installed, this command will go and crush
|
||||
all your images in the given destination. This took the total disk usage of the
|
||||
render for my world from 85M to 67M.
|
||||
|
||||
::
|
||||
|
||||
find /path/to/destination -name "*.png" -exec pngcrush {} {}.crush \; -exec mv {}.crush {} \;
|
||||
|
||||
Or if you prefer a more parallel solution, try something like this::
|
||||
|
||||
find /path/to/destination -print0 | xargs -0 -n 1 -P <nr_procs> sh -c 'pngcrush $0 temp.$$ && mv temp.$$ $0'
|
||||
|
||||
If you're on Windows, I've gotten word that this command line snippet works
|
||||
provided pngout is installed and on your path. Note that the % symbols will
|
||||
need to be doubled up if this is in a batch file.
|
||||
|
||||
::
|
||||
|
||||
FOR /R c:\path\to\tiles\folder %v IN (*.png) DO pngout %v /y
|
||||
|
||||
Bugs
|
||||
====
|
||||
This program has bugs. They are mostly minor things, I wouldn't have released a
|
||||
completely useless program. However, there are a number of things that I want
|
||||
to fix or improve.
|
||||
|
||||
For a current list of issues, visit
|
||||
http://github.com/overviewer/Minecraft-Overviewer/issues
|
||||
https://github.com/overviewer/Minecraft-Overviewer/issues
|
||||
|
||||
Feel free to comment on issues, report new issues, and vote on issues that are
|
||||
important to you, so I can prioritize accordingly.
|
||||
|
||||
An incomplete list of things I want to do soon is:
|
||||
|
||||
* Improve efficiency
|
||||
|
||||
* Some kind of graphical interface.
|
||||
important to you.
|
||||
|
||||
|
||||
@@ -3,10 +3,10 @@ Frequently Asked Questions
|
||||
==========================
|
||||
|
||||
**The full map doesn't display even when fully zoomed out!**
|
||||
Are you using the ``-z`` or ``--zoom`` option on your commandline or
|
||||
Are you using the :option:`-z` or :option:`--zoom <-z>` option on your commandline or
|
||||
in settings.py? If so, try removing it, or increasing the value you set.
|
||||
It's quite likely you don't need it at all. See the documentation for the
|
||||
:ref:`zoom <zoom>` option.
|
||||
:option:`zoom <-z>` option.
|
||||
|
||||
**You've added a few feature, but it's not showing up on my map!**
|
||||
Some new features will only show up in newly-rendered areas. Use the
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
..
|
||||
Hey! You! Read these docs at http://docs.overviewer.org
|
||||
Go there now!
|
||||
|
||||
========================
|
||||
The Minecraft Overviewer
|
||||
========================
|
||||
@@ -17,9 +21,45 @@ For a simple example of what your renders will look like, head over to `The
|
||||
"Exmaple" Map <http://overviewer.org/example/>`_. For more user-contributed
|
||||
examples, see `The Example Wiki Page <https://github.com/overviewer/Minecraft-Overviewer/wiki/Map-examples>`_.
|
||||
|
||||
Download
|
||||
Features
|
||||
========
|
||||
|
||||
* Renders large resolution images of your world, such that you can zoom in and
|
||||
see details
|
||||
|
||||
* Customizable textures! Pulls textures straight from your installed texture
|
||||
pack!
|
||||
|
||||
* Outputs a Google Map powered interface that is memory efficient, both in
|
||||
generating and viewing.
|
||||
|
||||
* Renders efficiently in parallel, using as many simultaneous processes as you
|
||||
want!
|
||||
|
||||
* Utilizes caching to speed up subsequent renderings of your world.
|
||||
|
||||
* Throw the output directory up on a web server to share your Minecraft world
|
||||
with everyone!
|
||||
|
||||
Requirements
|
||||
============
|
||||
This is a quick list of what's required to run The Overviewer. It runs on
|
||||
Windows, Mac, and Linux as long as you have these software packages installed:
|
||||
|
||||
* Python 2.6 or 2.7
|
||||
|
||||
* PIL (Python Imaging Library)
|
||||
|
||||
* Numpy
|
||||
|
||||
* Either a Minecraft Client installed or a terrain.png for the textures.
|
||||
|
||||
There are additional requirements for compiling it. More details are available
|
||||
in either the :doc:`Building <building>` or :doc:`Installing <installing>` pages.
|
||||
|
||||
Getting Started
|
||||
===============
|
||||
|
||||
The Overviewer works with Linux, Mac, and Windows! We provide Windows and Debian
|
||||
built executables for your convenience. Find them as well as the full sources on
|
||||
our `Github Homepage`_.
|
||||
@@ -35,10 +75,11 @@ bad)**, head to the :doc:`Building <building>` page.
|
||||
|
||||
Help
|
||||
====
|
||||
**IF YOU NEED HELP COMPILING OR RUNNING THE OVERVIEWER** feel free to pop in
|
||||
IRC: #overviewer on freenode. Not familiar with IRC? `Use the web client
|
||||
<http://webchat.freenode.net/?channels=overviewer>`_. There's usually someone on
|
||||
there that can help you out.
|
||||
|
||||
**IF YOU NEED HELP COMPILING OR RUNNING THE OVERVIEWER** feel free to chat with
|
||||
us live in IRC: #overviewer on Freenode. There's usually someone on there that
|
||||
can help you out. Not familiar with IRC? `Use the web client
|
||||
<http://webchat.freenode.net/?channels=overviewer>`_.
|
||||
|
||||
If you think you've found a bug or other issue, file an issue on our `Issue
|
||||
Tracker <https://github.com/overviewer/Minecraft-Overviewer/issues>`_. Filing or
|
||||
|
||||
638
docs/options.rst
638
docs/options.rst
@@ -1,6 +1,22 @@
|
||||
=======
|
||||
Options
|
||||
=======
|
||||
====================
|
||||
Settings and Options
|
||||
====================
|
||||
|
||||
Overviewer settings can be set in two places, on the command line when you run
|
||||
the overviewer, or in a settings file. You specify a settings file to use with
|
||||
the :option:`--settings` command line option.
|
||||
|
||||
.. note::
|
||||
Any command line option can optionally be set in the settings file. However,
|
||||
there are some settings that can only be set in the settings file.
|
||||
|
||||
.. note::
|
||||
Some options go by different names on the command line and the settings
|
||||
file. Those are noted in bold below.
|
||||
|
||||
The first section of this document covers command line options. The second part
|
||||
covers the more advanced ways of customizing The Overviewer using settings
|
||||
files.
|
||||
|
||||
.. contents::
|
||||
:local:
|
||||
@@ -18,23 +34,13 @@ Command line options
|
||||
|
||||
Useful Options
|
||||
--------------
|
||||
.. cmdoption:: --rendermodes <MODE1>[,MODE2,...]
|
||||
|
||||
Use this option to specify which render mode to use, such as lighting or
|
||||
night. Use --list-rendermodes to get a list of available rendermodes, and
|
||||
a short description of each. If you provide more than one mode (separated
|
||||
by commas), Overviewer will render all of them at once, and provide a
|
||||
toggle on the resulting map to switch between them.
|
||||
.. cmdoption:: --settings <PATH>
|
||||
|
||||
If for some reason commas do not work for your shell (like if you're using
|
||||
Powershell on Windows), you can also use a colon ':' or a forward slash '/'
|
||||
to separate the modes.
|
||||
Use this option to load settings from a file. For more information see the
|
||||
`Settings File`_ section below.
|
||||
|
||||
See the `Render Modes`_ section for more information.
|
||||
|
||||
.. cmdoption:: --list-rendermodes
|
||||
|
||||
List the available render modes, and a short description of each.
|
||||
**Not available in settings file (duh)**
|
||||
|
||||
.. cmdoption:: --north-direction <NORTH_DIRECTION>
|
||||
|
||||
@@ -44,95 +50,346 @@ Useful Options
|
||||
the existing map uses. For new maps, it defaults to lower-left for
|
||||
historical reasons.
|
||||
|
||||
.. cmdoption:: --settings <PATH>
|
||||
.. note::
|
||||
We define cardinal directions by the sun in game; the sun rises in the
|
||||
East and sets in the West.
|
||||
|
||||
Use this option to load settings from a file. For more information see the
|
||||
`Settings File`_ section below.
|
||||
**Settings file:**
|
||||
Option name: ``north_direction``
|
||||
|
||||
Format: One of the above strings.
|
||||
|
||||
.. cmdoption:: --rendermodes <MODE1>[,MODE2,...]
|
||||
|
||||
Use this option to specify which render mode to use, such as lighting or
|
||||
night. Use :option:`--list-rendermodes` to get a list of available
|
||||
rendermodes, and a short description of each. If you provide more than one
|
||||
mode (separated by commas), Overviewer will render all of them at once, and
|
||||
provide a toggle on the resulting map to switch between them.
|
||||
|
||||
If for some reason commas do not work for your shell (like if you're using
|
||||
Powershell on Windows), you can also use a colon ':' or a forward slash '/'
|
||||
to separate the modes.
|
||||
|
||||
Incomplete list of common render-modes for your convenience:
|
||||
|
||||
* normal
|
||||
* lighting
|
||||
* night
|
||||
|
||||
Example::
|
||||
|
||||
./overviewer.py --rendermodes=lighting,night /opt/server/world /opt/map
|
||||
|
||||
**Settings file:**
|
||||
Option name: ``rendermode`` **Note the lack of an s**
|
||||
|
||||
Format: a list of strings.
|
||||
|
||||
Default: only render the normal mode
|
||||
|
||||
See the `Render Modes`_ section for more information.
|
||||
|
||||
.. cmdoption:: --list-rendermodes
|
||||
|
||||
List the available render modes, and a short description of each, and exit.
|
||||
|
||||
**Not available in settings file**
|
||||
|
||||
Less Useful Options
|
||||
-------------------
|
||||
|
||||
.. cmdoption:: -p <PROCS>, --processes <PROCS>
|
||||
|
||||
Adding the "-p" option will utilize more cores during processing. This
|
||||
can speed up rendering quite a bit. The default is set to the same
|
||||
number of cores in your computer, but you can adjust it.
|
||||
|
||||
Example to run 5 worker processes in parallel::
|
||||
|
||||
python overviewer.py -p 5 <Path to World> <Output Directory>
|
||||
|
||||
.. cmdoption:: -d, --delete
|
||||
|
||||
This option changes the mode of execution. No tiles are rendered, and
|
||||
instead, files are deleted.
|
||||
|
||||
*Note*: Currently only the overviewer.dat file is deleted when you run with
|
||||
this option
|
||||
|
||||
.. cmdoption:: --forcerender
|
||||
|
||||
Force re-rendering the entire map (or the given regionlist). This
|
||||
is an easier way to completely re-render without deleting the map.
|
||||
|
||||
.. cmdoption:: --regionlist <regionlist>
|
||||
|
||||
Use this option to specify manually a list of regions to consider for
|
||||
updating. Without this option, every chunk in every region is checked for
|
||||
update and if necessary, re-rendered. If this option points to a file
|
||||
containing, 1 per line, the path to a region data file, then only those
|
||||
in the list will be considered for update.
|
||||
|
||||
It's up to you to build such a list. On Linux or Mac, try using the "find"
|
||||
command. You could, for example, output all region files that are older than
|
||||
a certain date. Or perhaps you can incrementally update your map by passing
|
||||
in a subset of regions each time. It's up to you!
|
||||
|
||||
.. cmdoption:: -z <zoom>, --zoom <zoom>
|
||||
|
||||
See the :ref:`zoom <zoom>` section below.
|
||||
|
||||
.. cmdoption:: --bg-color <color>
|
||||
|
||||
Configures the background color for the Google Map output. Specify in
|
||||
#RRGGBB format.
|
||||
|
||||
*This list is currently incomplete. Use the* :option:`--help <-h>` *and*
|
||||
:option:`--advanced-help` *options to see the complete list of accepted command
|
||||
line options.*
|
||||
**Settings file:**
|
||||
Option name: ``bg_color``
|
||||
|
||||
Settings File
|
||||
=============
|
||||
Format: A string in the above format.
|
||||
|
||||
You can optionally store settings in a file named settings.py (or really,
|
||||
anything you want). It is a regular python script, so you can use any python
|
||||
functions or modules you want. To use a settings file, use the --settings
|
||||
command line option.
|
||||
Default: "#1A1A1A"
|
||||
|
||||
For a sample settings file, look at 'sample.settings.py'. Note that this file
|
||||
is not meant to be used directly, but instead it should be used as a
|
||||
collection of examples to guide writing your own.
|
||||
.. cmdoption:: --changelist <filename>
|
||||
|
||||
Here's a (possibly incomplete) list of available settings, which are available
|
||||
in settings.py. Note that you can also set command-line options in a similar
|
||||
way.
|
||||
Outputs a list of changed tiles to the named file. If the file doesn't
|
||||
exist, it is created. If it does exist, its contents are overwritten.
|
||||
|
||||
imgformat=FORMAT
|
||||
Set the output image format used for the tiles. The default is 'png',
|
||||
but 'jpg' is also supported.
|
||||
This could be useful for example in conjunction with a script to upload only
|
||||
changed tiles to your web server.
|
||||
|
||||
.. _zoom:
|
||||
**Settings file:**
|
||||
Option name: ``changelist``
|
||||
|
||||
zoom=ZOOM
|
||||
The Overviewer by default will detect how many zoom levels are required
|
||||
to show your entire map. This option sets it manually.
|
||||
Format: String (path plus filename)
|
||||
|
||||
*You do not normally need to set this option!*
|
||||
Default: Not specified (no changelist outputted)
|
||||
|
||||
This is equivalent to setting the dimensions of the highest zoom level. It
|
||||
does not actually change how the map is rendered, but rather *how much of
|
||||
the map is rendered.* Setting this option too low *will crop your map.*
|
||||
(Calling this option "zoom" may be a bit misleading, I know)
|
||||
.. cmdoption:: --changelist-format <format>
|
||||
|
||||
Chooses absolute or relative paths for the output with the
|
||||
:option:`--changelist` option. Valid values for format are "relative" or
|
||||
"absolute".
|
||||
|
||||
**Settings file:**
|
||||
Option name: ``changelist_format``
|
||||
|
||||
Format: A string (one of the above)
|
||||
|
||||
Default: "relative"
|
||||
|
||||
.. cmdoption:: --check-terrain
|
||||
|
||||
When this option appears on the command line, Overviewer prints the location
|
||||
and hash of the terrain.png it will use, and then exits.
|
||||
|
||||
This is useful for debugging terrain.png path problems, especially with
|
||||
:option:`--textures-path`. Use this to see what terrain.png your current
|
||||
setup has selected.
|
||||
|
||||
See the :ref:`installing-textures` section for an example.
|
||||
|
||||
**Not available in settings file**
|
||||
|
||||
.. cmdoption:: --display-config
|
||||
|
||||
Display the configuration parameters and exit. Doesn't render the map. This
|
||||
is useful to help validate a configuration setup.
|
||||
|
||||
**Not available in settings file**
|
||||
|
||||
.. cmdoption:: --forcerender
|
||||
|
||||
Force re-rendering the entire map (or the given regionlist). This
|
||||
is an easier way to completely re-render without deleting the map.
|
||||
|
||||
This is useful if you change texture packs and want to re-render everything
|
||||
in the new textures, or if you're changing the :option:`--north-direction`.
|
||||
|
||||
**Settings file:**
|
||||
Option name: ``forcerender``
|
||||
|
||||
Format: A boolean
|
||||
|
||||
Default: False
|
||||
|
||||
.. cmdoption:: --imgformat <format>
|
||||
|
||||
Specifies the output format for the tiles. Currently supported options are
|
||||
"png" or "jpg".
|
||||
|
||||
**Settings file:**
|
||||
Option name: ``imgformat``
|
||||
|
||||
Format: A string, either "png" or "jpg"
|
||||
|
||||
Default: "png"
|
||||
|
||||
.. cmdoption:: --imgquality <quality>
|
||||
|
||||
When using ":option:`--imgformat` jpg", this specifies the jpeg quality
|
||||
parameter. This can help save disk space for larger maps.
|
||||
|
||||
For saving space with pngs, see :option:`--optimize-img`
|
||||
|
||||
**Settings file:**
|
||||
Option name: ``imgquality``
|
||||
|
||||
Format: An integer 1-100
|
||||
|
||||
Default: 95
|
||||
|
||||
.. cmdoption:: --no-signs
|
||||
|
||||
Doesn't output signs to markers.js. This has the effect of disabling signs
|
||||
on your map.
|
||||
|
||||
**Settings file:**
|
||||
Option name: ``nosigns``
|
||||
|
||||
Format: Boolean
|
||||
|
||||
Default: False
|
||||
|
||||
.. cmdoption:: --optimize-img <level>
|
||||
|
||||
When using ":option:`--imgformat` png" (the default), this performs file
|
||||
size optimizations on the output. The level parameter is an integer
|
||||
specifying one of the following:
|
||||
|
||||
1. Run pngcrush on all tiles
|
||||
|
||||
2. Run pngcrush plus advdef on all tiles
|
||||
|
||||
3. Run pngcrush plus advdef with more aggressive settings.
|
||||
|
||||
These options may double the time or worse it takes to render your map, and
|
||||
can be expected to give around 19-23% reduction in file size.
|
||||
|
||||
These options also require the corresponding program(s) installed and in
|
||||
your system path ($PATH or %PATH% environment variable)
|
||||
|
||||
**Settings file:**
|
||||
Option name: ``optimizeimg``
|
||||
|
||||
Format: an integer
|
||||
|
||||
Default: not set (no optimization)
|
||||
|
||||
.. cmdoption:: -p <procs>, --processes <procs>
|
||||
|
||||
On multi-cored or multi-processor machines, The Overviewer will perform its
|
||||
work on *all* cores by default. If you want to manually specify how many
|
||||
workers to run in parallel, use this option.
|
||||
|
||||
Example to run 5 worker processes in parallel::
|
||||
|
||||
overviewer.py -p 5 <Path to World> <Output Directory>
|
||||
|
||||
**Settings file:**
|
||||
Option name: ``procs``
|
||||
|
||||
Format: an integer.
|
||||
|
||||
Default: ``multiprocessing.cpu_count()``
|
||||
|
||||
.. cmdoption:: -q, --quiet
|
||||
|
||||
Prints less output. You can specify this multiple times.
|
||||
|
||||
**Settings file:**
|
||||
Option name: ``quiet``
|
||||
|
||||
Format: an integer
|
||||
|
||||
Default: 0
|
||||
|
||||
.. cmdoption:: --regionlist <regionlist>
|
||||
|
||||
Use this option to specify manually a list of regions to consider for
|
||||
updating. In normal operation, every chunk in every region is checked for
|
||||
update and if necessary, re-rendered. With this option, only the chunks in
|
||||
the specified regions are checked.
|
||||
|
||||
This option should name a file containing, 1 per line, the path to the
|
||||
region files to be considered for update.
|
||||
|
||||
It's up to you to build such a list. On Linux or Mac, try using the "find"
|
||||
command. You could, for example, output all region files that are older than
|
||||
a certain date. Or perhaps you can incrementally update your map by passing
|
||||
in a subset of regions each time. It's up to you!
|
||||
|
||||
**Settings file:**
|
||||
Option name: ``regionlist``
|
||||
|
||||
Format: A string representing the region list file.
|
||||
|
||||
Default: Scan all region files.
|
||||
|
||||
.. note::
|
||||
See sample.settings.py for an example on how to build a region list
|
||||
file.
|
||||
|
||||
.. cmdoption:: --skip-js
|
||||
|
||||
Skip the generation and output of markers.js and regions.js to the output
|
||||
directory.
|
||||
|
||||
**Settings file:**
|
||||
Option name: ``skipjs``
|
||||
|
||||
Format: Boolean
|
||||
|
||||
Default: False
|
||||
|
||||
.. cmdoption:: --textures-path <path>
|
||||
|
||||
Use this option to specify an alternate terrain.png to use for textures when
|
||||
rendering a world. ``path`` specifies the **containing directory** of
|
||||
terrain.png.
|
||||
|
||||
The Overviewer will look for terrain.png in the following places in this
|
||||
order: path specified by this option, the program's directory, the
|
||||
overviewer_core/data/textures directory within the source directory, the
|
||||
default textures that come with Minecraft if it's installed.
|
||||
|
||||
.. note::
|
||||
|
||||
If you installed Overviewer from the Debian package or chose to install
|
||||
the overviewer from source (``python setup.py install``), then there
|
||||
isn't a source directory; this option may be necessary to specify
|
||||
non-default textures.
|
||||
|
||||
If you're having trouble getting The Overviewer to recognize your textures,
|
||||
see the :option:`--check-terrain` option.
|
||||
|
||||
Also see the :ref:`installing-textures` section of the documentation.
|
||||
|
||||
**Settings file:**
|
||||
Option name: ``textures_path``
|
||||
|
||||
Format: A string (path to a dir with a terrain.png)
|
||||
|
||||
Default: None
|
||||
|
||||
.. cmdoption:: -v, --verbose
|
||||
|
||||
Prints more output. You can specify this multiple times.
|
||||
|
||||
**Settings file:**
|
||||
Option name: ``verbose``
|
||||
|
||||
Format: an integer
|
||||
|
||||
Default: 0
|
||||
|
||||
.. cmdoption:: -V, --version
|
||||
|
||||
Displays the version information and exits
|
||||
|
||||
**Not available in settings file**
|
||||
|
||||
.. cmdoption:: --web-assets-path <path>
|
||||
|
||||
When The Overviewer runs, it copies the files from the web_assets directory
|
||||
to the destination directory. If you wish to override a file with your own,
|
||||
for example, to make changes, you may put your modified copies in your own
|
||||
directory and specify the directory with this option.
|
||||
|
||||
Files in the folder specified by ``path`` will override files from the
|
||||
web_assets directory, letting you customize the files.
|
||||
|
||||
If you're running from source and are comfortable merging with Git, it may
|
||||
be better to edit the web_assets directly. If we update one of the files,
|
||||
you can use Git to merge in our changes with yours.
|
||||
|
||||
If, however, you do not like Git, and don't mind having to manually update
|
||||
or merge web assets (or don't care for web asset updates at all), then copy
|
||||
all the web assets to a directory of your own and use this option.
|
||||
|
||||
See the :ref:`web-assets` section for more info on customizing your web
|
||||
assets.
|
||||
|
||||
**Settings file:**
|
||||
Option name: ``web_assets_path``
|
||||
|
||||
Format: A string (path to a directory to use for custom web assets)
|
||||
|
||||
Default: Not set (no additional web assets used)
|
||||
|
||||
.. cmdoption:: -z <zoom>, --zoom <zoom>
|
||||
|
||||
.. warning::
|
||||
|
||||
This option does not do what you think it does. You almost certainly do
|
||||
not want to set this.
|
||||
|
||||
This option effectively sets *how far the map can be zoomed out*. The
|
||||
Overviewer will by default determine how many *zoom levels* your map needs
|
||||
to show the entire map. This option overrides that; setting this option
|
||||
lower than automatically determined will *crop your map* and parts will be
|
||||
cut off. (We acknowledge that name zoom is misleading)
|
||||
|
||||
To be precise, it sets the width and height of the highest zoom level, in
|
||||
tiles. A zoom level of z means the highest zoom level of your map will be
|
||||
@@ -142,43 +399,100 @@ zoom=ZOOM
|
||||
to be too large, or you want to render a smaller portion of your map,
|
||||
instead of rendering everything.
|
||||
|
||||
Remember that each additional zoom level adds 4 times as many tiles as
|
||||
the last. This can add up fast, zoom level 10 has over a million tiles.
|
||||
Tiles with no content will not be rendered, but they still take a small
|
||||
amount of time to process.
|
||||
**If you are getting a "your map is waaaay too big" error** then this option
|
||||
may help you render your map. That error is unlikely in naturally generated
|
||||
worlds, but some really giant worlds may still cross the threshold. The
|
||||
Overviewer will refuse to automatically render maps that require zoom level
|
||||
15 and above, so if you get this error, try specifying ``--zoom 15``. If
|
||||
your map is still cut off around the edges, increase the zoom level by 1 and
|
||||
try again.
|
||||
|
||||
**Settings file:**
|
||||
Option name: ``zoom``
|
||||
|
||||
Format: An integer.
|
||||
|
||||
Default: Automatically calculated from the world size.
|
||||
|
||||
.. note::
|
||||
|
||||
There are **more settings** that cannot be specified on the command line.
|
||||
See the section below!
|
||||
|
||||
Settings File
|
||||
=============
|
||||
|
||||
You can optionally store settings in a file named settings.py (or really,
|
||||
anything you want). It is a regular python script, so you can use any python
|
||||
functions or modules you want. To use a settings file, use the
|
||||
:option:`--settings` command line option when you run the Overviewer.
|
||||
|
||||
For a sample settings file, look at 'sample.settings.py'. Note that this file is
|
||||
not meant to be used directly, but instead it should be used as a collection of
|
||||
examples to guide writing your own. It contains a number of examples to get you
|
||||
started, but you almost certainly don't want to use it as-is.
|
||||
|
||||
You can specify *any of the above* options in your settings file *in addition to
|
||||
the ones documented below*. For the command-line options, find its listed
|
||||
"Option name" which is the Python identifier you will use. For example, if you
|
||||
wanted to specify :option:`--bg-color`, you would look and see its option name
|
||||
is "bg_color" (note the underscore) and you would put this line in your settings
|
||||
file::
|
||||
|
||||
bg_color = "#000000"
|
||||
|
||||
Settings file options
|
||||
---------------------
|
||||
|
||||
In addition to the `Command line options`_, you can specify these options.
|
||||
|
||||
|
||||
.. describe:: web_assets_hook
|
||||
|
||||
web_assets_hook
|
||||
This option lets you define a function to run after the web assets have
|
||||
been copied into the output directory, but before any tile rendering takes
|
||||
place. This is an ideal time to do any custom postprocessing for
|
||||
markers.js or other web assets.
|
||||
|
||||
This function should accept one argument: a QuadtreeGen object.
|
||||
Set this identifier to a Python *function object* to be called.
|
||||
|
||||
web_assets_path
|
||||
This option lets you provide alternative web assets to use when
|
||||
rendering. The contents of this folder will be copied into the output folder
|
||||
during render, and will overwrite any default files already copied by
|
||||
Overviewer. See the web_assets folder included with Overviewer for the
|
||||
default assets.
|
||||
This function should accept one argument: a
|
||||
:class:`overviewer_core.googlemap.MapGen` object.
|
||||
|
||||
textures_path
|
||||
This is like web_assets_path, but instead it provides an alternative texture
|
||||
source. Overviewer looks in here for terrain.png and other textures before
|
||||
it looks anywhere else.
|
||||
.. warning::
|
||||
|
||||
north_direction
|
||||
Specifies which corner of the screen north will point to.
|
||||
Valid options are: lower-left, upper-left, upper-right, lower-right.
|
||||
Currently, this option only works if the :option:`--skip-js` option is
|
||||
set
|
||||
|
||||
.. describe:: rendermode_options
|
||||
|
||||
Different rendermodes have different options. This option is a dictionary
|
||||
that maps rendermode names to option dictionaries.
|
||||
|
||||
See the `Render Modes`_ section for relevant options to the render modes.
|
||||
|
||||
.. describe:: custom_rendermodes
|
||||
|
||||
You can also specify your own custom rendermodes with this option. This is a
|
||||
dictionary mapping your rendermode name to a dictionary of parameters to
|
||||
use.
|
||||
|
||||
See the `Defining Custom Rendermodes`_ section for more information.
|
||||
|
||||
Render Modes
|
||||
============
|
||||
|
||||
.. _rendermode-options: https://github.com/agrif/Minecraft-Overviewer/tree/rendermode-options
|
||||
A rendermode is a unique way of rendering a Minecraft map. The normal render
|
||||
mode was the original, and we've since added a render mode with proper lighting,
|
||||
a rendermode for nighttime lighting, and we have a rendermode that only shows
|
||||
caves.
|
||||
|
||||
Rendermode options are a new way of changing how existing render modes
|
||||
work, by passing in values at startup. For example, you can change how
|
||||
dark the 'night' mode is, or enable lighting in 'cave' mode.
|
||||
Beyond that, there are also render "overlays" that can be toggled on or off,
|
||||
overlaying a proper rendering. These can be used to show where minerals are and
|
||||
such.
|
||||
|
||||
Specify your rendermodes with :option:`--rendermodes`. You can get a list of all
|
||||
rendermodes installed with :option:`--list-rendermodes`.
|
||||
|
||||
Options and Rendermode Inheritance
|
||||
----------------------------------
|
||||
@@ -211,9 +525,8 @@ relationships. Right now, it looks something like this:
|
||||
How to Set Options
|
||||
------------------
|
||||
|
||||
Available options for each mode are listed below, but once you know
|
||||
what to set you'll have to edit *settings.py* to set them. Here's an
|
||||
example::
|
||||
Available options for each mode are listed below, but once you know what to set
|
||||
you'll have to edit your settings file to set them. Here's an example::
|
||||
|
||||
rendermode_options = {
|
||||
'lighting': {
|
||||
@@ -231,39 +544,6 @@ you want to apply the options to, then a dictionary containing each option. So
|
||||
in this example, 'lighting' mode has 'edge_opacity' set to 0.5, and 'cave' mode
|
||||
has 'lighting' turned on and 'depth_tinting' turned off.
|
||||
|
||||
Defining Custom Rendermodes
|
||||
---------------------------
|
||||
|
||||
Sometimes, you want to render two map layers with the same mode, but with two
|
||||
different sets of options. For example, you way want to render a cave mode with
|
||||
depth tinting, and another cave mode with lighting and no depth tinting. In this
|
||||
case, you will want to define a 'custom' render mode that inherits from 'cave'
|
||||
and uses the options you want. For example::
|
||||
|
||||
custom_rendermodes = {
|
||||
'cave-lighting': {
|
||||
'parent': 'cave',
|
||||
'label': 'Lit Cave',
|
||||
'description': 'cave mode, with lighting',
|
||||
'options': {
|
||||
'depth_tinting': False,
|
||||
'lighting': True,
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
rendermode = ['cave', 'cave-lighting']
|
||||
|
||||
Each entry in ``custom_rendermodes`` starts with the mode name, and is followed
|
||||
by a dictionary of mode information, such as the parent mode and description
|
||||
(for your reference), a label for use on the map, as well as the options to
|
||||
apply.
|
||||
|
||||
Every custom rendermode you define is on exactly equal footing with the built-in
|
||||
modes: you can put them in the ``rendermode`` list to render them, you can
|
||||
inherit from them in other custom modes, and you can even add options to them
|
||||
with ``rendermode_options``, though that's a little redundant.
|
||||
|
||||
Option Listing
|
||||
--------------
|
||||
|
||||
@@ -311,6 +591,39 @@ color.
|
||||
|
||||
See the *settings.py* example below for an example usage of **minerals**.
|
||||
|
||||
Defining Custom Rendermodes
|
||||
---------------------------
|
||||
|
||||
Sometimes, you want to render two map layers with the same mode, but with two
|
||||
different sets of options. For example, you way want to render a cave mode with
|
||||
depth tinting, and another cave mode with lighting and no depth tinting. In this
|
||||
case, you will want to define a 'custom' render mode that inherits from 'cave'
|
||||
and uses the options you want. For example::
|
||||
|
||||
custom_rendermodes = {
|
||||
'cave-lighting': {
|
||||
'parent': 'cave',
|
||||
'label': 'Lit Cave',
|
||||
'description': 'cave mode, with lighting',
|
||||
'options': {
|
||||
'depth_tinting': False,
|
||||
'lighting': True,
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
rendermode = ['cave', 'cave-lighting']
|
||||
|
||||
Each entry in ``custom_rendermodes`` starts with the mode name, and is followed
|
||||
by a dictionary of mode information, such as the parent mode and description
|
||||
(for your reference), a label for use on the map, as well as the options to
|
||||
apply.
|
||||
|
||||
Every custom rendermode you define is on exactly equal footing with the built-in
|
||||
modes: you can put them in the ``rendermode`` list to render them, you can
|
||||
inherit from them in other custom modes, and you can even add options to them
|
||||
with ``rendermode_options``, though that's a little redundant.
|
||||
|
||||
Example *settings.py*
|
||||
---------------------
|
||||
|
||||
@@ -351,3 +664,36 @@ tracks instead of ore.
|
||||
# 'night' : {'shade_strength' : 0.5},
|
||||
# 'cave' : {'only_lit' : True, 'lighting' : True, 'depth_tinting' : False},
|
||||
}
|
||||
|
||||
.. _web-assets:
|
||||
|
||||
Customizing Web Assets
|
||||
======================
|
||||
|
||||
The web assets are the static html files stored in
|
||||
overviewer_core/data/web_assets that are copied to the destination directory
|
||||
when you run the Overviewer. Some of these files are actually templates and
|
||||
certain parameters are set at render time depending on various factors. Others
|
||||
are just straight up copied.
|
||||
|
||||
You should not typically need to edit the files in here, but if you like
|
||||
customizing things or want to edit them for whatever reason, here's two ways:
|
||||
|
||||
1. If you're not afraid of Git and you're running the Overviewer from a Git
|
||||
clone of our repository, you can edit the files in
|
||||
overviewer_core/data/web_assets directly. When you pull in changes from us,
|
||||
you will have to merge, but using Git should make this relatively painless.
|
||||
|
||||
2. Otherwise, the recommended way is to use the :option:`--web-assets-path`
|
||||
option. Use this option and point it to a directory of customized web assets
|
||||
to copy.
|
||||
|
||||
Files from the original web_assets directory are still copied, but any files
|
||||
in the custom web assets directory will override the originals. This way you
|
||||
can customize a few files and leave the rest alone.
|
||||
|
||||
The downside is, if you want to upgrade you will have to merge in your
|
||||
changes with any of our changes manually. To avoid merging entirely, just
|
||||
copy *all* the web assets to your custom web assets folder. You'll keep the
|
||||
old version of all files for eternity, missing out on new features we may
|
||||
add, but you won't have to deal with merges at all.
|
||||
|
||||
@@ -25,8 +25,8 @@ And similarly for other systems::
|
||||
1. The path to your Minecraft world on your hard drive
|
||||
2. The name of a single player world on your current system. Note that if it
|
||||
has spaces, you will need to put the world name in quotes.
|
||||
3. If the world name is in the format "World #" (e.g. "World 1"), you can just specify the
|
||||
number.
|
||||
3. If your single-player world name is in the format "World #" (e.g. "World
|
||||
1"), you can just specify the number.
|
||||
|
||||
**Output Dir**
|
||||
This is the directory you would like to put the rendered tiles and
|
||||
@@ -59,6 +59,8 @@ Incremental updates are just as easy, and a lot faster. If you go and change
|
||||
something inside your world, run the command again and Overviewer will
|
||||
automatically re-render only what's needed.
|
||||
|
||||
.. _installing-textures:
|
||||
|
||||
Installing the Textures
|
||||
=======================
|
||||
If you're running on a machine without the Minecraft client installed, you will
|
||||
@@ -89,10 +91,10 @@ You have several options:
|
||||
installations, you will need to specify the path... see the next bullet.
|
||||
|
||||
* You can put a terrain.png file anywhere you want and point to its location
|
||||
with the ``--textures-path`` option. This should point to the directory containing
|
||||
with the :option:`--textures-path` option. This should point to the directory containing
|
||||
the terrain.png, not to the file itself.
|
||||
|
||||
Note: the ``--check-terrain`` option is useful for debugging terrain.png issues.
|
||||
Note: the :option:`--check-terrain` option is useful for debugging terrain.png issues.
|
||||
For example::
|
||||
|
||||
$ ./overviewer.py --check-terrain
|
||||
|
||||
@@ -114,7 +114,7 @@ def main():
|
||||
parser.add_option("--imgformat", dest="imgformat", helptext="The image output format to use. Currently supported: png(default), jpg.", advanced=True )
|
||||
parser.add_option("--imgquality", dest="imgquality", default=95, helptext="Specify the quality of image output when using imgformat=\"jpg\".", type="int", advanced=True)
|
||||
parser.add_option("--bg-color", dest="bg_color", helptext="Configures the background color for the GoogleMap output. Specify in #RRGGBB format", advanced=True, type="string", default="#1A1A1A")
|
||||
parser.add_option("--optimize-img", dest="optimizeimg", helptext="If using png, perform image file size optimizations on the output. Specify 1 for pngcrush, 2 for pngcrush+advdef and 3 for pngcrush-advdef with more agressive settings. This may double (or more) render times, but will produce up to 30% smaller images. NOTE: requires corresponding programs in $PATH or %PATH%", advanced=True)
|
||||
parser.add_option("--optimize-img", dest="optimizeimg", helptext="If using png, perform image file size optimizations on the output. Specify 1 for pngcrush, 2 for pngcrush+advdef and 3 for pngcrush-advdef with more aggressive settings. This may double (or more) render times, but will produce up to 30% smaller images. NOTE: requires corresponding programs in $PATH or %PATH%", advanced=True)
|
||||
parser.add_option("--web-assets-hook", dest="web_assets_hook", helptext="If provided, run this function after the web assets have been copied, but before actual tile rendering begins. It should accept a MapGen object as its only argument.", action="store", metavar="FUNCTION", type="function", advanced=True)
|
||||
parser.add_option("--web-assets-path", dest="web_assets_path", helptext="Specifies a non-standard web_assets directory to use. Files here will overwrite the default web assets.", metavar="PATH", type="string", advanced=True)
|
||||
parser.add_option("--textures-path", dest="textures_path", helptext="Specifies a non-standard textures path, from which terrain.png and other textures are loaded.", metavar="PATH", type="string", advanced=True)
|
||||
@@ -124,7 +124,7 @@ def main():
|
||||
parser.add_option("--skip-js", dest="skipjs", action="store_true", helptext="Don't output marker.js or regions.js")
|
||||
parser.add_option("--no-signs", dest="nosigns", action="store_true", helptext="Don't output signs to markers.js")
|
||||
parser.add_option("--north-direction", dest="north_direction", action="store", helptext="Specifies which corner of the screen north will point to. Defaults to whatever the current map uses, or lower-left for new maps. Valid options are: " + ", ".join(avail_north_dirs) + ".", type="choice", default="auto", choices=avail_north_dirs)
|
||||
parser.add_option("--changelist", dest="changelist", action="store", helptext="Output list of changed tiles to file. If the file exists, it's contents will be overwritten.",advanced=True)
|
||||
parser.add_option("--changelist", dest="changelist", action="store", helptext="Output list of changed tiles to file. If the file exists, its contents will be overwritten.",advanced=True)
|
||||
parser.add_option("--changelist-format", dest="changelist_format", action="store", helptext="Output relative or absolute paths for --changelist. Only valid when --changelist is used", type="choice", default="auto", choices=["auto", "relative","absolute"],advanced=True)
|
||||
parser.add_option("--display-config", dest="display_config", action="store_true", helptext="Display the configuration parameters, but don't render the map. Requires all required options to be specified", commandLineOnly=True)
|
||||
#parser.add_option("--write-config", dest="write_config", action="store_true", helptext="Writes out a sample config file", commandLineOnly=True)
|
||||
|
||||
@@ -111,7 +111,7 @@ body {
|
||||
border: 2px solid #000;
|
||||
font-size: 12pt;
|
||||
width: 20em;
|
||||
background-colour: #fff;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
#searchControl>input.inactive {
|
||||
|
||||
@@ -1,11 +1,14 @@
|
||||
var overviewerConfig = {
|
||||
/**
|
||||
* These are things that will probably not need to be changed by the user,
|
||||
* but are there because otherwise changing them is a giant PITA.
|
||||
* These are things that will probably not need to be changed, but are there
|
||||
* because otherwise changing them is a giant PITA. If you, the user, sees
|
||||
* that its crucial for you to change these settings then the document
|
||||
* repository might be able to assist you.
|
||||
* http://docs.overviewer.org/en/latest/options/#customizing-web-assets
|
||||
*/
|
||||
'CONST': {
|
||||
/**
|
||||
* Height and width of the tiles in pixels (I think).
|
||||
* Height and width of the tiles in pixels.
|
||||
*/
|
||||
'tileSize': 384,
|
||||
/**
|
||||
@@ -88,6 +91,11 @@ var overviewerConfig = {
|
||||
'center': {spawn_coords},
|
||||
/**
|
||||
* Set this to tell browsers how long they should cache tiles in minutes.
|
||||
* Essentially if set to 0, the url for tiles will end in .png
|
||||
* if not set to 0 it will amend a number derived from the current time
|
||||
* to the end of the url, like .png?c=123456. This is a great method for
|
||||
* preventing browsers from caching the images. 0 saves bandwidth, not 0
|
||||
* prevents caching.
|
||||
*/
|
||||
'cacheMinutes': 0,
|
||||
/**
|
||||
|
||||
@@ -80,7 +80,7 @@ class QuadtreeGen(object):
|
||||
|
||||
if depth is None:
|
||||
# Determine quadtree depth (midpoint is always 0,0)
|
||||
for p in xrange(15):
|
||||
for p in xrange(64):
|
||||
# Will 2^p tiles wide and high suffice?
|
||||
|
||||
# X has twice as many chunks as tiles, then halved since this is a
|
||||
@@ -92,10 +92,12 @@ class QuadtreeGen(object):
|
||||
if xradius >= worldobj.maxcol and -xradius <= worldobj.mincol and \
|
||||
yradius >= worldobj.maxrow and -yradius <= worldobj.minrow:
|
||||
break
|
||||
else:
|
||||
raise ValueError("Your map is waaaay too big! Use the 'zoom' option in 'settings.py'.")
|
||||
|
||||
if p < 15:
|
||||
self.p = p
|
||||
else:
|
||||
raise ValueError("Your map is waaaay too big! Use the 'zoom' option in 'settings.py'. Overviewer is estimating %i zoom levels, but you probably want less." % (p,))
|
||||
|
||||
else:
|
||||
self.p = depth
|
||||
xradius = 2**depth
|
||||
|
||||
@@ -108,15 +108,16 @@ class RenderNode(object):
|
||||
raise ValueError("there must be at least one quadtree to work on")
|
||||
|
||||
self.options = options
|
||||
# A list of quadtree.QuadTree objects representing each rendermode
|
||||
# requested
|
||||
self.quadtrees = quadtrees
|
||||
#List of changed tiles
|
||||
self.rendered_tiles = []
|
||||
|
||||
#bind an index value to the quadtree so we can find it again
|
||||
#and figure out which worlds are where
|
||||
i = 0
|
||||
self.worlds = []
|
||||
for q in quadtrees:
|
||||
for i, q in enumerate(quadtrees):
|
||||
q._render_index = i
|
||||
i += 1
|
||||
if q.world not in self.worlds:
|
||||
@@ -163,10 +164,13 @@ class RenderNode(object):
|
||||
else:
|
||||
pool.map_async(bool,xrange(multiprocessing.cpu_count()),1)
|
||||
|
||||
# 1 quadtree object per rendermode requested
|
||||
quadtrees = self.quadtrees
|
||||
|
||||
# do per-quadtree init
|
||||
|
||||
# Determine the total number of tiles by adding up the number of tiles
|
||||
# from each quadtree. Also find the max zoom level (max_p). Even though
|
||||
# each quadtree will always have the same zoom level, this bit of code
|
||||
# does not make that assumption.
|
||||
max_p = 0
|
||||
total = 0
|
||||
for q in quadtrees:
|
||||
@@ -174,7 +178,9 @@ class RenderNode(object):
|
||||
if q.p > max_p:
|
||||
max_p = q.p
|
||||
self.max_p = max_p
|
||||
# Render the highest level of tiles from the chunks
|
||||
|
||||
# The next sections of code render the highest zoom level of tiles. The
|
||||
# section after render the other levels.
|
||||
results = collections.deque()
|
||||
complete = 0
|
||||
logging.info("Rendering highest zoom level of tiles now.")
|
||||
@@ -247,7 +253,8 @@ class RenderNode(object):
|
||||
|
||||
self.print_statusline(complete, total, 1, True)
|
||||
|
||||
# Now do the other layers
|
||||
# The highest zoom level has been rendered.
|
||||
# Now do the lower zoom levels
|
||||
for zoom in xrange(self.max_p-1, 0, -1):
|
||||
level = self.max_p - zoom + 1
|
||||
assert len(results) == 0
|
||||
@@ -341,6 +348,7 @@ class RenderNode(object):
|
||||
|
||||
@catch_keyboardinterrupt
|
||||
def render_worldtile_batch(batch):
|
||||
# batch is a list. Each item is [quadtree_id, colstart, colend, rowstart, rowend, tilepath]
|
||||
global child_rendernode
|
||||
rendernode = child_rendernode
|
||||
count = 0
|
||||
|
||||
@@ -35,7 +35,7 @@ def _find_file(filename, mode="rb", verbose=False):
|
||||
|
||||
* the textures_path given in the config file (if present)
|
||||
* The program dir (same dir as overviewer.py)
|
||||
* The overviewer_core textures dir
|
||||
* The overviewer_core/data/textures dir
|
||||
* On Darwin, in /Applications/Minecraft
|
||||
* Inside minecraft.jar, which is looked for at these locations
|
||||
|
||||
@@ -302,9 +302,9 @@ def _build_block(top, side, blockID=None):
|
||||
composite.alpha_over(img, otherside, (12,6), otherside)
|
||||
composite.alpha_over(img, top, (0,9), top)
|
||||
else:
|
||||
composite.alpha_over(img, top, (0,0), top)
|
||||
composite.alpha_over(img, side, (0,6), side)
|
||||
composite.alpha_over(img, otherside, (12,6), otherside)
|
||||
composite.alpha_over(img, top, (0,0), top)
|
||||
|
||||
# Manually touch up 6 pixels that leave a gap because of how the
|
||||
# shearing works out. This makes the blocks perfectly tessellate-able
|
||||
|
||||
@@ -111,7 +111,7 @@ if imgformat != "jpg":
|
||||
################################################################################
|
||||
### web_assets_hook
|
||||
## If provided, run this function after the web assets have been copied, but
|
||||
## before actual tile rendering beings. It should accept a QuadtreeGen
|
||||
## before actual tile rendering beings. It should accept a MapGen
|
||||
## object as its only argument. Note: this is only called if skipjs is True
|
||||
## Default: not yet
|
||||
## Type: function
|
||||
|
||||
Reference in New Issue
Block a user