Commit Graph

133 Commits (4c2d4d4b86355063d0eef3c93dc6b686448123b3)

Author SHA1 Message Date
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
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 adbd351462 Rename units.other[0] to units.active. 2012-04-21 12:46:55 +04: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
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
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
Warmist aaffdd56d8 Fixes to all of the new stuff. 2012-04-04 19:06:56 +03: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
Alexander Gavrilov a9a6fbd8b5 Lua tweaks: a couple of functions, dfusion tweak, backtrace metadata. 2012-04-01 12:50:56 +04:00
Alexander Gavrilov 73cf822a13 Merge remote-tracking branch 'warmist/master' 2012-04-01 11:43:09 +04:00
Alexander Gavrilov 0f41608ed4 Pull console output support and REPL out of dfusion into core lib. 2012-03-31 15:40:54 +04:00
Warmist 5a90e71c87 Fixes for lua5.2 2012-03-31 12:12:16 +03: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
Warmist 95947a8635 Reworked to use start_dwarf_count offset from version info 2012-03-31 01:27:26 +03:00
Warmist c0cd5b9212 New offset for embark/simple-embark (starting dwarfs) 2012-03-31 00:54:37 +03:00
Petr Mrázek 1da914fb87 Fix init.lua 2012-03-30 21:59:35 +02:00
Petr Mrázek 5d8415c8d9 Merge https://github.com/warmist/dfhack
Conflicts:
	plugins/Dfusion/luafiles/init.lua
2012-03-30 20:32:57 +02:00
Alexander Gavrilov 063099e535 Set '_' to the first result value for both interactive shortcuts.
Makes it behave sort of like a general 'last result' reference.
2012-03-30 12:17:09 +04:00
Alexander Gavrilov e989ca58db Enhance the interactive interpreter mode of dfusion.
1. Reimplement Console.print* to behave exactly as the standard print
   function, and apply print = Console.println from c++ init code.
2. Add a couple of convenience shortcuts to save some manual typing
   when poking around data structures using the interactive prompt.
3. Change the prompt string to a more distinguished shape.
2012-03-30 11:57:27 +04:00
Warmist 531704da8c print (after dfuse/dfusion) no longer needs tostring 2012-03-29 22:08:45 +03:00
Warmist ce69cdb5df New way of doing assignments used in tools/empregnate. 2012-03-29 18:39:11 +03:00
Quietust 2ac562d4d7 Add missing array terminator - without this, Release builds crash on startup 2012-03-27 10:23:11 -05:00
Warmist 3761426ef5 Extern "C" mess fixed, bitlib mess fixed, bitlib added to autoload. 2012-03-26 18:48:24 +03:00
Warmist 61f0bc66af small changes to tools(lua) 2012-03-26 18:12:32 +03:00
Warmist 63634de8d5 Fixed empregnate, and some other tools... 2012-03-25 11:48:53 +03:00
Warmist e36ed9ac07 Fixed more plugins (embark/friendship/simple_embark) 2012-03-25 01:31:58 +02:00
Warmist b8210a4cc7 Commented non working parts... Not very much left... 2012-03-25 01:16:41 +02:00
Warmist 99da37ae46 Moving to new LuaWrapper. 2012-03-24 14:47:51 +02:00
Warmist e10b1a50a3 Onfunction start 2012-03-23 11:07:54 +02:00
Warmist f25d15ce9c Stupid mistake fixed 2012-03-22 23:27:25 +02:00
Warmist 8f72a642b2 Fixed getxyz(), getCreatureAtPos() (also returns nil/creature) and empregnate to work with look/talk 2012-03-22 21:47:33 +02:00
Warmist fe211acb71 Small bug fixes 2012-03-18 16:23:31 +02:00
Warmist 3383aa7f6d New pointer, setup pointer and df-array. ALso new tool, empregnate. 2012-03-18 12:24:28 +02:00
Warmist 5367d28110 few small bugs (embark caste selection) and moved runsaved to non-auto. 2012-03-18 03:02:16 +02:00
Warmist 943c4abe76 updated readme.txt 2012-03-18 02:22:26 +02:00
Warmist e1279d79db small debug un-optimatization removed 2012-03-18 02:16:53 +02:00
Warmist 086ce16f0f tools updated (not fully), added editor( edit everything in df) 2012-03-18 01:57:50 +02:00
Warmist 77738085e2 embark and friendship working. 2012-03-18 00:50:47 +02:00
Warmist 16861781c2 Merge branch 'master' of git://github.com/peterix/dfhack 2012-03-17 15:09:05 +02:00
Warmist fd48c59aba Started move to new system. Temp disabled non-working plugins. 2012-03-17 15:05:48 +02:00
Warmist dea215d0b9 Alignment done (at least for now). Now there is a working access to df. 2012-03-16 02:08:55 +02:00
Warmist f092edaa99 alignment hell, and started to port all plugins to new structure based mode. 2012-03-13 23:08:46 +02:00
Warmist 04a43501ac Fixed loops in linked lists, split xml_types into windows (and in the future linux) versions. Works, but not tested. Also updated offset for migrants. 2012-03-13 21:40:25 +02:00