From d57e84fc0f23745a2b609f478c15bc1fc81bf49b Mon Sep 17 00:00:00 2001 From: PeridexisErrant Date: Fri, 25 Sep 2015 15:47:13 +1000 Subject: [PATCH] Document all missing plugins, update NEWS Checked with a throwaway script, and added the missing entries. NEWS now has a comment on how to use the file, which is only visible in the raw text version. Added the documentation changes to NEWS. --- NEWS | 13 +++++++ docs/Core.rst | 5 +++ docs/Plugins.rst | 89 +++++++++++++++++++++++++++++++++++++++++++++++- docs/Scripts.rst | 4 +++ 4 files changed, 110 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index db0959934..8f73a0b9d 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,10 @@ +.. comment + This is the changelog file for DFHack. If you add or change anything, note + it here under the heading "DFHack Future", in the appropriate section. + Items within each section are listed in order of addition. Try to match the + style and level of detail of the other entries. + + DFHack Future ============= :: @@ -72,6 +79,12 @@ DFHack Future - Note: Existing stuck jobs must be cancelled and re-added zone: Fixed a crash when using "zone set" (and a few other potential crashes) Misc Improvements + DFHack documentation: + - massively reorganised, into files of more readable size + - added many missing entries + - indexes, internal links, offline search all documents + - includes documentation of linked projects (df-structures, 3rdparty scripts) + - better HTML generation with Sphinx autolabor: - Stopped modification of labors that shouldn't be modified for brokers/diplomats - Prioritize skilled dwarves more efficiently diff --git a/docs/Core.rst b/docs/Core.rst index 679fb841c..91d2fdb96 100644 --- a/docs/Core.rst +++ b/docs/Core.rst @@ -254,6 +254,11 @@ Opens an in-game screen showing DFHack keybindings that are active in the curren Type ``hotkeys`` into the DFHack console to open the screen, or bind the command to a globally active hotkey. The default keybinding is ``Ctrl-F1``. +In-game Console +=============== +The ``command-prompt`` plugin adds an in-game DFHack terminal, where you +can enter other commands. It's default keybinding is Ctrl-Shift-P. + Enabling plugins ================ Many plugins can be in a distinct enabled or disabled state. Some of diff --git a/docs/Plugins.rst b/docs/Plugins.rst index fab08ff7f..500235994 100644 --- a/docs/Plugins.rst +++ b/docs/Plugins.rst @@ -542,6 +542,18 @@ toggle this option on, instead of returning you to the main construction menu af materials, it returns you back to this screen. If you use this along with several autoselect enabled materials, you should be able to place complex constructions more conveniently. +buildingplan +------------ +When active (via ``enable buildingplan``), this plugin adds a planning mode for +furniture placement. You can then place furniture and other buildings before +the required materials are available, and the job will be unsuspended when +the item is created. + +Very useful when combined with `plugins/workflow` - you can set a constraint +to always have one or two doors/beds/tables/chairs/etc available, and place +as many as you like. The plugins then take over and fulfill the orders, +with minimal space dedicated to stockpiles. + confirm ------- Implements several confirmation dialogs for potentially destructive actions @@ -561,6 +573,23 @@ Makes the game view follow the currently highlighted unit after you exit from th current menu or cursor mode. Handy for watching dwarves running around. Deactivated by moving the view manually. +mousequery +---------- +Adds mouse controls to the DF interface, eg click-and-drag designations. + +Options: + +:plugin: enable/disable the entire plugin +:rbutton: enable/disable right mouse button +:track: enable/disable moving cursor in build and designation mode +:edge: enable/disable active edge scrolling (when on, will also enable tracking) +:live: enable/disable query view when unpaused +:delay: Set delay when edge scrolling in tracking mode. Omit amount to display current setting. + +Usage:: + + mousequery [plugin] [rbutton] [track] [edge] [live] [enable|disable] + .. _plugins/resume: resume @@ -985,6 +1014,25 @@ Examples: ``autolabor CUTWOOD disable`` Turn off autolabor for wood cutting. +autohauler +---------- +Rather than the all-of-the-above means of autolabor, autohauler will instead +only manage hauling labors and leave skilled labors entirely to the user, who +will probably use Dwarf Therapist to do so. + +Idle dwarves will be assigned the hauling labors; everyone else (including +those currently hauling) will have the hauling labors removed. This is to +encourage every dwarf to do their assigned skilled labors whenever possible, +but resort to hauling when those jobs are not available. This also implies +that the user will have a very tight skill assignment, with most skilled +labors only being assigned to just one dwarf, no dwarf having more than two +active skilled labors, and almost every non-military dwarf having at least +one skilled labor assigned. + +Autohauler allows skills to be flagged as to prevent hauling labors from +being assigned when the skill is present. By default this is the unused +ALCHEMIST labor but can be changed by the user. + Job management ============== @@ -1328,6 +1376,10 @@ Some widgets support additional options: displayed as ``-1`` when the cursor is outside of the DF window; otherwise, nothing will be displayed. +workNow +------- +Force all dwarves to look for a job immediately, or as soon as the game is unpaused. + seedwatch --------- Watches the numbers of seeds available and enables/disables seed and plant cooking. @@ -1615,6 +1667,23 @@ cycle runs once every in game day. If you add ``enable getplants`` to your dfhack.init there will be a hotkey to open the dashboard from the chop designation menu. +treefarm +-------- +Automatically manages special burrows and regularly schedules tree chopping +and digging when appropriate. + +Every time the plugin runs, it checks for burrows with a name containing the +string ``"treefarm"``. For each such burrow, it checks every tile in it for +fully-grown trees and for diggable walls. For each fully-grown tree it finds, +it designates the tree to be chopped, and for each natural wall it finds, it +designates the wall to be dug. + +Usage: + +:treefarm: Enables treefarm monitoring, starting next frame +:treefarm n: Enables treefarm monitoring, starting next frame, and sets + interval to n frames. If n is less than one, disables monitoring. + ============== Adventure mode @@ -1763,6 +1832,14 @@ Examples: ``changeitem q 5`` Change currently selected item to masterpiece quality. +cleanconst +========== +Cleans up construction materials. + +This utility alters all constructions on the map so that they spawn their +building component when they are disassembled, allowing their actual +build items to be safely deleted. This can improve FPS in extreme situations. + colonies ======== Allows listing all the vermin colonies on the map and optionally turning @@ -2109,6 +2186,16 @@ but do jobs at the same speed. :fastdwarf 0 1: disables speedydwarf and enables teledwarf :fastdwarf 1 1: enables both +.. _plugins/forceequip: + +forceequip +========== +Forceequip moves local items into a unit's inventory. It is typically used to +equip specific clothing/armor items onto a dwarf, but can also be used to put +armor onto a war animal or to add unusual items (such as crowns) to any unit. + +For more information run ``forceequip help``. See also `scripts/modtools/equip-item`. + lair ==== This command allows you to mark the map as a monster lair, preventing item @@ -2338,7 +2425,7 @@ can easily result in inconsistent state once this plugin is available again. The effects may be as weird as negative power being generated. -Add Spatter +add-spatter ----------- This plugin makes reactions with names starting with ``SPATTER_ADD_`` produce contaminants on the items instead of improvements. The produced diff --git a/docs/Scripts.rst b/docs/Scripts.rst index 807aa179b..e7203694c 100644 --- a/docs/Scripts.rst +++ b/docs/Scripts.rst @@ -544,11 +544,15 @@ modtools/create-unit ==================== Creates a unit. +.. _scripts/modtools/equip-item: + modtools/equip-item =================== Force a unit to equip an item; useful in conjunction with the ``create`` scripts above. +See also `plugins/forceequip`. + modtools/force ============== This tool triggers events like megabeasts, caravans, invaders, and migrants.