Commit Graph

848 Commits (22628fe9bb4681891075e7ded6763366ce6f717b)

Author SHA1 Message Date
Robert Heinrich e58a46b42b zone: fixed filter 'trained' so it now finds war/hunting creatures (who strangely don't have a training level) 2012-04-16 03:31:49 +02:00
Robert Heinrich 4b3c8d46c1 zone: don't assign owned pets to a cage. the owner will release them, resulting into infinite hauling (df bug) 2012-04-15 23:21:36 +02:00
Robert Heinrich 7aefae17d1 autonestbox: don't assign to nestboxes which are already claimed or contain eggs.
bprobe: look a bit closer at nestboxes
2012-04-15 21:45:15 +02:00
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
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 cf0d45be78 merged stuff from peterix 2012-04-15 12:32:25 +02: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
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