summaryrefslogtreecommitdiff
path: root/plugins/burrows.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Sync to the change in gamemode/gametype globals.Alexander Gavrilov2012-06-161-2/+2
|
* Request designation rescan in auto-growing burrows.Alexander Gavrilov2012-05-121-8/+11
| | | | This improves performance of burrowed miners digging 1-wide tunnels.
* Split off the burrows api from Maps and Units.Alexander Gavrilov2012-04-261-15/+16
|
* Enable warnings correctly on linux and fix a lot of them.Alexander Gavrilov2012-04-201-5/+5
|
* Add an official core lua context, and allow plugins to send events to it.Alexander Gavrilov2012-04-151-2/+26
| | | | | | | | | | - This context requires core suspend lock and asserts it in a few places. - Special 'event' objects are introduced. They can be invoked as functions, in which case they iterate all their fields and call them as functions. Errors are printed and consumed. - When a plugin is opened by the core context, events registered in a special array are linked to it. The system is organized so as to avoid even trying to pass the event to lua if the module isn't loaded.
* Allow plugins to export functions to lua with safe reload support.Alexander Gavrilov2012-04-141-0/+21
| | | | | | | | | | | | | | | | | | - 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.
* Add burrow subcommands to modify burrow unit and tile sets.Alexander Gavrilov2012-04-141-9/+253
|
* Add a plugin that makes selected burrows auto-grow on digging.Alexander Gavrilov2012-04-131-0/+413