Commit Graph

10695 Commits (8b824244ac2e3eb2413a0534c589edf75631a39b)
 

Author SHA1 Message Date
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
Robert Heinrich 6197c4e739 zone: added keyword 'not' which negates the filter followed by it (e.g. 'not grazer') 2012-04-15 19:49:50 +02:00
Robert Heinrich 8bbd43f2c9 zone: added filters to search for creatures who can be trained for war/hunting 2012-04-15 17:40:39 +02:00
Warmist 35981e8146 Merge branch 'master' of https://github.com/angavrilov/dfhack 2012-04-15 18:17:00 +03:00
Warmist 92bc28bb81 Autobuild script update... Edit if you want different zip names. 2012-04-15 18:16:45 +03: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
Jared Adams f3c7a685f5 Make tiletypes more useful
* Paint, filter, and brush state is now saved between calls.
 * Added 'all' paint option to set material, shape, special, and variant at
      the same time.
 * Added tiletypes-here (like liquids here, except is uses the saved brush
      settings)
 * Added tiletypes-here-point (like liquids here, always only the tile under
      the cursor)
 * Added tiletypes-command: runs tiletypes commands seperated by ';' tokens
      (affects saved state)
 * Make the internal workings match liquids a bit more
 * Give brush objects a descriptor string
 * Make Core::cheap_tokenise available
2012-04-15 08:40:19 -06:00
Robert Heinrich be580592ce Merge branch 'master' of git://github.com/ab9rf/dfhack 2012-04-15 16:07:43 +02:00
Kelly Martin 005658a9cd Add noegglayer zone filter 2012-04-15 09:04:19 -05:00
Robert Heinrich 98df7d99d4 fixed library/xml pointing to wrong commit (I hope) 2012-04-15 15:26:08 +02:00
Robert Heinrich 401461ed49 Merge branch 'master' of git://github.com/peterix/dfhack
Conflicts:
	library/DataDefs.cpp
2012-04-15 12:36:47 +02:00
Robert Heinrich cf0d45be78 merged stuff from peterix 2012-04-15 12:32:25 +02:00
Alexander Gavrilov cb27a1d839 Fix typo in the 1MB constant. 2012-04-15 11:31:05 +04:00
Kelly Martin e9542fb239 Merge remote-tracking branch 'upstream/master' 2012-04-14 20:38:16 -05:00
Petr Mrázek c69af6ab9e Fix missing lua linkage in burrows plugin. 2012-04-15 01:58:02 +02:00
Petr Mrázek a19d25f532 Merge https://github.com/warmist/dfhack 2012-04-15 01:27:09 +02:00
Petr Mrázek fc38371b29 Clean up some chaos in old code. 2012-04-15 01:15:15 +02:00
Warmist 15248aa465 Propogate errors from bat files. 2012-04-15 01:49:37 +03:00
Warmist f235d8f371 Orbital nuking was bit excessive... 2012-04-15 01:27:02 +03:00
Warmist e686b1c8e2 Orbital nuking of C4819 (code-page warning) 2012-04-15 01:20:59 +03:00
Petr Mrázek 5f1c933b0f Merge pull request #148 from wjrogers/feature-protobuf-api
Add SetUnitLabors and additional optional data to ListUnits
2012-04-14 14:56:19 -07: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
Petr Mrázek c6c6c51766 The 'r' in release string is now also tweakable. 2012-04-14 23:38:29 +02:00
Petr Mrázek 610a23252e Make release string tweakable. 2012-04-14 23:36:45 +02:00
Warmist 451f07ecb4 breakfast build bat... 2012-04-15 00:03:12 +03: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
Kelly Martin 0b200b44d5 Merge remote-tracking branch 'angavrilov/master' 2012-04-14 10:35:37 -05:00
Kelly Martin ebd3e9c9cf Merge remote-tracking branch 'rh73/master' 2012-04-14 10:35:29 -05:00
Kelly Martin 9f057c41af Merge remote-tracking branch 'upstream/master' 2012-04-14 10:35:22 -05: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
Kelly Martin 7c5e49a071 Merged in some library additions from angavrilov necessary for the burrow plugin 2012-04-13 20:45:40 -05:00
Kelly Martin 0387a3c017 Merge remote-tracking branch 'angavrilov/master' 2012-04-13 15:36:18 -05: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
Alexander Gavrilov 37cfb1fdcd Add unit position and container api. 2012-04-13 16:10:19 +04:00
Robert Heinrich fba83bb597 tweak fixmigrant: updated readme.rst 2012-04-12 22:48:46 +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
Alexander Gavrilov 38a8c43a25 Reverse-rebase the vtable pointers printed to stderr.log. 2012-04-12 11:21:25 +04:00