Kelly Kinkade
3a0ba332d9
labormanager: rework for better behavior with 43.03
...
The main thing here is that the process loop exits if the DF process_job
or process_dig flags are set since if these are set the job list is
going to change soon anyway. The plugin also sets these flags when it
changes any labors, which has the side effect of effectively disabling
the process loop while DF is paused, which prevents flapping while
editing job preferences in-game, and also allows changing job
preferences in game (although such changes may not last when the clock
starts up again).
2016-07-11 22:39:41 -05:00
Kelly Kinkade
dbc46c510f
labormanager: fix stupid
2016-07-11 22:39:41 -05:00
Kelly Kinkade
705134975d
labormanager: whitespace
...
MSVC is evil.
2016-07-11 22:39:41 -05:00
Kelly Kinkade
f095e139aa
labormanager: more tweaks to bring up to date
...
This update fixes some labors and attempts to address changes in the way
DF maintains the job list.
2016-07-11 22:39:41 -05:00
Kelly Kinkade
07e1c81969
labormanager improvements
...
Add some debugging facilities. Change some hauling, construction, and
deconstruction labors to reflect changes in DF since 34.11.
2016-07-11 22:39:41 -05:00
Kelly Kinkade
824275b23b
Rename autolabor2 to labormanager and bring up to date with current
2016-07-11 22:39:41 -05:00
PeridexisErrant
ae81454786
Minor fixes, space no longer required
...
Thanks to 2882422
2016-04-15 16:28:41 +10:00
PeridexisErrant
273c22f606
Shorten "ls" help for plugins
...
I think that's all of them.
2016-04-15 16:28:41 +10:00
lethosor
f5d10ecf61
vectors: attempt to identify instances of virtual classes
...
Also:
- don't restrict to heap ranges (e.g. allow globals)
- stylistic cleanup
2016-04-03 20:47:21 -04:00
sv-esk
20572fb667
add new jobs to autolabor
2016-02-23 19:01:14 +02:00
lethosor
2a2ab00ca9
Add "map" parameter to a lot of drawing functions
...
Ref #746
2015-12-22 11:42:51 -05:00
Eric Wald
e4de341168
Preparing for MakeInstrument elimination.
...
Instruments are now made individually, so this type of job no longer happens. Therefore, it will probably be removed from the job_type enum.
2015-12-17 21:45:43 -07:00
lethosor
610170b0b0
Add hooks for getDwarfmodeViewDims and getDepthAt (new)
2015-11-15 11:54:34 -05:00
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