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
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
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
99da37ae46
Moving to new LuaWrapper.
2012-03-24 14:47:51 +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
081aee1363
Fixes for DfHack::Process foolery.
2012-03-11 14:59:32 +02:00
Warmist
237d7b433a
Updated to new dfhack standards.
2012-03-11 14:33:08 +02:00
Warmist
e8788d8872
Lots of work done with xml parsing.
2012-03-04 14:45:15 +02:00
Warmist
8d9fa86804
Added dfusion plugin name.
2012-02-23 00:41:27 +02:00
Petr Mrázek
2cd2ee9b0c
New plugin interface
2012-02-21 18:19:17 +01:00
Quietust
091bf62aa8
DFhackCExport is only needed on the plugin_* functions
2012-02-13 22:54:08 -06:00
Petr Mrázek
9db20bd84d
Header changes/cleanup.
2011-12-31 12:48:42 +01:00
Warmist
52a049cec3
Removed thready argument to dfusion, replaced with init (just sets stuff up, running everything in non interactive mode)
2011-12-27 23:07:23 +02:00
Warmist
e7a8c8c684
Lua function calling.
2011-12-04 18:45:34 +02:00
Warmist
ab448d4109
Small fixes + lua_bit lib (fixes flag manipulations)
2011-09-17 14:59:10 +03:00
Warmist
1a99121ead
Started migration to init/plugin scheme (init files for noninteractive parts). Also added WINDOWS/LINUX flags
2011-08-21 00:15:40 +03:00
Warmist
68fbd4a78d
fixed few formating things, and annoying 'g' error. (work-around somehow the '..' operator does not work with numbers)
2011-08-19 19:12:25 +03:00
Warmist
97712089bd
Added dfusion thready flag to spawn another thread
2011-08-19 18:09:00 +03:00
Petr Mrázek
9ecbaecc13
Merge https://github.com/warmist/dfhack
...
Conflicts:
plugins/Dfusion/dfusion.cpp
2011-08-13 14:44:54 +02:00
Petr Mrázek
81e6bce92c
Command history separated from Console.
2011-08-13 14:42:09 +02:00
Warmist
a94ba4392c
small fixes to VersionInfo wrapper, added Current_Race in Memory.xml to new version and ported friendship plugin to memory.xml model
2011-08-09 11:31:51 +03:00
Warmist
6a8c92e088
versionInfo wrapper, no offsetgroup methods yet
2011-08-09 02:46:32 +03:00
Petr Mrázek
8fd437dbc1
Make dfusion use the static lua lib.
2011-08-08 23:30:30 +02:00
Warmist
835581e5d3
Embark and friendship working
...
Signed-off-by: Warmist <Warmist@gmail.com>
2011-08-05 00:22:25 +03:00
Warmist
f4179652fa
Lots of changes, including hexsearch and wrapper for lua, also LUNE - an object oriented lua wrapper
2011-08-03 16:07:57 +03:00
Warmist
6c2a822494
small bugfix (lua_Process.cpp) and onTick rate slowed
...
Signed-off-by: Warmist <Warmist@gmail.com>
2011-07-28 04:08:57 +03:00
Warmist
0799cde3af
Small fixes and lua port of Process
...
Signed-off-by: Warmist <Warmist@gmail.com>
2011-07-28 03:11:33 +03:00
Warmist
f1d32ef766
Peek and pokes with lua bindings. Also interpreter implemented
...
Signed-off-by: Warmist <Warmist@gmail.com>
2011-07-28 00:21:09 +03:00
Warmist
d262986740
Added simple readme, fixed sdl_threads and moved to tinythreads (mutex for lua engine). Other small fixes
...
Signed-off-by: Warmist <Warmist@gmail.com>
2011-07-27 23:10:20 +03:00
Warmist
f003a19e40
Functioncalling minilib
...
Signed-off-by: Warmist <Warmist@gmail.com>
2011-07-19 16:45:54 +03:00
Warmist
d0c2f3b9f5
Functioncall minilib testing
2011-07-17 12:00:29 +03:00
Warmist
6c75e8cd88
Merge branch 'dfapi' of git://github.com/peterix/dfhack into dfapi
...
Conflicts:
plugins/CMakeLists.txt
2011-07-17 00:11:21 +03:00
Warmist
fc68387ea3
Improved error checking (and flood protection)
...
Signed-off-by: Warmist <Warmist@gmail.com>
2011-07-16 22:23:44 +03:00
Warmist
e47d05eeb4
Full DFHack::Console to lua binding.
...
Signed-off-by: Warmist <Warmist@gmail.com>
2011-07-16 22:08:58 +03:00
Warmist
3106606a4e
OnTick working!
...
Signed-off-by: Warmist <Warmist@gmail.com>
2011-07-16 20:43:57 +03:00
Warmist
3afa35df61
Added lua c++ wrapper
...
Signed-off-by: Warmist <Warmist@gmail.com>
2011-07-16 19:29:46 +03:00
Warmist
7969a701c3
Lua integrated.
...
Signed-off-by: Warmist <Warmist@gmail.com>
2011-07-16 18:34:24 +03:00
Warmist
75cffcb347
First dfusion plugin commit
...
Signed-off-by: Warmist <Warmist@gmail.com>
2011-07-16 17:22:45 +03:00