Commit Graph

272 Commits (5f83681fbc49eec0a1f49afedd61e16f2bc0fb84)

Author SHA1 Message Date
Ben Lubar d494eb619d
fix Windows 64-bit compile for check-structures-sanity
fix some sprintf size_t-related warnings
2020-02-05 20:29:16 -06:00
Ben Lubar 860131cf96
fix Windows 32-bit compile for check-structures-sanity 2020-02-05 20:21:32 -06:00
Ben Lubar d9abe02b2e
add support for DfArray in check-structures-sanity 2020-02-05 19:06:14 -06:00
Ben Lubar d7d0923044
add string checking support to check-structures-sanity
try to avoid crashes on bad vtables
2020-02-05 18:52:35 -06:00
Ben Lubar 3d037db789
add a tool for sanity-checking structures on a running Dwarf Fortress instance. 2020-02-05 16:36:59 -06:00
lethosor 815821eb93 Merge branch 'develop' into cmake-cleanup
Conflicts:
	depends/lua/CMakeLists.txt
	plugins/CMakeLists.txt
	plugins/devel/CMakeLists.txt
2020-01-18 22:28:43 -05:00
lethosor dc8b8b501b Move autofarm to supported plugins
PR #1468
2020-01-18 17:17:28 -05:00
lethosor 3e47ba543b Merge remote-tracking branch 'ab9rf/autofarm-cpp' into develop
Ref #1468
2020-01-18 17:11:43 -05:00
Ben Lubar 23b56c4492
Fix "kittens" development plugin not building on Linux due to missing thread library 2019-12-06 12:28:18 -06:00
Kelly Kinkade dfafafdf9b autofarm.cpp: whitespace, complexity
Clean up autofarm.cpp
2019-11-21 18:58:06 -06:00
Kelly Kinkade 5d92026bbe autofarm: make crop assignment more stable 2019-11-18 09:02:39 -06:00
Kelly Kinkade 7c8c6546c7 autofarm: suspend while processing 2019-11-18 09:02:39 -06:00
Kelly Kinkade 4abd410b1b Convert autofarm from ruby to C++
Reimplement the Ruby autofarm script as a C++ plugin
2019-11-18 09:02:39 -06:00
lethosor 150edcfff8 Move tailor to supported plugins 2019-11-02 21:12:41 -04:00
lethosor c2e5ae844c tailor: add docs
Ref #1398
2019-11-02 21:07:10 -04:00
lethosor ba8b828e69 Merge remote-tracking branch 'ab9rf/tailor' into develop 2019-11-02 21:02:23 -04:00
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