Commit Graph

457 Commits (60787dec3143bad7e02425efce9f4322df9dabe8)

Author SHA1 Message Date
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
Petr Mrázek bbf28eb33d Disable df2minecraft again. 2012-04-14 14:15:46 +02:00
Alexander Gavrilov 2f54a48e63 Add a plugin that makes selected burrows auto-grow on digging. 2012-04-13 21:41:42 +04:00
jj b2846492f4 ruby: compiles 2012-04-05 22:15:43 +02:00
Robert Heinrich 772c6b1cbb Added plugin 'zone'. Helps with assigning units to pens/pastures and pits. 2012-04-02 16:07:23 +02: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
Robert Heinrich 88c914142b added plugin changeitem (change material type and base quality) 2012-03-29 15:33:54 +02:00
Robert Heinrich cebdbff46d minor updates in readme.rst; moved changelayer plugin to main plugin folder 2012-03-28 17:00:33 +08:00
Robert Heinrich e63ba6f87d added changelayer plugin 2012-03-26 04:15:42 +02:00
Petr Mrázek ee66731d63 Remove Qt and server plugins. 2012-03-25 00:28:29 +01:00
Petr Mrázek 5453521da2 Make liquids and tiletypes reference Brushes.h in the build system
This should cause the header to show up in MSVC
2012-03-24 13:22:43 +01:00
Petr Mrázek e90da2bff1 Move autolabor to main plugin folder 2012-03-24 01:29:09 +01:00
Petr Mrázek 13cf648634 Merge https://github.com/RossM/dfhack 2012-03-24 01:26:36 +01:00
Petr Mrázek addb5c87aa liquids vs liquidsgo: FIGHT!
liquidsgo WINS, renamed to liquids to not confuse users.
2012-03-24 00:13:16 +01:00
Petr Mrázek 078caf363f Move merged plugins into main plugin folder. 2012-03-23 23:49:28 +01:00
Robert Heinrich aa807343cc vampcheck is now generic cursecheck, added tweak clear-ghostly 2012-03-22 16:30:15 +01:00
Robert Heinrich cf029e0a2e fixed memory leak in liquids.cpp 2012-03-21 13:57:55 +01:00
Robert Heinrich 38686765a6 added plugin liquidsgo (like liquids but can run from hotkey) 2012-03-21 12:40:07 +01:00
Robert Heinrich 6c6438267b add plugin vampcheck 2012-03-20 09:36:36 +01:00
unknown 89edfd4e15 Initial Autolabor code. 2012-03-16 21:45:52 -07: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
Quietust 27a7f97174 Merge branch 'master' of git://github.com/peterix/dfhack
Conflicts:
	plugins/CMakeLists.txt
2012-03-11 15:32:16 -05:00
Petr Mrázek 3b87f7bd3a Add revforget command, lair plugin
revforget throws away data reveal keeps in order to be able to hide
the revealed parts of the map

lair allows marking the map as monster lair (or the opposite while
using the 'reset' option)
2012-03-11 22:25:30 +01:00
Quietust 1124ab25fb Add map feature manager - allows enabling/disabling magma workshops as well as halting subterranean plant growth outside the caverns 2012-03-10 13:40:55 -06:00
Alexander Gavrilov cbd254991f Add a tweak for forcibly clearing the Missing status of units.
Mainly useful for fixing inexplicably missing ghosts.
2012-03-05 19:47:06 +04:00
Petr Mrázek 26c15a1d51 Nuke wagons, move regrass to devel, bump to a dev version. 2012-02-28 23:33:02 +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
Quietust bca78088e2 Add "changevein" plugin, lets you change what mineral inclusions are made of 2012-02-24 14:07:04 -06:00
Petr Mrázek 2cd2ee9b0c New plugin interface 2012-02-21 18:19:17 +01:00
Mike Stewart f8d0b83b0a Add new follow plugin that makes the DF window center on and follow a selected unit. 2012-02-21 00:44:10 -08:00
Petr Mrázek 6fe0867c46 Rename export to dwarfexport. 2012-02-05 20:41:12 +01:00
Petr Mrázek 2b22b0b336 Make dwarf export optional. Update structures. 2012-02-05 20:16:00 +01:00
Petr Mrázek 7d8a176e59 Merge branch 'export-plugin' of https://github.com/espenhw/dfhack 2012-02-05 20:05:19 +01:00
Quietust e9118dceeb Add fixpositions plugin - adds Elven Diplomats and Human Merchant Nobles to existing worlds 2012-02-04 20:45:45 -06:00
Espen Wiborg 26880d9108 Merge branch 'master' into export-plugin 2012-01-27 11:00:34 +01:00
Quietust be51221939 Add plugin "fixveins", restores mineral floors that were erased by placing/removing constructions 2012-01-26 10:06:03 -06:00
Espen Wiborg b6ef14bafa Merge branch 'master' into export-plugin 2012-01-26 13:57:01 +01:00
Petr Mrázek 0375be549c Merge https://github.com/mikestewart/dfhack 2012-01-26 05:37:50 +01:00
Quietust e3f875b9a5 Add "showmood" plugin, provides a detailed description of the currently
active mood (if any)
2012-01-23 16:03:29 -06:00
Espen Wiborg 8e2fef0c97 Merge branch 'master' into export-plugin 2012-01-23 10:43:24 +01:00
Mike Stewart fb41e457c4 Added a plugin that starts up and shuts down protobufs. Will add actual map export functionality to it tomorrow. 2012-01-19 22:15:51 -08: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
Petr Mrázek 8312c39ab1 Merge https://github.com/quietust/dfhack
Conflicts:
	plugins/CMakeLists.txt
2012-01-06 02:15:12 +01:00
Quietust 2af3b49e09 Add "regrass" plugin, regrows grass for pre-0.31.19 fortresses 2012-01-02 20:13:27 -06: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
Espen Wiborg 5918cb773d Merge branch 'master' into export-plugin 2012-01-02 12:49:23 +01:00
Alexander Gavrilov 6476d61e59 Update structure definitions & add the fixwagons plugin from Q. 2012-01-01 23:05:45 +04: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
Espen Wiborg 6c0d5d3cd2 Make sure the export plugin is built 2011-12-28 23:35:41 +01: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
Petr Mrázek 647916e109 Graphic module 2011-12-07 20:37:09 +01:00
Petr Mrázek 780b659210 Zeromq hello world plugin. 2011-11-25 22:14:36 +01:00
Petr Mrázek d1849e6bef Update df2mc, fix build. 2011-11-05 02:22:15 +01:00
Petr Mrázek 2dfee0a9f9 Move df2mc to devel 2011-10-30 19:56:08 +01:00
Petr Mrázek 13ca2e608f Added df2mc (TroZ) and drybuckets (Quietust) plugins 2011-10-30 02:50:29 +01:00
Petr Mrázek fc6cb72f33 Merged the spatter clean plugins into one 2011-10-28 04:40:00 +02:00
Petr Mrázek 8838d8c3d6 Merge https://github.com/gsvslto/dfhack 2011-10-27 02:06:57 +02:00
Petr Mrázek 81391f91be Added cleanunits by Q. 2011-10-27 01:31:47 +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
John Shade 716e92fafd first commit 2011-10-24 16:53:31 +01:00
rampaging-poet 3ef2cace1a Moved buildprobe to developer plugins 2011-10-13 18:27:59 -07:00
rampaging-poet 8dea0db83f Initial commit 2011-10-13 17:15:19 -07:00
Petr Mrázek b09ff94b24 STUFF! 2011-10-07 03:53:58 +02:00
Petr Mrázek 8cdeb0b59c Add a salt/stagnant flag removal command to the liquids tool. 2011-09-02 01:25:01 +02:00
Petr Mrázek 4447bcbe34 Move memview plugin to devel. 2011-08-23 15:00:31 +02:00
Warmist 0975b7352e Memview plugin. 2011-08-22 16:21:13 +03: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 1cbcb99dd5 Port tiletypes tool. 2011-08-11 04:39:12 +02:00
Petr Mrázek f54e5ef4f1 Ported flows tool. 2011-08-09 02:07:29 +02:00
Petr Mrázek aa2ad1b64c Merge https://github.com/warmist/dfhack 2011-08-08 23:21:09 +02:00
Warmist 71dc85d35a Linux compatibilty run, not sure if windows is not broken... 2011-08-08 22:19:04 +03:00
Petr Mrázek 2de20929c5 Move devel plugins into plugins/devel 2011-08-08 00:55:17 +02:00
Petr Mrázek 4fdcb811d3 Send the cleartask plugin where it really belongs - /dev/null 2011-08-07 08:42:45 +02:00
Petr Mrázek be358ec1de Ported deramp, cleanowned and cleartask tools. 2011-08-05 00:41:31 +02:00
Petr Mrázek a8543f5ef0 Ported autodump tool 2011-08-04 04:04:46 +02:00
Petr Mrázek ff4d545ae7 Port tubefill tool. 2011-08-02 16:25:10 +02:00
Petr Mrázek 6cc66d3434 Merged grow and immolate tools into plants plugin. 2011-08-02 02:21:25 +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
Petr Mrázek 01c1fc6c6a Quick and dirty liquids port, some work on tiles. 2011-07-28 02:35:45 +02:00
Petr Mrázek 8dec3546a3 More plugin work 2011-07-26 11:01:16 +02:00
Petr Mrázek e92bacbcc9 Don't build dfusion on linux, gcc can't do explicit __thiscall 2011-07-25 11:09:29 +02:00
Petr Mrázek 761d0de74a Merge branch 'dfapi' of https://github.com/warmist/dfhack 2011-07-25 10:36:43 +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 131c32494a Added DF material structs reversed by Quietust 2011-07-21 22:37:02 +02:00
Petr Mrázek 26dfa7ab39 Merge branch 'dfapi' of github.com:peterix/dfhack into dfapi 2011-07-21 11:30:21 +02:00
Petr Mrázek 262a5c9da3 Callgrind in dfhack script, added an option for building stonesense. 2011-07-21 11:29:26 +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 873cbd8388 Make 'die' plugin a builtin, made the console interaction less confusing. 2011-07-20 20:58:19 +02: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
Matthew Cline 7d1d916570 Vectors plugin: searches memory for vectors
Lists embeded STL vectors and pointers to STL vectors found in the given
memory range.

Linux only, enabled with BUILD_VECTORS cmake option.
2011-07-17 03:05:14 -07:00
Warmist 6c75e8cd88 Merge branch 'dfapi' of git://github.com/peterix/dfhack into dfapi
Conflicts:
	plugins/CMakeLists.txt
2011-07-17 00:11:21 +03: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
Warmist 75cffcb347 First dfusion plugin commit
Signed-off-by: Warmist <Warmist@gmail.com>
2011-07-16 17:22:45 +03:00
Petr Mrázek 3f42479e77 Only build the qt plugin on linux 2011-07-16 15:34:29 +02:00
Petr Mrázek 70dbc3cef9 Test integrating a Qt app into a DFHack plugin. It was a success! 2011-07-16 12:26:31 +02:00
Matthew Cline 8ad6a56704 Linux only plugin: use "die" command to kill game
Since you can't do "Ctrl-Z kill -9 %1" from the console, instead just
give the "die" command to terminate the game without saving.  Linux
only, since _exit() probably doesn't work on Windows.

Need to set cmake option BUILD_KILL_GAME to ON to compile this plugin.
2011-07-13 23:52:06 -07: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
Petr Mrázek aeeece5c5f Made kittens plugin optional, and disabled by default. 2011-07-12 00:07:59 +02: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
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 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 b41ab40bb6 Prospector plugin tool thing. How to pass them parameters? 2011-06-20 05:08:21 +02:00
Petr Mrázek c6dc4900d2 Very basic plugin system. 2011-06-20 04:29:38 +02:00