Alexander Gavrilov
a1756a864c
Implement a way to do prompts from core context.
...
The trick obviously is doing it without forcing DF to wait suspended.
Fortunately, lua has built-in coroutine support, so the interactive
prompt can simply yield and rely on the external loop to do the job.
To use this however the REPL had to be replaced with lua code.
2012-04-15 21:50:22 +04:00
Alexander Gavrilov
14709e5d45
Add an official core lua context, and allow plugins to send events to it.
...
- 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.
2012-04-15 19:09:25 +04:00
Petr Mrázek
c69af6ab9e
Fix missing lua linkage in burrows plugin.
2012-04-15 01:58:02 +02:00
Petr Mrázek
fa063e2936
Track structures, fix trivial problem in zone plugin
2012-04-15 00:35:59 +02:00
Petr Mrázek
45ca8c6ac1
Merge https://github.com/angavrilov/dfhack
2012-04-15 00:13:39 +02:00
Petr Mrázek
c52eb517b0
Merge https://github.com/rh73/dfhack
2012-04-15 00:12:38 +02:00
Petr Mrázek
fa6ecacda9
Merge https://github.com/warmist/dfhack
2012-04-15 00:12:06 +02:00
Robert Heinrich
9f95e67c75
tweak makeown: converts MERCHANT to TRADER (otherwise you can't assign jobs to kidnapped merchants.
...
zone: fixed a bug which could lead to units being assigned to more than one cage and/or accidentally marked for slaughter
2012-04-14 19:06:03 +02:00
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
Robert Heinrich
09608467c1
tweak fixmigrant: updated help text
2012-04-12 22:44:53 +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