Dwarf Manager v0.7 by Jan Kopcsek <codewright [AT] gmx [.] net>
Dwarf Manager helps you manage your dwarf workforce. It lets you manage the labor assignments and
custom profession names of your dwarfs. It is inspired by Dwarf Foreman,
but adds more features to it.
Requirements: Microsoft .NET Framework 3.5 and Dwarf Fortress ;)
Download: DwarfManager-0.7 (2009-04-02)
It is out-of-the-box compatible with DF 0.28.181.40c, ~40d, ~40d8, ~40d9 and ~40d11.
Simply unzip the files into any directory and run the DwarfManager.exe. Make sure you have the .NET Framework 3.5
installed or it won't work.
- (1) Profession and Dwarf List
All dwarfs are listed here and grouped by their profession,
The grouping can be changed by clicking the button
at the bottom. Profession are listed by their name and
the number of dwarfs in this group. A profession group
may represent a built-in DF profession or a custom profession
name. A profession group can be expanded by clicking on it.
A dwarf is listed by its name and its profession if the grouping
is disabled. It can be double-clicked for editing its nickname
or custom profession name. A right-click opens the context menu
and allows setting the custom profession quickly (see (3)).
- (2) Labor and Skill Table
In this table the state of the labors listed above for any profession
group or dwarf listed to the left are shown. Additionally, the skill
of single dwarfs for this profession is indicated by a small box. The
cells colorings express the following states:
||The labor is not actived for this profession or dwarf.
||The labor is active for all members of this profession.
||The labor is active for some members of this profession.
||The labor is active for this dwarf.
||The dwarf has a low skill for this labor and does not perform it.
||The dwarf has a high skill for this labor and performs it.
- (3) Right-Click Menu
The right-click menu allows to easily set a single dwarfs custom profession
name to any existing custom profession name or none. Additionally, the edit
window for this dwarf can be opened.
- (4) Load From DwarfFortress
This button makes DwarfManager reload all data from DwarfFortress and discard
any changes done.
- (5) Write To DwarfFortress
This button makes DwarfManager flush any changes done to DwarfFortress. As long
as this button is not pressed, no change will actually be visible in DF.
- (6) Refresh View
In case the view may not represent the state it should, you may press this button
to force a redraw of the table. This can be useful to make changes done by the
creature edit window visible, like nickname or custom profession name changes.
- (7) Statusbar
The statusbar contains information about the state of the application (i.e. "Ready"),
the number of modifications not yet written to DF and the process id and version
of the DwarfFortress instance Dwarf Manager is connected to.
DwarfManager is very customizable, so you can change pretty much any name or color and the
order of some things. Additionally, there is the memory layout that is required for every
DwarfFortress version in order to find the required data in memory.
- Contains memory layouts for different versions and will require tweaking if a new version
is released. It is rather extensive and contains direct addresses as well as offsets. So
as long as the data structures themselves do not change, most data can be copied from
one version to the other. The Addresses, however, will change very often.
- The TableLayout describes how the main tables look like. It contains the colors for different
parts of the tables and each column. Currently, the known colors
available in .NET and hex rgb colors (i.e. #000000) are supported. The TableLayout also
defines the content of the columns, namely the labours or skills they should indicate. By reordering
the labor columns and separator columns you can easily define your own layout.
- This file contains all labors available in DwarfFortress. A labor description contains an id,
which maps to the DwarfFortress internal id, a display name and optionally a link to a skill.
The linked skill will be used in the table to indicate the skill a dwarf has for a certain labor.
- This file contains all professions available in DwarfFortress. A profession description contains an id,
which maps to the DwarfFortress internal id, and a display name. The professions will always be
ordered by their id.
- This file contains all skills available in DwarfFortress. A skill description contains an id,
which maps to the DwarfFortress internal id, and a display name.
Version 0.7 [2009-04-02]
- Fixed crash on empty last names
- Fixed crash on empty first names
- Changed encoding of ingame-strings to IBM437 (thanks to shaja)
- Added type to labor descriptions to improve merging operations
- Added new context menu item which allows to set profession and labors
- Added DwarvenRaceIndex and checksum lookups to the memory locator
- Fixed max length of custom profession and nickname to 20 chars
- Added memory layout for 40d11
Version 0.6 [2009-01-23]
- Changed Checksum to use the PE TimeDateStamp field. This way the checksum should be independed
of the image location in memory.
Version 0.5 [2009-01-21]
- Added address correction for the case that the exe file is not loaded to the default location,
which should solve the vista problems. - Sadly, only partly, because the relocation also changes
parts of the code and thus the checksum.
- Added a 40d9 layout with the checksum I'm getting in vista.
- Added the MemoryLocator tool which should make updates to new versions easier.
This is not intended to be end-user friendly, but more of a dev-tool, as it can only handle few changes
of the overall structure.
Version 0.4 [2009-01-16]
- Added Dialog for unknown versions showing the checksum.
- Added AboutBox
Version 0.3 [2009-01-10]
- Added alternative process name "Dwarf Fortress" instead of dwarfort.
- Added MemoryLayout for 40d8 and 40d9.
- Added Base attribute to memory layouts which allows to inherit properties of another.
- Added possibility to close the creature edit form with enter (ok) or esc (cancel).
- Fixed minor bug which prevented the fishing skill level to display correctly.
Version 0.2 [2008-10-21]
- Fixed error when loading a different game in DF, while DM was already connected.
- Fixed bug that made the quick-profession-naming always give the first custom profession name.
- Added possibility to define multiple tables in table layout
- Fixed bug in 40c memory layout (i think)
- Added possibility to define SkillId in columns instead of only labour (which is then linked to a skill).
A column with skill id can not be enabled/disabled, but only shows the skill indicator.
- Fixed crash when loading another game while DM was already connected
Version 0.1 [2008-09-30]