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
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
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