summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO18
-rw-r--r--PKGBUILD19
-rw-r--r--dfhack.init278
-rw-r--r--dfhack.sh3
-rw-r--r--init.txt150
5 files changed, 453 insertions, 15 deletions
diff --git a/.SRCINFO b/.SRCINFO
index f14c39049a5a..d61a912225a2 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,11 +1,11 @@
pkgbase = dfhack-twbt-bin
pkgdesc = memory hacking library for Dwarf Fortress and a set of tools that use it including Text Will Be Text plugin
- pkgver = 0.44.07
+ pkgver = 0.44.09
pkgrel = 1
url = https://dfhack.readthedocs.org/
arch = x86_64
license = custom
- depends = dwarffortress=0.44.07
+ depends = dwarffortress=0.44.09
depends = lua
depends = protobuf
depends = libpng12
@@ -21,12 +21,16 @@ pkgbase = dfhack-twbt-bin
conflicts = dfhack-bin
source = dfhack.sh
source = dfhack-run.sh
- source = https://github.com/DFHack/dfhack/releases/download/0.44.07-alpha1/dfhack-0.44.07-alpha1-Linux-64-gcc-4.8.tar.bz2
- source = https://github.com/mifki/df-twbt/releases/download/v6.39/twbt-6.39-linux.zip
- md5sums = af6d938767d1f09608df67dc4c0fd1a1
+ source = dfhack.init
+ source = init.txt
+ source = https://github.com/DFHack/dfhack/releases/download/0.44.09-r1/dfhack-0.44.09-r1-Linux-64-gcc-4.8.tar.bz2
+ source = https://github.com/mifki/df-twbt/releases/download/v6.41/twbt-6.41-linux.zip
+ md5sums = e630ae2fc93c6c7b55552336da2b6c07
md5sums = 3853c6f890d3541f710f2c4833a9e696
- md5sums = 687e97c2884ff9f0a8a29729cda8d098
- md5sums = 0e58fb17a978595422803f723caefddb
+ md5sums = 6730da5fec400ece9102552e77996fcb
+ md5sums = 0eec88d45b6f25ee99deefdaea983d3b
+ md5sums = 8665f5fef2d22bfdf1530ebd3ed29aef
+ md5sums = 83ea0f9c4add22ee6bc61edd0da60ce7
pkgname = dfhack-twbt-bin
diff --git a/PKGBUILD b/PKGBUILD
index d54ca683356b..3e14519ac663 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -3,9 +3,9 @@
pkgname=dfhack-twbt-bin
_pkgname=dfhack
-pkgver=0.44.07
-_pkgver=$pkgver-alpha1
-_twbtver=6.39
+pkgver=0.44.09
+_pkgver=$pkgver-r1
+_twbtver=6.41
pkgrel=1
pkgdesc="memory hacking library for Dwarf Fortress and a set of tools that use it including Text Will Be Text plugin"
arch=('x86_64')
@@ -19,14 +19,18 @@ provides=(dfhack)
source=(
dfhack.sh
dfhack-run.sh
+ dfhack.init
+ init.txt
https://github.com/DFHack/dfhack/releases/download/$_pkgver/dfhack-$_pkgver-Linux-64-gcc-4.8.tar.bz2
https://github.com/mifki/df-twbt/releases/download/v$_twbtver/twbt-$_twbtver-linux.zip
)
-md5sums=('af6d938767d1f09608df67dc4c0fd1a1'
+md5sums=('e630ae2fc93c6c7b55552336da2b6c07'
'3853c6f890d3541f710f2c4833a9e696'
- '687e97c2884ff9f0a8a29729cda8d098'
- '0e58fb17a978595422803f723caefddb')
+ '6730da5fec400ece9102552e77996fcb'
+ '0eec88d45b6f25ee99deefdaea983d3b'
+ '8665f5fef2d22bfdf1530ebd3ed29aef'
+ '83ea0f9c4add22ee6bc61edd0da60ce7')
prepare() {
sed -e 's|setarch i386 -R ||' \
@@ -36,8 +40,9 @@ prepare() {
package() {
install -d $pkgdir/opt/dwarffortress
- cp -r $srcdir/{hack,dfhack,dfhack-run,dfhack-config,dfhack.init-example,stonesense} $pkgdir/opt/dwarffortress
+ cp -r $srcdir/{hack,dfhack,dfhack-run,dfhack-config,dfhack.init-example,stonesense,dfhack.init} $pkgdir/opt/dwarffortress
+ install -Dm755 $srcdir/init.txt $pkgdir/opt/dwarffortress/data/init/init-twbt.txt
install -Dm755 $srcdir/dfhack.sh $pkgdir/usr/bin/dfhack
install -Dm755 $srcdir/dfhack-run.sh $pkgdir/usr/bin/dfhack-run
diff --git a/dfhack.init b/dfhack.init
new file mode 100644
index 000000000000..015a758fdc9b
--- /dev/null
+++ b/dfhack.init
@@ -0,0 +1,278 @@
+##############################
+# Generic dwarfmode bindings #
+##############################
+
+# show all current key bindings
+keybinding add Ctrl-F1 hotkeys
+keybinding add Alt-F1 hotkeys
+
+# toggle the display of water level as 1-7 tiles
+keybinding add Ctrl-W twaterlvl
+
+# with cursor:
+
+# designate the whole vein for digging
+keybinding add Ctrl-V digv
+keybinding add Ctrl-Shift-V "digv x"
+
+# clean the selected tile of blood etc
+keybinding add Ctrl-C spotclean
+
+# destroy items designated for dump in the selected tile
+keybinding add Ctrl-Shift-K autodump-destroy-here
+
+# set the zone or cage under the cursor as the default
+keybinding add Alt-Shift-I@dwarfmode/Zones "zone set"
+
+# with an item selected:
+
+# destroy the selected item
+keybinding add Ctrl-K autodump-destroy-item
+
+# scripts:
+
+# quicksave, only in main dwarfmode screen and menu page
+keybinding add Ctrl-Alt-S@dwarfmode/Default quicksave
+
+# gui/rename script - rename units and buildings
+keybinding add Ctrl-Shift-N gui/rename
+keybinding add Ctrl-Shift-T "gui/rename unit-profession"
+
+# a dfhack prompt in df. Sublime text like.
+keybinding add Ctrl-Shift-P command-prompt
+
+# show information collected by dwarfmonitor
+keybinding add Alt-M@dwarfmode/Default "dwarfmonitor prefs"
+keybinding add Ctrl-F@dwarfmode/Default "dwarfmonitor stats"
+
+# export a Dwarf's preferences screen in BBCode to post to a forum
+keybinding add Ctrl-Shift-F@dwarfmode forum-dwarves
+
+# an in-game init file editor
+keybinding add Alt-S@title gui/settings-manager
+keybinding add Alt-S@dwarfmode/Default gui/settings-manager
+
+# change quantity of manager orders
+keybinding add Alt-Q@jobmanagement/Main gui/manager-quantity
+
+# view combat reports for the selected unit/corpse/spatter
+keybinding add Ctrl-Shift-R view-unit-reports
+
+##############################
+# Generic adv mode bindings #
+##############################
+
+keybinding add Ctrl-B@dungeonmode adv-bodyswap
+keybinding add Ctrl-Shift-B@dungeonmode "adv-bodyswap force"
+keybinding add Shift-O@dungeonmode gui/companion-order
+
+##############################
+# Generic legends bindings #
+##############################
+
+# export all information, or just the detailed maps (doesn't handle site maps)
+keybinding add Ctrl-A@legends "exportlegends all"
+
+#############################
+# Context-specific bindings #
+#############################
+
+# Stocks plugin
+keybinding add Ctrl-Shift-Z@dwarfmode/Default "stocks show"
+
+# open an overview window summarising some stocks (dfstatus)
+keybinding add Ctrl-Shift-I@dwarfmode/Default "gui/dfstatus"
+keybinding add Ctrl-Shift-I@dfhack/lua/dfstatus "gui/dfstatus"
+
+# q->stockpile - copy & paste stockpiles
+keybinding add Alt-P copystock
+
+# q->stockpile - load and save stockpile settings out of game
+keybinding add Alt-L@dwarfmode/QueryBuilding/Some/Stockpile "gui/stockpiles -load"
+keybinding add Alt-S@dwarfmode/QueryBuilding/Some/Stockpile "gui/stockpiles -save"
+
+# q->workshop - duplicate the selected job
+keybinding add Ctrl-D job-duplicate
+
+# materials: q->workshop; b->select items
+keybinding add Shift-A "job-material ALUNITE"
+keybinding add Shift-M "job-material MICROCLINE"
+keybinding add Shift-D "job-material DACITE"
+keybinding add Shift-R "job-material RHYOLITE"
+keybinding add Shift-I "job-material CINNABAR"
+keybinding add Shift-B "job-material COBALTITE"
+keybinding add Shift-O "job-material OBSIDIAN"
+keybinding add Shift-T "job-material ORTHOCLASE"
+keybinding add Shift-G "job-material GLASS_GREEN"
+
+# sort units and items in the on-screen list
+keybinding add Alt-Shift-N "sort-units name" "sort-items description"
+keybinding add Alt-Shift-R "sort-units arrival"
+keybinding add Alt-Shift-T "sort-units profession" "sort-items type material"
+keybinding add Alt-Shift-Q "sort-units squad_position" "sort-items quality"
+
+# browse linked mechanisms
+keybinding add Ctrl-M@dwarfmode/QueryBuilding/Some gui/mechanisms
+
+# browse rooms of same owner
+keybinding add Alt-R@dwarfmode/QueryBuilding/Some gui/room-list
+
+# interface for the liquids plugin - spawn water/magma/obsidian
+keybinding add Alt-L@dwarfmode/LookAround gui/liquids
+
+# machine power sensitive pressure plate construction
+keybinding add Ctrl-Shift-M@dwarfmode/Build/Position/Trap gui/power-meter
+
+# siege engine control
+keybinding add Alt-A@dwarfmode/QueryBuilding/Some/SiegeEngine gui/siege-engine
+
+# military weapon auto-select
+keybinding add Ctrl-W@layer_military/Equip/Customize/View gui/choose-weapons
+
+# military copy uniform
+keybinding add Ctrl-C@layer_military/Uniforms gui/clone-uniform
+
+# minecart Guide path
+keybinding add Alt-P@dwarfmode/Hauling/DefineStop/Cond/Guide gui/guide-path
+
+# workshop job details
+keybinding add Alt-A@dwarfmode/QueryBuilding/Some/Workshop/Job gui/workshop-job
+
+# workflow front-end
+keybinding add Alt-W@dwarfmode/QueryBuilding/Some/Workshop/Job gui/workflow
+keybinding add Alt-W@overallstatus "gui/workflow status"
+# equivalent to the one above when gui/extended-status is enabled
+keybinding add Alt-W@dfhack/lua/status_overlay "gui/workflow status"
+
+# autobutcher front-end
+keybinding add Shift-B@pet/List/Unit "gui/autobutcher"
+
+# assign weapon racks to squads so that they can be used
+keybinding add P@dwarfmode/QueryBuilding/Some/Weaponrack gui/assign-rack
+
+# view pathable tiles from active cursor
+keybinding add Alt-Shift-P@dwarfmode/LookAround gui/pathable
+
+############################
+# UI and game logic tweaks #
+############################
+
+# stabilize the cursor of dwarfmode when switching menus
+tweak stable-cursor
+
+# stop stacked liquid/bar/thread/cloth items from lasting forever
+# if used in reactions that use only a fraction of the dimension.
+# might be fixed by DF
+# tweak fix-dimensions
+
+# make reactions requiring containers usable in advmode - the issue is
+# that the screen asks for those reagents to be selected directly
+tweak advmode-contained
+
+# support Shift-Enter in Trade and Move Goods to Depot screens for faster
+# selection; it selects the current item or stack and scrolls down one line
+tweak fast-trade
+
+# stop the right list in military->positions from resetting to top all the time
+tweak military-stable-assign
+# in same list, color units already assigned to squads in brown & green
+tweak military-color-assigned
+
+# remove inverse dependency of squad training speed on unit list size and use more sparring
+# tweak military-training
+
+# make crafted cloth items wear out with time like in old versions (bug 6003)
+tweak craft-age-wear
+
+# stop adamantine clothing from wearing out (bug 6481)
+#tweak adamantine-cloth-wear
+
+# Add "Select all" and "Deselect all" options to farm plot menus
+tweak farm-plot-select
+
+# Add Shift-Left/Right controls to import agreement screen
+tweak import-priority-category
+
+# Fixes a crash in the work order contition material list (bug 9905).
+tweak condition-material
+
+# Adds an option to clear currently-bound hotkeys
+tweak hotkey-clear
+
+# Allows lowercase letters in embark profile names, and allows exiting the name prompt without saving
+tweak embark-profile-name
+
+# Misc. UI tweaks
+tweak block-labors # Prevents labors that can't be used from being toggled
+tweak burrow-name-cancel
+tweak cage-butcher
+tweak civ-view-agreement
+tweak eggs-fertile
+tweak fps-min
+tweak hide-priority
+tweak kitchen-prefs-empty
+tweak max-wheelbarrow
+tweak shift-8-scroll
+tweak title-start-rename
+tweak tradereq-pet-gender
+
+###########################
+# Globally acting plugins #
+###########################
+
+# Display DFHack version on title screen
+enable title-version
+
+# Dwarf Manipulator (simple in-game Dwarf Therapist replacement)
+enable manipulator
+
+# Search tool in various screens (by falconne)
+enable search
+
+# Improved build material selection interface (by falconne)
+enable automaterial
+
+# Other interface improvement tools
+enable \
+ confirm \
+ dwarfmonitor \
+ mousequery \
+ autogems \
+ automelt \
+ autotrade \
+ buildingplan \
+ resume \
+ trackstop \
+ zone \
+ stocks \
+ autochop \
+ stockpiles
+#end a line with a backslash to make it continue to the next line. The \ is deleted for the final command.
+# Multiline commands are ONLY supported for scripts like dfhack.init. You cannot do multiline command manually on the DFHack console.
+# You cannot extend a commented line.
+# You can comment out the extension of a line.
+
+# enable mouse controls and sand indicator in embark screen
+embark-tools enable sticky sand mouse
+
+###########
+# Scripts #
+###########
+
+# write extra information to the gamelog
+modtools/extra-gamelog enable
+
+# extended status screen (bedrooms page)
+enable gui/extended-status
+
+# add information to item viewscreens
+view-item-info enable
+
+# a replacement for the "load game" screen
+gui/load-screen enable
+
+# TWBT
+
+multilevel 4
+
+multilevel fogdensity 0.30 0.3 1 \ No newline at end of file
diff --git a/dfhack.sh b/dfhack.sh
index 9b8f1f768c9c..8e029e1515a4 100644
--- a/dfhack.sh
+++ b/dfhack.sh
@@ -20,12 +20,13 @@ if [[ ! -d ~/.dwarffortress/hack ]] ; then
ln -s /opt/dwarffortress/dfhack ~/.dwarffortress/dfhack
ln -s /opt/dwarffortress/dfhack-run ~/.dwarffortress/dfhack-run
ln -s /opt/dwarffortress/dfhack.init-example ~/.dwarffortress/dfhack.init-example
+ cp -r /opt/dwarffortress/dfhack.init ~/.dwarffortress/dfhack.init
cp -r /opt/dwarffortress/dfhack-config ~/.dwarffortress/dfhack-config
cp /opt/dwarffortress/data/art/shadows.png ~/.dwarffortress/data/art
cp /opt/dwarffortress/data/init/overrides.txt ~/.dwarffortress/data/init
- cp ~/.dwarffortress/dfhack.init{-example,}
+ mv ~/.dwarffortress/data/init/init-twbt.txt ~/.dwarffortress/data/init/init.txt
fi
diff --git a/init.txt b/init.txt
new file mode 100644
index 000000000000..eb07c618dbc5
--- /dev/null
+++ b/init.txt
@@ -0,0 +1,150 @@
+WARNING: Do NOT copy over the init.txt from an earlier version of DF.
+Always read the file carefully, including the comments.
+
+In general, you can copy savegames and tilesets from older DF
+versions, but you should not copy anything else. You should not, under any
+circumstances, unpack a new DF on top of an older one.
+
+
+Change this to turn sound off.
+
+[SOUND:YES]
+
+The sound volume runs from 0 (off) to 255 (full). You can set the volume from the ESC options menu as well.
+
+[VOLUME:255]
+
+Change this to skip the wonderful intro movies.
+
+[INTRO:YES]
+
+This lets you set the starting windowed/fullscreen setting. Can be YES, NO or PROMPT.
+
+[WINDOWED:YES]
+
+This is the size and font for windowed mode. Changing to the 800x600 font might make you happier.
+If set below 256x256 it specifies the grid size instead, with a minimum of 80x25.
+
+[WINDOWEDX:80]
+[WINDOWEDY:25]
+[FONT:curses_640x300.png]
+
+You may disable window resizing if you wish.
+[RESIZABLE:YES]
+
+Full screen info. The 0s below mean that the game will choose a resolution for you, but you can set it yourself as well.
+
+[FULLSCREENX:0]
+[FULLSCREENY:0]
+[FULLFONT:curses_800x600.png]
+
+If this is set to NO, tiles will be stretched to fit the screen if there is a resolution mismatch.
+If this is set to YES, the tiles will not be stretched, but rather the game view will be centralized, surrounded by black space. Tiles that are too large will always be compressed rather than running off the screen.
+
+[BLACK_SPACE:YES]
+
+Graphics info, most of it as above. Set GRAPHICS to YES to turn it all on. This will use the "raw/graphics" folder for tile information. Currently this is limited to whatever creature graphics you have downloaded. The game comes with a few pictures to demonstrate. As of March 2018, the Dwarf Fortress Wiki has custom tilesets available at http://dwarffortresswiki.org/index.php/Tileset_repository and creature graphics at http://dwarffortresswiki.org/index.php/Graphics_set_repository.
+
+[GRAPHICS:NO]
+[GRAPHICS_WINDOWEDX:0]
+[GRAPHICS_WINDOWEDY:0]
+[GRAPHICS_FONT:curses_square_16x16.png]
+[GRAPHICS_FULLSCREENX:0]
+[GRAPHICS_FULLSCREENY:0]
+[GRAPHICS_FULLFONT:curses_square_16x16.png]
+[GRAPHICS_BLACK_SPACE:YES]
+
+These settings can have a significant impact on frame rate, especially for people that have slow frame rates on the title screen. Available modes are 2D, 2DSW, 2DASYNC, STANDARD, PARTIAL:<number>, ACCUM_BUFFER, FRAME_BUFFER and VBO. The number after PARTIAL refers to how many frames it will redo a printed tile before skipping it, so you might try increasing it a bit if you have flickering when PARTIAL is set. Please note that any of these combinations might cause frame rates to drop significantly or cause unpleasant side effects like flickering.
+
+By and large, 2D should be the most reliable, while STANDARD has a good combination of speed and reliability. However, all 2D modes are normally far slower than even STANDARD, which may be the slowest OpenGL mode.
+
+On a multi-core machine none of this is very likely to matter; stick to 2D.
+
+2DASYNC may be slightly more responsive than 2D on a multi-core machine, but this has recently become doubtful due to improvements to the other modes.
+
+Linux/OS X users may also use PRINT_MODE:TEXT for primitive ncurses output.
+
+[PRINT_MODE:TWBT]
+ Mode examples:
+ PRINT_MODE:2D
+ PRINT_MODE:TEXT
+ PRINT_MODE:FRAME_BUFFER
+ PRINT_MODE:PARTIAL:0
+[SINGLE_BUFFER:NO]
+
+Switches truetype on whenever the vertical tile size is this many pixels or larger. You may also use YES/NO to force it on/off. Turning it off may provide a minor speed boost (using font small enough that it doesn't activate won't).
+
+[TRUETYPE:24]
+
+Change this to YES to keep the DF window on top of your other windows.
+
+[TOPMOST:NO]
+
+Change this to YES if you want to see an FPS counter at the top left.
+
+[FPS:NO]
+
+Use this to set the maximum frame rate during play. The movies are always capped at 100. A frame in this case is not graphical but related to the movement speed of a creature. A healthy, unencumbered dwarven peasant takes one step every 10 frames.
+
+You may set FPS_CAP to 0 to make it uncapped.
+
+[FPS_CAP:100]
+
+Use this to set the maximum graphical frame refresh rate during play.
+
+[G_FPS_CAP:50]
+
+On cards that support the OpenGL ARB_sync extension, turning this on can improve framerates in GPU overload conditions. It defaults to NO, as many cards that claim to support this will crash if asked to do so.
+
+[ARB_SYNC:NO]
+
+This sets the applications vertical synchronization behavior. Changing this to YES can impact your FPS if your G_FPS is high. ARB_SYNC is a better option, if your system supports it.
+
+[VSYNC:NO]
+
+Change this to NEAREST if you want the texture values to use the nearest pixel without averaging.
+Change this to LINEAR if you want the texture values to be averaged over the adjacent pixels.
+
+[TEXTURE_PARAM:LINEAR]
+
+Change this to make the dwarfort.exe process have a different priority. From highest to lowest, the options are REALTIME, HIGH, ABOVE_NORMAL, NORMAL, BELOW_NORMAL and IDLE.
+
+[PRIORITY:NORMAL]
+
+Use this to set how fast the game zooms. The default corresponds to
+increasing grid size by 10 units each time you zoom.
+
+[ZOOM_SPEED:10]
+
+Change this to NO if you don't want to have the mouse involved at all.
+
+[MOUSE:YES]
+
+Change this to YES if you'd like to use a BMP for the mouse cursor. The image currently lags when the game is lagging however.
+
+[MOUSE_PICTURE:NO]
+
+This controls the number of milliseconds that must pass before a held key sends an initial repeat press to the game. You might need to adjust this.
+
+[KEY_HOLD_MS:250]
+
+This controls the number of milliseconds that must pass before a held key sends a repeat press to the game after the repeat process has begun.
+
+[KEY_REPEAT_MS:150]
+
+If you set KEY_REPEAT_ACCEL_LIMIT above one, then after KEY_REPEAT_ACCEL_START repetitions the repetition delay will smoothly decrease until repetition is this number of times faster than at the start.
+
+[KEY_REPEAT_ACCEL_LIMIT:8]
+[KEY_REPEAT_ACCEL_START:10]
+
+This controls the number of milliseconds between macro instructions.
+
+[MACRO_MS:15]
+
+This controls the number of milliseconds that must pass before input works again after the view recenters on an event in dwarf mode.
+
+[RECENTER_INTERFACE_SHUTDOWN_MS:0]
+
+Change this to NO if you want to leave save uncompressed (you might want to do this if you are experience save corruption).
+
+[COMPRESSED_SAVES:YES]