Commit Graph

309 Commits (b6ef14bafa0f4cff96d0d2e84d57080fd4017310)

Author SHA1 Message Date
Petr Mrázek 792d272fbf Windows side of the Console rewrite 2011-07-14 04:05:27 +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 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 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 d894ef0ffa Hotkey UI for linux. 2011-07-09 11:33:58 +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 56a409d9a4 sync, some map data structures, commented out some dead code 2011-07-06 11:13:36 +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 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 b29871cb8c Fixed tick count offset, hotkey support is back from the dead (untested) 2011-06-15 06:09:24 +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 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 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 43fc15476a Added ability to set trees on fire. 2011-05-15 00:26:44 +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
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
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 03a3f29871 Fix misplaced exports 2011-04-28 05:10:37 +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 bc855b296f Merge branch 'master' of https://github.com/angavrilov/dfhack 2011-04-17 16:08:13 +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 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 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 4cfc12b52b Engravings module. 2011-04-03 00:15:47 +02:00
Petr Mrázek 837ea52c22 Fix windows/wine version information bugs related to processes without a PE header. 2011-03-31 05:39:12 +02:00
doomchild 1bf6a2ea71 generally, function signatures are supposed to match between header and implementation file... 2011-03-29 10:42:04 -05:00
doomchild 4c55f54464 spelled a couple of allocator names wrong 2011-03-29 10:41:45 -05:00
doomchild cf59b7802d added getPosition 2011-03-29 10:23:04 -05:00
doomchild e34831a354 added getters/setters for cursor/view coords, window size, and screen tiles added ReadHotkeys 2011-03-29 09:59:12 -05:00
Petr Mrázek 635e1998ee Stop DFVector from accessing VersionInfo in the constructor (slight optimization). 2011-03-25 06:40:33 +01:00
Petr Mrázek 1a1a28ee3d World module offsets for windows 31.22 2011-03-25 03:27:07 +01:00
Petr Mrázek 4c030e7cc1 Some linux 31.22 offsets, slight tweaks to Materials 2011-03-25 02:31:27 +01:00
Petr Mrázek 754647fe96 The mysterious variable is mysterious, 31.22 support, needs testing 2011-03-24 23:21:50 +01:00
Petr Mrázek ecb239f64c Merge branch 'worldmap' 2011-03-24 17:43:28 +01:00
Petr Mrázek 1f4ac33200 Clarification of some values of geology and local feature reading 2011-03-24 17:41:34 +01:00
Petr Mrázek 7c971cd8f1 World coords for dfposition 2011-03-24 06:13:21 +01:00
Petr Mrázek d0a171a350 Add a form of ReadFeature applicable to already read blocks. 2011-03-24 04:39:38 +01:00
Petr Mrázek 4090a378c1 Remove message spam, make sure the old methods act the same. 2011-03-24 04:20:34 +01:00
Petr Mrázek 64a578b204 Added cache for map features inside the Maps module along with convenience feature getter for blocks. Adamantine vein refiller tool. 2011-03-24 04:00:23 +01:00
Petr Mrázek fe92edfb4e No more generated config files. 2011-03-20 06:20:23 +01:00
Petr Mrázek 2bc7aacb79 Remove precompiled garbage, fix dfcleanmap for real 2011-03-19 20:17:04 +01:00
Petr Mrázek a7f3258018 Get rid of SHM in modules. 2011-03-18 17:58:48 +01:00
Petr Mrázek d75c940958 Kill Position module everywhere. 2011-03-18 11:45:37 +01:00
Petr Mrázek e1b80e6f33 Massive tool and wrapper fixage. 2011-03-18 11:38:37 +01:00
Petr Mrázek a6c724bfb5 Module rearrangement and doxygen documentification. API break. 2011-03-18 11:09:26 +01:00
Petr Mrázek b94ddf50d0 Eliminated silly dependency cascade within the library. Some documentation tweaks. 2011-03-18 08:53:59 +01:00
doomchild 5cbc9e5918 added Maps_ReadLocalFeatures 2011-03-14 14:59:31 -05:00
doomchild d347713860 Merge remote branch 'upstream/master' 2011-03-14 09:54:19 -05:00
doomchild c5e9f67389 added ReadVegetation implementation 2011-03-11 16:58:42 -06:00
doomchild 870be3a1e7 added tree buffer allocators
renamed a couple of allocators for consistency
2011-03-11 16:58:22 -06:00
Petr Mrázek 4e3a66fcd8 Merge branch 'master' of https://github.com/doomchild/dfhack 2011-03-11 22:38:25 +01:00
doomchild b9e8aa8952 Materials_getRaceEx finally works as expected 2011-03-11 14:10:51 -06:00
doomchild 49b7f8acb5 fixed a couple of bad return values 2011-03-11 14:10:22 -06:00
Petr Mrázek c223bb858f Added MapExtras, ported dfliquids to MapCache. Fixed vein non-ident bug in dfvdig. 2011-03-11 03:09:45 +01:00
doomchild 5bd51c2e08 updated to use the allocator callbacks correctly 2011-03-09 12:26:04 -06:00
doomchild 187a8a0578 added a function to read all the veins at once
updated vein reading functions to use the allocator callbacks correctly
2011-03-09 12:22:00 -06:00
Petr Mrázek bbbea3d023 Merge branch 'master' of https://github.com/doomchild/dfhack 2011-03-06 23:57:22 +01:00
Petr Mrázek 9e62ee6e75 Maps + Materials for 31.20. Still many broken offsets! 2011-03-06 20:27:40 +01:00
doomchild 2c9016d2f2 added checks for allocator callback being null 2011-03-03 14:17:09 -06:00
doomchild 4cf037d5d3 changed a couple of argument types to be more explicit 2011-03-03 14:15:38 -06:00
Petr Mrázek f307d2c4c3 Merge https://github.com/doomchild/dfhack 2011-03-03 17:51:27 +01:00
Petr Mrázek 6f7a8e3af5 Export fail removal - sa_feature, other minor changes 2011-03-03 17:50:17 +01:00
doomchild f4be3ef4fe updated to use t_gamemodes struct in Read/WriteGameMode calls 2011-03-03 10:18:27 -06:00
Petr Mrázek 680fe2981e Merge branch 'master' of https://github.com/tomprince/dfhack 2011-03-03 16:56:38 +01:00
Petr Mrázek 552180d430 Merge branch 'master' of https://github.com/doomchild/dfhack 2011-03-03 16:24:26 +01:00
Petr Mrázek faea954da1 Now with less endless loops. 2011-03-02 22:43:46 +01:00
Petr Mrázek 777e997da2 Make vein reading a little saner. 2011-03-02 22:36:02 +01:00
Petr Mrázek 3ff4e2c43e Get rid of 'unknown vein' spam. 2011-03-02 22:32:08 +01:00
Tom Prince a82e249205 Move definition of sa_feature to .cpp to avoid unsed variable warning.
Signed-off-by: Tom Prince <tom.prince@ualberta.net>
2011-03-01 17:29:27 -05:00
Petr Mrázek 267bc1d446 Game/Control mode improvements. Use dfposition to check them. 2011-03-01 22:18:26 +01:00
doomchild 0b77744905 added game mode reader 2011-03-01 14:38:55 -06:00
doomchild bdb0ebd8ea added grass vein and world construction readers 2011-03-01 14:38:18 -06:00
Petr Mrázek b1061d0f94 Game mode reading, removed some include paths 2011-03-01 06:59:23 +01:00
Petr Mrázek c6a402c2b8 One more vein type. No ready for use. 2011-02-27 20:43:44 +01:00
Petr Mrázek 254aec1787 Alternate way to read vegetation using a vector in map blocks. 31.19 only for now. 2011-02-27 13:59:45 +01:00
Petr Mrázek d6592502cc No need to start Buildings for reading the custom types 2011-02-25 03:13:50 +01:00
Petr Mrázek 9f5ee8a790 Many fixes, still many to go. 2011-02-18 02:51:17 +01:00
Petr Mrázek 02e6e46d5f Grass veins 2011-02-17 01:54:45 +01:00
Petr Mrázek 72fd88cff3 Windows base map offsets 2011-02-17 01:18:27 +01:00
Petr Mrázek eb1a0b6b22 A little cleanup in Context.cpp, started work on 31.19 2011-02-16 19:29:16 +01:00
Petr Mrázek ad5e207276 make veinlook work with less offsets (maybe) 2011-02-15 00:45:37 +01:00
Petr Mrázek e958b8432a More work on windos VM map method (compiles, needs testing), some MSVC 2010 nonsense warnings disabled. 2011-02-12 10:26:36 +01:00
Petr Mrázek ac91f46b6c Merged patches from Rainer Keller 2010-11-17 20:50:50 +01:00
Petr Mrázek 9ac7c1a9f2 memory.xml invalidation (untested) 2010-11-08 00:10:59 +01:00
Petr Mrázek 457b331be7 Small fixes 2010-11-03 10:45:29 +01:00
reverb 4edd33e13a Fix crash when deallocating items module 2010-10-28 17:22:56 -05:00
reverb 5e507163b8 Material fix, custom reaction items seem to work again with offset update and bars work 2010-10-27 22:30:58 -05:00
reverb df012b4bae Fixes animal bars but may need to be reworked if other item types were messed up. Also, fix shouldn't break other types. 2010-10-25 16:15:14 -05:00
unknown ba88c86670 dfitemdump appears to work. Materials still buggy (Pig Iron Bar != Mule Bar). This has been bugged since .12 or earlier 2010-10-19 05:07:07 -05:00
Petr Mrázek b3121b898d Urrgh. Seriously. 2010-10-07 01:23:35 +02:00
Petr Mrázek ec032240aa Merge branch 'master' of http://github.com/belal/dfhack 2010-09-24 19:07:38 +02:00
Petr Mrázek b95ec7a2b3 Merge branch 'master' of http://github.com/doomchild/dfhack 2010-09-24 19:07:07 +02:00
Petr Mrázek a8ae899f2e Add checks to handle missing custom workshop offsets. 2010-09-22 18:34:51 +02:00
belal 026a2eb94e Merge branch 'master' of git://github.com/peterix/dfhack into belal 2010-09-22 10:42:22 -04:00
doomchild 8ac0b653df Merge remote branch 'upstream/master' 2010-09-20 12:40:44 -05:00
doomchild 1a5bce53a7 added ReadGeology 2010-09-20 12:40:00 -05:00
belal 0f7a27d611 fix the WindowIO-windows.cpp module to work correctly with the new DF, also made it a little simpler. 2010-09-19 19:50:20 -04:00
Petr Mrázek 88934f0add Materials done 2010-09-19 06:17:48 +02:00
doomchild 9844a8f8b3 added SetPauseState wrapper 2010-09-16 13:10:13 -05:00
doomchild 78a12876d5 added ReadInventoryIdx and ReadInventoryPtr wrappers 2010-09-16 13:04:19 -05:00
Petr Mrázek 3592748a50 Bits and pieces 2010-09-16 15:09:42 +02:00
belal d2db7524a1 Keeping the current working directory addition, but reverting the current tileset and color stuff, as the tileset was just an initializer, not the actual current one, just going to have to read the init.txt file myself
Revert "Add function to get the current working directory of the DF process, as well as offsets for the relative paths of the current tileset and color file, also created a simple program to dump those three things out"

This reverts commit 040f8f7b7a.
2010-09-13 09:45:53 -04:00
belal 040f8f7b7a Add function to get the current working directory of the DF process, as well as offsets for the relative paths of the current tileset and color file, also created a simple program to dump those three things out 2010-09-12 21:38:21 -04:00
Petr Mrázek f6b137230a Fixed pause state offset in 31.12 linux version, dfreveal pauses and has improved usability. 2010-09-04 07:43:39 +02:00
Petr Mrázek 5a5745590a More Creatures rework, this time with more memset 2010-09-03 03:01:37 +02:00
Petr Mrázek dc6aa19083 Creature rework 2010-09-03 02:15:09 +02:00
Petr Mrázek f1307d9f13 Added a common exception for DFHack, made World and Position use it for feature detection. 2010-09-01 18:03:52 +02:00
thewonderidiot 988b1d8692 Added support for reading and setting the weather.
Signed-off-by: Mike Stewart <thewonderiidot@gmail.com>
2010-09-01 11:22:19 -04:00
Petr Mrázek 86aa19daa4 Fix for Creature module 2010-08-31 17:21:47 +02:00
Petr Mrázek 66c3d30bd8 Fix Gui module so Stonesense can work. 2010-08-31 12:59:48 +02:00
Petr Mrázek b9bee108e1 Sync, fixes. 2010-08-31 06:52:03 +02:00
Petr Mrázek 9bcdc78d00 name of GUI offset group was wrong in its module 2010-08-31 05:32:40 +02:00
Petr Mrázek 95abf6e605 All the modules *should* now use the new offset storage properly. Maybe, needs testing :) 2010-08-30 00:08:17 +02:00
Petr Mrázek 2dd8aed7a0 Merge branch 'master' of git://genodeen.net/adeon_dfhack
Conflicts:
	CMakeLists.txt
	library/modules/Position.cpp
2010-08-28 22:47:38 +02:00