Commit Graph

362 Commits (961b815d9f22b76757de14663d8e41b96276c91a)

Author SHA1 Message Date
Alexander Gavrilov 2222757e77 Implement context-sensitive keybinding support.
Allow defining commands with guard conditions, and binding
one or more commands to alphabetic and function keys. When
the relevant key is pressed, the first listed command with
successfully evaluated guard is chosen.

For consistency, the guard is also checked when the command
is invoked from the console; this requires suspending the
core inside PluginManager, before invoking plugin code.
2011-12-30 23:25:50 +04:00
Alexander Gavrilov 4aa77f5530 Execute commands from the dfhack.init file on startup. 2011-12-30 23:11:34 +04:00
Alexander Gavrilov b71e577771 Allow specifying parameters in hotkey commands.
Now that hotkeys can be set to arbitrary strings, tokenize them.
2011-12-30 18:27:55 +04:00
Alexander Gavrilov 53346328e8 Notify plugins about game being loaded or unloaded.
As a test, make seadwatch deactivate on these events.
2011-12-30 18:12:15 +04:00
Alexander Gavrilov 298e2fe92d Add a plugin to rename squads and hotkeys (without the 9 char limit). 2011-12-29 17:37:07 +04:00
Alexander Gavrilov d513e75365 Use the updated code generator with support for vtables & constructors. 2011-12-29 16:46:01 +04:00
Alexander Gavrilov 79ac2a781a Add infrastructure necessary to use the generated headers.
As a usage example, allow toggling water level display and idlers,
and implement a ui tweak for easily copying stockpiles.

Also disable df2mc by default - default options shouldn't
require anything not in the base package.
2011-12-24 14:51:58 +04:00
Petr Mrázek 647916e109 Graphic module 2011-12-07 20:37:09 +01:00
Petr Mrázek f7d78539d3 Renaming Creatures to Units 2011-12-02 10:56:40 +01:00
Petr Mrázek 44dad25690 No nullptr, propector -> prospect 2011-11-14 09:24:36 +01:00
Petr Mrázek 7e475970fb Fix crash when using load, unload and reload commands. 2011-11-07 10:55:18 +01:00
Petr Mrázek af46b262b5 More init hardening. 2011-11-04 09:08:29 +01:00
Petr Mrázek f0417e12dd Hardening. 2011-11-01 13:06:27 +01:00
Petr Mrázek d47e9b35a0 Update stonesense, fix small text alignment error. 2011-09-04 14:16:12 +02:00
Petr Mrázek 09cb6a6828 Added exporatory mining patterns tool. 2011-08-17 13:26:03 +02:00
Petr Mrázek 03e3e9002b Linux debug... 2011-08-16 23:39:18 +02:00
Petr Mrázek a0f99ef707 Many tweaks to plugins, reorganized the build system and removed more cruft. 2011-08-14 08:42:21 +02:00
Petr Mrázek 81e6bce92c Command history separated from Console. 2011-08-13 14:42:09 +02:00
Petr Mrázek d93032de3b Fix formatting in Core.cpp 2011-08-07 08:41:46 +02:00
Petr Mrázek fedb6150f4 Merge https://github.com/warmist/dfhack 2011-08-06 21:00:54 +02:00
Petr Mrázek cb93b5542e Fix problem with running interactive commands from hotkeys. 2011-08-06 04:37:29 +02:00
Warmist 4b9786f8af Thread safety for void* sharing part of DFHack::Core 2011-08-04 22:33:54 +03:00
Warmist 9985b5de0f DFHack::Core modification: added a way to share void* between plugins and/or plugin unloads. 2011-08-04 22:00:21 +03:00
Petr Mrázek 6cc66d3434 Merged grow and immolate tools into plants plugin. 2011-08-02 02:21:25 +02:00
Petr Mrázek fa970fc8fa Hotkey commands work with TEXT mode (limited). 2011-08-01 04:40:23 +02:00
Petr Mrázek 331ada8f91 Don't take over console in TEXT mode. 2011-08-01 03:31:52 +02:00
Petr Mrázek 2a95a4edf2 Windows part of mutex rewrite. 2011-07-27 14:22:37 +02:00
Petr Mrázek 2470e564a9 Linux-side of threading function rewrite. Windows=broken. 2011-07-27 05:59:09 +02:00
Matthew Cline 41130cb613 ClassNameCheck tracks class names used
Each time the ClassNameCheck constructor is called it adds to the list
of class names given to it, which can later be retrieved by a class
static method.
2011-07-24 21:24:34 -07:00
Matthew Cline 86577d4f8a Notes module
Gets a vector of pointers to note structs
2011-07-20 18:26:52 -07:00
Petr Mrázek 873cbd8388 Make 'die' plugin a builtin, made the console interaction less confusing. 2011-07-20 20:58:19 +02:00
Petr Mrázek 84f74bc091 Added plugin loading/unloading/reloading. Many locks. Too many damn locks. 2011-07-18 16:22:49 +02:00
Petr Mrázek d6d108dd34 Qt plugin fixes for windows, renamed interface to df_interface in Gui. 2011-07-16 18:10:08 +02:00
Petr Mrázek 0af631aaa3 And nuke the rest of linenoise... 2011-07-14 12:28:41 +02:00
Petr Mrázek d21b196766 Error printing call for Console, the NYAN CAT! 2011-07-14 11:15:23 +02:00
Petr Mrázek f2b46274ec Fix for a bug in command history queue access. dfhack script can run valgrind. 2011-07-14 08:02:29 +02:00
Petr Mrázek 96153a7b05 Merge branch 'dfapi' of github.com:peterix/dfhack into dfapi 2011-07-14 04:06:12 +02:00
Petr Mrázek 792d272fbf Windows side of the Console rewrite 2011-07-14 04:05:27 +02:00
Petr Mrázek a40153a8e1 Merge pull request #98 from matthew-cline/TOPIC-vermin
Vermin module and colonies plugin
2011-07-13 04:24:38 -07:00
Petr Mrázek 630b746cfe Integrate linenoise into Console - Linux part 2011-07-13 11:45:30 +02:00
Matthew Cline d1170d54c3 Vermin module and colonies plugin
This is the start of the vermin module.  Right now it just gets a list
of the positions at which vermin are created (spawn points).  Most
spawn points are invisible and transient, but colonies (ant hills and
such) are permanent and visible.  The address of the spawn points vector
is only provided for Linux 0.31.25

The colonies plugin uses the vermin module to list the location and
species of colonies, and can either wipe them all out or turn them all
into honey bee colonies.
2011-07-12 23:17:51 -07:00
Petr Mrázek 3a67a4d3c7 Added linenoise library to allow line editing in the terminal. 2011-07-12 12:13:14 +02:00
Petr Mrázek aeeece5c5f Made kittens plugin optional, and disabled by default. 2011-07-12 00:07:59 +02:00
Petr Mrázek fa4d2d9b2e Removed some silly data races from using cerr... 2011-07-11 23:07:42 +02:00
Petr Mrázek 4015586d89 Eliminated the core suspend latency, possibly added a heap of race conditions. Added vdig. 2011-07-11 22:23:13 +02:00
Petr Mrázek d894ef0ffa Hotkey UI for linux. 2011-07-09 11:33:58 +02:00
Petr Mrázek 65d7278f53 Added a bunch of butchered SDL headers, catching SDL events on linux. 2011-07-08 03:55:37 +02:00
Petr Mrázek 56a409d9a4 sync, some map data structures, commented out some dead code 2011-07-06 11:13:36 +02:00
Petr Mrázek b1d4163095 Fixed prospector, added the command list back, removed the plugin init console spam. 2011-06-27 04:49:56 +02:00
Petr Mrázek 00ddb45dbd Added optional plugin_onupdate function, called each Core update. 2011-06-27 02:13:01 +02:00
Petr Mrázek 722531f590 Added destructor code for PluginManager, console color reset funstion. 2011-06-25 08:05:17 +02:00
Petr Mrázek 6fd7d42f00 Plugin manager, reworked kittens and reveal. 2011-06-25 05:35:29 +02:00
Petr Mrázek 0bb097296a Prospector prints text again. Plugin lookup is better (ignores more non-library files) 2011-06-24 02:48:56 +02:00
Petr Mrázek 857decbcce Plugins go into a folder, disabled console close button on windows because of bugs. 2011-06-22 18:04:22 +02:00
Petr Mrázek 8f27966540 Console revamp - windows part 2011-06-22 14:25:39 +02:00
Petr Mrázek f8cdd95b09 Console revamp - linux part. 2011-06-22 08:14:21 +02:00
Petr Mrázek c6dc4900d2 Very basic plugin system. 2011-06-20 04:29:38 +02:00
Petr Mrázek f2b91d3269 Making ready for adding plugins. Fixes all over the place, more removal of obsolete parts. 2011-06-20 01:12:07 +02:00
Petr Mrázek e0fb8f7c81 Crud removal: Context is gone. Added missing FakeSDL.h 2011-06-17 15:02:43 +02:00
Petr Mrázek 4da11927af Kittens, now for real. Also a lightweight curses relacement. Use it, love it. 2011-06-17 02:09:03 +02:00
Petr Mrázek 93be1eb1fb Yay, kittens! Also some license cleanup, IO thread usage, more SDL wrapping and ability to run reveal from DFHack console. 2011-06-16 23:53:39 +02:00
Petr Mrázek 22b79bb46e Now works on Windows again, some more cleanups, added a singleton Core object for holding all the globals. 2011-06-14 16:13:28 +02:00