Skip to content

Commit

Permalink
update intro and quickstart guide
Browse files Browse the repository at this point in the history
  • Loading branch information
myk002 committed Mar 7, 2024
1 parent 5423345 commit 0372df2
Show file tree
Hide file tree
Showing 3 changed files with 138 additions and 104 deletions.
98 changes: 54 additions & 44 deletions docs/Introduction.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,27 +7,33 @@ Introduction and overview
DFHack is a Dwarf Fortress memory access library, distributed with
a wide variety of useful scripts and plugins.

The project is currently hosted `on GitHub <https://www.github.com/DFHack/dfhack>`_,
and can be downloaded from `the releases page <https://github.com/DFHack/dfhack/releases>`_
- see `installing` for installation instructions. This is also where the
`DFHack bug tracker <https://www.github.com/DFHack/dfhack>`_ is hosted.

All new releases are announced in `the Bay12 forums thread <https://dfhack.org/bay12>`_,
which is also a good place for discussion and questions.
The project is hosted `on GitHub <https://www.github.com/DFHack/dfhack>`__,
and can be downloaded from `the releases page <https://github.com/DFHack/dfhack/releases>`__
-- see `installing` for installation instructions. This is also where the
`DFHack bug tracker <https://www.github.com/DFHack/dfhack>`__ is hosted. If you would like
to download the DFHack documentation for offline viewing, you can do so by clicking
the expansion panel in the lower right corner of our
`online documentation <https://dfhack.org/docs>`__ and selecting your desired format from
the "Downloads" section.

New releases are announced in the
`DF subreddit <https://www.reddit.com/r/dwarffortress/>`__, the
`DFHack Discord <https://dfhack.org/discord>`__, and the
`Bay12 forums thread <https://dfhack.org/bay12>`__. Discussion and questions are also
welcome in each of these venues.

For users, DFHack provides a significant suite of bugfixes and interface
enhancements by default, and more can be enabled. There are also many tools
(such as `workflow` or `autodump`) which can make life easier.
You can even add third-party scripts and plugins to do almost anything!
enhancements by default, and more features can be enabled as desired. There are
also many tools (such as `autofarm`) which automate aspects of gameplay many players
find toilsome. You can even add third-party scripts and plugins to do almost anything!

For modders, DFHack makes many things possible. Custom reactions, new
For modders, DFHack makes many things possible. Custom reactions, new
interactions, magic creature abilities, and more can be set through `tools`
and custom raws. Non-standard DFHack scripts and inits can be stored in the
raw directory, making raws or saves fully self-contained for distribution -
or for coexistence in a single DF install, even with incompatible components.
and custom raws. 3rd party DFHack scripts can be distributed `in mods <modding-guide>`
via the DF Steam Workshop or on the forums.

For developers, DFHack unites the various ways tools access DF memory and
allows easier development of new tools. As an open-source project under
allows easier development of new tools. As an open-source project under
`various open-source licenses <license>`, contributions are welcome.


Expand All @@ -37,34 +43,44 @@ allows easier development of new tools. As an open-source project under

Getting started
===============
See `installing` for details on installing DFHack.

Once DFHack is installed, it extends DF with a console that can be used to run
commands. On Windows, this console will open automatically when DF is started.
On Linux and macOS, you will need to run the ``dfhack`` script from a terminal
(instead of the ``df`` script included with DF), and that terminal will be
used by the DFHack console.

* Basic interaction with DFHack involves entering commands into the console. To
learn what commands are available, you can keep reading this documentation or
skip ahead and use the `ls` and `help` commands.

* Another way to interact with DFHack is to set in-game `keybindings <keybinding>`
for certain commands. Many of the newer and user-friendly tools are designed
to be used this way.

* Commands can also run at startup via `init files <init-files>`,
or in batches at other times with the `script` command.
See `installing` for details about installing DFHack.

* Finally, some commands are persistent once enabled, and will sit in the
background managing or changing some aspect of the game if you `enable` them.
Once DFHack is installed, it extends DF with a console that can be used to run
commands. The in-game version of this console is called `gui/launcher`, and you
can bring it up at any time by hitting the backtick (\`) key (on most keyboards
this is the same as the tilde (~) key). There are also external consoles you can
open in a separate window. On Windows, you can show this console with the `show`
command. On Linux and macOS, you will need to run the ``dfhack`` script from a
terminal, and that terminal will be used as the DFHack console.

Basic interaction with DFHack involves entering commands into the console. To
learn what commands are available, you can keep reading this documentation or
skip ahead and use the `ls` and `help` commands. The first command you should
run is likely `gui/control-panel` so you can set up which tools you would like
to enable now and which tools you want automatically started for new games.

Another way to interact with DFHack is to set in-game `keybindings <keybinding>`
to run commands in response to a hotkey. If you have specific commands that you
run frequently and that don't already have default keybindings, this can be a
better option than adding the command to the `gui/quickcmd` list.

Commands can also run at startup via `init files <init-files>`, or in batches
at other times with the `script` command.

Finally, some commands are persistent once enabled, and will sit in the
background managing or changing some aspect of the game if you `enable` them.

.. note::
In order to avoid user confusion, as a matter of policy all GUI tools
display the word :guilabel:`DFHack` on the screen somewhere while active.

When that is not appropriate because they merely add keybinding hints to
existing DF screens, they deliberately use red instead of green for the key.
existing DF screens, they surround the added text or clickable buttons in red
square brackets.

For a more thorough introduction and guide through DFHack's capabilities, please see
the `quickstart`.

.. _support:

Expand All @@ -74,26 +90,20 @@ Getting help
DFHack has several ways to get help online, including:

- The `DFHack Discord server <https://dfhack.org/discord>`__
- The ``#dfhack`` IRC channel on `Libera <https://libera.chat/>`__
- GitHub:
- for bugs, use the :issue:`issue tracker <>`
- for more open-ended questions, use the `discussion board
<https://github.com/DFHack/dfhack/discussions>`__. Note that this is a
relatively-new feature as of 2021, but maintainers should still be
notified of any discussions here.
- The `DFHack thread on the Bay 12 Forum <https://dfhack.org/bay12>`__

Some additional, but less DFHack-specific, places where questions may be answered include:

- The `/r/dwarffortress <https://dwarffortress.reddit.com>`_ questions thread on Reddit
- If you are using a starter pack, the relevant thread on the `Bay 12 Forum <http://www.bay12forums.com/smf/index.php?board=2.0>`__ -
see the :wiki:`DF Wiki <Utility:Lazy_Newb_Pack>` for a list of these threads
- The `/r/dwarffortress <https://www.reddit.com/r/dwarffortress/>`__ questions thread on Reddit

When reaching out to any support channels regarding problems with DFHack, please
remember to provide enough details for others to identify the issue. For
instance, specific error messages (copied text or screenshots) are helpful, as
well as any steps you can follow to reproduce the problem. Sometimes, log output
from ``stderr.log`` in the DF folder can point to the cause of issues as well.
well as any steps you can follow to reproduce the problem. Log output from
``stderr.log`` in the DF folder can often help point to the cause of issues.

Some common questions may also be answered in documentation, including:

Expand Down
Loading

0 comments on commit 0372df2

Please sign in to comment.