Commit Graph

831 Commits (8a05db7a1b688ddc2eb21e9db402add3ea8f0ef6)

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
Robert Heinrich 2100a95ad5 zone: fixed major derp (assign commands would accidentally free caged creatures). tweak: added cheat to kidnap caravan escorts (works fine even for other races, does NOT work for traders because they can't be assigned any labors for whatever reason) 2012-04-14 13:36:22 +02:00
Warmist a2a47c5d63 Fix to init (no need to add " around). Added experimental (crashy as hell) tools.project 2012-04-14 13:30:48 +03:00
Alexander Gavrilov 7a34a89f53 Add burrow subcommands to modify burrow unit and tile sets. 2012-04-14 14:12:59 +04:00
Alexander Gavrilov 2f54a48e63 Add a plugin that makes selected burrows auto-grow on digging. 2012-04-13 21:41:42 +04:00
jj f85810c1e2 ruby: move enum constants up one level, allow pointer arithmetic (world.map.block_index), fix StaticArray, add map test 2012-04-13 19:31:12 +02:00
jj bf4bd1f034 ruby: fix vectors of pointers, fix global enum fields 2012-04-13 17:19:53 +02:00
jj 3044da5887 ruby: add global-objects, add bitfield._whole, make StlVector enumerable 2012-04-13 16:17:56 +02:00
Robert Heinrich 09608467c1 tweak fixmigrant: updated help text 2012-04-12 22:44:53 +02:00
jj f503bf36f4 ruby: set everything up 2012-04-12 19:12:46 +02:00
Alexander Gavrilov 2d8611a480 Add core api for moving items between ground and containers. 2012-04-12 18:37:27 +04:00
Robert Heinrich 7331485b46 removed tweak-merchant and tweak-resident, combined both commands into tweak-migrant. added worn items to their uniform so they don't drop their clothes instantly 2012-04-12 14:40:39 +02:00
Robert Heinrich 2caf3fb064 tweak: removed stuff, added new command 'fixmigrants' which will deal with merchants (traders) and other types of bugged migrants. having more than one command for a bug which is basically the same makes no sense. 2012-04-11 22:29:56 +02:00
Petr Mrázek d874c3b538 Track stonesense 2012-04-11 21:33:45 +02:00
Robert Heinrich 42e4fa79c7 tweak clear-merchant, clear-resident: mark the clothes the migrants wear as "owned" (they still drop them, though. needs more fixes) 2012-04-11 21:07:54 +02:00
Robert Heinrich 09aad951a6 Merge branch 'master' of git://github.com/angavrilov/dfhack 2012-04-11 18:23:01 +02:00
Robert Heinrich 2cf078419b cprobe: list items worn by unit and checks if they are owned or not 2012-04-11 18:22:39 +02:00
Alexander Gavrilov 5d5502ae34 Update the item owner modification api and export it to lua. 2012-04-11 20:10:31 +04: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
Alexander Gavrilov c7b922250b More maps api refactoring and renaming.
getBlockAbs is a very confusing name; getTileBlock is better.
2012-04-11 12:01:27 +04:00
Alexander Gavrilov 59ddbfacb7 Implement item occupancy tracking in MapCache. 2012-04-10 20:19:41 +04:00
Alexander Gavrilov b15d2da819 Get rid of some obsolete api functions, and restructure MapCache. 2012-04-10 18:21:19 +04:00
Robert Heinrich 7d0cfb7e80 Merge branch 'master' of git://github.com/angavrilov/dfhack 2012-04-10 10:18:38 +02:00
Alexander Gavrilov 93c795cfc3 Job module api tweaks: add a namespace to match others and some funcs. 2012-04-10 11:43:36 +04:00
Robert Heinrich f8123c3b40 zone: can now assign to and from built cages. autobutcher: fixed initializing when getting SC_MAP_LOADED event while a map is currently running 2012-04-10 09:15:38 +02:00
Robert Heinrich b2d976b06b zone tool: added new filter 'nograzer' 2012-04-10 04:10:07 +02:00
Robert Heinrich 674337e3ae added tweak clear-resident which fixes bugged migrants and makes them proper members of the fortress. added tweak clear-merchant which assimilates merchants who linger at the map edge into the fortress. updated readme.rst 2012-04-10 00:22:38 +02:00
Robert Heinrich 37f3056fdd autobutcher: fixed behaviour of keywords 'all' and 'new'. (didn't work properly with watch, unwatch and forget) 2012-04-09 18:36:01 +02:00
Robert Heinrich 8ae774fbd5 fixed wrong description of the behaviour for using keyword 'all' in autobutcher (affects all races on the watchlist, not all races in your fort) 2012-04-09 16:02:03 +02:00
Robert Heinrich afba284283 autobutcher: added a forgotten ';' 2012-04-09 15:35:25 +02:00
Robert Heinrich b6adfaaf0a Merge branch 'master' of git://github.com/peterix/dfhack 2012-04-09 15:09:39 +02:00
Robert Heinrich a9ff1d0423 autonestbox and autobutcher store settings in the savegame. added command list_export to autobutcher which prints the current settings and watchlist in a batch file format (to allow importing settings to other savegames). updated readme.rst 2012-04-09 15:03:26 +02:00
Petr Mrázek e5213d77f6 Merge https://github.com/angavrilov/dfhack 2012-04-09 00:55:31 +02:00
Robert Heinrich f609aa0db7 zone: can now search for merchants (to allow pitting them). autobutcher: ignore merchant animals, ignore war/hunting creatures, fixed autowatch, stop spamming the console if there is nothing to report. updated readme.rst 2012-04-08 12:51:03 +02:00
Kelly Martin 53118bc986 Merge remote-tracking branch 'rossm/master' 2012-04-08 01:45:16 -05:00
Kelly Martin ad657c68a3 Leave merchant stuff alone, even if they're certainly dwarfs. 2012-04-08 01:07:29 -05:00
Kelly Martin de960e65f5 Stealing animals from traders is bad. 2012-04-07 23:25:40 -05:00
Kelly Martin 2e6ee0ac84 Don't assign dead animals to pastures. 2012-04-07 20:36:29 -05:00
Kelly Martin dac84080c0 Exclude grazing units from autonestbox to avoid starving da poor boids 2012-04-07 20:26:56 -05:00
Kelly Martin c89416a3f8 Merge remote-tracking branch 'rh73/master' 2012-04-07 12:23:31 -05:00
Kelly Martin f931060dd9 Exclude worn items from counts for workflow 2012-04-07 12:11:53 -05:00
Alexander Gavrilov 45ae2ed67f Pull a few utility functions into the core and publish to lua. 2012-04-07 19:08:30 +04:00
Robert Heinrich 55e059c40f autobutcher: added keywords 'all' and 'new' for handling the whole watchlist. added option 'autowatch' which will put all new tame animal races onto the watchlist using the current default settings 2012-04-07 11:15:49 +02:00
Robert Heinrich e3fb922f53 fixed handling of units in cages who have an invalid map pos. 2012-04-07 06:47:32 +02:00
Robert Heinrich c5fc8aab9f autobutcher: now accepts list of races in one command 2012-04-07 05:05:42 +02:00
Robert Heinrich e8ccbb4b2c Merge branch 'master' of git://github.com/peterix/dfhack 2012-04-07 02:49:39 +02:00
Robert Heinrich eff5189acb added autobutcher: watch lifestock, mark excess animals for slaughter. Not quite done yet (doesn't save config etc) but already works fine. 2012-04-07 02:31:10 +02:00
jj ac0d878b69 ruby: include memstruct in autogen 2012-04-06 19:59:11 +02:00
jj 52007e0d4f ruby: patron for memory primitives 2012-04-06 19:30:58 +02:00
RossM 284ada9432 Better config persistence. 2012-04-05 20:34:06 -07:00
jj fb1b424cbf fix various crash with gcc autogen.cpp. all seems well 2012-04-05 22:15:43 +02:00
jj 689cc50409 multistage autogen en route 2012-04-05 22:15:43 +02:00
jj 3f39e285d0 codegen: gen cpp helper 2012-04-05 22:15:43 +02:00
jj 872eebe7ef rbcodegen: hop 2012-04-05 22:15:43 +02:00
jj 780d7a8b18 codegen ++ 2012-04-05 22:15:43 +02:00
jj ca528fff35 rb codegen: generate ruby 2012-04-05 22:15:43 +02:00
jj 57f2e189ee ruby: rm silly debug statement 2012-04-05 22:15:43 +02:00
jj f46e1ee518 ruby: link libruby, fix stuff, it works 2012-04-05 22:15:43 +02:00
jj b2846492f4 ruby: compiles 2012-04-05 22:15:43 +02:00
Robert Heinrich 577e333ac9 some cleanup in zone tool, added slaughter option, autonestbox is now an own command which can be set to run every X ticks 2012-04-05 20:32:44 +02:00
RossM df98d67ad7 Merge branch 'master' of git://github.com/peterix/dfhack 2012-04-05 10:00:56 -07:00
Petr Mrázek 109edc5e77 Track stonesense 2012-04-05 16:15:41 +02:00
Alexander Gavrilov 28a741082f Encode & decode names in utf-8 for transfer in remote messages.
That's the encoding required by the protobuf spec.
2012-04-05 18:10:16 +04:00
Robert Heinrich 511fceff0a Merge branch 'master' of git://github.com/peterix/dfhack 2012-04-05 11:41:01 +02:00
Robert Heinrich 33ceee8310 zone tool: some cleanup, added 'slaughter' command 2012-04-05 11:40:27 +02:00
RossM b1c41c2c9f Merge branch 'master' of git://github.com/peterix/dfhack 2012-04-04 23:33:49 -07:00
RossM 564150bb19 Persist autolabor config in the savefile. 2012-04-04 23:33:26 -07:00
Petr Mrázek 330118ee27 Fix zone tool 2012-04-05 03:00:10 +02:00
Petr Mrázek b8ccb0424d Merge https://github.com/rh73/dfhack 2012-04-05 02:55:42 +02:00
Petr Mrázek 659dca0640 Merge https://github.com/RossM/dfhack 2012-04-05 02:47:19 +02:00
Warmist aaffdd56d8 Fixes to all of the new stuff. 2012-04-04 19:06:56 +03:00
Robert Heinrich 796bc18fb0 zone plugin: fixed bug when parsing options 2012-04-04 16:48:22 +02:00
Robert Heinrich 5ce0e7dbf2 zone tool: added lots of filters, added mass-assigning of nestboxes 2012-04-04 14:58:53 +02:00
RossM a76de8b777 Fix detection of military dwarves. Add overview comments explaining why
autolabor works how it does.
2012-04-03 23:26:15 -07:00
Warmist 9707939f2c whoops, now it actually swaps souls :) 2012-04-04 02:13:48 +03:00
Warmist 179c6e4025 Revived adv_tools, with new reincarnate command. 2012-04-04 02:06:35 +03:00
Warmist 6a6ca516c3 Stupid bug with nemesis... 2012-04-04 00:18:40 +03:00
Warmist 26f5e0dfb5 Fixed a lot of bugs, mostly in dfusion->tools.
Embark anywhere now works (in windows atleast), all other tools should work in both linux and windows.
TODO: should move embark anywhere somewhere else (as it is code changing tool)
2012-04-03 23:51:54 +03:00
Warmist 6d4ef1fd38 Started rework lua files to be more hotkey friendly and adv/fort mode independant. 2012-04-03 23:16:29 +03:00
Warmist 3a0bd73315 Fix for getSelectedCreature in adv mode. 2012-04-03 21:47:54 +03:00
Warmist 8e1d26ff97 Added ability to call dfuse as a hotkey.
E.g. calling dfuse "tools.empregnate()" now works.
2012-04-03 16:17:43 +03:00
RossM 285afa2594 Autolabor tweaks. 2012-04-03 00:12:13 -07:00
RossM 288acf4b79 Tweak autolabor. 2012-04-02 23:40:56 -07:00
RossM 3bd499ff93 Limit number of dwarves assigned when idle dwarves are available. 2012-04-02 22:47:26 -07:00
RossM 18a0c80d5d Merge branch 'master' of git://github.com/peterix/dfhack 2012-04-02 22:31:00 -07:00
RossM 1afd3d07ca Add commands to change how autolabor handles specific jobs, and to
list the current settings. Changes are not saved with the current
world (yet).
2012-04-02 22:12:06 -07:00
RossM ecb1ca0972 Large change to how autolabor assigns labors. Military dwarves and
children/nobles will never be assigned labors. Labor assignments are
more understandable.
2012-04-02 20:55:02 -07:00
Robert Heinrich 707aee82bd Merge branch 'master' of git://github.com/peterix/dfhack 2012-04-02 20:33:29 +02:00
Robert Heinrich 9cc2040a6b minor fix in zone tool: ignore dead units 2012-04-02 16:58:12 +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
Alexander Gavrilov a9a6fbd8b5 Lua tweaks: a couple of functions, dfusion tweak, backtrace metadata. 2012-04-01 12:50:56 +04:00
Alexander Gavrilov 73cf822a13 Merge remote-tracking branch 'warmist/master' 2012-04-01 11:43:09 +04: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
Petr Mrázek 4bac6edd79 Merge https://github.com/rh73/dfhack 2012-04-01 00:29:00 +02:00
Alexander Gavrilov 9d6e26fa5f Fix crashing color_ostream::printerr due to vfprintf vs fprintf mixup.
Also enable heap clearing in gdb mode, and fix a few newlines.
2012-03-31 22:26:41 +04: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
Alexander Gavrilov 0f41608ed4 Pull console output support and REPL out of dfusion into core lib. 2012-03-31 15:40:54 +04:00