lethosor
582169e0a5
eventExample: make unitAttack a bit safer
2019-10-05 21:05:26 -04:00
lethosor
76da2c2aaf
Clean up CMakeLists.txt style
2019-07-16 22:19:11 -04:00
lethosor
f668914db8
kittens: fix compiling on Windows thanks to @ragundo
2019-06-01 17:30:26 -04:00
lethosor
a2f8742128
Merge remote-tracking branch 'suokko/runtime_debug_prints' into develop
...
Also fix and reorganize changelog
2018-12-27 16:28:25 -05:00
Kelly Kinkade
98903d9d71
[tailor] tidy
2018-08-26 09:30:08 -05:00
Kelly Kinkade
d3b335105c
Add "tailor" plugin, to provide clothing management
2018-08-25 12:02:28 -05:00
Kelly Kinkade
c840321edf
move nestboxes out of devel
2018-08-16 10:23:15 -05:00
Kelly Kinkade
a404ab3096
nestboxes: clean up & update description
2018-08-16 10:21:44 -05:00
Pauli
490a855776
Add a test for signal_shared_tag implementation
...
The test cases check that the signal_shared_tag implementation can be
used and destructed safely from multiple threads.
2018-07-04 15:18:20 +03:00
Pauli
645ec0d591
Improve kittens thread safety and shutdown with core
...
The bools could use acquire&release memory order or even relaxed but I
didn't think code was worth auditing for such low level optimizations.
Sequantial consistent is fast enough but much harder to use incorrectly.
The timeLast is protected by CoreSuspender lock. plugin_update is only
called when CoreSuspender lock is held.
The last_menu is protected by trackmenu_flg loads and stores.
2018-06-30 21:53:12 +03:00
Pauli
0727403ac1
Fix devel plugins linking in linux
2018-06-30 21:12:42 +03:00
lethosor
7036cc376b
Fix warnings in devel plugins introduced by #1302
2018-06-20 12:03:14 -04:00
lethosor
03968db344
Fix GCC warnings in 'tweak kitchen-prefs-all' and dev plugins
2018-06-01 10:02:38 -04:00
lethosor
db95796d4c
Many build fixes
2018-03-10 16:53:45 -05:00
lethosor
bdba95f90c
memview: check for tags from sizecheck
2018-02-03 18:10:16 -05:00
lethosor
95aa5bbb47
zoom: fix MSVC warning
2017-08-07 15:06:00 -04:00
lethosor
43c4a88068
Move some checks in paintTile/readTile after hooks are called
2017-06-02 00:40:14 -04:00
lethosor
5c83c16a99
Fix memview x64 address display
2016-10-24 10:06:41 -04:00
lethosor
6ce470ad57
Add basic lua expression support to memview
...
Currently just supports basic field accesses (world.x, screen.y.z).
No support for world.x - 4, etc.
Closes #976
2016-08-24 16:26:34 -04:00
lethosor
f4b0c2fcfc
color-dfhack-text: Fix potential overflow issue
2016-08-22 23:18:58 -04:00
lethosor
e965f5318f
Replace many includes with forward declarations in modules/Maps.h
2016-08-13 21:44:01 -04:00
lethosor
a1c25570df
Move labormanager to plugins/, per request
2016-08-11 23:49:15 -04:00
lethosor
99813038e9
Update labormanager for unit.relations removal and fix warnings
2016-08-11 23:42:58 -04:00
lethosor
bceeea39ba
Merge remote-tracking branch 'ab9rf/develop' (labormanager) into develop
2016-08-11 23:37:22 -04:00
Kelly Kinkade
a55ce5f1d9
labormanager: whitespace
2016-08-11 16:58:35 -05:00
Kelly Kinkade
5ab930ba4d
labormanager: small tweaks
...
Handle cloth crafts correctly; handle pit jobs correctly; handle
bookcase construction correctly; deal with new break behavior better;
change assignment of clean labor; tweak hauling assignments slightly to
avoid overallocation; assign pull lever to everyone and clean to all
nonbusy dwarfs
2016-08-11 16:56:34 -05:00
lethosor
215afa34f3
Update for 64-bit unit changes
...
Includes xml, stonesense, scripts
Ref DFHack/df-structures@25cb373
2016-08-10 23:50:00 -04:00
lethosor
afde73a673
memview: Fix pointer size on x64
2016-07-28 11:45:35 -04:00
lethosor
eeb7f05483
vectors: Fix pointer parsing and display
2016-07-28 11:44:54 -04:00
lethosor
71e4f4ec62
Fix pointer-size-related compile errors in dev plugins
2016-07-28 11:40:17 -04:00
Kelly Kinkade
74f6f3d416
labormanager: add labors for bookcase (de)construct
2016-07-11 22:39:41 -05:00
Kelly Kinkade
874a97ed9f
labormanager: fix several job-to-labor mappings
2016-07-11 22:39:41 -05:00
Kelly Kinkade
808afca9f0
labormanager: add StoreItemInLocation labor, reduce tool churn
...
Note: this commit requires updated df-structures (77968973b28d0e828f880d119a700abb079f3521 or later)
2016-07-11 22:39:41 -05:00
Kelly Kinkade
0509c455dd
labormanager: significant restructuring to use job posting list
...
Updated here to get potential jobs off the job posting lists, which is
apparently where certain map-designated live after being designated but
before they move to the actual job list. Also changes to how tools are
handled, and lever pulling is assigned by default to all idle dwarfs.
2016-07-11 22:39:41 -05:00
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