<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://dwarffortresswiki.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Joelpt</id>
	<title>Dwarf Fortress Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://dwarffortresswiki.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Joelpt"/>
	<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php/Special:Contributions/Joelpt"/>
	<updated>2026-04-10T14:52:42Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.11</generator>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Quickfort_Community_Blueprints&amp;diff=132227</id>
		<title>Quickfort Community Blueprints</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Quickfort_Community_Blueprints&amp;diff=132227"/>
		<updated>2010-11-22T21:59:27Z</updated>

		<summary type="html">&lt;p&gt;Joelpt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Below is a list of Quickfort-compatible blueprints created by Dwarf Fortress community members.&lt;br /&gt;
&lt;br /&gt;
Feel free to add your own contributions. Multifile blueprint sets should be packaged as a .zip file.&lt;br /&gt;
&lt;br /&gt;
*NOTE: After creating this page I realized you cannot upload .csv or .zip files here.&lt;/div&gt;</summary>
		<author><name>Joelpt</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Quickfort_Community_Blueprints&amp;diff=132226</id>
		<title>Quickfort Community Blueprints</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Quickfort_Community_Blueprints&amp;diff=132226"/>
		<updated>2010-11-22T21:59:15Z</updated>

		<summary type="html">&lt;p&gt;Joelpt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Below is a list of Quickfort-compatible blueprints created by Dwarf Fortress community members.&lt;br /&gt;
&lt;br /&gt;
Feel free to add your own contributions. Multifile blueprint sets should be packaged as a .zip file.&lt;br /&gt;
&lt;br /&gt;
*NOTE: After creating this page I realized you cannot upload .csv or .zip files here.*&lt;/div&gt;</summary>
		<author><name>Joelpt</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=v0.31:Utilities&amp;diff=132225</id>
		<title>v0.31:Utilities</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=v0.31:Utilities&amp;diff=132225"/>
		<updated>2010-11-22T21:58:08Z</updated>

		<summary type="html">&lt;p&gt;Joelpt: /* Quickfort */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{AV}}&lt;br /&gt;
{{Quality|Exceptional}}&lt;br /&gt;
 Please only list utilities that are known to work with the newest version here.&lt;br /&gt;
&lt;br /&gt;
Here are third party applications useful for Dwarf Fortress.&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Dwarf Fortress filesharing services==&lt;br /&gt;
&lt;br /&gt;
=== [http://dffd.wimbli.com/ Dwarf Fortress File Depot] ===&lt;br /&gt;
The Dwarf Fortress File Upload Service - an excellent place to store mods, community games, tilesets and other files. Courtesy of [[User:Janus|Janus]]; for files related to Dwarf Fortress only.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [http://mkv25.net/dfma/ DF Map Archive] ===&lt;br /&gt;
&lt;br /&gt;
* http://mkv25.net/dfma/&lt;br /&gt;
&lt;br /&gt;
The Dwarf Fortress Map Archive is a large collection of user-submitted maps and a nice flash viewer for perusing them.  &lt;br /&gt;
Maps are uploaded, stored, and downloaded in a special compressed format created by the DF Map Compressor (see below).&lt;br /&gt;
&lt;br /&gt;
Read more about the [[User:Markavian/DF_Map_Archive|DF Map Archive]] on [[User:Markavian|Markavian]]'s User page.&lt;br /&gt;
&lt;br /&gt;
=== DF Map Compressor ===&lt;br /&gt;
&lt;br /&gt;
*[http://shadowlord13.googlepages.com/dfmap-index.html SL's DF Map Compressor - Website] (currently not accessible)&lt;br /&gt;
*Download from [http://dffd.wimbli.com/file.php?id=997 DF File Depot]&lt;br /&gt;
&lt;br /&gt;
The DF Map Compressor encodes multiple bitmaps exported from Dwarf Fortress into a single, very compressed, .fdf-map file, and functions as a viewer for this format.  It can also export the maps to PNG format.  &lt;br /&gt;
&lt;br /&gt;
The .fdf-map file can then be shared with your friends by uploading to the [http://mkv25.net/dfma/ DF Map Archive] that features an online viewer (written in Flash).&lt;br /&gt;
&lt;br /&gt;
The map compressor was created by Shadowlord in May 2007.  The web site is currently not accessible.  Extract from the website :&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;quot;The '''DF Map Compressor''' is a program I made to encode Dwarf Fortress fortress or world map images into a much smaller format than is possible with normal image formats. Here's a quick summary of how it works: It determines the size of your tiles from your DF font file (or asks you), splits the map up into tiles, identifies duplicate tiles, writes out every unique tile image, and then writes out a list of ID#s for each tile position which points to the tile image for that tile.  What it outputs is piped through the LZMA compressor (the one used in 7-zip), to compress it further.  The .df-map file which it writes out is usually less than 100 KB in size. (By comparison, a PNG of the same map can exceed 2 megabytes, depending on how well you compress it, whether you change the color depth, and whether you are using a graphical tileset or detailed font).&amp;quot;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There is a little bit of information at the [http://dffd.wimbli.com/file.php?id=997 DF File Depot] page, where the compressor can be downloaded:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;quot;It requires either .NET 2.0 or newer (If you have Windows Vista, you already have this, if not, you might need to get it), or if you're on Linux or a Mac or other non-Windows OS, requires Mono.&lt;br /&gt;
* .NET 2.0: http://www.microsoft.com/downloads/details.aspx?familyid=0856eacb-4362-4b0d-8edd-aab15c5e04f5&lt;br /&gt;
* Mono: http://www.mono-project.com/&amp;quot;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To get it working on OSX, according to [http://www.bay12forums.com/smf/index.php?topic=64174.msg1511109#msg1511109 this forum post]:&lt;br /&gt;
:1. [http://www.go-mono.com/mono-downloads/ download the Mono Framework] and install it.  If you're on a modern Mac, you want the [http://ftp.novell.com/pub/mono/archive/2.8.1/macos-10-x86/3/MonoFramework-2.8.1_3.macos10.novell.x86.dmg latest Intel version], which requires OSX 10.5 or 10.6.  [http://www.mono-project.com/OldReleases Older versions are available] but no longer supported.&lt;br /&gt;
:2. export your map from Dwarf Fortress (Esc -&amp;gt; Export Local Image)&lt;br /&gt;
:3. download the [http://dffd.wimbli.com/file.php?id=997 DF Map Compressor from the DF File Depot].&lt;br /&gt;
:4. open the terminal, navigate to the DF Map Compressor folder and type:&lt;br /&gt;
 mono DwarfFortressMapCompressor.3.3.4.exe&lt;br /&gt;
:5. WAIT a bit for the DF Map Compressor windows to appear (''I almost thought it had crashed, it's rather slow'')&lt;br /&gt;
:6. follow the on screen instructions&lt;br /&gt;
&lt;br /&gt;
== 3D Visualizers ==&lt;br /&gt;
&lt;br /&gt;
=== [[Utility:Stonesense|Stonesense]] ===&lt;br /&gt;
[[File:stonesense.jpg|208px|thumb|right|Stonesense Screenshot]]&lt;br /&gt;
''by Jonask, Solifuge, Kaypy and Japa''&lt;br /&gt;
&lt;br /&gt;
Stonesense is a third party real-time visualizer that lets you view your Dwarf Fortress world in a classic isometric perspective.&lt;br /&gt;
&lt;br /&gt;
More information is available in [http://www.bay12games.com/forum/index.php?topic=43260.0 this forum thread].&lt;br /&gt;
&lt;br /&gt;
Stonesense is now in version 2.1 Slate, supports v0.31.12 - [http://stonesense.googlecode.com/files/Stonesense_Slate_2.1.zip Download]&lt;br /&gt;
&lt;br /&gt;
=== [[Utility:Overseer|Fortress Overseer]] ===&lt;br /&gt;
''by thewonderidiot and sexymustard''&lt;br /&gt;
&lt;br /&gt;
Overseer is a full 3D visualizer for DF2010 using the DFHack library. Its appearance is highly customizable and will be even more so in the near future. Check out its [http://www.bay12forums.com/smf/index.php?topic=63484.0 forum thread] for more details or download it from [http://dffd.wimbli.com/file.php?id=2922 here].&lt;br /&gt;
&lt;br /&gt;
== Interface tools ==&lt;br /&gt;
&lt;br /&gt;
===[http://www.bay12games.com/forum/index.php?topic=50643.0 Dfterm2]===&lt;br /&gt;
&lt;br /&gt;
Dfterm2 is a tool to run Dwarf Fortress via terminals remotely. Multiple people can connect and watch or join in.&lt;br /&gt;
&lt;br /&gt;
Main article here: [[Dfterm2]].&lt;br /&gt;
&lt;br /&gt;
== Game manipulation tools ==&lt;br /&gt;
&lt;br /&gt;
=== [http://dffd.wimbli.com/file.php?id=645 Reveal] ===&lt;br /&gt;
&lt;br /&gt;
The standalone Reveal utility is obsolete due to missing source code.  [[DF2010:Utilities#DFHack|DFHack]]'s dfreveal module works like Reveal did, and has built-in undo capability.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=-2&amp;gt;Reveal (or Reveal.exe as it is commonly referred to) is a program that runs alongside Dwarf Fortress and shows all &amp;quot;unexplored&amp;quot; or &amp;quot;undug&amp;quot; tiles of the map (in fortress mode).  To reveal entire map designate the entire bottom level to be mined and then remove designation before running reveal (Not required in the latest version using the parameters below, simply start the .exe file.). Playing on revealed map might ''(read &amp;quot;will&amp;quot;)'' cause some bugs (like not being able to build magma buildings or a tower-cap farm, losing all plants/trees on the map, and a lot more).  '''Using Reveal has been known to corrupt saved game folders.''' and, as such, it is highly recommended to only use Reveal to preview a biome's layout and then restart without running Reveal.&lt;br /&gt;
&amp;lt;/font size&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===[http://www.bay12forums.com/smf/index.php?topic=66525 Dwarf Therapist]===&lt;br /&gt;
&lt;br /&gt;
Dwarf Therapist gives you an advanced GUI to manage and check dwarf job allocations, military assignments (40d), statistics (such as attributes, personality traits and happiness), plus sort dwarves by various criteria (eg. profession, migration wave, happiness, number of assigned jobs etc.) and generally manage the Dwarven Resources of your fortress in a very convenient way. &lt;br /&gt;
&lt;br /&gt;
Version 0.6.4 is out (October 4, 2010). This version supports DF builds up to 0.31.16&amp;lt;!--, although information on patches for newer versions can be found below--&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
''NOTE'': This project is currently seeking a new maintainer.&lt;br /&gt;
&lt;br /&gt;
New dedicated support forum: http://code.google.com/p/dwarftherapist/&lt;br /&gt;
&lt;br /&gt;
Read the full changelog here: http://code.google.com/p/dwarftherapist/source/browse/CHANGELOG.txt&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Patch for ver. 0.31.12 found here: http://dffd.wimbli.com/file.php?id=2822--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Instruction for making it work with new versions here: http://code.google.com/p/dwarftherapist/wiki/MappingNewVersions This page also tends to have the new addresses within an hour or two of new releases of Dwarf Fortress.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.bay12forums.com/smf/index.php?topic=59056.0 Runesmith] ===&lt;br /&gt;
Runesmith is a Dwarf information viewing and editing tool inspired by the original Dwarf Companion. It uses the DFHack library to interface with Dwarf Fortress and Qt to provide a robust and professional looking cross-platform GUI. http://www.bay12forums.com/smf/index.php?topic=59056.0&lt;br /&gt;
&lt;br /&gt;
Version 0.1.7 is out for Windows, currently supporting 0.31.16. Since it uses DFHack, all versions of DF that DFHack supports, Runesmith supports!&lt;br /&gt;
&lt;br /&gt;
    * Windows: http://dffd.wimbli.com/file.php?id=2538&lt;br /&gt;
    * Linux: to follow (the windows one is reported to work fine under wine though)&lt;br /&gt;
&lt;br /&gt;
&amp;quot;A tool that allows smithing (editing) of the digits and runes (letters) that control all life in DF. By smithing these runes, the metagods (players) can meddle with DF mortals to suit their games, be it recasting a soul into a new species body, blessing and cursing indiviudals or just to make predictions of when a mortal will attain the next degree of competence to guide them on how they should spend their limited time.&amp;quot; - Psieye - (http://www.bay12forums.com/smf/index.php?topic=57003.msg1324765#msg1324765)&lt;br /&gt;
&lt;br /&gt;
=== [http://www.bay12forums.com/smf/index.php?topic=58809 DFHack] ===&lt;br /&gt;
&lt;br /&gt;
DFHack is a Dwarf Fortress memory access library and a set of basic tools using this library. The library is a work in progress, so things might change as more tools are written for it. The current (0.5.0.2) release only supports versions 0.31.01 - 0.31.03 Legacy, 0.31.04 - 0.31.16 SDL, and 0.31.05 - 0.31.14 on Linux. It consists of some of the more useful DFHack tools.&lt;br /&gt;
&lt;br /&gt;
Code and binary releases are available from the [http://github.com/peterix/dfhack/downloads Github site].&lt;br /&gt;
&lt;br /&gt;
=== DFhack tools for DF 2010 ===&lt;br /&gt;
==== dfcleanmap ====&lt;br /&gt;
Cleans all the bloodsmears that get scattered all over the map.&lt;br /&gt;
==== dfliquids ====&lt;br /&gt;
Allows creating liquids (water and magma), making them flow or preventing them from flowing. Newly also allows making obsidian walls. It's a command-prompt style utility where you type in very simple commands. Replaces the older magma_create tool.&lt;br /&gt;
&lt;br /&gt;
Use like this:&lt;br /&gt;
&lt;br /&gt;
game: place 'k' cursor on the tile or on the upper left corner of the area to manipulate.&lt;br /&gt;
&lt;br /&gt;
tool: enter 'range' in the tool and specify width and height of the rectangle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
- remove water&lt;br /&gt;
&lt;br /&gt;
'w'&lt;br /&gt;
'0'&lt;br /&gt;
's-'&lt;br /&gt;
&amp;lt;ENTER&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- create obsidian wall (only works for a single tile, even if a range is specified)&lt;br /&gt;
&lt;br /&gt;
'o'&lt;br /&gt;
'1'&lt;br /&gt;
's.'&lt;br /&gt;
&amp;lt;ENTER&amp;gt;&lt;br /&gt;
&lt;br /&gt;
note that previously existing water or magma still stays at this spot.&lt;br /&gt;
&lt;br /&gt;
- create magma&lt;br /&gt;
&lt;br /&gt;
'm'&lt;br /&gt;
'7'&lt;br /&gt;
's+'&lt;br /&gt;
&amp;lt;ENTER&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== dfprospector ====&lt;br /&gt;
Lists all available minerals on the map and how much of them there is.&lt;br /&gt;
==== dfreveal ====&lt;br /&gt;
Pauses the game and reveals the whole map, then unreveals it afterwards (unless you press Ctrl+C). Use with caution, releases [[HFS]]! Same warnings as to the original Reveal tool apply.&lt;br /&gt;
&lt;br /&gt;
==== dfvdig ====&lt;br /&gt;
Designates a whole vein for digging. When using the '-x' option, it will dig stairs into other z-levels. Point the cursor at a vein and run this thing :)&lt;br /&gt;
&lt;br /&gt;
=== [[Utility:DwarfForeman|Dwarf Foreman]] ===&lt;br /&gt;
Dwarf Foreman is a third party program to automatically dispatch jobs to your workers. &lt;br /&gt;
&lt;br /&gt;
=== [[Utility:DwarfScript|Dwarf Script]] ===&lt;br /&gt;
Dwarf Script is a program and allows you to manipulate DF's memory using a script.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fortress layout tools ==&lt;br /&gt;
&lt;br /&gt;
=== [http://sun2design.com/quickfort/ Quickfort] ===&lt;br /&gt;
&lt;br /&gt;
Quickfort is an AutoHotkey-based utility for Dwarf Fortress that helps you build fortresses from &amp;quot;blueprint&amp;quot; .CSV files (comma separated values). These files are easily created and edited in an app like Excel. Most building-oriented DF commands are supported through the use of multiple .CSV files to describe the different phases of DF construction (designation, building, stockpiles, and making adjustments.&lt;br /&gt;
&lt;br /&gt;
=== [[User:Soundandfury/DF_Designer|DF Designer]] ===&lt;br /&gt;
DF Designer, by [[User:Soundandfury|soundnfury]] is a fort layout planning tool.  It enables you to work out your designs before you start to build, and even see how they look in 3-D.&lt;br /&gt;
It's written in C with SDL, and both Linux and Windows builds are available.  The source code is freely available under the GPL.&lt;br /&gt;
Since DF Designer does not 'talk to' Dwarf Fortress, it is version-independent. Supports exporting to Quickfort-compatible CSV files.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.bay12forums.com/smf/index.php?topic=55025.0 ChromaFort] ===&lt;br /&gt;
Chromafort allows you to convert 24-bit bitmap (.bmp) images into Quickfort-compatible CSV files.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.bay12forums.com/smf/index.php?topic=64723.15 DF Architect] ===&lt;br /&gt;
DF Architect is a short cut to using Chromafort in conjunction with DF Designer. It uses 24-bit bitmap files and directly designates them into Dwarf Fortress. It is an early release program and currently only supports digging, stairs (up, down, and both), and ramps. Its defining feature is the use of an 'index' which allows for the designer to visually connect the cursor to the image. Be careful when using this program as it had no abort or terminating ability while designating, nor will it check to see if you've uploaded correct formats.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.irritablegourmet.com/dwarf/index.htm Quickfort Mapping Tool] ===&lt;br /&gt;
Quickfort Mapping Tool is a simple to use web app for creating Quickfort blueprints graphically.&lt;br /&gt;
&lt;br /&gt;
== Modding tools ==&lt;br /&gt;
&lt;br /&gt;
=== [http://dffd.wimbli.com/file.php?id=2068 Custom Workshop Workshop] ===&lt;br /&gt;
WYSIWYG editor for designing the raws for a custom workshop.&lt;br /&gt;
(Not all raws, just the tiles and colors)  Lets you see how it will look at each stage of construction.  Comes with the default 16x16 CURSES font built in, but you can load any .BMP formatted DF font you like, keeping in mind that if its bigger than 16x16 it won't fit.&lt;br /&gt;
&lt;br /&gt;
Accommodates up to 32x32 workshops, not that there's any reason for such a large workshop, right?&lt;br /&gt;
&lt;br /&gt;
=== [http://dffd.wimbli.com/file.php?id=1996 Uristmod] ===&lt;br /&gt;
A program which uses text files to automatically change/update raw files.  Makes installation of mods easier.  However at this time, the documentation is a little confusing and makes creating mods harder for beginners.  [http://www.bay12forums.com/smf/index.php?topic=53028.0 Forum Thread]&lt;br /&gt;
&lt;br /&gt;
=== [http://dffd.wimbli.com/file.php?id=2088 Accent replacement tool] ===&lt;br /&gt;
A small application to remove accented characters from a file. A quick solution if you need the language files for a tileset that has images in place of special characters.&lt;br /&gt;
Alternatively, you can use this 20-line perl script: http://github.com/rofl0r/df-mayday/blob/master/charfix.pl&lt;br /&gt;
&lt;br /&gt;
== Raw tile tools ==&lt;br /&gt;
&lt;br /&gt;
=== [[Raw tile selector]] ===&lt;br /&gt;
&lt;br /&gt;
Provides an easy to use graphical interface to select which tiles and colors should be displayed for plants, stones and small creatures.&lt;br /&gt;
&lt;br /&gt;
Made to ease the job of creators of tilesets with edited raws. It will also be useful for users that dislike decisions made by tileset creators or users that could not find the edited raws for a tileset.&lt;br /&gt;
&lt;br /&gt;
[http://dffd.wimbli.com/file.php?id=2113 Download]&lt;br /&gt;
&lt;br /&gt;
Currently for windows only.&lt;br /&gt;
&lt;br /&gt;
=== Raw tile merger ===&lt;br /&gt;
Provides an easy to use interface to change the tile and color data of raws to match the data of another set of raw files.&lt;br /&gt;
&lt;br /&gt;
Made to ease the job of creators of tilesets with edited raws when new versions of df are released. The edited raws for your tileset for a new df version can now be created with a few clicks.&lt;br /&gt;
&lt;br /&gt;
[http://dffd.wimbli.com/file.php?id=2178 Download]&lt;br /&gt;
&lt;br /&gt;
== World Map / World Gen Tools ==&lt;br /&gt;
&lt;br /&gt;
=== [http://www.bay12forums.com/smf/index.php?topic=57428 PerfectWorldDF] ===&lt;br /&gt;
Very detailed Windows program to help create customize world gens.&lt;br /&gt;
&amp;lt;br&amp;gt;[http://www.bay12forums.com/smf/index.php?topic=57428 Bay 12 forum link]&lt;br /&gt;
&amp;lt;br&amp;gt;[http://dffd.wimbli.com/file.php?id=2354 Dwarf Fortress File Depot link (may be old version)]&lt;br /&gt;
&amp;lt;br&amp;gt;[http://dffd.wimbli.com/who.php?id=1314 Dwarf Fortress File Depot listing for the author]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other/miscellaneous ==&lt;br /&gt;
&lt;br /&gt;
=== [http://winmerge.org/ WinMerge] ===&lt;br /&gt;
Winmerge allows you to compare the contents of folders or files. It highlights any differences between files and allows you to merge them. It is most useful for modders or users of mods. If you compare modified raw files with unmodified ones you can quickly see any differences.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Tools under development =&lt;br /&gt;
&lt;br /&gt;
'''The tools listed below are under development for DF 2010, but cannot perform the task they are intended for at this time.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[Utility:Obsidian|Obsidian]] ===&lt;br /&gt;
''by Skeggox''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Obsidian is a toolset for converting DF maps into a renderable scene, manipulating the result, and displaying it directly in 3D or exporting to 3rd party renderers and raytracers.&lt;br /&gt;
&lt;br /&gt;
Its a modular Lua framework, using Open Scene Graph for rendering and DFHack for talking with Dwarf Fortress.&lt;br /&gt;
&lt;br /&gt;
This [http://www.bay12forums.com/smf/index.php?topic=57920.0 forum thread] has more detail.&lt;/div&gt;</summary>
		<author><name>Joelpt</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Quickfort_Community_Blueprints&amp;diff=132224</id>
		<title>Quickfort Community Blueprints</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Quickfort_Community_Blueprints&amp;diff=132224"/>
		<updated>2010-11-22T21:56:18Z</updated>

		<summary type="html">&lt;p&gt;Joelpt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Below is a list of Quickfort-compatible blueprints created by Dwarf Fortress community members.&lt;br /&gt;
&lt;br /&gt;
Feel free to add your own contributions. Multifile blueprint sets should be packaged as a .zip file.&lt;/div&gt;</summary>
		<author><name>Joelpt</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Quickfort_Community_Blueprints&amp;diff=132223</id>
		<title>Quickfort Community Blueprints</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Quickfort_Community_Blueprints&amp;diff=132223"/>
		<updated>2010-11-22T21:56:02Z</updated>

		<summary type="html">&lt;p&gt;Joelpt: Created page with 'Below is a list of Quickfort-compatible blueprints created by Dwarf Fortress community members. Feel free to add your own contributions. Multifile blueprint sets should be packag…'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Below is a list of Quickfort-compatible blueprints created by Dwarf Fortress community members. Feel free to add your own contributions. Multifile blueprint sets should be packaged as a .zip file.&lt;/div&gt;</summary>
		<author><name>Joelpt</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=v0.31:Utilities&amp;diff=132221</id>
		<title>v0.31:Utilities</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=v0.31:Utilities&amp;diff=132221"/>
		<updated>2010-11-22T21:53:10Z</updated>

		<summary type="html">&lt;p&gt;Joelpt: /* Fortress layout tools */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{AV}}&lt;br /&gt;
{{Quality|Exceptional}}&lt;br /&gt;
 Please only list utilities that are known to work with the newest version here.&lt;br /&gt;
&lt;br /&gt;
Here are third party applications useful for Dwarf Fortress.&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Dwarf Fortress filesharing services==&lt;br /&gt;
&lt;br /&gt;
=== [http://dffd.wimbli.com/ Dwarf Fortress File Depot] ===&lt;br /&gt;
The Dwarf Fortress File Upload Service - an excellent place to store mods, community games, tilesets and other files. Courtesy of [[User:Janus|Janus]]; for files related to Dwarf Fortress only.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [http://mkv25.net/dfma/ DF Map Archive] ===&lt;br /&gt;
&lt;br /&gt;
* http://mkv25.net/dfma/&lt;br /&gt;
&lt;br /&gt;
The Dwarf Fortress Map Archive is a large collection of user-submitted maps and a nice flash viewer for perusing them.  &lt;br /&gt;
Maps are uploaded, stored, and downloaded in a special compressed format created by the DF Map Compressor (see below).&lt;br /&gt;
&lt;br /&gt;
Read more about the [[User:Markavian/DF_Map_Archive|DF Map Archive]] on [[User:Markavian|Markavian]]'s User page.&lt;br /&gt;
&lt;br /&gt;
=== DF Map Compressor ===&lt;br /&gt;
&lt;br /&gt;
*[http://shadowlord13.googlepages.com/dfmap-index.html SL's DF Map Compressor - Website] (currently not accessible)&lt;br /&gt;
*Download from [http://dffd.wimbli.com/file.php?id=997 DF File Depot]&lt;br /&gt;
&lt;br /&gt;
The DF Map Compressor encodes multiple bitmaps exported from Dwarf Fortress into a single, very compressed, .fdf-map file, and functions as a viewer for this format.  It can also export the maps to PNG format.  &lt;br /&gt;
&lt;br /&gt;
The .fdf-map file can then be shared with your friends by uploading to the [http://mkv25.net/dfma/ DF Map Archive] that features an online viewer (written in Flash).&lt;br /&gt;
&lt;br /&gt;
The map compressor was created by Shadowlord in May 2007.  The web site is currently not accessible.  Extract from the website :&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;quot;The '''DF Map Compressor''' is a program I made to encode Dwarf Fortress fortress or world map images into a much smaller format than is possible with normal image formats. Here's a quick summary of how it works: It determines the size of your tiles from your DF font file (or asks you), splits the map up into tiles, identifies duplicate tiles, writes out every unique tile image, and then writes out a list of ID#s for each tile position which points to the tile image for that tile.  What it outputs is piped through the LZMA compressor (the one used in 7-zip), to compress it further.  The .df-map file which it writes out is usually less than 100 KB in size. (By comparison, a PNG of the same map can exceed 2 megabytes, depending on how well you compress it, whether you change the color depth, and whether you are using a graphical tileset or detailed font).&amp;quot;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There is a little bit of information at the [http://dffd.wimbli.com/file.php?id=997 DF File Depot] page, where the compressor can be downloaded:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;quot;It requires either .NET 2.0 or newer (If you have Windows Vista, you already have this, if not, you might need to get it), or if you're on Linux or a Mac or other non-Windows OS, requires Mono.&lt;br /&gt;
* .NET 2.0: http://www.microsoft.com/downloads/details.aspx?familyid=0856eacb-4362-4b0d-8edd-aab15c5e04f5&lt;br /&gt;
* Mono: http://www.mono-project.com/&amp;quot;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To get it working on OSX, according to [http://www.bay12forums.com/smf/index.php?topic=64174.msg1511109#msg1511109 this forum post]:&lt;br /&gt;
:1. [http://www.go-mono.com/mono-downloads/ download the Mono Framework] and install it.  If you're on a modern Mac, you want the [http://ftp.novell.com/pub/mono/archive/2.8.1/macos-10-x86/3/MonoFramework-2.8.1_3.macos10.novell.x86.dmg latest Intel version], which requires OSX 10.5 or 10.6.  [http://www.mono-project.com/OldReleases Older versions are available] but no longer supported.&lt;br /&gt;
:2. export your map from Dwarf Fortress (Esc -&amp;gt; Export Local Image)&lt;br /&gt;
:3. download the [http://dffd.wimbli.com/file.php?id=997 DF Map Compressor from the DF File Depot].&lt;br /&gt;
:4. open the terminal, navigate to the DF Map Compressor folder and type:&lt;br /&gt;
 mono DwarfFortressMapCompressor.3.3.4.exe&lt;br /&gt;
:5. WAIT a bit for the DF Map Compressor windows to appear (''I almost thought it had crashed, it's rather slow'')&lt;br /&gt;
:6. follow the on screen instructions&lt;br /&gt;
&lt;br /&gt;
== 3D Visualizers ==&lt;br /&gt;
&lt;br /&gt;
=== [[Utility:Stonesense|Stonesense]] ===&lt;br /&gt;
[[File:stonesense.jpg|208px|thumb|right|Stonesense Screenshot]]&lt;br /&gt;
''by Jonask, Solifuge, Kaypy and Japa''&lt;br /&gt;
&lt;br /&gt;
Stonesense is a third party real-time visualizer that lets you view your Dwarf Fortress world in a classic isometric perspective.&lt;br /&gt;
&lt;br /&gt;
More information is available in [http://www.bay12games.com/forum/index.php?topic=43260.0 this forum thread].&lt;br /&gt;
&lt;br /&gt;
Stonesense is now in version 2.1 Slate, supports v0.31.12 - [http://stonesense.googlecode.com/files/Stonesense_Slate_2.1.zip Download]&lt;br /&gt;
&lt;br /&gt;
=== [[Utility:Overseer|Fortress Overseer]] ===&lt;br /&gt;
''by thewonderidiot and sexymustard''&lt;br /&gt;
&lt;br /&gt;
Overseer is a full 3D visualizer for DF2010 using the DFHack library. Its appearance is highly customizable and will be even more so in the near future. Check out its [http://www.bay12forums.com/smf/index.php?topic=63484.0 forum thread] for more details or download it from [http://dffd.wimbli.com/file.php?id=2922 here].&lt;br /&gt;
&lt;br /&gt;
== Interface tools ==&lt;br /&gt;
&lt;br /&gt;
===[http://www.bay12games.com/forum/index.php?topic=50643.0 Dfterm2]===&lt;br /&gt;
&lt;br /&gt;
Dfterm2 is a tool to run Dwarf Fortress via terminals remotely. Multiple people can connect and watch or join in.&lt;br /&gt;
&lt;br /&gt;
Main article here: [[Dfterm2]].&lt;br /&gt;
&lt;br /&gt;
== Game manipulation tools ==&lt;br /&gt;
&lt;br /&gt;
=== [http://dffd.wimbli.com/file.php?id=645 Reveal] ===&lt;br /&gt;
&lt;br /&gt;
The standalone Reveal utility is obsolete due to missing source code.  [[DF2010:Utilities#DFHack|DFHack]]'s dfreveal module works like Reveal did, and has built-in undo capability.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=-2&amp;gt;Reveal (or Reveal.exe as it is commonly referred to) is a program that runs alongside Dwarf Fortress and shows all &amp;quot;unexplored&amp;quot; or &amp;quot;undug&amp;quot; tiles of the map (in fortress mode).  To reveal entire map designate the entire bottom level to be mined and then remove designation before running reveal (Not required in the latest version using the parameters below, simply start the .exe file.). Playing on revealed map might ''(read &amp;quot;will&amp;quot;)'' cause some bugs (like not being able to build magma buildings or a tower-cap farm, losing all plants/trees on the map, and a lot more).  '''Using Reveal has been known to corrupt saved game folders.''' and, as such, it is highly recommended to only use Reveal to preview a biome's layout and then restart without running Reveal.&lt;br /&gt;
&amp;lt;/font size&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===[http://www.bay12forums.com/smf/index.php?topic=66525 Dwarf Therapist]===&lt;br /&gt;
&lt;br /&gt;
Dwarf Therapist gives you an advanced GUI to manage and check dwarf job allocations, military assignments (40d), statistics (such as attributes, personality traits and happiness), plus sort dwarves by various criteria (eg. profession, migration wave, happiness, number of assigned jobs etc.) and generally manage the Dwarven Resources of your fortress in a very convenient way. &lt;br /&gt;
&lt;br /&gt;
Version 0.6.4 is out (October 4, 2010). This version supports DF builds up to 0.31.16&amp;lt;!--, although information on patches for newer versions can be found below--&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
''NOTE'': This project is currently seeking a new maintainer.&lt;br /&gt;
&lt;br /&gt;
New dedicated support forum: http://code.google.com/p/dwarftherapist/&lt;br /&gt;
&lt;br /&gt;
Read the full changelog here: http://code.google.com/p/dwarftherapist/source/browse/CHANGELOG.txt&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Patch for ver. 0.31.12 found here: http://dffd.wimbli.com/file.php?id=2822--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Instruction for making it work with new versions here: http://code.google.com/p/dwarftherapist/wiki/MappingNewVersions This page also tends to have the new addresses within an hour or two of new releases of Dwarf Fortress.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.bay12forums.com/smf/index.php?topic=59056.0 Runesmith] ===&lt;br /&gt;
Runesmith is a Dwarf information viewing and editing tool inspired by the original Dwarf Companion. It uses the DFHack library to interface with Dwarf Fortress and Qt to provide a robust and professional looking cross-platform GUI. http://www.bay12forums.com/smf/index.php?topic=59056.0&lt;br /&gt;
&lt;br /&gt;
Version 0.1.7 is out for Windows, currently supporting 0.31.16. Since it uses DFHack, all versions of DF that DFHack supports, Runesmith supports!&lt;br /&gt;
&lt;br /&gt;
    * Windows: http://dffd.wimbli.com/file.php?id=2538&lt;br /&gt;
    * Linux: to follow (the windows one is reported to work fine under wine though)&lt;br /&gt;
&lt;br /&gt;
&amp;quot;A tool that allows smithing (editing) of the digits and runes (letters) that control all life in DF. By smithing these runes, the metagods (players) can meddle with DF mortals to suit their games, be it recasting a soul into a new species body, blessing and cursing indiviudals or just to make predictions of when a mortal will attain the next degree of competence to guide them on how they should spend their limited time.&amp;quot; - Psieye - (http://www.bay12forums.com/smf/index.php?topic=57003.msg1324765#msg1324765)&lt;br /&gt;
&lt;br /&gt;
=== [http://www.bay12forums.com/smf/index.php?topic=58809 DFHack] ===&lt;br /&gt;
&lt;br /&gt;
DFHack is a Dwarf Fortress memory access library and a set of basic tools using this library. The library is a work in progress, so things might change as more tools are written for it. The current (0.5.0.2) release only supports versions 0.31.01 - 0.31.03 Legacy, 0.31.04 - 0.31.16 SDL, and 0.31.05 - 0.31.14 on Linux. It consists of some of the more useful DFHack tools.&lt;br /&gt;
&lt;br /&gt;
Code and binary releases are available from the [http://github.com/peterix/dfhack/downloads Github site].&lt;br /&gt;
&lt;br /&gt;
=== DFhack tools for DF 2010 ===&lt;br /&gt;
==== dfcleanmap ====&lt;br /&gt;
Cleans all the bloodsmears that get scattered all over the map.&lt;br /&gt;
==== dfliquids ====&lt;br /&gt;
Allows creating liquids (water and magma), making them flow or preventing them from flowing. Newly also allows making obsidian walls. It's a command-prompt style utility where you type in very simple commands. Replaces the older magma_create tool.&lt;br /&gt;
&lt;br /&gt;
Use like this:&lt;br /&gt;
&lt;br /&gt;
game: place 'k' cursor on the tile or on the upper left corner of the area to manipulate.&lt;br /&gt;
&lt;br /&gt;
tool: enter 'range' in the tool and specify width and height of the rectangle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
- remove water&lt;br /&gt;
&lt;br /&gt;
'w'&lt;br /&gt;
'0'&lt;br /&gt;
's-'&lt;br /&gt;
&amp;lt;ENTER&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- create obsidian wall (only works for a single tile, even if a range is specified)&lt;br /&gt;
&lt;br /&gt;
'o'&lt;br /&gt;
'1'&lt;br /&gt;
's.'&lt;br /&gt;
&amp;lt;ENTER&amp;gt;&lt;br /&gt;
&lt;br /&gt;
note that previously existing water or magma still stays at this spot.&lt;br /&gt;
&lt;br /&gt;
- create magma&lt;br /&gt;
&lt;br /&gt;
'm'&lt;br /&gt;
'7'&lt;br /&gt;
's+'&lt;br /&gt;
&amp;lt;ENTER&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== dfprospector ====&lt;br /&gt;
Lists all available minerals on the map and how much of them there is.&lt;br /&gt;
==== dfreveal ====&lt;br /&gt;
Pauses the game and reveals the whole map, then unreveals it afterwards (unless you press Ctrl+C). Use with caution, releases [[HFS]]! Same warnings as to the original Reveal tool apply.&lt;br /&gt;
&lt;br /&gt;
==== dfvdig ====&lt;br /&gt;
Designates a whole vein for digging. When using the '-x' option, it will dig stairs into other z-levels. Point the cursor at a vein and run this thing :)&lt;br /&gt;
&lt;br /&gt;
=== [[Utility:DwarfForeman|Dwarf Foreman]] ===&lt;br /&gt;
Dwarf Foreman is a third party program to automatically dispatch jobs to your workers. &lt;br /&gt;
&lt;br /&gt;
=== [[Utility:DwarfScript|Dwarf Script]] ===&lt;br /&gt;
Dwarf Script is a program and allows you to manipulate DF's memory using a script.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fortress layout tools ==&lt;br /&gt;
&lt;br /&gt;
=== [http://sun2design.com/quickfort/ Quickfort] ===&lt;br /&gt;
&lt;br /&gt;
Quickfort is an AutoHotkey-based utility for Dwarf Fortress that helps you build fortresses from &amp;quot;blueprint&amp;quot; .CSV files (comma separated values). These files are easily created and edited in an app like Excel. Most building-oriented DF commands are supported through the use of multiple .CSV files to describe the different phases of DF construction (designation, building, stockpiles, and making adjustments.&lt;br /&gt;
&lt;br /&gt;
[Community submitted blueprints] are hosted on this Wiki.&lt;br /&gt;
&lt;br /&gt;
=== [[User:Soundandfury/DF_Designer|DF Designer]] ===&lt;br /&gt;
DF Designer, by [[User:Soundandfury|soundnfury]] is a fort layout planning tool.  It enables you to work out your designs before you start to build, and even see how they look in 3-D.&lt;br /&gt;
It's written in C with SDL, and both Linux and Windows builds are available.  The source code is freely available under the GPL.&lt;br /&gt;
Since DF Designer does not 'talk to' Dwarf Fortress, it is version-independent. Supports exporting to Quickfort-compatible CSV files.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.bay12forums.com/smf/index.php?topic=55025.0 ChromaFort] ===&lt;br /&gt;
Chromafort allows you to convert 24-bit bitmap (.bmp) images into Quickfort-compatible CSV files.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.bay12forums.com/smf/index.php?topic=64723.15 DF Architect] ===&lt;br /&gt;
DF Architect is a short cut to using Chromafort in conjunction with DF Designer. It uses 24-bit bitmap files and directly designates them into Dwarf Fortress. It is an early release program and currently only supports digging, stairs (up, down, and both), and ramps. Its defining feature is the use of an 'index' which allows for the designer to visually connect the cursor to the image. Be careful when using this program as it had no abort or terminating ability while designating, nor will it check to see if you've uploaded correct formats.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.irritablegourmet.com/dwarf/index.htm Quickfort Mapping Tool] ===&lt;br /&gt;
Quickfort Mapping Tool is a simple to use web app for creating Quickfort blueprints graphically.&lt;br /&gt;
&lt;br /&gt;
== Modding tools ==&lt;br /&gt;
&lt;br /&gt;
=== [http://dffd.wimbli.com/file.php?id=2068 Custom Workshop Workshop] ===&lt;br /&gt;
WYSIWYG editor for designing the raws for a custom workshop.&lt;br /&gt;
(Not all raws, just the tiles and colors)  Lets you see how it will look at each stage of construction.  Comes with the default 16x16 CURSES font built in, but you can load any .BMP formatted DF font you like, keeping in mind that if its bigger than 16x16 it won't fit.&lt;br /&gt;
&lt;br /&gt;
Accommodates up to 32x32 workshops, not that there's any reason for such a large workshop, right?&lt;br /&gt;
&lt;br /&gt;
=== [http://dffd.wimbli.com/file.php?id=1996 Uristmod] ===&lt;br /&gt;
A program which uses text files to automatically change/update raw files.  Makes installation of mods easier.  However at this time, the documentation is a little confusing and makes creating mods harder for beginners.  [http://www.bay12forums.com/smf/index.php?topic=53028.0 Forum Thread]&lt;br /&gt;
&lt;br /&gt;
=== [http://dffd.wimbli.com/file.php?id=2088 Accent replacement tool] ===&lt;br /&gt;
A small application to remove accented characters from a file. A quick solution if you need the language files for a tileset that has images in place of special characters.&lt;br /&gt;
Alternatively, you can use this 20-line perl script: http://github.com/rofl0r/df-mayday/blob/master/charfix.pl&lt;br /&gt;
&lt;br /&gt;
== Raw tile tools ==&lt;br /&gt;
&lt;br /&gt;
=== [[Raw tile selector]] ===&lt;br /&gt;
&lt;br /&gt;
Provides an easy to use graphical interface to select which tiles and colors should be displayed for plants, stones and small creatures.&lt;br /&gt;
&lt;br /&gt;
Made to ease the job of creators of tilesets with edited raws. It will also be useful for users that dislike decisions made by tileset creators or users that could not find the edited raws for a tileset.&lt;br /&gt;
&lt;br /&gt;
[http://dffd.wimbli.com/file.php?id=2113 Download]&lt;br /&gt;
&lt;br /&gt;
Currently for windows only.&lt;br /&gt;
&lt;br /&gt;
=== Raw tile merger ===&lt;br /&gt;
Provides an easy to use interface to change the tile and color data of raws to match the data of another set of raw files.&lt;br /&gt;
&lt;br /&gt;
Made to ease the job of creators of tilesets with edited raws when new versions of df are released. The edited raws for your tileset for a new df version can now be created with a few clicks.&lt;br /&gt;
&lt;br /&gt;
[http://dffd.wimbli.com/file.php?id=2178 Download]&lt;br /&gt;
&lt;br /&gt;
== World Map / World Gen Tools ==&lt;br /&gt;
&lt;br /&gt;
=== [http://www.bay12forums.com/smf/index.php?topic=57428 PerfectWorldDF] ===&lt;br /&gt;
Very detailed Windows program to help create customize world gens.&lt;br /&gt;
&amp;lt;br&amp;gt;[http://www.bay12forums.com/smf/index.php?topic=57428 Bay 12 forum link]&lt;br /&gt;
&amp;lt;br&amp;gt;[http://dffd.wimbli.com/file.php?id=2354 Dwarf Fortress File Depot link (may be old version)]&lt;br /&gt;
&amp;lt;br&amp;gt;[http://dffd.wimbli.com/who.php?id=1314 Dwarf Fortress File Depot listing for the author]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other/miscellaneous ==&lt;br /&gt;
&lt;br /&gt;
=== [http://winmerge.org/ WinMerge] ===&lt;br /&gt;
Winmerge allows you to compare the contents of folders or files. It highlights any differences between files and allows you to merge them. It is most useful for modders or users of mods. If you compare modified raw files with unmodified ones you can quickly see any differences.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Tools under development =&lt;br /&gt;
&lt;br /&gt;
'''The tools listed below are under development for DF 2010, but cannot perform the task they are intended for at this time.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[Utility:Obsidian|Obsidian]] ===&lt;br /&gt;
''by Skeggox''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Obsidian is a toolset for converting DF maps into a renderable scene, manipulating the result, and displaying it directly in 3D or exporting to 3rd party renderers and raytracers.&lt;br /&gt;
&lt;br /&gt;
Its a modular Lua framework, using Open Scene Graph for rendering and DFHack for talking with Dwarf Fortress.&lt;br /&gt;
&lt;br /&gt;
This [http://www.bay12forums.com/smf/index.php?topic=57920.0 forum thread] has more detail.&lt;/div&gt;</summary>
		<author><name>Joelpt</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=v0.31:Utilities&amp;diff=132220</id>
		<title>v0.31:Utilities</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=v0.31:Utilities&amp;diff=132220"/>
		<updated>2010-11-22T21:44:33Z</updated>

		<summary type="html">&lt;p&gt;Joelpt: /* Fortress layout tools */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{AV}}&lt;br /&gt;
{{Quality|Exceptional}}&lt;br /&gt;
 Please only list utilities that are known to work with the newest version here.&lt;br /&gt;
&lt;br /&gt;
Here are third party applications useful for Dwarf Fortress.&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Dwarf Fortress filesharing services==&lt;br /&gt;
&lt;br /&gt;
=== [http://dffd.wimbli.com/ Dwarf Fortress File Depot] ===&lt;br /&gt;
The Dwarf Fortress File Upload Service - an excellent place to store mods, community games, tilesets and other files. Courtesy of [[User:Janus|Janus]]; for files related to Dwarf Fortress only.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [http://mkv25.net/dfma/ DF Map Archive] ===&lt;br /&gt;
&lt;br /&gt;
* http://mkv25.net/dfma/&lt;br /&gt;
&lt;br /&gt;
The Dwarf Fortress Map Archive is a large collection of user-submitted maps and a nice flash viewer for perusing them.  &lt;br /&gt;
Maps are uploaded, stored, and downloaded in a special compressed format created by the DF Map Compressor (see below).&lt;br /&gt;
&lt;br /&gt;
Read more about the [[User:Markavian/DF_Map_Archive|DF Map Archive]] on [[User:Markavian|Markavian]]'s User page.&lt;br /&gt;
&lt;br /&gt;
=== DF Map Compressor ===&lt;br /&gt;
&lt;br /&gt;
*[http://shadowlord13.googlepages.com/dfmap-index.html SL's DF Map Compressor - Website] (currently not accessible)&lt;br /&gt;
*Download from [http://dffd.wimbli.com/file.php?id=997 DF File Depot]&lt;br /&gt;
&lt;br /&gt;
The DF Map Compressor encodes multiple bitmaps exported from Dwarf Fortress into a single, very compressed, .fdf-map file, and functions as a viewer for this format.  It can also export the maps to PNG format.  &lt;br /&gt;
&lt;br /&gt;
The .fdf-map file can then be shared with your friends by uploading to the [http://mkv25.net/dfma/ DF Map Archive] that features an online viewer (written in Flash).&lt;br /&gt;
&lt;br /&gt;
The map compressor was created by Shadowlord in May 2007.  The web site is currently not accessible.  Extract from the website :&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;quot;The '''DF Map Compressor''' is a program I made to encode Dwarf Fortress fortress or world map images into a much smaller format than is possible with normal image formats. Here's a quick summary of how it works: It determines the size of your tiles from your DF font file (or asks you), splits the map up into tiles, identifies duplicate tiles, writes out every unique tile image, and then writes out a list of ID#s for each tile position which points to the tile image for that tile.  What it outputs is piped through the LZMA compressor (the one used in 7-zip), to compress it further.  The .df-map file which it writes out is usually less than 100 KB in size. (By comparison, a PNG of the same map can exceed 2 megabytes, depending on how well you compress it, whether you change the color depth, and whether you are using a graphical tileset or detailed font).&amp;quot;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There is a little bit of information at the [http://dffd.wimbli.com/file.php?id=997 DF File Depot] page, where the compressor can be downloaded:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;quot;It requires either .NET 2.0 or newer (If you have Windows Vista, you already have this, if not, you might need to get it), or if you're on Linux or a Mac or other non-Windows OS, requires Mono.&lt;br /&gt;
* .NET 2.0: http://www.microsoft.com/downloads/details.aspx?familyid=0856eacb-4362-4b0d-8edd-aab15c5e04f5&lt;br /&gt;
* Mono: http://www.mono-project.com/&amp;quot;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To get it working on OSX, according to [http://www.bay12forums.com/smf/index.php?topic=64174.msg1511109#msg1511109 this forum post]:&lt;br /&gt;
:1. [http://www.go-mono.com/mono-downloads/ download the Mono Framework] and install it.  If you're on a modern Mac, you want the [http://ftp.novell.com/pub/mono/archive/2.8.1/macos-10-x86/3/MonoFramework-2.8.1_3.macos10.novell.x86.dmg latest Intel version], which requires OSX 10.5 or 10.6.  [http://www.mono-project.com/OldReleases Older versions are available] but no longer supported.&lt;br /&gt;
:2. export your map from Dwarf Fortress (Esc -&amp;gt; Export Local Image)&lt;br /&gt;
:3. download the [http://dffd.wimbli.com/file.php?id=997 DF Map Compressor from the DF File Depot].&lt;br /&gt;
:4. open the terminal, navigate to the DF Map Compressor folder and type:&lt;br /&gt;
 mono DwarfFortressMapCompressor.3.3.4.exe&lt;br /&gt;
:5. WAIT a bit for the DF Map Compressor windows to appear (''I almost thought it had crashed, it's rather slow'')&lt;br /&gt;
:6. follow the on screen instructions&lt;br /&gt;
&lt;br /&gt;
== 3D Visualizers ==&lt;br /&gt;
&lt;br /&gt;
=== [[Utility:Stonesense|Stonesense]] ===&lt;br /&gt;
[[File:stonesense.jpg|208px|thumb|right|Stonesense Screenshot]]&lt;br /&gt;
''by Jonask, Solifuge, Kaypy and Japa''&lt;br /&gt;
&lt;br /&gt;
Stonesense is a third party real-time visualizer that lets you view your Dwarf Fortress world in a classic isometric perspective.&lt;br /&gt;
&lt;br /&gt;
More information is available in [http://www.bay12games.com/forum/index.php?topic=43260.0 this forum thread].&lt;br /&gt;
&lt;br /&gt;
Stonesense is now in version 2.1 Slate, supports v0.31.12 - [http://stonesense.googlecode.com/files/Stonesense_Slate_2.1.zip Download]&lt;br /&gt;
&lt;br /&gt;
=== [[Utility:Overseer|Fortress Overseer]] ===&lt;br /&gt;
''by thewonderidiot and sexymustard''&lt;br /&gt;
&lt;br /&gt;
Overseer is a full 3D visualizer for DF2010 using the DFHack library. Its appearance is highly customizable and will be even more so in the near future. Check out its [http://www.bay12forums.com/smf/index.php?topic=63484.0 forum thread] for more details or download it from [http://dffd.wimbli.com/file.php?id=2922 here].&lt;br /&gt;
&lt;br /&gt;
== Interface tools ==&lt;br /&gt;
&lt;br /&gt;
===[http://www.bay12games.com/forum/index.php?topic=50643.0 Dfterm2]===&lt;br /&gt;
&lt;br /&gt;
Dfterm2 is a tool to run Dwarf Fortress via terminals remotely. Multiple people can connect and watch or join in.&lt;br /&gt;
&lt;br /&gt;
Main article here: [[Dfterm2]].&lt;br /&gt;
&lt;br /&gt;
== Game manipulation tools ==&lt;br /&gt;
&lt;br /&gt;
=== [http://dffd.wimbli.com/file.php?id=645 Reveal] ===&lt;br /&gt;
&lt;br /&gt;
The standalone Reveal utility is obsolete due to missing source code.  [[DF2010:Utilities#DFHack|DFHack]]'s dfreveal module works like Reveal did, and has built-in undo capability.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=-2&amp;gt;Reveal (or Reveal.exe as it is commonly referred to) is a program that runs alongside Dwarf Fortress and shows all &amp;quot;unexplored&amp;quot; or &amp;quot;undug&amp;quot; tiles of the map (in fortress mode).  To reveal entire map designate the entire bottom level to be mined and then remove designation before running reveal (Not required in the latest version using the parameters below, simply start the .exe file.). Playing on revealed map might ''(read &amp;quot;will&amp;quot;)'' cause some bugs (like not being able to build magma buildings or a tower-cap farm, losing all plants/trees on the map, and a lot more).  '''Using Reveal has been known to corrupt saved game folders.''' and, as such, it is highly recommended to only use Reveal to preview a biome's layout and then restart without running Reveal.&lt;br /&gt;
&amp;lt;/font size&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===[http://www.bay12forums.com/smf/index.php?topic=66525 Dwarf Therapist]===&lt;br /&gt;
&lt;br /&gt;
Dwarf Therapist gives you an advanced GUI to manage and check dwarf job allocations, military assignments (40d), statistics (such as attributes, personality traits and happiness), plus sort dwarves by various criteria (eg. profession, migration wave, happiness, number of assigned jobs etc.) and generally manage the Dwarven Resources of your fortress in a very convenient way. &lt;br /&gt;
&lt;br /&gt;
Version 0.6.4 is out (October 4, 2010). This version supports DF builds up to 0.31.16&amp;lt;!--, although information on patches for newer versions can be found below--&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
''NOTE'': This project is currently seeking a new maintainer.&lt;br /&gt;
&lt;br /&gt;
New dedicated support forum: http://code.google.com/p/dwarftherapist/&lt;br /&gt;
&lt;br /&gt;
Read the full changelog here: http://code.google.com/p/dwarftherapist/source/browse/CHANGELOG.txt&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Patch for ver. 0.31.12 found here: http://dffd.wimbli.com/file.php?id=2822--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Instruction for making it work with new versions here: http://code.google.com/p/dwarftherapist/wiki/MappingNewVersions This page also tends to have the new addresses within an hour or two of new releases of Dwarf Fortress.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.bay12forums.com/smf/index.php?topic=59056.0 Runesmith] ===&lt;br /&gt;
Runesmith is a Dwarf information viewing and editing tool inspired by the original Dwarf Companion. It uses the DFHack library to interface with Dwarf Fortress and Qt to provide a robust and professional looking cross-platform GUI. http://www.bay12forums.com/smf/index.php?topic=59056.0&lt;br /&gt;
&lt;br /&gt;
Version 0.1.7 is out for Windows, currently supporting 0.31.16. Since it uses DFHack, all versions of DF that DFHack supports, Runesmith supports!&lt;br /&gt;
&lt;br /&gt;
    * Windows: http://dffd.wimbli.com/file.php?id=2538&lt;br /&gt;
    * Linux: to follow (the windows one is reported to work fine under wine though)&lt;br /&gt;
&lt;br /&gt;
&amp;quot;A tool that allows smithing (editing) of the digits and runes (letters) that control all life in DF. By smithing these runes, the metagods (players) can meddle with DF mortals to suit their games, be it recasting a soul into a new species body, blessing and cursing indiviudals or just to make predictions of when a mortal will attain the next degree of competence to guide them on how they should spend their limited time.&amp;quot; - Psieye - (http://www.bay12forums.com/smf/index.php?topic=57003.msg1324765#msg1324765)&lt;br /&gt;
&lt;br /&gt;
=== [http://www.bay12forums.com/smf/index.php?topic=58809 DFHack] ===&lt;br /&gt;
&lt;br /&gt;
DFHack is a Dwarf Fortress memory access library and a set of basic tools using this library. The library is a work in progress, so things might change as more tools are written for it. The current (0.5.0.2) release only supports versions 0.31.01 - 0.31.03 Legacy, 0.31.04 - 0.31.16 SDL, and 0.31.05 - 0.31.14 on Linux. It consists of some of the more useful DFHack tools.&lt;br /&gt;
&lt;br /&gt;
Code and binary releases are available from the [http://github.com/peterix/dfhack/downloads Github site].&lt;br /&gt;
&lt;br /&gt;
=== DFhack tools for DF 2010 ===&lt;br /&gt;
==== dfcleanmap ====&lt;br /&gt;
Cleans all the bloodsmears that get scattered all over the map.&lt;br /&gt;
==== dfliquids ====&lt;br /&gt;
Allows creating liquids (water and magma), making them flow or preventing them from flowing. Newly also allows making obsidian walls. It's a command-prompt style utility where you type in very simple commands. Replaces the older magma_create tool.&lt;br /&gt;
&lt;br /&gt;
Use like this:&lt;br /&gt;
&lt;br /&gt;
game: place 'k' cursor on the tile or on the upper left corner of the area to manipulate.&lt;br /&gt;
&lt;br /&gt;
tool: enter 'range' in the tool and specify width and height of the rectangle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
- remove water&lt;br /&gt;
&lt;br /&gt;
'w'&lt;br /&gt;
'0'&lt;br /&gt;
's-'&lt;br /&gt;
&amp;lt;ENTER&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- create obsidian wall (only works for a single tile, even if a range is specified)&lt;br /&gt;
&lt;br /&gt;
'o'&lt;br /&gt;
'1'&lt;br /&gt;
's.'&lt;br /&gt;
&amp;lt;ENTER&amp;gt;&lt;br /&gt;
&lt;br /&gt;
note that previously existing water or magma still stays at this spot.&lt;br /&gt;
&lt;br /&gt;
- create magma&lt;br /&gt;
&lt;br /&gt;
'm'&lt;br /&gt;
'7'&lt;br /&gt;
's+'&lt;br /&gt;
&amp;lt;ENTER&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== dfprospector ====&lt;br /&gt;
Lists all available minerals on the map and how much of them there is.&lt;br /&gt;
==== dfreveal ====&lt;br /&gt;
Pauses the game and reveals the whole map, then unreveals it afterwards (unless you press Ctrl+C). Use with caution, releases [[HFS]]! Same warnings as to the original Reveal tool apply.&lt;br /&gt;
&lt;br /&gt;
==== dfvdig ====&lt;br /&gt;
Designates a whole vein for digging. When using the '-x' option, it will dig stairs into other z-levels. Point the cursor at a vein and run this thing :)&lt;br /&gt;
&lt;br /&gt;
=== [[Utility:DwarfForeman|Dwarf Foreman]] ===&lt;br /&gt;
Dwarf Foreman is a third party program to automatically dispatch jobs to your workers. &lt;br /&gt;
&lt;br /&gt;
=== [[Utility:DwarfScript|Dwarf Script]] ===&lt;br /&gt;
Dwarf Script is a program and allows you to manipulate DF's memory using a script.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fortress layout tools ==&lt;br /&gt;
&lt;br /&gt;
=== [http://sun2design.com/quickfort/ Quickfort] ===&lt;br /&gt;
&lt;br /&gt;
Quickfort is an AutoHotkey-based utility for Dwarf Fortress that helps you build fortresses from &amp;quot;blueprint&amp;quot; .CSV files (comma separated values). These files are easily created and edited in an app like Excel. Most building-oriented DF commands are supported through the use of multiple .CSV files to describe the different phases of DF construction (designation, building, stockpiles, and making adjustments.&lt;br /&gt;
&lt;br /&gt;
[Community submitted blueprints] are hosted on this Wiki.&lt;br /&gt;
&lt;br /&gt;
=== [[User:Soundandfury/DF_Designer|DF Designer]] ===&lt;br /&gt;
DF Designer, by [[User:Soundandfury|soundnfury]] is a fort layout planning tool.  It enables you to work out your designs before you start to build, and even see how they look in 3-D.&lt;br /&gt;
It's written in C with SDL, and both Linux and Windows builds are available.  The source code is freely available under the GPL.&lt;br /&gt;
Since DF Designer does not 'talk to' Dwarf Fortress, it is version-independent. Supports exporting to Quickfort-compatible CSV files.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.bay12forums.com/smf/index.php?topic=55025.0 ChromaFort] ===&lt;br /&gt;
Chromafort allows you to convert 24-bit bitmap (.bmp) images into Quickfort-compatible CSV files.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.bay12forums.com/smf/index.php?topic=64723.15 DF Architect] ===&lt;br /&gt;
DF Architect is a short cut to using Chromafort in conjunction with DF Designer. It uses 24-bit bitmap files and directly designates them into Dwarf Fortress. It is an early release program and currently only supports digging, stairs (up, down, and both), and ramps. Its defining feature is the use of an 'index' which allows for the designer to visually connect the cursor to the image. Be careful when using this program as it had no abort or terminating ability while designating, nor will it check to see if you've uploaded correct formats.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.irritablegourmet.com/dwarf/index.htm|Quickfort Mapping Tool] &lt;br /&gt;
Quickfort Mapping Tool is a simple to use web app for creating Quickfort blueprints graphically.&lt;br /&gt;
&lt;br /&gt;
== Modding tools ==&lt;br /&gt;
&lt;br /&gt;
=== [http://dffd.wimbli.com/file.php?id=2068 Custom Workshop Workshop] ===&lt;br /&gt;
WYSIWYG editor for designing the raws for a custom workshop.&lt;br /&gt;
(Not all raws, just the tiles and colors)  Lets you see how it will look at each stage of construction.  Comes with the default 16x16 CURSES font built in, but you can load any .BMP formatted DF font you like, keeping in mind that if its bigger than 16x16 it won't fit.&lt;br /&gt;
&lt;br /&gt;
Accommodates up to 32x32 workshops, not that there's any reason for such a large workshop, right?&lt;br /&gt;
&lt;br /&gt;
=== [http://dffd.wimbli.com/file.php?id=1996 Uristmod] ===&lt;br /&gt;
A program which uses text files to automatically change/update raw files.  Makes installation of mods easier.  However at this time, the documentation is a little confusing and makes creating mods harder for beginners.  [http://www.bay12forums.com/smf/index.php?topic=53028.0 Forum Thread]&lt;br /&gt;
&lt;br /&gt;
=== [http://dffd.wimbli.com/file.php?id=2088 Accent replacement tool] ===&lt;br /&gt;
A small application to remove accented characters from a file. A quick solution if you need the language files for a tileset that has images in place of special characters.&lt;br /&gt;
Alternatively, you can use this 20-line perl script: http://github.com/rofl0r/df-mayday/blob/master/charfix.pl&lt;br /&gt;
&lt;br /&gt;
== Raw tile tools ==&lt;br /&gt;
&lt;br /&gt;
=== [[Raw tile selector]] ===&lt;br /&gt;
&lt;br /&gt;
Provides an easy to use graphical interface to select which tiles and colors should be displayed for plants, stones and small creatures.&lt;br /&gt;
&lt;br /&gt;
Made to ease the job of creators of tilesets with edited raws. It will also be useful for users that dislike decisions made by tileset creators or users that could not find the edited raws for a tileset.&lt;br /&gt;
&lt;br /&gt;
[http://dffd.wimbli.com/file.php?id=2113 Download]&lt;br /&gt;
&lt;br /&gt;
Currently for windows only.&lt;br /&gt;
&lt;br /&gt;
=== Raw tile merger ===&lt;br /&gt;
Provides an easy to use interface to change the tile and color data of raws to match the data of another set of raw files.&lt;br /&gt;
&lt;br /&gt;
Made to ease the job of creators of tilesets with edited raws when new versions of df are released. The edited raws for your tileset for a new df version can now be created with a few clicks.&lt;br /&gt;
&lt;br /&gt;
[http://dffd.wimbli.com/file.php?id=2178 Download]&lt;br /&gt;
&lt;br /&gt;
== World Map / World Gen Tools ==&lt;br /&gt;
&lt;br /&gt;
=== [http://www.bay12forums.com/smf/index.php?topic=57428 PerfectWorldDF] ===&lt;br /&gt;
Very detailed Windows program to help create customize world gens.&lt;br /&gt;
&amp;lt;br&amp;gt;[http://www.bay12forums.com/smf/index.php?topic=57428 Bay 12 forum link]&lt;br /&gt;
&amp;lt;br&amp;gt;[http://dffd.wimbli.com/file.php?id=2354 Dwarf Fortress File Depot link (may be old version)]&lt;br /&gt;
&amp;lt;br&amp;gt;[http://dffd.wimbli.com/who.php?id=1314 Dwarf Fortress File Depot listing for the author]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other/miscellaneous ==&lt;br /&gt;
&lt;br /&gt;
=== [http://winmerge.org/ WinMerge] ===&lt;br /&gt;
Winmerge allows you to compare the contents of folders or files. It highlights any differences between files and allows you to merge them. It is most useful for modders or users of mods. If you compare modified raw files with unmodified ones you can quickly see any differences.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Tools under development =&lt;br /&gt;
&lt;br /&gt;
'''The tools listed below are under development for DF 2010, but cannot perform the task they are intended for at this time.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[Utility:Obsidian|Obsidian]] ===&lt;br /&gt;
''by Skeggox''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Obsidian is a toolset for converting DF maps into a renderable scene, manipulating the result, and displaying it directly in 3D or exporting to 3rd party renderers and raytracers.&lt;br /&gt;
&lt;br /&gt;
Its a modular Lua framework, using Open Scene Graph for rendering and DFHack for talking with Dwarf Fortress.&lt;br /&gt;
&lt;br /&gt;
This [http://www.bay12forums.com/smf/index.php?topic=57920.0 forum thread] has more detail.&lt;/div&gt;</summary>
		<author><name>Joelpt</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=v0.31:Utilities&amp;diff=132219</id>
		<title>v0.31:Utilities</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=v0.31:Utilities&amp;diff=132219"/>
		<updated>2010-11-22T21:42:52Z</updated>

		<summary type="html">&lt;p&gt;Joelpt: /* Quickfort */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{AV}}&lt;br /&gt;
{{Quality|Exceptional}}&lt;br /&gt;
 Please only list utilities that are known to work with the newest version here.&lt;br /&gt;
&lt;br /&gt;
Here are third party applications useful for Dwarf Fortress.&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Dwarf Fortress filesharing services==&lt;br /&gt;
&lt;br /&gt;
=== [http://dffd.wimbli.com/ Dwarf Fortress File Depot] ===&lt;br /&gt;
The Dwarf Fortress File Upload Service - an excellent place to store mods, community games, tilesets and other files. Courtesy of [[User:Janus|Janus]]; for files related to Dwarf Fortress only.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [http://mkv25.net/dfma/ DF Map Archive] ===&lt;br /&gt;
&lt;br /&gt;
* http://mkv25.net/dfma/&lt;br /&gt;
&lt;br /&gt;
The Dwarf Fortress Map Archive is a large collection of user-submitted maps and a nice flash viewer for perusing them.  &lt;br /&gt;
Maps are uploaded, stored, and downloaded in a special compressed format created by the DF Map Compressor (see below).&lt;br /&gt;
&lt;br /&gt;
Read more about the [[User:Markavian/DF_Map_Archive|DF Map Archive]] on [[User:Markavian|Markavian]]'s User page.&lt;br /&gt;
&lt;br /&gt;
=== DF Map Compressor ===&lt;br /&gt;
&lt;br /&gt;
*[http://shadowlord13.googlepages.com/dfmap-index.html SL's DF Map Compressor - Website] (currently not accessible)&lt;br /&gt;
*Download from [http://dffd.wimbli.com/file.php?id=997 DF File Depot]&lt;br /&gt;
&lt;br /&gt;
The DF Map Compressor encodes multiple bitmaps exported from Dwarf Fortress into a single, very compressed, .fdf-map file, and functions as a viewer for this format.  It can also export the maps to PNG format.  &lt;br /&gt;
&lt;br /&gt;
The .fdf-map file can then be shared with your friends by uploading to the [http://mkv25.net/dfma/ DF Map Archive] that features an online viewer (written in Flash).&lt;br /&gt;
&lt;br /&gt;
The map compressor was created by Shadowlord in May 2007.  The web site is currently not accessible.  Extract from the website :&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;quot;The '''DF Map Compressor''' is a program I made to encode Dwarf Fortress fortress or world map images into a much smaller format than is possible with normal image formats. Here's a quick summary of how it works: It determines the size of your tiles from your DF font file (or asks you), splits the map up into tiles, identifies duplicate tiles, writes out every unique tile image, and then writes out a list of ID#s for each tile position which points to the tile image for that tile.  What it outputs is piped through the LZMA compressor (the one used in 7-zip), to compress it further.  The .df-map file which it writes out is usually less than 100 KB in size. (By comparison, a PNG of the same map can exceed 2 megabytes, depending on how well you compress it, whether you change the color depth, and whether you are using a graphical tileset or detailed font).&amp;quot;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There is a little bit of information at the [http://dffd.wimbli.com/file.php?id=997 DF File Depot] page, where the compressor can be downloaded:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;quot;It requires either .NET 2.0 or newer (If you have Windows Vista, you already have this, if not, you might need to get it), or if you're on Linux or a Mac or other non-Windows OS, requires Mono.&lt;br /&gt;
* .NET 2.0: http://www.microsoft.com/downloads/details.aspx?familyid=0856eacb-4362-4b0d-8edd-aab15c5e04f5&lt;br /&gt;
* Mono: http://www.mono-project.com/&amp;quot;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To get it working on OSX, according to [http://www.bay12forums.com/smf/index.php?topic=64174.msg1511109#msg1511109 this forum post]:&lt;br /&gt;
:1. [http://www.go-mono.com/mono-downloads/ download the Mono Framework] and install it.  If you're on a modern Mac, you want the [http://ftp.novell.com/pub/mono/archive/2.8.1/macos-10-x86/3/MonoFramework-2.8.1_3.macos10.novell.x86.dmg latest Intel version], which requires OSX 10.5 or 10.6.  [http://www.mono-project.com/OldReleases Older versions are available] but no longer supported.&lt;br /&gt;
:2. export your map from Dwarf Fortress (Esc -&amp;gt; Export Local Image)&lt;br /&gt;
:3. download the [http://dffd.wimbli.com/file.php?id=997 DF Map Compressor from the DF File Depot].&lt;br /&gt;
:4. open the terminal, navigate to the DF Map Compressor folder and type:&lt;br /&gt;
 mono DwarfFortressMapCompressor.3.3.4.exe&lt;br /&gt;
:5. WAIT a bit for the DF Map Compressor windows to appear (''I almost thought it had crashed, it's rather slow'')&lt;br /&gt;
:6. follow the on screen instructions&lt;br /&gt;
&lt;br /&gt;
== 3D Visualizers ==&lt;br /&gt;
&lt;br /&gt;
=== [[Utility:Stonesense|Stonesense]] ===&lt;br /&gt;
[[File:stonesense.jpg|208px|thumb|right|Stonesense Screenshot]]&lt;br /&gt;
''by Jonask, Solifuge, Kaypy and Japa''&lt;br /&gt;
&lt;br /&gt;
Stonesense is a third party real-time visualizer that lets you view your Dwarf Fortress world in a classic isometric perspective.&lt;br /&gt;
&lt;br /&gt;
More information is available in [http://www.bay12games.com/forum/index.php?topic=43260.0 this forum thread].&lt;br /&gt;
&lt;br /&gt;
Stonesense is now in version 2.1 Slate, supports v0.31.12 - [http://stonesense.googlecode.com/files/Stonesense_Slate_2.1.zip Download]&lt;br /&gt;
&lt;br /&gt;
=== [[Utility:Overseer|Fortress Overseer]] ===&lt;br /&gt;
''by thewonderidiot and sexymustard''&lt;br /&gt;
&lt;br /&gt;
Overseer is a full 3D visualizer for DF2010 using the DFHack library. Its appearance is highly customizable and will be even more so in the near future. Check out its [http://www.bay12forums.com/smf/index.php?topic=63484.0 forum thread] for more details or download it from [http://dffd.wimbli.com/file.php?id=2922 here].&lt;br /&gt;
&lt;br /&gt;
== Interface tools ==&lt;br /&gt;
&lt;br /&gt;
===[http://www.bay12games.com/forum/index.php?topic=50643.0 Dfterm2]===&lt;br /&gt;
&lt;br /&gt;
Dfterm2 is a tool to run Dwarf Fortress via terminals remotely. Multiple people can connect and watch or join in.&lt;br /&gt;
&lt;br /&gt;
Main article here: [[Dfterm2]].&lt;br /&gt;
&lt;br /&gt;
== Game manipulation tools ==&lt;br /&gt;
&lt;br /&gt;
=== [http://dffd.wimbli.com/file.php?id=645 Reveal] ===&lt;br /&gt;
&lt;br /&gt;
The standalone Reveal utility is obsolete due to missing source code.  [[DF2010:Utilities#DFHack|DFHack]]'s dfreveal module works like Reveal did, and has built-in undo capability.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=-2&amp;gt;Reveal (or Reveal.exe as it is commonly referred to) is a program that runs alongside Dwarf Fortress and shows all &amp;quot;unexplored&amp;quot; or &amp;quot;undug&amp;quot; tiles of the map (in fortress mode).  To reveal entire map designate the entire bottom level to be mined and then remove designation before running reveal (Not required in the latest version using the parameters below, simply start the .exe file.). Playing on revealed map might ''(read &amp;quot;will&amp;quot;)'' cause some bugs (like not being able to build magma buildings or a tower-cap farm, losing all plants/trees on the map, and a lot more).  '''Using Reveal has been known to corrupt saved game folders.''' and, as such, it is highly recommended to only use Reveal to preview a biome's layout and then restart without running Reveal.&lt;br /&gt;
&amp;lt;/font size&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===[http://www.bay12forums.com/smf/index.php?topic=66525 Dwarf Therapist]===&lt;br /&gt;
&lt;br /&gt;
Dwarf Therapist gives you an advanced GUI to manage and check dwarf job allocations, military assignments (40d), statistics (such as attributes, personality traits and happiness), plus sort dwarves by various criteria (eg. profession, migration wave, happiness, number of assigned jobs etc.) and generally manage the Dwarven Resources of your fortress in a very convenient way. &lt;br /&gt;
&lt;br /&gt;
Version 0.6.4 is out (October 4, 2010). This version supports DF builds up to 0.31.16&amp;lt;!--, although information on patches for newer versions can be found below--&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
''NOTE'': This project is currently seeking a new maintainer.&lt;br /&gt;
&lt;br /&gt;
New dedicated support forum: http://code.google.com/p/dwarftherapist/&lt;br /&gt;
&lt;br /&gt;
Read the full changelog here: http://code.google.com/p/dwarftherapist/source/browse/CHANGELOG.txt&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Patch for ver. 0.31.12 found here: http://dffd.wimbli.com/file.php?id=2822--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Instruction for making it work with new versions here: http://code.google.com/p/dwarftherapist/wiki/MappingNewVersions This page also tends to have the new addresses within an hour or two of new releases of Dwarf Fortress.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.bay12forums.com/smf/index.php?topic=59056.0 Runesmith] ===&lt;br /&gt;
Runesmith is a Dwarf information viewing and editing tool inspired by the original Dwarf Companion. It uses the DFHack library to interface with Dwarf Fortress and Qt to provide a robust and professional looking cross-platform GUI. http://www.bay12forums.com/smf/index.php?topic=59056.0&lt;br /&gt;
&lt;br /&gt;
Version 0.1.7 is out for Windows, currently supporting 0.31.16. Since it uses DFHack, all versions of DF that DFHack supports, Runesmith supports!&lt;br /&gt;
&lt;br /&gt;
    * Windows: http://dffd.wimbli.com/file.php?id=2538&lt;br /&gt;
    * Linux: to follow (the windows one is reported to work fine under wine though)&lt;br /&gt;
&lt;br /&gt;
&amp;quot;A tool that allows smithing (editing) of the digits and runes (letters) that control all life in DF. By smithing these runes, the metagods (players) can meddle with DF mortals to suit their games, be it recasting a soul into a new species body, blessing and cursing indiviudals or just to make predictions of when a mortal will attain the next degree of competence to guide them on how they should spend their limited time.&amp;quot; - Psieye - (http://www.bay12forums.com/smf/index.php?topic=57003.msg1324765#msg1324765)&lt;br /&gt;
&lt;br /&gt;
=== [http://www.bay12forums.com/smf/index.php?topic=58809 DFHack] ===&lt;br /&gt;
&lt;br /&gt;
DFHack is a Dwarf Fortress memory access library and a set of basic tools using this library. The library is a work in progress, so things might change as more tools are written for it. The current (0.5.0.2) release only supports versions 0.31.01 - 0.31.03 Legacy, 0.31.04 - 0.31.16 SDL, and 0.31.05 - 0.31.14 on Linux. It consists of some of the more useful DFHack tools.&lt;br /&gt;
&lt;br /&gt;
Code and binary releases are available from the [http://github.com/peterix/dfhack/downloads Github site].&lt;br /&gt;
&lt;br /&gt;
=== DFhack tools for DF 2010 ===&lt;br /&gt;
==== dfcleanmap ====&lt;br /&gt;
Cleans all the bloodsmears that get scattered all over the map.&lt;br /&gt;
==== dfliquids ====&lt;br /&gt;
Allows creating liquids (water and magma), making them flow or preventing them from flowing. Newly also allows making obsidian walls. It's a command-prompt style utility where you type in very simple commands. Replaces the older magma_create tool.&lt;br /&gt;
&lt;br /&gt;
Use like this:&lt;br /&gt;
&lt;br /&gt;
game: place 'k' cursor on the tile or on the upper left corner of the area to manipulate.&lt;br /&gt;
&lt;br /&gt;
tool: enter 'range' in the tool and specify width and height of the rectangle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
- remove water&lt;br /&gt;
&lt;br /&gt;
'w'&lt;br /&gt;
'0'&lt;br /&gt;
's-'&lt;br /&gt;
&amp;lt;ENTER&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- create obsidian wall (only works for a single tile, even if a range is specified)&lt;br /&gt;
&lt;br /&gt;
'o'&lt;br /&gt;
'1'&lt;br /&gt;
's.'&lt;br /&gt;
&amp;lt;ENTER&amp;gt;&lt;br /&gt;
&lt;br /&gt;
note that previously existing water or magma still stays at this spot.&lt;br /&gt;
&lt;br /&gt;
- create magma&lt;br /&gt;
&lt;br /&gt;
'm'&lt;br /&gt;
'7'&lt;br /&gt;
's+'&lt;br /&gt;
&amp;lt;ENTER&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== dfprospector ====&lt;br /&gt;
Lists all available minerals on the map and how much of them there is.&lt;br /&gt;
==== dfreveal ====&lt;br /&gt;
Pauses the game and reveals the whole map, then unreveals it afterwards (unless you press Ctrl+C). Use with caution, releases [[HFS]]! Same warnings as to the original Reveal tool apply.&lt;br /&gt;
&lt;br /&gt;
==== dfvdig ====&lt;br /&gt;
Designates a whole vein for digging. When using the '-x' option, it will dig stairs into other z-levels. Point the cursor at a vein and run this thing :)&lt;br /&gt;
&lt;br /&gt;
=== [[Utility:DwarfForeman|Dwarf Foreman]] ===&lt;br /&gt;
Dwarf Foreman is a third party program to automatically dispatch jobs to your workers. &lt;br /&gt;
&lt;br /&gt;
=== [[Utility:DwarfScript|Dwarf Script]] ===&lt;br /&gt;
Dwarf Script is a program and allows you to manipulate DF's memory using a script.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fortress layout tools ==&lt;br /&gt;
&lt;br /&gt;
=== [http://sun2design.com/quickfort/ Quickfort] ===&lt;br /&gt;
&lt;br /&gt;
Quickfort is an AutoHotkey-based utility for Dwarf Fortress that helps you build fortresses from &amp;quot;blueprint&amp;quot; .CSV files (comma separated values). These files are easily created and edited in an app like Excel. Most building-oriented DF commands are supported through the use of multiple .CSV files to describe the different phases of DF construction (designation, building, stockpiles, and making adjustments.&lt;br /&gt;
&lt;br /&gt;
[Community submitted blueprints] are hosted on this Wiki.&lt;br /&gt;
&lt;br /&gt;
=== [[User:Soundandfury/DF_Designer|DF Designer]] ===&lt;br /&gt;
DF Designer, by [[User:Soundandfury|soundnfury]] is a fort layout planning tool.  It enables you to work out your designs before you start to build, and even see how they look in 3-D.&lt;br /&gt;
It's written in C with SDL, and both Linux and Windows builds are available.  The source code is freely available under the GPL.&lt;br /&gt;
Since DF Designer does not 'talk to' Dwarf Fortress, it is version-independent. Supports exporting to Quickfort-compatible CSV files.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.bay12forums.com/smf/index.php?topic=55025.0 ChromaFort] ===&lt;br /&gt;
Chromafort allows you to convert 24-bit bitmap (.bmp) images into Quickfort-compatible CSV files.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.bay12forums.com/smf/index.php?topic=64723.15 DF Architect] ===&lt;br /&gt;
DF Architect is a short cut to using Chromafort in conjunction with DF Designer. It uses 24-bit bitmap files and directly designates them into Dwarf Fortress. It is an early release program and currently only supports digging, stairs (up, down, and both), and ramps. Its defining feature is the use of an 'index' which allows for the designer to visually connect the cursor to the image. Be careful when using this program as it had no abort or terminating ability while designating, nor will it check to see if you've uploaded correct formats.&lt;br /&gt;
&lt;br /&gt;
== Modding tools ==&lt;br /&gt;
&lt;br /&gt;
=== [http://dffd.wimbli.com/file.php?id=2068 Custom Workshop Workshop] ===&lt;br /&gt;
WYSIWYG editor for designing the raws for a custom workshop.&lt;br /&gt;
(Not all raws, just the tiles and colors)  Lets you see how it will look at each stage of construction.  Comes with the default 16x16 CURSES font built in, but you can load any .BMP formatted DF font you like, keeping in mind that if its bigger than 16x16 it won't fit.&lt;br /&gt;
&lt;br /&gt;
Accommodates up to 32x32 workshops, not that there's any reason for such a large workshop, right?&lt;br /&gt;
&lt;br /&gt;
=== [http://dffd.wimbli.com/file.php?id=1996 Uristmod] ===&lt;br /&gt;
A program which uses text files to automatically change/update raw files.  Makes installation of mods easier.  However at this time, the documentation is a little confusing and makes creating mods harder for beginners.  [http://www.bay12forums.com/smf/index.php?topic=53028.0 Forum Thread]&lt;br /&gt;
&lt;br /&gt;
=== [http://dffd.wimbli.com/file.php?id=2088 Accent replacement tool] ===&lt;br /&gt;
A small application to remove accented characters from a file. A quick solution if you need the language files for a tileset that has images in place of special characters.&lt;br /&gt;
Alternatively, you can use this 20-line perl script: http://github.com/rofl0r/df-mayday/blob/master/charfix.pl&lt;br /&gt;
&lt;br /&gt;
== Raw tile tools ==&lt;br /&gt;
&lt;br /&gt;
=== [[Raw tile selector]] ===&lt;br /&gt;
&lt;br /&gt;
Provides an easy to use graphical interface to select which tiles and colors should be displayed for plants, stones and small creatures.&lt;br /&gt;
&lt;br /&gt;
Made to ease the job of creators of tilesets with edited raws. It will also be useful for users that dislike decisions made by tileset creators or users that could not find the edited raws for a tileset.&lt;br /&gt;
&lt;br /&gt;
[http://dffd.wimbli.com/file.php?id=2113 Download]&lt;br /&gt;
&lt;br /&gt;
Currently for windows only.&lt;br /&gt;
&lt;br /&gt;
=== Raw tile merger ===&lt;br /&gt;
Provides an easy to use interface to change the tile and color data of raws to match the data of another set of raw files.&lt;br /&gt;
&lt;br /&gt;
Made to ease the job of creators of tilesets with edited raws when new versions of df are released. The edited raws for your tileset for a new df version can now be created with a few clicks.&lt;br /&gt;
&lt;br /&gt;
[http://dffd.wimbli.com/file.php?id=2178 Download]&lt;br /&gt;
&lt;br /&gt;
== World Map / World Gen Tools ==&lt;br /&gt;
&lt;br /&gt;
=== [http://www.bay12forums.com/smf/index.php?topic=57428 PerfectWorldDF] ===&lt;br /&gt;
Very detailed Windows program to help create customize world gens.&lt;br /&gt;
&amp;lt;br&amp;gt;[http://www.bay12forums.com/smf/index.php?topic=57428 Bay 12 forum link]&lt;br /&gt;
&amp;lt;br&amp;gt;[http://dffd.wimbli.com/file.php?id=2354 Dwarf Fortress File Depot link (may be old version)]&lt;br /&gt;
&amp;lt;br&amp;gt;[http://dffd.wimbli.com/who.php?id=1314 Dwarf Fortress File Depot listing for the author]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other/miscellaneous ==&lt;br /&gt;
&lt;br /&gt;
=== [http://winmerge.org/ WinMerge] ===&lt;br /&gt;
Winmerge allows you to compare the contents of folders or files. It highlights any differences between files and allows you to merge them. It is most useful for modders or users of mods. If you compare modified raw files with unmodified ones you can quickly see any differences.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Tools under development =&lt;br /&gt;
&lt;br /&gt;
'''The tools listed below are under development for DF 2010, but cannot perform the task they are intended for at this time.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[Utility:Obsidian|Obsidian]] ===&lt;br /&gt;
''by Skeggox''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Obsidian is a toolset for converting DF maps into a renderable scene, manipulating the result, and displaying it directly in 3D or exporting to 3rd party renderers and raytracers.&lt;br /&gt;
&lt;br /&gt;
Its a modular Lua framework, using Open Scene Graph for rendering and DFHack for talking with Dwarf Fortress.&lt;br /&gt;
&lt;br /&gt;
This [http://www.bay12forums.com/smf/index.php?topic=57920.0 forum thread] has more detail.&lt;/div&gt;</summary>
		<author><name>Joelpt</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=v0.31:Utilities&amp;diff=116148</id>
		<title>v0.31:Utilities</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=v0.31:Utilities&amp;diff=116148"/>
		<updated>2010-05-31T06:25:50Z</updated>

		<summary type="html">&lt;p&gt;Joelpt: Category-based reorganization of page. Added details on Quickfort and Chromafort.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{AV}}&lt;br /&gt;
{{Quality|Exceptional}}&lt;br /&gt;
 Please only list utilities that are known to work with the newest version here.&lt;br /&gt;
&lt;br /&gt;
Here are third party applications useful for Dwarf Fortress.&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Dwarf Fortress filesharing services==&lt;br /&gt;
&lt;br /&gt;
=== [http://dffd.wimbli.com/ Dwarf Fortress File Depot] ===&lt;br /&gt;
The Dwarf Fortress File Upload Service - an excellent place to store mods, community games, tilesets and other files. Courtesy of [[User:Janus|Janus]]; for files related to Dwarf Fortress only.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== DF Map Compressor / DF Map Archive ===&lt;br /&gt;
&lt;br /&gt;
*[http://shadowlord13.googlepages.com/dfmap-index.html SL's DF Map Compressor - Website]&lt;br /&gt;
*[http://mkv25.net/dfma/ Dwarf Fortress Map Archive]&lt;br /&gt;
&lt;br /&gt;
The DF Map Compressor encodes multiple bitmaps exported from Dwarf Fortress into a single, very compressed, .fdf-map file. The fdf-map file can then be shared with your friends by uploading to the DF Map Archive that features an online viewer (written in Flash).&lt;br /&gt;
&lt;br /&gt;
The map compressor was created by Shadowlord in May 2007. Extract from the website :&lt;br /&gt;
:&amp;quot;The '''DF Map Compressor''' is a program I made to encode Dwarf Fortress fortress or world map images into a much smaller format than is possible with normal image formats. Here's a quick summary of how it works: It determines the size of your tiles from your DF font file (or asks you), splits the map up into tiles, identifies duplicate tiles, writes out every unique tile image, and then writes out a list of ID#s for each tile position which points to the tile image for that tile. What it outputs is piped through the LZMA compressor (the one used in 7-zip), to compress it further. The .df-map file which it writes out is usually less than 100 KB in size. (By comparison, a PNG of the same map can exceed 2 megabytes, depending on how well you compress it, whether you change the color depth, and whether you are using a graphical tileset or detailed font).&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Read more about the [[User:Markavian/DF_Map_Archive|DF Map Archive]] on Markavian's User page.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 3D Visualizers ==&lt;br /&gt;
&lt;br /&gt;
=== [[Utility:Stonesense|Stonesense]] ===&lt;br /&gt;
[[File:stonesense.jpg|208px|thumb|right|Stonesense Screenshot]]&lt;br /&gt;
''by Jonask, Solifuge, Kaypy and Japa''&lt;br /&gt;
&lt;br /&gt;
Stonesense is a third party real-time visualizer that lets you view your Dwarf Fortress world in a classic isometric perspective.&lt;br /&gt;
&lt;br /&gt;
More information is available in [http://www.bay12games.com/forum/index.php?topic=43260.0 this forum thread].&lt;br /&gt;
&lt;br /&gt;
Stonesense Slate now supports v0.31.04 - [http://stonesense.googlecode.com/files/Stonesense_Slate_RC1.rar get it here]&lt;br /&gt;
&lt;br /&gt;
=== [[Utility:Obsidian|Obsidian]] ===&lt;br /&gt;
''by Skeggox''&lt;br /&gt;
&lt;br /&gt;
'''Please note this tool is not complete and cannot render dwarf fortress. It is in development.'''&lt;br /&gt;
&lt;br /&gt;
Obsidian is a toolset for converting DF maps into a renderable scene, manipulating the result, and displaying it directly in 3D or exporting to 3rd party renderers and raytracers.&lt;br /&gt;
&lt;br /&gt;
Its a modular Lua framework, using Open Scene Graph for rendering and DFHack for talking with Dwarf Fortress.&lt;br /&gt;
&lt;br /&gt;
This [http://www.bay12forums.com/smf/index.php?topic=57920.0 forum thread] has more detail.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Interface tools ==&lt;br /&gt;
&lt;br /&gt;
===[http://www.bay12games.com/forum/index.php?topic=50643.0 Dfterm]===&lt;br /&gt;
&lt;br /&gt;
Dfterm is a tool to run dwarf fortress via terminals remotely. multiple people can connect and watch or join in.&lt;br /&gt;
&lt;br /&gt;
Main article here: [[Dfterm]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Game manipulation tools ==&lt;br /&gt;
&lt;br /&gt;
=== [http://dffd.wimbli.com/file.php?id=645 Reveal] ===&lt;br /&gt;
&lt;br /&gt;
Reveal (or Reveal.exe as it is commonly referred to) is a program that runs alongside Dwarf Fortress and shows all &amp;quot;unexplored&amp;quot; or &amp;quot;undug&amp;quot; tiles of the map (in fortress mode).  To reveal entire map designate the entire bottom level to be mined and then remove designation before running reveal (Not required in the latest version using the parameters below, simply start the .exe file.). Playing on revealed map might ''(read &amp;quot;will&amp;quot;)'' cause some bugs (like not being able to build magma buildings or a tower-cap farm, losing all plants/trees on the map, and a lot more).  '''Using Reveal has been known to corrupt saved game folders.''' and, as such, it is highly recommended to only use Reveal to preview a biome's layout and then restart without running Reveal.&lt;br /&gt;
&lt;br /&gt;
There are two versions of Reveal, one for Vista and newer, one for XP and older.&lt;br /&gt;
&lt;br /&gt;
The new version of Reveal.exe (Reveal2) is in public beta, you can find it here [http://dffd.wimbli.com/file.php?id=1044 Reveal2].  Please report problems in [[User_talk:0x517A5D|0x517A5D's Talk page]].&lt;br /&gt;
&lt;br /&gt;
Pasting the following code into reveal2.ini makes it work for the newest (DF2010) version of Dwarf Fortress:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
;; DF2010 31.02&lt;br /&gt;
[4BBDF378]&lt;br /&gt;
map_data=0x016ad718&lt;br /&gt;
map_x_count=0x016ad738&lt;br /&gt;
map_y_count=0x016ad73c&lt;br /&gt;
map_z_count=0x016ad740&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[4BB45F99] can be substituted in for 31.01.&lt;br /&gt;
&lt;br /&gt;
For 31.04, the following works:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
; .31.04&lt;br /&gt;
[4BF014FA]&lt;br /&gt;
dwarf_fortress=0x00A551C0&lt;br /&gt;
map_data=0x016BAAC4&lt;br /&gt;
map_x_count=0x016BAAE4&lt;br /&gt;
map_y_count=0x016BAAE8&lt;br /&gt;
map_z_count=0x016BAAEC&lt;br /&gt;
map_data_designation_offset=0x29C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
However, do '''not''' save your game, it can mess up many things including civilizations (Giant Toad and Cave Crocodile civilizations, you will also embark with those if it should occur.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[http://www.bay12games.com/forum/index.php?topic=39229 Dwarf Therapist]===&lt;br /&gt;
&lt;br /&gt;
Dwarf Therapist gives you an advanced GUI to manage and check dwarf job allocations, military assignments (40d), statistics (such as attributes, personality traits and happiness), plus sort dwarves by various criteria (eg. profession, migration wave etc.) and generally manage the Dwarven Resources of your fortress in a very convenient way. &lt;br /&gt;
&lt;br /&gt;
Version 5.2 is out (5/18/10). This version supports DF build 3.01.04. &lt;br /&gt;
&lt;br /&gt;
New dedicated support forum: http://code.google.com/p/dwarftherapist/&lt;br /&gt;
&lt;br /&gt;
Version 5.2 does currently contain some known issues.&lt;br /&gt;
&lt;br /&gt;
KNOWN ISSUES&lt;br /&gt;
&lt;br /&gt;
1) Setting Mining and Woodcutting&lt;br /&gt;
Setting these labors rely on the dwarf already having the proper equipment (pick or axe). These labors should be manually set in game for now.&lt;br /&gt;
&lt;br /&gt;
2) Migration Waves Incorrect&lt;br /&gt;
The group-by &amp;quot;Migration Wave&amp;quot; is based on some shady guesswork based on dwarf ids. It is in no way 100% accurate, but can sometimes amaze me that it works :)&lt;br /&gt;
   &lt;br /&gt;
3) Dwarf and Squad Names&lt;br /&gt;
This is brute force word-list searching. Verb conjugation, plurality and case are a crapshoot. But it's generally pretty close.&lt;br /&gt;
&lt;br /&gt;
4) 3.01.04 &amp;quot;Legacy&amp;quot; version is not supported, as it maps the memory differently, and no one has located the new creature vector yet.  (Other vectors can be found using the internal 'scan memory' utility).  This is known by the Dwarf Therapist developer, and will be addressed soon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [http://www.bay12games.com/forum/index.php?topic=41916.0 DFHack] ===&lt;br /&gt;
&lt;br /&gt;
DFHack is a Dwarf Fortress memory access library and a set of basic tools using this library. The library is a work in progress, so things might change as more tools are written for it. The current (0.3.1.4) release only supports the new DF 0.31.01, 0.31.02 and 0.31.03 versions. It consists of some of the more useful DFHack tools.&lt;br /&gt;
&lt;br /&gt;
Code and binary releases are available from the [http://github.com/peterix/dfhack/downloads Github site].&lt;br /&gt;
&lt;br /&gt;
=== DFhack tools for DF 2010 ===&lt;br /&gt;
==== dfcleanmap ====&lt;br /&gt;
Cleans all the bloodsmears that get scattered all over the map.&lt;br /&gt;
==== dfliquids ====&lt;br /&gt;
Allows creating liquids (water and magma), making them flow or preventing them from flowing. Newly also allows making obsidian walls. It's a command-prompt style utility where you type in very simple commands. Replaces the older magma_create tool.&lt;br /&gt;
&lt;br /&gt;
==== dfprospector ====&lt;br /&gt;
Lists all available minerals on the map and how much of them there is.&lt;br /&gt;
==== dfreveal ====&lt;br /&gt;
Reveals the whole map. Newly can also hide what it revealed. Use with caution, releases [[HFS]]! Same warnings as to the original Reveal tool apply.&lt;br /&gt;
&lt;br /&gt;
==== dfvdig ====&lt;br /&gt;
Designates a whole vein for digging. When using the '-x' option, it will dig stairs into other z-levels. Point the cursor at a vein and run this thing :)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fortress layout tools ==&lt;br /&gt;
&lt;br /&gt;
=== [http://sun2design.com/quickfort/ Quickfort] ===&lt;br /&gt;
&lt;br /&gt;
Quickfort is an AutoHotkey-based utility for Dwarf Fortress that helps you build fortresses from &amp;quot;blueprint&amp;quot; .CSV files (comma separated values). These files are easily created and edited in an app like Excel. Most building-oriented DF commands are supported through the use of multiple .CSV files to describe the different phases of DF construction (designation, building, stockpiles, and making adjustments).&lt;br /&gt;
&lt;br /&gt;
=== [[User:Soundandfury/DF_Designer|DF Designer]] ===&lt;br /&gt;
DF Designer, by [[User:Soundandfury|soundnfury]] is a fort layout planning tool.  It enables you to work out your designs before you start to build, and even see how they look in 3-D.&lt;br /&gt;
It's written in C with SDL, and both Linux and Windows builds are available.  The source code is freely available under the GPL.&lt;br /&gt;
Since DF Designer does not 'talk to' Dwarf Fortress, it is version-independent. Supports exporting to Quickfort-compatible CSV files.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.bay12forums.com/smf/index.php?topic=55025.0 ChromaFort] ===&lt;br /&gt;
Chromafort allows you to convert 24-bit bitmap (.bmp) images into Quickfort-compatible CSV files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Modding tools ==&lt;br /&gt;
&lt;br /&gt;
=== [http://dffd.wimbli.com/file.php?id=2068 Custom Workshop Workshop] ===&lt;br /&gt;
WYSIWYG editor for designing the raws for a custom workshop.&lt;br /&gt;
(Not all raws, just the tiles and colors)  Lets you see how it will look at each stage of construction.  Comes with the default 16x16 CURSES font built in, but you can load any .BMP formatted DF font you like, keeping in mind that if its bigger than 16x16 it won't fit.&lt;br /&gt;
&lt;br /&gt;
Accommodates up to 32x32 workshops, not that there's any reason for such a large workshop, right?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Raw tile tools ==&lt;br /&gt;
&lt;br /&gt;
=== [http://dffd.wimbli.com/file.php?id=2113 Raw tile selector] ===&lt;br /&gt;
Provides an easy to use graphical interface to select which tiles and colors should be displayed for plants, stones and small creatures.&lt;br /&gt;
&lt;br /&gt;
Made to ease the job of creators of tilesets with edited raws. It will also be useful for users that dislike decisions made by tileset creators or users that could not find the edited raws for a tileset.&lt;br /&gt;
&lt;br /&gt;
Currently for windows only.&lt;br /&gt;
&lt;br /&gt;
=== [http://dffd.wimbli.com/file.php?id=2178 Raw tile merger] ===&lt;br /&gt;
Provides an easy to use interface to change the tile and color data of raws to match the data of another set of raw files.&lt;br /&gt;
&lt;br /&gt;
Made to ease the job of creators of tilesets with edited raws when new versions of df are released. The edited raws for your tileset for a new df version can now be created with a few clicks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== World Map / World Gen Tools ==&lt;br /&gt;
&lt;br /&gt;
=== [http://www.bay12forums.com/smf/index.php?topic=57428 PerfectWorldDF] ===&lt;br /&gt;
Very detailed Windows program to help create customize world gens.&lt;br /&gt;
&amp;lt;br&amp;gt;[http://www.bay12forums.com/smf/index.php?topic=57428 Bay 12 forum link]&lt;br /&gt;
&amp;lt;br&amp;gt;[http://dffd.wimbli.com/file.php?id=2354 Dwarf Fortress File Depot link (may be old version)]&lt;br /&gt;
&amp;lt;br&amp;gt;[http://dffd.wimbli.com/who.php?id=1314 Dwarf Fortress File Depot listing for the author]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other/miscellaneous ==&lt;br /&gt;
&lt;br /&gt;
=== [http://winmerge.org/ WinMerge] ===&lt;br /&gt;
Winmerge allows you to compare the contents of folders or files. It highlights any differences between files and allows you to merge them. It is most useful for modders or users of mods. If you compare modified raw files with unmodified ones you can quickly see any differences.&lt;/div&gt;</summary>
		<author><name>Joelpt</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=40d:Macros_and_keymaps&amp;diff=31795</id>
		<title>40d:Macros and keymaps</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=40d:Macros_and_keymaps&amp;diff=31795"/>
		<updated>2009-07-20T02:30:24Z</updated>

		<summary type="html">&lt;p&gt;Joelpt: Added Quickfort&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Playing Dwarf Fortress means lots of typing.  Although the game has no internal macro/keymap system (except in alpha version 40d12), using an external program can save you a great deal of time when dumping, rewalling, designating, and so forth.&lt;br /&gt;
&lt;br /&gt;
#  Go to [[Utilities#AutoHotKey]] and download AutoHotKey.  Installation is simple and the program uses few system resources.&lt;br /&gt;
#  Write macro scripts (file type .ahk), which may contain any number of commands.  You activate scripts by double-clicking .ahk files and deactivate them by right-clicking the AutoHotKey icon on the task bar.  Both of these can be done at any time - even right in the middle of a game.  AutoHotKey also allows for automated activation of scripts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting Scripts==&lt;br /&gt;
Users may experience some issues in getting scripts to work, particularly when using looping scripts when experiencing low frame-rates.&lt;br /&gt;
* If experiencing low frame-rates, try adding delays (&amp;quot;Sleep 100&amp;quot; to pause for 100 milliseconds for example) within loops to allow the interface to keep up. If there are nested loops, sometimes adding a pause at the end of an inner loop is all that is needed to flush the keyboard buffer&lt;br /&gt;
* Make sure that Dwarf Fortress maintains focus. IM windows are the enemy! Who needs friends anyhow? You've got Dwarf Fortress.&lt;br /&gt;
* This may go without saying, but most macros assume standard key-mappings. If you're using non-standard ones, you may have to edit the macro to get it to work.&lt;br /&gt;
* Visiting liaisons can bring up screens that eat keystrokes, throwing a long-looping script out-of-phase with where it expects the game to be.  Wait for the farewell screen before running a long script.&lt;br /&gt;
* The &amp;lt;B&amp;gt;SendPlay&amp;lt;/B&amp;gt; function supports keys that the &amp;lt;B&amp;gt;Send&amp;lt;/B&amp;gt; function does not, for example {{key|Shift-Enter}}.  According to the AutoHotKey documentation, &amp;lt;B&amp;gt;SendPlay&amp;lt;/B&amp;gt; may also be better at preventing dropped keystrokes.&lt;br /&gt;
&lt;br /&gt;
== [http://sun2design.com/quickfort/ Quickfort] ==&lt;br /&gt;
&lt;br /&gt;
Quickfort is an AutoHotkey-based utility for Dwarf Fortress that helps you build fortresses from &amp;quot;blueprint&amp;quot; .CSV files (comma separated values). These files are easily created and edited in an app like Excel. Most building-oriented DF commands are supported through the use of multiple .CSV files to describe the different phases of DF construction (designation, building, stockpiles, and making adjustments). Many of the examples below can be reproduced in Quickfort.&lt;br /&gt;
&lt;br /&gt;
== AutoHotKey Examples ==&lt;br /&gt;
&lt;br /&gt;
===Dumping===&lt;br /&gt;
====Stock Screen Dump====&lt;br /&gt;
Taken from an old version of [[User:Jackard|Jackard's user page]].&lt;br /&gt;
&lt;br /&gt;
To use, first have your bookeeper do enough desk work so you can view individual items in the stocks listing.  Then bring it up and press del to quickly mark stuff.  To adjust the key repeat rate, edit the KEY_HOLD_MS value in \data\init\init.txt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
del::&lt;br /&gt;
IfWinActive Dwarf Fortress&lt;br /&gt;
{&lt;br /&gt;
  send d{down}&lt;br /&gt;
  return&lt;br /&gt;
}&lt;br /&gt;
else&lt;br /&gt;
{&lt;br /&gt;
  send {del}&lt;br /&gt;
  return&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Designation Dump====&lt;br /&gt;
A dumping script by [[User:Dukederek|Dukederek]]:&lt;br /&gt;
&lt;br /&gt;
This script uses a system similar the commands in the designations menu to mark most of the contents of a large area for dumping. [[User:Dukederek|My talk page]] has more detailed instruction.&lt;br /&gt;
&lt;br /&gt;
Essentially you need to create two text files with the following titles and content. When playing DF it is safe to have blockdumpinit running constantly as long as you dont plan on using the ctrl-d combination for something else.&lt;br /&gt;
&lt;br /&gt;
'''blockdumpinit.ahk'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^d::&lt;br /&gt;
RunWait, &amp;quot;blockdumpmain.ahk&amp;quot;&lt;br /&gt;
Return&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''blockdumpmain.ahk'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SetKeyDelay 25&lt;br /&gt;
return::&lt;br /&gt;
Send k&lt;br /&gt;
return&lt;br /&gt;
up::&lt;br /&gt;
Send w&lt;br /&gt;
return&lt;br /&gt;
left::&lt;br /&gt;
Send a&lt;br /&gt;
return&lt;br /&gt;
down::&lt;br /&gt;
Send s&lt;br /&gt;
return&lt;br /&gt;
right::&lt;br /&gt;
Send d&lt;br /&gt;
return&lt;br /&gt;
q::&lt;br /&gt;
ExitApp&lt;br /&gt;
return&lt;br /&gt;
shift::&lt;br /&gt;
x := 0&lt;br /&gt;
y := 1&lt;br /&gt;
Loop{&lt;br /&gt;
Input, keypress, B, {esc} , w,a,s,d,k,q&lt;br /&gt;
if keypress = w&lt;br /&gt;
{&lt;br /&gt;
y := --y&lt;br /&gt;
Send {up}&lt;br /&gt;
continue&lt;br /&gt;
}else if keypress = s&lt;br /&gt;
{&lt;br /&gt;
y := ++y&lt;br /&gt;
Send {down}&lt;br /&gt;
continue&lt;br /&gt;
}else if keypress = a&lt;br /&gt;
{&lt;br /&gt;
x := --x&lt;br /&gt;
Send {left}&lt;br /&gt;
continue&lt;br /&gt;
}else if keypress = d&lt;br /&gt;
{&lt;br /&gt;
x := ++x&lt;br /&gt;
Send {right}&lt;br /&gt;
continue&lt;br /&gt;
}else if keypress = k &lt;br /&gt;
{&lt;br /&gt;
break&lt;br /&gt;
}else if keypress = q&lt;br /&gt;
{&lt;br /&gt;
ExitApp&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
y := y / 2&lt;br /&gt;
z := y&lt;br /&gt;
z := Floor(z)&lt;br /&gt;
z := y/z&lt;br /&gt;
Send d{NumpadAdd}d&lt;br /&gt;
If z = 0&lt;br /&gt;
{	&lt;br /&gt;
If x = 0&lt;br /&gt;
ExitApp&lt;br /&gt;
Else{&lt;br /&gt;
Loop %x%{&lt;br /&gt;
Send {left}d&lt;br /&gt;
}ExitApp&lt;br /&gt;
}&lt;br /&gt;
}If z &amp;lt;&amp;gt; 1&lt;br /&gt;
{&lt;br /&gt;
Loop %y%{&lt;br /&gt;
Loop %x%{&lt;br /&gt;
Send {left}d{NumpadAdd}d&lt;br /&gt;
}Send {up}d&lt;br /&gt;
Loop %x%{&lt;br /&gt;
Send {right}d{NumpadAdd}d&lt;br /&gt;
}Send {up}d{NumpadAdd}d&lt;br /&gt;
}Loop %x%{&lt;br /&gt;
Send {left}d{NumpadAdd}d&lt;br /&gt;
}&lt;br /&gt;
}Else If z = 1&lt;br /&gt;
{&lt;br /&gt;
y := y + 0.5&lt;br /&gt;
Loop %y%{&lt;br /&gt;
Loop %x%{&lt;br /&gt;
Send {left}d{NumpadAdd}d&lt;br /&gt;
}Send {up}d&lt;br /&gt;
Loop %x%{&lt;br /&gt;
Send {right}d{NumpadAdd}d&lt;br /&gt;
}Send {up}d{NumpadAdd}d&lt;br /&gt;
}Send d{NumpadSub}d&lt;br /&gt;
}ExitApp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Rewalling ===&lt;br /&gt;
Taken from [[User:Valdemar|Valdemar's user page]].&lt;br /&gt;
&lt;br /&gt;
This is a macro to aid with rewalling. To use, copy-paste the script into a new .ahk file and run the script with AutoHotkey. Then, in Dwarf Fortress, press b-C-w, move the cursor to where you want to start the wall, and hold Ctrl-Shift-Arrowkey, using the direction you want to rewall in. To build floors, press b-C-f instead, and use Ctrl-Alt-Arrowkey. To stop, just release the keys.&lt;br /&gt;
&lt;br /&gt;
The script will use the first material in the list. I suggest you create a stockpile near the construction site that only accepts the item you wish to build with and temporarily forbid any nearby materials you don't want to build with. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$^+Left:: ProcessEvent(&amp;quot;Left&amp;quot;,&amp;quot;w&amp;quot;)&lt;br /&gt;
$^+Right:: ProcessEvent(&amp;quot;Right&amp;quot;,&amp;quot;w&amp;quot;)&lt;br /&gt;
$^+Up:: ProcessEvent(&amp;quot;Up&amp;quot;,&amp;quot;w&amp;quot;)&lt;br /&gt;
$^+Down:: ProcessEvent(&amp;quot;Down&amp;quot;,&amp;quot;w&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
$^!Left:: ProcessEvent(&amp;quot;Left&amp;quot;,&amp;quot;f&amp;quot;)&lt;br /&gt;
$^!Right:: ProcessEvent(&amp;quot;Right&amp;quot;,&amp;quot;f&amp;quot;)&lt;br /&gt;
$^!Up:: ProcessEvent(&amp;quot;Up&amp;quot;,&amp;quot;f&amp;quot;)&lt;br /&gt;
$^!Down:: ProcessEvent(&amp;quot;Down&amp;quot;,&amp;quot;f&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ProcessEvent(direction, type)&lt;br /&gt;
{   &lt;br /&gt;
    Send {Enter}&lt;br /&gt;
    Sleep 100&lt;br /&gt;
    Send {Enter}&lt;br /&gt;
    Sleep 100&lt;br /&gt;
    Send %type%&lt;br /&gt;
    Sleep 100&lt;br /&gt;
    Send {%direction%}&lt;br /&gt;
    Loop&lt;br /&gt;
    {&lt;br /&gt;
        if not GetKeyState(direction, &amp;quot;P&amp;quot;) &lt;br /&gt;
            break  &lt;br /&gt;
        Send {Enter}&lt;br /&gt;
        Sleep 100&lt;br /&gt;
        Send {Enter}&lt;br /&gt;
        Sleep 100&lt;br /&gt;
        Send %type%&lt;br /&gt;
        Sleep 100&lt;br /&gt;
        Send {%direction%}&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Grid-by-grid designation===&lt;br /&gt;
For easier diagonal and fancy mining.  Assumes that DF is active.  &amp;quot;^!&amp;quot; means ctrl-alt-direction.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^!NumpadEnd::&lt;br /&gt;
send {Enter}{Enter}{NumpadEnd}&lt;br /&gt;
return&lt;br /&gt;
^!NumpadDown::&lt;br /&gt;
send {Enter}{Enter}{NumpadDown}&lt;br /&gt;
return&lt;br /&gt;
^!NumpadPgDn::&lt;br /&gt;
send {Enter}{Enter}{NumpadPgDn}&lt;br /&gt;
return&lt;br /&gt;
^!NumpadLeft::&lt;br /&gt;
send {Enter}{Enter}{NumpadLeft}&lt;br /&gt;
return&lt;br /&gt;
^!NumpadRight::&lt;br /&gt;
send {Enter}{Enter}{NumpadRight}&lt;br /&gt;
return&lt;br /&gt;
^!NumpadHome::&lt;br /&gt;
send {Enter}{Enter}{NumpadHome}&lt;br /&gt;
return&lt;br /&gt;
^!NumpadUp::&lt;br /&gt;
send {Enter}{Enter}{NumpadUp}&lt;br /&gt;
return&lt;br /&gt;
^!NumpadPgUp::&lt;br /&gt;
send {Enter}{Enter}{NumpadPgUp}&lt;br /&gt;
return&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Embark Settings macros===&lt;br /&gt;
These macros are used to ease the setup of skills and supplies before you embark.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Improved Food/Alcohol buying macro====&lt;br /&gt;
This macro buys all the cost-2 food (that I have seen), as well as the four types of alcohol.  Just press ctrl+f on the Items screen.&lt;br /&gt;
It can deal with meat or drink that you already have, or is not currently featured.   By [[User:Redfenix|Redfenix]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^f::&lt;br /&gt;
&lt;br /&gt;
send ndwarven{SPACE}ale{RIGHT}{ENTER}{F9}&lt;br /&gt;
send ndwarven{SPACE}rum{RIGHT}{ENTER}{F9}&lt;br /&gt;
send ndwarven{SPACE}beer{RIGHT}{ENTER}{F9}&lt;br /&gt;
send ndwarven{SPACE}wine{RIGHT}{ENTER}{F9}&lt;br /&gt;
send ndonkey{SPACE}meat{RIGHT}{ENTER}{F9}&lt;br /&gt;
send nchimpanzee{SPACE}meat{RIGHT}{ENTER}{F9}&lt;br /&gt;
send ngazelle{SPACE}meat{RIGHT}{ENTER}{F9}&lt;br /&gt;
send nbonobo{SPACE}meat{RIGHT}{ENTER}{F9}&lt;br /&gt;
send nmule{SPACE}meat{RIGHT}{ENTER}{F9}&lt;br /&gt;
send ndeer{SPACE}meat{RIGHT}{ENTER}{F9}&lt;br /&gt;
send nraccoon{SPACE}meat{RIGHT}{ENTER}{F9}&lt;br /&gt;
send nfox{SPACE}meat{RIGHT}{ENTER}{F9}&lt;br /&gt;
send nrhesus{SPACE}macaque{SPACE}meat{RIGHT}{ENTER}{F9}&lt;br /&gt;
send nhorse{SPACE}meat{RIGHT}{ENTER}{F9}&lt;br /&gt;
send ngroundhog{SPACE}meat{RIGHT}{ENTER}{F9}&lt;br /&gt;
send nmountain{SPACE}goat{SPACE}meat{RIGHT}{ENTER}{F9}&lt;br /&gt;
send nhoary{SPACE}marmot{SPACE}meat{RIGHT}{ENTER}{F9}&lt;br /&gt;
send ngorilla{SPACE}meat{RIGHT}{ENTER}{F9}&lt;br /&gt;
send norangutan{SPACE}meat{RIGHT}{ENTER}{F9}&lt;br /&gt;
send nsiamang{SPACE}meat{RIGHT}{ENTER}{F9}&lt;br /&gt;
send nbilou{SPACE}meat{RIGHT}{ENTER}{F9}&lt;br /&gt;
send npileated{SPACE}gibbon{SPACE}meat{RIGHT}{ENTER}{F9}&lt;br /&gt;
send nmandrill{SPACE}meat{RIGHT}{ENTER}{F9}&lt;br /&gt;
send nturtle{RIGHT}{ENTER}{F9}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===='First Fortress' setup====&lt;br /&gt;
This macro works with the default setup of DF, and starts you with (almost) the setup suggested in the &amp;quot;Your first fortress&amp;quot; tutorial.  The amounts are adjustable with the variables at the top of the macro.&lt;br /&gt;
&amp;lt;pre&amp;gt;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
; materialplanner.ahk					  	;&lt;br /&gt;
; this is a ahk script to set up the embark settings roughly as	;&lt;br /&gt;
;suggested in the &amp;quot;your first fortress&amp;quot; tutorial.  Inventory	;&lt;br /&gt;
;can be customized slightly.					;&lt;br /&gt;
; use ctrl+shift+e to run				  	;&lt;br /&gt;
;							  	;&lt;br /&gt;
; NOTEs:						  	;&lt;br /&gt;
; change variables to suit your desires			 	;&lt;br /&gt;
; the fourth guy is a Stonecrafter instead of Herbalist		;&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;&lt;br /&gt;
;;VARIABLES;;&lt;br /&gt;
;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
PICKS = 2	;number of picks to pack&lt;br /&gt;
AXES = 1 	;number of axes to pack&lt;br /&gt;
ANVILS = 0	;number of anvils to pack&lt;br /&gt;
MEATS = 7	;how much meat to take, each buys one of each cheap type (total number depends on locale)&lt;br /&gt;
DRINKS = 26	;how many drinks to take, each one buys 4 drinks, one of each type&lt;br /&gt;
SEEDS = 5	;each increment buys 5 plump helmet spawn, 2 pig tail, and 2 rock nuts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SetKeyDelay, 12	;Key delay, to keep Dwarf Fortress from being overwhelmed.&lt;br /&gt;
		;Set higher if you get weird results, or lower to get the&lt;br /&gt;
		;script to run faster&lt;br /&gt;
SLEEPTIME = 12	;same thing, only used in the repeated key press loops though&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;&lt;br /&gt;
;;The code;;&lt;br /&gt;
;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
^+e::&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
			;remove all of the items&lt;br /&gt;
Send {Tab}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
loop 105{&lt;br /&gt;
	Send {NumpadSub}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Send {Tab}&lt;br /&gt;
&lt;br /&gt;
			;place the skills&lt;br /&gt;
			;first guy&lt;br /&gt;
			;Proficient Miner&lt;br /&gt;
Send {right}&lt;br /&gt;
loop 5{&lt;br /&gt;
	Send {NumpadAdd}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
			;novice appraiser&lt;br /&gt;
Send {PgUp}&lt;br /&gt;
loop 7{&lt;br /&gt;
	Send {Up}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
			;novice Judge of Intent&lt;br /&gt;
Send {Up}&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
			;competent gem setter&lt;br /&gt;
Send {PgUp}&lt;br /&gt;
Send {PgUp}&lt;br /&gt;
loop 7{&lt;br /&gt;
	Send {Up}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
loop 3{&lt;br /&gt;
	Send {NumpadAdd}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
			;second guy&lt;br /&gt;
Send {Left}&lt;br /&gt;
Send {Down}&lt;br /&gt;
Send {Right}&lt;br /&gt;
Send {PgUp}&lt;br /&gt;
			;Proficient Miner&lt;br /&gt;
loop 5{&lt;br /&gt;
	Send {NumpadAdd}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
			;Proficient Mason&lt;br /&gt;
loop 3{&lt;br /&gt;
	Send {Down}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
loop 5{&lt;br /&gt;
	Send {NumpadAdd}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
			;third guy&lt;br /&gt;
Send {Left}&lt;br /&gt;
Send {Down}&lt;br /&gt;
Send {Right}&lt;br /&gt;
			;Proficient Carpenter&lt;br /&gt;
Send {UP}&lt;br /&gt;
loop 5{&lt;br /&gt;
	Send {NumpadAdd}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
			;Proficient Wood Cutter&lt;br /&gt;
Send {UP}&lt;br /&gt;
loop 5{&lt;br /&gt;
	Send {NumpadAdd}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
			;fourth guy&lt;br /&gt;
Send {Left}&lt;br /&gt;
Send {Down}&lt;br /&gt;
Send {Right}&lt;br /&gt;
			;Proficient Grower&lt;br /&gt;
Send {PgDn}&lt;br /&gt;
Send {Down}&lt;br /&gt;
Send {Down}&lt;br /&gt;
loop 5{&lt;br /&gt;
	Send {NumpadAdd}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
			;Proficient Stone Crafter&lt;br /&gt;
loop 9{&lt;br /&gt;
	Send {Up}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
loop 5{&lt;br /&gt;
	Send {NumpadAdd}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
			;fifth guy&lt;br /&gt;
Send {Left}&lt;br /&gt;
Send {Down}&lt;br /&gt;
Send {Right}&lt;br /&gt;
			;Proficient Mechanic&lt;br /&gt;
loop 5{&lt;br /&gt;
	Send {Down}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
loop 5{&lt;br /&gt;
	Send {NumpadAdd}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
			;Proficient Building Designer&lt;br /&gt;
Send {PgUp}&lt;br /&gt;
loop 5{&lt;br /&gt;
	Send {Down}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
loop 5{&lt;br /&gt;
	Send {NumpadAdd}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
			;sixth guy&lt;br /&gt;
Send {Left}&lt;br /&gt;
Send {Down}&lt;br /&gt;
Send {Right}&lt;br /&gt;
			;Proficient Weaponsmith&lt;br /&gt;
loop 1{&lt;br /&gt;
	Send {Down}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
loop 5{&lt;br /&gt;
	Send {NumpadAdd}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
			;Proficient Armorsmith&lt;br /&gt;
loop 2{&lt;br /&gt;
	Send {Down}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
loop 5{&lt;br /&gt;
	Send {NumpadAdd}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
			;seventh guy&lt;br /&gt;
Send {Left}&lt;br /&gt;
Send {Down}&lt;br /&gt;
Send {Right}&lt;br /&gt;
			;Proficient Cook&lt;br /&gt;
Send {PgDn}&lt;br /&gt;
loop 2{&lt;br /&gt;
	Send {Up}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
loop 5{&lt;br /&gt;
	Send {NumpadAdd}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
			;Proficient Brewer&lt;br /&gt;
loop 1{&lt;br /&gt;
	Send {Up}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
loop 5{&lt;br /&gt;
	Send {NumpadAdd}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
			;do the inventory&lt;br /&gt;
Send {Tab}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
			;Meat&lt;br /&gt;
&lt;br /&gt;
if MEATS &amp;gt; 0&lt;br /&gt;
{&lt;br /&gt;
tmp := MEATS - 1&lt;br /&gt;
send ndonkey{SPACE}meat{RIGHT}{ENTER}&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
Send {F9}&lt;br /&gt;
send nchimpanzee{SPACE}meat{RIGHT}{ENTER}&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
Send {F9}&lt;br /&gt;
send ngazelle{SPACE}meat{RIGHT}{ENTER}&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
Send {F9}&lt;br /&gt;
send nbonobo{SPACE}meat{RIGHT}{ENTER}&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
Send {F9}&lt;br /&gt;
send nmule{SPACE}meat{RIGHT}{ENTER}&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
Send {F9}&lt;br /&gt;
send ndeer{SPACE}meat{RIGHT}{ENTER}&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
Send {F9}&lt;br /&gt;
send nraccoon{SPACE}meat{RIGHT}{ENTER}&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
Send {F9}&lt;br /&gt;
send nfox{SPACE}meat{RIGHT}{ENTER}&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
Send {F9}&lt;br /&gt;
send nrhesus{SPACE}macaque{SPACE}meat{RIGHT}{ENTER}&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
Send {F9}&lt;br /&gt;
send nhorse{SPACE}meat{RIGHT}{ENTER}&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
Send {F9}&lt;br /&gt;
send ngroundhog{SPACE}meat{RIGHT}{ENTER}&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
Send {F9}&lt;br /&gt;
send nmountain{SPACE}goat{SPACE}meat{RIGHT}{ENTER}&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
Send {F9}&lt;br /&gt;
send nhoary{SPACE}marmot{SPACE}meat{RIGHT}{ENTER}&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
Send {F9}&lt;br /&gt;
send ngorilla{SPACE}meat{RIGHT}{ENTER}&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
Send {F9}&lt;br /&gt;
send norangutan{SPACE}meat{RIGHT}{ENTER}&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
Send {F9}&lt;br /&gt;
send nsiamang{SPACE}meat{RIGHT}{ENTER}&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
Send {F9}&lt;br /&gt;
send nbilou{SPACE}meat{RIGHT}{ENTER}&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
Send {F9}&lt;br /&gt;
send npileated{SPACE}gibbon{SPACE}meat{RIGHT}{ENTER}&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
Send {F9}&lt;br /&gt;
send nmandrill{SPACE}meat{RIGHT}{ENTER}&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
Send {F9}&lt;br /&gt;
send nturtle{RIGHT}{ENTER}&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
Send {F9}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
			;copper picks&lt;br /&gt;
if PICKS &amp;gt; 0&lt;br /&gt;
{&lt;br /&gt;
Send {n}copper picks{Right}{Enter}&lt;br /&gt;
tmp := PICKS - 1&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
	Send {NumpadAdd}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
			;Axes&lt;br /&gt;
if AXES &amp;gt; 0&lt;br /&gt;
{&lt;br /&gt;
Send {n}steel axes{Right}{Enter}&lt;br /&gt;
tmp := AXES - 1&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
	Send {NumpadAdd}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
			;Seeds&lt;br /&gt;
if SEEDS &amp;gt; 0&lt;br /&gt;
{&lt;br /&gt;
send {n}Rock nuts{Right}{Enter}&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
send {n}plump helmet spawn{Right}{Enter}&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
send {n}Pig tail Seeds{Right}{Enter}&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
&lt;br /&gt;
tmp := SEEDS - 1&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
Send {up}&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
Send {up}&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
			;Anvils&lt;br /&gt;
if ANVILS &amp;gt; 0&lt;br /&gt;
{&lt;br /&gt;
Send {n}iron anvils{Right}{Enter}&lt;br /&gt;
tmp := ANVILS - 1&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
	Send {NumpadAdd}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
			;Drinks&lt;br /&gt;
if DRINKS &amp;gt; 0{&lt;br /&gt;
send {n}Dwarven ale{Right}{Enter}&lt;br /&gt;
send {n}Dwarven beer{Right}{Enter}&lt;br /&gt;
send {n}Dwarven wine{Right}{Enter}&lt;br /&gt;
send {n}Dwarven rum{Right}{Enter}&lt;br /&gt;
&lt;br /&gt;
tmp := DRINKS - 1&lt;br /&gt;
loop 4{&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
Send {up}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
return&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===A more modular approach===&lt;br /&gt;
Hit WIN+G to go once you are on the empty item screen&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#g::&lt;br /&gt;
;add an anvil&lt;br /&gt;
Additem(&amp;quot;iron anvils&amp;quot;,1)&lt;br /&gt;
;add 31 of the boozes (kind of iffy might end up with dwarven cheese or something if the civilization does not have 4 boozes)&lt;br /&gt;
Additem(&amp;quot;dw&amp;quot;,31)&lt;br /&gt;
Additem(&amp;quot;dw&amp;quot;,31)&lt;br /&gt;
Additem(&amp;quot;dw&amp;quot;,31)&lt;br /&gt;
Additem(&amp;quot;dw&amp;quot;,31)&lt;br /&gt;
;adds copper nuggets &lt;br /&gt;
Additem(&amp;quot;copper n&amp;quot;,5)&lt;br /&gt;
;adds cassiterite&lt;br /&gt;
Additem(&amp;quot;cass&amp;quot;,5)&lt;br /&gt;
;bitumous coal&lt;br /&gt;
Additem(&amp;quot;coal&amp;quot;,5)&lt;br /&gt;
;tower cap logs&lt;br /&gt;
Additem(&amp;quot;logs&amp;quot;,11)&lt;br /&gt;
return&lt;br /&gt;
&lt;br /&gt;
IsCurrentItemThere()&lt;br /&gt;
{&lt;br /&gt;
	;color of text in the new item screen 0xFFFF00(selected) or 0x808000 (unselected)&lt;br /&gt;
	;location of text in the new item screen 305, 150&lt;br /&gt;
	PixelSearch, , , 305, 150, 315, 160, 0x808000, 3,&lt;br /&gt;
	return !ErrorLevel&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
AddItem(name,amount)&lt;br /&gt;
{&lt;br /&gt;
	Sleep 100&lt;br /&gt;
	amount -= 1&lt;br /&gt;
	SetKeyDelay 150&lt;br /&gt;
	SendInput n&lt;br /&gt;
	SendInput %name%&lt;br /&gt;
	;MsgBox Name Check&lt;br /&gt;
	Sleep 200&lt;br /&gt;
	if IsCurrentItemThere() &lt;br /&gt;
	{&lt;br /&gt;
		Sleep 200&lt;br /&gt;
		SendInput {Right}&lt;br /&gt;
		SendInput {Enter}&lt;br /&gt;
		Sleep 200&lt;br /&gt;
		Loop&lt;br /&gt;
		{&lt;br /&gt;
			if amount &amp;lt;= 0 &lt;br /&gt;
			{&lt;br /&gt;
				break&lt;br /&gt;
			}&lt;br /&gt;
			SendInput {NumpadAdd}&lt;br /&gt;
			Sleep 10&lt;br /&gt;
			amount --&lt;br /&gt;
		}&lt;br /&gt;
		;MsgBox Done&lt;br /&gt;
	}&lt;br /&gt;
	else &lt;br /&gt;
	{&lt;br /&gt;
		SendInput {F9}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Bed Assigning macro===&lt;br /&gt;
This will assign bedrooms to your dwarfs. Press F3 followed by a single digit indicating how many beds to assign. Can repeat the action, as the number of beds assigned is stored in a counter. Room size is default, but easily edited into the script. By [[User:Napsterbater|Napsterbater]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bedcounter = 0&lt;br /&gt;
F3::&lt;br /&gt;
  Input, counter, L1&lt;br /&gt;
  SetKeyDelay, 100&lt;br /&gt;
  loop  %counter% {&lt;br /&gt;
    loop %bedcounter%&lt;br /&gt;
      send {Down}&lt;br /&gt;
    loop % A_Index - 1&lt;br /&gt;
      send {Down}&lt;br /&gt;
    send {q}{r}{Enter}{a}&lt;br /&gt;
    loop %bedcounter%&lt;br /&gt;
      send {NumPadAdd}&lt;br /&gt;
    loop % A_Index - 1&lt;br /&gt;
      send {NumPadAdd}&lt;br /&gt;
    send {NumPadAdd}{Enter}&lt;br /&gt;
    send {space}{r}&lt;br /&gt;
  }&lt;br /&gt;
  bedcounter += counter&lt;br /&gt;
return&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Room-designation macros===&lt;br /&gt;
&lt;br /&gt;
====Valdemar's Designator Macro====&lt;br /&gt;
This macro can read a spreadsheet and designate rooms according to it. [http://www.bay12games.com/forum/index.php?topic=1428.0 Version 1]&lt;br /&gt;
&lt;br /&gt;
Version 2 of this macro apparently only works in versions up to and including 38c &amp;lt;sup&amp;gt;[[verify]]&amp;lt;/sup&amp;gt;, and can be found here: [http://www.bay12games.com/forum/index.php?topic=1890.0 Version 2]&lt;br /&gt;
&lt;br /&gt;
====Fedor's chambered circle====&lt;br /&gt;
A circular room with eight equal-sized chambers, suitable for everything from housing to workshops to a mausoleum.&amp;lt;br&amp;gt;&lt;br /&gt;
[http://mkv25.net/dfma/movie-216-room-designationmacro01 See this macro in action]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Macros_and_Keymaps_Examples#Room-designation Macro 01|Macro text]]&lt;br /&gt;
&lt;br /&gt;
====Valdemar's bedroom complex====&lt;br /&gt;
A large fractal bedroom/dining complex, with 56 bedrooms and room for 24 tables.&lt;br /&gt;
&lt;br /&gt;
You can press Alt-B to create a bedroom block, or Alt-C to create a full complex with 4 bedroom blocks and a dining block in the center.&lt;br /&gt;
&lt;br /&gt;
Note - the macro is much faster than the demo movie shows, it is done in under a minute.&lt;br /&gt;
&lt;br /&gt;
[http://mkv25.net/dfma/movie-252 Demo Movie]&lt;br /&gt;
&lt;br /&gt;
[http://www.pindi.us/files/fractalbr.zip Download]&lt;br /&gt;
&lt;br /&gt;
====Tulip's room macros====&lt;br /&gt;
Based on [[Bedroom_design|the bedroom designs.]]&lt;br /&gt;
&lt;br /&gt;
^g means alt+g, !g means ctrl+g, and so on.&lt;br /&gt;
Open up the designations window before using these:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
; This will make a basic 'x' pattern workshop/room layout&lt;br /&gt;
; and will 'land' back on the same tile it starts on each time,&lt;br /&gt;
; which happens to be the center.&lt;br /&gt;
; It is modified so that you will have 3 staircases, and an extra tile&lt;br /&gt;
; because many workshops do not have corner access.&lt;br /&gt;
!r::&lt;br /&gt;
Send di2{enter}88{enter}4d{enter}4{enter}67{enter}77{enter}66666666&lt;br /&gt;
Send {enter}11{enter}1{enter}6{enter}114{enter}4{enter}2{enter}11{enter}&lt;br /&gt;
Send 66666666{enter}77{enter}7{enter}6{enter}74&lt;br /&gt;
return&lt;br /&gt;
&lt;br /&gt;
; This makes GnomeChomsky's Tessellated Apartments, bedrooms only.&lt;br /&gt;
; Your cursor will be over the left staircase.&lt;br /&gt;
!g::&lt;br /&gt;
Send i999866{enter}{enter}33332{enter}{enter}11114{enter}{enter}&lt;br /&gt;
Send d3{enter}22{enter}4{enter}{enter}&lt;br /&gt;
Send 78{enter}44{enter}8{enter}{enter}&lt;br /&gt;
Send 96{enter}88{enter}6{enter}{enter}	&lt;br /&gt;
Send 32{enter}66{enter}2{enter}{enter}&lt;br /&gt;
Send 96{enter}{enter}6{enter}88{enter}&lt;br /&gt;
Send 96{enter}{enter}8{enter}44{enter}&lt;br /&gt;
Send 1444{enter}{enter}2{enter}66{enter}&lt;br /&gt;
Send 88{enter}88{enter}6{enter}{enter}&lt;br /&gt;
Send 78{enter}{enter}8{enter}44{enter}&lt;br /&gt;
Send 78{enter}{enter}4{enter}22{enter}&lt;br /&gt;
Send 14{enter}{enter}2{enter}66{enter}&lt;br /&gt;
Send 66{enter}22{enter}4{enter}{enter}&lt;br /&gt;
Send 14{enter}{enter}8{enter}44{enter}&lt;br /&gt;
Send 78{enter}{enter}4{enter}22{enter}&lt;br /&gt;
Send 14{enter}{enter}2{enter}66{enter}&lt;br /&gt;
Send 32{enter}{enter}6{enter}88{enter}7i{enter}{enter}&lt;br /&gt;
return&lt;br /&gt;
&lt;br /&gt;
; This makes GnomeChomsky's Tessellated Apartments, bedrooms plus dining.&lt;br /&gt;
; Everything above applies.&lt;br /&gt;
^g::&lt;br /&gt;
Send i{enter}{enter}999866{enter}{enter}33332{enter}{enter}11114{enter}{enter}d&lt;br /&gt;
Send 444{enter}{enter}2{enter}66{enter}&lt;br /&gt;
Send 32{enter}{enter}6{enter}88{enter}&lt;br /&gt;
Send 9966{enter}{enter}6{enter}88{enter}&lt;br /&gt;
Send 96{enter}{enter}8{enter}44{enter}&lt;br /&gt;
Send 7788{enter}{enter}8{enter}44{enter}&lt;br /&gt;
Send 78{enter}{enter}4{enter}22{enter}&lt;br /&gt;
Send 1144{enter}{enter}4{enter}22{enter}&lt;br /&gt;
Send 14{enter}{enter}2{enter}66{enter}&lt;br /&gt;
Send 36{enter}8886666666{enter}&lt;br /&gt;
Send 9{enter}4444444{enter}&lt;br /&gt;
Send 8{enter}6666{enter}744{enter}{enter}&lt;br /&gt;
Send 222222441{enter}6666666{enter}&lt;br /&gt;
Send {enter}22{enter}8{enter}4444{enter}&lt;br /&gt;
Send 7778&lt;br /&gt;
return&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; This makes THLawrence's Living Pods (the A is for Arabia).&lt;br /&gt;
; Put your cursor where you want the upper left staircase to be.&lt;br /&gt;
; Like my other scripts, it recenters on that tile.&lt;br /&gt;
; Also, thank you THLawrence, this one was really easy write!&lt;br /&gt;
!a::&lt;br /&gt;
Send i{enter}{enter}d7{enter}7{enter}666{enter}3{enter}22{enter}1{enter}44{enter}7{enter}&lt;br /&gt;
Send 96666666&lt;br /&gt;
Send i{enter}{enter}d7{enter}7{enter}666{enter}3{enter}22{enter}1{enter}44{enter}7{enter}&lt;br /&gt;
Send 33222&lt;br /&gt;
Send i{enter}{enter}d7{enter}7{enter}666{enter}3{enter}22{enter}1{enter}44{enter}7{enter}&lt;br /&gt;
Send 7444&lt;br /&gt;
Send i{enter}{enter}d7{enter}7{enter}666{enter}3{enter}22{enter}1{enter}44{enter}7{enter}&lt;br /&gt;
Send 9988888&lt;br /&gt;
return&lt;br /&gt;
&lt;br /&gt;
; This makes the lobby for THLawrence's Living pods.&lt;br /&gt;
^a::&lt;br /&gt;
Send i{enter}{enter}d7{enter}7{enter}666{enter}3{enter}66{enter}9{enter}66{enter}3{enter}41i{enter}{enter}&lt;br /&gt;
Send 36d{enter}1444444{enter}&lt;br /&gt;
Send 74{enter}1{enter}22{enter}3{enter}3i{enter}{enter}d1{enter}1{enter}666{enter}9{enter}&lt;br /&gt;
Send 66{enter}3{enter}66{enter}9{enter}88{enter}7{enter}74{enter}1144{enter}&lt;br /&gt;
Send 36666i{enter}{enter}777777&lt;br /&gt;
return&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====LordGrunt's room macro====&lt;br /&gt;
Based on 1 of the fractal [[Bedroom_design| bedroom designs.]]&lt;br /&gt;
&lt;br /&gt;
[http://mkv25.net/dfma/movie-1226-fractalbedrooms Demo Movie]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
;&lt;br /&gt;
; Fractal Apts&lt;br /&gt;
; Start script while in 'dig' mode with cursor on desired position of left up staircase&lt;br /&gt;
;&lt;br /&gt;
; ALT+G to generate,&lt;br /&gt;
; CTRL+ALT+G to erase in case of failure&lt;br /&gt;
;&lt;br /&gt;
     &lt;br /&gt;
!g::&lt;br /&gt;
base_cross()&lt;br /&gt;
sleep 100&lt;br /&gt;
mid_sqr()&lt;br /&gt;
sleep 100&lt;br /&gt;
corridors()&lt;br /&gt;
sleep 100&lt;br /&gt;
all_rooms()&lt;br /&gt;
return&lt;br /&gt;
&lt;br /&gt;
base_cross()&lt;br /&gt;
{&lt;br /&gt;
Send i{ENTER}3{ENTER}&lt;br /&gt;
Send d1{ENTER}6{SHIFT}+2{SHIFT}+2{SHIFT}+2{SHIFT}+28{ENTER}&lt;br /&gt;
Send d{SHIFT}+8{SHIFT}+8{SHIFT}+8{SHIFT}+888{ENTER}4{SHIFT}+8{SHIFT}+8{SHIFT}+8{SHIFT}+82{ENTER}&lt;br /&gt;
Send d{SHIFT}+2{SHIFT}+2{SHIFT}+2{SHIFT}+24{ENTER}2{SHIFT}+4{SHIFT}+4{SHIFT}+4{SHIFT}+46{ENTER}&lt;br /&gt;
Send d{SHIFT}+6{SHIFT}+6{SHIFT}+6{SHIFT}+666{ENTER}8{SHIFT}+6{SHIFT}+6{SHIFT}+6{SHIFT}+64{ENTER}&lt;br /&gt;
Send d{SHIFT}+4{SHIFT}+4{SHIFT}+4{SHIFT}+4474{SHIFT}+8{SHIFT}+888888{ENTER}66666{SHIFT}+2{SHIFT}+2{SHIFT}+2{SHIFT}+2{SHIFT}+2222{ENTER}8&lt;br /&gt;
Send d{SHIFT}+8{SHIFT}+88884488888{SHIFT}+6{SHIFT}+6666666{ENTER}22222{SHIFT}+4{SHIFT}+4{SHIFT}+4{SHIFT}+4{SHIFT}+4444{ENTER}6&lt;br /&gt;
}&lt;br /&gt;
mid_sqr()&lt;br /&gt;
{&lt;br /&gt;
Send d{SHIFT}+3666&lt;br /&gt;
send d{ENTER}{SHIFT}+9{SHIFT}+999999{ENTER}1{ENTER}9999{ENTER}9{ENTER}111{ENTER}&lt;br /&gt;
send d{SHIFT}+1{SHIFT}+1{SHIFT}+1{ENTER}999{ENTER}99{ENTER}1111{ENTER}99&lt;br /&gt;
send d{SHIFT}+8{SHIFT}+8{SHIFT}+8444{ENTER}333{ENTER}33{ENTER}7777{ENTER}&lt;br /&gt;
send d{SHIFT}+3{SHIFT}+3{SHIFT}+37{ENTER}333{ENTER}7{ENTER}7777{ENTER}&lt;br /&gt;
}&lt;br /&gt;
corridors()&lt;br /&gt;
{&lt;br /&gt;
send d{SHIFT}+7{SHIFT}+7{SHIFT}+7999{ENTER}{SHIFT}+6{SHIFT}+6{SHIFT}+66{ENTER}&lt;br /&gt;
send d333333{ENTER}{SHIFT}+2{SHIFT}+2{SHIFT}+22{ENTER}&lt;br /&gt;
send d111111{ENTER}{SHIFT}+4{SHIFT}+4{SHIFT}+44{ENTER}&lt;br /&gt;
send d777777{ENTER}{SHIFT}+8{SHIFT}+8{SHIFT}+88{ENTER}&lt;br /&gt;
sleep 100&lt;br /&gt;
send d3333222{ENTER}{SHIFT}+466{ENTER}&lt;br /&gt;
send d{SHIFT}+2{SHIFT}+2888{ENTER}{SHIFT}+644{ENTER}&lt;br /&gt;
send d{SHIFT}+9{SHIFT}+9{SHIFT}+6{SHIFT}+6333&lt;br /&gt;
send d{ENTER}{SHIFT}+466{ENTER}&lt;br /&gt;
send d{SHIFT}+2{SHIFT}+2888{ENTER}{SHIFT}+644{ENTER}&lt;br /&gt;
sleep 100&lt;br /&gt;
send d{SHIFT}+4{SHIFT}+1966&lt;br /&gt;
send d{ENTER}{SHIFT}+288{ENTER}&lt;br /&gt;
send d{SHIFT}+4{SHIFT}+4666{ENTER}{SHIFT}+822{ENTER}&lt;br /&gt;
sleep 100&lt;br /&gt;
send d{SHIFT}+9{SHIFT}+9{SHIFT}+8{SHIFT}+8777&lt;br /&gt;
send d{ENTER}{SHIFT}+288{ENTER}&lt;br /&gt;
send d{SHIFT}+4{SHIFT}+4666{ENTER}{SHIFT}+822{ENTER}&lt;br /&gt;
sleep 100&lt;br /&gt;
send d999988{ENTER}{SHIFT}+64{ENTER}&lt;br /&gt;
send d{SHIFT}+3{SHIFT}+3{SHIFT}+3777{ENTER}{SHIFT}+28{ENTER}&lt;br /&gt;
send d{SHIFT}+1{SHIFT}+1{SHIFT}+1999{ENTER}{SHIFT}+46{ENTER}&lt;br /&gt;
send d{SHIFT}+7{SHIFT}+7{SHIFT}+7333{ENTER}{SHIFT}+82{ENTER}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
rooms_up()&lt;br /&gt;
{&lt;br /&gt;
send d78{ENTER}96{ENTER}&lt;br /&gt;
send d223{ENTER}32{ENTER}&lt;br /&gt;
send d44444{ENTER}87{ENTER}&lt;br /&gt;
send d63{ENTER}{ENTER}98{ENTER}{ENTER}23{ENTER}{ENTER}7&lt;br /&gt;
}&lt;br /&gt;
rooms_down()&lt;br /&gt;
{&lt;br /&gt;
send d32{ENTER}14{ENTER}&lt;br /&gt;
send d887{ENTER}78{ENTER}&lt;br /&gt;
send d66666{ENTER}32{ENTER}&lt;br /&gt;
send d74{ENTER}{ENTER}21{ENTER}{ENTER}78{ENTER}{ENTER}3&lt;br /&gt;
}&lt;br /&gt;
rooms_left()&lt;br /&gt;
{&lt;br /&gt;
send d14{ENTER}87{ENTER}&lt;br /&gt;
send d996{ENTER}63{ENTER}&lt;br /&gt;
send d2222{ENTER}41{ENTER}&lt;br /&gt;
send d98{ENTER}{ENTER}47{ENTER}{ENTER}96{ENTER}{ENTER}1&lt;br /&gt;
}&lt;br /&gt;
rooms_right()&lt;br /&gt;
{&lt;br /&gt;
send d96{ENTER}32{ENTER}&lt;br /&gt;
send d114{ENTER}47{ENTER}&lt;br /&gt;
send d8888{ENTER}96{ENTER}&lt;br /&gt;
send d21{ENTER}{ENTER}63{ENTER}{ENTER}14{ENTER}{ENTER}9&lt;br /&gt;
}&lt;br /&gt;
;======= WIDE&lt;br /&gt;
rooms_upw()&lt;br /&gt;
{&lt;br /&gt;
send d78{ENTER}966{ENTER}&lt;br /&gt;
send d223{ENTER}32{ENTER}&lt;br /&gt;
send d444444{ENTER}87{ENTER}&lt;br /&gt;
send d63{ENTER}{ENTER}98{ENTER}6{ENTER}23{ENTER}{ENTER}74&lt;br /&gt;
}&lt;br /&gt;
rooms_downw()&lt;br /&gt;
{&lt;br /&gt;
send d32{ENTER}144{ENTER}&lt;br /&gt;
send d887{ENTER}78{ENTER}&lt;br /&gt;
send d666666{ENTER}32{ENTER}&lt;br /&gt;
send d74{ENTER}{ENTER}21{ENTER}4{ENTER}78{ENTER}{ENTER}36&lt;br /&gt;
}&lt;br /&gt;
rooms_leftw()&lt;br /&gt;
{&lt;br /&gt;
send d14{ENTER}887{ENTER}&lt;br /&gt;
send d996{ENTER}63{ENTER}&lt;br /&gt;
send d22222{ENTER}41{ENTER}&lt;br /&gt;
send d98{ENTER}{ENTER}47{ENTER}8{ENTER}96{ENTER}{ENTER}12&lt;br /&gt;
}&lt;br /&gt;
rooms_rightw()&lt;br /&gt;
{&lt;br /&gt;
send d96{ENTER}322{ENTER}&lt;br /&gt;
send d114{ENTER}47{ENTER}&lt;br /&gt;
send d88888{ENTER}96{ENTER}&lt;br /&gt;
send d21{ENTER}{ENTER}63{ENTER}2{ENTER}14{ENTER}{ENTER}98&lt;br /&gt;
}&lt;br /&gt;
;============&lt;br /&gt;
rooms3up()&lt;br /&gt;
{&lt;br /&gt;
send d8888888&lt;br /&gt;
rooms_up()&lt;br /&gt;
send d1111222&lt;br /&gt;
rooms_left()&lt;br /&gt;
send d66666666&lt;br /&gt;
rooms_right()&lt;br /&gt;
send d4444&lt;br /&gt;
}&lt;br /&gt;
rooms3down()&lt;br /&gt;
{&lt;br /&gt;
send d2222222&lt;br /&gt;
rooms_down()&lt;br /&gt;
send d7777888&lt;br /&gt;
rooms_left()&lt;br /&gt;
send d66666666&lt;br /&gt;
rooms_right()&lt;br /&gt;
send d4444&lt;br /&gt;
}&lt;br /&gt;
rooms3left()&lt;br /&gt;
{&lt;br /&gt;
send d4444444&lt;br /&gt;
rooms_left()&lt;br /&gt;
send d9999666&lt;br /&gt;
rooms_up()&lt;br /&gt;
send d22222222&lt;br /&gt;
rooms_down()&lt;br /&gt;
send d8888&lt;br /&gt;
}&lt;br /&gt;
rooms3right()&lt;br /&gt;
{&lt;br /&gt;
send d6666666&lt;br /&gt;
rooms_right()&lt;br /&gt;
send d7777444&lt;br /&gt;
rooms_up()&lt;br /&gt;
send d22222222&lt;br /&gt;
rooms_down()&lt;br /&gt;
send d8888&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
;==========&lt;br /&gt;
all_rooms()&lt;br /&gt;
{&lt;br /&gt;
;left wide:&lt;br /&gt;
rooms_up()&lt;br /&gt;
send d222222222&lt;br /&gt;
rooms_down()&lt;br /&gt;
send d7777444&lt;br /&gt;
rooms_leftw()&lt;br /&gt;
;bottom wide:&lt;br /&gt;
send d{SHIFT}+3{SHIFT}+3{SHIFT}+3{SHIFT}+378&lt;br /&gt;
rooms_downw()&lt;br /&gt;
send d9999888&lt;br /&gt;
rooms_right()&lt;br /&gt;
send d444444444&lt;br /&gt;
rooms_left()&lt;br /&gt;
;right wide:&lt;br /&gt;
send d{SHIFT}+9{SHIFT}+9{SHIFT}+999{SHIFT}+66&lt;br /&gt;
rooms_rightw()&lt;br /&gt;
send d7777444&lt;br /&gt;
rooms_up()&lt;br /&gt;
send d222222222&lt;br /&gt;
rooms_down()&lt;br /&gt;
;top wide&lt;br /&gt;
send d{SHIFT}+7{SHIFT}+7{SHIFT}+777{SHIFT}+88&lt;br /&gt;
rooms_upw()&lt;br /&gt;
send d1111222&lt;br /&gt;
rooms_left()&lt;br /&gt;
send d666666666&lt;br /&gt;
rooms_right()&lt;br /&gt;
;remainin 9-room chambers&lt;br /&gt;
send d{SHIFT}+26666&lt;br /&gt;
rooms3right()&lt;br /&gt;
send d{SHIFT}+4{SHIFT}+4666&lt;br /&gt;
rooms3left()&lt;br /&gt;
send d{SHIFT}+1111&lt;br /&gt;
rooms3up()&lt;br /&gt;
send d{SHIFT}+2{SHIFT}+2888&lt;br /&gt;
rooms3down()&lt;br /&gt;
send d{SHIFT}+3333&lt;br /&gt;
rooms3left()&lt;br /&gt;
send d{SHIFT}+6{SHIFT}+6444&lt;br /&gt;
rooms3right()&lt;br /&gt;
send d{SHIFT}+9999&lt;br /&gt;
rooms3down()&lt;br /&gt;
send d{SHIFT}+8{SHIFT}+8222&lt;br /&gt;
rooms3up()&lt;br /&gt;
;send d{SHIFT}+7777&lt;br /&gt;
;rooms3right()&lt;br /&gt;
;send d{SHIFT}+2{SHIFT}+4666&lt;br /&gt;
;rooms3left()&lt;br /&gt;
send d1111144499{ENTER}{SHIFT}+1{SHIFT}+4{SHIFT}+41{ENTER}&lt;br /&gt;
send d77444444444{ENTER}8888888{SHIFT}+6{SHIFT}+6{SHIFT}+6{SHIFT}+6{SHIFT}+6666{ENTER}&lt;br /&gt;
send d{SHIFT}+7{SHIFT}+487{ENTER}{SHIFT}+1{SHIFT}+2{SHIFT}+21{ENTER}&lt;br /&gt;
send d33222222222{ENTER}6666666{SHIFT}+8{SHIFT}+8{SHIFT}+8{SHIFT}+8{SHIFT}+8888{ENTER}&lt;br /&gt;
send d{SHIFT}+2{SHIFT}+2221111&lt;br /&gt;
send i{ENTER}3{ENTER}7&lt;br /&gt;
deco()&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
deco()&lt;br /&gt;
{&lt;br /&gt;
send x77774{ENTER}{ENTER}9{ENTER}{ENTER}6669{ENTER}6{ENTER}3666{ENTER}{ENTER}3{ENTER}{ENTER}&lt;br /&gt;
send x2223{ENTER}2{ENTER}1222{ENTER}{ENTER}1{ENTER}{ENTER}1444{ENTER}4{ENTER}4447&lt;br /&gt;
send x{ENTER}{ENTER}7{ENTER}{ENTER}7888{ENTER}8{ENTER}666666&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
; CTRL+ALT+G to erase all&lt;br /&gt;
!^g::&lt;br /&gt;
send x{SHIFT}+1{SHIFT}+1{SHIFT}+1{SHIFT}+1{SHIFT}+1{ENTER}{SHIFT}+9{SHIFT}+9{SHIFT}+9{SHIFT}+9{SHIFT}+9{SHIFT}+9{SHIFT}+9{SHIFT}+9{SHIFT}+9{SHIFT}+9{ENTER}{SHIFT}+1{SHIFT}+1{SHIFT}+1{SHIFT}+1{SHIFT}+1&lt;br /&gt;
return&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Pyrofyr's room macro====&lt;br /&gt;
Based on Palin88's Apartment design based on Raynard's Fractal Design.&lt;br /&gt;
&lt;br /&gt;
[[File:Pyrofor_room_macro.png]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
 * Macro by Pyrofyr for Room Design -- Cleaned up by 0x517A5D&lt;br /&gt;
 * Enter (d)esignate mode, position the cursor where you want the&lt;br /&gt;
 * middle of the design to be, then press Ctrl+Alt+D to start the Macro.&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
;Attn Pyrofor: for slash-star style comments, the ending star-slash must&lt;br /&gt;
;be the first thing on its line.  Otherwise the comment isn't terminated.&lt;br /&gt;
&lt;br /&gt;
#SingleInstance Force&lt;br /&gt;
#IfWinActive, Dwarf Fortress&lt;br /&gt;
SetKeyDelay 0,, Play&lt;br /&gt;
&lt;br /&gt;
; Ctrl+Alt+D&lt;br /&gt;
^!d::&lt;br /&gt;
send d{NumPadUp 18}{NumPadLeft 18}&lt;br /&gt;
;Attn Pyrofor: note how repeated keystrokes are done in AHK.&lt;br /&gt;
;no need for tehLoop().&lt;br /&gt;
directions()&lt;br /&gt;
send {NumPadRight 18}&lt;br /&gt;
directions()&lt;br /&gt;
send {NumPadLeft 18}&lt;br /&gt;
send {NumPadDown 18}&lt;br /&gt;
directions()&lt;br /&gt;
send {NumPadRight 18}&lt;br /&gt;
directions()&lt;br /&gt;
middle()&lt;br /&gt;
stairs()&lt;br /&gt;
return&lt;br /&gt;
&lt;br /&gt;
directions()&lt;br /&gt;
{&lt;br /&gt;
    ;hallway box&lt;br /&gt;
    send {Enter}{NumPadRight 18}{Enter}&lt;br /&gt;
    send {Enter}{NumPadDown 18}{Enter}&lt;br /&gt;
    send {Enter}{NumPadLeft 18}{Enter}&lt;br /&gt;
    send {Enter}{NumPadUp 18}{Enter}&lt;br /&gt;
    ;indentations on box&lt;br /&gt;
    send {Enter}{NumPadRight 1}{NumPadDown 2}{Enter}&lt;br /&gt;
    send {NumPadDown 6}{Enter}{NumPadDown 2}{NumPadRight 1}{Enter}&lt;br /&gt;
    send {NumPadLeft 1}{NumPadDown 6}{Enter}{NumPadDown 1}{Enter}&lt;br /&gt;
    send {NumPadRight 6}{Enter}{NumPadRight 4}{Enter}&lt;br /&gt;
    send {NumPadRight 6}{Enter}{NumPadUp 1}{Enter}&lt;br /&gt;
    send {NumPadUp 6}{Enter}{NumPadUp 2}{NumPadLeft 1}{Enter}&lt;br /&gt;
    send {NumPadRight 1}{NumPadUp 6}{Enter}{NumPadUp 1}{Enter}&lt;br /&gt;
    send {NumPadLeft 6}{Enter}{NumPadLeft 4}{Enter}&lt;br /&gt;
    ; middle hallways&lt;br /&gt;
    send {NumPadRight 2}{Enter}{NumPadDown 6}{Enter}&lt;br /&gt;
    send {NumPadRight 1}{Enter}{NumPadDown 4}{NumPadLeft 2}{Enter}&lt;br /&gt;
    send {NumPadRight 1}{Enter}{NumPadDown 6}{Enter}&lt;br /&gt;
    send {NumPadUp 8}{NumPadLeft 6}{Enter}{NumPadRight 14}{Enter}&lt;br /&gt;
    ; cross apartments, horizontal segments&lt;br /&gt;
    send {NumPadDown 4}{Enter}{NumPadLeft 2}{Enter}&lt;br /&gt;
    send {NumPadDown 1}{NumPadLeft 3}{Enter}{NumPadLeft 6}{Enter}&lt;br /&gt;
    send {NumPadUp 1}{NumPadLeft 3}{Enter}{NumPadLeft 2}{Enter}&lt;br /&gt;
    send {NumPadDown 3}{NumPadRight 2}{Enter}{NumPadRight 2}{Enter}&lt;br /&gt;
    send {NumPadRight 8}{Enter}{NumPadRight 2}{Enter}&lt;br /&gt;
    send {NumPadUp 5}{NumPadLeft 1}{Enter}{NumPadLeft 2}{Enter}&lt;br /&gt;
    send {NumPadLeft 6}{Enter}{NumPadLeft 2}{Enter}&lt;br /&gt;
    send {NumPadUp 4}{Enter}{NumPadRight 2}{Enter}&lt;br /&gt;
    send {NumPadRight 6}{Enter}{NumPadRight 2}{Enter}&lt;br /&gt;
    send {NumPadRight 3}{NumPadUp 2}{Enter}{NumPadLeft 2}{Enter}&lt;br /&gt;
    send {NumPadUp 1}{NumPadLeft 3}{Enter}{NumPadLeft 6}{Enter}&lt;br /&gt;
    send {NumPadDown 1}{NumPadLeft 3}{Enter}{NumPadLeft 2}{Enter}&lt;br /&gt;
    send {NumPadUp 3}{NumPadRight 2}{Enter}{NumPadRight 2}{Enter}&lt;br /&gt;
    send {NumPadRight 8}{Enter}{NumPadRight 2}{Enter}&lt;br /&gt;
    ; cross apartments, vertical segments&lt;br /&gt;
    send {NumPadRight 1}{NumPadDown 2}{Enter}{NumPadDown 2}{Enter}&lt;br /&gt;
    send {NumPadDown 6}{Enter}{NumPadDown 2}{Enter}&lt;br /&gt;
    send {NumPadDown 3}{NumPadLeft 2}{Enter}{NumPadUp 2}{Enter}&lt;br /&gt;
    send {NumPadLeft 1}{NumPadUp 3}{Enter}{NumPadUp 6}{Enter}&lt;br /&gt;
    send {NumPadRight 1}{NumPadUp 3}{Enter}{NumPadUp 2}{Enter}&lt;br /&gt;
    send {NumPadLeft 3}{NumPadDown 2}{Enter}{NumPadDown 2}{Enter}&lt;br /&gt;
    send {NumPadDown 8}{Enter}{NumPadDown 2}{Enter}&lt;br /&gt;
    send {NumPadLeft 4}{Enter}{NumPadUp 2}{Enter}&lt;br /&gt;
    send {NumPadUp 8}{Enter}{NumPadUp 2}{Enter}&lt;br /&gt;
    send {NumPadUp 2}{NumPadLeft 3}{Enter}{NumPadDown 2}{Enter}&lt;br /&gt;
    send {NumPadRight 1}{NumPadDown 3}{Enter}{NumPadDown 6}{Enter}&lt;br /&gt;
    send {NumPadLeft 1}{NumPadDown 3}{Enter}{NumPadDown 2}{Enter}&lt;br /&gt;
    send {NumPadLeft 2}{NumPadUp 3}{Enter}{NumPadUp 2}{Enter}&lt;br /&gt;
    send {NumPadUp 6}{Enter}{NumPadUp 2}{Enter}&lt;br /&gt;
    send {NumPadUp 4}{NumPadLeft 2}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
middle()&lt;br /&gt;
{&lt;br /&gt;
    send {NumPadUp 10}{NumPadLeft 2}{Enter}{NumPadRight 4}{NumPadDown 20}{Enter}&lt;br /&gt;
    send {NumPadUp 5}{NumPadRight 1}{Enter}{NumPadUp 10}{NumPadLeft 6}{Enter}&lt;br /&gt;
    send {NumPadLeft 1}{NumPadDown 1}{Enter}{NumPadDown 8}{NumPadRight 8}{Enter}&lt;br /&gt;
    send {NumPadUp 2}{NumPadRight 1}{Enter}{NumPadUp 4}{NumPadLeft 10}{Enter}&lt;br /&gt;
    send {NumPadDown 1}{NumPadLeft 6}{Enter}{NumPadDown 2}{NumPadRight 22}{Enter}&lt;br /&gt;
    send {NumPadUp 1}{NumPadLeft 11}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
stairs()&lt;br /&gt;
{&lt;br /&gt;
    send i{NumPadUp 18}{NumPadLeft 9}{Enter 2}&lt;br /&gt;
    send {NumPadRight 18}{Enter 2}&lt;br /&gt;
    send {NumPadRight 9}{NumPadDown 9}{Enter 2}&lt;br /&gt;
    send {NumPadLeft 18}{Enter 2}&lt;br /&gt;
    send {NumPadLeft 18}{Enter 2}&lt;br /&gt;
    send {NumPadRight 9}{NumPadDown 9}{Enter 2}&lt;br /&gt;
    send {NumPadRight 18}{Enter 2}&lt;br /&gt;
    send {NumPadRight 9}{NumPadDown 9}{Enter 2}&lt;br /&gt;
    send {NumPadLeft 18}{Enter 2}&lt;br /&gt;
    send {NumPadLeft 18}{Enter 2}&lt;br /&gt;
    send {NumPadDown 9}{NumPadRight 9}{Enter 2}&lt;br /&gt;
    send {NumPadRight 18}{Enter 2}&lt;br /&gt;
    send {NumPadLeft 9}{NumPadUp 18}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Easy Exploration Mining in 2 steps===&lt;br /&gt;
This macro will make a 5 row, 11 column UP/DOWN stairway grid (2 empty spaces between each row/column).&amp;lt;br&amp;gt;&lt;br /&gt;
Starting point as indicated (row 3, column 11)&amp;lt;br&amp;gt;&lt;br /&gt;
'''MUST BE IN DESIGNATION MODE WITH CURSOR AT THE ''&amp;lt;-- START HERE'' LOCATION'''&amp;lt;br&amp;gt;&lt;br /&gt;
Link is &amp;lt;ctrl&amp;gt; &amp;lt;windowskey&amp;gt; `&amp;lt;br&amp;gt;&lt;br /&gt;
Dive is &amp;lt;ctrl&amp;gt; &amp;lt;alt&amp;gt; `&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Link&lt;br /&gt;
X--X--X--X--X--X--X--X--X--X--X&lt;br /&gt;
|              |              |&lt;br /&gt;
|              |              |&lt;br /&gt;
X--X--X--X--X--X--X--X--X--X--X&lt;br /&gt;
|              |              |&lt;br /&gt;
|              |              |&lt;br /&gt;
X--X--X--X--X--X--X--X--X--X--X &amp;lt;-- start here&lt;br /&gt;
|              |              |&lt;br /&gt;
|              |              |&lt;br /&gt;
X--X--X--X--X--X--X--X--X--X--X&lt;br /&gt;
|              |              |&lt;br /&gt;
|              |              |&lt;br /&gt;
X--X--X--X--X--X--X--X--X--X--X&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Filename is ExploreMine-Link.ahk&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
;Link&lt;br /&gt;
^#`::&lt;br /&gt;
&lt;br /&gt;
send d&lt;br /&gt;
send {Enter}&lt;br /&gt;
tehLoop(30,&amp;quot;{NumPadLeft}&amp;quot;)&lt;br /&gt;
send {Enter}&lt;br /&gt;
send {Enter}&lt;br /&gt;
tehLoop(6,&amp;quot;{NumPadUp}&amp;quot;)&lt;br /&gt;
send {Enter}&lt;br /&gt;
send {Enter}&lt;br /&gt;
tehLoop(30,&amp;quot;{NumPadRight}&amp;quot;)&lt;br /&gt;
send {Enter}&lt;br /&gt;
send {Enter}&lt;br /&gt;
tehLoop(12,&amp;quot;{NumPadDown}&amp;quot;)&lt;br /&gt;
send {Enter}&lt;br /&gt;
send {Enter}&lt;br /&gt;
tehLoop(30,&amp;quot;{NumPadLeft}&amp;quot;)&lt;br /&gt;
send {Enter}&lt;br /&gt;
send {Enter}&lt;br /&gt;
tehLoop(9,&amp;quot;{NumPadUp}&amp;quot;)&lt;br /&gt;
send {Enter}&lt;br /&gt;
send {Enter}&lt;br /&gt;
tehLoop(30,&amp;quot;{NumPadRight}&amp;quot;)&lt;br /&gt;
send {Enter}&lt;br /&gt;
tehLoop(6,&amp;quot;{NumPadDown}&amp;quot;)&lt;br /&gt;
send {Enter}&lt;br /&gt;
tehLoop(30,&amp;quot;{NumPadLeft}&amp;quot;)&lt;br /&gt;
send {Enter}&lt;br /&gt;
tehLoop(3,&amp;quot;{NumPadDown}&amp;quot;)&lt;br /&gt;
tehLoop(15,&amp;quot;{NumPadRight}&amp;quot;)&lt;br /&gt;
send {Enter}&lt;br /&gt;
tehLoop(12,&amp;quot;{NumPadUp}&amp;quot;)&lt;br /&gt;
send {Enter}&lt;br /&gt;
tehLoop(15,&amp;quot;{NumPadLeft}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
send i&lt;br /&gt;
send {Enter}{Enter}&lt;br /&gt;
tehOtherLoop(&amp;quot;{NumPadDown}&amp;quot;)&lt;br /&gt;
tehLoop(3,&amp;quot;{NumPadRight}&amp;quot;)&lt;br /&gt;
send {Enter}{Enter}&lt;br /&gt;
tehOtherLoop(&amp;quot;{NumPadUp}&amp;quot;)&lt;br /&gt;
tehLoop(3,&amp;quot;{NumPadRight}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
send {Enter}{Enter}&lt;br /&gt;
tehOtherLoop(&amp;quot;{NumPadDown}&amp;quot;)&lt;br /&gt;
tehLoop(3,&amp;quot;{NumPadRight}&amp;quot;)&lt;br /&gt;
send {Enter}{Enter}&lt;br /&gt;
tehOtherLoop(&amp;quot;{NumPadUp}&amp;quot;)&lt;br /&gt;
tehLoop(3,&amp;quot;{NumPadRight}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
send {Enter}{Enter}&lt;br /&gt;
tehOtherLoop(&amp;quot;{NumPadDown}&amp;quot;)&lt;br /&gt;
tehLoop(3,&amp;quot;{NumPadRight}&amp;quot;)&lt;br /&gt;
send {Enter}{Enter}&lt;br /&gt;
tehOtherLoop(&amp;quot;{NumPadUp}&amp;quot;)&lt;br /&gt;
tehLoop(3,&amp;quot;{NumPadRight}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
send {Enter}{Enter}&lt;br /&gt;
tehOtherLoop(&amp;quot;{NumPadDown}&amp;quot;)&lt;br /&gt;
tehLoop(3,&amp;quot;{NumPadRight}&amp;quot;)&lt;br /&gt;
send {Enter}{Enter}&lt;br /&gt;
tehOtherLoop(&amp;quot;{NumPadUp}&amp;quot;)&lt;br /&gt;
tehLoop(3,&amp;quot;{NumPadRight}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
send {Enter}{Enter}&lt;br /&gt;
tehOtherLoop(&amp;quot;{NumPadDown}&amp;quot;)&lt;br /&gt;
tehLoop(3,&amp;quot;{NumPadRight}&amp;quot;)&lt;br /&gt;
send {Enter}{Enter}&lt;br /&gt;
tehOtherLoop(&amp;quot;{NumPadUp}&amp;quot;)&lt;br /&gt;
tehLoop(3,&amp;quot;{NumPadRight}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
send {Enter}{Enter}&lt;br /&gt;
tehOtherLoop(&amp;quot;{NumPadDown}&amp;quot;)&lt;br /&gt;
tehLoop(6,&amp;quot;{NumPadUp}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
tehLoop(tehTimes,tehDir)&lt;br /&gt;
{&lt;br /&gt;
	loop&lt;br /&gt;
	{&lt;br /&gt;
		if tehTimes &amp;lt;= 0&lt;br /&gt;
		{&lt;br /&gt;
			break&lt;br /&gt;
		}&lt;br /&gt;
		send %tehDir%&lt;br /&gt;
		tehTimes--&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
tehOtherLoop(tehOtherDir)&lt;br /&gt;
{&lt;br /&gt;
	loop 4&lt;br /&gt;
	{		&lt;br /&gt;
		tehLoop(3,tehOtherDir)		&lt;br /&gt;
		send {Enter}{Enter}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Dive&lt;br /&gt;
X  X  X  X  X  X  X  X  X  X  X&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
X  X  X  X  X  X  X  X  X  X  X&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
X  X  X  X  X  X  X  X  X  X  X &amp;lt;-- start here&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
X  X  X  X  X  X  X  X  X  X  X&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
X  X  X  X  X  X  X  X  X  X  X&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Filename is ExploreMine-Dive.ahk&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
;Dive&lt;br /&gt;
^!`::&lt;br /&gt;
tehLoop(30,&amp;quot;{NumPadLeft}&amp;quot;)&lt;br /&gt;
tehLoop(6,&amp;quot;{NumPadUp}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
send i&lt;br /&gt;
send {Enter}{Enter}&lt;br /&gt;
tehOtherLoop(&amp;quot;{NumPadDown}&amp;quot;)&lt;br /&gt;
tehLoop(3,&amp;quot;{NumPadRight}&amp;quot;)&lt;br /&gt;
send {Enter}{Enter}&lt;br /&gt;
tehOtherLoop(&amp;quot;{NumPadUp}&amp;quot;)&lt;br /&gt;
tehLoop(3,&amp;quot;{NumPadRight}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
send {Enter}{Enter}&lt;br /&gt;
tehOtherLoop(&amp;quot;{NumPadDown}&amp;quot;)&lt;br /&gt;
tehLoop(3,&amp;quot;{NumPadRight}&amp;quot;)&lt;br /&gt;
send {Enter}{Enter}&lt;br /&gt;
tehOtherLoop(&amp;quot;{NumPadUp}&amp;quot;)&lt;br /&gt;
tehLoop(3,&amp;quot;{NumPadRight}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
send {Enter}{Enter}&lt;br /&gt;
tehOtherLoop(&amp;quot;{NumPadDown}&amp;quot;)&lt;br /&gt;
tehLoop(3,&amp;quot;{NumPadRight}&amp;quot;)&lt;br /&gt;
send {Enter}{Enter}&lt;br /&gt;
tehOtherLoop(&amp;quot;{NumPadUp}&amp;quot;)&lt;br /&gt;
tehLoop(3,&amp;quot;{NumPadRight}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
send {Enter}{Enter}&lt;br /&gt;
tehOtherLoop(&amp;quot;{NumPadDown}&amp;quot;)&lt;br /&gt;
tehLoop(3,&amp;quot;{NumPadRight}&amp;quot;)&lt;br /&gt;
send {Enter}{Enter}&lt;br /&gt;
tehOtherLoop(&amp;quot;{NumPadUp}&amp;quot;)&lt;br /&gt;
tehLoop(3,&amp;quot;{NumPadRight}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
send {Enter}{Enter}&lt;br /&gt;
tehOtherLoop(&amp;quot;{NumPadDown}&amp;quot;)&lt;br /&gt;
tehLoop(3,&amp;quot;{NumPadRight}&amp;quot;)&lt;br /&gt;
send {Enter}{Enter}&lt;br /&gt;
tehOtherLoop(&amp;quot;{NumPadUp}&amp;quot;)&lt;br /&gt;
tehLoop(3,&amp;quot;{NumPadRight}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
send {Enter}{Enter}&lt;br /&gt;
tehOtherLoop(&amp;quot;{NumPadDown}&amp;quot;)&lt;br /&gt;
tehLoop(6,&amp;quot;{NumPadUp}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
tehLoop(tehTimes,tehDir)&lt;br /&gt;
{&lt;br /&gt;
	loop&lt;br /&gt;
	{&lt;br /&gt;
		if tehTimes &amp;lt;= 0&lt;br /&gt;
		{&lt;br /&gt;
			break&lt;br /&gt;
		}&lt;br /&gt;
		send %tehDir%&lt;br /&gt;
		tehTimes--&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
tehOtherLoop(tehOtherDir)&lt;br /&gt;
{&lt;br /&gt;
	loop 4&lt;br /&gt;
	{		&lt;br /&gt;
		tehLoop(3,tehOtherDir)		&lt;br /&gt;
		send {Enter}{Enter}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Fancy Exploration Mining===&lt;br /&gt;
This script digs a connected series of mine shafts, as in [[Mineshaft Stitching]]. Start this script in the upper-left corner of the area you want to explore. Set the spacing to a value greater than 1 if you want to look for large clusters. Note that this pattern creates a very long walkway back to the start of the mineshafts. If you do not excavate routinely, consider connecting the top-level paths of areas you have already explored.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
 ; stitching.ahk					   ;&lt;br /&gt;
 ; this is an ahk script to place exploratory mine shafts. ;&lt;br /&gt;
 ; press d and place the cursor				   ;&lt;br /&gt;
 ; in the top left corner of the area to be explored	   ;&lt;br /&gt;
 ; then use ctrl+shift+s to run				   ;&lt;br /&gt;
 ; to change parameters, use ctrl+shift+c		   ; &lt;br /&gt;
 ; Increasing spacing will increase some shafts		   ;&lt;br /&gt;
 ; This version resets it's state so that it can be re-run ;&lt;br /&gt;
 ; without having to reload the script			   ;&lt;br /&gt;
 ;							   ;&lt;br /&gt;
 ; NOTE:					           ;&lt;br /&gt;
 ; Author: Corey Amend					   ;&lt;br /&gt;
 ; Based on a script by Seth Fogarty,		           ;&lt;br /&gt;
 ; Which was based on a script by StrawberryBunny	   ;&lt;br /&gt;
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
x = 4&lt;br /&gt;
y = 4&lt;br /&gt;
depth = 3&lt;br /&gt;
wait =  100&lt;br /&gt;
spacing = 1&lt;br /&gt;
vdir = +.&lt;br /&gt;
&lt;br /&gt;
DropShaft(vertdir, depth, wait)&lt;br /&gt;
{&lt;br /&gt;
	Send i&lt;br /&gt;
	Send {Enter}&lt;br /&gt;
	Send {Enter}&lt;br /&gt;
	Loop %depth%&lt;br /&gt;
	{&lt;br /&gt;
		Send %vertdir%&lt;br /&gt;
		Send {Enter}&lt;br /&gt;
		Send {Enter}&lt;br /&gt;
		Sleep %wait%&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
 ^+c::&lt;br /&gt;
inputbox x, Input Length, Vertical pattern length: x-axis&lt;br /&gt;
inputbox y, Input Width, Horizontal pattern width: y-axis&lt;br /&gt;
inputbox depth, Input Depth, Mineshaft depth: z-axis&lt;br /&gt;
inputbox spacing, Input Spacing, Spacing multiplier (1 for complete visiblity)&lt;br /&gt;
inputbox wait, Input Delay, Delay in miliseconds (100 recommended)&lt;br /&gt;
return &lt;br /&gt;
&lt;br /&gt;
 ^+s::&lt;br /&gt;
shafts := (x * y) -1&lt;br /&gt;
i := x-1&lt;br /&gt;
hdir = {Down}&lt;br /&gt;
next = {Up} &lt;br /&gt;
&lt;br /&gt;
Loop %shafts%&lt;br /&gt;
{&lt;br /&gt;
	DropShaft(vdir, depth, wait)&lt;br /&gt;
        if (vdir = &amp;quot;+.&amp;quot;) &lt;br /&gt;
	{&lt;br /&gt;
		vdir = +,&lt;br /&gt;
	}	&lt;br /&gt;
	else&lt;br /&gt;
	{&lt;br /&gt;
		vdir = +.&lt;br /&gt;
	}&lt;br /&gt;
	Send d&lt;br /&gt;
	k := spacing-1&lt;br /&gt;
	Send %hdir% &lt;br /&gt;
	Send {Enter}&lt;br /&gt;
	Loop %k%&lt;br /&gt;
	{&lt;br /&gt;
		Send %hdir% &lt;br /&gt;
		Send {Enter}&lt;br /&gt;
		Send %hdir% &lt;br /&gt;
		Send {Enter}&lt;br /&gt;
		Send %hdir% &lt;br /&gt;
		Sleep %wait%&lt;br /&gt;
	}&lt;br /&gt;
	Send %hdir% &lt;br /&gt;
	Send {Enter}&lt;br /&gt;
	Send %hdir% &lt;br /&gt;
	Sleep %wait%&lt;br /&gt;
	i--&lt;br /&gt;
	if (i = 0)&lt;br /&gt;
	{&lt;br /&gt;
		if (hdir = &amp;quot;{Down}&amp;quot;)&lt;br /&gt;
		{&lt;br /&gt;
			hdir = {Right}&lt;br /&gt;
			next = {Up}&lt;br /&gt;
			i=1&lt;br /&gt;
		}&lt;br /&gt;
		else if (hdir = &amp;quot;{Right}&amp;quot;)&lt;br /&gt;
		{&lt;br /&gt;
			hdir = %next%&lt;br /&gt;
			i := x-1&lt;br /&gt;
		}&lt;br /&gt;
		else if (hdir = &amp;quot;{Up}&amp;quot;)&lt;br /&gt;
		{&lt;br /&gt;
			hdir = {Right}&lt;br /&gt;
			next = {Down}&lt;br /&gt;
			i=1&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
DropShaft(vdir, depth, wait)&lt;br /&gt;
if (vdir = &amp;quot;+.&amp;quot;) &lt;br /&gt;
{&lt;br /&gt;
	Loop %depth%&lt;br /&gt;
	{&lt;br /&gt;
		Send +,&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
else&lt;br /&gt;
{&lt;br /&gt;
	vdir = +.&lt;br /&gt;
}	&lt;br /&gt;
return&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Upstairs Mineshaft Finisher===&lt;br /&gt;
This script is used to create a series of up staircases in a pattern for use with mineshaft scripts (like the mineshaft stitching above). Most mineshaft scripts use up/down staircases all the way to the bottom, but the lowest z-level will not allow up/down staircases so you mineshafts will be unfinished. This script allows you to correct this problem and place up stairs where the up/down stairs would be.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
 ; Upstair stitching.ahk				   ;&lt;br /&gt;
 ; this is an ahk script to place up stairs at regular	   ;&lt;br /&gt;
 ; intervals (useful for completing mine shafts).	   ;&lt;br /&gt;
 ; press d and place the cursor				   ;&lt;br /&gt;
 ; in the top left corner of the area to be explored	   ;&lt;br /&gt;
 ; then use ctrl+shift+u to run				   ;&lt;br /&gt;
 ; to change parameters, use ctrl+shift+p		   ; &lt;br /&gt;
 ; Increasing spacing will increase some shafts		   ;&lt;br /&gt;
 ;							   ;&lt;br /&gt;
 ; NOTE:					           ;&lt;br /&gt;
 ; Author: Corey Amend					   ;&lt;br /&gt;
 ; Based on a script by Seth Fogarty,		           ;&lt;br /&gt;
 ; Which was based on a script by StrawberryBunny	   ;&lt;br /&gt;
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
x = 4&lt;br /&gt;
y = 4&lt;br /&gt;
wait =  100&lt;br /&gt;
spacing = 1&lt;br /&gt;
vdir = +.&lt;br /&gt;
&lt;br /&gt;
 ^+p::&lt;br /&gt;
inputbox x, Input Length, Vertical pattern length: x-axis&lt;br /&gt;
inputbox y, Input Width, Horizontal pattern width: y-axis&lt;br /&gt;
inputbox spacing, Input Spacing, Spacing multiplier (1 for complete visiblity)&lt;br /&gt;
inputbox wait, Input Delay, Delay in miliseconds (100 recommended)&lt;br /&gt;
return &lt;br /&gt;
&lt;br /&gt;
 ^+u::&lt;br /&gt;
shafts := (x * y) -1&lt;br /&gt;
i := x-1&lt;br /&gt;
hdir = {Down}&lt;br /&gt;
next = {Up} &lt;br /&gt;
&lt;br /&gt;
Loop %shafts%&lt;br /&gt;
{&lt;br /&gt;
	Send u&lt;br /&gt;
	Send {Enter}&lt;br /&gt;
	Send {Enter}&lt;br /&gt;
	Sleep %wait%&lt;br /&gt;
&lt;br /&gt;
	k := spacing-1&lt;br /&gt;
	Send %hdir% &lt;br /&gt;
	Loop %k%&lt;br /&gt;
	{&lt;br /&gt;
		Send %hdir% &lt;br /&gt;
		Send %hdir% &lt;br /&gt;
		Send %hdir% &lt;br /&gt;
		Sleep %wait%&lt;br /&gt;
	}&lt;br /&gt;
	Send %hdir% &lt;br /&gt;
	Send %hdir% &lt;br /&gt;
	Sleep %wait%&lt;br /&gt;
	i--&lt;br /&gt;
	if (i = 0)&lt;br /&gt;
	{&lt;br /&gt;
		if (hdir = &amp;quot;{Down}&amp;quot;)&lt;br /&gt;
		{&lt;br /&gt;
			hdir = {Right}&lt;br /&gt;
			next = {Up}&lt;br /&gt;
			i=1&lt;br /&gt;
		}&lt;br /&gt;
		else if (hdir = &amp;quot;{Right}&amp;quot;)&lt;br /&gt;
		{&lt;br /&gt;
			hdir = %next%&lt;br /&gt;
			i := x-1&lt;br /&gt;
		}&lt;br /&gt;
		else if (hdir = &amp;quot;{Up}&amp;quot;)&lt;br /&gt;
		{&lt;br /&gt;
			hdir = {Right}&lt;br /&gt;
			next = {Down}&lt;br /&gt;
			i=1&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
Send u&lt;br /&gt;
Send {Enter}&lt;br /&gt;
Send {Enter}&lt;br /&gt;
Sleep %wait%&lt;br /&gt;
&lt;br /&gt;
return&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Interface Enhancement Scripts===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====The MOUSE control====&lt;br /&gt;
For unrivaled mouse control in DF try [http://www.dwarffortresswiki.net/index.php/User:Digger this DF Mouse script]&lt;br /&gt;
&lt;br /&gt;
====Tile Counter or Scrolling Accelerator====&lt;br /&gt;
Lack of reference plus slow scroll speed make planning digging area frustrating,so here is the script that shows coordinate and speed scrolling up.&lt;br /&gt;
[http://www.dwarffortresswiki.net/index.php/User:Daedalusai ShowXY]&lt;br /&gt;
&lt;br /&gt;
===4-Pour Water Creation script===&lt;br /&gt;
For Automating creation of water using Gibbeds Tweak.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
;&lt;br /&gt;
;	4-pour.ahk&lt;br /&gt;
;	Dwarf fortress water creation script.&lt;br /&gt;
;&lt;br /&gt;
;Use this script in conjunction with Gibbeds Dwarf Fortress Tweak to create endless amounts of water.;&lt;br /&gt;
;&lt;br /&gt;
;Directions&lt;br /&gt;
;&lt;br /&gt;
;1. Have DF running and position the screen such that when you press &amp;quot;K&amp;quot; the X will appear where you &lt;br /&gt;
&lt;br /&gt;
;want the water to appear.&lt;br /&gt;
;2. Have Gbbed's Dwarf Fortress tweak running in the background (with the proper process selected)&lt;br /&gt;
;3. run the 4-pour script&lt;br /&gt;
;4. press alt-p to get Pouring&lt;br /&gt;
;&lt;br /&gt;
;The script will then begin a cycle that moves the cursor around in a little 2x2 square editing each &lt;br /&gt;
&lt;br /&gt;
;tile to have 7/7 of water, it then pauses for a half a seond to let the water flow a bit, and repeats. &lt;br /&gt;
&lt;br /&gt;
;It does this until you..&lt;br /&gt;
;&lt;br /&gt;
;5. press and hold &amp;lt;shift&amp;gt; to stop&lt;br /&gt;
;&lt;br /&gt;
;As always, save before you experiment with this&lt;br /&gt;
;I hold no responsibility for what this script ends up doing to your dwarves/fortress/computer/carpet&lt;br /&gt;
;Feel free to clean it up, make it more usable, whatever&lt;br /&gt;
;&lt;br /&gt;
;&lt;br /&gt;
&lt;br /&gt;
#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.&lt;br /&gt;
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.&lt;br /&gt;
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.&lt;br /&gt;
&lt;br /&gt;
!p::&lt;br /&gt;
loop &lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
GetKeyState, state, Shift&lt;br /&gt;
if state = D&lt;br /&gt;
    Break&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
IfWinActive Dwarf Fortress&lt;br /&gt;
{&lt;br /&gt;
    WinActivate&lt;br /&gt;
}&lt;br /&gt;
send k&lt;br /&gt;
sleep 100&lt;br /&gt;
  send {NumpadRight}&lt;br /&gt;
&lt;br /&gt;
IfWinExist Gibbed's Dwarf Fortress Tweak [1.2.0.0]&lt;br /&gt;
{&lt;br /&gt;
    WinActivate&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
click 38, 184, 2&lt;br /&gt;
sleep 100&lt;br /&gt;
&lt;br /&gt;
IfWinExist Tile Edit&lt;br /&gt;
{&lt;br /&gt;
    WinActivate&lt;br /&gt;
}&lt;br /&gt;
sleep 100&lt;br /&gt;
click 63, 448&lt;br /&gt;
sleep 100&lt;br /&gt;
click 106, 70&lt;br /&gt;
sleep 100&lt;br /&gt;
click 207, 255&lt;br /&gt;
sleep 100&lt;br /&gt;
send {backspace}&lt;br /&gt;
sleep 100&lt;br /&gt;
send 7&lt;br /&gt;
sleep 100&lt;br /&gt;
click 348, 449&lt;br /&gt;
sleep 100&lt;br /&gt;
IfWinExist Dwarf Fortress&lt;br /&gt;
{&lt;br /&gt;
    WinActivate&lt;br /&gt;
}&lt;br /&gt;
sleep 100&lt;br /&gt;
  send {NumpadDown}&lt;br /&gt;
&lt;br /&gt;
IfWinExist Gibbed's Dwarf Fortress Tweak [1.2.0.0]&lt;br /&gt;
{&lt;br /&gt;
    WinActivate&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
click 38, 184, 2&lt;br /&gt;
sleep 100&lt;br /&gt;
&lt;br /&gt;
IfWinExist Tile Edit&lt;br /&gt;
{&lt;br /&gt;
    WinActivate&lt;br /&gt;
}&lt;br /&gt;
sleep 100&lt;br /&gt;
click 63, 448&lt;br /&gt;
sleep 100&lt;br /&gt;
click 106, 70&lt;br /&gt;
sleep 100&lt;br /&gt;
click 207, 255&lt;br /&gt;
sleep 100&lt;br /&gt;
send {backspace}&lt;br /&gt;
sleep 100&lt;br /&gt;
send 7&lt;br /&gt;
sleep 100&lt;br /&gt;
click 348, 449&lt;br /&gt;
sleep 100&lt;br /&gt;
IfWinExist Dwarf Fortress&lt;br /&gt;
{&lt;br /&gt;
    WinActivate&lt;br /&gt;
}&lt;br /&gt;
sleep 100&lt;br /&gt;
  send {NumpadLeft}&lt;br /&gt;
&lt;br /&gt;
IfWinExist Gibbed's Dwarf Fortress Tweak [1.2.0.0]&lt;br /&gt;
{&lt;br /&gt;
    WinActivate&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
click 38, 184, 2&lt;br /&gt;
sleep 100&lt;br /&gt;
&lt;br /&gt;
IfWinExist Tile Edit&lt;br /&gt;
{&lt;br /&gt;
    WinActivate&lt;br /&gt;
}&lt;br /&gt;
sleep 100&lt;br /&gt;
click 63, 448&lt;br /&gt;
sleep 100&lt;br /&gt;
click 106, 70&lt;br /&gt;
sleep 100&lt;br /&gt;
click 207, 255&lt;br /&gt;
sleep 100&lt;br /&gt;
send {backspace}&lt;br /&gt;
sleep 100&lt;br /&gt;
send 7&lt;br /&gt;
sleep 100&lt;br /&gt;
click 348, 449&lt;br /&gt;
sleep 100&lt;br /&gt;
IfWinExist Dwarf Fortress&lt;br /&gt;
{&lt;br /&gt;
    WinActivate&lt;br /&gt;
}&lt;br /&gt;
sleep 100&lt;br /&gt;
  send {NumpadUp}&lt;br /&gt;
&lt;br /&gt;
IfWinExist Gibbed's Dwarf Fortress Tweak [1.2.0.0]&lt;br /&gt;
{&lt;br /&gt;
    WinActivate&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
click 38, 184, 2&lt;br /&gt;
sleep 100&lt;br /&gt;
&lt;br /&gt;
IfWinExist Tile Edit&lt;br /&gt;
{&lt;br /&gt;
    WinActivate&lt;br /&gt;
}&lt;br /&gt;
sleep 100&lt;br /&gt;
click 63, 448&lt;br /&gt;
sleep 100&lt;br /&gt;
click 106, 70&lt;br /&gt;
sleep 100&lt;br /&gt;
click 207, 255&lt;br /&gt;
sleep 100&lt;br /&gt;
send {backspace}&lt;br /&gt;
sleep 100&lt;br /&gt;
send 7&lt;br /&gt;
sleep 100&lt;br /&gt;
click 348, 449&lt;br /&gt;
sleep 100&lt;br /&gt;
IfWinExist Dwarf Fortress&lt;br /&gt;
{&lt;br /&gt;
    WinActivate&lt;br /&gt;
}&lt;br /&gt;
send {space}&lt;br /&gt;
sleep 800&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Tesselated Apartments Builder===&lt;br /&gt;
&lt;br /&gt;
This one is another tesselated apartments script, with some larger areas added. Credit for layout to GnomeChomsky.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
;&lt;br /&gt;
; TessApts.ahk&lt;br /&gt;
; Start script while in 'dig' mode with cursor on desired position of leftmost staircase&lt;br /&gt;
;&lt;br /&gt;
; CTRL+G       : Central room, 8 apartments (necessary on at least one z-level)&lt;br /&gt;
; ALT+G        : No central room, 16 apartments&lt;br /&gt;
; CTRL+ALT+G   : Four &amp;quot;central room&amp;quot; layouts connected in center (28 apartments)&lt;br /&gt;
; CTRL+SHIFT+G : Four &amp;quot;16 apartment&amp;quot; layouts, unconnected in center&lt;br /&gt;
;&lt;br /&gt;
!g::&lt;br /&gt;
Send i{ENTER}{ENTER}33332{ENTER}{ENTER}99996{ENTER}{ENTER}77778{ENTER}{ENTER}&lt;br /&gt;
Send d7{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}&lt;br /&gt;
Send 111{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}&lt;br /&gt;
Send 333333{ENTER}44{ENTER}8{ENTER}{ENTER}96{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}&lt;br /&gt;
Send 99999988{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}96{ENTER}88{ENTER}6{ENTER}{ENTER}114444444&lt;br /&gt;
return&lt;br /&gt;
^g::&lt;br /&gt;
Send i{ENTER}{ENTER}33332{ENTER}{ENTER}99996{ENTER}{ENTER}77778{ENTER}{ENTER}&lt;br /&gt;
Send d7{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}&lt;br /&gt;
Send 111{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}&lt;br /&gt;
Send 333333{ENTER}44{ENTER}8{ENTER}{ENTER}96{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}&lt;br /&gt;
Send 99999988{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}96{ENTER}88{ENTER}6{ENTER}{ENTER}&lt;br /&gt;
Send 7444{ENTER}{ENTER}1114{ENTER}{ENTER}3332{ENTER}{ENTER}9996{ENTER}{ENTER}788{ENTER}11111{ENTER}&lt;br /&gt;
return&lt;br /&gt;
!^g::&lt;br /&gt;
Send i{ENTER}{ENTER}33332{ENTER}{ENTER}99996{ENTER}{ENTER}77778{ENTER}{ENTER}&lt;br /&gt;
Send d7{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}&lt;br /&gt;
Send 111{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}&lt;br /&gt;
Send 333333{ENTER}44{ENTER}8{ENTER}{ENTER}96{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}&lt;br /&gt;
Send 99999988{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}96{ENTER}88{ENTER}6{ENTER}{ENTER}&lt;br /&gt;
Send 7444{ENTER}{ENTER}1114{ENTER}{ENTER}3332{ENTER}{ENTER}9996{ENTER}{ENTER}788{ENTER}11111{ENTER}88899999999&lt;br /&gt;
Send i{ENTER}{ENTER}33332{ENTER}{ENTER}99996{ENTER}{ENTER}77778{ENTER}{ENTER}&lt;br /&gt;
Send d7{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}&lt;br /&gt;
Send 111{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}&lt;br /&gt;
Send 333333{ENTER}44{ENTER}8{ENTER}{ENTER}96{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}&lt;br /&gt;
Send 99999988{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}96{ENTER}88{ENTER}6{ENTER}{ENTER}&lt;br /&gt;
Send 7444{ENTER}{ENTER}1114{ENTER}{ENTER}3332{ENTER}{ENTER}9996{ENTER}{ENTER}788{ENTER}11111{ENTER}3333332&lt;br /&gt;
Send i{ENTER}{ENTER}33332{ENTER}{ENTER}99996{ENTER}{ENTER}77778{ENTER}{ENTER}&lt;br /&gt;
Send d7{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}&lt;br /&gt;
Send 111{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}&lt;br /&gt;
Send 333333{ENTER}44{ENTER}8{ENTER}{ENTER}96{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}&lt;br /&gt;
Send 99999988{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}96{ENTER}88{ENTER}6{ENTER}{ENTER}&lt;br /&gt;
Send 7444{ENTER}{ENTER}1114{ENTER}{ENTER}3332{ENTER}{ENTER}9996{ENTER}{ENTER}788{ENTER}11111{ENTER}111114444444&lt;br /&gt;
Send i{ENTER}{ENTER}33332{ENTER}{ENTER}99996{ENTER}{ENTER}77778{ENTER}{ENTER}&lt;br /&gt;
Send d7{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}&lt;br /&gt;
Send 111{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}&lt;br /&gt;
Send 333333{ENTER}44{ENTER}8{ENTER}{ENTER}96{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}&lt;br /&gt;
Send 99999988{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}96{ENTER}88{ENTER}6{ENTER}{ENTER}&lt;br /&gt;
Send 7444{ENTER}{ENTER}1114{ENTER}{ENTER}3332{ENTER}{ENTER}9996{ENTER}{ENTER}788{ENTER}11111{ENTER}&lt;br /&gt;
Send 9988888888{ENTER}999{ENTER}+444444&lt;br /&gt;
return&lt;br /&gt;
&lt;br /&gt;
+^g::&lt;br /&gt;
Send i{ENTER}{ENTER}33332{ENTER}{ENTER}99996{ENTER}{ENTER}77778{ENTER}{ENTER}&lt;br /&gt;
Send d7{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}&lt;br /&gt;
Send 111{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}&lt;br /&gt;
Send 333333{ENTER}44{ENTER}8{ENTER}{ENTER}96{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}&lt;br /&gt;
Send 99999988{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}96{ENTER}88{ENTER}6{ENTER}{ENTER}888889&lt;br /&gt;
Send i{ENTER}{ENTER}33332{ENTER}{ENTER}99996{ENTER}{ENTER}77778{ENTER}{ENTER}&lt;br /&gt;
Send d7{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}&lt;br /&gt;
Send 111{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}&lt;br /&gt;
Send 333333{ENTER}44{ENTER}8{ENTER}{ENTER}96{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}&lt;br /&gt;
Send 99999988{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}96{ENTER}88{ENTER}6{ENTER}{ENTER}+221&lt;br /&gt;
Send i{ENTER}{ENTER}33332{ENTER}{ENTER}99996{ENTER}{ENTER}77778{ENTER}{ENTER}&lt;br /&gt;
Send d7{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}&lt;br /&gt;
Send 111{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}&lt;br /&gt;
Send 333333{ENTER}44{ENTER}8{ENTER}{ENTER}96{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}&lt;br /&gt;
Send 99999988{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}96{ENTER}88{ENTER}6{ENTER}{ENTER}+1+46&lt;br /&gt;
Send i{ENTER}{ENTER}33332{ENTER}{ENTER}99996{ENTER}{ENTER}77778{ENTER}{ENTER}&lt;br /&gt;
Send d7{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}&lt;br /&gt;
Send 111{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}&lt;br /&gt;
Send 333333{ENTER}44{ENTER}8{ENTER}{ENTER}96{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}&lt;br /&gt;
Send 99999988{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}96{ENTER}88{ENTER}6{ENTER}{ENTER}+71144444&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===File pattern builder===&lt;br /&gt;
&lt;br /&gt;
This is a script to create a macro out of any building pattern you like. If you like tesselated, this script will do it. If you like blocky, this script can do that, too. Just create a text file that contains the pattern you want to use and this macro will create it like nobody's business.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
 ; File Pattern.ahk				   	   ;&lt;br /&gt;
 ; this is an ahk script to read a text file and use	   ;&lt;br /&gt;
 ; the pattern contained inside as a blueprint for digging ;&lt;br /&gt;
 ; press d and place the cursor				   ;&lt;br /&gt;
 ; in a corner of the area to be explored		   ;&lt;br /&gt;
 ; then use ctrl+shift+d to run				   ;&lt;br /&gt;
 ; to change parameters, use ctrl+shift+f		   ; &lt;br /&gt;
 ;							   ;&lt;br /&gt;
 ; NOTE:					           ;&lt;br /&gt;
 ; Author: Corey Amend					   ;&lt;br /&gt;
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
filename = C:\pattern.txt&lt;br /&gt;
loc = ul&lt;br /&gt;
wait = 100&lt;br /&gt;
&lt;br /&gt;
wallsymbol = 1&lt;br /&gt;
floorsymbol = 0&lt;br /&gt;
updownsymbol = 2&lt;br /&gt;
downsymbol = 3&lt;br /&gt;
upsymbol = 4&lt;br /&gt;
rampsymbol = 5&lt;br /&gt;
channelsymbol = 6&lt;br /&gt;
&lt;br /&gt;
digcommand = d&lt;br /&gt;
upcommand = u&lt;br /&gt;
downcommand = j&lt;br /&gt;
updowncommand = i&lt;br /&gt;
rampcommand = r&lt;br /&gt;
channelcommand = h&lt;br /&gt;
&lt;br /&gt;
hdir = {Right}&lt;br /&gt;
vdir = {Down}&lt;br /&gt;
&lt;br /&gt;
upperleft = ul&lt;br /&gt;
upperright = ur&lt;br /&gt;
lowerleft = ll&lt;br /&gt;
lowerright = lr&lt;br /&gt;
&lt;br /&gt;
inrun = 0&lt;br /&gt;
&lt;br /&gt;
 ^+f::&lt;br /&gt;
inputbox filename, Enter Path, Enter the full path to the file that contains the pattern to use&lt;br /&gt;
inputbox loc, Enter Cursor Location, Enter the location of the cursor within the pattern (Upper Left = ul`, Lower Right = lr...etc.)&lt;br /&gt;
inputbox wait, Enter Delay, Enter the delay to use (default is 100)&lt;br /&gt;
return&lt;br /&gt;
&lt;br /&gt;
 ^+d::&lt;br /&gt;
&lt;br /&gt;
IfExist,  %filename%&lt;br /&gt;
{&lt;br /&gt;
	FileRead, contents, %filename%&lt;br /&gt;
	StringSplit Array, contents, `r, `n&lt;br /&gt;
&lt;br /&gt;
	if (loc = upperleft)&lt;br /&gt;
	{&lt;br /&gt;
		hdir = {Right}&lt;br /&gt;
		vdir = {Down}&lt;br /&gt;
	}&lt;br /&gt;
	else if (loc = upperright)&lt;br /&gt;
	{&lt;br /&gt;
		hdir = {Left}&lt;br /&gt;
		vdir = {Down}&lt;br /&gt;
	}&lt;br /&gt;
	else if (loc = lowerleft)&lt;br /&gt;
	{&lt;br /&gt;
		hdir = {Right}&lt;br /&gt;
		vdir = {Up}&lt;br /&gt;
	}&lt;br /&gt;
	else if (loc = lowerright)&lt;br /&gt;
	{&lt;br /&gt;
		hdir = {Left}&lt;br /&gt;
		vdir = {Up}&lt;br /&gt;
	}&lt;br /&gt;
	else&lt;br /&gt;
	{&lt;br /&gt;
		MsgBox, Invalid cursor location!&lt;br /&gt;
		return&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	Loop %Array0%&lt;br /&gt;
	{&lt;br /&gt;
		if (loc = upperleft || loc = upperright)&lt;br /&gt;
		{&lt;br /&gt;
			current_line = %a_index%&lt;br /&gt;
		}&lt;br /&gt;
		else if (loc = lowerleft || loc = lowerright)&lt;br /&gt;
		{&lt;br /&gt;
			current_line := (Array0 - a_index + 1)&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		current_value := Array%current_line%&lt;br /&gt;
		&lt;br /&gt;
		len := StrLen(current_value)&lt;br /&gt;
&lt;br /&gt;
		if (hdir = &amp;quot;{Left}&amp;quot;)&lt;br /&gt;
		{&lt;br /&gt;
			new_value =&lt;br /&gt;
&lt;br /&gt;
			Loop %len%&lt;br /&gt;
			{&lt;br /&gt;
				new_value := new_value . SubStr(current_value, (len - a_index) + 1, 1)&lt;br /&gt;
			}&lt;br /&gt;
			&lt;br /&gt;
			current_value := new_value&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		Loop %len%&lt;br /&gt;
		{&lt;br /&gt;
			current_char := SubStr(current_value, a_index, 1)&lt;br /&gt;
&lt;br /&gt;
			if (current_char != wallsymbol)&lt;br /&gt;
			{				&lt;br /&gt;
				if (!inrun)&lt;br /&gt;
				{&lt;br /&gt;
					if (current_char = floorsymbol)&lt;br /&gt;
					{&lt;br /&gt;
						Send %digcommand%&lt;br /&gt;
					}&lt;br /&gt;
					else if (current_char = updownsymbol)&lt;br /&gt;
					{&lt;br /&gt;
						Send %updowncommand%&lt;br /&gt;
					}&lt;br /&gt;
					else if (current_char = downsymbol)&lt;br /&gt;
					{&lt;br /&gt;
						Send %downcommand%&lt;br /&gt;
					}&lt;br /&gt;
					else if (current_char = upsymbol)&lt;br /&gt;
					{&lt;br /&gt;
						Send %upcommand%&lt;br /&gt;
					}&lt;br /&gt;
					else if (current_char = rampsymbol)&lt;br /&gt;
					{&lt;br /&gt;
						Send %rampcommand%&lt;br /&gt;
					}&lt;br /&gt;
					else if (current_char = channelsymbol)&lt;br /&gt;
					{&lt;br /&gt;
						Send %channelcommand%&lt;br /&gt;
					}&lt;br /&gt;
&lt;br /&gt;
					Send {Enter}&lt;br /&gt;
					inrun = 1&lt;br /&gt;
				}&lt;br /&gt;
&lt;br /&gt;
				;;If we're at the end of a line or the next char is different, then end the run&lt;br /&gt;
				if ((a_index &amp;gt;= len) || (current_char != SubStr(current_value, a_index + 1, 1)))&lt;br /&gt;
				{&lt;br /&gt;
					Send {Enter}&lt;br /&gt;
					inrun = 0&lt;br /&gt;
					Sleep %wait%&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			if (a_index &amp;lt; len)&lt;br /&gt;
			{&lt;br /&gt;
				Send %hdir%&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		if (a_index &amp;lt; Array0)&lt;br /&gt;
		{&lt;br /&gt;
			Send %vdir%&lt;br /&gt;
&lt;br /&gt;
			if (hdir = &amp;quot;{Right}&amp;quot;)&lt;br /&gt;
			{&lt;br /&gt;
				hdir = {Left}&lt;br /&gt;
			}&lt;br /&gt;
			else if (hdir = &amp;quot;{Left}&amp;quot;)&lt;br /&gt;
			{&lt;br /&gt;
				hdir = {Right}&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
else&lt;br /&gt;
{&lt;br /&gt;
	MsgBox File not found&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sample file to show how this all works:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
111111&lt;br /&gt;
100001&lt;br /&gt;
100201&lt;br /&gt;
103001&lt;br /&gt;
100401&lt;br /&gt;
105001&lt;br /&gt;
100601&lt;br /&gt;
100001&lt;br /&gt;
111111&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This creates a room filled with up/down stairs, a ramp, and a channel.&lt;br /&gt;
&lt;br /&gt;
And finally, here's a sample pattern based on the decentralized workshop:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1111111111111111111111111111111111111&lt;br /&gt;
1000000000000001000001000000000000001&lt;br /&gt;
1000000000000001000001000000000000001&lt;br /&gt;
1000000000000000000000000000000000001&lt;br /&gt;
1000000000000001000001000000000000001&lt;br /&gt;
1000000000000001000001000000000000001&lt;br /&gt;
1000111101111111110111111111011110001&lt;br /&gt;
1000100000001000100010001000000010001&lt;br /&gt;
1000100000001000100010001000000010001&lt;br /&gt;
1000100000001000100010001000000010001&lt;br /&gt;
1000000000000010000000100000000000001&lt;br /&gt;
1000111101111000100010001111011110001&lt;br /&gt;
1000100000001000100010001000000010001&lt;br /&gt;
1101100010001000100010001000100011011&lt;br /&gt;
1000100000001000100010001000000010001&lt;br /&gt;
1000111101111111100011111111011110001&lt;br /&gt;
1000100000000000030400000000000010001&lt;br /&gt;
1010000000000000030400000000000000101&lt;br /&gt;
1000100000000000030400000000000010001&lt;br /&gt;
1000111101111111100011111111011110001&lt;br /&gt;
1000100000001000100010001000000010001&lt;br /&gt;
1101100010001000100010001000100011011&lt;br /&gt;
1000100000001000100010001000000010001&lt;br /&gt;
1000111101111000100010001111011110001&lt;br /&gt;
1000000000000010000000100000000000001&lt;br /&gt;
1000100000001000100010001000000010001&lt;br /&gt;
1000100000001000100010001000000010001&lt;br /&gt;
1000100000001000100010001000000010001&lt;br /&gt;
1000111101111111110111111111011110001&lt;br /&gt;
1000000000000001000001000000000000001&lt;br /&gt;
1000000000000001000001000000000000001&lt;br /&gt;
1000000000000000000000000000000000001&lt;br /&gt;
1000000000000001000001000000000000001&lt;br /&gt;
1000000000000001000001000000000000001&lt;br /&gt;
1111111111111111111111111111111111111&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Game_Interface FAQ}}&lt;br /&gt;
[[Category:ahk scripts]]&lt;/div&gt;</summary>
		<author><name>Joelpt</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=40d:Utilities&amp;diff=9034</id>
		<title>40d:Utilities</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=40d:Utilities&amp;diff=9034"/>
		<updated>2009-07-20T02:24:39Z</updated>

		<summary type="html">&lt;p&gt;Joelpt: Added Quickfort, minor reorg&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here are third party applications developed for Dwarf Fortress.&lt;br /&gt;
__TOC__&lt;br /&gt;
== [http://dffd.wimbli.com/ Dwarf Fortress File Depot] ==&lt;br /&gt;
The Dwarf Fortress File Upload Service - an excellent place to store mods, community games, tilesets and other files. Courtesy of [[User:Janus|Janus]]; for files related to Dwarf Fortress only.&lt;br /&gt;
&lt;br /&gt;
== Movies, Screenshots, Map Files ==&lt;br /&gt;
&lt;br /&gt;
=== DF Map Compressor / DF Map Archive ===&lt;br /&gt;
&lt;br /&gt;
*[http://shadowlord13.googlepages.com/dfmap-index.html SL's DF Map Compressor - Website]&lt;br /&gt;
*[http://mkv25.net/dfma/ Dwarf Fortress Map Archive]&lt;br /&gt;
&lt;br /&gt;
The DF Map Compressor encodes multiple bitmaps exported from Dwarf Fortress into a single, very compressed, .fdf-map file. The fdf-map file can then be shared with your friends by uploading to the DF Map Archive that features an online viewer (written in Flash).&lt;br /&gt;
&lt;br /&gt;
The map compressor was created by Shadowlord in May 2007. Extract from the website :&lt;br /&gt;
:&amp;quot;The '''DF Map Compressor''' is a program I made to encode Dwarf Fortress fortress or world map images into a much smaller format than is possible with normal image formats. Here's a quick summary of how it works: It determines the size of your tiles from your DF font file (or asks you), splits the map up into tiles, identifies duplicate tiles, writes out every unique tile image, and then writes out a list of ID#s for each tile position which points to the tile image for that tile. What it outputs is piped through the LZMA compressor (the one used in 7-zip), to compress it further. The .df-map file which it writes out is usually less than 100 KB in size. (By comparison, a PNG of the same map can exceed 2 megabytes, depending on how well you compress it, whether you change the color depth, and whether you are using a graphical tileset or detailed font).&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Read more about the [[User:Markavian/DF_Map_Archive|DF Map Archive]] on Markavian's User page.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.bay12games.com/forum/index.php?topic=608.0 3Dwarf Visualizer] ===&lt;br /&gt;
&lt;br /&gt;
This is NOT real time! Dwarvis has the ability to be real time, though 3Dwarf is much more recommended. What this does is read the map out of your computer's memory when Dwarf Fortress is running and save it to a file it can read. It can then open that file and show you your fort in glorious 3D. Still in beta, obviously.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.bay12games.com/forum/index.php?topic=34633.0 Khazad] ===&lt;br /&gt;
&lt;br /&gt;
A related fortress viewing engine utilizing memory extraction and saving similar to 3Dwarf, Khazad uses an Isometric perspective reminiscent of SimCity200 &amp;amp; Transport Tycoon while also allowing very free form camera control in a full 3D environment.  Khazad is compatible with 40d and 40d11 and entirely open source being licensed under the GPL, source and binary packages are available at [http://sourceforge.net/projects/khazad/ SourceForge].  Development is active and participation is welcome.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.geocities.com/jifodus/CMVPlayer.zip CMVPlayer] === &lt;br /&gt;
&lt;br /&gt;
First released by Jifodus in April 2007. This application enables playback of the DF movies (.cmv) without starting DF. It also provides some more functionalities, such as :&lt;br /&gt;
* Rewind&lt;br /&gt;
* Pause&lt;br /&gt;
* Play frame per frame&lt;br /&gt;
&lt;br /&gt;
To use, simply unzip the file, and drop and drag the movie on CMVPlayer.exe.&lt;br /&gt;
&lt;br /&gt;
=== [http://dffd.wimbli.com/file.php?id=389 DwarfHeightmap] ===&lt;br /&gt;
&lt;br /&gt;
A utility that imports 24bit greyscale bitmaps into world_gen.txt for use in DF's map generator.&lt;br /&gt;
&lt;br /&gt;
=== Terrain Visualizer ===&lt;br /&gt;
&lt;br /&gt;
View worldmaps in 3D! This utilizes version 0.28.181.39d's built in Legends Mode map exporter and a generic HeightMap terrain visualizer.  Nothing super fancy, but neat to look at.&lt;br /&gt;
Get the [http://www.alpix.com/3d/TerrainViewer/ 3D Terrain Viewer] here, follow the instructions in the [http://www.bay12games.com/forum/index.php?topic=21468 Bay12Forums Thread] if you need help getting set up.&lt;br /&gt;
&lt;br /&gt;
Or if you want super pretty maps, [http://www.bay12games.com/forum/index.php?topic=21469.0 see this topic], and get [http://www.planetside.co.uk/terragen/download.shtml Terragen]!&lt;br /&gt;
&lt;br /&gt;
==Major Utilities==&lt;br /&gt;
&lt;br /&gt;
=== [[User:Bartavelle/DwarfCompanion|Dwarf Companion]] ===&lt;br /&gt;
&lt;br /&gt;
Created by [[User:Bartavelle|Bartavelle]], the Dwarf Companion is a graphical helper utility for dwarf fortress that aims to fill the gaps in the user interface. It allows for some nefarious cheating. For example, you can now mark your nobles as butcherable, and change possessed dwarves to fey moods.&lt;br /&gt;
&lt;br /&gt;
=== [http://sun2design.com/quickfort/ Quickfort] ===&lt;br /&gt;
&lt;br /&gt;
Quickfort is an AutoHotkey-based utility for Dwarf Fortress that helps you build fortresses from &amp;quot;blueprint&amp;quot; .CSV files (comma separated values). These files are easily created and edited in an app like Excel. Most building-oriented DF commands are supported through the use of multiple .CSV files to describe the different phases of DF construction (designation, building, stockpiles, and making adjustments).&lt;br /&gt;
&lt;br /&gt;
=== [http://dwarfmanager.sourceforge.net/ Dwarf Manager] ===&lt;br /&gt;
&lt;br /&gt;
Dwarf Manager is inspired by Dwarf Foreman (below) and has a similar overall layout, but improved features. You can not only assign jobs to profession groups but also to individual dwarves; you can view their current skill for a given job displayed handily in the job grid; and you can also change their personal and profession names straight from the interface. The program handles social and military skills as well.&lt;br /&gt;
In addition the program can be customized and updated by editing the included .xml files.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.pavlovian.net/foreman/ Dwarf Foreman] ===&lt;br /&gt;
&lt;br /&gt;
Makes switching jobs on and off for large numbers of dwarves simple. Dwarves are grouped by their profession, or custom profession if they have one. By clicking on the graph you can enable any job for all dwarves with that profession. Still in alpha for this version of DF, if it doesn't recognize one of the new professions, check the file '''debug.txt''' in the directory you run foreman from.&lt;br /&gt;
&lt;br /&gt;
Though prone to crashing currently, saving and exiting DF, starting foreman and then starting DF again will usually get it working again. Zorba would also appreciate it if you'd email him the crash log located in the Dwarf Foreman directory when this happens (zorba-foremancrash@pavlovian.net).&lt;br /&gt;
&lt;br /&gt;
Dwarf Foreman currently allows you to change the jobs of visiting merchants, outpost liaisons, children, and any other dwarves that aren't normally controllable. It is unsupported but occasionally hilarious, and allows you to finally put those lazy dwarven children to work.&lt;br /&gt;
&lt;br /&gt;
Source code is available.&lt;br /&gt;
&lt;br /&gt;
To make Foreman compatible with '''v0.28.181.40d''', update config file as shown below. Use the [[Talk:Utilities#Dwarf Foreman|talk page]] for previous versions of DF.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
check=032e4b67&lt;br /&gt;
critter_start=01583224&lt;br /&gt;
dwarfidpos=0138f690&lt;br /&gt;
profession_start=0474&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note:''' A Dwarf Foreman-like utility, with an expanded feature set, is also available. See Dwarf Manager below.&lt;br /&gt;
&lt;br /&gt;
=== [http://dffd.wimbli.com/file.php?id=695 Mac Foreman] ===&lt;br /&gt;
&lt;br /&gt;
This is a MacOSX 10.5 port of Dwarf Foreman.&lt;br /&gt;
&lt;br /&gt;
Source code is available.&lt;br /&gt;
&lt;br /&gt;
Dwarf Fortress version: '''v0.28.181.40d'''&lt;br /&gt;
&lt;br /&gt;
=== [[User:Rick/Tweak|Gibbed's Dwarf Fortress Tweak]] ===&lt;br /&gt;
&lt;br /&gt;
A toolset with many modules for tweaking / editing Dwarf Fortress memory.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.bay12games.com/forum/index.php?topic=18623.0 Modbase] ===&lt;br /&gt;
&lt;br /&gt;
Modbase is a great tool made by Sean Mirrsen which allows you to freely swap mods and tweak game settings. For version 0.38c.&lt;br /&gt;
&lt;br /&gt;
== Minor Utilities ==&lt;br /&gt;
&lt;br /&gt;
=== DF Log Parser ===&lt;br /&gt;
&lt;br /&gt;
A perl script written by Mephansteras that parses through the logs to show what civs owned what sites, what their overall populations were, and what the overall population levels of cave critters were. The output file makes it pretty easy to see how the various races are doing.&lt;br /&gt;
&lt;br /&gt;
You will see:&lt;br /&gt;
Each Civilization, with overall ruler. Each site in that civ, with the local ruler. A summary of every entity in that civ.&lt;br /&gt;
A summary of every civ, by race&lt;br /&gt;
A listing of every Ruin&lt;br /&gt;
A listing of the total populations of cave critters&lt;br /&gt;
A listing of the total populations of civilized creatures&lt;br /&gt;
&lt;br /&gt;
[http://dffd.wimbli.com/file.php?id=299 Raw perl script] - requires perl&lt;br /&gt;
[http://dffd.wimbli.com/file.php?id=311 Executable version] - does not require perl&lt;br /&gt;
&lt;br /&gt;
=== [http://dffd.wimbli.com/file.php?id=278 DF World Generator] ===&lt;br /&gt;
&lt;br /&gt;
Swiftly written supplement to the command line world generator. Written in Python, so you have to have Python installed to use this. It must be run from the command line and be in the DF Directory to work. Running the program with no parameters will provoke a short help-me dialog which will explain how to run it properly.&lt;br /&gt;
Enjoy!&lt;br /&gt;
&lt;br /&gt;
=== [http://www.bay12games.com/forum/index.php?topic=949.0 Dtil] ===&lt;br /&gt;
&lt;br /&gt;
Dtil is a general purpose tool host that supplies a dynamically generated SDK for plugin authors.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.bay12games.com/forum/index.php?topic=21351.0 Embark Anywhere] ===&lt;br /&gt;
&lt;br /&gt;
Code based on 0x517A5D's Regional Prospector (above), allows you to embark ANYWHERE, how well that works depends on where you decide to go. Pure water areas are a suggested no as you can't do anything.&lt;br /&gt;
&lt;br /&gt;
=== [http://dffd.wimbli.com/file.php?id=443 Enable Magma Buildings] ===&lt;br /&gt;
&lt;br /&gt;
You need this utility in the case that you used the reveal utility, and you had not yet discovered any subsurface magma. (If the hide utility is ever updated, you could also hide a few magma tiles and then dig them out.  That worked in the old version.) Because there is no actual flag that controls whether magma has been seen (the game searches a list, probably a list of notable events), I had to patch the game's code.  This means you need to run the utility every time you start dwarfort.exe.&lt;br /&gt;
&lt;br /&gt;
This utility has been made version-independent. It is expected to work with future releases of Dwarf Fortress.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.geocities.com/jifodus/justdigitout.zip Just dig it out!] ===&lt;br /&gt;
&lt;br /&gt;
A utility by Jifodus. Disables warning messages about damp stone and hot stone. [http://www.bay12games.com/forum/index.php?topic=21892.0 Thread]&lt;br /&gt;
&lt;br /&gt;
=== [http://www.geocities.com/jifodus/nanofortress.zip Nano Fortress] ===&lt;br /&gt;
&lt;br /&gt;
A utility that will allow embarks to 1x1 locations.&lt;br /&gt;
&lt;br /&gt;
=== [http://angband.org/~erasmus/df/teleport22.zip Teleport] ===&lt;br /&gt;
&lt;br /&gt;
Teleport dwarves and other creatures. Version 2.2 is independent of the DF version. (33c)&lt;br /&gt;
&lt;br /&gt;
Note:  This utility may not work on versions of DF 40d and later.  If it doesn't work for you, try Dwarf Companion.&lt;br /&gt;
&lt;br /&gt;
Caveat: The teleport utility does not correctly set the occupancy flag for map squares.  As a results, dwarves will permanently crawl through the square that you teleported them out of.  In addition, you cannot build structures in those squares.&lt;br /&gt;
&lt;br /&gt;
=== [http://dffd.wimbli.com/file.php?id=645 Reveal] ===&lt;br /&gt;
&lt;br /&gt;
Old version of reveal (a tool that reveals tiles of a map in fortress mode), with updated memory.ini file for version 0.28.181.40d. It does not require you to install anything (unlike the new version that can be found in Gibbed's Dwarf Fortress Tweak), just unzip both files and run reveal.exe while DF is running.&lt;br /&gt;
To reveal entire map designate the entire bottom level to be mined and then remove designation before running reveal. '''Using Reveal has been known to corrupt saved game folders.'''  Playing on revealed map might ''(read &amp;quot;will&amp;quot;)'' cause some bugs (like not being able to build magma buildings or a tower-cap farm, losing all plants/trees on the map, etc. etc.).&lt;br /&gt;
&lt;br /&gt;
A version of Reveal that works with Vista and Windows 7 is currently in public beta.  It can be downloaded at [http://dffd.wimbli.com/file.php?id=1044 Reveal2].  Please report problems in [[User_talk:0x517A5D|0x517A5D's Talk page]].&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous ==&lt;br /&gt;
&lt;br /&gt;
These utilities were never designed with Dwarf Fortress in mind, but have been adapted to its use.&lt;br /&gt;
&lt;br /&gt;
=== [[User:Jackard/Accent_Removal|Accent Removal]] ===&lt;br /&gt;
&lt;br /&gt;
Certain tilesets leave a bunch of funky icons in the names of your dwarves! Replacing accented letters with normal ones in the raws fixes this problem.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.autohotkey.com/ AutoHotKey] ===&lt;br /&gt;
&lt;br /&gt;
AHK lets you define global hotkeys to send a sequence of keystrokes. For example, you can have {{key|alt}}+{{key|w}} replace {{key|b}}-{{key|C}}-{{key|w}}-{{key|Enter}}-{{key|Enter}} to make wall building much easier.  See [[Macros and Keymaps]] for a how-to and some example scripts. See [[:Category:ahk scripts]] for a list of user submitted scripts.&lt;br /&gt;
&lt;br /&gt;
=== [http://winmerge.org/ Winmerge] ===&lt;br /&gt;
&lt;br /&gt;
This utility allows you to compare folders or files. It highlights anything that does not fit in with the other file, so that you can see if you want to merge them into one file or not..&lt;br /&gt;
&lt;br /&gt;
== Outdated Utilities ==&lt;br /&gt;
&lt;br /&gt;
These programs are for previous versions of Dwarf Fortress, and have been left untouched for some time.&lt;br /&gt;
&lt;br /&gt;
=== [http://dffd.wimbli.com/file.php?id=108 DFWall] ===&lt;br /&gt;
&lt;br /&gt;
An utility for automation of mass constructions. Features three modes:&lt;br /&gt;
&lt;br /&gt;
1. Rectangle rewalling - quickly build a rectangle of walls/floors using:&lt;br /&gt;
a) the same saved material every time ([http://mkv25.net/dfma/movie-495-dfwalldemo DEMO])&lt;br /&gt;
b) any material with at least 1/10/99 units&lt;br /&gt;
&lt;br /&gt;
2. Quick reselect (for ANY single unit construction) - save that green glass box and never again have to look for it between all the bags!&lt;br /&gt;
&lt;br /&gt;
3. Pattern construction - make a pattern file and have stuff constructed according to it ([http://mkv25.net/dfma/movie-520-dfwalldemo2 DEMO]).&lt;br /&gt;
&lt;br /&gt;
For more details look here: [http://www.bay12games.com/cgi-local/ultimatebb.cgi?ubb=get_topic&amp;amp;f=2&amp;amp;t=001847 Thread]&lt;br /&gt;
&lt;br /&gt;
=== [http://code.google.com/p/dwarvis/ Dwarvis/MapExtract] ===&lt;br /&gt;
&lt;br /&gt;
This project is meant as a 3rd party utility for the cult-game dwarf fortress. Its purpose is to eventually provide 3-dimensional visualization of static snapshots of the ingame world of a given fortress.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.yourfilehost.com/media.php?cat=other&amp;amp;file=latitudes.zip Latitudes] ===&lt;br /&gt;
&lt;br /&gt;
Latitudes is a utility that, when on the embark map screen, shows the X/Y coordinates of the current region.   Until Toady adds [http://www.bay12games.com/cgi-local/ultimatebb.cgi?ubb=get_topic&amp;amp;f=5&amp;amp;t=002191 proper support], this will do the trick.  Works in .32a through at least .33g.  Technical notes: uses memory injection, so it may be flagged as a suspicious file by anti-virus programs.&lt;br /&gt;
&lt;br /&gt;
=== [http://angband.org/~erasmus/df/lavasquare.exe Lavasquare] ===&lt;br /&gt;
&lt;br /&gt;
Another quick hack to make a 7/7 unit of lava on the currently selected square.  Ignore the random text it spams, as it was quickly adapted from a map query tool, and I didn't bother removing the print statements. Only works with version 33e. To hack this executable for a later version of dwarf fortress see the [[Talk:Utilities#Lavasquare|talk page]].&lt;br /&gt;
&lt;br /&gt;
33g version plus autohotkey script: http://www.sendspace.com/file/xsl6gs&lt;br /&gt;
&lt;br /&gt;
=== [http://www.bay12games.com/forum/index.php?topic=1447.0 StartProfile] ===&lt;br /&gt;
&lt;br /&gt;
Jifodus wrote a little utility that lets you maintain profiles of your starting dwarves.&lt;br /&gt;
&lt;br /&gt;
Check the thread on the forums for the latest download link. (Aug 01, 2008)&lt;br /&gt;
&lt;br /&gt;
Incidentally, if you try this utility, please report success/failure in [[Talk:Utilities#StartProfile|the utilities talk page]].&lt;br /&gt;
&lt;br /&gt;
=== [http://angband.org/~erasmus/df/water.exe Water] ===&lt;br /&gt;
&lt;br /&gt;
Quick hack to refill ponds.  Run this while your fortress is up, and it'll restore any &amp;quot;murky pool&amp;quot; tiles (i.e. the floor of ponds and lakes) to 7/7 water.  If you've tunneled into a pond, it'll still refill but will flow out normally. Only works with version 33e due to its &amp;quot;quick hack&amp;quot; status. Note: If there is lava in a murky pool, it will be raised to depth 7/7.&lt;br /&gt;
&lt;br /&gt;
[[Category:Utilities| ]]&lt;/div&gt;</summary>
		<author><name>Joelpt</name></author>
	</entry>
</feed>