diff --git a/README.rst b/README.rst index f0a39e88b..eb11da991 100644 --- a/README.rst +++ b/README.rst @@ -45,7 +45,8 @@ Copy the files from a release archive so that: Uninstalling is basically the same, in reverse: - * On Windows, first delete SDL.dll and rename SDLreal.dll to SDL.dll. Then remove the other DFHack files + * On Windows, first delete SDL.dll and rename SDLreal.dll to SDL.dll. Then + remove the other DFHack files * On Linux, Remove the DFHack files. The stonesense plugin might require some additional libraries on Linux. @@ -123,11 +124,16 @@ Usage advtools ======== A package of different adventure mode tools (currently just one) + + Usage ----- :list-equipped [all]: List armor and weapons equipped by your companions. If all is specified, also lists non-metal clothing. +:metal-detector [all-types] [non-trader]: Reveal metal armor and weapons in + shops. The options disable the checks + on item type and being in shop. changelayer =========== @@ -320,6 +326,40 @@ autodump-destroy-item Destroy the selected item. The item may be selected in the 'k' list, or inside a container. If called again before the game is resumed, cancels destroy. +burrow +====== +Miscellaneous burrow control. Allows manipulating burrows and automated burrow +expansion while digging. + +Options +------- +:enable feature ...: +:disable feature ...: Enable or Disable features of the plugin. +:clear-unit burrow burrow ...: +:clear-tiles burrow burrow ...: Removes all units or tiles from the burrows. +:set-units target-burrow src-burrow ...: +:add-units target-burrow src-burrow ...: +:remove-units target-burrow src-burrow ...: Adds or removes units in source + burrows to/from the target burrow. Set is equivalent to clear and add. +:set-tiles target-burrow src-burrow ...: +:add-tiles target-burrow src-burrow ...: +:remove-tiles target-burrow src-burrow ...: Adds or removes tiles in source + burrows to/from the target burrow. In place of a source burrow it is + possible to use one of the following keywords: ABOVE_GROUND, + SUBTERRANEAN, INSIDE, OUTSIDE, LIGHT, DARK, HIDDEN, REVEALED + +Features +-------- +:auto-grow: When a wall inside a burrow with a name ending in '+' is dug + out, the burrow is extended to newly-revealed adjacent walls. + This final '+' may be omitted in burrow name args of commands above. + Digging 1-wide corridors with the miner inside the burrow is SLOW. + +catsplosion +=========== +Makes cats just *multiply*. It is not a good idea to run this more than once or +twice. + clean ===== Cleans all the splatter that get scattered all over the map, items and @@ -644,6 +684,10 @@ Options ------- :all: processes all tiles, even hidden ones. +regrass +======= +Regrows grass. Not much to it ;) + rename ====== Allows renaming various things. @@ -737,13 +781,91 @@ http://df.magmawiki.com/index.php/Utility:Stonesense/Content_repository tiletypes ========= -Can be used for painting map tiles and is a interactive command, much like -liquids. You can paint tiles by their properties - shape, general material and -a few others (paint). You can also paint only over tiles that match a set -of properties (filter) +Can be used for painting map tiles and is an interactive command, much like +liquids. + +The tool works with two set of options and a brush. The brush determines which +tiles will be processed. First set of options is the filter, which can exclude +some of the tiles from the brush by looking at the tile properties. The second +set of options is the paint - this determines how the selected tiles are +changed. + +Both paint and filter can have many different properties including things like +general shape (WALL, FLOOR, etc.), general material (SOIL, STONE, MINERAL, +etc.), state of 'designated', 'hidden' and 'light' flags. + +The properties of filter and paint can be partially defined. This means that +you can for example do something like this: + +:: + + filter material STONE + filter shape FORTIFICATION + paint shape FLOOR + +This will turn all stone fortifications into floors, preserving the material. + +Or this: +:: + + filter material FLOOR + filter shape MINERAL + paint shape WALL + +Turning mineral vein floors back into walls. + +The tool also allows tweaking some tile flags: + +Or this: + +:: + + paint hidden 1 + +This will hide previously revealed tiles. + +Any paint or filter option can be disabled entirely by using the ANY keyword: + +:: + + paint hidden ANY + paint shape ANY + filter material any + filter shape any + +You can use several different brushes for painting tiles: + * Point. (point) + * Rectangular range. (range) + * A column ranging from current cursor to the first solid tile above. (column) + * DF map block - 16x16 tiles, in a regular grid. (block) + +Example: + +:: + + range 10 10 1 + +This will change the brush to a rectangle spanning 10x10 tiles on one z-level. +The range starts at the position of the cursor and goes to the east, south and +up. For more details, see the 'help' command while using this. +tiletypes-commands +================== +Runs tiletypes commands, separated by ;. This makes it possible to change +tiletypes modes from a hotkey. + +tiletypes-here +============== +Apply the current tiletypes options at the in-game cursor position, including +the brush. Can be used from a hotkey. + +tiletypes-here-point +==================== +Apply the current tiletypes options at the in-game cursor position to a single +tile. Can be used from a hotkey. + tweak ===== Contains various tweaks for minor bugs (currently just one). @@ -1215,3 +1337,19 @@ another savegame you can use the command list_export: dfhack-run autobutcher list_export > autobutcher.bat Load the savegame where you want to copy the settings to, run the batch file (from the shell): autobutcher.bat + + +autolabor +========= +Automatically manage dwarf labors. + +When enabled, autolabor periodically checks your dwarves and enables or +disables labors. It tries to keep as many dwarves as possible busy but +also tries to have dwarves specialize in specific skills. + +.. note:: + + Warning: autolabor will override any manual changes you make to labors + while it is enabled. + +For detailed usage information, see 'help autolabor'. diff --git a/Readme.html b/Readme.html index b4cda9608..bfbab385a 100644 --- a/Readme.html +++ b/Readme.html @@ -318,7 +318,7 @@ ul.auto-toc {
-

Introduction

+

Introduction

DFHack is a Dwarf Fortress memory access library and a set of basic tools that use it. Tools come in the form of plugins or (not yet) external tools. It is an attempt to unite the various ways tools @@ -326,208 +326,219 @@ access DF memory and allow for easier development of new tools.

Contents

-

Getting DFHack

+

Getting DFHack

The project is currently hosted on github, for both source and binaries at http://github.com/peterix/dfhack

Releases can be downloaded from here: https://github.com/peterix/dfhack/downloads

All new releases are announced in the bay12 thread: http://tinyurl.com/dfhack-ng

-

Compatibility

+

Compatibility

DFHack works on Windows XP, Vista, 7 or any modern Linux distribution. OSX is not supported due to lack of developers with a Mac.

Currently, only versions 0.34.06 and 0.34.07 are supported. If you need DFHack @@ -536,7 +547,7 @@ for older versions, look for older releases.

It is possible to use the Windows DFHack under wine/OSX.

-

Installation/Removal

+

Installation/Removal

Installing DFhack involves copying files into your DF folder. Copy the files from a release archive so that:

@@ -548,7 +559,8 @@ Copy the files from a release archive so that:

Uninstalling is basically the same, in reverse:

    -
  • On Windows, first delete SDL.dll and rename SDLreal.dll to SDL.dll. Then remove the other DFHack files
  • +
  • On Windows, first delete SDL.dll and rename SDLreal.dll to SDL.dll. Then +remove the other DFHack files
  • On Linux, Remove the DFHack files.
@@ -557,7 +569,7 @@ Copy the files from a release archive so that:

file created in your DF folder.

-

Using DFHack

+

Using DFHack

DFHack basically extends what DF can do with something similar to the drop-down console found in Quake engine games. On Windows, this is a separate command line window. On linux, the terminal used to launch the dfhack script is taken over @@ -581,7 +593,7 @@ they are re-created every time it is loaded.

Most of the commands come from plugins. Those reside in 'hack/plugins/'.

-

Something doesn't work, help!

+

Something doesn't work, help!

First, don't panic :) Second, dfhack keeps a few log files in DF's folder - stderr.log and stdout.log. You can look at those and possibly find out what's happening. @@ -590,24 +602,24 @@ the issues tracker on github, contact me ( -

The init file

+

The init file

If your DF folder contains a file named dfhack.init, its contents will be run every time you start DF. This allows setting up keybindings. An example file is provided as dfhack.init-example - you can tweak it and rename to dfhack.init if you want to use this functionality.

-

Commands

+

Commands

Almost all the commands support using the 'help <command-name>' built-in command to retrieve further help without having to look at this document. Alternatively, some accept a 'help'/'?' option on their command line.

-

adv-bodyswap

+

adv-bodyswap

This allows taking control over your followers and other creatures in adventure mode. For example, you can make them pick up new arms and armor and equip them properly.

-

Usage

+

Usage

  • When viewing unit details, body-swaps into that unit.
  • @@ -617,10 +629,10 @@ properly.

-

advtools

+

advtools

A package of different adventure mode tools (currently just one)

-

Usage

+

Usage

@@ -629,12 +641,17 @@ properly.

+ + +
 List armor and weapons equipped by your companions. If all is specified, also lists non-metal clothing.
metal-detector [all-types] [non-trader]:
 Reveal metal armor and weapons in +shops. The options disable the checks +on item type and being in shop.
-

changelayer

+

changelayer

Changes material of the geology layer under cursor to the specified inorganic RAW material. Can have impact on all surrounding regions, not only your embark! By default changing stone to soil and vice versa is not allowed. By default @@ -646,7 +663,7 @@ as well, though. Mineral veins and gem clusters will stay on the map. Use

tl;dr: You will end up with changing quite big areas in one go, especially if you use it in lower z levels. Use with care.

-

Options

+

Options

@@ -680,7 +697,7 @@ soil.
-

Examples:

+

Examples:

changelayer GRANITE
Convert layer at cursor position into granite.
@@ -709,11 +726,11 @@ You did save your game, right?
-

changevein

+

changevein

Changes material of the vein under cursor to the specified inorganic RAW material.

-

Example:

+

Example:

changevein NATIVE_PLATINUM
Convert vein at cursor position into platinum ore.
@@ -721,7 +738,7 @@ material.

-

changeitem

+

changeitem

Allows changing item material and base quality. By default the item currently selected in the UI will be changed (you can select items in the 'k' list or inside containers/inventory). By default change is only allowed if materials @@ -732,7 +749,7 @@ in weirdness. To get an idea how the RAW id should look like, check some items with 'info'. Using 'force' might create items which are not touched by crafters/haulers.

-

Options

+

Options

@@ -751,7 +768,7 @@ crafters/haulers.

-

Examples:

+

Examples:

changeitem m INORGANIC:GRANITE here
Change material of all items under the cursor to granite.
@@ -761,7 +778,7 @@ crafters/haulers.

-

cursecheck

+

cursecheck

Checks a single map tile or the whole map/world for cursed creatures (ghosts, vampires, necromancers, werebeasts, zombies).

With an active in-game cursor only the selected tile will be observed. @@ -773,7 +790,7 @@ Undead skeletons, corpses, bodyparts and the like are all thrown into the curse category "zombie". Anonymous zombies and resurrected body parts will show as "unnamed creature".

-

Options

+

Options

@@ -793,7 +810,7 @@ long list after having FUN with necromancers).
-

Examples:

+

Examples:

cursecheck detail all
Give detailed info about all cursed creatures including deceased ones (no @@ -816,13 +833,13 @@ of curses, for example.
-

follow

+

follow

Makes the game view follow the currently highlighted unit after you exit from current menu/cursor mode. Handy for watching dwarves running around. Deactivated by moving the view manually.

-

forcepause

+

forcepause

Forces DF to pause. This is useful when your FPS drops below 1 and you lose control of the game.

@@ -833,23 +850,23 @@ control of the game.

-

nopause

+

nopause

Disables pausing (both manual and automatic) with the exception of pause forced by 'reveal hell'. This is nice for digging under rivers.

-

die

+

die

Instantly kills DF without saving.

-

autodump

+

autodump

This utility lets you quickly move all items designated to be dumped. Items are instantly moved to the cursor position, the dump flag is unset, and the forbid flag is set, as if it had been dumped normally. Be aware that any active dump item tasks still point at the item.

Cursor must be placed on a floor tile so the items can be dumped there.

-

Options

+

Options

@@ -869,22 +886,89 @@ Be aware that any active dump item tasks still point at the item.

-

autodump-destroy-here

+

autodump-destroy-here

Destroy items marked for dumping under cursor. Identical to autodump destroy-here, but intended for use as keybinding.

-

autodump-destroy-item

+

autodump-destroy-item

Destroy the selected item. The item may be selected in the 'k' list, or inside a container. If called again before the game is resumed, cancels destroy.

+
+

burrow

+

Miscellaneous burrow control. Allows manipulating burrows and automated burrow +expansion while digging.

+
+++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
enable feature ...:
 
disable feature ...:
 Enable or Disable features of the plugin.
clear-unit burrow burrow ...:
 
clear-tiles burrow burrow ...:
 Removes all units or tiles from the burrows.
set-units target-burrow src-burrow ...:
 
add-units target-burrow src-burrow ...:
 
remove-units target-burrow src-burrow ...:
 Adds or removes units in source +burrows to/from the target burrow. Set is equivalent to clear and add.
set-tiles target-burrow src-burrow ...:
 
add-tiles target-burrow src-burrow ...:
 
remove-tiles target-burrow src-burrow ...:
 Adds or removes tiles in source +burrows to/from the target burrow. In place of a source burrow it is +possible to use one of the following keywords: ABOVE_GROUND, +SUBTERRANEAN, INSIDE, OUTSIDE, LIGHT, DARK, HIDDEN, REVEALED
+
+
+

Features

+ +++ + + + +
auto-grow:When a wall inside a burrow with a name ending in '+' is dug +out, the burrow is extended to newly-revealed adjacent walls. +This final '+' may be omitted in burrow name args of commands above. +Digging 1-wide corridors with the miner inside the burrow is SLOW.
+
+
+
+

catsplosion

+

Makes cats just multiply. It is not a good idea to run this more than once or +twice.

+
-

clean

+

clean

Cleans all the splatter that get scattered all over the map, items and creatures. In an old fortress, this can significantly reduce FPS lag. It can also spoil your !!FUN!!, so think before you use it.

-
-

Options

+
+

Options

@@ -899,7 +983,7 @@ also spoil your !!FUN!!, so think before you use it.

-

Extra options for 'map'

+

Extra options for 'map'

@@ -913,16 +997,16 @@ also spoil your !!FUN!!, so think before you use it.

-

spotclean

+

spotclean

Works like 'clean map snow mud', but only for the tile under the cursor. Ideal if you want to keep that bloody entrance 'clean map' would clean up.

-

cleanowned

+

cleanowned

Confiscates items owned by dwarfs. By default, owned food on the floor and rotten items are confistacted and dumped.

-
@@ -941,16 +1025,16 @@ without it actually happening.
-
-

Example:

+
+

Example:

cleanowned scattered X : This will confiscate rotten and dropped food, garbage on the floors and any worn items with 'X' damage and above.

-

colonies

+

colonies

Allows listing all the vermin colonies on the map and optionally turning them into honey bee colonies.

-
-

Options

+
+

Options

@@ -962,16 +1046,16 @@ without it actually happening.
-

deramp (by zilpin)

+

deramp (by zilpin)

Removes all ramps designated for removal from the map. This is useful for replicating the old channel digging designation. It also removes any and all 'down ramps' that can remain after a cave-in (you don't have to designate anything for that to happen).

-

dfusion

+

dfusion

This is the DFusion lua plugin system by warmist/darius, running as a DFHack plugin.

See the bay12 thread for details: http://www.bay12forums.com/smf/index.php?topic=69682.15

@@ -991,11 +1075,11 @@ It also removes any and all 'down ramps' that can remain after a cave-in (you do
-

drybuckets

+

drybuckets

This utility removes water from all buckets in your fortress, allowing them to be safely used for making lye.

-

fastdwarf

+

fastdwarf

Makes your minions move at ludicrous speeds.

    @@ -1005,7 +1089,7 @@ It also removes any and all 'down ramps' that can remain after a cave-in (you do
-

feature

+

feature

Enables management of map features.

  • Discovering a magma feature (magma pool, volcano, magma sea, or curious @@ -1013,8 +1097,8 @@ underground structure) permits magma workshops and furnaces to be built.
  • Discovering a cavern layer causes plants (trees, shrubs, and grass) from that cavern to grow within your fortress.
-
@@ -1030,10 +1114,10 @@ that cavern to grow within your fortress.
-

filltraffic

+

filltraffic

Set traffic designations using flood-fill starting at the cursor.

@@ -1050,7 +1134,7 @@ that cavern to grow within your fortress.
-

Other Options:

+

Other Options:

@@ -1064,16 +1148,16 @@ that cavern to grow within your fortress.
-
-

Example:

+
+

Example:

'filltraffic H' - When used in a room with doors, it will set traffic to HIGH in just that room.

-

alltraffic

+

alltraffic

Set traffic designations for every single tile of the map (useful for resetting traffic designations).

-
-

Traffic Type Codes:

+
+

Traffic Type Codes:

@@ -1089,13 +1173,13 @@ that cavern to grow within your fortress.
-
-

Example:

+
+

Example:

'alltraffic N' - Set traffic to 'normal' for all tiles.

-

fixdiplomats

+

fixdiplomats

Up to version 0.31.12, Elves only sent Diplomats to your fortress to propose tree cutting quotas due to a bug; once that bug was fixed, Elves stopped caring about excess tree cutting. This command adds a Diplomat position to all Elven @@ -1104,36 +1188,36 @@ to violate them and potentially start wars) in case you haven't already modified your raws accordingly.

-

fixmerchants

+

fixmerchants

This command adds the Guild Representative position to all Human civilizations, allowing them to make trade agreements (just as they did back in 0.28.181.40d and earlier) in case you haven't already modified your raws accordingly.

-

fixveins

+

fixveins

Removes invalid references to mineral inclusions and restores missing ones. Use this if you broke your embark with tools like tiletypes, or if you accidentally placed a construction on top of a valuable mineral floor.

-

fixwagons

+

fixwagons

Due to a bug in all releases of version 0.31, merchants no longer bring wagons with their caravans. This command re-enables them for all appropriate civilizations.

-

flows

+

flows

A tool for checking how many tiles contain flowing liquids. If you suspect that your magma sea leaks into HFS, you can use this tool to be sure without revealing the map.

-

getplants

+

getplants

This tool allows plant gathering and tree cutting by RAW ID. Specify the types of trees to cut down and/or shrubs to gather by their plant names, separated by spaces.

-
-

Options

+
+

Options

@@ -1154,15 +1238,15 @@ all valid plant IDs will be listed.

-

tidlers

+

tidlers

Toggle between all possible positions where the idlers count can be placed.

-

twaterlvl

+

twaterlvl

Toggle between displaying/not displaying liquid depth as numbers.

-

job

+

job

Command for general job query and manipulation.

Options:
@@ -1179,7 +1263,7 @@ the job item.
-

job-material

+

job-material

Alter the material of the selected job.

Invoked as: job-material <inorganic-token>

@@ -1195,7 +1279,7 @@ over the first available choice with the matching material.
-

job-duplicate

+

job-duplicate

Duplicate the selected job in a workshop:
    @@ -1206,11 +1290,11 @@ instantly duplicates the job.
-

keybinding

+

keybinding

Manages DFHack keybindings.

Currently it supports any combination of Ctrl/Alt/Shift with F1-F9, or A-Z.

-
@@ -1238,7 +1322,7 @@ as a hotkey are always considered applicable.

-

liquids

+

liquids

Allows adding magma, water and obsidian to the game. It replaces the normal dfhack command line and can't be used from a hotkey. Settings will be remembered as long as dfhack runs. Intended for use in combination with the command @@ -1251,13 +1335,13 @@ temperatures (creating heat traps). You've been warned.

-

liquids-here

+

liquids-here

Run the liquid spawner with the current/last settings made in liquids (if no settings in liquids were made it paints a point of 7/7 magma by default).

Intended to be used as keybinding. Requires an active in-game cursor.

-

mode

+

mode

This command lets you see and change the game mode directly. Not all combinations are good for every situation and most of them will produce undesirable results. There are a few good ones though.

@@ -1271,11 +1355,11 @@ You just lost a fortress and gained an adventurer.

I take no responsibility of anything that happens as a result of using this tool

-

extirpate

+

extirpate

A tool for getting rid of trees and shrubs. By default, it only kills a tree/shrub under the cursor. The plants are turned into ashes instantly.

-
@@ -1291,24 +1375,24 @@ a tree/shrub under the cursor. The plants are turned into ashes instantly.

-

grow

+

grow

Makes all saplings present on the map grow into trees (almost) instantly.

-

immolate

+

immolate

Very similar to extirpate, but additionally sets the plants on fire. The fires can and will spread ;)

-

probe

+

probe

Can be used to determine tile properties like temperature.

-

prospect

+

prospect

Prints a big list of all the present minerals and plants. By default, only the visible part of the map is scanned.

-
@@ -1323,14 +1407,14 @@ the visible part of the map is scanned.

-

Pre-embark estimate

+

Pre-embark estimate

If called during the embark selection screen, displays an estimate of layer stone availability. If the 'all' option is specified, also estimates veins. The estimate is computed either for 1 embark tile of the blinking biome, or for all tiles of the embark rectangle.

-
-

Options

+
+

Options

@@ -1341,11 +1425,15 @@ for all tiles of the embark rectangle.

+
+

regrass

+

Regrows grass. Not much to it ;)

+
-

rename

+

rename

Allows renaming various things.

-
-

Options

+
+

Options

@@ -1370,7 +1458,7 @@ highlighted unit/creature.
-

reveal

+

reveal

This reveals the map. By default, HFS will remain hidden so that the demons don't spawn. You can use 'reveal hell' to reveal everything. With hell revealed, you won't be able to unpause until you hide the map again. If you really want @@ -1379,33 +1467,33 @@ to unpause with hell revealed, use 'reveal demons'.

you move. When you use it this way, you don't need to run 'unreveal'.

-

unreveal

+

unreveal

Reverts the effects of 'reveal'.

-

revtoggle

+

revtoggle

Switches between 'reveal' and 'unreveal'.

-

revflood

+

revflood

This command will hide the whole map and then reveal all the tiles that have a path to the in-game cursor.

-

revforget

+

revforget

When you use reveal, it saves information about what was/wasn't visible before revealing everything. Unreveal uses this information to hide things again. This command throws away the information. For example, use in cases where you abandoned with the fort revealed and no longer want the data.

-

lair

+

lair

This command allows you to mark the map as 'monster lair', preventing item scatter on abandon. When invoked as 'lair reset', it does the opposite.

Unlike reveal, this command doesn't save the information about tiles - you won't be able to restore state of real monster lairs using 'lair reset'.

-
@@ -1419,23 +1507,23 @@ won't be able to restore state of real monster lairs using 'lair reset'.

-

seedwatch

+

seedwatch

Tool for turning cooking of seeds and plants on/off depending on how much you have of them.

See 'seedwatch help' for detailed description.

-

showmood

+

showmood

Shows all items needed for the currently active strange mood.

-

copystock

+

copystock

Copies the parameters of the currently highlighted stockpile to the custom stockpile settings and switches to custom stockpile placement mode, effectively allowing you to copy/paste stockpiles easily.

-

ssense / stonesense

+

ssense / stonesense

An isometric visualizer that runs in a second window. This requires working graphics acceleration and at least a dual core CPU (otherwise it will slow down DF).

@@ -1448,18 +1536,84 @@ thread: http://df.magmawiki.com/index.php/Utility:Stonesense/Content_repository

-

tiletypes

-

Can be used for painting map tiles and is a interactive command, much like -liquids. You can paint tiles by their properties - shape, general material and -a few others (paint). You can also paint only over tiles that match a set -of properties (filter)

+

tiletypes

+

Can be used for painting map tiles and is an interactive command, much like +liquids.

+

The tool works with two set of options and a brush. The brush determines which +tiles will be processed. First set of options is the filter, which can exclude +some of the tiles from the brush by looking at the tile properties. The second +set of options is the paint - this determines how the selected tiles are +changed.

+

Both paint and filter can have many different properties including things like +general shape (WALL, FLOOR, etc.), general material (SOIL, STONE, MINERAL, +etc.), state of 'designated', 'hidden' and 'light' flags.

+

The properties of filter and paint can be partially defined. This means that +you can for example do something like this:

+
+filter material STONE
+filter shape FORTIFICATION
+paint shape FLOOR
+
+

This will turn all stone fortifications into floors, preserving the material.

+

Or this:

+
+filter material FLOOR
+filter shape MINERAL
+paint shape WALL
+
+

Turning mineral vein floors back into walls.

+

The tool also allows tweaking some tile flags:

+

Or this:

+
+paint hidden 1
+
+

This will hide previously revealed tiles.

+

Any paint or filter option can be disabled entirely by using the ANY keyword:

+
+paint hidden ANY
+paint shape ANY
+filter material any
+filter shape any
+
+
+
You can use several different brushes for painting tiles:
+
    +
  • Point. (point)
  • +
  • Rectangular range. (range)
  • +
  • A column ranging from current cursor to the first solid tile above. (column)
  • +
  • DF map block - 16x16 tiles, in a regular grid. (block)
  • +
+
+
+

Example:

+
+range 10 10 1
+
+

This will change the brush to a rectangle spanning 10x10 tiles on one z-level. +The range starts at the position of the cursor and goes to the east, south and +up.

For more details, see the 'help' command while using this.

+
+

tiletypes-commands

+

Runs tiletypes commands, separated by ;. This makes it possible to change +tiletypes modes from a hotkey.

+
+
+

tiletypes-here

+

Apply the current tiletypes options at the in-game cursor position, including +the brush. Can be used from a hotkey.

+
+
+

tiletypes-here-point

+

Apply the current tiletypes options at the in-game cursor position to a single +tile. Can be used from a hotkey.

+
-

tweak

+

tweak

Contains various tweaks for minor bugs (currently just one).

-
@@ -1500,22 +1654,22 @@ they are scuttled.
-

tubefill

+

tubefill

Fills all the adamantine veins again. Veins that were empty will be filled in too, but might still trigger a demon invasion (this is a known bug).

-

digv

+

digv

Designates a whole vein for digging. Requires an active in-game cursor placed over a vein tile. With the 'x' option, it will traverse z-levels (putting stairs between the same-material tiles).

-

digvx

+

digvx

A permanent alias for 'digv x'.

-

digl

+

digl

Designates layer stone for digging. Requires an active in-game cursor placed over a layer stone tile. With the 'x' option, it will traverse z-levels (putting stairs between the same-material tiles). With the 'undo' option it @@ -1523,16 +1677,16 @@ will remove the dig designation instead (if you realize that digging out a 50 z-level deep layer was not such a good idea after all).

-

diglx

+

diglx

A permanent alias for 'digl x'.

-

digexp

+

digexp

This command can be used for exploratory mining.

See: http://df.magmawiki.com/index.php/DF2010:Exploratory_mining

There are two variables that can be set: pattern and filter.

@@ -1553,7 +1707,7 @@ z-level deep layer was not such a good idea after all).

-

Filters:

+

Filters:

@@ -1568,8 +1722,8 @@ z-level deep layer was not such a good idea after all).

After you have a pattern set, you can use 'expdig' to apply it again.

-
-

Examples:

+
+

Examples:

designate the diagonal 5 patter over all hidden tiles:
    @@ -1590,11 +1744,11 @@ z-level deep layer was not such a good idea after all).

-

digcircle

+

digcircle

A command for easy designation of filled and hollow circles. It has several types of options.

-

Shape:

+

Shape:

@@ -1609,7 +1763,7 @@ It has several types of options.

-

Action:

+

Action:

@@ -1624,7 +1778,7 @@ It has several types of options.

-

Designation types:

+

Designation types:

@@ -1646,8 +1800,8 @@ It has several types of options.

After you have set the options, the command called with no options repeats with the last selected parameters.

-
-

Examples:

+
+

Examples:

  • 'digcircle filled 3' = Dig a filled circle with radius = 3.
  • 'digcircle' = Do it again.
  • @@ -1655,11 +1809,11 @@ repeats with the last selected parameters.

-

weather

+

weather

Prints the current weather map by default.

Also lets you change the current weather to 'clear sky', 'rainy' or 'snowing'.

-
@@ -1675,10 +1829,10 @@ repeats with the last selected parameters.

-

workflow

+

workflow

Manage control of repeat jobs.

-
-

Usage

+
+

Usage

workflow enable [option...], workflow disable [option...]

If no options are specified, enables or disables the plugin. @@ -1699,7 +1853,7 @@ Otherwise, enables or disables any of the following options:

-

Function

+

Function

When the plugin is enabled, it protects all repeat jobs from removal. If they do disappear due to any cause, they are immediately re-added to their workshop and suspended.

@@ -1710,7 +1864,7 @@ the amount has to drop before jobs are resumed; this is intended to reduce the frequency of jobs being toggled.

-

Constraint examples

+

Constraint examples

Keep metal bolts within 900-1000, and wood/bone within 150-200.

 workflow amount AMMO:ITEM_AMMO_BOLTS/METAL 1000 100
@@ -1748,19 +1902,19 @@ command.
 
-

mapexport

+

mapexport

Export the current loaded map as a file. This will be eventually usable with visualizers.

-

dwarfexport

+

dwarfexport

Export dwarves to RuneSmith-compatible XML.

-

zone

+

zone

Helps a bit with managing activity zones (pens, pastures and pits) and cages.

-
@@ -1798,8 +1952,8 @@ the cursor are listed.
-
-

Filters:

+
+

Filters:

@@ -1856,7 +2010,7 @@ for war/hunt). Negatable.
-

Usage with single units

+

Usage with single units

One convenient way to use the zone tool is to bind the command 'zone assign' to a hotkey, maybe also the command 'zone set'. Place the in-game cursor over a pen/pasture or pit, use 'zone set' to mark it. Then you can select units @@ -1865,7 +2019,7 @@ and use 'zone assign' to assign them to their new home. Allows pitting your own dwarves, by the way.

-

Usage with filters

+

Usage with filters

All filters can be used together with the 'assign' command.

Restrictions: It's not possible to assign units who are inside built cages or chained because in most cases that won't be desirable anyways. @@ -1883,14 +2037,14 @@ are not properly added to your own stocks; slaughtering them should work).

Most filters can be negated (e.g. 'not grazer' -> race is not a grazer).

-

Mass-renaming

+

Mass-renaming

Using the 'nick' command you can set the same nickname for multiple units. If used without 'assign', 'all' or 'count' it will rename all units in the current default target zone. Combined with 'assign', 'all' or 'count' (and further optional filters) it will rename units matching the filter conditions.

-

Cage zones

+

Cage zones

Using the 'tocages' command you can assign units to a set of cages, for example a room next to your butcher shop(s). They will be spread evenly among available cages to optimize hauling to and butchering from them. For this to work you need @@ -1900,8 +2054,8 @@ all cages you want to use. Then use 'zone set' (like with 'assign') and use would make no sense, but can be used together with 'nick' or 'remnick' and all the usual filters.

-
-

Examples

+
+

Examples

zone assign all own ALPACA minage 3 maxage 10
Assign all own alpacas who are between 3 and 10 years old to the selected @@ -1927,7 +2081,7 @@ on the current default zone.
-

autonestbox

+

autonestbox

Assigns unpastured female egg-layers to nestbox zones. Requires that you create pen/pasture zones above nestboxes. If the pen is bigger than 1x1 the nestbox must be in the top left corner. Only 1 unit will be assigned per pen, regardless @@ -1937,8 +2091,8 @@ to a 1x1 pasture is not a good idea. Only tame and domesticated own units are processed since pasturing half-trained wild egglayers could destroy your neat nestbox zones when they revert to wild. When called without options autonestbox will instantly run once.

-
-

Options:

+
+

Options:

@@ -1956,7 +2110,7 @@ frames between runs.
-

autobutcher

+

autobutcher

Assigns lifestock for slaughter once it reaches a specific count. Requires that you add the target race(s) to a watch list. Only tame units will be processed.

Named units will be completely ignored (to protect specific animals from @@ -1969,8 +2123,8 @@ units or with 'zone nick' to mass-rename units in pastures and cages).

Once you have too much kids, the youngest will be butchered first. If you don't set any target count the following default will be used: 1 male kid, 5 female kids, 1 male adult, 5 female adults.

-
@@ -2022,8 +2176,8 @@ for future entries.
-
-

Examples:

+
+

Examples:

You want to keep max 7 kids (4 female, 3 male) and max 3 adults (2 female, 1 male) of the race alpaca. Once the kids grow up the oldest adults will get slaughtered. Excess kids will get slaughtered starting with the youngest @@ -2054,7 +2208,7 @@ autobutcher unwatch ALPACA CAT

-

Note:

+

Note:

Settings and watchlist are stored in the savegame, so that you can have different settings for each world. If you want to copy your watchlist to another savegame you can use the command list_export:

@@ -2067,6 +2221,19 @@ autobutcher.bat
+
+

autolabor

+

Automatically manage dwarf labors.

+

When enabled, autolabor periodically checks your dwarves and enables or +disables labors. It tries to keep as many dwarves as possible busy but +also tries to have dwarves specialize in specific skills.

+
+

Note

+

Warning: autolabor will override any manual changes you make to labors +while it is enabled.

+
+

For detailed usage information, see 'help autolabor'.

+
diff --git a/plugins/CMakeLists.txt b/plugins/CMakeLists.txt index b520c5f19..4bfb392a2 100644 --- a/plugins/CMakeLists.txt +++ b/plugins/CMakeLists.txt @@ -102,6 +102,8 @@ if (BUILD_SUPPORTED) DFHACK_PLUGIN(feature feature.cpp) DFHACK_PLUGIN(lair lair.cpp) DFHACK_PLUGIN(zone zone.cpp) + DFHACK_PLUGIN(catsplosion catsplosion.cpp) + DFHACK_PLUGIN(regrass regrass.cpp) # this one exports functions to lua DFHACK_PLUGIN(burrows burrows.cpp LINK_LIBRARIES lua) # not yet. busy with other crud again... diff --git a/plugins/devel/catsplosion.cpp b/plugins/catsplosion.cpp similarity index 96% rename from plugins/devel/catsplosion.cpp rename to plugins/catsplosion.cpp index 3c213d0a2..179aec2fd 100644 --- a/plugins/devel/catsplosion.cpp +++ b/plugins/catsplosion.cpp @@ -35,9 +35,9 @@ DFhackCExport command_result plugin_init ( color_ostream &out, std::vector & parameters) str << ":" << amount << ":" << flowmode << ":" << setmode << "]#"; if(out.lineedit(str.str(),command,liquids_hist) == -1) return CR_FAILURE; + liquids_hist.add(command); if(command=="help" || command == "?") { diff --git a/plugins/devel/regrass.cpp b/plugins/regrass.cpp similarity index 100% rename from plugins/devel/regrass.cpp rename to plugins/regrass.cpp diff --git a/plugins/tiletypes.cpp b/plugins/tiletypes.cpp index 546f9c2c5..73ec9f963 100644 --- a/plugins/tiletypes.cpp +++ b/plugins/tiletypes.cpp @@ -859,6 +859,7 @@ command_result df_tiletypes (color_ostream &out_, vector & parameters) if (out.lineedit("tiletypes> ",input,tiletypes_hist) == -1) return CR_FAILURE; + tiletypes_hist.add(input); commands.clear(); Core::cheap_tokenise(input, commands); diff --git a/plugins/tweak.cpp b/plugins/tweak.cpp index 43b557fef..2daa9063b 100644 --- a/plugins/tweak.cpp +++ b/plugins/tweak.cpp @@ -56,10 +56,17 @@ DFhackCExport command_result plugin_init (color_ostream &out, std::vector