/Dwarf-Therapist

Dwarf management tool for Dwarf Fortress

Primary LanguageC++OtherNOASSERTION

Dwarf Therapist

https://travis-ci.org/Dwarf-Therapist/Dwarf-Therapist.svg?branch=master

This is the maintained version of Splintermind's Dwarf Therapist (itself a heavily modified version of the original Dwarf Therapist).

Latest Release

The latest release is always published in the project's releases page. These releases normally contain packages for Windows and OSX.

Alternate Download (DFFD)

If the latest published releases do not contain a package, they may be found on DFFD.

Windows 32-bit

Windows 64-bit

The manual for Dwarf Therapist can be downloaded separately.

Stand-alone Manual

Building

Dwarf-Therapist requires a C++ compiler (with C++14 support), cmake (3.1.0 or newer), and Qt5 (with Widgets and QML modules).

Create a build directory, then, from it, run cmake and make:

mkdir build
cd build
cmake ..
make

Linux users can install Dwarf Therapist by running make install. The destination directory can be changed by passing the -DCMAKE_INSTALL_PREFIX=/path/to/dwarftherapist option to cmake (e.g. cmake -DCMAKE_INSTALL_PREFIX=~/.local .. for a user-local installation).

CMake options

Add -D<option name>=ON|OFF to cmake command line to enable or disable an optional feature.

BUILD_MANUAL (default: OFF)
Enables building the PDF manual using Latex.

Linux

There is currently no official package for Linux.

Running the program

On default installations of most Debian-based distributions, you'll most likely need to run Dwarf Therapist with sudo. This is due to the Yama ptrace LSM enabled by default on such distros. You can explicitly give Dwarf Therapist permission to ptrace on Debian-based distributions with:

sudo apt-get install libcap2-bin && sudo setcap cap_sys_ptrace=eip ./bin/release/DwarfTherapist

Or, you can create a script that will run Dwarf Therapist as a child of Dwarf Fortress:

#!/bin/bash
set -e
cd df_linux
./df &
cd ../dwarftherapist
exec ./bin/release/DwarfTherapist

Alternatively, you can use the dist/ptrace_cap_wrapper/dwarftherapist wrapper to automatically grant DT permissions to attach to a running DF process (edit the value of _DT_BINARY if Dwarf Therapist is not in the path).

Support

Primary support is available at the Dwarf Therapist thread at the Bay 12 Forums; if you are sure you have found a bug, file an issue at the GitHub issue tracker. Provide as much information as possible to help reproduce the issue. Most runtime bugs will require you to send a save, preferably uploaded at DFFD. You may also be requested to provide a log, which is saved in log/log.txt on Windows and OSX and output to stderr on Linux systems (use 2> log.txt to collect).

You can also join us in #dwarftherapist on Freenode.