Petr Mrázek
873cbd8388
Make 'die' plugin a builtin, made the console interaction less confusing.
2011-07-20 20:58:19 +02:00
Matthew Cline
6631f97a6a
More info on inorganic materials
...
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.
2011-07-20 06:18:50 -07:00
Petr Mrázek
0defcc9889
Making Items a bit more sane. It's still using Accessors though.
2011-07-20 10:41:13 +02:00
zilpin
3d5169901c
minor bug fixes
2011-07-18 16:34:35 -04:00
zilpin
4eb13800cd
-WriteVein(), and some convenience functions for the vein bitmaps.
2011-07-18 15:55:41 -04:00
Petr Mrázek
00cf7bc39e
Merge branch 'dfapi' of github.com:peterix/dfhack into dfapi
2011-07-18 16:28:06 +02:00
Petr Mrázek
84f74bc091
Added plugin loading/unloading/reloading. Many locks. Too many damn locks.
2011-07-18 16:22:49 +02:00
Petr Mrázek
e021199178
Merge pull request #106 from matthew-cline/TOPIC-folder
...
Get game's current world save folder
2011-07-17 02:26:06 -07:00
Petr Mrázek
fdb5397a1d
Safer console shutdown.
2011-07-17 11:06:45 +02:00
Matthew Cline
a923d19f76
Get game's current world save folder
...
Use World::ReadWorldFolder() to get "region1" (or whatever it currently
is). Only have offset for Linux.
2011-07-16 16:00:50 -07:00
Petr Mrázek
9f822af45a
Process: added a method for getting the main module base (windows). Returns 0 on linux.
2011-07-16 23:00:28 +02:00
Petr Mrázek
d6d108dd34
Qt plugin fixes for windows, renamed interface to df_interface in Gui.
2011-07-16 18:10:08 +02:00
Petr Mrázek
9025066a2b
Added SDLreal.dll on windows.
2011-07-16 10:32:18 +02:00
Petr Mrázek
0d1dd5aead
Extended escape sequences are 4 bytes, not 5.
2011-07-16 10:31:49 +02:00
Petr Mrázek
003ad63c56
Disabled ctrl+c on windows (null signal handler). Some small fixes.
2011-07-16 08:00:13 +02:00
Petr Mrázek
fd418cd2dc
cmake cleanup in library/
2011-07-16 07:59:36 +02:00
Petr Mrázek
9eea07fb66
The console is now awesome when you use C++ streams too.
2011-07-16 00:15:20 +02:00
Petr Mrázek
b85f196dc4
The console is now awesome on Windows too.
2011-07-15 19:58:17 +02:00
Petr Mrázek
459d48d75a
Made the linux console super awesome. The dfhack script won't LD_PRELOAD dfhack for gdb.
2011-07-15 15:55:01 +02:00
Petr Mrázek
0af631aaa3
And nuke the rest of linenoise...
2011-07-14 12:28:41 +02:00
Petr Mrázek
3ecf244e67
Nuke linenoise. Now it's integrated in Console.
2011-07-14 12:21:07 +02:00
Petr Mrázek
d21b196766
Error printing call for Console, the NYAN CAT!
2011-07-14 11:15:23 +02:00
Petr Mrázek
f2b46274ec
Fix for a bug in command history queue access. dfhack script can run valgrind.
2011-07-14 08:02:29 +02:00
zilpin
de24b01a69
-fix pillar tile types to be TILE_SMOOTH instead of TILE_NORMAL.
...
-Added working (though clumsy) draw tile tool.
-Began lumberjack and veinswap tools.
2011-07-13 23:44:37 -04:00
Petr Mrázek
96153a7b05
Merge branch 'dfapi' of github.com:peterix/dfhack into dfapi
2011-07-14 04:06:12 +02:00
Petr Mrázek
792d272fbf
Windows side of the Console rewrite
2011-07-14 04:05:27 +02:00
Petr Mrázek
a40153a8e1
Merge pull request #98 from matthew-cline/TOPIC-vermin
...
Vermin module and colonies plugin
2011-07-13 04:24:38 -07:00
Petr Mrázek
630b746cfe
Integrate linenoise into Console - Linux part
2011-07-13 11:45:30 +02:00
Matthew Cline
d1170d54c3
Vermin module and colonies plugin
...
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.
2011-07-12 23:17:51 -07:00
Matthew Cline
a30a4a2720
CMake linux: copy LD_PRELOAD script
...
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.
2011-07-12 17:25:27 -07:00
Petr Mrázek
b5a6087da5
Forgot to commit a file.
2011-07-12 23:27:09 +02:00
Petr Mrázek
3a67a4d3c7
Added linenoise library to allow line editing in the terminal.
2011-07-12 12:13:14 +02:00
Petr Mrázek
aeeece5c5f
Made kittens plugin optional, and disabled by default.
2011-07-12 00:07:59 +02:00
Petr Mrázek
fa4d2d9b2e
Removed some silly data races from using cerr...
2011-07-11 23:07:42 +02:00
Petr Mrázek
4015586d89
Eliminated the core suspend latency, possibly added a heap of race conditions. Added vdig.
2011-07-11 22:23:13 +02:00
Matthew Cline
5c1526d6d9
creatures: read and write pregnancy counter
...
Also change creaturemanger to print out the ticks-until-birth for
pregnant creatures.
2011-07-11 02:48:10 -07:00
Matthew Cline
5da4eb3344
readSTLString() new/free mismatch fix
...
valgrind caught a problem where memory was allocated with "new[]" but
freed with "delete"; changed it to free with "delete[]".
2011-07-11 02:06:38 -07:00
Petr Mrázek
3850954449
Hotkey input works on windows/under wine. Added skeleton for the veindigger plugin.
2011-07-10 21:07:14 +02:00
Matthew Cline
cb9c9aae7c
Deal with third flag group in creatures
...
Added support for reading and writing the third creature flag group,
t_creaturflags3 (the offest already exists in Memory.xml). So far I've
only figured out three of the flags (out of an apparent 13):
1) announce_titan, which causes the creature to be announced as if
it was a titan or FB which had just arrived.
2) scuttle, which causes the creature to be die like it had been
killed in the game. That is, it leaves behind a corpse, and
will generate unhappy thoughts in dwarves if approriate.
3) ghostly, for creatures which are the ghosts of dead dwarves.
I updated creaturemanager to use scuttle for --kill, and added the
action --erase to kill in the old way which doesn't leave a corpse or
creatre unhappy thoughts.
2011-07-10 04:00:52 -07:00
Petr Mrázek
07c11c704d
Fix Windows build (untested, expect explosions).
2011-07-09 16:05:40 +02:00
Petr Mrázek
d894ef0ffa
Hotkey UI for linux.
2011-07-09 11:33:58 +02:00
Petr Mrázek
65d7278f53
Added a bunch of butchered SDL headers, catching SDL events on linux.
2011-07-08 03:55:37 +02:00
Petr Mrázek
367d79bcfa
Weather plugin to mirror the weather tool.
2011-07-07 10:57:57 +02:00
Petr Mrázek
8b298f8d91
More maps tweaks, function for block event removal, added cleanmap version that nukes spatter objects instead of rewriting their
...
bitmaps.
2011-07-07 09:49:58 +02:00
Petr Mrázek
4ff5db06be
Maps no longer copy the map block pointer array, blocks are structs, map data is public.
2011-07-07 07:00:36 +02:00
Petr Mrázek
74ab0f94aa
Added std namespace use for stl types in MapExtras.h
2011-07-06 12:26:18 +02:00
Petr Mrázek
56a409d9a4
sync, some map data structures, commented out some dead code
2011-07-06 11:13:36 +02:00
Petr Mrázek
b1d4163095
Fixed prospector, added the command list back, removed the plugin init console spam.
2011-06-27 04:49:56 +02:00
Petr Mrázek
00ddb45dbd
Added optional plugin_onupdate function, called each Core update.
2011-06-27 02:13:01 +02:00
Petr Mrázek
722531f590
Added destructor code for PluginManager, console color reset funstion.
2011-06-25 08:05:17 +02:00
Petr Mrázek
6fd7d42f00
Plugin manager, reworked kittens and reveal.
2011-06-25 05:35:29 +02:00
Petr Mrázek
0bb097296a
Prospector prints text again. Plugin lookup is better (ignores more non-library files)
2011-06-24 02:48:56 +02:00
Petr Mrázek
857decbcce
Plugins go into a folder, disabled console close button on windows because of bugs.
2011-06-22 18:04:22 +02:00
Petr Mrázek
8f27966540
Console revamp - windows part
2011-06-22 14:25:39 +02:00
Petr Mrázek
f8cdd95b09
Console revamp - linux part.
2011-06-22 08:14:21 +02:00
Petr Mrázek
c6dc4900d2
Very basic plugin system.
2011-06-20 04:29:38 +02:00
Petr Mrázek
ffd2ca3281
License updates done, removed argstream.
2011-06-20 01:17:49 +02:00
Petr Mrázek
f2b91d3269
Making ready for adding plugins. Fixes all over the place, more removal of obsolete parts.
2011-06-20 01:12:07 +02:00
Petr Mrázek
e0fb8f7c81
Crud removal: Context is gone. Added missing FakeSDL.h
2011-06-17 15:02:43 +02:00
Petr Mrázek
4da11927af
Kittens, now for real. Also a lightweight curses relacement. Use it, love it.
2011-06-17 02:09:03 +02:00
Petr Mrázek
93be1eb1fb
Yay, kittens! Also some license cleanup, IO thread usage, more SDL wrapping and ability to run reveal from DFHack console.
2011-06-16 23:53:39 +02:00
Petr Mrázek
7136ac7aa4
Get rid of the stdint.h garbage and use the real header.
2011-06-15 17:35:47 +02:00
Petr Mrázek
b29871cb8c
Fixed tick count offset, hotkey support is back from the dead (untested)
2011-06-15 06:09:24 +02:00
Petr Mrázek
71d46d533f
Some windows console refinement.
2011-06-14 16:49:53 +02:00
Petr Mrázek
22b79bb46e
Now works on Windows again, some more cleanups, added a singleton Core object for holding all the globals.
2011-06-14 16:13:28 +02:00
Petr Mrázek
0a428b509e
Vegetation module becomes rather skeletal.
2011-06-13 21:11:02 +02:00
Petr Mrázek
511f459182
Stripped nonsense from the DFHack vector wrapper. Next step: removal.
2011-06-13 01:14:10 +02:00
Petr Mrázek
81d648dfa7
First 'working' DFHack inside DF, for 'some' values of 'working'.
2011-06-12 23:17:40 +02:00
Petr Mrázek
da2fb1cb1a
Fix creature owned items vector offset on Windows, added support for owned items to more versions.
2011-05-28 10:18:50 +02:00
Petr Mrázek
6e00dc4c8e
Update version numbers, readme file. Adding a lot of batch scripts for the windows versions of new tools.
2011-05-27 08:20:52 +02:00
Petr Mrázek
07bb0408c1
Fix memory.xml and pdcurses.dll copy problems for good.
2011-05-26 12:33:38 +02:00
Petr Mrázek
a459ee8137
Added 'glowing barrier' to the known tile types.
2011-05-26 05:51:04 +02:00
Petr Mrázek
0661248d1f
Cleanmap filters on matter state. Anything non-solid is removed (including mud and water). Solid mud and snow stay.
2011-05-26 02:14:42 +02:00
Petr Mrázek
6d32802dd4
Vegetation update order is a 16bit integer!
2011-05-26 02:13:29 +02:00
Petr Mrázek
608b0f9f56
Better document Items module
2011-05-26 02:10:23 +02:00
Petr Mrázek
e7d9bc6f91
matter states for tile coverings, pig iron watch in dfstatus
2011-05-25 05:13:24 +02:00
Petr Mrázek
d2e01ec579
Fix many warnings from MSVC builds.
2011-05-23 21:30:51 +02:00
Petr Mrázek
040b5be290
Reformat stopwatch.h for readability
2011-05-23 04:19:17 +02:00
Petr Mrázek
c6b749e7e5
Small tweak to process enumeration on Windows.
2011-05-23 03:24:16 +02:00
Petr Mrázek
e5e0391d76
stop dfstatus from wasting time. added 'stopwatch.h' to extras for getting accurate unix time in milliseconds
2011-05-21 21:54:53 +02:00
Petr Mrázek
bb99924b24
Curses support across platforms!
2011-05-21 20:32:53 +02:00
Petr Mrázek
909cd8b60b
Move termutil to a globally accessible area.
2011-05-17 08:36:38 +02:00
Petr Mrázek
61dea59e29
Fix a big heap of warnings.
2011-05-15 22:24:40 +02:00
Petr Mrázek
515f4952a9
Merge https://github.com/angavrilov/dfhack
...
Conflicts:
library/include/dfhack/DFProcess.h
2011-05-15 21:50:20 +02:00
Petr Mrázek
fe6eb4b70a
Fix for MSVC build, added prototype cmd.exe detection on windows.
2011-05-15 05:19:51 +02:00
Petr Mrázek
4d3f4c2c23
Unknown 3 was update order.
2011-05-15 02:21:24 +02:00
Petr Mrázek
d9e9fae7a0
Unknown 1 was the grow counter. Added the immolate and grow tools.
2011-05-15 01:53:43 +02:00
Petr Mrázek
43fc15476a
Added ability to set trees on fire.
2011-05-15 00:26:44 +02:00
Petr Mrázek
b65c4ed55b
New vegetation variables, fixed vegetation vector for 31.25 linux
2011-05-14 15:51:11 +02:00
Petr Mrázek
7dbb41cc66
Add method for writing block/map feature indexes
2011-05-13 05:00:29 +02:00
Alexander Gavrilov
a7be2aee33
Support actually removing owner links between items and creatures.
2011-05-12 21:10:29 +04:00
Alexander Gavrilov
c7f4f8c281
Support printing refs in dfitemdump, and add methods for containers.
2011-05-12 21:10:29 +04:00
Alexander Gavrilov
77dda6faea
Support overwriting and removing values in STL vectors.
2011-05-12 21:10:20 +04:00
Petr Mrázek
4631ec2e0d
Item quantity support for 31.25
2011-05-11 23:53:16 +02:00
Alexander Gavrilov
ed1477b53d
Support listing items owned by a creature.
2011-05-09 14:49:44 +04:00
Alexander Gavrilov
14f291d539
Support reading the item ID field, which is used for cross-referencing.
2011-05-09 14:04:39 +04:00
Alexander Gavrilov
e993bbcb67
Implement class name caching and optimized equality check.
2011-05-09 13:48:54 +04:00
Alexander Gavrilov
3935293986
Attach and suspend all threads on linux.
2011-05-09 13:17:35 +04:00
Petr Mrázek
abc473db5d
Implemented thread enumeration on linux.
2011-05-09 01:55:02 +02:00
Petr Mrázek
6dc80d393f
Remove silly debug output
2011-05-08 03:36:26 +02:00
Petr Mrázek
96bfec5402
The mood offset on linux was OK. General fixage of things.
2011-05-08 03:21:34 +02:00
Petr Mrázek
8c4916958e
A fixme in Maps: replace feature reading with accessors
2011-05-07 20:23:31 +02:00
Petr Mrázek
8b2ab8de68
Ending the map feature failtrain.
2011-05-07 09:07:28 +02:00
Petr Mrázek
97af676bdb
Fix color variable naming in t_descriptor_color
2011-05-07 03:48:41 +02:00
Petr Mrázek
fc0f6f1e48
Minor rearrangement with no impact
2011-05-07 03:44:10 +02:00
Petr Mrázek
7ad83c80b8
added modified getopt (c++-ized) with BSD license, vegetation flags clarified, prospector lists trees and plants separately,
...
prospector pretty-prints
2011-05-02 05:03:48 +02:00
Petr Mrázek
3318487ad9
Untested item deletion mode for the autodump tool.
2011-04-30 04:48:28 +02:00
Petr Mrázek
456a979244
Fun with tiletypes. Expect explosions.
2011-04-28 23:00:52 +02:00
Petr Mrázek
03a3f29871
Fix misplaced exports
2011-04-28 05:10:37 +02:00
Petr Mrázek
6e38ce71df
Item flag garbage_collect.
2011-04-28 01:41:59 +02:00
Petr Mrázek
923c8cae9c
Occupancy support in MapCache. Added the item dumper tool mentioned on irc (autodump).
2011-04-28 01:36:31 +02:00
Petr Mrázek
21ddc2c461
Fix build on Windows.
2011-04-24 03:00:23 +02:00
Petr Mrázek
f481ee7b5d
Add missing stddef.h include in Creatures module.
2011-04-24 02:49:49 +02:00
Petr Mrázek
b2a47cf99c
Fix STLstring writing for plain linux process.
2011-04-20 21:32:49 +02:00
Petr Mrázek
66bb9d448c
Big messy commit...
2011-04-20 01:28:47 +02:00
Petr Mrázek
bc855b296f
Merge branch 'master' of https://github.com/angavrilov/dfhack
2011-04-17 16:08:13 +02:00
Petr Mrázek
cf3534bc42
Fix silly typo.
2011-04-17 13:13:23 +02:00
Petr Mrázek
67ea981dc3
Big ugly deuglyfication of DFTileTypes and its use in the tools.
2011-04-17 13:06:19 +02:00
Petr Mrázek
e255a2cba6
Rename single character member variables from DFTileTypes to something sensible.
2011-04-17 11:37:36 +02:00
Petr Mrázek
6e607d45d9
Fixed mingw32 build.
2011-04-17 01:48:58 +02:00
Petr Mrázek
b0cb59a3f2
The item designator tool lives again.
2011-04-16 23:57:04 +02:00
Petr Mrázek
89169053ff
Item support for windows 31.25
2011-04-16 21:02:20 +02:00
Alexander Gavrilov
56b29cf12e
Merge remote-tracking branch 'origin/master'
2011-04-15 10:58:09 +04:00
Petr Mrázek
34128c2f6d
Item Accessor method pointer was used incorrectly.
2011-04-14 15:16:12 +02:00
Petr Mrázek
1a8c27ce01
Fix accessor mess I made. Added Accessor description dump to the dfitemdump tool and Items module.
2011-04-14 01:42:03 +02:00
Alexander Gavrilov
ebc4d21e66
Improve name structure handling, and support duplicating them (on linux).
...
The name structure actually contains additional linguistical data,
ignoring which produces wrong renderings for non-dwarfish names.
This data also obviously has to be copied with the structure.
Copying STL strings works by replicating the shared copy logic
(i.e. incrementing the reference counter), but leaks memory owned
by the string being overwritten.
2011-04-13 20:36:10 +04:00
Petr Mrázek
f5911a14a6
Some const correctness, re-enabled job printing in the creature dump tool.
2011-04-12 13:59:07 +02:00
Petr Mrázek
212500ee00
Big Items refactor, made all the Accessor offsets optional.
2011-04-11 22:13:06 +02:00
Petr Mrázek
77f0885d9e
Merge https://github.com/angavrilov/dfhack into items
2011-04-11 12:48:28 +02:00
Alexander Gavrilov
2e0ec2db72
Support retrieving the item owner reference.
...
Reference is done by item id, and stored in some kind
of generic reference vector in the item structure.
2011-04-11 14:32:53 +04:00
Alexander Gavrilov
fbf76440b5
Try to handle signed and unsigned 16-bit accessors.
...
Not sure whether it makes much sense, seeing as some
accessors (e.g. wear) actually return 32-bit values,
assuming that the caller would correctly sign-extend
the lower half and discard the upper.
2011-04-10 22:44:01 +04:00
Alexander Gavrilov
f6ae41fe49
Provide access to item header, including flags, and wear information.
...
Add preliminary offsets for the item data to Memory.xml
2011-04-10 22:42:25 +04:00
Alexander Gavrilov
e3897b0f93
Improve the accessor instruction parser.
...
Instead of hard-coding complete machine code patterns, try
to really parse a certain subset of MOV instructions.
2011-04-10 21:51:21 +04:00
Petr Mrázek
b0b76f6d7c
Tool for resetting hidden tile status after botched reveals.
2011-04-10 18:41:49 +02:00
Petr Mrázek
b630e93c5a
Added base layer material support to map cache, material display to dfprobe.
2011-04-10 17:01:58 +02:00
Petr Mrázek
7876a42258
The C test tool doesn't compile as a plain C program!
2011-04-10 15:36:01 +02:00
Alexander Gavrilov
cfc1dad4b6
Fix the item flag bitfield & set the item vector ptr.
2011-04-10 16:55:22 +04:00
Petr Mrázek
1d35044db3
Started removing C++-isms from C wrapper. Removed DFGlobal.h
2011-04-10 13:12:28 +02:00
Petr Mrázek
c1deee768e
Add missing files, wix build on windows.
2011-04-10 11:03:24 +02:00
Petr Mrázek
d4e2850768
Make C-wrapper compile times less ridiculous.
2011-04-10 10:50:32 +02:00
Petr Mrázek
bb04aa1a32
Linux header cleanups. Windows side will follow.
2011-04-10 10:19:15 +02:00
Petr Mrázek
425971ef8c
Linux fixes/creature vector addresses. Needs more testing.
2011-04-10 09:21:32 +02:00
Petr Mrázek
696ca5ccb9
Merge branch 'master' of https://github.com/angavrilov/dfhack
2011-04-10 06:17:55 +02:00
Petr Mrázek
4547c8c0aa
Use MapExtras more.
2011-04-10 06:17:11 +02:00
Alexander Gavrilov
b5d086ac02
Fix memory access on 32-bit linux.
...
The reason for random read failures is that these defines
are only effective if they are placed before any system
headers, especially sys/types.h; in the old version they
didn't work, and pread was expecting a signed 32-bit offset.
2011-04-09 22:54:45 +04:00
Petr Mrázek
5465890b34
Added more direction flags to engravings.
2011-04-04 11:57:09 +02:00
Petr Mrázek
c0cdf8d827
Linux 31.22 support.
2011-04-04 03:49:29 +02:00
Petr Mrázek
7b1f3ce72b
Job ID is a Word, not DWord.
2011-04-03 21:43:16 +02:00
Petr Mrázek
8b8c70b5ff
Big creature jobs read/write fix (it was cmpletely broken)
2011-04-03 21:27:47 +02:00
Petr Mrázek
fcc23149db
Engravings: 3 byte padding after the display character.
2011-04-03 03:25:12 +02:00