Commit Graph

634 Commits (3e91d34ab375a03adf53465a9d80b8a4bb0f99b6)

Author SHA1 Message Date
Petr Mrázek 2682c54fce Fix horrible errors and make MSVC shut upt about non-issues. 2012-03-01 01:29:55 +01:00
Mike Stewart 14b471a459 Add ability menu/area map width reading and writing to the Gui module, and use the new information in follow to properly center the screen regardless of menu configuration. Also general fixing and cleanup in follow. 2012-02-21 23:30:44 -08:00
Alexander Gavrilov 02e486be88 Support the new unitlist screen; it's same as joblist, but with pages. 2012-02-20 17:53:39 +04:00
Petr Mrázek 80cedd2ff8 Fix header includes, update structures. 2012-02-20 11:42:40 +01:00
Petr Mrázek 33f77c8837 Merge https://github.com/quietust/dfhack 2012-02-19 20:28:08 +01:00
Petr Mrázek 252895708f Fixage. 2012-02-19 20:27:44 +01:00
Quietust d394dc406b Update t_building, change subtype into a union of all possible subtypes (depending on type) 2012-02-18 11:34:52 -06:00
Petr Mrázek 1bf5080828 Fixage. Runs with 34.01 2012-02-15 21:35:44 +01:00
Alexander Gavrilov c04a140713 Add a new DfArray class to match generated headers.
Also, add working assignment and copy constructor to BitArray, and
change the unsafe conversion to int from an operator to a method.
2012-02-12 16:44:35 +04:00
Petr Mrázek 8527547cbe Merge branch 'master' into purge
Conflicts:
	library/DataDefs.cpp
2012-02-11 18:48:17 +01:00
Quietust 952f621ee2 Synchronize with df-structures 2012-02-08 22:35:22 -06:00
Petr Mrázek 8f680dcf94 Make it build and run on linux (no stonesense, df2mc, dfusion) 2012-02-09 03:07:26 +01:00
Quietust 0d11d1b79c Synch with structures changes 2012-02-07 15:37:21 -06:00
Quietust 9afcea3deb In all loops that iterate across a vector, use a size_t as the index 2012-01-31 10:55:38 -06:00
Quietust a82f4c9138 Cleanup code to get rid of MSVC warning C4482 2012-01-31 10:17:27 -06:00
Quietust 8a4740c479 Make all "origin" fields strongly typed, and fix building.origin to actually be meaningful 2012-01-28 14:12:41 -06:00
Quietust 69b8f168cc Improve Translation::isValid() - make sure world exists 2012-01-27 22:01:59 -06:00
Quietust 34f9d98d45 Simplify TranslateName a bit using a helper function 2012-01-27 21:46:52 -06:00
Quietust 116e5d60be Update Translation::TranslateName to include the first name, plus have it follow the init setting for nickname display (in Dwarf mode) 2012-01-27 21:36:01 -06:00
Quietust ccad6efeb8 Remove UTF-8 BOMs 2012-01-27 09:47:14 -06:00
Quietust 5521459fc1 "unknown1" was renamed to "body_info" 2012-01-27 09:41:51 -06:00
Petr Mrázek 1d7ed14442 Merge https://github.com/quietust/dfhack
Re-add some get* forms of module calls.

Conflicts:
	plugins/mapexport/mapexport.cpp
2012-01-27 06:27:57 +01:00
Petr Mrázek d5d4875532 Make things work properly. 2012-01-27 05:54:26 +01:00
Quietust be892beba9 Update materials module to match XML changes 2012-01-26 21:32:47 -06:00
Quietust fe34e07d2b Re-add the ability to request simplified copies of Constructions, Engravings, and Plants; also fix the "isValid" checks for those modules to actually be meaningful 2012-01-26 20:29:59 -06:00
Quietust 3c60b43a38 Fix "origin" field on mapblock40d to actually be correct 2012-01-25 07:57:11 -06:00
Quietust 902e0c4d90 Strip out old offsets from Gui module and use df::global vars where available 2012-01-24 22:18:21 -06:00
Quietust 9a683ffda4 Switch some World module stuff to read out of appropriate df::global vars, and fix setPauseState to only write a byte instead of a dword 2012-01-24 21:51:17 -06:00
Quietust 26730dc6c2 Kill the Constructions module 2012-01-24 16:11:48 -06:00
Quietust 8861e93848 Kill the Vegetation module, replacing it with the same 3 simple methods used in Engravings 2012-01-24 12:02:12 -06:00
Quietust 6d1af090c5 Tweak Engravings.h 2012-01-24 11:57:47 -06:00
Quietust f8ce959402 Kill the Engravings module 2012-01-24 11:53:49 -06:00
Quietust cc7c7795a1 Kill the Units module, and add another pair of methods to the Items module to simplify some things 2012-01-24 11:32:34 -06:00
Quietust a3904b99dd Remove bad assert from Translation, as well as <cassert> from other modules that don't use it 2012-01-24 10:57:25 -06:00
Quietust 466bf89578 Goodbye, Translation module 2012-01-24 10:54:12 -06:00
Alexander Gavrilov 174d9d0739 Tweak showmood, add a few validity checks, commit a dfhack.init example. 2012-01-24 15:36:30 +04:00
Quietust 6adadb396e df::tool_uses is now implicitly int16_t, so no more enum_field<> here 2012-01-23 19:40:02 -06:00
Quietust 7f23c322a2 Cleanup 2012-01-21 19:24:58 -06:00
Quietust ccf22bed10 Replace df_plant with df::plant - this leaves the Vegetation module a bit empty, but I'll leave it in case we decide to add something new there 2012-01-21 17:54:57 -06:00
Quietust d2c78646ea t_creaturecaste shouldn't be using t_attrib, because those AREN'T actual attribute values, just the PHYS/MENT_ATT_RANGE values from the raws 2012-01-21 13:24:38 -06:00
Quietust 7b2835e2a9 Get rid of df_name 2012-01-21 13:12:40 -06:00
Quietust 8052305c2e Cleanup the Units module 2012-01-21 13:03:39 -06:00
Quietust 118e5c6617 Major cleanup of Materials modul, precursor to eventually nuking it 2012-01-21 10:12:26 -06:00
Alexander Gavrilov 2449b80010 Update to match the data definitions. 2012-01-21 17:18:53 +04:00
Quietust 1b419313f4 Merge https://github.com/angavrilov/dfhack 2012-01-20 10:40:25 -06:00
Alexander Gavrilov 80292bd49e Update Maps to match the new geo_biome definitions. 2012-01-20 20:27:39 +04:00
Quietust 67f60a07bd Fix crash bug in dfprobe 2012-01-20 08:30:09 -06:00
Alexander Gavrilov cc510a2c4b Replace DFCoord with df::coord and df::coord2d. 2012-01-20 14:28:00 +04:00
Quietust c0a0702882 Improve error handling within Maps module - only throw exceptions if there's no meaningful return type 2012-01-19 22:11:43 -06:00
Quietust e7ecda1434 Kill the Maps module 2012-01-19 21:44:17 -06:00
Quietust e7dcd4c66a Fix stupid typo 2012-01-19 14:57:55 -06:00
Quietust 4bb724cd6c Significant cleanup of Maps module - next step will be to kill it properly 2012-01-19 14:11:52 -06:00
Alexander Gavrilov 7db467a740 Update code to accomodate the new coord/coord2d/coord_path structs.
Also replicate the methods of DFCoord.
2012-01-19 14:30:22 +04:00
Quietust 35ad84c58a angavrilov changed general_ref_type to be all uppercase 2012-01-18 08:26:08 -06:00
Quietust fd653a0227 Kill the Items module 2012-01-16 22:12:58 -06:00
Quietust 9d8c67b710 Kill the Kitchen module (which was never really a proper module to begin with) 2012-01-16 21:22:42 -06:00
Quietust 7c5835d318 t_itemref -> df::general_ref 2012-01-16 20:40:29 -06:00
Quietust 64b55acf37 df_item -> df::item, t_itemflags -> df::item_flags 2012-01-16 20:16:16 -06:00
Quietust e82055986e Only use #include <> for system libraries - for everything else, use "" 2012-01-15 14:54:14 -06:00
Petr Mrázek d972b07d57 Merge https://github.com/quietust/dfhack
Conflicts:
	plugins/autodump.cpp
	plugins/cleaners.cpp
2012-01-15 19:51:34 +01:00
Alexander Gavrilov bcb51d8ff7 Use the announcement API to report starting and stopping workflow jobs. 2012-01-15 15:39:20 +04:00
Alexander Gavrilov 0f56611edc Support showing announcements, as suggested by Q. 2012-01-15 15:19:20 +04:00
Alexander Gavrilov a31542862a Add utility functions to retrieve the selected job/unit/item.
Units can be selected via 'u', 'j', 'v' and 'k'; full-screen
unit details view not supported.

Items can be selected via 't', 'k', 'v'->inventory.

Also, when viewing a container item full-screen, the selected
contained item or unit is returned; never the container itself.

The api is used in rename to allow setting nicknames for
arbitrary units, including animals and enemies.
2012-01-14 19:31:43 +04:00
Quietust 555183cb25 Remove unreferenced variables 2012-01-11 10:57:05 -06:00
Quietust 6d2ce7b8a9 Add default return value to MaterialInfo::matches 2012-01-11 10:50:38 -06:00
Alexander Gavrilov 9a86087db5 Add timeouts when a job is cancelled, and color the command output. 2012-01-11 20:04:04 +04:00
Alexander Gavrilov 7f5aa4de62 Support the most important job types in workflow. 2012-01-10 17:23:37 +04:00
Petr Mrázek 571498ea21 Vermin tweaks. 2012-01-10 00:45:43 +01:00
Alexander Gavrilov 50386f66a3 Update structures and implement modifying the job_item item type. 2012-01-09 16:20:17 +04:00
Alexander Gavrilov ea790f1346 Move a few functions into the core, and add some more. 2012-01-08 20:02:12 +04:00
Alexander Gavrilov 64a9a49ec0 Merge remote-tracking branch 'origin/master' 2012-01-08 16:19:58 +04:00
Petr Mrázek 8a46386502 Dissolve vermin module. 2012-01-08 06:59:52 +01:00
Petr Mrázek 72016d9188 Buildings aren't a module anymore, fix probe segfaults. 2012-01-08 02:22:13 +01:00
Alexander Gavrilov 07ad9ad972 Add persistent data storage in fake historical figure names. 2012-01-07 19:21:31 +04:00
Alexander Gavrilov f5e121a196 Move a bunch of stuff from the jobutils plugin into the core. 2012-01-07 19:21:07 +04:00
Petr Mrázek a2cad00dbb Remove GetCustomWorkshopType, custom workshop types are now saner. 2012-01-06 01:08:30 +01:00
Petr Mrázek 756b8131c1 Small fix in Buildings, update stonesense. 2012-01-06 00:09:49 +01:00
Petr Mrázek 72a4698968 Merge https://github.com/angavrilov/dfhack 2012-01-05 23:54:33 +01:00
Petr Mrázek 78a98de37e Fix MSVC builds, break buildings :D 2012-01-05 23:39:14 +01:00
Alexander Gavrilov 687245abd9 Allow setting job item materials. 2012-01-05 22:04:05 +04:00
Alexander Gavrilov 99dda069de Update data definitions. 2012-01-04 18:46:39 +04:00
Petr Mrázek 86464b99cc Remove DfVector, break MSVC builds until further notice. 2012-01-04 01:45:11 +01:00
Alexander Gavrilov f8814909a9 Move the MaterialInfo class to the main library. 2012-01-03 19:25:55 +04:00
Petr Mrázek f35cdb84cd Merge https://github.com/angavrilov/dfhack
Conflicts:
	library/Core.cpp
	library/PluginManager.cpp
	library/include/Core.h
	library/include/PluginManager.h
	library/modules/Gui.cpp
	plugins/stockpiles.cpp
2011-12-31 13:09:12 +01:00
Petr Mrázek 9db20bd84d Header changes/cleanup. 2011-12-31 12:48:42 +01:00
Alexander Gavrilov b652ec4132 Implement context-sensitive keybinding support.
Allow defining commands with guard conditions, and binding
one or more commands to alphabetic and function keys. When
the relevant key is pressed, the first listed command with
successfully evaluated guard is chosen.

For consistency, the guard is also checked when the command
is invoked from the console; this requires suspending the
core inside PluginManager, before invoking plugin code.
2011-12-31 13:25:46 +04:00
Petr Mrázek b36e5ac248 Add missing files. 2011-12-07 20:50:37 +01:00
Petr Mrázek f7d78539d3 Renaming Creatures to Units 2011-12-02 10:56:40 +01:00
Petr Mrázek 44dad25690 No nullptr, propector -> prospect 2011-11-14 09:24:36 +01:00
Petr Mrázek 4f0695a6d5 Messing with materials. 2011-11-03 04:30:59 +01:00
Petr Mrázek a29bb4578f Move kitchen exclusion module methods to a source file. 2011-10-30 03:20:54 +01:00
Petr Mrázek bfc8df3005 Added plant raw struct 2011-10-28 04:40:35 +02:00
Petr Mrázek b545de7f43 Items refactor. readItem turned into copyItem, most Items methods now accept plain df_item * instead of the copies. 2011-10-26 22:18:13 +02:00
Petr Mrázek 866b63f567 More of the items overhaul 2011-10-25 13:30:41 +02:00
Petr Mrázek 2adf1d22eb Item description method found! 2011-10-25 05:31:37 +02:00
Petr Mrázek 04495a304c Kill item variable accessors. YES. 2011-10-25 04:48:06 +02:00
Petr Mrázek a83d9fa944 Added mouse position and designation coord, along with a 'trackpos' command for kittens plugin. 2011-09-26 03:39:27 +02:00
Petr Mrázek dc81367a68 Gems are now properly detected in prospector. Nuked some legacy garbage. 2011-09-24 06:48:06 +02:00
Petr Mrázek 1df71d2b7a More tweaks related to creatures, murder implication flag for items/corpse pieces. 2011-09-21 13:47:12 +02:00
Petr Mrázek dca4c43b0b Creatures module rewrite 2011-09-18 13:49:10 +02:00
Petr Mrázek 4d6ad9e073 A whole bunch of fixes for crash bugs. 2011-08-05 05:02:36 +02:00
Petr Mrázek be358ec1de Ported deramp, cleanowned and cleartask tools. 2011-08-05 00:41:31 +02:00
Petr Mrázek 331ada8f91 Don't take over console in TEXT mode. 2011-08-01 03:31:52 +02:00
Petr Mrázek 9cf69164ed BitArray implementation, now used in Maps for the flags. 2011-07-30 16:47:49 +02:00
Petr Mrázek a9a3a3ff5f Merge branch 'topic_tools' 2011-07-28 02:36:25 +02:00
Petr Mrázek 8dec3546a3 More plugin work 2011-07-26 11:01:16 +02:00
Petr Mrázek d65f5596cb Ported mode, probe. Some changes required for that. 2011-07-25 10:14:58 +02:00
Petr Mrázek a8ff3d9d48 Merge pull request #116 from matthew-cline/TOPIC-items
Improved Items module and itemhacks plugin
2011-07-25 01:10:07 -07:00
Matthew Cline 109f34cd6e Improved Items module and itemhacks plugin
Items module:
* Identified flags for "owned by hostile" and "owned by trader".
* Identified an unknown uint32_t field as being the item age.
* Added and documented ClassNameCheck for more item ref types, though
  they aren't used yet (other than to mark that item ref class as a
  "known" class).
* Added method to get list of an item's unknown item ref classes.
* Made all unknown flags have name 'unk#', instead of some also having
  the name 'u_ngrd#'.

Itemhacks plugin:
* Folded second command into "dumpitems unknown", which will list
  any items which have the unknown vector field non-empty (which seems
  to be associated with tasked items).
* "dumpitems unknown" will also dump any item with a set unknown flag
  or with item refs of an unknown class.
2011-07-24 21:35:50 -07:00
Petr Mrázek bd9643c8cc Merge branch 'dfapi'
Conflicts:
	CMakeLists.txt
	library/DFProcess-linux.cpp
	library/include/dfhack-c/modules/Creatures_C.h
	library/include/dfhack/modules/Maps.h
	library/modules/Creatures_C.cpp
2011-07-23 17:29:05 +02:00
Petr Mrázek 6b6eed34cc Merge https://github.com/zilpin/dfhack 2011-07-23 17:08:15 +02:00
Petr Mrázek caf6f881df Minimize notes module. 2011-07-23 03:25:42 +02:00
Petr Mrázek e00a4e8888 Fix ore/gem sorting. 2011-07-22 03:00:56 +02:00
Petr Mrázek 7325808c98 Fixes to materials. 2011-07-22 02:44:36 +02:00
Petr Mrázek 131c32494a Added DF material structs reversed by Quietust 2011-07-21 22:37:02 +02:00
Matthew Cline 86577d4f8a Notes module
Gets a vector of pointers to note structs
2011-07-20 18:26:52 -07:00
Petr Mrázek bde3616015 Merge pull request #110 from matthew-cline/TOPIC-inorganic
More info on inorganic materials
2011-07-20 12:35:58 -07:00
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
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 d6d108dd34 Qt plugin fixes for windows, renamed interface to df_interface in Gui. 2011-07-16 18:10:08 +02: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
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
Petr Mrázek 85240c78b5 Fix probe utility, Position module 2010-08-28 22:07:31 +02:00
Petr Mrázek d46dcb8342 Maps stuff, geology seems broken 2010-08-28 15:43:53 +02:00
Petr Mrázek b44fd18dc8 Merge branch 'master' of http://github.com/belal/dfhack 2010-08-28 13:52:12 +02:00
Petr Mrázek 4d55e37e20 Merge branch 'master' of http://github.com/doomchild/dfhack 2010-08-28 06:36:40 +02:00
Petr Mrázek e762f1caea Merge branch 'master' of git://bigbox.banquise.net/dfhack
Conflicts:
	tools/examples/creaturedump.cpp
	tools/supported/dumpoffsets.cpp
2010-08-28 04:39:03 +02:00
belal 2df6433fef Fix map reading for dfcopypaste, add simple console application to do the copy/pasting. 2010-08-27 14:56:38 -04:00
Mikko Juola afdc91265d Revert "Add a dirty hack to stop flickering on non-synchronizing DF processes."
This reverts commit 3a33e64acc4da7270eef30ef595fc6f82eb72efc.

I guess it's better this way.
2010-08-27 18:34:13 +03:00
Mikko Juola 4197ad064f Add a dirty hack to stop flickering on non-synchronizing DF processes. 2010-08-27 18:34:12 +03:00
Mikko Juola 35a58cdf0c Add screen_tiles_pointer for Memory.xml and fix reading screen tiles in Position module. 2010-08-27 18:34:12 +03:00
doomchild 33cd5fb1b4 added ReadHotkeys and getScreenTiles 2010-08-27 09:29:55 -05:00
doomchild fb7cfc45c8 added getType 2010-08-27 09:19:43 -05:00
doomchild cfa39dde7f wrapped ReadGlobalFeatures 2010-08-26 10:29:04 -05:00
doomchild b78b0ad2e6 wrapped ReadMenuState 2010-08-26 10:28:31 -05:00
Petr Mrázek 0ddc431013 Merge branch 'master' of http://github.com/doomchild/dfhack 2010-08-23 16:11:46 +02:00
Petr Mrázek 1bceac2343 Rename memory_info and its factory class. 2010-08-20 14:10:05 +02:00
doomchild 464919635f fixed bug where reading en empty job list played with a null pointer 2010-08-19 12:45:43 -05:00
doomchild fd872922a5 updated to match C++ additions 2010-08-18 16:00:58 -05:00
doomchild f2696dadca added updated Write functions 2010-08-18 15:46:15 -05:00
doomchild 2889b01357 updated to use pre-registered callbacks like everything else 2010-08-18 12:59:11 -05:00
simon 9cf2e0f26d Support for reading inventory 2010-08-17 15:21:54 +02:00
Petr Mrázek 94872b8abd A bit of checking in some places. 2010-08-14 18:32:38 +02:00
Petr Mrázek a159707250 Fix memleak with Context not cleaning up. 2010-08-14 01:25:18 +02:00
Petr Mrázek f6aea927c8 Memory.xml in new format (offsetedit/Memory-ng.xml). The declarations/descriptions are still missing. 2010-08-12 21:38:15 +02:00
sizeak 7d684d12b4 Job writing for mood material editing 2010-08-09 19:28:35 +01:00
Petr Mrázek 3afff27f03 A bit of offset work on linux, uprated README and COMPILE, screen reading code (untested). 2010-07-19 21:42:17 +02:00
Petr Mrázek 52178e779f Fixes to merged C API and windows SHM. 2010-07-17 01:55:18 +02:00
Simon Jackson 9bafefbd80 Merge branch 'master' of git://github.com/peterix/dfhack 2010-07-15 12:58:25 +01:00
Simon Jackson 1e7a705129 getType needs lots of work but its ok(ish). Mostly working .10 creature offsets 2010-07-15 12:57:45 +01:00
Petr Mrázek ebbb497630 Merge branch 'master' of http://github.com/doomchild/dfhack 2010-07-15 00:47:51 +02:00
Petr Mrázek 46d776cf46 doxygen index page, OnResume all modules from Context::Resume 2010-07-07 01:35:38 +02:00
doomchild e7751f8fd9 changed vein readers to return a pointer to a buffer of just one kind of vein at a time 2010-07-06 13:45:35 -05:00
doomchild 3abdd0f2f2 added vein reading functions 2010-07-06 13:18:36 -05:00
Petr Mrázek ec35663b62 Common base for all modules 2010-06-25 07:11:26 +02:00
Simon Jackson 4f009a5c5c Civilisation writing 2010-06-23 03:32:33 +01:00
Simon Jackson e1e1850d8e Position writing 2010-06-22 18:27:27 +01:00
Simon Jackson 3f0ab50b5d mood skill writing 2010-06-22 17:21:09 +01:00
Simon Jackson 95b52d099f flag writing type fix 2010-06-19 20:09:16 +01:00
Petr Mrázek bbb29fe3d5 Find, Filter, FindInRange and Incremental search methods 2010-06-19 03:47:09 +02:00
Petr Mrázek 41f3432d1c whitespace 2010-06-18 01:17:46 +02:00
Simon Jackson 96c774629a Added mood writing. Mood only, not skill or anything. Seems to work ok 2010-06-17 23:18:01 +01:00
Simon Jackson 061108c685 weird skill reading byte alignment fix (reverted to how it was original minus the offsetof change) 2010-06-17 19:24:18 +01:00
Simon Jackson 39222c972a Merge branch 'master' of git://github.com/peterix/dfhack 2010-06-17 14:16:37 +01:00
Petr Mrázek c53b643886 Fix liquids bug, added status checks to Maps (still not the real thing, but better) 2010-06-17 06:46:20 +02:00
Simon Jackson 9a15f00c8d bug fix, sex writing (seems to work ok), trait writing(untested) 2010-06-16 20:47:05 +01:00
Petr Mrázek 5e105c9571 fix typo 2010-06-16 02:03:37 +02:00
Simon Jackson ba9d2d14c2 Magic number cleaning 2010-06-16 08:01:17 +08:00
Simon Jackson 77d2343742 Attribute writing added 2010-06-16 07:22:39 +08:00
Simon Jackson 8fb05f24db Skill writing added 2010-06-16 07:22:38 +08:00
Simon Jackson 2254f3dfe5 Flag writing function added 2010-06-16 07:22:38 +08:00
Simon Jackson b95efc22fe Happiness writing function added and tested. Seems ok so far 2010-06-16 07:22:38 +08:00
Petr Mrázek 1645df7088 Some offsets for 0.31.04, bugfixes 2010-06-06 00:56:09 +02:00
Petr Mrázek 6b7f3e1816 Big namespace cleaning 2010-06-05 00:02:02 +02:00
Petr Mrázek 115e969530 Build fixes, made precompiled SHM libs 2010-06-04 03:05:38 +02:00
Petr Mrázek 5ee4acfd2e Fixed build problem in C API. Beware of bad memory management! 2010-05-29 23:50:14 +02:00
doomchild 3caac25145 changed callback signatures to allow for return codes 2010-05-27 12:35:11 -05:00
doomchild a962299c20 cleaned up header includes 2010-05-26 14:51:21 -05:00
Petr Mrázek 04b71f154c Fun and games. Also turning old DFWindow class into a module tracked by Context. 2010-05-26 12:24:45 +02:00
Petr Mrázek 966a145b3e Moving stuff around, part 3 2010-05-26 08:42:09 +02:00
Petr Mrázek b710ed687a Moving stuff around, part 2 2010-05-26 06:48:23 +02:00