Kelly Martin
ccbae58365
Set default beekeeper max to 1 in autolabor (see http://www.bay12games.com/dwarves/mantisbt/view.php?id=3981 )
2012-05-12 11:21:12 -05:00
Alexander Gavrilov
60bb486aba
Add api for enabling liquid and temperature updates for blocks.
...
Now updates also have to be enabled for the z level to work.
2012-05-12 20:12:09 +04:00
Alexander Gavrilov
af3e389093
Update submodules.
2012-05-12 18:50:22 +04:00
Petr Mrázek
92f069e209
Brush output lists numbers, update xml.
2012-05-11 07:00:18 +02:00
Jared Adams
f3ca3addbf
Merge remote-tracking branch 'upstream/master'
2012-05-10 22:06:43 -06:00
jj
dfe86f9bd7
ruby: interpret types in vmethod signatures
2012-05-11 01:34:03 +02:00
jj
607cd9c8f2
ruby: tweak enums
2012-05-10 23:41:50 +02:00
jj
d30573a0e0
probe: fix gcc warning
2012-05-10 22:57:11 +02:00
jj
987cf697db
Merge upstream
2012-05-09 15:44:32 +02:00
Jared Adams
dce7f17fe7
Merge remote-tracking branch 'upstream/master'
2012-05-08 07:32:35 -06:00
Jared Adams
5bd90e28b8
Add a missing return in tiletypes
2012-05-07 19:30:33 -06:00
Jared Adams
833bf518d9
Fix some issues
2012-05-07 18:31:28 -06:00
jj
7ee4c584b9
ruby: tweak enums, pointerary
2012-05-06 22:42:06 +02:00
jj
bfb26f1c1f
ruby: deconstructbld
2012-05-06 01:02:21 +02:00
jj
96a62a8865
ruby: fix buildbed sample
2012-05-06 00:13:53 +02:00
jj
f18aa9d947
ruby: add link_job
2012-05-05 23:56:26 +02:00
jj
e2a978a4fa
ruby: avoid infinite recursion in inspect
2012-05-05 22:43:12 +02:00
Alexander Gavrilov
e3440126a3
Fix missing switch case warnings.
2012-05-05 19:36:22 +04:00
Alexander Gavrilov
4e084d0df7
Merge remote-tracking branch 'rh73/master'
2012-05-05 19:28:19 +04:00
Alexander Gavrilov
1b5ce7b717
Merge remote-tracking branch 'ab9rf/master'
2012-05-05 19:26:56 +04:00
Alexander Gavrilov
d4d6349f48
Expose builtin commands to dfhack-run, and add lua script support.
...
Move builtin command implementation to Core methods, and fall
back to hack/scripts/*.lua for otherwise unrecognized commands.
2012-05-04 19:47:18 +04:00
jj
138461634e
ruby: fix vtable for linux destructor
2012-05-03 19:19:58 +02:00
jj
ba1e3c4b23
ruby: vmethod call
2012-05-03 18:49:12 +02:00
Alexander Gavrilov
5afe2ca002
Update dfhack for specific_ref.
2012-05-03 11:47:04 +04:00
jj
8952eabd62
ruby: typo
2012-05-03 03:33:50 +02:00
jj
5fdeac9913
ruby: fix StaticArray#inspect with indexenum, allow df.cursor = [x, y, z]
2012-05-03 02:52:53 +02:00
Kelly Martin
6903f3877f
Devel plugin nestboxes scans all nestboxes for unhatchable eggs and optionally dumps them.
2012-05-01 10:58:12 -05:00
Alexander Gavrilov
4cffb6428d
Update building creation code with new knowledge, and fix zone.
...
Also, document new lua api, and add a more convenient wrapper.
2012-05-01 18:55:30 +04:00
Kelly Martin
e7c55ab6e1
Also exclude trader from hauling when requested at depot.
2012-04-30 09:01:48 -05:00
Alexander Gavrilov
2303a25bde
Implement unconstructed building instance creation and linking into world.
...
For more flexibility, the base api is split into 3 phases:
alloc, setSize, and construct. No support for non-actual
buildings like stockpiles and activity zones at the moment.
2012-04-29 21:07:39 +04:00
Warmist
a56f1549a9
Merge branch 'master' of https://github.com/angavrilov/dfhack
2012-04-28 22:21:57 +03:00
Warmist
519ea08e8f
Typo fix
2012-04-28 22:21:35 +03:00
Warmist
3d277823eb
Misc stuff needed for unreleased unfunctional stuff
2012-04-28 22:20:49 +03:00
jj
ec8b090abe
ruby: add plugins/buildbed.rb (segfaults)
2012-04-27 18:50:27 +02:00
jj
a7afe04f3b
ruby: name nested compounds, to allow cpp_new etc
2012-04-27 17:59:54 +02:00
jj
bc218db596
ruby: more minor tweaks
2012-04-27 17:46:51 +02:00
jj
3446fd024e
ruby: tweak inspect
2012-04-27 17:38:31 +02:00
jj
9bceb7a443
ruby: typo in enumerable
2012-04-27 17:31:39 +02:00
jj
6800f459f5
ruby: fix bitfield looking for enum value
2012-04-27 17:24:15 +02:00
jj
fcfd7062eb
ruby: tweak inspect, autodereference pointers
2012-04-27 17:11:01 +02:00
jj
22628fe9bb
codegen: all class-type have a vtable
2012-04-27 14:13:44 +02:00
jj
551df9bb73
ruby: use binsearch in find_unit/find_item
2012-04-27 03:07:03 +02:00
jj
2cc5333157
ruby: cleanup codegen enum
2012-04-27 03:02:37 +02:00
jj
51ecd15fa8
ruby: use symbols for enums everywhere
2012-04-26 20:55:52 +02:00
Kelly Martin
7c606da636
Autolabor will exclude the trade broker from all labors if the "trader requested" flag is on at the trade depot.
2012-04-26 13:46:38 -05:00
jj
ba7d4f8edd
ruby: extract additional info for enums
2012-04-26 20:03:56 +02:00
Kelly Martin
53e0ba8b8d
Actually write the noble penalty to the dwarf_info structure....
2012-04-26 12:54:10 -05:00
jj
2ee1887870
ruby: add plugins/unit exemple
2012-04-26 19:38:15 +02:00
jj
461c7e20cd
ruby: add vector#binsearch
2012-04-26 19:37:58 +02:00
Alexander Gavrilov
02e43428ee
Sync to changes in the data structure definitions.
2012-04-26 12:36:29 -05:00
Alexander Gavrilov
b4a8bcd8d0
Refactor MapCache: make it parse everything that is known re tiles & mats.
...
Conflicts:
library/xml
2012-04-26 12:21:59 -05:00
Alexander Gavrilov
82a0e52a3e
Add api to check the walkable cache, and update flow_forbid in liquids.
2012-04-26 18:51:39 +04:00
Kelly Martin
5f5152f449
Autolabor: Instead of guessing who the nobles are based on noble skills, actually find out who they are and behave appropriately. Certain responsibilities are assigned various penalties to increase their holders' availability to perform noble functions. Also, holders of the "manage health" responsibility are always assigned the diagnose labor.
...
The responsibility penalties are first-approximation and will likely need tuning.
2012-04-26 09:38:25 -05:00
jj
9b7fbcc477
ruby: fix warning in codegen with initvalue
2012-04-26 15:37:10 +02:00
jj
03925c923a
ruby: fix new c++ obj initialization, use xml init-value
2012-04-26 14:16:47 +02:00
Alexander Gavrilov
16ee049664
Split off the burrows api from Maps and Units.
2012-04-26 12:56:28 +04:00
Alexander Gavrilov
6ab270d129
Retrieve unit noble position info, and use it in getProfessionName.
2012-04-26 12:03:56 +04:00
jj
7a8db179ab
ruby: fix plugin/plant.rb, add onstatechange hook, use console proxy, general cleanup, enable build by default
2012-04-25 20:21:09 +02:00
jj
bd2e6e74de
ruby: add manual c++ object allocator
2012-04-25 19:22:04 +02:00
jj
b0acad6d59
ruby: use index-enum xml attr, fix bitfield[i] = 0
2012-04-25 17:18:24 +02:00
Alexander Gavrilov
23a0b17ff3
Make liquids and tiletypes force rebuild of pathfinding data.
2012-04-25 18:38:43 +04:00
Alexander Gavrilov
1cd802d426
Implement unit sorting for the pen zone assignment interface.
2012-04-25 18:28:00 +04:00
jj
d1ea97c272
ruby: README
2012-04-25 01:20:35 +02:00
jj
bf64c3e23c
ruby/plugin: tweak plants, add growcrops
2012-04-24 19:08:14 +02:00
jj
7a71204b82
ruby: guard against undefined globals, fix inspect for inherited classes
2012-04-24 19:07:54 +02:00
jj
eca17fff53
ruby: add sample plugin (cuttrees, growtrees)
2012-04-24 00:57:07 +02:00
jj
c1baebd083
ruby: rename find_map_block to map_block_at, add other helper methods
2012-04-24 00:47:10 +02:00
jj
8a05db7a1b
ruby: add map block iterators, fix FlagArray.length
2012-04-23 21:12:24 +02:00
Alexander Gavrilov
763a301b4f
Add a few more lua api functions, documentation, and unit sort orders.
...
Units::getProfessionName appears to work correctly for
everything except nobles.
2012-04-23 21:30:53 +04:00
Kelly Martin
ac0e4a15e8
Rprobe can now be used to change any of the region_map paremeters. Use at your own peril, as strangeness may ensue.
2012-04-23 09:46:57 -05:00
Kelly Martin
e06c80f690
Fix minor ostream munging glitch in rprobe.
2012-04-22 23:36:13 -05:00
Robert Heinrich
e1770fa62b
regrass: leaves tiles with the no_grow flag alone (avoids regrassing roads etc you embark on)
2012-04-23 00:34:19 +02:00
Robert Heinrich
045b7b6a20
Merge branch 'master' of git://github.com/ab9rf/dfhack
2012-04-22 20:26:12 +02:00
Robert Heinrich
760bc8b09f
regrass: ignore furrowed tiles (dirt roads)
2012-04-22 20:25:10 +02:00
Alexander Gavrilov
125cd6622a
Support sorting units in many more ui contexts.
2012-04-22 19:22:00 +04:00
Kelly Martin
26cec5f60c
Probe now displays the "surroundings" name for the biome (e.g. Joyous Wilds, or Terrifying).
...
Rprobe can be used from the embark screen to set the evilness of the selected biome; use with due care.
2012-04-22 10:17:14 -05:00
Robert Heinrich
af12e83ac4
Merge branch 'master' of git://github.com/ab9rf/dfhack
2012-04-22 15:25:22 +02:00
Kelly Martin
f5644f385b
Probe now displays biome savagery and evilness.
...
Devel plugin bprobe (also in this commit) goes digging around in region data at embark screen, not really useful for public consumption.
2012-04-21 23:22:21 -05:00
jj
6fc17b3e1f
ruby: clean helper with offsetof
2012-04-21 21:20:51 +02:00
Kelly Martin
c104f822a4
Move stripcaged to master branch, works fine.
2012-04-21 12:53:46 -05:00
Jared Adams
567b3e2a52
Fix range on tiletypes and make it saner for both plugins.
2012-04-21 11:26:40 -06:00
jj
9317143909
ruby: officially dont support stl::deque, add class sizeof
2012-04-21 15:04:52 +02:00
Alexander Gavrilov
4af051bab3
Add a few more unit orderings, and a way to reverse direction.
2012-04-21 16:53:17 +04:00
Alexander Gavrilov
3282ac3db2
Add a hotkey command that sorts units in lists using lua comparators.
2012-04-21 15:43:52 +04:00
Robert Heinrich
709536c6c3
Merge branch 'master' of git://github.com/ab9rf/dfhack
2012-04-21 11:53:19 +02:00
Robert Heinrich
a282c9dede
Merge branch 'master' of git://github.com/peterix/dfhack
2012-04-21 11:52:25 +02:00
Robert Heinrich
2d19514fbc
probe: minor change
2012-04-21 11:52:03 +02:00
Alexander Gavrilov
adbd351462
Rename units.other[0] to units.active.
2012-04-21 12:46:55 +04:00
Kelly Martin
ad73b8c737
Add "tamable" for animals that can be tamed (PET or PET_EXOTIC in raws)
2012-04-20 14:38:50 -05:00
Kelly Martin
e0bb5bf53b
Add "naked" (has no inventory) predicate to zone (useful for mass pitting)
2012-04-20 14:22:20 -05:00
jj
826e0b7dcf
ruby: iterate in LinkedList
2012-04-20 20:43:18 +02:00
jj
417356c3cb
ruby: add df-linked-list support (also, xml could be simplified)
2012-04-20 18:20:24 +02:00
jj
f57d63ed95
ruby: df_flagarray support
2012-04-20 17:57:41 +02:00
jj
66891fd23c
ruby: tweak onupdate, fix some inspects, add inverse ENUM
2012-04-20 17:33:48 +02:00
jj
fb2dcf55ca
ruby: fix DfArray, add #inspect, fix ruby.rb
2012-04-20 15:30:15 +02:00
Alexander Gavrilov
0a6982f404
Enable warnings correctly on linux and fix a lot of them.
2012-04-20 13:30:37 +04:00
Jared Adams
52138d8998
Improve the range function of tiletypes a bit and add the functionality to liquids.
2012-04-19 21:13:07 -06:00
Jared Adams
f97e2bf410
Make tiletypes more useful
...
* Add any option to clear paint/filter
* Add aquifer bit
* Stop filtering process killing execute early
* Filter on all bits, not just dig
2012-04-19 17:44:26 -06:00
jj
0952b76173
ruby: add df_array, pointer_ary, move generated classes in DFHack
2012-04-20 01:29:52 +02:00
Alexander Gavrilov
0b32d374db
Implement SOIL/STONE substitution logic, and add compat in mapexport.
2012-04-19 23:02:30 +04:00
jj
a450e9ddeb
ruby: fix vectors, add bitvector
2012-04-19 19:35:55 +02:00
Alexander Gavrilov
4b87f1bcac
Refactor MapCache: make it parse everything that is known re tiles & mats.
2012-04-19 19:17:07 +04:00
Alexander Gavrilov
f655a0986d
Sync to changes in the data structure definitions.
2012-04-19 11:03:29 +04:00
jj
0e10a8edff
Merge branch 'master' of git://github.com/peterix/dfhack
2012-04-18 18:50:48 +02:00
jj
3ad3d1af46
ruby: use rtti info to cast Item/etc subclasses
2012-04-18 18:46:33 +02:00
Kelly Martin
b7b27ebb9e
Merge remote-tracking branch 'upstream/master'
2012-04-18 11:35:32 -05:00
Kelly Martin
2dc3aa1b89
danger of rotting)
2012-04-18 11:33:17 -05:00
Kelly Martin
9e1e34f69b
Created new stockcheck plugin
2012-04-18 00:16:44 -05:00
Petr Mrázek
c17529a794
Track stonesense
2012-04-18 05:09:22 +02:00
Petr Mrázek
6d53ab37e0
Mass fixage
...
Updated readme.rst
Fixed up some help strings of plugin commands
Moved catsplosion and regrass to normal plugin folder
Fixed tiletypes and liquids not keeping command history properly
2012-04-18 04:12:11 +02:00
jj
3b54cf4657
Merge branch 'master' of git://github.com/peterix/dfhack
2012-04-17 22:42:29 +02:00
jj
3339fdfea8
ruby: fix anon unions, add some find_* helpers in ruby.rb
2012-04-17 22:42:23 +02:00
Petr Mrázek
d0e9ab49e7
Merge https://github.com/jaxad0127/dfhack
2012-04-17 21:46:57 +02:00
Petr Mrázek
bdd697f1a0
Merge https://github.com/rh73/dfhack
2012-04-17 21:46:40 +02:00
Robert Heinrich
299510f0d9
zone: don't assign to cages which are designated but not yet placed (minor fix, it's not like bad things happen without it)
2012-04-17 18:11:14 +02:00
Robert Heinrich
40f36c1912
minor stuff, use building->is_room instead of building->isRoom() which returns unexpected values
2012-04-17 16:57:41 +02:00
jj
d901dd28cf
ruby: merge upstream
2012-04-17 14:40:59 +02:00
Jared Adams
ebd21e9249
Fix some issues with last commit
2012-04-16 20:48:08 -06:00
Petr Mrázek
7946cafc86
Merge https://github.com/jaxad0127/dfhack
2012-04-16 22:37:07 +02:00
Petr Mrázek
d2dde361ad
Merge https://github.com/rh73/dfhack
2012-04-16 22:35:46 +02:00
Petr Mrázek
ccf10a1428
Merge https://github.com/warmist/dfhack
2012-04-16 22:30:55 +02:00
Robert Heinrich
6d180d61c4
autopasture: only process domesticated own units to avoid problems with wild animals forgetting their training and going on a rampage
2012-04-16 21:37:48 +02:00
Petr Mrázek
45f9f756f0
Merge https://github.com/rh73/dfhack
...
Conflicts:
plugins/stonesense
2012-04-16 20:33:30 +02:00
Petr Mrázek
862fa9d675
Track stonesense
2012-04-16 20:19:45 +02:00
Robert Heinrich
70ebd26e6c
Merge branch 'master' of git://github.com/ab9rf/dfhack
2012-04-16 17:37:09 +02:00
Kelly Martin
43e4814147
Mod workflow to properly handle custom reactions that produce CRAFTS
2012-04-16 10:34:12 -05:00
Robert Heinrich
9560fc641c
zone: mass-assign nicknames, assign units to multiple cages inside a pasture. autobutcher: some fixes regarding autowatch and butchering caged units.
2012-04-16 16:31:12 +02:00
Robert Heinrich
e6ed81508d
autobutcher: only ignore built cages which are defined as rooms/zoos.
...
zone: allow mass-assigning of nicknames (to protect a pasture/cage from autobutcher)
2012-04-16 10:15:37 +02:00
Robert Heinrich
9c67250729
regrass: pick random grass event if tile is soil instead of always using the first one found
2012-04-16 07:03:27 +02:00
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