Commit Graph

1210 Commits (5d5502ae341030c58478dae2d04ba31ab2bfb93e)

Author SHA1 Message Date
Alexander Gavrilov 5d5502ae34 Update the item owner modification api and export it to lua. 2012-04-11 20:10:31 +04:00
Alexander Gavrilov 0c2b78b96b Add api for manipulating burrows to the core. 2012-04-11 19:42:05 +04:00
Alexander Gavrilov 61245711f7 Export a few maps functions to lua. 2012-04-11 16:20:16 +04: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
Alexander Gavrilov 249be0c1a0 Change SC_MAP_LOADED handling: only NULL/not NULL change is meaningful. 2012-04-10 12:11:00 +04: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
Alexander Gavrilov 0e0740fddf Stop printall(df.global) from breaking if there are unknown addresses. 2012-04-10 10:34:03 +04:00
Petr Mrázek 585de77489 Track structures 2012-04-09 00:59:57 +02:00
Alexander Gavrilov 45ae2ed67f Pull a few utility functions into the core and publish to lua. 2012-04-07 19:08:30 +04:00
Alexander Gavrilov e74788cb26 Add a generic facility for object finalization during stack unwind.
Supports two modes of finalization:

- try {...} finally {...}
- try {...} catch { ...; throw }

Argument passing discipline is designed with vararg tail calls in mind.
2012-04-07 14:21:38 +04:00
Alexander Gavrilov 0daafef690 Wrap MaterialInfo for lua. 2012-04-06 19:56:19 +04:00
Alexander Gavrilov 2640addf49 Split LuaTools.cpp to separate core utils from general dfhack api. 2012-04-06 18:00:54 +04:00
Alexander Gavrilov 903e9ee716 Export a few more functions to lua. 2012-04-06 11:21:28 +04:00
Alexander Gavrilov 9eed9f0d24 Wrap a few utility functions defined on the c++ side for lua. 2012-04-05 19:55:59 +04: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
Alexander Gavrilov 59f411e401 Oops, forgot return statement. 2012-04-05 12:32:10 +04:00
Alexander Gavrilov 3afed43cdb Experimental: try wrapping a dfhack api function. 2012-04-05 11:59:39 +04:00
Alexander Gavrilov d1b27418a6 Add a World::GetPersistentData version that auto-adds if not found. 2012-04-05 11:32:23 +04:00
Petr Mrázek a45e83ef14 Merge pull request #146 from wjrogers/feature-protobuf-api
Add ListJobSkills protobuf API
2012-04-04 16:46:20 -07:00
Will Rogers 1b6f5f3f34 Add additional related data to ListJobSkills.
Add the attributes for profession and unit_labor, and (re)name the
protobuf messages JobSkillAttr, ProfessionAttr, and UnitLaborAttr to
better reflect their content and distinguish them from e.g. the
SkillInfo message included in BasicUnitInfo.
2012-04-04 11:53:47 -04:00
Alexander Gavrilov 7efbd798ce Upgrade lua errors to structures when attaching stack trace.
This allows detecting when it's re-thrown and avoiding attaching the
stack twice, and so on. Would also be useful if debugging is added.
2012-04-04 13:34:07 +04:00
Alexander Gavrilov 81fb57a853 Add color output and input prompt support to core lua api. 2012-04-04 10:40:33 +04:00
Will Rogers 7e896277ec Don't export describeJobSkills. 2012-04-03 14:22:46 -04:00
Will Rogers 59d7b6faab Add ListJobSkills. 2012-04-03 14:03:06 -04:00
Alexander Gavrilov 2d4af4ac3e A few more utility functions for lua. 2012-04-03 20:02:01 +04:00
Alexander Gavrilov 42a9b0a592 Make Core::Suspend safe in plugin_onupdate by pretending to hold the lock.
It is in essence true that OnUpdate owns the suspend lock, so
expose it officially to the recursive suspend lock mechanics.
2012-04-03 13:29:59 +04:00
Alexander Gavrilov 444377f9db Finish documenting the DFHack core lua api existing so far. 2012-04-03 13:13:44 +04:00
Alexander Gavrilov a8fe0eccb4 Add functions for checking validity of lua wrapper objects. 2012-04-02 22:02:04 +04:00
Petr Mrázek 467f4108ae Track structures 2012-04-02 13:42:56 +02:00
Petr Mrázek 2a998a5b8a Merge https://github.com/quietust/dfhack 2012-04-02 13:42:18 +02:00
Quietust 06da0f9720 Fix coord/coord2d division/modulo operators to properly handle negative numbers (fixes some glitches with revflood and possibly other utils) 2012-04-01 19:44:35 -05:00
Alexander Gavrilov d109b6570b Add dfhack.with_suspend(f[, args...]) that calls f with core suspended.
The lock is properly removed in case of error, which is then propagated.
Just for fun, it also can be yielded from within in a coroutine.
2012-04-01 19:38:42 +04:00
Alexander Gavrilov e3d50b9b04 Optimize wrapper: use pointers instead of strings as most frequent keys. 2012-04-01 18:34:04 +04:00
Alexander Gavrilov 604c84953b Fix a bug: LookupTypeInfo cannot assume the result is userdata. 2012-04-01 17:59:47 +04:00
Alexander Gavrilov a3e526abdb Add df.is_instance(a,b) to check if typeof(b) is subtype of typeof(a).
Allows both objects and types as arguments. Also accepts nil and
primitives as b, returning nil.
2012-04-01 17:32:57 +04:00
Alexander Gavrilov edd63080b5 Only print the shortcut help once in the lua interactive mode. 2012-04-01 17:00:25 +04:00
Alexander Gavrilov afe4eba957 Improve performance of the persistent data api, and wrap it for lua.
Use an stl table for string keys to avoid linear cost of lookup.

This uncovered a bug in the new luaL_getsubtable function.
2012-04-01 16:43:40 +04:00
Alexander Gavrilov a9a6fbd8b5 Lua tweaks: a couple of functions, dfusion tweak, backtrace metadata. 2012-04-01 12:50:56 +04:00
Petr Mrázek 7ff728b6fc Track world and map changes separately for plugin_onstatechange 2012-04-01 02:56:54 +02:00
Petr Mrázek 209b261284 Get rid of MALLOC_FILL build option 2012-04-01 00:30:42 +02:00
Petr Mrázek 4bac6edd79 Merge https://github.com/rh73/dfhack 2012-04-01 00:29:00 +02:00
Alexander Gavrilov 9d6e26fa5f Fix crashing color_ostream::printerr due to vfprintf vs fprintf mixup.
Also enable heap clearing in gdb mode, and fix a few newlines.
2012-03-31 22:26:41 +04:00
Robert Heinrich 39787e9cd5 Renamed digging commands to uniformly start with 'dig*'(vdig -> digv etc). Added command digl, diglx (dig layerstone instead of veins). Updated readme.rst. 2012-03-31 15:41:55 +02:00
Alexander Gavrilov 0f41608ed4 Pull console output support and REPL out of dfusion into core lib. 2012-03-31 15:40:54 +04:00
Alexander Gavrilov 9384f0c842 Update lua to 5.2 and fix obvious breakage due to obsolete api. 2012-03-31 12:11:43 +04:00
Alexander Gavrilov 10b610669f Give some sensible looking names to the arrays in pregnancy_ptr. 2012-03-31 10:31:45 +04:00
Petr Mrázek a01f512733 Track structures 2012-03-31 01:33:14 +02:00
Petr Mrázek 543f3970db Tweak readme, bump version to 0.34.07 2012-03-31 01:13:21 +02:00