2022-07-10 00:01:46 -06:00
|
|
|
blueprint
|
|
|
|
=========
|
2022-07-20 00:11:02 -06:00
|
|
|
|
2022-08-09 23:37:24 -06:00
|
|
|
.. dfhack-tool::
|
|
|
|
:summary: Record a live game map in a quickfort blueprint.
|
2023-01-13 13:36:16 -07:00
|
|
|
:tags: fort design buildings map stockpiles
|
2022-08-09 23:37:24 -06:00
|
|
|
|
|
|
|
With ``blueprint``, you can export the structure of a portion of your fortress
|
|
|
|
in a blueprint file that you (or anyone else) can later play back with
|
2022-10-12 14:31:46 -06:00
|
|
|
`gui/quickfort`.
|
2022-07-10 00:01:46 -06:00
|
|
|
|
|
|
|
Blueprints are ``.csv`` or ``.xlsx`` files created in the ``blueprints``
|
|
|
|
subdirectory of your DF folder. The map area to turn into a blueprint is either
|
2022-10-12 14:31:46 -06:00
|
|
|
selected interactively with the ``gui/blueprint`` command or, if the GUI is not
|
2022-07-10 00:01:46 -06:00
|
|
|
used, starts at the active cursor location and extends right and down for the
|
|
|
|
requested width and height.
|
|
|
|
|
2023-01-13 13:36:16 -07:00
|
|
|
.. admonition:: Note
|
|
|
|
|
|
|
|
blueprint is still in the process of being updated for the new version of
|
|
|
|
DF. Stockpiles (the "place" phase), zones (the "zone" phase), building
|
2023-01-13 13:43:49 -07:00
|
|
|
configuration (the "query" phase), and game configuration (the "config"
|
|
|
|
phase) are not yet supported.
|
2023-01-13 13:36:16 -07:00
|
|
|
|
2022-08-17 23:42:02 -06:00
|
|
|
Usage
|
|
|
|
-----
|
|
|
|
|
|
|
|
::
|
2022-07-10 00:01:46 -06:00
|
|
|
|
2022-07-18 17:32:43 -06:00
|
|
|
blueprint <width> <height> [<depth>] [<name> [<phases>]] [<options>]
|
|
|
|
blueprint gui [<name> [<phases>]] [<options>]
|
2022-07-10 00:01:46 -06:00
|
|
|
|
2022-07-20 00:11:02 -06:00
|
|
|
Examples
|
|
|
|
--------
|
2022-07-10 00:01:46 -06:00
|
|
|
|
2022-07-23 17:03:40 -06:00
|
|
|
``blueprint gui``
|
2022-10-12 14:31:46 -06:00
|
|
|
Runs `gui/blueprint`, the GUI frontend, where all configuration for a
|
|
|
|
``blueprint`` command can be set visually and interactively.
|
2022-07-23 17:03:40 -06:00
|
|
|
``blueprint 30 40 bedrooms``
|
2022-07-10 00:01:46 -06:00
|
|
|
Generates blueprints for an area 30 tiles wide by 40 tiles tall, starting
|
2022-07-18 17:32:43 -06:00
|
|
|
from the active cursor on the current z-level. Blueprints are written to
|
|
|
|
``bedrooms.csv`` in the ``blueprints`` directory.
|
2022-07-23 17:03:40 -06:00
|
|
|
``blueprint 30 40 bedrooms dig --cursor 108,100,150``
|
2022-07-10 00:01:46 -06:00
|
|
|
Generates only the ``#dig`` blueprint in the ``bedrooms.csv`` file, and
|
2022-10-12 14:31:46 -06:00
|
|
|
the start of the blueprint area is set to a specific coordinate instead of
|
|
|
|
using the in-game cursor position.
|
2022-07-10 00:01:46 -06:00
|
|
|
|
2022-07-20 00:11:02 -06:00
|
|
|
Positional parameters
|
|
|
|
---------------------
|
2022-07-10 00:01:46 -06:00
|
|
|
|
2022-07-23 17:03:40 -06:00
|
|
|
``width``
|
2022-07-18 17:32:43 -06:00
|
|
|
Width of the area (in tiles) to translate.
|
2022-07-23 17:03:40 -06:00
|
|
|
``height``
|
2022-07-18 17:32:43 -06:00
|
|
|
Height of the area (in tiles) to translate.
|
2022-07-23 17:03:40 -06:00
|
|
|
``depth``
|
2022-07-18 17:32:43 -06:00
|
|
|
Number of z-levels to translate. Positive numbers go *up* from the cursor
|
|
|
|
and negative numbers go *down*. Defaults to 1 if not specified, indicating
|
|
|
|
that the blueprint should only include the current z-level.
|
2022-07-23 17:03:40 -06:00
|
|
|
``name``
|
2022-07-18 17:32:43 -06:00
|
|
|
Base name for blueprint files created in the ``blueprints`` directory. If no
|
|
|
|
name is specified, "blueprint" is used by default. The string must contain
|
|
|
|
some characters other than numbers so the name won't be confused with the
|
|
|
|
optional ``depth`` parameter.
|
2022-07-10 00:01:46 -06:00
|
|
|
|
2022-07-20 00:11:02 -06:00
|
|
|
Phases
|
|
|
|
------
|
2022-07-10 00:01:46 -06:00
|
|
|
|
|
|
|
If you want to generate blueprints only for specific phases, add their names to
|
|
|
|
the commandline, anywhere after the blueprint base name. You can list multiple
|
|
|
|
phases; just separate them with a space.
|
|
|
|
|
2022-07-23 17:03:40 -06:00
|
|
|
``dig``
|
2022-07-18 17:32:43 -06:00
|
|
|
Generate quickfort ``#dig`` blueprints for digging natural stone.
|
2022-07-23 17:03:40 -06:00
|
|
|
``carve``
|
2022-07-18 17:32:43 -06:00
|
|
|
Generate quickfort ``#dig`` blueprints for smoothing and carving.
|
2022-10-12 14:31:46 -06:00
|
|
|
``construct``
|
|
|
|
Generate quickfort ``#build`` blueprints for constructions (e.g. flooring
|
|
|
|
and walls).
|
2022-07-23 17:03:40 -06:00
|
|
|
``build``
|
2022-10-12 14:31:46 -06:00
|
|
|
Generate quickfort ``#build`` blueprints for buildings (including
|
|
|
|
furniture).
|
2022-07-23 17:03:40 -06:00
|
|
|
``place``
|
2022-07-18 17:32:43 -06:00
|
|
|
Generate quickfort ``#place`` blueprints for placing stockpiles.
|
2022-07-23 17:03:40 -06:00
|
|
|
``zone``
|
2022-07-18 17:32:43 -06:00
|
|
|
Generate quickfort ``#zone`` blueprints for designating zones.
|
2022-07-23 17:03:40 -06:00
|
|
|
``query``
|
2022-10-12 17:01:54 -06:00
|
|
|
Generate quickfort ``#query`` blueprints for configuring stockpiles and
|
|
|
|
naming buildings.
|
|
|
|
``rooms``
|
|
|
|
Generate quickfort ``#query`` blueprints for defining rooms.
|
2022-07-10 00:01:46 -06:00
|
|
|
|
|
|
|
If no phases are specified, phases are autodetected. For example, a ``#place``
|
|
|
|
blueprint will be created only if there are stockpiles in the blueprint area.
|
|
|
|
|
2022-07-20 00:11:02 -06:00
|
|
|
Options
|
|
|
|
-------
|
2022-07-10 00:01:46 -06:00
|
|
|
|
2022-07-23 17:03:40 -06:00
|
|
|
``-c``, ``--cursor <x>,<y>,<z>``
|
2022-07-10 00:01:46 -06:00
|
|
|
Use the specified map coordinates instead of the current cursor position for
|
|
|
|
the upper left corner of the blueprint range. If this option is specified,
|
|
|
|
then an active game map cursor is not necessary.
|
2022-07-23 17:03:40 -06:00
|
|
|
``-e``, ``--engrave``
|
2022-07-10 00:01:46 -06:00
|
|
|
Record engravings in the ``carve`` phase. If this option is not specified,
|
|
|
|
engravings are ignored.
|
2022-07-23 17:03:40 -06:00
|
|
|
``-f``, ``--format <format>``
|
|
|
|
Select the output format of the generated files. See the `Output formats`_
|
2022-07-10 00:01:46 -06:00
|
|
|
section below for options. If not specified, the output format defaults to
|
|
|
|
"minimal", which will produce a small, fast ``.csv`` file.
|
2022-10-12 18:42:36 -06:00
|
|
|
``--nometa``
|
|
|
|
`Meta blueprints <quickfort-meta>` let you apply all blueprints that can be
|
|
|
|
replayed at the same time (without unpausing the game) with a single
|
|
|
|
command. This usually reduces the number of `quickfort` commands you need to
|
|
|
|
run to rebuild your fort from about 6 to 2 or 3. If you would rather just
|
|
|
|
have the low-level blueprints, this flag will prevent meta blueprints from
|
|
|
|
being generated and any low-level blueprints from being
|
|
|
|
`hidden <quickfort-hidden>` from the ``quickfort list`` command.
|
2022-07-23 17:03:40 -06:00
|
|
|
``-s``, ``--playback-start <x>,<y>,<comment>``
|
2022-07-10 00:01:46 -06:00
|
|
|
Specify the column and row offsets (relative to the upper-left corner of the
|
|
|
|
blueprint, which is ``1,1``) where the player should put the cursor when the
|
|
|
|
blueprint is played back with `quickfort`, in
|
|
|
|
`quickfort start marker <quickfort-start>` format, for example:
|
|
|
|
``10,10,central stairs``. If there is a space in the comment, you will need
|
2022-07-18 17:32:43 -06:00
|
|
|
to surround the parameter string in double quotes:
|
|
|
|
``"-s10,10,central stairs"`` or ``--playback-start "10,10,central stairs"``
|
|
|
|
or ``"--playback-start=10,10,central stairs"``.
|
2022-10-12 11:10:53 -06:00
|
|
|
``--smooth``
|
|
|
|
Record all smooth tiles in the ``smooth`` phase. If this parameter is not
|
|
|
|
specified, only tiles that will later be carved into fortifications or
|
|
|
|
engraved will be smoothed.
|
2022-07-23 17:03:40 -06:00
|
|
|
``-t``, ``--splitby <strategy>``
|
|
|
|
Split blueprints into multiple files. See the `Splitting output into
|
|
|
|
multiple files`_ section below for details. If not specified, defaults to
|
2022-07-10 00:01:46 -06:00
|
|
|
"none", which will create a standard quickfort
|
|
|
|
`multi-blueprint <quickfort-packaging>` file.
|
|
|
|
|
2022-07-20 00:11:02 -06:00
|
|
|
Output formats
|
|
|
|
--------------
|
2022-07-10 00:01:46 -06:00
|
|
|
|
|
|
|
Here are the values that can be passed to the ``--format`` flag:
|
|
|
|
|
2022-07-23 17:03:40 -06:00
|
|
|
``minimal``
|
2022-07-10 00:01:46 -06:00
|
|
|
Creates ``.csv`` files with minimal file size that are fast to read and
|
|
|
|
write. This is the default.
|
2022-07-23 17:03:40 -06:00
|
|
|
``pretty``
|
2022-07-18 17:32:43 -06:00
|
|
|
Makes the blueprints in the ``.csv`` files easier to read and edit with a
|
|
|
|
text editor by adding extra spacing and alignment markers.
|
2022-07-10 00:01:46 -06:00
|
|
|
|
2022-07-20 00:11:02 -06:00
|
|
|
Splitting output into multiple files
|
|
|
|
------------------------------------
|
2022-07-10 00:01:46 -06:00
|
|
|
|
|
|
|
The ``--splitby`` flag can take any of the following values:
|
|
|
|
|
2022-07-23 17:03:40 -06:00
|
|
|
``none``
|
2022-07-10 00:01:46 -06:00
|
|
|
Writes all blueprints into a single file. This is the standard format for
|
|
|
|
quickfort fortress blueprint bundles and is the default.
|
2022-10-14 12:58:43 -06:00
|
|
|
``group``
|
|
|
|
Creates one file per group of blueprints that can be played back at the same
|
|
|
|
time (without have to unpause the game and let dwarves fulfill jobs between
|
|
|
|
blueprint runs).
|
2022-07-23 17:03:40 -06:00
|
|
|
``phase``
|
2022-10-14 12:58:43 -06:00
|
|
|
Creates a separate file for each phase. Implies ``--nometa`` since meta
|
|
|
|
blueprints can't combine blueprints that are in separate files.
|