Vector length might not be a multiple of 4 if, for example, it's a
vector of uint8_t or uint16_t. However, the actual memory allocated to
the vector should be 4 byte aligned, so test for that instead.
Get value, wall tile, boulder tile, smelting info and strand extraction
info for inorganic materials. Prospector uses this to separete out vein
materials into ores, gems and other.
Offsets provided for both Linux and Windows, but only tested on Linux.
Added command "clearvec" to plugin "vectors". Takes a list of addresses
of vectors (or pointers to vectors), and sets each vector to zero length
by setting it's end to it's start. Leaks memory, of course, but this
is just to poke at the game to see what happens when a vector's
contents disappear.
If the file ".dfhackrc" exists in the user's home directory or in the
game directory it will be sourced, so the user can set environmental
variables like LD_LIBRARY_PATH. There's also a few shell variables it
can set to alter the behavior of the dfhack script.
Since you can't do "Ctrl-Z kill -9 %1" from the console, instead just
give the "die" command to terminate the game without saving. Linux
only, since _exit() probably doesn't work on Windows.
Need to set cmake option BUILD_KILL_GAME to ON to compile this plugin.
1) Giving "-g" or "--gdb" as the first argument to the dfhack script
will launch DF under gdb.
2) "reset -I" is called after DF finishes, to return the terminal to a
sane state in case DF crashed or was killed.
This is the start of the vermin module. Right now it just gets a list
of the positions at which vermin are created (spawn points). Most
spawn points are invisible and transient, but colonies (ant hills and
such) are permanent and visible. The address of the spawn points vector
is only provided for Linux 0.31.25
The colonies plugin uses the vermin module to list the location and
species of colonies, and can either wipe them all out or turn them all
into honey bee colonies.
Copy package/linux/dfhack to the games directory; it's the same as the
normal df script, but sets LD_PRELOAD properly.
Also, CMAkeLists.txt now checks to see that the output directory is set
to the game directory, and fatally fails if it isn't.