Commit Graph

309 Commits (5cafffaaf6a0d73605bb3501bc7b9d4204d0870d)

Author SHA1 Message Date
lethosor fcfffd1cb6 Track state of gui hooks
Also fix a bug in drawborder() and expand color-dfhack-text to test
multiple hooks
2015-11-15 11:54:34 -05:00
lethosor fff9072b07 Add initial support for hooking into Gui-related functions 2015-11-15 11:54:34 -05:00
lethosor 8de710f1c1 Add Renderer module - safer way to install custom renderers 2015-10-21 17:18:39 -04:00
lethosor 4fc6cb6f17 Several PluginManager improvements
* load/unload/reload are no longer restricted to plugins that exist
  on startup
* Names passed to DFHACK_PLUGIN must match the plugin's filename
  (remotefortressreader vs RemoteFortressReader, counters vs probe)
* "plug" output lists all plugins and state/command information
* Deleted plugins can be reloaded again if they are replaced
* load/unload/reload don't fail silently with broken plugins
* Built-in commands are recognized internally (e.g. "help help"
  does not display "help is not a recognized command"), although help
  for them is not yet implemented
* New command: "type" (bash-like) - shows where/how a command is
  implemented
* "plug" can accept multiple plugin names
* "ls" displays more information about unloaded/unrecognized plugins
* "load all" changed to "load -all" (or "load --all", "load -a", ...)
2015-08-14 16:11:23 -04:00
lethosor fcd15bfd73 Move vshook plugin to title-version and enable by default 2015-08-09 13:37:26 -04:00
lethosor a577248a38 Make memview output more readable 2015-05-09 19:41:13 -04:00
lethosor 786581689f Move get_dfhack_version() to a separate namespace and add a few other version-related functions 2015-04-02 16:37:58 -04:00
lethosor 9b6d8d2799 Allow dev plugins to be skipped on startup 2015-04-01 17:50:22 -04:00
lethosor 82d72007fc Move zoom-related commands to a separate dev plugin 2015-04-01 17:24:52 -04:00
lethosor 7913517b2c Add "nyan stop" command 2015-04-01 17:02:33 -04:00
Lethosor 88c3a629d5 Fix vshook 2015-03-26 19:27:22 -04:00
lethosor 10cfef0553 Fix whitespace issues 2015-02-14 22:53:06 -05:00
Quietust cf06dc3503 Update to 0.40.11, fix a few devel plugins to build again 2014-09-04 08:26:45 -05:00
Quietust 97de21357c First pass for 0.40 compatibility; still lots left to do, but this will at least build 2014-07-21 13:18:29 -05:00
expwnent c7636ae442 Deleted devel/printArgs because there's a script for that. 2014-06-30 02:56:07 -04:00
expwnent 2894b406ac Sorted devel CMakeList. 2014-06-30 02:54:15 -04:00
expwnent 8e7e87ac73 Added UNIT_ATTACK event to EventManager and exposed it to Lua. 2014-06-28 02:31:34 -04:00
Alexander Gavrilov 7aecffe0cd Update structures and fix broken things. 2014-04-04 22:34:39 +04:00
expwnent c409289ee4 EventManager: TICK events should unregister correctly when requested and after they fire, other tweaks.
- fixed unregister to allow unregistering individual TICK events
 - make registerTick return the resulting freq you have to put back in to the handler in order for it to be unregisterable
- when TICK events fire, they now automatically remove themselves from handlers[TICK], as they should
- make sure manageTickEvent fires once per tick
2013-10-20 22:54:25 -04:00
expwnent 39553cfb6d EventManager: fixed a problem with constructionHandler. 2013-10-20 14:14:02 -04:00
expwnent ee056f4422 Merge remote-tracking branch 'angavrilov/master' into 0.34.11-r4
Conflicts:
	NEWS
2013-10-20 11:09:40 -04:00
expwnent 57fc0f3e89 Merge remote-tracking branch 'angavrilov/master' into 0.34.11-r4
Conflicts:
	NEWS
	library/xml
	plugins/CMakeLists.txt
	plugins/autoSyndrome.cpp
2013-10-19 20:19:29 -04:00
Alexander Gavrilov a273327c6a Remove "using namespace std" from MiscUtils.h. 2013-10-10 12:15:50 +04:00
Alexander Gavrilov d7e35c2d23 Add built-in enable and disable commands. 2013-09-30 13:19:51 +04:00
expwnent 3403146461 Merge remote-tracking branch 'peterix/master'
Conflicts:
	plugins/CMakeLists.txt
	plugins/autoSyndrome.cpp
2013-05-25 20:08:56 -04:00
expwnent b44cd86dc9 EventManager: completely overhauled JOB_COMPLETED event detection, and tweaked Job::cloneJobStruct. 2013-05-25 09:44:17 -04:00
expwnent b4092f62e6 New module: Once. Intended to help prevent debug error message spam. 2013-03-23 22:38:33 -04:00
Kelly Martin 0b31fbafea Remove the "assign random labors to random dwarfs" nonsense that I put in while drunk or something. 2013-03-02 23:05:09 -06:00
Kelly Martin e35a1c7720 Correct autolabor2 for changes in structures. 2013-02-13 16:00:09 -06:00
Kelly Martin 8d278a87db Merge branch 'master' of https://github.com/angavrilov/dfhack.git
Conflicts:
	plugins/devel/CMakeLists.txt
2013-02-13 13:52:02 -06:00
Kelly Martin ff0012c91f Move new autolabor to autolabor2 in devel. 2013-02-13 13:33:32 -06:00
expwnent 3ffbef2396 Merge branch 'canStepBetween' into recent 2013-01-05 18:10:29 -05:00
expwnent f8abd5c595 StepBetween: renamed stuff back to the way it was. Thought I had already done that. 2013-01-05 18:09:50 -05:00
expwnent cf3ac48518 Merge in autoSyndrome, trueTransformation, ... 2013-01-05 13:35:49 -05:00
expwnent 6622e9e06f Merge branch 'canStepBetween' into recent
Conflicts:
	library/modules/Maps.cpp
2013-01-05 13:32:29 -05:00
expwnent 715f191c26 EventManager: made the frequency part of EventHandler. 2013-01-03 19:31:29 -05:00
expwnent 910e398a7b EventManager: added invasion event. 2013-01-03 15:52:56 -05:00
expwnent 4e4e382b8f EventManager: added syndrome event. 2013-01-02 18:30:15 -05:00
expwnent c3b2ae2137 EventManager: allowed plugins to specify how often they need events to be checked, in the event that monitoring is necessary. 2013-01-02 11:07:56 -05:00
expwnent fa78d6ccfc Merge branch 'recent' into eventManager-unstable
Conflicts:
	library/modules/Job.cpp
2013-01-02 03:16:45 -05:00
expwnent 7972902c81 stepBetween: named a few things better, and fixed a lot. 2012-12-19 20:30:37 -05:00
expwnent 555c754636 EventManager: added construction and building events. 2012-12-18 18:34:38 -05:00
expwnent 01e5e93825 Renamed Maps::canWalkBetween to Maps::canPathBetween and added Maps::canWalkBetween, which does what it says. 2012-12-16 23:26:50 -05:00
expwnent 935058f0a5 EventManager: moved files around, made eventExample not run by default, and got rid of the silly NONE event type. 2012-12-15 17:43:41 -05:00
jj ebc2625d97 ditch the unused Vegetation module 2012-12-06 23:47:25 +01:00
jj 614225cc5f follow rename itemst.flags.artifact1 -> artifact 2012-11-28 19:48:47 +01:00
Quietust e2b9b703a0 Get rid of tabs 2012-11-16 15:33:36 -06:00
Quietust 766aca4911 Rename general_ref vectors for consistency 2012-11-12 08:27:58 -06:00
Warmist e887c60e93 Removed unused buffers. 2012-11-02 21:00:35 +02:00
Alexander Gavrilov cd852e2240 Fix one more place that was using ANY_FREE. 2012-10-24 17:51:47 +04:00
Alexander Gavrilov 82e870c8dd Move siege engine out of devel. 2012-09-17 14:59:59 +04:00
Alexander Gavrilov f2fde21b10 Implement a slightly more sensible aiming AI in siege engine. 2012-09-17 14:45:22 +04:00
Kelly Martin 58fda716e6 Explicit cast is required for MSVC. 2012-09-16 17:06:31 -05:00
Kelly Martin 847dadd3f5 Merge remote-tracking branch 'angavrilov/master' 2012-09-16 16:37:08 -05:00
Kelly Martin 38f920dd65 Merge remote-tracking branch 'q/master' 2012-09-16 16:36:51 -05:00
Alexander Gavrilov 000e3baf27 Implement skill-based miss probability in siege engine. 2012-09-14 20:57:03 +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 881fed41de Support setting workshop profile for siege engines.
Since can't use built-in viewscreen, UI limited to skills only.
2012-09-13 20:20:56 +04:00
Alexander Gavrilov 5690a26439 On second thought, remove stockpile->engine links; keep only reverse.
Bi-directional links involve the risk of crashes if the plugin
is unloaded, and the engine subsequently deconstructed.
2012-09-13 17:49:41 +04: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 448d7e3633 Support linking siege engines to stockpiles.
Since they can't do that natively, the links object has to
be maintained in dfhack memory, and with dfhack persistence.
2012-09-12 12:15:12 +04:00
Alexander Gavrilov b0938d7e0d Allow specifying arbitrary items to use in catapults. 2012-09-11 22:46:17 +04:00
Alexander Gavrilov 3a075f4bc7 Trivial siege engine aiming at units, with logic in lua. 2012-09-11 19:17:24 +04:00
Alexander Gavrilov 8ab615f6d0 Implement unit path prediction in siege engine. 2012-09-09 20:54:12 +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 fb88aad51d Reverse-engineer unit speed computation from DF code. 2012-09-08 21:07:18 +04:00
Alexander Gavrilov 003c3391d1 Implement aiming projectiles at random points in the designated area. 2012-09-08 15:49:46 +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
Alexander Gavrilov d0e630d4c3 Move steam engine out of devel, since it should be fully functional. 2012-09-06 17:10:58 +04:00
Alexander Gavrilov 9c6fcee9a9 Add steam engine documentation, and use barrel quality in efficiency calc. 2012-09-05 11:23:00 +04:00
Kelly Martin 96fec768c7 Merge remote-tracking branch 'angavrilov/master' 2012-09-04 12:05:05 -05:00
Alexander Gavrilov 1618ccf5bb Fix steam-engine build on msvc, and add a script for listing mem ranges. 2012-09-03 10:28:17 +04:00
Alexander Gavrilov 2249cb14fa Require level 3 both for water & magma, and indicate level 5 by brightness. 2012-09-02 18:57:10 +04:00
Alexander Gavrilov 3b08ee44d1 Vary the internal power consumption of the engine depending on quality. 2012-09-02 17:32:44 +04:00
Alexander Gavrilov 67630776ee Tweak steam engine raws. 2012-09-02 17:17:18 +04:00
Alexander Gavrilov 9c3843c1d4 Use new API in steam engine; always explode if destroyed with steam inside. 2012-09-02 14:59:13 +04:00
Alexander Gavrilov 8536785d1d Boilers made out of unsuitable materials should explode! 2012-09-01 20:46:34 +04:00
Alexander Gavrilov bae85ac77d Make the steam engine consume liquids from Z level below. 2012-09-01 17:52:51 +04:00
Alexander Gavrilov 74501d3197 Try preventing "boiling water" from freezing, and dump steam on destroy. 2012-09-01 14:42:19 +04:00
Alexander Gavrilov f158e1894d Further work on steam engine.
- Display water inside as 'boiling' by hooking item_liquid_miscst.
- Store current power in flags to avoid mess if items disappear etc.
- Suspend/unsuspend stoke jobs depending on steam level.
- Implement intelligent steam use rate and boiler capacity cap.
- Modify appearance of special tiles to display status.
2012-09-01 11:29:05 +04:00
Alexander Gavrilov ece0833c93 Prototype steam engine workshop :)
Very broken and incomplete still.
2012-09-01 00:22:55 +04:00
Kelly Martin a8158cb19a Merge remote-tracking branch 'q/master' 2012-08-30 09:25:26 -05:00
Kelly Martin 604cf80832 Repurpose the nestboxes plugin as a watcher that automatically forbids fertile eggs. 2012-08-30 09:23:11 -05: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 bee33fd486 Add a performance test for location caching in general refs. 2012-08-26 14:43:14 +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 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
Kelly Martin 4c7c38df93 * Autolabor: really exclude the broker from all labors when trader requested
* Autolabor: add 'haulpct' config option to control percentage of non-idle dwarfs assigned to hauling labors (default is 33)
* Zones: allow nontamed birds to be nestboxes.  warning: does not check for 'hostile to civilization' birds, so if you try to tame a hostile elk bird, !!fun!! will happen
* Stripcaged: changed default behavior to keep armor, reduced noisiness
2012-07-11 14:30:47 -05:00
Kelly Martin 83f00e5583 Autolabor: allow setting the nonidle hauler percentage at runtime.
Stripcaged: add keeparmor option
2012-07-05 09:59:28 -05:00
Alexander Gavrilov e72bf1ac9a Sync to changes in df-structures. 2012-05-26 14:49:27 +04:00
Alexander Gavrilov e3440126a3 Fix missing switch case warnings. 2012-05-05 19:36:22 +04:00
Kelly Martin 6903f3877f Devel plugin nestboxes scans all nestboxes for unhatchable eggs and optionally dumps them. 2012-05-01 10:58:12 -05:00
Alexander Gavrilov 02e43428ee Sync to changes in the data structure definitions. 2012-04-26 12:36:29 -05:00
Kelly Martin ac0e4a15e8 Rprobe can now be used to change any of the region_map paremeters. Use at your own peril, as strangeness may ensue. 2012-04-23 09:46:57 -05:00
Kelly Martin e06c80f690 Fix minor ostream munging glitch in rprobe. 2012-04-22 23:36:13 -05:00
Kelly Martin 26cec5f60c Probe now displays the "surroundings" name for the biome (e.g. Joyous Wilds, or Terrifying).
Rprobe can be used from the embark screen to set the evilness of the selected biome; use with due care.
2012-04-22 10:17:14 -05:00
Kelly Martin f5644f385b Probe now displays biome savagery and evilness.
Devel plugin bprobe (also in this commit) goes digging around in region data at embark screen, not really useful for public consumption.
2012-04-21 23:22:21 -05:00
Kelly Martin c104f822a4 Move stripcaged to master branch, works fine. 2012-04-21 12:53:46 -05:00
Kelly Martin b7b27ebb9e Merge remote-tracking branch 'upstream/master' 2012-04-18 11:35:32 -05:00
Kelly Martin 2dc3aa1b89 danger of rotting) 2012-04-18 11:33:17 -05:00
Kelly Martin 9e1e34f69b Created new stockcheck plugin 2012-04-18 00:16:44 -05:00
Petr Mrázek 6d53ab37e0 Mass fixage
Updated readme.rst
Fixed up some help strings of plugin commands
Moved catsplosion and regrass to normal plugin folder
Fixed tiletypes and liquids not keeping command history properly
2012-04-18 04:12:11 +02:00
Robert Heinrich 9c67250729 regrass: pick random grass event if tile is soil instead of always using the first one found 2012-04-16 07:03:27 +02:00
Robert Heinrich e8e8f29328 regrass: fix 2012-04-11 17:01:20 +02:00
Robert Heinrich ae7ce9e5d7 zone: fixed assigning to pit/pond. regrass: look for grass events in the map block, increase amount of grass at map position instead of simply changing the tile type 2012-04-11 14:08:47 +02:00
Petr Mrázek 2b4044f3f2 Tweaks!
Check map presence in autolabor and fastdwarf onupdate() functions
Game state tracking in kittens plugin now respects on/off switch
2012-04-01 03:46:17 +02:00
Petr Mrázek 7ff728b6fc Track world and map changes separately for plugin_onstatechange 2012-04-01 02:56:54 +02:00
Alexander Gavrilov 10b610669f Give some sensible looking names to the arrays in pregnancy_ptr. 2012-03-31 10:31:45 +04:00
Quietust 0f3ae4499f New devel plugin - list counters for selected creature 2012-03-30 16:39:19 -05: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
Quietust ff17e6c067 Neither of these plugins have anything at all in them, so don't bother building them 2012-03-18 14:44:10 -05: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
Petr Mrázek eb4757043b Move depends out of main library, make them (static) libraries. 2012-03-13 14:46:48 +01:00
Alexander Gavrilov 522dd1fd10 Update the devel plugins. 2012-03-10 17:25:00 +04: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 26c15a1d51 Nuke wagons, move regrass to devel, bump to a dev version. 2012-02-28 23:33:02 +01:00
Quietust e9b45a5b6d Add "dumpmats" devel plugin 2012-02-22 14:00:37 -06:00
Petr Mrázek 2cd2ee9b0c New plugin interface 2012-02-21 18:19:17 +01:00
Quietust 7b20690db0 Merge branch 'master' of git://github.com/peterix/dfhack 2012-02-18 10:37:29 -06:00
Petr Mrázek 1511a6b7ed Use hexadecimal numbers in tilesieve 2012-02-18 15:07:55 +01:00
Quietust d908789dfa Add useless dev plugin - set all "frozen liquid" tiles to be either Water or Magma 2012-02-17 16:20:17 -06: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 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 091bf62aa8 DFhackCExport is only needed on the plugin_* functions 2012-02-13 22:54:08 -06:00
Petr Mrázek f600928ec1 Move catsplosion, tweak for build targets under MSVC. 2012-02-13 17:43:41 +01:00
Petr Mrázek d5d4875532 Make things work properly. 2012-01-27 05:54:26 +01:00
Petr Mrázek 86464b99cc Remove DfVector, break MSVC builds until further notice. 2012-01-04 01:45:11 +01:00
Petr Mrázek 9db20bd84d Header changes/cleanup. 2011-12-31 12:48:42 +01:00
Petr Mrázek f7d78539d3 Renaming Creatures to Units 2011-12-02 10:56:40 +01:00
Petr Mrázek d1849e6bef Update df2mc, fix build. 2011-11-05 02:22:15 +01:00
Petr Mrázek 25257fe598 Move df2mc back. 2011-11-05 02:00:51 +01:00
Petr Mrázek af46b262b5 More init hardening. 2011-11-04 09:08:29 +01:00
Petr Mrázek dcce48c243 Add simple creature probe, fix current civ address on windows, update df2mc. 2011-11-02 00:26:45 +01:00
Petr Mrázek 6bbc27dbce Update df2mc 2011-11-01 13:13:03 +01:00
Petr Mrázek 2dfee0a9f9 Move df2mc to devel 2011-10-30 19:56:08 +01:00
Petr Mrázek 9f9e8f012d Added a basic plant raw check to rawdump plugin. 2011-10-28 05:10:18 +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
rampaging-poet 3ef2cace1a Moved buildprobe to developer plugins 2011-10-13 18:27:59 -07: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 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
Warmist 064719375c Small changes to memview. 2011-08-24 23:34:49 +03:00
Petr Mrázek 4d54ac44e9 Merge https://github.com/warmist/dfhack 2011-08-23 21:24:43 +02:00
Petr Mrázek 4447bcbe34 Move memview plugin to devel. 2011-08-23 15:00:31 +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 e14548ba4c Added menu ID watcher command and some info on bug reporting/error logs 2011-08-15 06:48:25 +02:00
Petr Mrázek 2de20929c5 Move devel plugins into plugins/devel 2011-08-08 00:55:17 +02:00