Permalink
Browse files

Updated README and COMPILE, bugfix release

  • Loading branch information...
peterix committed Apr 28, 2010
1 parent 87a2741 commit 3853a49d85f52fc68b5166eb10a3d3b689e15275
Showing with 50 additions and 157 deletions.
  1. +26 −34 COMPILE
  2. +24 −123 README
View
60 COMPILE
@@ -1,20 +1,10 @@
Here's how you build dfhack!
----------------------------
-First, there is one dependency, regardless of the OS you use:
- cmake - it's the build system
-
-
Dependencies
============
You'll need cmake and 'a' compiler for building the main lib and the various tools.
-To build the libdfconnect on Linux, you'll have to make a 32bit build.
-To build the fake SDL.dll on Windows, you'll have to use MSVC 2008 Express and make
-a Release or RelWithDebInfo build.
-
-The python bindings require SWIG and the python devel libs for building.
-
(Linux only) Veinlook requires the wide-character ncurses library (libncursesw)
Building on Linux:
@@ -86,8 +76,33 @@ MSVC generates. For example from 'output/' to 'output/Release/'
I'm afraid you are on your own. dfhack wasn't tested with any other compiler.
Try using a different cmake generator that's intended for your tools.
+Build targets
+-------------
+
+dfhack has a few build targets.
+If you're only after the library run 'make dfhack'.
+'make' will build everything.
+'make expbench' will build the expbench testing program and the library.
+
+Build types
+-----------
+
+cmake allows you to pick a build type by changing this variable: CMAKE_BUILD_TYPE
+
+cmake .. -DCMAKE_BUILD_TYPE:string=BUILD_TYPE
+
+Without specifying a build type or 'None', cmake uses the CMAKE_CXX_FLAGS
+variable for building.
+Valid an useful build types include 'Release', 'Debug' and 'RelWithDebInfo'.
+There are others, but they aren't really that useful.
+
+Have fun.
-Building the shared memory hook library (SHM)
+--------------------------------------------------------------------------------
+**Deprecated*Deprecated*Deprecated*Deprecated*Deprecated*Deprecated*Deprecated**
+--------------------------------------------------------------------------------
+
+Building the shared memory hook library (SHM)
---------------------------------------------
Unlike the rest of DFHack, The SHM needs special treatment when it comes to
@@ -142,26 +157,3 @@ String writing is best tested with a fresh throw-away fort and dfrenamer.
Embark, give one dwarf a very long name using dfrenamer and save/exit.
If DF crashes during the save sequence, your SHM is not compatible with DF and
the throw-away fort is most probably lost.
-
-
-Build targets
--------------
-
-dfhack has a few build targets.
-If you're only after the library run 'make dfhack'.
-'make' will build everything.
-'make expbench' will build the expbench testing program and the library.
-
-Build types
------------
-
-cmake allows you to pick a build type by changing this variable: CMAKE_BUILD_TYPE
-
-cmake .. -DCMAKE_BUILD_TYPE:string=BUILD_TYPE
-
-Without specifying a build type or 'None', cmake uses the CMAKE_CXX_FLAGS
-variable for building.
-Valid an useful build types include 'Release', 'Debug' and 'RelWithDebInfo'.
-There are others, but they aren't really that useful.
-
-Have fun.
View
147 README
@@ -20,20 +20,6 @@ and the arch-games repository.
The package name is dfhack-git :)
-Clarification
--------------
-
-'fake SDL.dll', 'SHM', 'libdfconnect' and 'shim library' are basically the same
-thing. A library that sits between DFHack and DF, provides some extra features,
-synchronisation and access control. You should use it for everything that writes
-data back to DF.
-
-You'll need the SHM to attach more than one tool to DF on Linux.
-The DFHack version of Dwarf Therapist requires it for writing creature names
-and professions.
-
-See 'Using DFHack Tools' for instructions on installing it.
-
Compatibility
-------------
@@ -46,17 +32,10 @@ OSX is also not supported due to lack of developers with a Mac.
Currently supported Dwarf Fortress versions:
* Windows
- 38a - 40d19_2
+ 0.31.01 - 0.31.03
* Linux
- 40d2 - 40d19
-
-Currently supported DF versions *by the SHM*:
-* Windows
- 40d15 - 40d19
-
-* Linux
- 40d9 - 40d19 (40d2 - 40d8 might work, but are untested)
+ wine together with the Windows versions
Using the library as a developer
--------------------------------
@@ -72,112 +51,34 @@ At the time of writing there's no API reference or documentation. The code does
have a lot of comments though (and getting better all the time).
-Using DFHack Tools
-------------------
-
-The project comes with a special extra library you should add to your DF
-installation. It's used to boost the transfer speed between DF and DFHack, and
-provide data consistency and synchronization. DFHack will work without the
-library, but at suboptimal speeds and the consistency of data written back
-to DF is questionable.
-
-!!! on Windows this currently only works with DF 40d15 - 40d19_2 !!!
- On Linux, it works with DF 40d9 - 40d19
-
-!!! use the pre-compiled library intended for your OS and version of DF !!!
- You can find them in the 'precompiled' folder.
-
-
- ** Installing on Windows
- - Open your DF folder, locate SDL.dll and rename it to SDLreal.dll (making
- a backup of it is a good idea)
- - Copy the right DFHack SDL.dll into your DF folder.
- - Restart DF if it is running
-
- ** Unistalling on Windows
- - Open your DF folder, locate SDL.dll and delete it
- - Rename SDLreal.dll to SDL.dll
- - Restart DF if it is running
-
-
- ** Installing on Linux
- - Open your DF folder and the libs folder within it
- - copy DFHack libdfconnect.so to the libs folder
- - copy the df-hacked script to your DF folder
- - Use this new startup script to start DF
-
- ** Replacing libdfconnect.so
- - Make sure you close DF before you replace this file! DF crashes whn you don't
- close it first!
-
- ** Uninstalling on Linux
- - Open your DF and DF/libs folders
- - Delete libdfconnect.so and the dfhacked startup script
- - Go back to using the df startup script
-
-
Tools
-----
-
All the DFHack tools are terminal programs. This might seem strange to Windows
users, but these are meant mostly as examples for developers. Still, they can
be useful and are cross-platform just like the library itself.
-If the tool writes back to DF's memory, make sure you are using the shared
-memory interface mentioned in the previous section!
-
-* catsplosion- Makes all cats pregnant and due in 100 game steps. Use with care.
-
-* magma_create - creates 7/7 magma at the DF's cursor
-
-* reveal - plain old reveal tool. It reveals all the map blocks already
- initialized by DF.
-
-* veinlook - a silly map viewer. It can mass-dig veins in a map square.
- (Linux only)
-
-* prospector - scans the map for minerals. by default it only scans only visible
- veins. You can make it show hidden things with '-a' and base rock
- and soil layers with '-b'. These can be combined ('-ab')
-
-* cleanmap - cleans mud, vomit, snow and all kinds of mess from the map.
- It will clean your irrigated farms too, so consider yourself
- warned.
-
-* incrementalsearch - incremental search utility (Linux only).
-
-* bauxite - converts all mechanisms into bauxite mechanisms.
-
-* itemdesignator - Allows mass-designating items by type and material - dump,
- forbid, melt and set on fire ;)
-* digger - allows designating tiles for digging/cutting/ramp removal
-
- A list of accepted tile classes:
- 1 = WALL
- 2 = PILLAR
- 3 = FORTIFICATION
-
- 4 = STAIR_UP
- 5 = STAIR_DOWN
- 6 = STAIR_UPDOWN
-
- 7 = RAMP
- 8 = RAMP_TOP
-
- 9 = FLOOR
- 10 = TREE_DEAD
- 11 = TREE_OK
- 12 = SAPLING_DEAD
- 13 = SAPLING_OK
- 14 = SHRUB_DEAD
- 15 = SHRUB_OK
- 16 = BOULDER
- 17 = PEBBLES
-
- Example : dfdigger -o 100,100,15 -t 9,10 -m 10
- This will start looking for trees at coords 100,100,15 and designate ten of them for cutting.
-
-
+ - dfcleanmap : Cleans all the splatter that get scattered all over the map.
+ Only exception is mud. It leaves mud alone.
+ - dfexpbench : Just a simple benchmark of the data export speed.
+ - dfliquids : A command prompt for liquid creation and manipulation
+ (the Moses effect included!)
+ Also allows painting obsidian walls directly.
+ Note:
+ Spawning and deleting liquids can F up pathing data and
+ temperatures (creating heat traps). You've been warned.
+ - dfposition : Prints the current DF window properties and cursor position.
+ - dfprospector: Lists all available minerals on the map and how much
+ of them there is.
+ - dfreveal : Reveals the whole map, waits for input and hides it again.
+ If you close the tool while it waits, the map remains revealed.
+ - dfsuspend : Test of the process suspend/resume mechanism.
+ - dfunstuck : Use if you prematurely close any of the tools and DF
+ appears to be stuck.
+ - dfvdig : Designates a whole vein for digging. Point the cursor at a vein
+ and run this thing :)
+
+ - Your tool here: Write one ;)
+
Memory offset definitions
-------------------------

0 comments on commit 3853a49

Please sign in to comment.