Is there any way to delete the obsidian blocks you create? I am using them to damn up a major river so I can construct a real damn system. I want to later remove them. I can do that with channeling but that leaves a ramp in this version which I do not want.
Not really. Sorry. dfliquids is a quick hack I made to have something that uses some of the features of the maps module... and it's far from useless
Anyway, my idea for this is to create a proper map editor eventually. I'm thinking about using libtcod as the base for such a tool and making basically a mouse painting tool with brushes and a way to copy&paste stuff around. Still in the planning stage and unlikely to change for a month or so though.
EDIT: It looks like this is actually in the COMPILE readme under the * to be installed into the system header. I'll just leave this here in case anyone else is as blind
I want to set up an OpenBox hotkey to run dfvdig for me. When I try to run the program without actually being in the output directory, I get
terminate called after throwing an instance of 'DFHack::Error::MemoryXmlParse'
what(): error 2: Failed to open file, at row 0 col 0
Aborted
Any idea how I can avoid this problem? Some way of putting the programs in /usr/games/ might help me out.
The easiest thing to do here is to wrap what you want to run using a script like this:
#!/bin/bash
cd /whatever/path/
./dfvdig
Otherwise, you could use a CMake variable for the search path of memory.xml which I added specifically for the purpose of *packaging* on linux.
It's name is MEMXML_DATA_PATH. This will make DFHack search for the offset file in a specific place first.
I never really tried to use a packaged dfhack before, even though there is a makepkg script for it in archlinux. You can find it here:
http://aur.archlinux.org/packages/dfhack-git/dfhack-git/PKGBUILD and it contains a good example on how to use this variable.
Note that this package makes use of the shared memory library and is dependent on how DF is packaged in the arch-games repository, so those three lines don't really apply:
install -Dm755 output/libdfconnect.so "$pkgdir/usr/lib/libdfconnect.so"
install -Dm755 "$srcdir/dwarffortress-hacked" "$pkgdir/usr/bin/dwarffortress-hacked"
install -Dm644 LICENSE "$pkgdir/usr/share/licenses/dfhack/LICENCE"
What you're looking for is just the CMake variable. The script way could be easier though
Archlinux packages are made with the build stage described in the MAKEPKG script essentially putting everything into a folder as if it was /. Then this folder is packed into a simple tar.gz or tar.xz archive.
cmake .. -DCMAKE_BUILD_TYPE:string=Release -DCMAKE_INSTALL_PREFIX=$pkgdir/usr -DMEMXML_DATA_PATH:path=/usr/share/dfhack|| return 1
then means, that DFhack will be installed into /usr/ and Memory.xml will be loaded from /usr/share/dfhack. Normally MEMXML_DATA_PATH is set to '.' and DFhack is treated as a 'portable' app, not installed at all.