Commit Graph

822 Commits (0b5a470a3894b1cbaaf3970e4416bd35371493d0)

Author SHA1 Message Date
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
Petr Mrázek 46c5041bea Direction flags for engravings. 2011-04-03 03:19:34 +02:00
Petr Mrázek a68702000d hexdump accepts length in bytes, hopefully fixed engravings struct 2011-04-03 02:49:03 +02:00
Petr Mrázek e18ade4ea6 Engravings are 0x28 bytes long. 2011-04-03 02:00:56 +02:00
Petr Mrázek 4cfc12b52b Engravings module. 2011-04-03 00:15:47 +02:00
Petr Mrázek 68b13d6bf0 Dreary offset work. 2011-04-02 12:35:23 +02:00
doomchild 84494e873c added readClassName 2011-04-01 14:42:03 -05:00
doomchild 3ef6893bc7 removed getPosition prototype (since the Position module doesn't exist anymore) 2011-04-01 14:41:26 -05:00
doomchild cb88d59358 uncommented C process wrappers 2011-03-31 13:56:12 -05:00
doomchild 695303d0c6 added memrange buffer callback 2011-03-31 13:54:36 -05:00
doomchild 5e67ee2970 removed unneeded memrange wrapper struct
renamed some stuff to match the C++ version
added read, write, readSTLVector, readString, getPath, getMemranges, and getPID
2011-03-31 13:47:17 -05:00
doomchild fea7d56c32 added DFProcess_C stuff to project lists (although they're commented out, since it's not done yet) 2011-03-31 09:46:34 -05:00