quickfort files and docs

develop
Myk Taylor 2020-07-18 08:54:24 -07:00
parent a0c514b117
commit 88dffd6474
10 changed files with 224 additions and 0 deletions

1
.gitignore vendored

@ -24,6 +24,7 @@ build/Makefile
build/CMakeCache.txt
build/cmake_install.cmake
build/CMakeFiles
build/data
build/doc
build/lua
build/bin

@ -429,6 +429,7 @@ if(BUILD_PLUGINS)
add_subdirectory(plugins)
endif()
add_subdirectory(data)
add_subdirectory(scripts)
find_package(Sphinx QUIET)

@ -0,0 +1,2 @@
install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/blueprints/ DESTINATION blueprints)
install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/quickfort/ DESTINATION "${DFHACK_DATA_DESTINATION}/data/quickfort")

@ -0,0 +1,14 @@
This directory is for quickfort blueprints. You can apply them to your fortress
map with the DFHack quickfort plugin. See
https://docs.dfhack.org/en/stable/docs/Scripts.html#quickfort for details.
You can create blueprints by hand or by using any spreadsheet application,
saving them as .xlsx or .csv files. You can also build your plan "for real" in
Dwarf Fortress, and then export your map using the DFHack blueprint for later
replay in a different fort. See
https://docs.dfhack.org/en/stable/docs/Plugins.html#blueprint for more info.
DFHack blueprints follow the original Quickfort 2.0 syntax. See
https://github.com/joelpt/quickfort for joelpt's excellent documentation.
There are many ready-to-use examples of blueprints in the library subfolder.

@ -0,0 +1,4 @@
#dig start(2,2)
d,d,d
d, ,d
d,d,d
1 #dig start(2,2)
2 d,d,d
3 d, ,d
4 d,d,d

@ -0,0 +1,135 @@
# quickfort aliases common baseline configuration file
#
# Defines custom keycode shortcuts for blueprints. Please DO NOT EDIT this file
# directly. Instead, custom aliases should be added to
# dfhack-config/quickfort/aliases.txt.
#
# Syntax:
# aliasname: keystrokes
#
# Special keys:
# {Right}, {Left}, {Up}, {Down}, >, < move the DF cursor
# {/}, {*}, {+}, {-} can be used to navigate some DF menus
# {Enter}, +{Enter}, {ExitMenu} - Enter, Shift+Enter, and Escape, respectively
# {Wait} pauses playback briefly
#
# Special keys can be repeated by adding a number inside the curly braces, for
# example: {Down 5}
#
# Some shorthand:
# & expands to {Enter}
# @ expands to +{Enter}
# ^ expands to {ExitMenu}
# % expands to {Wait}
#
# The aliases in this file were tested in DF 0.47.04 on 2020 Jul 18.
##################################
# food stockpile adjustments
##################################
seeds: s{Down}deb{Right}{Down 9}p^
noseeds: s{Down}dea{Right}{Down 9}f^
booze: s{Down}deb{Right}{Down 5}p{Down}p^
food: s{Down}dea{Right}{Down 5}f{Down}f{Down 3}f^
plants: s{Down}deb{Right}{Down 4}p^
##################################
# refuse stockpile adjustments
##################################
corpses: s{Down 4}deb{Right 2}&{Down 2}&{Left}{Down}p{Down}p^
bones: s{Down 4}deb{Right}{Down 3}p{Down}p^
rawhides: s{Down 4}deb{Right 2}{Down}&^
tannedhides: s{Down 4}deb{Right 2}{Down 53}&^
##################################
# stone stockpile adjustments
##################################
metal: s{Down 5}deb{Right}p^
nometal: s{Down 5}dea{Right}f^
bauxite: s{Down 5}deb{Right}{Down 2}{Right}{Down 42}&^
# Only use nobauxite on stone piles that you want to accept all "Other Stone" on.
# This alias works by permitting all "Other Stone",then forbidding just bauxite.
# Thus you wouldn't want to use this on a metal-only pile, for example.
nobauxite: s{Down 5}{Right}{Down 2}p{Right}{Down 42}&^
##################################
# misc stockpile adjustments
##################################
# Artifacts-only stockpile, usable on any type of existing pile.
artifacts: sd{Down}d{Down}d{Down}d{Down}d{Down}d{Down}d{Down}d{Down}d{Down}d{Down}d{Down}d{Down}d{Down}d{Down}d{Down}d{Down 4}deu{Right}{Up}f{Right}{Up}&{Left 2}{Down 4}e{Right}{Up}f{Right}{Up}&{Left 2}{Down 4}e{Right}{Up}f{Right}{Up}&{Left 2}{Down 4}e{Right}{Up}f{Right}{Up}&{Left 2}{Down}e{Right}{Up}f{Right}{Up}&{Left 2}^
# Bans artifacts on any pile (or rather, allows items of any quality except Artifact quality).
# This should be safe to run on any type of pile.
noartifacts: sd{Down 2}{Right}{Up}fp{Right}{Up}&{Down 2}{Left 2}{Down 4}{Right}{Up}fp{Right}{Up}&{Down 2}{Left 2}{Down 4}{Right}{Up}fp{Right}{Up}&{Down 2}{Left 2}{Down 4}{Right}{Up}fp{Right}{Up}&{Down 2}{Left 2}{Down}{Right}{Up}fp{Right}{Up}&{Down 2}{Left 2}^
# Set a finished goods stockpile to crappy low-quality trade goods only.
# Position such a stockpile near fort entrances to (hopefully) let thieves steal low quality junk.
junkgoods: s{Down 10}de{Right 2}&{Down 5}&{Down}&{Down}&{Down}&{Down 8}&{Down 2}&{Down}&{Down}&{Down}&{Down}&{Down}&{Left}{Down}f{Right}{Down}&{Down}&{Left}{Down}f{Down 2}f{Right}&{Down}&^
##################################
# farm plots
##################################
# Sets a farm plot to grow the LAST type of seed in the list of available seeds, for all 4 seasons.
# The last seed is used because it's usually Plump helmet spawn, suitable for post-embark. If you
# only have 1 seed type, that'll be grown.
growlastcropall: a{/}&b{/}&c{/}&d{/}&
# Like growlastcropall but grows the first one in the list instead.
growfirstcropall: a&b&c&d&
##################################
# mining tracks
##################################
# The following aliases make it more convenient to build the various types of mine tracks.
# For example, to build a north/south track 'Track (NS)', you would put trackNS in a cell(s).
trackN: CT{Enter}
trackS: CT{+ 1}{Enter}
trackE: CT{+ 2}{Enter}
trackW: CT{+ 3}{Enter}
trackNS: CT{+ 4}{Enter}
trackNE: CT{+ 5}{Enter}
trackNW: CT{+ 6}{Enter}
trackSE: CT{+ 7}{Enter}
trackSW: CT{+ 8}{Enter}
trackEW: CT{+ 9}{Enter}
trackNSE: CT{+ 10}{Enter}
trackNSW: CT{+ 11}{Enter}
trackNEW: CT{+ 12}{Enter}
trackSEW: CT{+ 13}{Enter}
trackNSEW: CT{+ 14}{Enter}
trackrampN: CT{+ 15}{Enter}
trackrampS: CT{+ 15}{+ 1}{Enter}
trackrampE: CT{+ 15}{+ 2}{Enter}
trackrampW: CT{+ 15}{+ 3}{Enter}
trackrampNS: CT{+ 15}{+ 4}{Enter}
trackrampNE: CT{+ 15}{+ 5}{Enter}
trackrampNW: CT{+ 15}{+ 6}{Enter}
trackrampSE: CT{+ 15}{+ 7}{Enter}
trackrampSW: CT{+ 15}{+ 8}{Enter}
trackrampEW: CT{+ 15}{+ 9}{Enter}
trackrampNSE: CT{+ 15}{+ 10}{Enter}
trackrampNSW: CT{+ 15}{+ 11}{Enter}
trackrampNEW: CT{+ 15}{+ 12}{Enter}
trackrampSEW: CT{+ 15}{+ 13}{Enter}
trackrampNSEW: CT{+ 15}{+ 14}{Enter}
# Aliases for building track rollers; use e.g. rollerHqqq to make a low-speed horizontal roller
rollerH: Mrs
rollerV: Mr
rollerNS: Mr
rollerSN: Mrss
rollerEW: Mrs
rollerWE: Mrsss
# Aliases for building track stops that dump in each of the four directions
trackstopN: CSd
trackstopS: CSdd
trackstopE: CSddd
trackstopW: CSdddd

@ -0,0 +1,8 @@
# quickfort materials preference configuration file
#
# Defines forbidden materials and material preferences for build blueprints.
# Please DO NOT EDIT this file directly. Instead, custom materials preferences
# should be added to dfhack-config/quickfort/materials.txt.
#
# Syntax TBD

@ -0,0 +1,30 @@
# quickfort aliases configuration file
#
# Defines custom keycode shortcuts for blueprints. Definitions in this file take
# precedence over any definitions in the baseline aliases configuration file at
# hack/data/quickfort/aliases-common.txt. See that file for aliases that are
# already defined.
#
# This file can be used to simplify repetitive tasks, such as building minecart
# tracks or adjusting a food stockpile to accept seeds only. Making new aliases
# is just a matter of mimicking the keys used to navigate through the menus and
# select options.
#
# Syntax:
# aliasname: keystrokes
#
# Special keys:
# {Right}, {Left}, {Up}, {Down}, >, < move the DF cursor
# {/}, {*}, {+}, {-} can be used to navigate some DF menus
# {Enter}, +{Enter}, {ExitMenu} - Enter, Shift+Enter, and Escape, respectively
# {Wait} pauses playback briefly
#
# Special keys can be repeated by adding a number inside the curly braces, for
# example: {Down 5}
#
# Some shorthand:
# & expands to {Enter}
# @ expands to +{Enter}
# ^ expands to {ExitMenu}
# % expands to {Wait}

@ -0,0 +1,9 @@
# quickfort materials preference configuration file
#
# Defines forbidden materials and material preferences for build blueprints.
# Settings in this file take precedence over any settings in the baseline
# materials configuration file at hack/data/quickfort/materials-common.txt. See
# that file to view the global defaults.
#
# Syntax TBD

@ -0,0 +1,20 @@
# quickfort main configuration file
#
# Set startup defaults for the quickfort script in this file. Settings can be
# dynamically overridden in the active session with the `quickfort set` command.
# Directory to search for blueprints. Can be set to an absolute or relative
# path. If set to a relative path, resolves to a directory under the DF folder.
blueprints-dir=blueprints
# Set to "true" or "false". If true, will designate dig blueprints in marker
# mode. If false, only cells with dig codes prefixed with ``m`` will be
# designated in marker mode.
force-marker-mode=false
# Allows you to manually select building materials for each
# building/construction when running (or creating orders for) build blueprints.
# Materials in selection dialogs are ordered according to preferences in
# materials.txt. If false, will only prompt for materials that have :labels.
# See https://github.com/joelpt/quickfort#manual-material-selection for details.
force-interactive-build=false