Commit Graph

3398 Commits (471be0699579bb87c10df489ceb8e6898e579904)

Author SHA1 Message Date
Alexander Gavrilov 92a3277777 Add a MemoryPatcher class as an optimization of scattered patchMemory.
This class can cache the set of memory regions during its lifetime,
and make them writable only once. This avoids e.g. re-reading
/proc/*/maps once for every modified vtable in interpose code.
2012-10-27 21:58:40 +04:00
Alexander Gavrilov e353f5f03e Add a script to complement the weapon rack binary patch. 2012-10-27 20:16:27 +04:00
Alexander Gavrilov 34f33a8c91 Fix the error message produced by binpatch when a mismatch is detected. 2012-10-27 15:35:11 +04:00
Alexander Gavrilov 4c2c6a1911 Fix handling of Collect Webs jobs in workflow. 2012-10-26 23:53:18 +04:00
Alexander Gavrilov b976e01b8c Follow the change in the base-type of job_skill. 2012-10-26 20:29:21 +04:00
Alexander Gavrilov 1f994295b8 Consider assigned vehicles in use, and tweak text color rendering. 2012-10-25 13:20:41 +04:00
Alexander Gavrilov 8eebfa007c Tweak the workflow gui script to make the UI operate smoother. 2012-10-25 12:15:18 +04:00
Alexander Gavrilov a1dd31aab3 Tweak the mechanics for showing and rendering lua screens.
- Place new screens below any dismissed ones on top.
- When asked to render a dismissed lua screen, call render() on its
  parent to avoid producing a black screen frame when unlucky.
2012-10-25 12:09:39 +04:00
Alexander Gavrilov 59ec9b304e Implement adding workflow constraints from gui/workflow. 2012-10-24 21:49:30 +04:00
Alexander Gavrilov 616c57257d Support changing the constraint ranges from the workflow gui script.
TODO: implement creating completely new constraints.
2012-10-24 19:25:06 +04:00
Alexander Gavrilov 7b67df4b4e Merge remote-tracking branch 'q-github/master' 2012-10-24 16:49:12 +04:00
Alexander Gavrilov 09f8e8e419 Start working on gui for workflow. 2012-10-23 21:42:03 +04:00
Quietust 27c7dfde4f ANY_FREE -> IN_PLAY, to match terminology used in DF's error messages 2012-10-23 12:14:21 -05:00
jj cfbdf47f6e follow rename Carried->Hauled in df-structures unit inventory mode 2012-10-22 19:37:12 +02:00
Alexander Gavrilov 46938625fd Pass the hotkey keys to dwarfmode from overlays, and fix gui/workshop-job. 2012-10-21 21:45:51 +04:00
Alexander Gavrilov 67674a7676 Merge remote-tracking branch 'jjyg/master' 2012-10-21 11:12:32 +04:00
jj 1f7a01d685 follow rename unit.military.squad_index to squad_id in df-structures 2012-10-20 22:35:39 +02:00
Alexander Gavrilov dee0c97584 Add a gui script for viewing and changing job_item properties. 2012-10-20 21:57:36 +04:00
Alexander Gavrilov fbba4caab2 Suppress checking the cookable material flag if the item is a container. 2012-10-20 21:16:00 +04:00
Alexander Gavrilov 0c9f1e0af4 Check the item type against job_item_vector_id when matching to jobs.
This will prevent setting an invalid item type via the job command.
2012-10-20 21:01:22 +04:00
Alexander Gavrilov 795961bfc4 Fix the treatment of non_economic in Materials/Items modules.
non_economic == !(is boulder && is inorganic && is economic)
2012-10-20 20:31:45 +04:00
Alexander Gavrilov 5388ad475f Fix a bug in lua wrapper caused by the recent pairs() addition.
It inadvertently removed all functions like df.new from the df table.
2012-10-20 20:14:50 +04:00
Alexander Gavrilov 2b1d856214 Add a few utility functions to the lua api. 2012-10-20 17:06:33 +04:00
Alexander Gavrilov 687dc7105f Merge remote-tracking branch 'kmartin/master' 2012-10-20 15:39:20 +04:00
Warmist da92fb9a1c Start of dfusion module. Fixed small error in memscan.lua and start of custom embark command. 2012-10-17 21:43:44 +03:00
Alexander Gavrilov 1e2570f4cb Add an extremely simple item selection dialog by wrapping ListBox. 2012-10-17 21:42:06 +04:00
Alexander Gavrilov 2bbd00a8ec Add pairs and ipairs support for objects in df tree. 2012-10-17 20:58:37 +04:00
Alexander Gavrilov 2d4935bc17 Add lua API functions for verifying item and material vs job_item flags. 2012-10-17 19:16:18 +04:00
Alexander Gavrilov 4f7895f571 Support restricting the set of materials presented in the dialog. 2012-10-17 18:29:15 +04:00
Alexander Gavrilov 0046b093f7 Link visibility and event handling order.
- Hidden widgets don't receive events.
- Children handle events in top to bottom order.
2012-10-17 11:49:11 +04:00
Alexander Gavrilov ad4f9908fb Extract a generic filtered list widget from the materials dialog. 2012-10-17 10:41:50 +04:00
Alexander Gavrilov b14e4e97f5 Natively support entry icons in the List widget. 2012-10-17 09:41:48 +04:00
Kelly Martin 8fd1dd04bb Display dfhack version number at end of baseline 'help' message. 2012-10-16 19:27:48 -05:00
Alexander Gavrilov 023dc82564 Implement a material selection dialog. 2012-10-16 18:33:00 +04:00
Alexander Gavrilov d336abfd97 Add label and list widgets, and switch stock dialogs to them. 2012-10-16 14:18:35 +04:00
Alexander Gavrilov abfe2754fb Start implementing common widgets for lua screens. 2012-10-15 20:03:18 +04:00
Alexander Gavrilov 33bd8103de Extract an abstract View superclass from Screen to handle widget trees. 2012-10-15 15:30:00 +04:00
Alexander Gavrilov 2865e1373a Experimental API for associating tile bitmasks with persistent data.
Use block_square_event_world_constructionst objects with the same
bogus negative id as the matching historical figure object.
2012-10-11 17:34:34 +04:00
Alexander Gavrilov 5206236b01 Look through missing intermediate bases when interposing subclasses. 2012-10-11 15:10:19 +04:00
Alexander Gavrilov 010417c812 Compute detailed focus string for the hauling menu. 2012-10-11 12:36:17 +04:00
Alexander Gavrilov 7224c8746a Print the new md5 hash after modification in binpatch. 2012-10-08 16:47:52 +04:00
Alexander Gavrilov 28f0fed0aa Redo the way binpatch backs up, so as not to lose the executable perms. 2012-10-08 16:22:35 +04:00
Alexander Gavrilov 408f0cb06e Add a small stand-alone utility for managing binary patches. 2012-10-08 12:10:02 +04:00
Warmist 49476818c4 Dfusion rebuild start (lua script side plugins) 2012-10-07 20:45:14 +03:00
Warmist 923ea3f4b0 Reactionhooks more usefull and gm-editor minor tweaks (e.g. search in containers) 2012-10-07 20:44:18 +03:00
Alexander Gavrilov 459c69046b Dissolve the World module class into a namespace.
It made accessing persistent data way too cumbersome.
2012-10-06 13:46:20 +04:00
Alexander Gavrilov 5396a67465 Some tweaking and edited NEWS. 2012-10-06 12:40:46 +04:00
Alexander Gavrilov 9f687f64a4 Fix build. 2012-10-03 12:58:05 +04:00
Alexander Gavrilov 33aead34b4 Implement a more automated search mode based on keys for some globals. 2012-10-02 19:53:16 +04:00
Alexander Gavrilov bd3d3061ae Add a module that wraps the dialogs as "blocking" coroutine functions. 2012-10-02 18:01:28 +04:00
Alexander Gavrilov abf503fcdc Fix the ListBox dialog to behave in a more consistent way. 2012-10-02 16:45:17 +04:00
Alexander Gavrilov 9d5adf1b2f Update the lua screens to use the new key display string API function. 2012-10-02 15:25:59 +04:00
Alexander Gavrilov 7440e80e6c Add an API function to retrieve interface key bindings for display. 2012-10-02 13:49:31 +04:00
Petr Mrázek ba5b8638a9 Merge https://github.com/jjyg/dfhack
Conflicts:
	fixTexts.sh
2012-09-30 23:29:13 +02:00
Petr Mrázek 8812238bf6 Update license, add contributors file, bump release number 2012-09-30 04:03:37 +02:00
Petr Mrázek b1ad92e310 Track structures 2012-09-30 02:52:30 +02:00
Alexander Gavrilov 62cde96724 Add a script to reclassify 'individual choice' weapons based on unit skill. 2012-09-29 17:21:49 +04:00
Alexander Gavrilov 48da06ec37 Add an API function for reading the nominal skill level. 2012-09-29 15:18:04 +04:00
Alexander Gavrilov eaddd0e646 Try shutting up a few random warnings. 2012-09-29 12:47:41 +04:00
Petr Mrázek 53c6ee4673 Track structures and stonesense 2012-09-28 21:57:12 +02:00
Alexander Gavrilov 164c61b638 Forbid stuff from bins in siege-engine, if forbid ammo standing order set. 2012-09-27 10:43:42 +04:00
Alexander Gavrilov 2e5f3c4620 Merge remote-tracking branch 'jjyg/master' 2012-09-27 10:36:14 +04:00
jj 7cc29250f8 fix for updated viewlist_petst 2012-09-26 18:22:07 +02:00
Alexander Gavrilov 627f036830 Implement a special command parsing mode with one verbatim argument.
Intended for script expressions, e.g. rb_eval.
2012-09-24 19:13:33 +04:00
Kelly Martin 8e25158811 Sync up df-structures 2012-09-23 19:40:04 -05:00
Alexander Gavrilov 6f67a71e00 Search for cur_season and cur_season_tick in devel/find-offsets. 2012-09-22 14:52:08 +04:00
Alexander Gavrilov 038d62367e Implement explicit hook priority in vmethod interpose.
This resolves a getName order conflict between power-meter and rename.
2012-09-22 13:14:06 +04:00
Alexander Gavrilov 82dc1445cf Support the Room list in getSelectedBuilding. 2012-09-20 11:55:53 +04:00
Alexander Gavrilov c39a337223 Add unit/item/job/building getter hook vmethods to dfhack_viewscreen. 2012-09-20 11:11:20 +04:00
Alexander Gavrilov 7ce772ae0e Add an API function that returns the selected building. 2012-09-20 10:41:03 +04:00
Warmist a02a120e2d Merge branch 'master' of https://github.com/angavrilov/dfhack into experimental-dontmerge
Conflicts:
	dfhack.init-example
	library/xml
	plugins/CMakeLists.txt
2012-09-18 23:46:16 +03:00
Alexander Gavrilov a4799a384b Catch C++ exceptions in dfhack.buildings.setSize 2012-09-18 20:45:59 +04:00
Alexander Gavrilov 57b72831ca Overhaul the concept of lua 'class' initialization yet again. 2012-09-18 20:30:25 +04:00
Alexander Gavrilov d70a79deb9 Follow changes in XML defs. 2012-09-18 13:11:11 +04:00
Alexander Gavrilov be928a9dc5 Fix a data structure integrity bug in VMethodInterposeLinkBase.
This causes assertion failure and abort later on.
2012-09-18 10:40:14 +04:00
Alexander Gavrilov 36e44c682c Add a plugin implementing 'add spatter to item' reactions. 2012-09-17 21:15:51 +04:00
Alexander Gavrilov c1e20c6f05 Follow changes to structures. 2012-09-17 12:47:18 +04:00
Alexander Gavrilov 811c096c0e Vaporize liquids from barrels, and destroy bin contents in siege engine. 2012-09-14 20:22:49 +04:00
Alexander Gavrilov 24772f4dbc Add an api function for destroying items. 2012-09-14 18:49:02 +04:00
Alexander Gavrilov d22591e240 Fix a file descriptor leak and a crash in linux getMemRanges. 2012-09-14 12:35:55 +04:00
Quietust 1d8c9a6a5f Merge https://github.com/danaris/dfhack 2012-09-13 14:30:44 -05:00
Timothy Collett 24b93ea61f Library location fixing script 2012-09-13 14:58:52 -04:00
Quietust 46321a6a01 Rename world_data.unk_204 to feature_map 2012-09-12 13:41:59 -05:00
Alexander Gavrilov f06f9af6b8 Throw items from bins around in siege engine, like minecarts do. 2012-09-12 20:57:25 +04:00
Alexander Gavrilov 7c71aeab5f Add function for making item projectiles. 2012-09-12 18:17:42 +04:00
Alexander Gavrilov 3a075f4bc7 Trivial siege engine aiming at units, with logic in lua. 2012-09-11 19:17:24 +04:00
Timothy Collett ccefd02ee3 Merge branch 'master' of git://github.com/angavrilov/dfhack 2012-09-10 11:56:23 -04:00
Timothy Collett 96abc903ab Merge branch 'master' of http://github.com/peterix/dfhack 2012-09-10 11:54:56 -04:00
Timothy Collett 274d6038ad Merge further changes (???) 2012-09-10 09:19:21 -04:00
Timothy Collett 270351f510 Merge branch 'master' of https://github.com/danaris/dfhack 2012-09-10 09:18:24 -04:00
Alexander Gavrilov 9679b7729c Clean up the movement speed calculation function and move into the core. 2012-09-09 17:04:58 +04:00
Alexander Gavrilov ec3d489bda Move curse-affected attribute value getters to the core. 2012-09-09 12:51:08 +04:00
Alexander Gavrilov a36fe25e72 Finish the effective skill computation function, and move to core. 2012-09-09 12:27:40 +04:00
Alexander Gavrilov 94b729579e Reindent to remove tabs. 2012-09-09 10:53:08 +04:00
warmist 8e0f3e3bce Added ListBox to gui.dialogs
A listbox class. Can be either filled with table of strings, or string+callback tables. Needs some code revision :)
2012-09-09 02:28:07 +03:00
Alexander Gavrilov fb88aad51d Reverse-engineer unit speed computation from DF code. 2012-09-08 21:07:18 +04:00
Alexander Gavrilov bfa6ed3e08 Support setting the target area for the siege engine. 2012-09-08 13:46:02 +04:00
Alexander Gavrilov 325e294af2 Start the siege engine plugin with code to highlight obstacles on screen. 2012-09-07 19:54:32 +04:00
Warmist 0db873493a Merge branch 'master' of https://github.com/angavrilov/dfhack into experimental-dontmerge
Conflicts:
	dfhack.init-example
2012-09-07 17:24:38 +03:00
Alexander Gavrilov e925d8f4d9 Add an API function for reading tiles from the screen buffers. 2012-09-07 11:36:45 +04:00
Alexander Gavrilov c971a819de Experimental creation of map blocks in gui/liquids script. 2012-09-06 22:45:19 +04:00
Alexander Gavrilov d5ea05ebb8 Implement a pressure plate sensitive to machine power.
When built next to a gearbox, it will monitor its powered state.
2012-09-06 12:37:29 +04:00
Warmist 3dcaee7cb9 Merge branch 'master' of https://github.com/angavrilov/dfhack into experimental-dontmerge 2012-09-05 21:55:17 +03:00
Warmist 6fc10fc268 Fixed embark anywhere to use more sane code segment search 2012-09-05 21:52:54 +03:00
Alexander Gavrilov 8d876cc7d9 Support renaming some buildings, and arbitrary units, via gui script. 2012-09-05 21:27:42 +04:00
Alexander Gavrilov 57086ac56e Add stock MessageBox and InputBox dialog screens for lua scripts. 2012-09-05 19:45:45 +04:00
Alexander Gavrilov 27f169e298 Provide a partial application utility function to lua.
Implemented in C++ for efficiency.
2012-09-05 17:37:36 +04:00
Alexander Gavrilov 3b8e3d1459 Fix wrong assumptions in lua wrapper for BitArray. 2012-09-02 17:18:01 +04:00
Alexander Gavrilov 3713c5ea9e Add some APIs required by steam engine to the core. 2012-09-02 14:10:58 +04:00
Alexander Gavrilov 8536785d1d Boilers made out of unsuitable materials should explode! 2012-09-01 20:46:34 +04:00
Warmist 532839a4d5 Embark anywhere ported 2012-09-01 10:54:45 +03:00
Alexander Gavrilov e0097d8d43 Fix access to unnamed bits in bitfields, and allow hook.apply(false) 2012-09-01 11:25:24 +04:00
Warmist 7cabf1b843 Small bug fix 2012-09-01 10:13:08 +03:00
Warmist d784d4bc40 Static code segment search for memscan.lua 2012-09-01 10:05:31 +03:00
Alexander Gavrilov 0f1be28637 Follow xml changes. 2012-09-01 00:17:08 +04:00
Alexander Gavrilov 750eefe48a Follow unconditional JMP chains in MSVC vmethod ptr detection. 2012-08-30 19:28:53 +04:00
Alexander Gavrilov 8a617edb10 Support "ls -a" to list scripts in subdirs. 2012-08-29 19:03:53 +04:00
Alexander Gavrilov f1915915b4 Follow change in xml again. 2012-08-27 23:03:02 +04:00
Alexander Gavrilov 5fed060d7d Follow field rename in xml. 2012-08-27 16:01:11 +04:00
Alexander Gavrilov b2bdc199cb Fix NULL pointer access in ~virtual_identity. 2012-08-26 22:43:18 +04:00
Alexander Gavrilov 3402a3cd5d Fix a deadlock problem between suspend in (un)load, and onupdate. 2012-08-26 14:43:14 +04:00
Alexander Gavrilov 7f1e4b46bc Implement inheritance-aware vmethod interposing.
I.e. overwriting the vmethod in all vtables that use it, not only one.
2012-08-26 14:43:14 +04:00
Alexander Gavrilov 41ad42d0fd Expose the liquids plugin engine to lua, and make a wrapper gui script. 2012-08-25 10:37:03 +04:00
Petr Mrázek 9154564e71 Sync up submodules 2012-08-24 21:56:16 +02:00
expwnent 45efcfc763 Warning: does not work. Temp commit! 2012-08-24 11:40:51 -04:00
Alexander Gavrilov 8359e80b23 Expose a few API functions to lua, and implement a room browser overlay. 2012-08-24 18:26:18 +04:00
Alexander Gavrilov d52c54cc76 Pull some minor stuff from mechanisms into main libs. 2012-08-24 13:49:22 +04:00
Alexander Gavrilov 296f82b02f Try using the Objective-C 'alloc + init' idiom for lua screen objects. 2012-08-24 13:28:34 +04:00
Alexander Gavrilov e825dc5ddb Tweak the API for current viewscreen, and dispatch show/dismiss from C++. 2012-08-24 13:20:08 +04:00
Alexander Gavrilov b12b9fa91e Suspend DF around loading and unloading plugins.
This is necessary to improve safety of vtable interposing.
2012-08-23 19:51:55 +04:00
Alexander Gavrilov c6c5ad56c9 Track lua event listener count, and let the C++ host know.
This allows completely avoiding the call overhead if there
are none. The downside is that the event object now has to
be a userdata with lots of metamethods.
2012-08-23 19:27:28 +04:00
Quietust 1e28ceff6d Add getProfessionColor and getCasteProfessionColor to Units module 2012-08-22 16:54:00 -05:00
Alexander Gavrilov cf4b8a0196 Improve viewport manipulation utilities and support scroll in mechanisms.
I.e. allow the user to scroll around with cursor keys,
provided that keeps the cursor still visible.
2012-08-22 22:29:01 +04:00
Alexander Gavrilov f0fc3acf87 Turn an assert in vmethod interpose code into a mandatory check and abort. 2012-08-22 18:22:59 +04:00
Alexander Gavrilov 7987ea9a98 Put some compatibility features into the base dfhack viewscreen. 2012-08-22 18:18:19 +04:00
Alexander Gavrilov 6e8b68fb29 Add yet one more frame style. 2012-08-22 13:06:06 +04:00
Alexander Gavrilov 2b79582e99 Implement a policy of marking DFHack-owned screens with a signature. 2012-08-22 12:28:01 +04:00
Alexander Gavrilov 8969fc9435 manipulator: Inherit from dfhack_viewscreen, and don't use itoa. 2012-08-22 12:23:56 +04:00
Quietust 51ba252344 Add Screen::drawBorder(string), duplicates DF's interfacest::drawborder() 2012-08-21 15:28:11 -05:00
Quietust 985d96c596 Allow interposing the 1st vmethod 2012-08-21 15:27:29 -05:00
Alexander Gavrilov 15235cc938 More work on utilities for making lua viewscreens. 2012-08-21 19:40:37 +04:00
Alexander Gavrilov 451e965936 Add a Painter class for lua viewscreens, and extract other utilities.
Painter clips to an arbitrary rectangle window, and
tracks current cursor and color state.
2012-08-21 11:35:39 +04:00
Alexander Gavrilov 601a3a7927 Add a script that implements a linked mechanism browser. 2012-08-20 23:04:01 +04:00
Alexander Gavrilov 38a07a4ca5 Export the tile finder function to lua, and improve mouse event reporting. 2012-08-19 20:00:10 +04:00
Alexander Gavrilov cacb082416 Add a stupid example of a lua-controlled viewscreen. 2012-08-19 17:53:25 +04:00
Alexander Gavrilov 30f71ff510 Implement support for lua-backed viewscreens. 2012-08-19 14:27:44 +04:00
Alexander Gavrilov b8ee52131b Add a module for painting tiles into the gps global. 2012-08-19 09:31:09 +04:00
Alexander Gavrilov fd0bf2ef92 Extract the color enum from color_ostream to toplevel. 2012-08-19 09:21:25 +04:00
Alexander Gavrilov c6694e386f Add rather inefficient type_identity wrapping for std::set.
Accessing an element is O(N), as if it was walking a list.
2012-08-18 14:34:20 +04:00
Alexander Gavrilov 24cc8b5c7a Expose an API to claim the suspend lock from the Core.
Previously it was hard-coded in Core::Update, but interposed
vmethods may need this feature too.
2012-08-18 11:52:38 +04:00
Alexander Gavrilov 01ba2a31fc Tweak the interpose API, and fix a couple of bugs. 2012-08-18 11:48:07 +04:00
Alexander Gavrilov 236ffd578b Add experimental support for interposing vmethods of known classes.
The hairiest bit is the abuse of compiler-specific pointer-to-member
internals in order to provide more or less transparent API.
2012-08-17 22:40:53 +04:00
Alexander Gavrilov bcc41c081a Add a utility function for patching read-only memory. 2012-08-17 15:07:48 +04:00
jj 61185d29ca console-linux: silence minor gcc warnings 2012-08-12 00:27:20 +02:00
Petr Mrázek 589be93fbf Sync with structures 2012-08-02 14:44:59 +02:00
Quietust 9705497a7e Merge branch 'master' of git://github.com/peterix/dfhack 2012-07-17 10:39:20 -05:00
Quietust bf82b2d20d Sync with df-structures 2012-07-17 10:35:20 -05:00
Petr Mrázek 1c9194d1c4 While installing scripts, do not copy ~ files. 2012-07-12 02:24:32 +02:00
Petr Mrázek a5977db443 Merge https://github.com/jjyg/dfhack 2012-07-09 01:13:07 +02:00
Petr Mrázek 6975f643fc Fixage, syncing with structures 2012-07-09 01:05:40 +02:00
jj c20951c30b Merge branch 'master' of git://github.com/angavrilov/dfhack 2012-07-06 20:37:14 +02:00
jj 028b47a321 update xml 2012-07-06 20:36:53 +02:00
Alexander Gavrilov 4bbb185f7b Fix build and allow autodump to any walkable tile (e.g. a stair). 2012-07-06 20:11:20 +04:00
jj 8e17ebbefc add SC_PAUSED / SC_UNPAUSED onStateChange events 2012-07-05 18:03:02 +02:00
Timothy Collett 23d28f9961 Update df-structures dependency 2012-07-05 10:32:32 -04:00
jj e4d4bf23ae update xml, fix autolabor with new trade depot flags name 2012-07-04 19:05:44 +02:00
jj cdd711efa4 add COAL subtypes in MaterialInfo::getToken 2012-07-04 17:31:41 +02:00
jj a7a25b80a0 ruby: use the color_ostream argument from dfhack to output to dfhack-run 2012-07-03 16:13:15 +02:00
Timothy Collett c24333515b Merge branch 'master' of https://github.com/jjyg/dfhack
Conflicts:
	library/Core.cpp

Starting to merge in Ruby stuffs
2012-07-02 11:07:30 -04:00
Timothy Collett 421e5fd82c Swap order of includes to work around silly compiler/assembler bug on OS X 2012-07-02 11:02:48 -04:00
Timothy Collett 6f433ff58f Move back to using interposition to be more portable 2012-06-29 10:15:48 -04:00
jj ccbebdafb0 fix error spam when using Zoom hotkeys 2012-06-28 15:05:00 +02:00
Timothy G Collett d5ae1fc4f2 Merge branch 'master' of https://github.com/danaris/dfhack
Conflicts:
	depends/clsocket
	package/darwin/dfhack
	package/darwin/dfhack-run
Fixed.
2012-06-24 18:41:24 -04:00
Timothy G Collett 7cdbae3f04 Update df-structures 2012-06-24 18:35:16 -04:00
jj 552da8417e ruby: handle .rb files in df/hack/scripts/ 2012-06-24 20:24:46 +02:00
Alexander Gavrilov 9046fed648 Add documentation for some utility functions implemented in lua. 2012-06-24 12:51:19 +04:00
Petr Mrázek 59fb4daa9a Merge https://github.com/angavrilov/dfhack 2012-06-23 00:25:50 +02:00
Petr Mrázek 6199d6915c Nuke some error prints. 2012-06-23 00:25:30 +02:00
Alexander Gavrilov bd37cc09c5 Update the Lua API document with info about scripts. 2012-06-22 20:17:55 +04:00
Alexander Gavrilov 65e82f7c12 Support controllable error presentation verbosity in lua code.
Use qerror to squash stack traces and location prefix.
2012-06-22 16:36:50 +04:00
Alexander Gavrilov 752da9ced5 Move formatting newly-found globals for symbols.xml to lua code. 2012-06-21 21:26:25 +04:00
Alexander Gavrilov f207714d42 Add finders for enabler, gps and init. 2012-06-21 21:08:36 +04:00
Alexander Gavrilov ed4acbdedb Add a searcher for current_weather, using a prepared save. 2012-06-20 10:12:26 +04:00
Timothy Collett 4ca3aa878a Merge branch 'master' of https://github.com/angavrilov/dfhack 2012-06-19 14:48:40 -04:00
Alexander Gavrilov e687a07f2e Fix getRebaseDelta: should be signed int. 2012-06-19 21:02:27 +04:00
Timothy Collett 707fcc55e5 Update xml repo 2012-06-19 10:52:08 -04:00
Timothy Collett 40e764a46b Some more tweaks to the memory-finding code 2012-06-19 10:51:47 -04:00
Alexander Gavrilov 50bd758876 Replace dfhack.internal.getBase with getRebaseDelta.
Also, when printing found offsets, subtract the delta.
2012-06-19 18:48:22 +04:00
Alexander Gavrilov 50dff56899 Rewrite getMemRanges for windows to get rid of a number of problems.
- Properly handle copy-on-write permission modes.
- Merge ranges with the same properties for us.
- Don't skip non-private areas.
- Use the mapped filename as name, so that it works for all ranges.
2012-06-19 18:41:18 +04:00
Alexander Gavrilov bd5b675fa5 Add ui_menu_width finder, tweak instructions, and add a case for win exe. 2012-06-18 21:11:54 +04:00
Timothy Collett 9b941bcd4d Merge branch 'master' of https://github.com/angavrilov/dfhack
Trying out angavrilov's changes
2012-06-18 09:29:20 -04:00
Alexander Gavrilov dc6cb61979 Add more offset finders to the script. 2012-06-17 18:44:59 +04:00
Alexander Gavrilov fa41a27f26 Add an api function to get vtable address from version info. 2012-06-17 14:26:27 +04:00
Alexander Gavrilov 67536da2fe Add an interactive script finding a limited subset of linux offsets. 2012-06-16 19:51:15 +04:00
Alexander Gavrilov 927ce6ce5a Fix a problem with number to address cast for high-half addresses.
If the address is out of the signed int range, lua_tointeger produces
unspecified result. lua_tounsigned is guaranteed to wrap.
2012-06-16 17:09:58 +04:00
Alexander Gavrilov db91850464 Sync to the change in gamemode/gametype globals. 2012-06-16 14:42:56 +04:00
Alexander Gavrilov dc5bef2cb8 Add lua internal api functions needed for scanning memory. 2012-06-16 13:33:49 +04:00
Timothy Collett 14a3e5cd9e Implement getMemRanges() on the Mac 2012-06-14 13:43:20 -04:00
Timothy Collett 9c35e9fa59 Ensure that the appropriate libz.dylib is used 2012-06-14 13:43:03 -04:00
Timothy Collett f2a30c1a92 Remove build-time dependency on SDL 2012-06-14 13:42:40 -04:00
Timothy Collett 12543d6a5b Make offsets with "darwin" os-type recognized as Apple, rather than ignored 2012-06-14 13:42:06 -04:00
Alexander Gavrilov 94dfdb486d Change the field names returned from dfhack.internal.getMemRanges()
'end' is a lua keyword, so it cannot be used conveniently.
2012-06-14 20:32:23 +04:00
Timothy Collett c6700585bc Merge branch 'master' of github.com:peterix/dfhack 2012-06-14 09:59:53 -04:00
Timothy Collett 0ced9d9941 Hopefully fix DFHack's attempt to pull libstdc++ from somewhere silly (for portability) 2012-06-14 09:56:20 -04:00
Timothy Collett 19595f5225 Disable a whole bunch of no-longer-necessary debug output 2012-06-14 09:55:34 -04:00
Alexander Gavrilov 9469f27559 Make the RPC server accept a range of client versions.
Otherwise it sort of defeats the purpose of using version handshake.
2012-06-14 13:15:37 +04:00
Alexander Gavrilov bbc1fb010e Fix TEXT mode support, even making it work somewhat.
- Initialize the global pointers before trying to use init.
- Print a message suggesting the use of dfhack-run.
- Don't start the console thread if there is no console.
- When console is disabled, print anything given to it to stderr.
2012-06-14 13:08:39 +04:00
Alexander Gavrilov 7eb4fc19de Make dfhack.run_script usable from other scripts, and document it. 2012-06-14 12:46:12 +04:00
Petr Mrázek 2781723f7b Linux build works again. 2012-06-14 02:25:15 +02:00
Petr Mrázek 316973c463 Re-add fake SDL headers, get rid of real SDL use. 2012-06-14 02:15:43 +02:00
Petr Mrázek eaac32c765 Version bump and text updates. 2012-06-14 00:29:01 +02:00
Petr Mrázek 52f9fe4a6a Merge https://github.com/danaris/dfhack
Conflicts:
	depends/clsocket
2012-06-14 00:00:36 +02:00
Petr Mrázek 5e011ac217 Merge https://github.com/jjyg/dfhack 2012-06-13 23:56:26 +02:00
Alexander Gavrilov 149f175909 Make primitive refs (i.e. pointers to numbers, etc) behave as arrays. 2012-06-13 22:40:39 +04:00
Alexander Gavrilov c50b605dfc Support casting references and allocating arrays of numbers in lua wrapper. 2012-06-13 22:26:54 +04:00
Alexander Gavrilov 8d7cf092fd Add Lua API for access to some contextual and low-level info. 2012-06-13 21:12:36 +04:00
jj c364b42049 fix minor gcc warning 2012-06-13 00:21:23 +02:00
jj 95606ee3dc Merge branch 'master' of git://github.com/angavrilov/dfhack 2012-06-11 16:00:00 +02:00
Kelly Martin c97e3bca0c Sync structures again 2012-06-07 21:22:19 -05:00
Alexander Gavrilov 9dbcaa2733 Support adventure mode and stockpile screens in focus strings. 2012-06-06 18:54:06 +04:00
Kelly Martin 7aff2d6bc0 Sync structures for .34.11 2012-06-05 14:33:06 -05:00
Alexander Gavrilov d35d8d3431 Add the script to fix lagging fat dwarves. 2012-06-05 14:06:29 +04:00
Alexander Gavrilov b7edbf2076 Support 7-argument vmethods. 2012-06-05 14:00:52 +04:00
jj b612532348 export openplugin/lookupplugin from plugin manager 2012-06-02 23:35:05 +02:00
jj 470c9f60aa remoteclient: dont use gcc deprecated auto_ptr 2012-05-31 13:23:00 +02:00
Timothy Collett 6d65683b02 Adjust packaging for Mac 2012-05-29 16:12:35 -04:00
Timothy Collett 20a00f53c4 When built with the right compiler, we don't need any Obj-C code. 2012-05-29 14:44:37 -04:00
Quietust f71a843c6e Don't throw a fatal exception just because os-type isn't something we recognize - ignore it and move on 2012-05-28 11:06:23 -05:00
Timothy Collett 7ec0fd6fc0 Trying to set up an autorelease pool, but not yet succeeding. 2012-05-26 16:08:15 -04:00
Alexander Gavrilov e72bf1ac9a Sync to changes in df-structures. 2012-05-26 14:49:27 +04:00
Alexander Gavrilov 8644ea4dc0 Merge remote-tracking branch 'q-github/master' 2012-05-26 14:41:36 +04:00
Timothy Collett 1dd4cc5667 More work on getting dfhack building & compiling on Mac OS X 2012-05-25 14:28:59 -04:00
Timothy Collett 44c3afc306 Merge git://github.com/quietust/dfhack
Gotta get the changes that prevent DFHack from crashing.
2012-05-24 15:39:11 -04:00
Timothy Collett 7e88631698 Trying a different method now (with install_name_tool) 2012-05-24 15:02:53 -04:00
Timothy Collett 24d221052b Initial changes to get dfhack building on the Mac 2012-05-24 11:31:20 -04:00
Quietust 2b862655b7 Allow compiling RelWithDebInfo on Windows 2012-05-23 13:38:16 -05:00
Quietust 64ea06bbfe Don't crash if "gps" is null 2012-05-23 13:38:01 -05:00
Quietust 9a73ea9f14 Cleanup World module to use df::global, and fix crashes when control_mode/game_mode are missing 2012-05-23 12:51:03 -05:00
Alexander Gavrilov 9adf310d7f Update Units::isCitizen after looking at game-over detection code. 2012-05-22 12:31:37 +04:00
Petr Mrázek 1e09d67fc3 Merge https://github.com/angavrilov/dfhack 2012-05-21 20:32:50 +02:00
Alexander Gavrilov 81022451c2 Support sorting items in stocks, and correct unit sorting in joblist. 2012-05-21 22:29:03 +04:00
Petr Mrázek 7866ab239e Track structures 2012-05-21 20:28:17 +02:00
Alexander Gavrilov 34f08c0223 Handle the stocks screen in the focus strings. 2012-05-21 21:30:53 +04:00
Petr Mrázek 87a26ffa51 Track structures 2012-05-21 18:49:27 +02:00
Petr Mrázek 8ef1423ee7 Merge https://github.com/angavrilov/dfhack 2012-05-20 23:01:44 +02:00
Alexander Gavrilov 32d6257c70 DF code analysis uncovered another item-related flag to clear.
It turns out, buildings cache their 'site is blocked' state,
and won't actually recheck until the flag is cleared.
2012-05-20 21:58:43 +04:00
Alexander Gavrilov b992b04f0b Remove stuff that shouldn't be in the core, and expose to lua what's left.
Specifically, any "if (verbose) { Core::printerr("blah") }" kind
of stuff definitely doesn't belong in the common API functions.
Also, ref->getUnit() is very expensive.

On the other hand, checks for crash-inducing conflicts with the
ui should be in the core api, and not in client plugins.
2012-05-20 21:57:45 +04:00
Petr Mrázek df3e1bb517 Sync submodules 2012-05-20 17:35:34 +02:00
Petr Mrázek 3fa155e8e6 Merge https://github.com/angavrilov/dfhack 2012-05-20 17:33:09 +02:00
Alexander Gavrilov d28d240dbd Merge remote-tracking branch 'kmartin/master' 2012-05-20 11:03:41 +04:00
Kelly Martin abbe0ceb8d Fix order-of-operations oopsie in DFHack::Items::moveToInventory 2012-05-19 14:13:32 -05:00
Petr Mrázek bc7dbe1175 Merge derp fixed. 2012-05-19 20:03:08 +02:00
Alexander Gavrilov 1b4a24c827 Support using focus strings to limit keybinding scope. 2012-05-19 21:31:42 +04:00
Petr Mrázek 51f06c78fc Merge https://github.com/playfordh/dfhack
Conflicts:
	library/include/modules/Items.h
	library/modules/Items.cpp
2012-05-19 19:09:13 +02:00
Petr Mrázek ba45ac42c2 Track submodules 2012-05-19 18:34:50 +02:00
Alexander Gavrilov 7774f5f2c1 Add a mechanism converting ui focus to a string representation.
The idea is to make ui handling more modular, dispensing with
huge functions that switch or if/else on lots of variables.
For now, used to split up functions in the sort plugin.
2012-05-19 19:50:36 +04:00
Alexander Gavrilov 4aa6dbdd00 Support sorting items in the trade screens.
Caveat: sorts items in containers independently from the container.
2012-05-18 19:18:49 +04:00
Petr Mrázek 1333dc569f Merge https://github.com/Caldfir/dfhack 2012-05-18 17:42:34 +02:00
Petr Mrázek ed6da7618a Merge https://github.com/warmist/dfhack 2012-05-18 17:41:09 +02:00
Alexander Gavrilov 3c44e22760 Support trade viewscreens in Items::getSelectedItem. 2012-05-18 17:54:05 +04:00
Kelly Martin 51ad697bf5 Fix unresolved symbol reference in Windows platform. 2012-05-18 08:25:25 -05:00
Warmist 48185568e9 Added df::Items::moveToBuilding. Moved item from ground to building, usefull for museum forts (placing items on tables) 2012-05-18 16:05:29 +03:00
Kelly Martin 3f542b4df1 Update merge 2012-05-18 07:40:05 -05:00
Alexander Gavrilov 52426f9035 Track xml 2012-05-17 20:41:41 +04:00
Alexander Gavrilov f37f708b37 Add a workaround for Planepacked bug in buildings constructed via API.
Buildings hanging in the air cause constructWithFilters to
exhibit the same behavior as a moody dwarf in a burrow excluding
the workshop, i.e. endlessly collecting the same type of reagent.

http://www.bay12games.com/dwarves/mantisbt/view.php?id=1416

The workaround monitors jobs and reclassifies the reagents on the fly.
2012-05-17 20:38:27 +04:00
Alexander Gavrilov e9ef9b87b5 Add central locations for onUpdate and onStateChange handling in core. 2012-05-17 20:04:09 +04:00
Alexander Gavrilov 2c0024adc9 Make Items::getPosition exactly match the DF original in behavior. 2012-05-17 19:56:55 +04:00
Alexander Gavrilov efdb709284 Support creating rollers and stops with dfhack.buildings.constructBuilding. 2012-05-17 00:19:29 +04:00
Alexander Gavrilov 68c5d9b86c Stop Shift-Enter from being handled as if it was Shift-M. 2012-05-16 18:10:07 +04:00
Alexander Gavrilov dbd39af58a Support testing and modifying pending timeout callbacks. 2012-05-16 17:06:08 +04:00
Kelly Martin e77c9dc730 Add new PUSH_HAUL_VEHICLES labor to autolabor.
This commit will only work with 0.34.08 (or later).
2012-05-15 13:42:48 -05:00
harlanplayford 27ca317871 Added new method - Items::moveToInventory(...)
Signed-off-by: playfordh <harlanplayford@gmail.com>
2012-05-15 06:01:59 -04:00
Kelly Martin d4f9806568 Track library 2012-05-14 17:30:21 -05:00
Kelly Martin e078c75737 Track submodules 2012-05-14 13:44:03 -05:00
Alexander Gavrilov 642a625586 Support custom buildings in dfhack.buildings.getFiltersByType.
Also document it and constructBuilding in Lua API docs.
2012-05-13 18:39:00 +04:00
Alexander Gavrilov 87ec1de891 Improve lua api for tile biome access. 2012-05-13 13:58:41 +04:00
Alexander Gavrilov c6b52067bd Request designation rescan in auto-growing burrows.
This improves performance of burrowed miners digging 1-wide tunnels.
2012-05-12 20:54:26 +04:00
Alexander Gavrilov 60bb486aba Add api for enabling liquid and temperature updates for blocks.
Now updates also have to be enabled for the z level to work.
2012-05-12 20:12:09 +04:00
Alexander Gavrilov af3e389093 Update submodules. 2012-05-12 18:50:22 +04:00
Petr Mrázek 92f069e209 Brush output lists numbers, update xml. 2012-05-11 07:00:18 +02:00
Alexander Gavrilov d6813c7690 Change xml submodule pointer. 2012-05-08 19:08:34 +04:00
Alexander Gavrilov 191071beb6 Add more lua scripts. 2012-05-08 12:55:06 +04:00
Alexander Gavrilov fca618ff1b Support default building inputs in dfhack.buildings.constructBuilding. 2012-05-06 19:11:29 +04:00
Alexander Gavrilov 9ad8d767b4 Add code for adding abstract buildings and removing constructions. 2012-05-06 19:09:11 +04:00
Alexander Gavrilov b70130cf36 Add a couple more building api functions. 2012-05-06 11:22:55 +04:00
Alexander Gavrilov 05e8083c84 Allow constructing itemless actual buildings. 2012-05-06 10:09:39 +04:00
Alexander Gavrilov 3bd44e5367 Move some things that won't work in dfhack-client to a separate file. 2012-05-05 21:07:18 +04:00
Alexander Gavrilov 81f2240c23 Fix some things that confuse MSVC. 2012-05-05 20:46:28 +04:00
Alexander Gavrilov 7e01b004e9 Implement timeouts in the core lua context, and quicksave script. 2012-05-04 20:59:06 +04:00
Alexander Gavrilov d4d6349f48 Expose builtin commands to dfhack-run, and add lua script support.
Move builtin command implementation to Core methods, and fall
back to hack/scripts/*.lua for otherwise unrecognized commands.
2012-05-04 19:47:18 +04:00
Alexander Gavrilov 5afe2ca002 Update dfhack for specific_ref. 2012-05-03 11:47:04 +04:00
Alexander Gavrilov 28b5068382 Allow both coordinate object and (x,y,z) as arguments to getTileBlock. 2012-05-02 12:50:05 +04:00
Alexander Gavrilov eadce95940 Add a convenience function for designating constructions. 2012-05-01 19:55:25 +04:00
Alexander Gavrilov 4cffb6428d Update building creation code with new knowledge, and fix zone.
Also, document new lua api, and add a more convenient wrapper.
2012-05-01 18:55:30 +04:00
Alexander Gavrilov 2303a25bde Implement unconstructed building instance creation and linking into world.
For more flexibility, the base api is split into 3 phases:
alloc, setSize, and construct. No support for non-actual
buildings like stockpiles and activity zones at the moment.
2012-04-29 21:07:39 +04:00
Alexander Gavrilov 82a0e52a3e Add api to check the walkable cache, and update flow_forbid in liquids. 2012-04-26 18:51:39 +04:00
Alexander Gavrilov 16ee049664 Split off the burrows api from Maps and Units. 2012-04-26 12:56:28 +04:00
Alexander Gavrilov 6ab270d129 Retrieve unit noble position info, and use it in getProfessionName. 2012-04-26 12:03:56 +04:00
Alexander Gavrilov 9489c6ed1a Add support for a few more viewscreens to Units::getSelectedUnit. 2012-04-26 11:05:35 +04:00
Alexander Gavrilov 1cd802d426 Implement unit sorting for the pen zone assignment interface. 2012-04-25 18:28:00 +04:00
Alexander Gavrilov 763a301b4f Add a few more lua api functions, documentation, and unit sort orders.
Units::getProfessionName appears to work correctly for
everything except nobles.
2012-04-23 21:30:53 +04:00
Caldfir 035d65536b Added in job loading to t_unit for stonesense. 2012-04-22 18:51:27 -07:00
Alexander Gavrilov 125cd6622a Support sorting units in many more ui contexts. 2012-04-22 19:22:00 +04:00
Alexander Gavrilov 2ef321a208 Preserve the original lua global environment for modules.
The intent is to prevent accidental pollution of module namespaces
by globals defined from careless scripts running in the _G environment.
2012-04-21 20:15:57 +04:00
Alexander Gavrilov 4af051bab3 Add a few more unit orderings, and a way to reverse direction. 2012-04-21 16:53:17 +04:00
Alexander Gavrilov 3282ac3db2 Add a hotkey command that sorts units in lists using lua comparators. 2012-04-21 15:43:52 +04:00
Alexander Gavrilov adbd351462 Rename units.other[0] to units.active. 2012-04-21 12:46:55 +04:00
Alexander Gavrilov 0a6982f404 Enable warnings correctly on linux and fix a lot of them. 2012-04-20 13:30:37 +04:00
Alexander Gavrilov d95cc3435f Fix lua wrapper sizeof for static arrays.
Since it actually depends on the element type, it is more tricky.
2012-04-20 13:04:03 +04:00
Alexander Gavrilov 0b32d374db Implement SOIL/STONE substitution logic, and add compat in mapexport. 2012-04-19 23:02:30 +04:00
Alexander Gavrilov 4b87f1bcac Refactor MapCache: make it parse everything that is known re tiles & mats. 2012-04-19 19:17:07 +04:00
Alexander Gavrilov f655a0986d Sync to changes in the data structure definitions. 2012-04-19 11:03:29 +04:00
Petr Mrázek d825356878 Fix windows console bug
Line input cursor was going crazy when input reached right side of the screen
2012-04-17 23:23:45 +02:00
Petr Mrázek c031349a62 Track structures 2012-04-17 21:48:18 +02:00
Alexander Gavrilov 378a1fb914 Support the '#' string as index for wrapper vector insert at end. 2012-04-17 12:15:45 +04:00
Alexander Gavrilov 3beb2ebf25 Export the onStateChange event to core lua context & add some docs. 2012-04-17 11:45:09 +04:00
Petr Mrázek 7946cafc86 Merge https://github.com/jaxad0127/dfhack 2012-04-16 22:37:07 +02:00
Warmist 17d5b2de04 Multiline interpreter.
To test try writing for k,v in pairs(table) do <enter> print(k) <enter> end
Also prompt could be changed (couldn't think of anything better).
2012-04-16 18:46:20 +03:00
Alexander Gavrilov 1e64a6a2f6 Make dfhack.lineedit automatically interact with RunCoreQueryLoop.
It still falls back to the original waiting mode if yield fails.
2012-04-16 18:05:42 +04:00
Alexander Gavrilov 9c25351281 Add a template to make using lua_pcallk a bit more convenient. 2012-04-16 18:01:21 +04:00
Alexander Gavrilov 3e4863bc80 Integrate coroutines with table-based error handling.
Properly attach stack traces to errors passing the resume boundary.
Replaces coroutine.resume and coroutine.wrap with appropriately
modified versions, and adds a Lua::SafeResume function for C++.
2012-04-16 14:45:04 +04:00
Alexander Gavrilov 48e4717dd2 Try working around some msvc problems. 2012-04-16 10:59:55 +04:00
Alexander Gavrilov a1756a864c Implement a way to do prompts from core context.
The trick obviously is doing it without forcing DF to wait suspended.
Fortunately, lua has built-in coroutine support, so the interactive
prompt can simply yield and rely on the external loop to do the job.
To use this however the REPL had to be replaced with lua code.
2012-04-15 21:50:22 +04:00
Alexander Gavrilov 14709e5d45 Add an official core lua context, and allow plugins to send events to it.
- This context requires core suspend lock and asserts it in a few places.
- Special 'event' objects are introduced. They can be invoked as
  functions, in which case they iterate all their fields and call
  them as functions. Errors are printed and consumed.
- When a plugin is opened by the core context, events registered in
  a special array are linked to it. The system is organized so as to
  avoid even trying to pass the event to lua if the module isn't loaded.
2012-04-15 19:09:25 +04:00
Jared Adams f3c7a685f5 Make tiletypes more useful
* Paint, filter, and brush state is now saved between calls.
 * Added 'all' paint option to set material, shape, special, and variant at
      the same time.
 * Added tiletypes-here (like liquids here, except is uses the saved brush
      settings)
 * Added tiletypes-here-point (like liquids here, always only the tile under
      the cursor)
 * Added tiletypes-command: runs tiletypes commands seperated by ';' tokens
      (affects saved state)
 * Make the internal workings match liquids a bit more
 * Give brush objects a descriptor string
 * Make Core::cheap_tokenise available
2012-04-15 08:40:19 -06:00
Alexander Gavrilov cb27a1d839 Fix typo in the 1MB constant. 2012-04-15 11:31:05 +04:00
Petr Mrázek fc38371b29 Clean up some chaos in old code. 2012-04-15 01:15:15 +02:00
Petr Mrázek 5f1c933b0f Merge pull request #148 from wjrogers/feature-protobuf-api
Add SetUnitLabors and additional optional data to ListUnits
2012-04-14 14:56:19 -07:00
Petr Mrázek fa063e2936 Track structures, fix trivial problem in zone plugin 2012-04-15 00:35:59 +02:00
Alexander Gavrilov cb49c92b99 Allow plugins to export functions to lua with safe reload support.
- To ensure reload safety functions have to be wrapped. Every call
  checks the loaded state and locks a mutex in Plugin. If the plugin
  is unloaded, calling its functions throws a lua error. Therefore,
  plugins may not create closures or export yieldable functions.

- The set of function argument and return types supported by
  LuaWrapper is severely limited when compared to being compiled
  inside the main library.
  Currently supported types: numbers, bool, std::string, df::foo,
  df::foo*, std::vector<bool>, std::vector<df::foo*>.

- To facilitate postponing initialization until after all plugins
  have been loaded, the core sends a SC_CORE_INITIALIZED event.

- As an example, the burrows plugin now exports its functions.
2012-04-14 19:44:07 +04:00
Alexander Gavrilov 7a34a89f53 Add burrow subcommands to modify burrow unit and tile sets. 2012-04-14 14:12:59 +04:00
Alexander Gavrilov 2f54a48e63 Add a plugin that makes selected burrows auto-grow on digging. 2012-04-13 21:41:42 +04:00
Alexander Gavrilov 37cfb1fdcd Add unit position and container api. 2012-04-13 16:10:19 +04:00
Alexander Gavrilov 2d8611a480 Add core api for moving items between ground and containers. 2012-04-12 18:37:27 +04:00
Alexander Gavrilov 38a8c43a25 Reverse-rebase the vtable pointers printed to stderr.log. 2012-04-12 11:21:25 +04:00
Alexander Gavrilov 583ccdcc0c Support pre-initializing vtable pointers from symbols.xml 2012-04-12 10:54:53 +04:00
Alexander Gavrilov 5d5502ae34 Update the item owner modification api and export it to lua. 2012-04-11 20:10:31 +04:00
Alexander Gavrilov 0c2b78b96b Add api for manipulating burrows to the core. 2012-04-11 19:42:05 +04:00
Alexander Gavrilov 61245711f7 Export a few maps functions to lua. 2012-04-11 16:20:16 +04:00
Alexander Gavrilov c7b922250b More maps api refactoring and renaming.
getBlockAbs is a very confusing name; getTileBlock is better.
2012-04-11 12:01:27 +04:00
Will Rogers 8c40a27ea0 Add unit_misc_trait list to BasicUnitInfo protobuf API. 2012-04-10 20:42:23 -04:00
Will Rogers 6cf8220f28 Add SetUnitLabors protobuf API. 2012-04-10 20:41:54 -04:00
Alexander Gavrilov 59ddbfacb7 Implement item occupancy tracking in MapCache. 2012-04-10 20:19:41 +04:00
Alexander Gavrilov b15d2da819 Get rid of some obsolete api functions, and restructure MapCache. 2012-04-10 18:21:19 +04:00
Alexander Gavrilov 249be0c1a0 Change SC_MAP_LOADED handling: only NULL/not NULL change is meaningful. 2012-04-10 12:11:00 +04:00
Alexander Gavrilov 93c795cfc3 Job module api tweaks: add a namespace to match others and some funcs. 2012-04-10 11:43:36 +04:00
Alexander Gavrilov 0e0740fddf Stop printall(df.global) from breaking if there are unknown addresses. 2012-04-10 10:34:03 +04:00
Petr Mrázek 585de77489 Track structures 2012-04-09 00:59:57 +02:00
Alexander Gavrilov 45ae2ed67f Pull a few utility functions into the core and publish to lua. 2012-04-07 19:08:30 +04:00
Alexander Gavrilov e74788cb26 Add a generic facility for object finalization during stack unwind.
Supports two modes of finalization:

- try {...} finally {...}
- try {...} catch { ...; throw }

Argument passing discipline is designed with vararg tail calls in mind.
2012-04-07 14:21:38 +04:00
Alexander Gavrilov 0daafef690 Wrap MaterialInfo for lua. 2012-04-06 19:56:19 +04:00
Alexander Gavrilov 2640addf49 Split LuaTools.cpp to separate core utils from general dfhack api. 2012-04-06 18:00:54 +04:00
Alexander Gavrilov 903e9ee716 Export a few more functions to lua. 2012-04-06 11:21:28 +04:00
Alexander Gavrilov 9eed9f0d24 Wrap a few utility functions defined on the c++ side for lua. 2012-04-05 19:55:59 +04:00
Alexander Gavrilov 28a741082f Encode & decode names in utf-8 for transfer in remote messages.
That's the encoding required by the protobuf spec.
2012-04-05 18:10:16 +04:00
Alexander Gavrilov 59f411e401 Oops, forgot return statement. 2012-04-05 12:32:10 +04:00
Alexander Gavrilov 3afed43cdb Experimental: try wrapping a dfhack api function. 2012-04-05 11:59:39 +04:00
Alexander Gavrilov d1b27418a6 Add a World::GetPersistentData version that auto-adds if not found. 2012-04-05 11:32:23 +04:00
Petr Mrázek a45e83ef14 Merge pull request #146 from wjrogers/feature-protobuf-api
Add ListJobSkills protobuf API
2012-04-04 16:46:20 -07:00
Will Rogers 1b6f5f3f34 Add additional related data to ListJobSkills.
Add the attributes for profession and unit_labor, and (re)name the
protobuf messages JobSkillAttr, ProfessionAttr, and UnitLaborAttr to
better reflect their content and distinguish them from e.g. the
SkillInfo message included in BasicUnitInfo.
2012-04-04 11:53:47 -04:00
Alexander Gavrilov 7efbd798ce Upgrade lua errors to structures when attaching stack trace.
This allows detecting when it's re-thrown and avoiding attaching the
stack twice, and so on. Would also be useful if debugging is added.
2012-04-04 13:34:07 +04:00
Alexander Gavrilov 81fb57a853 Add color output and input prompt support to core lua api. 2012-04-04 10:40:33 +04:00
Will Rogers 7e896277ec Don't export describeJobSkills. 2012-04-03 14:22:46 -04:00
Will Rogers 59d7b6faab Add ListJobSkills. 2012-04-03 14:03:06 -04:00
Alexander Gavrilov 2d4af4ac3e A few more utility functions for lua. 2012-04-03 20:02:01 +04:00
Alexander Gavrilov 42a9b0a592 Make Core::Suspend safe in plugin_onupdate by pretending to hold the lock.
It is in essence true that OnUpdate owns the suspend lock, so
expose it officially to the recursive suspend lock mechanics.
2012-04-03 13:29:59 +04:00
Alexander Gavrilov 444377f9db Finish documenting the DFHack core lua api existing so far. 2012-04-03 13:13:44 +04:00
Alexander Gavrilov a8fe0eccb4 Add functions for checking validity of lua wrapper objects. 2012-04-02 22:02:04 +04:00
Petr Mrázek 467f4108ae Track structures 2012-04-02 13:42:56 +02:00
Petr Mrázek 2a998a5b8a Merge https://github.com/quietust/dfhack 2012-04-02 13:42:18 +02:00
Quietust 06da0f9720 Fix coord/coord2d division/modulo operators to properly handle negative numbers (fixes some glitches with revflood and possibly other utils) 2012-04-01 19:44:35 -05:00
Alexander Gavrilov d109b6570b Add dfhack.with_suspend(f[, args...]) that calls f with core suspended.
The lock is properly removed in case of error, which is then propagated.
Just for fun, it also can be yielded from within in a coroutine.
2012-04-01 19:38:42 +04:00
Alexander Gavrilov e3d50b9b04 Optimize wrapper: use pointers instead of strings as most frequent keys. 2012-04-01 18:34:04 +04:00
Alexander Gavrilov 604c84953b Fix a bug: LookupTypeInfo cannot assume the result is userdata. 2012-04-01 17:59:47 +04:00
Alexander Gavrilov a3e526abdb Add df.is_instance(a,b) to check if typeof(b) is subtype of typeof(a).
Allows both objects and types as arguments. Also accepts nil and
primitives as b, returning nil.
2012-04-01 17:32:57 +04:00
Alexander Gavrilov edd63080b5 Only print the shortcut help once in the lua interactive mode. 2012-04-01 17:00:25 +04:00
Alexander Gavrilov afe4eba957 Improve performance of the persistent data api, and wrap it for lua.
Use an stl table for string keys to avoid linear cost of lookup.

This uncovered a bug in the new luaL_getsubtable function.
2012-04-01 16:43:40 +04:00
Alexander Gavrilov a9a6fbd8b5 Lua tweaks: a couple of functions, dfusion tweak, backtrace metadata. 2012-04-01 12:50:56 +04:00
Petr Mrázek 7ff728b6fc Track world and map changes separately for plugin_onstatechange 2012-04-01 02:56:54 +02:00
Petr Mrázek 209b261284 Get rid of MALLOC_FILL build option 2012-04-01 00:30:42 +02:00
Petr Mrázek 4bac6edd79 Merge https://github.com/rh73/dfhack 2012-04-01 00:29:00 +02:00
Alexander Gavrilov 9d6e26fa5f Fix crashing color_ostream::printerr due to vfprintf vs fprintf mixup.
Also enable heap clearing in gdb mode, and fix a few newlines.
2012-03-31 22:26:41 +04:00
Robert Heinrich 39787e9cd5 Renamed digging commands to uniformly start with 'dig*'(vdig -> digv etc). Added command digl, diglx (dig layerstone instead of veins). Updated readme.rst. 2012-03-31 15:41:55 +02:00
Alexander Gavrilov 0f41608ed4 Pull console output support and REPL out of dfusion into core lib. 2012-03-31 15:40:54 +04:00
Alexander Gavrilov 9384f0c842 Update lua to 5.2 and fix obvious breakage due to obsolete api. 2012-03-31 12:11:43 +04:00
Alexander Gavrilov 10b610669f Give some sensible looking names to the arrays in pregnancy_ptr. 2012-03-31 10:31:45 +04:00
Petr Mrázek a01f512733 Track structures 2012-03-31 01:33:14 +02:00
Petr Mrázek 543f3970db Tweak readme, bump version to 0.34.07 2012-03-31 01:13:21 +02:00
Petr Mrázek 5d8415c8d9 Merge https://github.com/warmist/dfhack
Conflicts:
	plugins/Dfusion/luafiles/init.lua
2012-03-30 20:32:57 +02:00
Alexander Gavrilov 81bc73f435 Follow a typo fix in flag name. 2012-03-30 10:44:52 +04:00
Quietust 07bb51946f Fix bug in MapCache - squash veins with the correct priority 2012-03-29 18:59:07 -05:00
Alexander Gavrilov ec48405f0a Fix mistake: static initialization code cannot access other static objects.
Specifically, the eid->type() call depends on the order of linking.
2012-03-29 22:56:06 +04:00
Petr Mrázek 004acdad4e Tweaks!
Strip commands.clear() from all plugins
Fix changeitem - a variable name has changed in item flags
2012-03-29 18:37:22 +02:00
Robert Heinrich cc54d5dfa9 Merge branch 'master' of git://github.com/angavrilov/dfhack
Conflicts:
	library/xml
2012-03-29 16:12:54 +02:00
Robert Heinrich 9b75373403 Merge branch 'master' of git://github.com/peterix/dfhack
Conflicts:
	library/xml
2012-03-29 16:03:12 +02:00
Robert Heinrich 88c914142b added plugin changeitem (change material type and base quality) 2012-03-29 15:33:54 +02:00
Alexander Gavrilov a9b7c74a23 Allow assigning NULL lightuserdata to pointers, and export a global.
Otherwise there is no way to specify NULL via recursive lua table assign.
2012-03-29 14:47:33 +04:00
Alexander Gavrilov 85c91c92d8 Implement __pairs and __ipairs for DF objects.
Structs enumerate fields in memory order in pairs().
Containers & biftields enumerate int indexes in ipairs, and
string keys in pairs (i.e. using index-enum for arrays).
2012-03-29 14:39:13 +04:00
Alexander Gavrilov 17ff235c81 Use codegen.out.xml instead of static.inc in cmake code generation rules.
Now only that file is guaranteed to always be overwritten.
2012-03-29 10:59:54 +04:00
Petr Mrázek d82120a3db More fixes
Include unistd.h in linux process file
Fix assert in autolabor
Don't print 'script missing' error on DF start
2012-03-29 02:49:44 +02:00
Petr Mrázek 757ad3334c Track structures 2012-03-29 00:27:03 +02:00
Petr Mrázek 6235d2e801 Merge https://github.com/angavrilov/dfhack 2012-03-28 19:53:10 +02:00
Quietust 95ec363a7f Merge branch 'master' of https://github.com/peterix/dfhack
Conflicts:
	library/LuaTypes.cpp
	library/LuaWrapper.cpp
2012-03-28 11:51:49 -05:00
Alexander Gavrilov e4e643f9d2 Clear the command vector during plugin load and unload to avoid confusion. 2012-03-28 18:47:03 +04:00
Alexander Gavrilov b7ff7681ac Merge remote-tracking branch 'peterix/master' 2012-03-28 15:07:13 +04:00
Petr Mrázek 06188da380 Track structures 2012-03-28 12:46:50 +02:00
Petr Mrázek 40cf5fe538 Track structures 2012-03-28 11:46:23 +02:00
Alexander Gavrilov 929657bed4 Disable pointer auto-vivification unless new is specified.
Since it is essentially allocating non-gc managed objects,
it can lead to memory leaks and shouldn't happen invisibly.
Also support using the 'assign' key to request assign()
from another object before processing the current map.
2012-03-28 17:00:07 +08:00
Alexander Gavrilov fe091de0b2 Fix F keys in keybindings: they obviously don't have unicode symbols. 2012-03-28 17:00:06 +08:00
Alexander Gavrilov b76bdad50f Implement recursive transfer of values from lua to c++ structures.
E.g. df.global.cursor = { x = 1, y = 2, z = 3 }. The lua data
must be represented by raw lua tables.

For structs, the entries in the table are assigned to matching fields.

For containers, if a 'resize' field is missing or nil, the table is
treated like 1-based lua array, and the container is resized to match
its # length. Otherwise, the field must be either an explicit number,
true or false. If it is true, the size is selected by the highest index
in the table. After that, entries are copied using 0-based indices.

For pointers, the table must match the target object. If the pointer
is null, the object is auto-allocated; this can be controlled using
the 'new' field, the value of which will be passed to df.new().
2012-03-28 16:58:51 +08:00
Alexander Gavrilov ee94894516 Disable pointer auto-vivification unless new is specified.
Since it is essentially allocating non-gc managed objects,
it can lead to memory leaks and shouldn't happen invisibly.
Also support using the 'assign' key to request assign()
from another object before processing the current map.
2012-03-28 11:28:42 +04:00
Alexander Gavrilov d6e6fc483f Fix F keys in keybindings: they obviously don't have unicode symbols. 2012-03-28 11:25:55 +04:00
Quietust be2a7af362 Merge branch 'master' of https://github.com/angavrilov/dfhack 2012-03-27 14:14:04 -05:00
Quietust 6656852fff win32 SetConsoleTextAttribute doesn't know what COLOR_RESET (-1) is 2012-03-27 13:22:45 -05:00
Alexander Gavrilov bc74c5984e Implement recursive transfer of values from lua to c++ structures.
E.g. df.global.cursor = { x = 1, y = 2, z = 3 }. The lua data
must be represented by raw lua tables.

For structs, the entries in the table are assigned to matching fields.

For containers, if a 'resize' field is missing or nil, the table is
treated like 1-based lua array, and the container is resized to match
its # length. Otherwise, the field must be either an explicit number,
true or false. If it is true, the size is selected by the highest index
in the table. After that, entries are copied using 0-based indices.

For pointers, the table must match the target object. If the pointer
is null, the object is auto-allocated; this can be controlled using
the 'new' field, the value of which will be passed to df.new().
2012-03-27 21:47:52 +04:00
Alexander Gavrilov 22d775f95c Fix sscanf parsing the memory map on linux, so that dfusion loads. 2012-03-26 21:05:24 +04:00
Petr Mrázek 4e78947b10 Track structures 2012-03-26 16:13:41 +02:00
Alexander Gavrilov 157f23be5c Fix warnings. 2012-03-26 12:42:05 +04:00
Alexander Gavrilov 00a5bfcf3e Work around a msvc issue with spurious specialization ambiguity errors. 2012-03-26 10:46:51 +04:00
Petr Mrázek 1a19e17695 Track structures, stonesense 2012-03-26 03:39:14 +02:00
Alexander Gavrilov d0090e9551 Fix lua wrapper: create one function identity instance per method.
Otherwise all methods of the same prototype are lumped into one.
2012-03-25 21:12:20 +04:00
Alexander Gavrilov 1d81cb56ba Make enum attributes accessible through the lua wrapper.
TODO: make them completely read-only.
2012-03-25 19:12:59 +04:00
Alexander Gavrilov 0412aaebe4 Add a delete() method to the objects in the lua wrapper. 2012-03-25 15:48:18 +04:00
Alexander Gavrilov 7209e4d3f2 Attach static methods to the type objects in the lua wrapper. 2012-03-25 15:20:58 +04:00
Alexander Gavrilov 8d345be6e7 Expose virtual methods in the lua wrapper. 2012-03-25 14:06:05 +04:00
Quietust 947adeac83 Silence warning 4482 2012-03-24 18:18:29 -05:00
Petr Mrázek 645e5eb2c1 track structures 2012-03-24 22:44:16 +01:00
Petr Mrázek 39f722339c Track structures 2012-03-24 17:10:45 +01:00
Alexander Gavrilov 517b2ffadb Merge remote-tracking branch 'peterix/master' 2012-03-24 16:30:07 +04:00
Alexander Gavrilov 0c7fc233bd Support resize/erase/insert for containers, and allow any index in BitArray. 2012-03-24 16:28:53 +04:00
Petr Mrázek 8a847dbaba Tweaks and cleanups
Removed t_virtual.
Made lua use C++ compiler
Removed many silly exception types from Error.h and renamed the rest.
Removed Brush classes from tiletypes plugin.
2012-03-24 12:13:51 +01:00
Alexander Gavrilov d865d54a90 Split LuaWrapper.cpp into two files. 2012-03-24 13:25:10 +04:00
Alexander Gavrilov 053bfe345c Implement allocation and copy for c++ objects in the lua wrapper. 2012-03-24 12:43:53 +04:00
Petr Mrázek 90de6a1b62 Track submodules 2012-03-23 22:59:40 +01:00
Alexander Gavrilov 2b1f8aa2bb Add a _field method that returns refs to struct and container items.
Hack: allocate ad-hoc pointer identities as full lua userdata.
2012-03-23 12:55:29 +04:00
Alexander Gavrilov 6b2006361d Add a _displace method that implements offsetting a pointer by an int. 2012-03-23 11:54:59 +04:00
Alexander Gavrilov 78437310d0 Add a sizeof method/function to retrieve object/type size and address. 2012-03-23 11:30:54 +04:00
Alexander Gavrilov ccc8fac166 Get rid of the write mode field table in metamethods.
Two separate tables can be confusing, e.g. if a builtin field
overrides a writable custom one only in the read table.
2012-03-23 10:56:29 +04:00
Alexander Gavrilov ead28db451 Remove the return type from lua_read, because it always returns 1. 2012-03-23 09:38:49 +04:00
Alexander Gavrilov 27824642d9 Minor refactoring of container indexing and object allocation. 2012-03-22 10:56:32 +04:00
Alexander Gavrilov ad10303cec Implement bitfields and add a _kind metadata field to types and objects. 2012-03-21 20:04:37 +04:00
Alexander Gavrilov 9b78fffe92 Support containers in the lua wrapper. 2012-03-21 13:26:53 +04:00
Alexander Gavrilov 73e138c9fd Support ordinary struct and class fields. 2012-03-20 21:34:27 +04:00
Alexander Gavrilov 6c661bcaa9 Add support for primitive type fields in lua wrapper. 2012-03-20 13:56:29 +04:00
Alexander Gavrilov dbbd9acfad Export the type tree with enum keys to lua. 2012-03-19 20:12:27 +04:00
Alexander Gavrilov 296d3a0af3 Skeleton type metadata for future use in lua bindings. 2012-03-19 16:59:11 +04:00
Alexander Gavrilov bfb226b92e Add a few comments. 2012-03-19 11:33:30 +04:00
Quietust cf58876a8e Need to return a value here 2012-03-18 14:42:36 -05:00
Alexander Gavrilov d4626f9751 Add unit professions and filtering on status. 2012-03-18 15:35:38 +04:00
Alexander Gavrilov e33414fa69 Export unit curse, squad, death and burrow info. 2012-03-18 13:52:39 +04:00
Alexander Gavrilov 415ae35dff Add RPC calls to query some global state. 2012-03-18 12:09:06 +04:00
Alexander Gavrilov b9ecd03fe2 Make the server suspend the core around calls unless disabled.
I expect the majority of methods will have to suspend the core
first thing anyway, so this will reduce typing and bugs.

Also get rid of the "me->" ugliness by splitting threadFn.
2012-03-18 11:04:15 +04:00
Alexander Gavrilov aa63493bb8 Add a ListSquads request. 2012-03-17 20:04:15 +04:00
Alexander Gavrilov 3d80a1ee35 Use a more obscure serialize method to avoid recalculating byte size. 2012-03-17 17:52:23 +04:00
Alexander Gavrilov 368b92f81f Add a RPC call to retrieve unit info.
For performance reasons, material flag arrays are changed to use ints,
with enum item name mappings retrievable via a different RPC call.
2012-03-17 17:41:56 +04:00
Alexander Gavrilov 15ccfbb086 Add a ListMaterials remote call for bulk download of basic material info. 2012-03-17 15:36:42 +04:00
Alexander Gavrilov 58eb199036 Add many new template functions for enums & bitfields.
An incompatible change: ENUM_KEY_STR returns std::string now.
The old behavior is available via enum_item_key_str function.
2012-03-17 12:52:22 +04:00
Alexander Gavrilov 14d6a62e1d Move CoreService to a separate file. 2012-03-17 12:09:30 +04:00
Petr Mrázek 3168a2ef62 Add a tiletype function to get basic shapes from shapes. Track modules. 2012-03-16 20:41:07 +01:00
Alexander Gavrilov 976fa18d72 A number of interface tweaks in RemoteClient.
- Associate a default output stream with the whole connection.
  If not explicitly specified in the constructor, uses stdout.
- Add methods that use this default stream to RemoteFunction.
- Add easily usable wrappers for CoreSuspend and CoreResume.
2012-03-16 14:11:46 +04:00
Quietust 5464564ef6 Merge branch 'master' of git://github.com/angavrilov/dfhack
Conflicts:
	library/xml
2012-03-15 20:12:01 -05:00
Quietust 4d66218783 Update bprobe to print civzone subtypes 2012-03-15 20:09:56 -05:00
Petr Mrázek c72fb76316 MSVC fixage for the new socket API 2012-03-15 22:05:33 +01:00
Quietust 52aca6e05a Rename "interface" to "interfacest" and just avoid all of these MSVC problems 2012-03-15 13:00:47 -05:00
Quietust 57a41a0deb Fix indentation 2012-03-15 11:50:38 -05:00
Alexander Gavrilov f84b1539a8 Change to the traits representation of enum and bitfield properties. 2012-03-15 20:46:08 +04:00
Petr Mrázek e5efbc5895 Merge https://github.com/angavrilov/dfhack 2012-03-15 15:40:35 +01:00
Petr Mrázek 1ac8025025 Merge https://github.com/angavrilov/dfhack
Conflicts:
	plugins/workflow.cpp
2012-03-15 14:43:05 +01:00
Alexander Gavrilov 4eb4811777 Make the DF suspend lock recursive, and add RPC calls for batch suspend.
The idea is that if you have to execute many RPC calls, it is
faster to suspend once. The service class takes care to auto-resume
in the destructor in case the client just disappears.
2012-03-15 15:33:19 +04:00
Alexander Gavrilov 605ee9669a Plugin-exported functions now actually work. 2012-03-15 14:06:50 +04:00
Alexander Gavrilov 87f925e72e Add support for exporting functions from plugins, with example in rename.
TODO: test by actually calling them remotely.
2012-03-15 13:01:23 +04:00
Alexander Gavrilov e7851f5abd Improve support for void RPC functions, dfhack-run, etc. 2012-03-15 11:07:43 +04:00
Alexander Gavrilov 560e977f05 Implement trivial RPC interface for dfhack via TCP & protobufs.
Use it to make an executable capable of calling commands remotely.
2012-03-14 19:57:29 +04:00
Alexander Gavrilov c42e2ff053 Support crafts and add a couple of options in workflow. 2012-03-14 12:09:02 +04:00
Alexander Gavrilov a05cbcc2de Rename the world substruct with the save directory name. 2012-03-14 10:56:30 +04:00
Petr Mrázek d75908b95c Merge https://github.com/ClaytonHughes/dfhack
Conflicts:
	library/Core.cpp
	plugins/workflow.cpp

Just had to fix a few minor things.
2012-03-14 01:52:58 +01:00
Quietust a4ce1fff13 Update MapCache to allow decoding tiles underneath ice and constructions, and allow revflood to take those into account 2012-03-13 15:40:38 -05:00
Quietust 8e933fb75e Ignore the .rule file too 2012-03-13 12:17:00 -05:00
Petr Mrázek 9079ffa4ff Add clsocket as a dependency for dfhack lib. 2012-03-13 17:10:46 +01:00
Petr Mrázek eb4757043b Move depends out of main library, make them (static) libraries. 2012-03-13 14:46:48 +01:00
Petr Mrázek b3f6bccdf6 Merge branch 'cleanups' of https://github.com/plaes/dfhack 2012-03-12 15:05:44 +01:00
Petr Mrázek ea8a2ad9a2 Remove references to never implemented commands... 2012-03-12 15:05:23 +01:00
Clayton Hughes 4cb8995a05 Fixed script loading improperly checking for errors.
Also closed the file for good measure.  I couldn't find any documentation that said that ~ifstream() did this.
2012-03-12 00:33:59 -07:00
Clayton Hughes 445b580ad1 Added 'script' command to load DFHack scripts from file. Syntax is the same as dfhack.init / interactive. 2012-03-11 23:31:29 -07:00
Petr Mrázek db93b548db Check for a valid plugin_shutdown function when unloading plugins
Fixes related segfault
2012-03-11 23:07:38 +01:00
Petr Mrázek 32cc4c8928 Fix MSVC build error related to min and max macros
Tinythread was leaking those.
2012-03-10 20:47:10 +01:00
Petr Mrázek 75113b715a Misc fixes for warnings... 2012-03-10 16:03:11 +01:00
Petr Mrázek cff654bca6 Track structures 2012-03-10 15:51:50 +01:00
Petr Mrázek 003a0f9eb8 Merge https://github.com/angavrilov/dfhack 2012-03-10 15:51:45 +01:00
Petr Mrázek 50b7db982f Fix zlib, protobuf.
Zlib is now found using CMake on linux and set to harcoded paths
on windows, yet uniform in use throughout the build system.

protobuf-lite now compiles under MSVC properly.
2012-03-10 15:31:46 +01:00
Alexander Gavrilov 8cc82d5876 Make plugins accept explicit output stream references.
This is an incompatible change to the plugin ABI.

The Console is not thread-safe unless used indirectly
via color_ostream_proxy, so everything should use their
per-thread stream.
2012-03-10 15:55:42 +04:00
Alexander Gavrilov b2737e2bed Pull out a colored text output interface out of the Console class. 2012-03-10 13:29:33 +04:00
Petr Mrázek c260aca3f1 Merge https://github.com/angavrilov/dfhack 2012-03-10 02:15:34 +01:00
Alexander Gavrilov 75c569b097 Add some experimental message definitions to the main library. 2012-03-09 21:42:22 +04:00
Alexander Gavrilov edf77cf270 Link protobuf to dfhack core as a shared library.
- Change protobuf libraries to build as DLLs.
- Move some stream features to the lite library.
- Install the lite library and use it from dfhack.

Note that:

- A couple of protobuf headers had to be tweaked.
- The lite library is used because the full one is
  absolutely incompatible with reloading plugins.
- Shutting down protobuf also can't be allowed.
2012-03-09 19:46:21 +04:00
Clayton Hughes 47bbe1a3ff Fixed up formatting, debug messages in new Windows Hotkey stuff. 2012-03-09 01:07:47 -08:00
Clayton Hughes 3d1ce32785 Windows now detects hotkeys using the correct keyboard layout. 2012-03-09 00:56:09 -08:00
Petr Mrázek 3598282ed7 Update readme, track df2mc and structures 2012-03-07 23:40:22 +01:00
Petr Mrázek b6df6c2eff Track structures 2012-03-07 21:02:46 +01:00
Alexander Gavrilov 9b071097de Fix advtools metal-detector
Trader items are now inside tables, and thus not in the block
item lists. Thus it is necessary to scan the global item vector
and look up blocks by coords.
2012-03-07 18:10:53 +04:00
Petr Mrázek f83db86258 Use tile buffers! 2012-03-05 02:24:02 +01:00
Petr Mrázek a45fc82743 First pass at windowing, track df2mc, stonesense 2012-03-05 01:34:04 +01:00
Petr Mrázek 6aa2a3e676 Track structures 2012-03-04 11:58:41 +01:00
Petr Mrázek 99abd4102d Merge https://github.com/quietust/dfhack 2012-03-04 11:58:37 +01:00
Petr Mrázek d33e9a9770 Sort layer materials in prospector by depth. 2012-03-03 23:18:12 +01:00
Quietust 2b2c30ac43 DEEP_ANY got renamed to SPECIAL 2012-03-03 16:03:35 -06:00
Petr Mrázek 7fe8762852 Get rid of Simple namespace, Gui module is now a namespace. 2012-03-03 14:38:24 +01:00
Petr Mrázek 022822277d Fix the ugly Materials code... 2012-03-01 01:52:13 +01:00
Petr Mrázek 2682c54fce Fix horrible errors and make MSVC shut upt about non-issues. 2012-03-01 01:29:55 +01:00
Petr Mrázek c6fd508ee3 Fix possible source of vile errors. 2012-03-01 00:33:11 +01:00
Petr Mrázek a322b3ad87 Track structures 2012-02-29 17:44:51 +01:00
Petr Mrázek f0fc0d4428 Bump version to 0.34.03-r1, update docs to list new plugins. 2012-02-28 22:30:55 +01:00
Petr Mrázek a13717212a Track structures 2012-02-28 19:05:55 +01:00
Petr Mrázek d1a1c790ec Paint DFHack in corner if supported. 2012-02-28 18:19:13 +01:00
Petr Mrázek 95ac3db542 Fix normal hooks. 2012-02-28 12:59:02 +01:00
Petr Mrázek 731472a478 Add eggy hooks (linux only for now) 2012-02-28 03:37:56 +01:00
Petr Mrázek f8721c88b5 dev version. update structures, stonesense 2012-02-27 20:10:31 +01:00
Petr Mrázek 8afafd0430 Get rid of ntdll, update stonesense 2012-02-25 22:59:32 +01:00
Petr Mrázek 75bec0dfb2 fix spatter objects 2012-02-25 21:17:45 +01:00
Alexander Gavrilov ad7b9d42a1 Add a command for swapping body with another units in adventure mode.
Based on dfusion code, with lots of safety checks added. Supports two
swap modes: transient and permanent; the former does a minimal change
and is intended for managing companion inventory. The permanent one
performs all known actions necessary to turn it into the real adventurer.

Note: the transient mode is a hack and may cause the game to crash
      if not reverted while within range of the real adventurer unit.
2012-02-25 17:08:05 +04:00
Priit Laes 1299b0d4c6 Don't compile Lua on UNIX 2012-02-23 13:49:07 +02:00
Petr Mrázek 6696e79838 Disable 34.01 symbol tables 2012-02-23 09:02:10 +01:00
Petr Mrázek 2b761e450f Add the init file to builds, mention it in readme. 2012-02-23 08:57:11 +01:00
Petr Mrázek 2371b93b3d move sortable to top level 2012-02-22 23:22:41 +01:00
Petr Mrázek 390859dd98 Update xml 2012-02-22 22:58:33 +01:00
Petr Mrázek 58e3813d56 Fix more MSVC fail, make console recognize 'man' command. 2012-02-22 19:54:07 +01:00
Petr Mrázek a9c9ac98fe Silence some MSVC warnings. 2012-02-22 19:28:40 +01:00
Petr Mrázek 15cc08debc Fix the fail. 2012-02-22 19:02:06 +01:00
Petr Mrázek 0807baf0c0 Merge https://github.com/mikestewart/dfhack 2012-02-22 15:22:19 +01:00
Petr Mrázek 8ee27e182a Hidden weather command raw value override 2012-02-22 15:21:29 +01:00
Mike Stewart baea253578 Merge remote-tracking branch 'upstream/master' 2012-02-21 23:31:53 -08: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
Petr Mrázek 34c9c2d663 Fix stonesense, MSVC fail 2012-02-21 18:30:31 +01:00
Petr Mrázek 2cd2ee9b0c New plugin interface 2012-02-21 18:19:17 +01:00
Petr Mrázek 0b9e849096 Update submodules, sort 'ls' output. 2012-02-21 15:21:50 +01:00
Petr Mrázek 931121e5fd Update structures 2012-02-20 17:55:33 +01: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 7c7cf0b302 Don't throw exceptions on dummy global-address elements. 2012-02-20 08:30:33 +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
Petr Mrázek 27e3e0f2c2 Update submodules 2012-02-19 20:08:29 +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 1511a6b7ed Use hexadecimal numbers in tilesieve 2012-02-18 15:07:55 +01:00
Petr Mrázek fa6ec63535 Add zoom to kittens, fix tilesieve. 2012-02-17 05:30:34 +01:00
Petr Mrázek 28059a7f35 Tilesieve devel tool 2012-02-16 16:22:05 +01:00
Petr Mrázek 1bf5080828 Fixage. Runs with 34.01 2012-02-15 21:35:44 +01:00
Petr Mrázek 448e270421 Merge https://github.com/quietust/dfhack
Conflicts:
	plugins/mapexport/mapexport.cpp
2012-02-14 09:59:33 +01:00
Petr Mrázek bdbfbf5988 Fix catsplosion. 2012-02-14 09:37:30 +01:00
Quietust 2fd2e3dce2 Get rid of t_effect_40d and EFFECT_TYPE - they're in the XML now, and they're actually correct too 2012-02-13 21:56:47 -06:00
Quietust 2ddd3df3a8 When searching for tile types, only require candidate tile to match variant or special if it actually has them 2012-02-13 20:32:41 -06:00
Quietust b152a40e83 Fix remaining issues 2012-02-13 19:56:55 -06:00
Quietust d15d38d536 Finish conversion, fix compile errors 2012-02-13 19:17:38 -06:00
Quietust d0a8c2edd8 Move TileTypes to XML, part 1 - a bunch of stuff is now broken 2012-02-13 16:56:33 -06:00
Petr Mrázek f600928ec1 Move catsplosion, tweak for build targets under MSVC. 2012-02-13 17:43:41 +01:00
Quietust 9f43d61c2c Fix MapCache crash when in Arena mode 2012-02-13 09:56:35 -06:00
Alexander Gavrilov e39852ff2e Make BitArray(unsigned) treat the argument as the number of bytes. 2012-02-12 18:06:00 +04:00
Alexander Gavrilov 1047c2517d Add size-defining constructors for BitArray. 2012-02-12 17:44:19 +04: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 ed53ee7031 Update to use the new symbols file. 2012-02-11 19:24:44 +01:00
Petr Mrázek 8527547cbe Merge branch 'master' into purge
Conflicts:
	library/DataDefs.cpp
2012-02-11 18:48:17 +01:00
Alexander Gavrilov f469fab1e6 Use globals defined by the latest codegen. 2012-02-11 16:27:12 +04:00
Petr Mrázek aee5efe7c0 Make it run on Windows, re-added more missing globals to memory.xml 2012-02-10 02:35:51 +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
Petr Mrázek f7d8635be1 Remove fat from memory.xml, simplify memory.xml loading, break
everything.
2012-02-08 13:22:42 +01:00
Quietust 0d11d1b79c Synch with structures changes 2012-02-07 15:37:21 -06:00
Petr Mrázek 0a5ee01f6e update structures 2012-02-06 10:04:58 +01:00
Petr Mrázek 8f1a2ebf7f Added missing keybinding mention to 'ls', DFusion hotfix. 2012-02-06 04:47:13 +01:00
Petr Mrázek 0c79682fc5 Update structures 2012-02-06 01:35:07 +01:00
Petr Mrázek e7f8e539f7 Update structures 2012-02-05 20:51:15 +01:00
Petr Mrázek 2b22b0b336 Make dwarf export optional. Update structures. 2012-02-05 20:16:00 +01:00
Petr Mrázek 1bcf96f4e8 Update structures 2012-02-05 19:55:32 +01:00
Alexander Gavrilov ec5f3cc4b3 Update fixpositions to match the new data definition naming. 2012-02-05 16:13:19 +04:00
Petr Mrázek e51e4f6bd2 More docs work. 2012-02-05 06:02:44 +01:00
Mike Stewart 4b3a2bfe05 Merge. 2012-02-03 23:29:05 -08:00
Petr Mrázek 2ff994c18f Make perl executable tweakable. 2012-02-04 03:43:14 +01:00
Alexander Gavrilov 878bc3d3a1 Implement pre-embark estimate in prospector.
Requires careful tuning of the vein density computation.
2012-02-02 22:14:49 +04:00
Petr Mrázek 22aeb6e2ac Added linkage to libdl, fix for mode. 2012-02-01 04:12:15 +01:00
Mike Stewart 7d55b84545 Merge remote-tracking branch 'upstream/master' 2012-01-31 11:45:20 -08:00
Petr Mrázek e5b1433d44 Update structures. 2012-01-31 18:52:02 +01: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
Mike Stewart 09f197fa6d Fixed mapexport build on Linux. 2012-01-31 08:42:25 -08:00
Quietust a82f4c9138 Cleanup code to get rid of MSVC warning C4482 2012-01-31 10:17:27 -06:00
Mike Stewart dcc02506b7 Merge remote-tracking branch 'quietust/master' 2012-01-29 12:05:30 -08:00
Mike Stewart 3dece3395d Merge remote-tracking branch 'upstream/master' 2012-01-29 12:04:33 -08:00
Quietust 70454842ae Add missing direction indicators to smooth wall tiles, and cleanup spacing 2012-01-29 11:38:34 -06:00
Alexander Gavrilov e5be2c75c2 Merge remote-tracking branch 'q-github/master' 2012-01-29 14:14:05 +04:00
Mike Stewart 05c37af4c9 Mapexport now puts stuff out to a binary file compressed with zlib. Added liquid type and flow size to output as well. 2012-01-28 23:55:42 -08:00
Mike Stewart bd26c54259 Merge remote-tracking branch 'quietust/master' 2012-01-28 13:33:26 -08:00
Mike Stewart b07d3b25b5 Merge upstream/master 2012-01-28 13:32:48 -08: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 9e40228767 Adjust Maps typedefs a bit 2012-01-28 13:54:59 -06:00
Alexander Gavrilov fa4fb4b407 Modify a number of commands to use CR_WRONG_USAGE for displaying help. 2012-01-28 16:03:56 +04: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
Mike Stewart b89cd43b85 More work on getting the map exporter up to speed. 2012-01-27 17:32:52 -08: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 cfca04f2d2 Cleanup TileTypes
* Group tiletypes by 0x10 instead of by 10
* Change tile type parameters to use int16_t consistently
* Various description fixes
2012-01-26 10:38:18 -06:00
Petr Mrázek 0375be549c Merge https://github.com/mikestewart/dfhack 2012-01-26 05:37:50 +01:00
Petr Mrázek 850ede3e72 Sync structures. 2012-01-26 05:36:35 +01: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
Mike Stewart e68cdee95b Merge remote-tracking branch 'quietust/master' 2012-01-24 12:27:38 -08: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 02d75e2c94 Building module is gone, so this function doesn't exist anymore 2012-01-24 10:59:26 -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
Mike Stewart 031119ac73 Made mapexport build with latest Material changes. 2012-01-22 15:47:39 -08:00
Mike Stewart 0d79fd9b15 Merge remote-tracking branch 'quietust/master' 2012-01-22 15:31:34 -08: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
Mike Stewart debeebb7c4 Merge remote-tracking branch 'quietust/master' 2012-01-21 11:26:12 -08: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
Quietust d504479fc2 Merge https://github.com/angavrilov/dfhack 2012-01-21 09:59:54 -06:00
Quietust d9c4f259a0 These will become necessary shortly 2012-01-21 08:59:19 -06:00
Alexander Gavrilov b0cda1526e Adjust FOR_ENUM_ITEMS to account for ENUM_LAST_ITEM being inclusive now. 2012-01-21 18:50:44 +04:00
Alexander Gavrilov 2449b80010 Update to match the data definitions. 2012-01-21 17:18:53 +04:00
Mike Stewart df08914549 Better fix for building protobufs with C++0x turned on. 2012-01-20 16:21:50 -08:00
Mike Stewart bf60f5975a Cleaned up the protobuf and mapexport build scripts a lot, and added two more simple proto files to store map geometry information. 2012-01-20 11:21:29 -08:00
Mike Stewart 9b0b0d53f9 Merge remote-tracking branch 'quietust/master' 2012-01-20 09:47:32 -08:00
Mike Stewart 941c643b5c Cleaned up the protobuf build a bit, and made git ignore files generated in doing so. Fixed building mapexport on Linux by forcing CMake to create a directory for protobuf output files. 2012-01-20 09:17:08 -08: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
Mike Stewart 1e59811e65 Fixed check for old GCC versions. 2012-01-19 14:55:10 -08:00
Mike Stewart 494a4202df Added Google Protocol Buffers to the library dependencies folder (though nothing yet depends on it). This definitely works in Linux, but needs checking in Windows. 2012-01-19 14:44:01 -08: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 e2d7359bdd Add the gps global to Memory.xml. 2012-01-19 17:26:21 +04: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 a9eb555b99 Get rid of t_itemimprovement (wasn't even used) 2012-01-16 20:41:09 -06:00
Quietust 7c5835d318 t_itemref -> df::general_ref 2012-01-16 20:40:29 -06:00
Quietust c18619520d df_contaminant -> df::contaminant 2012-01-16 20:18:40 -06:00
Quietust 64b55acf37 df_item -> df::item, t_itemflags -> df::item_flags 2012-01-16 20:16:16 -06:00
Quietust 97bae19c13 Update BitArray to automatically grow whenever setting/toggling bits beyond the end 2012-01-15 18:08:35 -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
Alexander Gavrilov 53e9a1659b Add automatic drybucket and melting to workflow. 2012-01-12 20:07:53 +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
Quietust 24576ffe19 Silence annoying warning in MSVC 2012-01-11 08:54:54 -06:00
Petr Mrázek cc2ac0b04f Merge https://github.com/angavrilov/dfhack
Conflicts:
	library/xml
2012-01-10 19:50:13 +01:00
Petr Mrázek 1d4b9ac318 Track structures 2012-01-10 19:47:48 +01: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
Alexander Gavrilov 22071e2d51 Update data defs. 2012-01-08 16:10:38 +04:00
Petr Mrázek da2b00d480 Sync structures 2012-01-08 07:02:05 +01: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 87009c0535 Add a plugin that protects specific repeat jobs from disappearing.
If they do disappear, they are re-added in a suspended state.
2012-01-07 21:47:23 +04: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
Alexander Gavrilov 0e90e6b78e Support multi-valued enum attributes. 2012-01-06 22:08:09 +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 e520a1d43b Fix building coord variables. 2012-01-06 00:24:00 +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 8e993fedc3 Update df structures. 2012-01-05 23:51:47 +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 4a59690968 Don't print empty parentheses without any flags to fill them. 2012-01-04 20:22:56 +04:00
Alexander Gavrilov 284009e873 Add a hotkey command to duplicate jobs in workshops. 2012-01-04 19:39:38 +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 1d1cd63800 Implement printing job details. 2012-01-03 22:56:05 +04:00
Alexander Gavrilov f8814909a9 Move the MaterialInfo class to the main library. 2012-01-03 19:25:55 +04:00
Alexander Gavrilov fb736a8556 Support more ways to binsearch in a vector. 2012-01-03 13:07:49 +04:00
Alexander Gavrilov 326c58f793 Add a plugin to tweak inorganic materials in jobs.
It also auto-seeks in the build item list if used in that context.
2012-01-02 18:46:24 +04:00
Alexander Gavrilov bfcaca9266 Update xml defs with more ui info. 2012-01-02 15:18:23 +04:00
Alexander Gavrilov 6476d61e59 Update structure definitions & add the fixwagons plugin from Q. 2012-01-01 23:05:45 +04:00
Petr Mrázek 3f9e1b0c2b Update xml 2012-01-01 04:26:22 +01:00
Petr Mrázek 6029949ca3 Update library/xml so things actually build. 2012-01-01 03:46:36 +01:00
Petr Mrázek f2a69188ea Use submodule for memory structure definitions (df-structures). 2012-01-01 03:34:29 +01:00
Petr Mrázek 52dfa842cc Add missing MiscUtils.cpp 2011-12-31 13:14:08 +01: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 1284b30f79 Merge https://github.com/angavrilov/dfhack 2011-12-31 01:40:08 +01:00
Alexander Gavrilov 2222757e77 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-30 23:25:50 +04:00
Alexander Gavrilov 4aa77f5530 Execute commands from the dfhack.init file on startup. 2011-12-30 23:11:34 +04:00
Alexander Gavrilov b71e577771 Allow specifying parameters in hotkey commands.
Now that hotkeys can be set to arbitrary strings, tokenize them.
2011-12-30 18:27:55 +04:00
Alexander Gavrilov 53346328e8 Notify plugins about game being loaded or unloaded.
As a test, make seadwatch deactivate on these events.
2011-12-30 18:12:15 +04:00
Espen Wiborg 1a88df201c Traits are active if MORE than 10 away from 50 2011-12-30 10:20:16 +08:00
Petr Mrázek e6ff6b04fc Merge https://github.com/warmist/dfhack 2011-12-30 03:12:29 +01:00
Alexander Gavrilov 298e2fe92d Add a plugin to rename squads and hotkeys (without the 9 char limit). 2011-12-29 17:37:07 +04:00
Alexander Gavrilov 5173a1235b Fix plugin reloading. 2011-12-29 16:46:08 +04:00
Alexander Gavrilov b14e2a0c0d Update the XML definitions. 2011-12-29 16:46:08 +04:00
Alexander Gavrilov d513e75365 Use the updated code generator with support for vtables & constructors. 2011-12-29 16:46:01 +04:00
Warmist 2643e0c5a7 Merge branch 'master' of git://github.com/peterix/dfhack 2011-12-28 22:49:31 +02:00
Petr Mrázek 51dae5a5dc Fix for minor MSVC error. 2011-12-24 14:34:10 +01:00
Petr Mrázek e9f9f9b92e Merge https://github.com/angavrilov/dfhack 2011-12-24 14:27:58 +01:00
Petr Mrázek 59c32b1ee9 Some changes required on windows. 2011-12-24 14:27:35 +01:00
Alexander Gavrilov 2eb56d0480 Make strongly-typed 'any virtual class' pointers optional.
It seems they might not work properly on msvc.
2011-12-24 17:17:01 +04:00
Alexander Gavrilov 81ad287c06 Generate very simple static functions to find objects in global vectors. 2011-12-24 16:22:10 +04:00
Warmist dc78e99f75 Added getKeys to OffsetGroup (for easy lua access to all things that memory.xml has) 2011-12-24 13:53:59 +02:00
Alexander Gavrilov 79ac2a781a Add infrastructure necessary to use the generated headers.
As a usage example, allow toggling water level display and idlers,
and implement a ui tweak for easily copying stockpiles.

Also disable df2mc by default - default options shouldn't
require anything not in the base package.
2011-12-24 14:51:58 +04:00
Alexander Gavrilov 0b5a470a38 Add header generation from xml. 2011-12-24 14:38:28 +04:00
Petr Mrázek b36e5ac248 Add missing files. 2011-12-07 20:50:37 +01:00
Petr Mrázek 647916e109 Graphic module 2011-12-07 20:37:09 +01:00
Petr Mrázek f7d78539d3 Renaming Creatures to Units 2011-12-02 10:56:40 +01:00
Petr Mrázek 9dba6003bc Small Items tweak. 2011-11-30 07:42:59 +01:00
Petr Mrázek 57b5ed8fa7 Made invalid tile types really invalid, license and unused depends cleanup. 2011-11-25 18:54:50 +01:00
Petr Mrázek 44dad25690 No nullptr, propector -> prospect 2011-11-14 09:24:36 +01:00
Petr Mrázek 7e475970fb Fix crash when using load, unload and reload commands. 2011-11-07 10:55:18 +01:00
Petr Mrázek 2c27119d85 Set CXXFLAGS properly to ensure compatibility with i686 systems. 2011-11-06 21:16:16 +01:00
Petr Mrázek 9968d387a0 Add zlib as windows depend for df2mc, fix md5 on windows. 2011-11-06 03:26:24 +01:00
Petr Mrázek 9be4092c7f creature thoughts 2011-11-06 01:22:11 +01:00
Petr Mrázek 9dca825ef7 Fix include in md5 (memory.h is obsolete). 2011-11-04 19:24:04 +01:00
Petr Mrázek da21fa1d79 MATERIAL_SOIL tweak 2011-11-04 18:51:52 +01:00
Petr Mrázek 321f9e589e Switched out md5 implementation for a different one. 2011-11-04 09:33:33 +01:00
Petr Mrázek af46b262b5 More init hardening. 2011-11-04 09:08:29 +01:00
Petr Mrázek 0f42dee97a More material changes. 2011-11-03 05:01:25 +01:00
Petr Mrázek 4f0695a6d5 Messing with materials. 2011-11-03 04:30:59 +01:00
Petr Mrázek a6eea1adfd More checks added to MD5. 2011-11-03 02:40:49 +01:00
Petr Mrázek f0417e12dd Hardening. 2011-11-01 13:06:27 +01:00
Petr Mrázek 98cab0e9ad Really fix linux Console. 2011-10-31 04:17:35 +01:00
Petr Mrázek 84e1a95205 Fix race condition in Linux version of Console. 2011-10-31 03:34:22 +01:00
Petr Mrázek 7f6fa2a008 Add an enum for base material types. 2011-10-30 21:32:43 +01:00
Petr Mrázek 063894276c Tiny type fixes for spatter veins, updated df2mc. 2011-10-30 15:25:29 +01:00
Petr Mrázek dc12c41d86 Fix kitchen exclusion class not being exported. 2011-10-30 03:26:50 +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 a3a1629521 Fix seedwatch some more. 2011-10-30 02:52:25 +01:00
Petr Mrázek 4688f6557e Fix problem with magic numbers in fastdwarf. 2011-10-28 06:22:07 +02:00
Petr Mrázek e74aae6f3e Rename some plant material variables 2011-10-28 05:25:49 +02:00
Petr Mrázek bfc8df3005 Added plant raw struct 2011-10-28 04:40:35 +02:00
Petr Mrázek 61be3413e3 Make seedwatch work on linux, still with ugly hacks. 2011-10-27 03:31:13 +02:00
Petr Mrázek 335ad28fe5 Add item contaminants vector to df_item, fixed up cleanitems plugin to use it. 2011-10-27 01:08:59 +02:00
Petr Mrázek c8cd307bcf Added missing method stubs to df_item. 2011-10-26 23:47:45 +02:00
Petr Mrázek 1f0e91c3d0 Add enum for item types. 2011-10-26 23:12:20 +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 998d85919f Windows offset for save name, some tweaks, updated stonesense submodule to current. 2011-10-23 22:23:54 +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 83ae8d6c12 Creature likes (at least the structures are back), malloc wrapper that sets memory to 0xCC. 2011-09-25 01:29:55 +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 71de950919 Possible creature variables 2011-09-21 21:48:54 +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 d47e9b35a0 Update stonesense, fix small text alignment error. 2011-09-04 14:16:12 +02:00
Petr Mrázek e48f8af9a8 Remove stray include. 2011-08-31 14:41:46 +02:00
Petr Mrázek e5f0c7637e Fixes to help/readme entries related to digcircle. 2011-08-27 15:12:03 +02:00
gsvslto b173a59a42 Change < to " for dfhack/BitArray.h include
Unchanged, I got and error when building in MSVC++ 2010 Express

Not sure if line endings are UNIX as online edit from Windows machine
2011-08-23 10:57:37 +02:00
gsvslto 90163c4be5 Added includes for <maps> and <vector>
Without, I got errors when building in MSVC++ 2010 Express

Not sure if line endings are UNIX as online edit from Windows machine
2011-08-23 10:48:28 +02:00
Petr Mrázek 4922be0a75 Circle dig designation tool. 2011-08-22 15:18:35 +02:00
Petr Mrázek b1868f802c Make autodump fix the block-local item ID vectors. 2011-08-21 23:02:05 +02:00
Petr Mrázek d2d4ce898d Added weather plugin info to readme, option to make the console not catch 'CTRL+C' on linux. 2011-08-18 22:09:30 +02:00
Petr Mrázek 09cb6a6828 Added exporatory mining patterns tool. 2011-08-17 13:26:03 +02:00
Petr Mrázek 03e3e9002b Linux debug... 2011-08-16 23:39:18 +02:00
Petr Mrázek a0f99ef707 Many tweaks to plugins, reorganized the build system and removed more cruft. 2011-08-14 08:42:21 +02:00
Petr Mrázek 81e6bce92c Command history separated from Console. 2011-08-13 14:42:09 +02:00
Petr Mrázek d93032de3b Fix formatting in Core.cpp 2011-08-07 08:41:46 +02:00
Petr Mrázek fedb6150f4 Merge https://github.com/warmist/dfhack 2011-08-06 21:00:54 +02:00
Petr Mrázek cb93b5542e Fix problem with running interactive commands from hotkeys. 2011-08-06 04:37:29 +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
Warmist 4b9786f8af Thread safety for void* sharing part of DFHack::Core 2011-08-04 22:33:54 +03:00
Warmist 9985b5de0f DFHack::Core modification: added a way to share void* between plugins and/or plugin unloads. 2011-08-04 22:00:21 +03:00
Petr Mrázek 6cc66d3434 Merged grow and immolate tools into plants plugin. 2011-08-02 02:21:25 +02:00
Petr Mrázek b0659224fa Fix windows build. 2011-08-01 06:30:29 +02:00
Petr Mrázek fa970fc8fa Hotkey commands work with TEXT mode (limited). 2011-08-01 04:40:23 +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 a36d8b0619 Merge https://github.com/warmist/dfhack 2011-07-31 23:29:34 +02:00
Petr Mrázek 262e915b93 Make building DFusion optional. 2011-07-30 22:08:24 +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
Warmist bc23cc9eca Made Process::setPermisions functions, to set memory page's permisions 2011-07-28 01:00:12 +03:00
Petr Mrázek 2a95a4edf2 Windows part of mutex rewrite. 2011-07-27 14:22:37 +02:00
Petr Mrázek 2470e564a9 Linux-side of threading function rewrite. Windows=broken. 2011-07-27 05:59:09 +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
Matthew Cline 41130cb613 ClassNameCheck tracks class names used
Each time the ClassNameCheck constructor is called it adds to the list
of class names given to it, which can later be retrieved by a class
static method.
2011-07-24 21:24:34 -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 97ee2a2a39 Merge pull request #95 from matthew-cline/TOPIC-pregnancy
creatures: read and write pregnancy counter
2011-07-23 08:07:34 -07:00
Petr Mrázek caf6f881df Minimize notes module. 2011-07-23 03:25:42 +02:00
Petr Mrázek 35cf108040 Fix up material color names and basic flag array type in Materials. 2011-07-22 03:54:09 +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
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
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
doomchild 9b6f5d2ac1 first commit 2011-03-31 09:45:53 -05: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
Petr Mrázek 6cd08c3f31 Suspend all DF threads on Windows. 2011-03-31 01:14:08 +02:00
Petr Mrázek d6bd4d47fb Revert "Hide depend headers better, upgraded tinyxml"
This reverts commit 54a580ac68.

Conflicts:

	CMakeLists.txt
	library/CMakeLists.txt

Signed-off-by: Petr Mrázek <peterix@gmail.com>
2011-03-31 01:12:50 +02:00
Petr Mrázek e61a907da1 Merge https://github.com/doomchild/dfhack 2011-03-30 14:35:41 +02:00
Petr Mrázek 37b0dbe02e 31.25, tweaks to make dfliquids and dfreveal better 2011-03-30 14:27:47 +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 b3455b0192 MSVC is a pile of fail that can't even align variables in a struct. 2011-03-28 11:22:21 +02:00
Petr Mrázek 75b44ba33b Fix possible bug in zero length C string reading 2011-03-28 02:13:32 +02:00
Petr Mrázek cfd309bf70 fix C string idiocy. 2011-03-28 02:09:13 +02:00
Petr Mrázek 8ef1ef1985 31.23 Windows support, tiny little tweaks to liquids tool. 2011-03-27 00:02:23 +01: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 34a687b95a Make sure things build with playground turned on. 2011-03-21 21:29:54 +01:00
Petr Mrázek e8ee9b7cab dflair tool to match what the dfusion people have. minor tweaks to playground 2011-03-21 21:14:07 +01:00
Petr Mrázek 7f0ba3b1ff Fix header install rule. 2011-03-20 17:24:34 +01:00
Petr Mrázek 0a35afb16a Use proper paths in build system. 2011-03-20 17:17:33 +01:00
Petr Mrázek fe92edfb4e No more generated config files. 2011-03-20 06:20:23 +01:00
Petr Mrázek c06df18ea7 Fix linux builds not installing the header files 2011-03-20 02:06:50 +01:00
Petr Mrázek 1481b07b6b Ubuntu packaging magic, forgotten header files, an icon. 2011-03-19 23:26:32 +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 7809ed6cd5 Small fixes to documentation and build scripts. 2011-03-18 16:47:55 +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
Petr Mrázek 737643a33f Spring cleaning in python wrappers. 2011-03-18 06:17:43 +01:00
Petr Mrázek 001b8e059d Merge branch 'master' of https://github.com/doomchild/dfhack 2011-03-18 06:12:16 +01:00
Petr Mrázek 2911b203ce DFHack. Now with more packaging fun. 2011-03-18 00:07:40 +01:00
Petr Mrázek 557d6733e2 Make the build system sane, pt. 1 - no install or packages yet 2011-03-16 07:35:08 +01:00
doomchild 901cebc683 updated to use centralized pointer_dict retrieval
fixed an argtypes bug in read_vegetation
2011-03-15 15:36:48 -05:00
doomchild 35438b82e3 added Hotkey structure 2011-03-15 15:35:50 -05:00
doomchild 290368321c updated to use the centralized pointer_cache retrieval 2011-03-15 15:35:29 -05:00
doomchild 2c28d8f3bf added read_hotkeys 2011-03-15 15:35:00 -05:00
doomchild 6b467a36b5 centralized getting an array/list from the pointer_cache 2011-03-15 15:34:39 -05:00
doomchild d28279894f first commit 2011-03-15 15:33:39 -05:00
Petr Mrázek 2ea6a3d84a Merge branch 'master' of https://github.com/doomchild/dfhack 2011-03-14 22:06:25 +01:00
doomchild fda4ad94cd added read_local_features 2011-03-14 15:01:09 -05:00
doomchild e126f21e4b updated map coordinate struct/union
added callback for turning a std::map of coordinates to features into a list
2011-03-14 15:00:51 -05:00
doomchild 5cbc9e5918 added Maps_ReadLocalFeatures 2011-03-14 14:59:31 -05:00
doomchild b1ed423f98 added map coordinate struct and the callback needed to flatten the std::map of coords to features into an array 2011-03-14 14:59:03 -05:00
doomchild d347713860 Merge remote branch 'upstream/master' 2011-03-14 09:54:19 -05:00
Petr Mrázek 6ed74065d1 Cleanmap bugfix. 2011-03-14 09:18:09 +01:00
Petr Mrázek cb86f52993 minor liquids bugfix, added typedef for planecoord so that stonesense builds. Build system bits. Doxygen bits. 2011-03-13 19:38:32 +01:00
Petr Mrázek b6d02768b4 No DbgHelp.h 2011-03-12 11:01:53 +01:00
doomchild f0f3960bb0 added read_vegetation 2011-03-11 16:59:36 -06:00
doomchild de8226e142 fixed a couple of allocator callback names
added __str__ method to Tree
2011-03-11 16:59:25 -06: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
doomchild 6e54715706 added ReadVegetation 2011-03-11 16:56:21 -06:00
doomchild df3c6d706f fixed a couple of small pointer bugs 2011-03-11 16:11:34 -06:00
Petr Mrázek 4e3a66fcd8 Merge branch 'master' of https://github.com/doomchild/dfhack 2011-03-11 22:38:25 +01:00
doomchild 5aeac3d43d updated CreatureCaste, and CreatureType structs
added MatglossPlant and creature type descriptor structs
got the creature type allocator callback working
2011-03-11 14:13:52 -06:00
doomchild f6a7de9ba6 updated getters to use the changed pointer caching stuff 2011-03-11 14:12:07 -06:00
doomchild 5b29bf5280 changed pointer cache to use array addresses instead of pointer ids 2011-03-11 14:11:36 -06: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
doomchild b75f513238 updated creature caste and type structs
removed some (now) unneeded callbacks
made a better t_creaturetype -> c_creaturetype converter
2011-03-11 14:09:51 -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 1de2efb162 updated documentation 2011-03-09 14:25:32 -06:00
doomchild 828df5fa80 consolidated buffer stuff, so that the callbacks are a lot shorter 2011-03-09 14:20:34 -06:00
doomchild 1839c6b843 fixed callback registration
allocator callbacks now cache the buffers and associated pointers so they don't get collected too early
added CreatureCaste, TileColor, and CreatureType classes
2011-03-09 12:29:29 -06:00
doomchild 50af9e2d7e updated to use the pointer caching callbacks 2011-03-09 12:27:58 -06:00
doomchild 5bd51c2e08 updated to use the allocator callbacks correctly 2011-03-09 12:26:04 -06:00
doomchild 44cbc3fd5c fixed allocator callbacks to take pointers to pointers so they'll actually, you know, WORK 2011-03-09 12:23:20 -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
mikestewart 5c32991c40 Corrected game mode enum and added a mode changing tool to the playground. 2011-03-07 00:19:12 -05: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
Petr Mrázek 9b0c426f9c The age of creatures is signed int. 2011-03-06 11:42:02 +01:00
Petr Mrázek 450562437a Memory.xml cleanup, removing redundant information. 2011-03-03 23:54:44 +01:00
doomchild c98bc9da9d updated to actually match the C stuff (not passing allocator callbacks every time, etc) 2011-03-03 14:19:20 -06:00
doomchild d314c733b2 added world and window_io getters 2011-03-03 14:18:28 -06:00
doomchild a816b67362 added key types for window_io module 2011-03-03 14:17:56 -06:00
doomchild 6fc1f31e31 first commit 2011-03-03 14:17:31 -06: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
doomchild 368f3c1b2e added World getter renamed get_Window to get_WindowIO 2011-03-03 14:14:59 -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
Petr Mrázek a969f9893f Fix wine process suspend/resume. They use same mechanism as attach/detach now. 2011-03-02 22:23:24 +01:00
Petr Mrázek 509971d6b1 Small fix of the GameMode enum 2011-03-02 09:07:37 +01:00
Tom Prince f28a29d29d Fix some warnings on linux using C99 scanf modifiers.
Signed-off-by: Tom Prince <tom.prince@ualberta.net>
2011-03-01 17:36:26 -05: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
Tom Prince f477fc002c Fix lots of -Wall warnings.
Signed-off-by: Tom Prince <tom.prince@ualberta.net>
2011-03-01 17:19:18 -05:00
Petr Mrázek 267bc1d446 Game/Control mode improvements. Use dfposition to check them. 2011-03-01 22:18:26 +01:00
doomchild f56cad1265 added grass vein and world construction readers 2011-03-01 14:39:56 -06:00
doomchild 42670c798b added grass vein and world construction types 2011-03-01 14:39:33 -06:00
doomchild 06ae98c9dd first commit 2011-03-01 14:39:18 -06: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 fa220531b7 Proper enum for game mode 2011-03-01 13:08:20 +01:00
Petr Mrázek 54a580ac68 Hide depend headers better, upgraded tinyxml 2011-03-01 07:50:56 +01: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 4284b948a0 Creature matgloss, creature and color matgloss offsets. 2011-02-27 09:48:08 +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 803269122f ... What The Hell ? 2011-02-24 21:34:51 +01:00
Petr Mrázek 820acc7483 Windows fixes 2011-02-24 21:32:12 +01:00
Petr Mrázek 97bfa32a82 More cleanup in the Process lands. 2011-02-24 11:43:33 +01:00
Petr Mrázek 79b78673e5 Fix build on MSVC 2011-02-24 01:32:15 +01:00
Petr Mrázek d26f9ee4a4 Merge branch 'master' of https://github.com/tomprince/dfhack into tomprince-master 2011-02-23 23:48:24 +01:00
Petr Mrázek 62bec260b1 Fix 32bit linux build again. 2011-02-23 21:57:36 +01:00
Petr Mrázek a62196dea3 Merge branch 'master' of https://github.com/tomprince/dfhack into tomprince-master
Conflicts:
	library/DFProcess-linux.cpp
2011-02-23 21:55:24 +01:00
Tom Prince 4806318494 Factor out microsoft string handling functions. 2011-02-23 15:55:07 -05:00
Tom Prince aac3056b12 Get rid of NormalProcess::Private on windows. 2011-02-23 15:27:15 -05:00
Petr Mrázek a5479a4bef Linux 32bit fix. 2011-02-23 20:13:29 +01:00
Tom Prince 63ab8672d3 Add create*Process functions to create process instances.
This allows us to remove friendship of DFProcessEnumerator for Process
subclasses.
2011-02-23 06:13:10 -05:00
Tom Prince 2927b08f93 Remove handle-body idiom of DFProcess on linux.
Since the classes aren't exposed to the client, there is no reason to
split the class.
2011-02-23 06:11:28 -05:00
Tom Prince b3c490857c Refactor DFProcess-linux-{,wine}.cpp into DFProcess-linux-base.cpp. 2011-02-23 06:11:28 -05:00
Tom Prince c287e54793 Merge much of DFProcess-*-SHM.cpp into DFProcess-SHM.cpp. 2011-02-23 04:02:14 -05:00
Tom Prince 9ba80d517f Remove some gratuitous differences in the SHM implementations. 2011-02-23 02:26:55 -05:00
Tom Prince 9b854be327 Remove duplicate code implementing readInt.
Implement one version in terms of the other.
2011-02-23 02:04:29 -05:00
Tom Prince 9964dbac72 Add missing private/ProcessInternal.h 2011-02-23 01:07:22 -05:00
Tom Prince 6ca0dd7c1d Fix Process class. 2011-02-23 04:01:07 +01:00
Petr Mrázek 9f5ee8a790 Many fixes, still many to go. 2011-02-18 02:51:17 +01:00
Petr Mrázek 1c8249c55a Mingw32 fixes 2011-02-18 01:14:16 +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 6c9652258d memory xml bugfix related to valid attribute of the Offsets tag 2011-02-14 21:25:02 +01:00
Petr Mrázek 3835ba0f75 Search tools run on windows and moved to supported, some windows segment/heap/PE section enumeration work.
New windows dependency: ntdll.lib
2011-02-14 03:58:32 +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 d16bee48d2 Merge branch 'master' of github.com:peterix/dfhack 2011-02-08 22:57:14 +01:00
Petr Mrázek 5bed6c5949 Sync, autosearch skeleton. 2011-02-08 22:55:40 +01:00
Petr Mrázek 7676120dc8 Windows VM ranges (not tested) 2011-02-08 15:34:34 +01:00
Petr Mrázek 130d965494 TODO use VirtualQuery 2011-02-08 14:34:43 +01:00
Petr Mrázek 8439b3fa7d Required fixes for properly exporting the new symbols. 2010-11-19 02:40:38 +01:00
Petr Mrázek c13b7c035f Fix weather tool/offsets for 31.18. Added a file I missed. 2010-11-19 01:14:41 +01:00
Petr Mrázek ac91f46b6c Merged patches from Rainer Keller 2010-11-17 20:50:50 +01:00
Petr Mrázek 1a93c73737 Big chunk of windows 31.18 offsets. 2010-11-17 04:48:06 +01:00
Petr Mrázek a5d21e612b Fixes, some messing around with the invalidation code 2010-11-08 00:31:40 +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
Petr Mrázek cb6cf89b0c Merge branch 'master' of http://github.com/reverb/dfhack 2010-11-01 10:47:15 +01:00
Petr Mrázek ab1a3a8cef Salt/Stagnant water finally understood. 2010-10-29 07:36:06 +02: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
reverb 48dd2fc424 Merge remote branch 'upstream/master' 2010-10-25 16:12:27 -05:00
Petr Mrázek 70cb93d9f4 Fixed includes, unified formatting. 2010-10-25 04:39:14 +02:00
zilpin 92d0468694 added more information to probe.
added pit-with-floor option to hellhole.
bug fixes for the fake magma pipe in hellhole.
2010-10-20 12:31:16 -04: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
zilpin 3acc410857 Tile Types update, and new hellhole n deramp tools in playground 2010-10-17 00:21:18 -04: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
belal 583f997e2f fix linux getPaths to append a null terminator on the strings 2010-09-23 08:33:45 -04:00
Petr Mrázek a8ae899f2e Add checks to handle missing custom workshop offsets. 2010-09-22 18:34:51 +02:00
Petr Mrázek a3870bb5a1 Constructions, buildings, base 31.13 windows entry on DF2010 instead of 31.12. 2010-09-22 18:20:55 +02:00
belal 026a2eb94e Merge branch 'master' of git://github.com/peterix/dfhack into belal 2010-09-22 10:42:22 -04:00
Petr Mrázek 369b7cf701 Fix MSVC10 build error. 2010-09-21 03:18:34 +02: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
Petr Mrázek dfdd1467ff Offset stuff 2010-09-18 04:36:14 +02:00
belal 918de0271b fix to get the windowIO.h to compile from a submodule 2010-09-17 09:20:15 -04:00
belal 3dfbc5fb21 update widows getPath to only output the path, not the path and exe filename, to correspond with the linux versions 2010-09-16 21:44:38 -04:00
belal 6661d7e1f7 added getPath() for all linux versions as well, should work fine 2010-09-16 18:21:41 -07:00
doomchild 9844a8f8b3 added SetPauseState wrapper 2010-09-16 13:10:13 -05:00
doomchild 70b1a48cea added unregistration functions for callbacks 2010-09-16 13:05:02 -05:00
doomchild 78a12876d5 added ReadInventoryIdx and ReadInventoryPtr wrappers 2010-09-16 13:04:19 -05:00
doomchild 36400f2833 Merge branch 'dotnet' 2010-09-16 09:06:12 -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
doomchild 315aab0d57 added registration functions for callbacks, since some languages can't directly access DLL data exports (*cough*P/Invoke*cough*) 2010-09-03 10:31:14 -05: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 a46422d2a6 Merge branch 'master' of http://github.com/doomchild/dfhack 2010-09-01 20:30:25 +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 ff550a7e09 Fix getPE() 2010-08-31 07:07:37 +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
doomchild 95166d39a2 changed uint to uint32_t in declaration of VersionInfo::getPE() 2010-08-30 12:37:13 -05:00
doomchild c5c1d52047 fixed spelling of BUILD_DFHACK_C_BINDINGS 2010-08-30 12:36:40 -05: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 51d545402d Offset dumper reports missing offsets instead of skipping them 2010-08-28 14:06:18 +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 2703d74fbd Sane output from offset dumper 2010-08-28 12:47:33 +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 84b417cf1a Memory-ng.xml should be consistent now. Offset dumper doesn't complain. 2010-08-28 06:31:44 +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
Petr Mrázek f2dea86819 Seemingly working VersionInfo loading parts. The offset names are now all wrong in the modules. DO NOT USE 2010-08-28 03:57:56 +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 60bfc1d420 added the new callbacks to the list 2010-08-27 09:31:08 -05:00
doomchild c7f37b697c added include for Position.h 2010-08-27 09:30:15 -05: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
doomchild fba11842bc add allocator callbacks for t_feature, t_hotkey, and t_screen 2010-08-26 10:27:56 -05:00
doomchild 1327b7236b changed extension to "rst" 2010-08-25 09:20:00 -05:00
Petr Mrázek b33d56354f OffsetGroup class (unfinished) 2010-08-23 19:28:53 +02:00
Petr Mrázek 143f30f64b Merge branch 'master' of http://github.com/sizeak/dfhack
Conflicts:
	library/VersionInfo.cpp
2010-08-23 16:16:58 +02: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 368de864a1 Sync 2010-08-23 01:29:55 +02:00
Petr Mrázek 1bceac2343 Rename memory_info and its factory class. 2010-08-20 14:10:05 +02:00
doomchild a08258e36b "import pydftypes" changed to "import dftypes"
buildings now using custom workshop callback
creatures now using material callback
fixed return value for civ and race index getters
2010-08-19 12:51:02 -05:00
doomchild a508542d7c added material and custom workshop buffer callback
updated Creature class definition with new members
fixed field size in Skill class
2010-08-19 12:47:45 -05: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
doomchild 34b6bc06b6 started in on added docs 2010-08-16 14:52:00 -05:00
doomchild e84ea20fb0 minor cleanup 2010-08-16 14:19:26 -05:00
doomchild d96578a3b4 added missing #include for DFTileTypes.h 2010-08-16 13:50:34 -05:00
doomchild e57be44cde Merge remote branch 'upstream/master' 2010-08-16 13:41:33 -05:00
Petr Mrázek 3b29fddf7b unify build system, start on the new offset file format 2010-08-16 00:45:02 +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 7fbdd6c69a Cleartask tool, updated docs. 2010-08-13 23:25:14 +02:00
Petr Mrázek bae7b88be0 Make sure the compatible memory.xml is used. 2010-08-13 21:44:17 +02:00
doomchild 78c5ef5c71 added vein readers 2010-08-13 12:31:53 -05:00
doomchild a94c398a0e added vein allocators 2010-08-13 12:31:31 -05:00
doomchild 2a34b9fd79 first commit 2010-08-13 12:30:58 -05:00
doomchild b26506195e Merge remote branch 'upstream/master' 2010-08-13 09:40:45 -05:00
doomchild f6a777bccd added getter for tile type 2010-08-13 09:40:32 -05:00
doomchild cf8c805add just made the tile type array length a #define 2010-08-13 09:39:37 -05:00
Petr Mrázek 8fa3d0811c Make building C bindings optional. 2010-08-13 02:35:10 +02:00
Petr Mrázek 21f7f8e703 Moved memory defs to /data. Memory.xml is copied into the right folder at build time (works even with MSVC). 2010-08-13 02:23:38 +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
Simon Jackson 1e9c4a0450 Added function to get const reference to stored map of labours. Nothing special 2010-08-10 22:28:53 +01: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 0cb5e99a44 Fix for SHM on windows 2010-07-17 20:13:44 +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 a8b5c461fe added terrain checkers 2010-07-06 14:07:39 -05: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 9ef7a74a44 added MapPoint class 2010-07-06 13:19:55 -05:00
doomchild 3abdd0f2f2 added vein reading functions 2010-07-06 13:18:36 -05:00
doomchild c77a049d8b Merge remote branch 'upstream/master' 2010-07-06 10:57:24 -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
Petr Mrázek 8d07001674 0.31.08 Windows SDL 2010-06-20 19:20:10 +02:00
Petr Mrázek 31167475de Tool for dumping the effective addresses/offsets of a running DF instance 2010-06-20 02:50:37 +02: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
doomchild 0b9605e08a changed def to class (durrrr) 2010-06-18 10:39:40 -05:00
Simon Jackson 0735c8b84a Merge branch 'master' of git://github.com/peterix/dfhack 2010-06-18 01:18:00 +01:00
Simon Jackson 5fd94efb10 Added moods to memory.xml 2010-06-18 01:17:19 +01:00
Petr Mrázek 41f3432d1c whitespace 2010-06-18 01:17:46 +02:00
Petr Mrázek d3e7701bc8 Fix template brackets 2010-06-18 01:10:03 +02:00
Petr Mrázek 760cb59522 Merge branch 'master' of http://github.com/sizeak/dfhack 2010-06-18 01:08:23 +02:00
Petr Mrázek ecb83f2288 Merge branch 'master' of http://github.com/doomchild/dfhack 2010-06-18 01:08:07 +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
doomchild 5b71ac7dae add __init__ file
renamed flags and types
2010-06-17 16:26:53 -05:00
doomchild fa8238af08 removed reveal and force_suspend to examples 2010-06-17 15:38:48 -05:00
doomchild d58260740f moved the old Python/C stuff to python/deprecated
renamed "c api" to "pydfhack"
2010-06-17 15:32:53 -05: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 b732e63673 long long 2010-06-11 20:13:37 +02:00
Petr Mrázek 3f099f8928 LARGE_INTEGER replacement 2010-06-11 19:53:28 +02:00
Simon Jackson 0562ce9802 Ok fixed level data to work from 0 to xp needed for next level. Due to xp starting from 0 for each level, getting the level based on xp had to be removed so now you can only get level data by level, which returns a struct containing level, name and xp need to next level. 2010-06-11 00:00:21 +01:00
Simon Jackson 3142e75186 Merge branch 'master' of git://github.com/peterix/dfhack 2010-06-10 17:42:38 +01:00
Simon Jackson 8987111cfe Stupid mistake was stupid 2010-06-10 17:31:09 +01:00
Simon Jackson 45031a3724 Added levels done (unless issues) 2010-06-10 16:53:25 +01:00
Petr Mrázek 7885eb8e74 0.31.06-SDL, needs testing 2010-06-10 10:30:56 +02: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 b8600169ef Minor comments and other changes 2010-06-01 21:06:16 +02:00
Petr Mrázek 123fb5a9d0 Lots of comments. Using templates in the search tool. 2010-05-30 05:13:59 +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
Petr Mrázek fa0d881e16 Merge branch 'master' of http://github.com/doomchild/dfhack 2010-05-29 23:39:59 +02:00
Petr Mrázek 95b44a8ef3 Documented ContextManager 2010-05-29 22:46:23 +02:00
Petr Mrázek 7300e61f8a ContextManager and ProcessEnumerator have the basic functionality done.
Created a test program to validate them and show how to use them.
2010-05-29 21:34:36 +02:00
Petr Mrázek ab40868b29 ProcessEnumerator tracks processes properly now. 2010-05-28 05:18:32 +02:00
doomchild 66159d4221 updated to use new callback signatures 2010-05-27 12:35:40 -05:00
doomchild 3caac25145 changed callback signatures to allow for return codes 2010-05-27 12:35:11 -05:00
doomchild 6e91b7c9de updated to include WindowIO_C and World_C 2010-05-26 14:51:39 -05:00
doomchild a962299c20 cleaned up header includes 2010-05-26 14:51:21 -05:00
Petr Mrázek bd4456b5f6 Fix bad SHM reads of ranges above 1MB. 2010-05-26 18:05:12 +02:00
Petr Mrázek af1a41712e Tiny fixes. 2010-05-26 17:54:30 +02:00
Petr Mrázek ee8ac4e508 Missed an include ~_~ 2010-05-26 15:15:14 +02: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
Petr Mrázek cd18db8ccd Reorganize pydfhack 2010-04-02 16:49:07 +02:00
Petr Mrázek d3f1f63d92 Merge branch 'pydfhack' of git://github.com/doomchild/dfhack into DF2010 2010-04-02 16:47:46 +02:00
Petr Mrázek c26da9b84c More DF 2010 reorganization 2010-04-02 16:46:33 +02:00
doomchild 49ecc368bf added getter for window size added ReadHotkeys 2010-04-01 17:01:46 -05:00
doomchild 3324327535 added getter for current cursor creature 2010-04-01 17:01:41 -05:00
doomchild 37cc11615c added setters for view/cursor coordinates 2010-04-01 17:01:34 -05:00
doomchild 07cb3b8ac2 Read*Matgloss calls now return a dictionary of tuples, keyed on the matgloss.id 2010-04-01 17:01:14 -05:00
doomchild 8308b73b6c disabled SWIG build step 2010-04-01 17:01:07 -05:00
doomchild 3be3174c33 added Read*Matgloss calls 2010-04-01 02:55:11 -05:00
doomchild 23460c94d8 added license message 2010-04-01 01:02:03 -05:00
doomchild e39330847b added license message 2010-04-01 01:01:47 -05:00
doomchild fda4482dc5 added license message
added MatGlossPlant struct
2010-04-01 01:01:16 -05:00
doomchild 5f09b47ca8 added license message 2010-04-01 01:00:51 -05:00
doomchild 6af1f482ca add matgloss.cpp 2010-03-31 19:02:08 -05:00
unknown 93058506e0 first commit Read/Write Designations works
Signed-off-by: doomchild <doomchild@theyfear.us>
2010-03-31 17:35:56 -05:00
Petr Mrázek 35960db5aa Fix for out-of-bounds access error with regionoffsets. Breaks compatibility. 2010-03-31 18:16:18 +02:00
Petr Mrázek eccdc6896e Fix argstream.h 2010-03-30 04:43:06 +02:00
Petr Mrázek 71fc49897f Accelerated creatures work on Windows
Refactored vector reading, proper length of vectors from MSVC9 is known (0x18, triplet starts at 0xC)
2010-03-30 02:26:52 +02:00
Petr Mrázek 85d347442d Accelerated reading of creatures 2010-03-28 17:22:15 +02:00
Petr Mrázek 6522d0c498 Even more fixes for random crashes in some less common cases (DF in the menu, etc...) 2010-03-26 13:38:49 +01:00
Petr Mrázek 4d939363b5 Many fixes to DFHack tools and examples 2010-03-26 13:01:46 +01:00
Petr Mrázek 517aa0e6e3 Merge branch 'master' of git://github.com/Zhentar/dfhack
Conflicts:
	examples/CMakeLists.txt
	library/DFHackAPI.cpp

Also added offsets for all supported versions
2010-03-26 02:40:17 +01:00
Petr Mrázek f0edb0c33d Map block flags added to the API
Added a RAMP_TOP tile shape, ramp characters for veinlook
Merged in the magma_create util by Aleric, tweaked it a bit, made it use the block flags
2010-03-26 00:42:07 +01:00
Petr Mrázek dbeb342c6a Make the python wrapper compile again 2010-03-25 22:13:56 +01:00
Petr Mrázek 822265443c Make the API a bit saner about the used data types and structures 2010-03-25 21:37:09 +01:00
Petr Mrázek 13fcdb8b8f Fix one more InitReadNames call 2010-03-23 00:37:35 +01:00
Petr Mrázek efadfe98b2 Add some more exception handling to InitRead API methods 2010-03-23 00:35:23 +01:00
Zhentar 4287abbc94 Add pregnancy and blood stuff to the creature struct 2010-03-21 15:47:24 -05:00
Petr Mrázek 71f8474e11 Added reading/writing support for effects like mist
Veinlook shows effects for it's middle block
Veinlook now uses wide-character ncurses
2010-03-20 17:30:13 +01:00
Petr Mrázek c283197b71 Flush input in veinlook, so it doesn't 'lag' so bad 2010-03-18 20:05:32 +01:00
Petr Mrázek d2afd21318 Stop synchronous suspend from eating CPU cycles.
Untested on windows.
Breaks the SHM protocol. New SHM server library is required.
2010-03-18 19:55:01 +01:00
Petr Mrázek df4de4a333 Detach in API destructor 2010-03-16 22:12:05 +01:00
belal a2eb3a6892 add iostream to DFProcess.h include, std:: prefix to the output line, DT was getting mad about them not being defined 2010-03-14 20:28:36 -04:00
Petr Mrázek e4dc165954 Merge branch 'shm-multi' 2010-03-14 23:17:54 +01:00
Petr Mrázek 5fe279d8ec Added a cache mechanism to vtable lookups
Fixed python bindings (build, not actual functionality)
Fixed building subtypes on linux
2010-03-14 22:58:28 +01:00
belal 12abef8ace used different creature vector than before, this is the correct one, the old one was missing some creatures, and the current_creature index was not right, also found the offsets for mood and artifacts for 40d
Everything should work now from 40d,40d2->40d19 on windows, linux was already done before

I also modified creaturedump.cpp to show mood and aritifacts if a creature has one, also the mood is now a int rather than a uint, as we check for -1
2010-03-14 13:21:52 -04:00
Petr Mrázek 310669737e Port multiple client SHM to Windows 2010-03-13 17:44:36 +01:00
belal 0582354191 Merge remote branch 'remotes/peterix/master' into version_compatiblity
trying merge

Conflicts:
	examples/creaturedump.cpp
	output/Memory.xml
2010-03-13 08:45:30 -05:00
Petr Mrázek 834a64c282 Fix horrible race conditions in suspend and resume 2010-03-12 18:29:11 +01:00
belal 791ac8dd75 modify the renamer and creature dump to output the new current cursor creature code 2010-03-12 09:21:45 -05:00
Petr Mrázek 0dd14bb9c8 Cosmetic changes, really 2010-03-12 12:14:20 +01:00
Petr Mrázek 9d503515dd Another try at locking 2010-03-12 00:13:50 +01:00
belal e500b13533 offsets are all correct for 40d, creature offsets are not constant all the way back to 38.a, so more work needs to be done there
This could probably be used in stonesense as it is though, all the map data is correct
2010-03-10 21:24:31 -05:00
belal 3ae8b56a49 Addresses all the way back to 173.38a, not checked yet, and offsets may have changed in the versions, but it is a start!
Also changing the current_creature offset, have to make sure what I changed it to is in the d# releases, but I think it is

This branch is still a work in progress
2010-03-09 22:05:31 -05:00
Petr Mrázek 62ae8df573 per-process file locks on linux (stored in /tmp/DFHack/PID/)
minor signed/unsigned fix
2010-03-09 21:25:17 +01:00
Petr Mrázek 5c4ef73f4d Merge branch 'shm-only' 2010-03-09 15:31:44 +01:00
Petr Mrázek 7207996940 Prevent windows process enumerator from listing the same process twice 2010-03-09 15:21:53 +01:00
Petr Mrázek f0087926c5 Revert "Nuked many Process classes. Only SHM remains. We'll see how it goes :)"
This reverts commit b3424418e6.

Conflicts:

	library/DFProcess-linux-SHM.cpp
	library/DFProcess-windows-SHM.cpp
	library/DFProcess.h
	library/DFProcessEnumerator-linux.cpp
	library/DFProcessEnumerator-windows.cpp

Minor manual changes were required.
2010-03-09 15:15:15 +01:00
Petr Mrázek 3e581908c1 Each DF process on windows now has unique mutex and shm names. 2010-03-09 13:41:55 +01:00
Petr Mrázek 9d7574dafe DF disappeared exception 2010-03-09 03:30:22 +01:00
Petr Mrázek 1c499121e6 Fixes to memory.xml, name reading 2010-03-08 18:27:19 +01:00
Petr Mrázek b1a15b6fb3 Merge branch 'version_compatiblity' of git://github.com/belal/dfhack 2010-03-08 14:52:40 +01:00
Petr Mrázek e5c3ed9ad3 Fix python and a gcc syntax error 2010-03-08 14:50:32 +01:00
Petr Mrázek d2c84df4c8 Merge branch 'master' of git://github.com/Zhentar/dfhack into mergeb
Conflicts:
	library/DFHackAPI.cpp
2010-03-08 13:56:32 +01:00
Petr Mrázek 36a6f1f0a4 mod-core rework
squashed some init commands together
fixed a problem with non-atomic shm command reading on the DF side that caused segfaults
2010-03-08 07:31:12 +01:00
Zhentar 052dd53c03 Further cleanup for name stuff; fixing examples that I broke and handling settlements. Also added mood, so that it can be determined whether or not the dwarf's artifact was created. 2010-03-07 20:01:30 -06:00
belal 0c8c1d0eec Modified Memory.xml to support all d# versions, modified Vtable meminfo reading, so it auto-resolves all vtables now, so you should never have to do any rebasing or anything. Fixed some bugs in windows meminfo as well 2010-03-07 21:00:31 -05:00
Petr Mrázek 90baaad19b Allow recognizing multiple DF SHM processes by the client 2010-03-08 01:54:46 +01:00
Petr Mrázek 60a1da0923 d19_2 support, building vtables, some minor bugfixes
tested with stonesense
2010-03-06 21:21:01 +01:00
Petr Mrázek 96512a7e1d Linux d19 support 2010-03-05 22:19:27 +01:00
Petr Mrázek 958ca0e384 Some map module bits 2010-03-05 16:06:02 +01:00
Zhentar 65bf8f69fd Proper-fy name handling for creatures. For surnames and such, official DF logic is used. 2010-03-05 00:02:41 -06:00
Petr Mrázek 9aedc56186 A waitWhile method copy turned into wrapper 2010-03-05 02:45:53 +01:00
Petr Mrázek 8e8d320a0b Don't build SHM on 64bit, makes no sense
Added origin to mapblock40d
2010-03-05 01:26:39 +01:00
Petr Mrázek 798ce9fb0a CR-LF mess 2010-03-05 00:55:57 +01:00
Petr Mrázek c86464502c SHM rework, stage 2 2010-03-05 00:05:01 +01:00
Petr Mrázek 6e69dcdeed Use sched_yield depending on CPU affinity 2010-03-04 04:40:06 +01:00
Petr Mrázek 0192520d43 SHM rework, stage 1 2010-03-03 05:43:38 +01:00
Petr Mrázek b3424418e6 Nuked many Process classes. Only SHM remains. We'll see how it goes :) 2010-03-02 01:18:34 +01:00
Petr Mrázek 9f7609de65 GCC exception fix 2010-03-01 01:21:54 +01:00
Petr Mrázek 0a23757797 Merge branch 'errorhandling' of git://github.com/mizipzor/dfhack 2010-03-01 01:13:07 +01:00
mizipzor 160992ec9c added exceptions to meminfomanager 2010-02-28 21:44:14 +01:00
Petr Mrázek c4cb3afd0b Fix for Windows exceptions 2010-02-28 19:59:07 +01:00
Petr Mrázek fa878f2e9d Fix terrible Linux SHM performance on single-core 2010-02-28 18:08:44 +01:00
Petr Mrázek 05250b4eb5 Make Linux Process validation not fail with MissingMemoryDefinition 2010-02-28 06:21:50 +01:00
mizipzor c13e37adf6 Merge branch 'master' of git://github.com/peterix/dfhack into errorhandling 2010-02-28 05:52:48 +01:00
Petr Mrázek f4f566e7c4 Fixed exceptions on GCC
Fixed dfbauxte tool - no longer includes internal headers
Moved part of DFVector into a .cpp file
2010-02-28 05:35:54 +01:00
Petr Mrázek 029f1a6cf8 Merge branch 'errorhandling' of git://github.com/mizipzor/dfhack 2010-02-28 04:26:10 +01:00
Petr Mrázek 7c73c7abe6 CMake swig integration 2010-02-28 04:11:06 +01:00
mizipzor b680af0b26 fixed setting of flags to false in two init functions 2010-02-28 03:45:38 +01:00
mizipzor 6be18fbf20 sprinkled some exceptions over the memory reading 2010-02-28 03:34:54 +01:00
mizipzor 2b1940430f added many MissingAddress exception throws 2010-02-28 02:53:47 +01:00
mizipzor f2dcbc6372 added exceptions to API::ReadGeology and API::InitReadBuildings 2010-02-28 02:50:16 +01:00
mizipzor 19cd686ac4 added exceptions to API::InitMap 2010-02-28 02:37:05 +01:00
mizipzor decb20ef67 Merge branch 'master' of git://github.com/peterix/dfhack into errorhandling 2010-02-28 02:29:29 +01:00
Petr Mrázek cf4042acce Fix header and code desync 2010-02-28 02:07:42 +01:00
Petr Mrázek 7a85682ea0 Many fixes to DFHack::API
Wrapper generation still manual, but makes a lot more sense
2010-02-28 01:25:04 +01:00
mizipzor 4f85f37b01 added some exceptions to handle errors 2010-02-28 01:13:34 +01:00
Petr Mrázek 21a74c0bfa Fix problem with wrapper generation 2010-02-27 16:47:11 +01:00
Petr Mrázek 7805b591dd Sync 2010-02-27 13:24:32 +01:00
Petr Mrázek 562c30c703 Python stuffs 2010-02-26 22:23:43 +01:00
Petr Mrázek 347eb66d21 Changes for better SWIG support 2010-02-26 22:22:10 +01:00
Petr Mrázek 626d266e27 Added GCC visibility support 2010-02-25 23:43:37 +01:00
Petr Mrázek 4509e275ce Tabs to spaces 2010-02-25 17:53:41 +01:00
Petr Mrázek de5b2ecb4e Fixes for crash bugs and memory corruption. 2010-02-25 17:50:52 +01:00
belal a5d42e4051 Code for getting the current and all settlements in the world, currently has offsets for the settlement location, name, and area size. Right now the current settlement causes msvc to claim the heap is corrupted, I think due to the fact that the current_settlement vector only has 1 item in it. I think it may be a bug in the vector code, as my code is basically identical between the current settlement and the other settlements.
Signed-off-by: belal <jimbelal@gmail.com>
2010-02-25 17:50:52 +01:00
Petr Mrázek bdc22b4052 leftovers 2010-02-25 15:33:13 +01:00
Petr Mrázek 49a2f97601 Silly building reading bug fixed 2010-02-25 14:59:29 +01:00
Petr Mrázek eff3462bf9 Less spam! 2010-02-25 14:43:38 +01:00
Petr Mrázek 726519e2ca Major memory_info rework.
All <class> tags and vtable="" attributes in Memory.xml are now obsolete.
<multiclass> tags are still important, but don't need the vtable attrs.
Vtables are resolved automatically.
All this will be left in Memory.xml until utility authors update to this version or newer.
2010-02-25 13:41:57 +01:00
Petr Mrázek 70f22d008e Support for d18 on windows
Also deployment to people who get Memory.xml from git...
Fixed wine process attach bug
2010-02-23 22:29:55 +01:00
Petr Mrázek bb141fe8f6 Linux d18 ncurses support for shm lib
Some boost preparations
2010-02-23 19:26:15 +01:00
Petr Mrázek 1e04722a63 Refactor of memory_info class, now with more d-pointer 2010-02-22 23:34:20 +01:00
Petr Mrázek fbad1cb5a3 Fixed annoying MSVC bug and MSVC warning spam 2010-02-22 00:18:44 +01:00
Petr Mrázek 9300cc48cc Break the debug builds. Bugs must never be hidden. 2010-02-21 18:35:14 +01:00
Petr Mrázek 9268a79a66 Reading of tiletypes under ice - 'ice veins' 2010-02-21 05:51:29 +01:00
Petr Mrázek 3c7c197f7a Removed bogus block flags, added actual dirty bit :) 2010-02-20 16:33:30 +01:00
Petr Mrázek 26568fe5ea Added 'dirty' bit of a block to veinlook, API. 2010-02-20 12:58:52 +01:00
Petr Mrázek 5cfb401d49 Merge branch 'master' of git://github.com/mizipzor/dfhack 2010-02-19 21:41:02 +01:00
mizipzor 7f404483f1 fixed (fix as in hack) crash when std::string was used to store a command line argument 2010-02-19 21:24:20 +01:00
mizipzor adbf4b81b4 updated cmakelists 2010-02-19 20:55:11 +01:00
mizipzor 32e08c6687 removed gopt 2010-02-19 20:52:07 +01:00
mizipzor 34f7894255 one constructor had three compile errors, just commented it out 2010-02-19 20:51:33 +01:00
mizipzor c8b9c36d36 code format 2010-02-19 20:48:46 +01:00
mizipzor 6586bba48c added argstream 2010-02-19 20:48:17 +01:00
mizipzor 7ab1fcd019 added proper exports to gopt.h
renamed gopt.c to gopt.cpp
2010-02-19 19:04:55 +01:00
Petr Mrázek 8e6f528e72 Merge branch 'master' of git://github.com/belal/dfhack 2010-02-19 03:35:36 +01:00
Petr Mrázek f71fef9ef5 Process::readClassName implemented 2010-02-19 02:48:03 +01:00
belal 7ce8935aef Add offsets for versions d9-d17 for windows and linux, windows has been tested, linux has not, but it should be right unless I screwed something up
Signed-off-by: belal <jimbelal@gmail.com>
2010-02-18 15:29:45 -05:00
Petr Mrázek da19d92f16 Asserts into IFs 2010-02-18 21:28:28 +01:00
Petr Mrázek 49cd747a59 Merge branch 'master' of git://github.com/mizipzor/dfhack
Conflicts:
	examples/CMakeLists.txt
2010-02-18 18:45:46 +01:00
mizipzor 3def16e85f added gopt to CMakeLists.txt 2010-02-18 18:31:18 +01:00
mizipzor 7679e48794 fixed compile errors in gopt 2010-02-18 18:25:24 +01:00
mizipzor f0ec4144ed added gopt 2010-02-18 18:23:09 +01:00
Petr Mrázek e9e1d2b8b9 Tabs to spaces 2010-02-18 18:06:32 +01:00
Petr Mrázek 2e02efa8d2 Merge branch 'master' of git://github.com/belal/dfhack 2010-02-18 17:55:43 +01:00
belal 387e1e8794 Finish up code for hotkeys and notes, just need to find offsets for linux versions and windows < d17
Signed-off-by: belal <jimbelal@gmail.com>
2010-02-17 21:08:54 -05:00
Petr Mrázek 42a12ffaec Veinlook now goes to map edges
API change: isValidBlock now checks for map boundaries
API change: added getBlockPtr. It returns a DF pointer to a block.
2010-02-18 02:10:39 +01:00
belal e71f41fd42 test commit of notes-windows d17
Signed-off-by: belal <jimbelal@gmail.com>
2010-02-17 18:33:08 -05:00
Petr Mrázek 2bde06a2af Added veinlook, linux SHM produces less spam messages.
Veinlook is a tool that allows looking at the map and the different vein types it contains. This adds ncurses as a dependency on Linux.
2010-02-17 17:49:19 +01:00
Petr Mrázek 054fec0afc Updated README and COMPILE, split tools into tools and examples.
Tools are now useful, and with a working user interaction where applicable.
Examples are a collection of benchmarks, tests and simple unfinished ideas.
2010-02-16 07:21:38 +01:00
Petr Mrázek 56969fb977 Added std::string read/write by belal. Extremely volatile. 2010-02-16 00:04:15 +01:00
Petr Mrázek 568fcd6105 designation and traffic bits turned into enums 2010-02-14 00:45:46 +00:00
Petr Mrázek a17cb053d4 quick creature API fix 2010-02-13 16:19:11 +00:00
Petr Mrázek a8d35f3724 fake SDL.dll for the SHM bridge now compiles right using the MS compiler 2010-02-13 00:47:08 +00:00
Petr Mrázek de32b65c11 engraving offsets for linux d16, attempt to fix MSVC bugs 2010-02-12 23:25:41 +00:00
Petr Mrázek 63f82cd580 API changes: InitRead* methods made safer - they now return false on error 2010-02-11 21:08:39 +00:00
Petr Mrázek 7fcc4d5e22 resolved a shm suspend/resume bug on windows 2010-02-11 05:10:23 +00:00
Petr Mrázek b1ce815370 massive Memory.xml VTable sections restructure, support for d17 added in Memory.xml, needs testing. shm not updated yet 2010-02-10 00:20:15 +00:00
Petr Mrázek 5b0a03b16d merged itemdesignator and menustate patches 2010-01-18 16:44:24 +00:00
Petr Mrázek 9f1216fa2f fixes 2010-01-11 18:57:57 +00:00
Petr Mrázek 7c784bce32 deadlock-filled windows SHM version 2010-01-11 06:27:59 +00:00
Petr Mrázek ebd14ea1bb copy of linux SHM 2010-01-08 05:56:36 +00:00
Petr Mrázek 4430b43851 windows shm server part 2010-01-08 05:52:37 +00:00
Petr Mrázek a01217f267 fixes 2010-01-05 20:51:58 +00:00
Petr Mrázek 242bf47143 some rearrangement of the shm server part, preparing for the windows port 2010-01-04 05:20:28 +00:00
Petr Mrázek 91f64ac8ba iteration for huge reads and writes, async suspend call for polling 2010-01-02 02:25:21 +00:00
Petr Mrázek a597c69915 make SHM header fixed-size 2010-01-01 23:21:55 +00:00
Petr Mrázek 84c68fb31c fix attach/detach 2010-01-01 22:19:09 +00:00
Petr Mrázek 037d1369cb syntax fixes, some things were out of sync 2010-01-01 02:30:35 +00:00
Petr Mrázek c7c446a33a merged previous patch from belal (things intended for Dwarf Therapist) 2010-01-01 02:14:41 +00:00
Petr Mrázek 117fcce0d9 merged item patch from belal 2010-01-01 01:49:32 +00:00
Petr Mrázek aef02eddce use of memory barriers in the shm server and client code 2009-12-27 03:51:54 +00:00
Petr Mrázek b0d65de269 making stuff a bit more readable 2009-12-25 16:55:10 +00:00
Petr Mrázek de7c2185eb shared memory manipulation is now entirely contained in the SHMProcess class 2009-12-25 02:49:35 +00:00
Petr Mrázek efce0ab21b merge in shm branch 2009-12-22 21:19:39 +00:00
Petr Mrázek 4582e0548b I fail at merging patches ... there's no helping me 2009-12-19 01:10:05 +00:00
Petr Mrázek 3888d0fc06 fixed tons of warnings, removed dependency on xtest 2009-12-13 21:03:19 +00:00
Petr Mrázek e5fa10c268 windows build fix and other small things, Windows 2000 support broken 2009-12-13 19:46:40 +00:00
Petr Mrázek 1d25a995b8 comments, leftovers, fixed repeated character input on linux 2009-12-13 04:43:06 +00:00
Petr Mrázek cb4197f4fc foo 2009-12-13 04:14:44 +00:00
Petr Mrázek 9ea2876203 cleanup in windows version of DFKeys 2009-12-13 04:08:42 +00:00
Petr Mrázek b132228f22 use of synthetic key events on linux 2009-12-13 03:44:29 +00:00
Petr Mrázek 2adfe39f9f give DF a small breathing room for processing X events 2009-12-13 01:39:58 +00:00
Petr Mrázek bb2a455dbb eliminated ugly switch statement from linux DFkeys 2009-12-13 01:24:09 +00:00
Petr Mrázek 63dedc5da3 move t_special to a new file 2009-12-13 00:56:11 +00:00
Petr Mrázek 069597f10c more cleanup 2009-12-13 00:47:58 +00:00
Petr Mrázek 58986ef838 cleanup #2 2009-12-13 00:20:25 +00:00
Petr Mrázek 1ea77b477e cleanup #1 2009-12-12 23:56:28 +00:00
Petr Mrázek 337d42e15a merged input injection patch by belal 2009-12-12 19:52:30 +00:00
Petr Mrázek 9c54031180 reserve space for biome vectors, tiny fix to tiletype table 2009-11-25 18:19:09 +00:00
Petr Mrázek 5c93d339db got rid of many temporary objects in string reading 2009-11-24 10:34:42 +00:00
Petr Mrázek 6cb7c4a636 optimizations 2009-11-22 14:43:53 +00:00
Petr Mrázek 99f6e0860f fix memleak in creature reading 2009-11-21 10:55:00 +00:00
Petr Mrázek 989fa8f887 ForceResume call 2009-11-19 01:48:18 +00:00
Petr Mrázek 67adb64a46 fix missing return, tweaked attachtest to show suspend/resume speed in a sensible manner 2009-11-19 00:36:03 +00:00
Petr Mrázek 141f056350 purged some compiler-specific code 2009-11-18 22:56:11 +00:00
Petr Mrázek a6ffb58fdb optimized map initialization, more sanity checks 2009-11-18 21:27:13 +00:00
Petr Mrázek dea1ce858b merged window dimension and item matgloss patches from belal 2009-11-18 03:35:43 +00:00
Petr Mrázek 29c0932ff7 split out memory.xml reading functionality out of the processenumerator 2009-11-18 02:33:17 +00:00
Petr Mrázek 30d80debfb removed obsolete header files 2009-11-17 16:07:57 +00:00
Petr Mrázek d4aad2387e fixed wine process find codepath, added some suspend and resume calls to the tools, some data consistency tweaks 2009-11-17 15:37:08 +00:00
Petr Mrázek 2f710730ac merged item support by belal 2009-11-17 14:52:47 +00:00
Petr Mrázek 6975661733 massive refactors of process, processmanager is now processenumerator, better split between windows and linux code, finalized suspend/resume 2009-11-17 03:19:13 +00:00
Petr Mrázek 5be36e0f42 load dfvector whole instead of on-demand 2009-11-16 20:00:14 +00:00
Petr Mrázek 47b61a907d suspend and continue calls, a method for reading creatures within a volume 2009-11-16 16:47:22 +00:00
Petr Mrázek b8c9a36897 cursor/window offsets for all versions, finished incremental search tool 2009-11-15 20:41:10 +00:00
Petr Mrázek 7e3af38941 add support for enumerating process memory ranges. full of fail on windows. 2009-11-15 04:25:00 +00:00
Petr Mrázek 37d08a05ca creatures almost done 2009-11-14 03:46:56 +00:00
Petr Mrázek e88e9b2951 more creature rework, now with none of the strings 2009-11-13 14:28:42 +00:00
Petr Mrázek 7489fe51ab fix for the ambiguous abs() call, slowly reworking creatures 2009-11-13 13:35:44 +00:00
Petr Mrázek 7ce31ae483 shallow copy fix from belal 2009-11-12 17:50:50 +00:00
Petr Mrázek 370655a516 move creature getters to the public API 2009-11-12 01:53:49 +00:00
Petr Mrázek 30d8a015fd cursor and window coords reading and writing (only for 40d16 on windows right now) 2009-11-12 01:39:43 +00:00
Petr Mrázek e8e3f9e794 view and cursor coords for 40d16 on windows 2009-11-12 01:05:07 +00:00
Petr Mrázek 4f279680b5 using D pointer, a proper interface 2009-11-11 03:37:28 +00:00
Petr Mrázek 88771ab973 merged another big creature patch from belal, moved C API to unmaintained, starting a big cleanup of the new code 2009-11-09 23:18:20 +00:00
Petr Mrázek 8185f72b63 fixes 2009-11-08 12:51:54 +00:00
Petr Mrázek 215bb64a1e tons of stuff 2009-11-07 23:35:38 +00:00
Petr Mrázek a7bf3595b7 merged a big patch from belal, unstable on anything but windows 40d16 2009-11-07 21:05:10 +00:00
Petr Mrázek 41475d1918 manual merge of patch from http://www.bay12games.com/forum/index.php?topic=41916.msg850579#msg850579 2009-11-06 01:04:17 +00:00
Petr Mrázek d3b62a7672 research into buildings, building hexdump tool 2009-11-04 01:01:55 +00:00
Petr Mrázek 45695d7a69 metals and plants were swapped 2009-11-02 12:53:39 +00:00
Petr Mrázek 45a4d4d799 voodoo 2009-11-01 10:57:31 +00:00
Petr Mrázek 02a12782a7 voodoo 2009-11-01 10:56:23 +00:00
Petr Mrázek 482e8b4447 voodoo 2009-11-01 10:20:13 +00:00
Petr Mrázek 8a45c15af9 voodoo 2009-11-01 10:09:19 +00:00
Petr Mrázek 9dfe3e2096 voodoo 2009-11-01 09:58:49 +00:00
Petr Mrázek 2bee198946 more voodoo 2009-11-01 09:32:47 +00:00
Petr Mrázek 0853ce83ff update 2009-10-31 18:18:59 +00:00
Petr Mrázek 78ec035f02 completely different approach to attach/detach on linux 2009-10-31 18:09:13 +00:00
Petr Mrázek a538417604 doh 2009-10-30 07:54:43 +00:00
Petr Mrázek 759783e501 linux install target for dfhack, ability to set data path 2009-10-30 00:56:40 +00:00
Petr Mrázek 851e105556 fixes to writing to memory on linux 2009-10-29 19:22:12 +00:00
Petr Mrázek f79076054d more checks 2009-10-29 18:16:51 +00:00
Petr Mrázek 6d4763db22 some perror calls ... 2009-10-29 17:54:02 +00:00
Petr Mrázek 63582a7a70 even more printf debugging :P 2009-10-29 17:52:40 +00:00
Petr Mrázek 9db0d5490a more error checking around opening /proc/pid/mem 2009-10-29 17:40:39 +00:00
Petr Mrázek 42e0d2a1d5 more output 2009-10-29 15:37:06 +00:00
Petr Mrázek 33f8b627d0 attachtest utility to test 1000x attach/detach combos in a cycle 2009-10-29 15:23:01 +00:00
Petr Mrázek 1110786d4c error checking for attach 2009-10-29 14:39:40 +00:00
Petr Mrázek d84ed97d5a creature flags from Toady 2009-10-29 14:06:05 +00:00
Petr Mrázek 7e8fecccec retry on memory reading error 2009-10-29 00:45:23 +00:00
Petr Mrázek 42e5cdc361 preparing for debugging 2009-10-28 22:40:21 +00:00
Petr Mrázek adb33b88f9 fixed swapped metal and plant matgloss, got rid of deprecated old stuff 2009-10-28 15:40:10 +00:00
Petr Mrázek b7780e2dc6 fix tiny memleaks from DF vectors 2009-10-28 02:18:53 +00:00
Petr Mrázek db2e98a404 including headers in cmakelists - great idea suggested by Nexii Malthus 2009-10-26 21:50:08 +00:00
Petr Mrázek 1ec85dd611 voodoo programming 2009-10-26 03:14:34 +00:00
Petr Mrázek 2c5c1f3a32 hidden ambusher bit - maybe 2009-10-26 03:06:11 +00:00
Petr Mrázek 6fb365b558 creature flags, lots of unknown ones 2009-10-24 02:32:57 +00:00
Petr Mrázek 1d704c646b missing newline caused warnings 2009-10-23 19:53:34 +00:00
Petr Mrázek 3246b33a31 always force consistency 2009-10-23 18:07:38 +00:00
Petr Mrázek a09f45df71 resolved some problems 2009-10-23 18:05:42 +00:00
Petr Mrázek f5acba111e flags for creatures. no idea what they mean 2009-10-23 16:50:36 +00:00
Petr Mrázek 1ac83c8a0f fix mingw build 2009-10-23 14:21:56 +00:00
Petr Mrázek e637488cbd update to the C API 2009-10-23 14:00:15 +00:00
Petr Mrázek dab8d37c03 creature dump test, valid offsets for linux d9 and d11 2009-10-23 10:54:24 +00:00
Petr Mrázek 876dcbf7cc base support for creatures 2009-10-23 01:39:19 +00:00
Petr Mrázek f05f0b16b2 fixed MSVC build, added build instructions for it, internal stdint.h implementation for MSVC 2009-10-22 02:14:16 +00:00
Petr Mrázek b5137240dc merged C API patch from Jifodus 2009-10-22 00:18:49 +00:00
Petr Mrázek 80240a8719 tweak to not upset KDevelop semantic analysis 2009-10-04 22:32:31 +00:00
Petr Mrázek 8e72f2af0e Visual Studio compatibility patch from jifodus 2009-10-04 13:08:20 +00:00
Petr Mrázek e85df7cfc0 fix tile type badness 2009-09-21 21:41:19 +00:00
Petr Mrázek 921802ce00 sync 2009-09-18 11:31:56 +00:00
Petr Mrázek 28fb6f5703 sync, rearranging things in khazad 2009-09-15 20:46:45 +00:00
Petr Mrázek ea2dca0e28 revert process debug call, it's slow and dangerous 2009-09-14 20:47:20 +00:00
Petr Mrázek c5144b5fde sync 2009-09-14 20:02:16 +00:00
Petr Mrázek fac88478bd code moved from khazad 2009-09-14 00:02:46 +00:00