Commit Graph

414 Commits (d2c78646ea55c11429b452b83a4d7a0d7f50f835)

Author SHA1 Message Date
Petr Mrázek 9db20bd84d Header changes/cleanup. 2011-12-31 12:48:42 +01:00
Alexander Gavrilov b652ec4132 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-31 13:25:46 +04:00
Petr Mrázek 1284b30f79 Merge https://github.com/angavrilov/dfhack 2011-12-31 01:40:08 +01:00
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 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
Petr Mrázek e6ff6b04fc Merge https://github.com/warmist/dfhack 2011-12-30 03:12:29 +01:00
Alexander Gavrilov d513e75365 Use the updated code generator with support for vtables & constructors. 2011-12-29 16:46:01 +04:00
Warmist 2643e0c5a7 Merge branch 'master' of git://github.com/peterix/dfhack 2011-12-28 22:49:31 +02:00
Petr Mrázek 51dae5a5dc Fix for minor MSVC error. 2011-12-24 14:34:10 +01:00
Petr Mrázek e9f9f9b92e Merge https://github.com/angavrilov/dfhack 2011-12-24 14:27:58 +01:00
Petr Mrázek 59c32b1ee9 Some changes required on windows. 2011-12-24 14:27:35 +01:00
Alexander Gavrilov 2eb56d0480 Make strongly-typed 'any virtual class' pointers optional.
It seems they might not work properly on msvc.
2011-12-24 17:17:01 +04:00
Alexander Gavrilov 81ad287c06 Generate very simple static functions to find objects in global vectors. 2011-12-24 16:22:10 +04:00
Warmist dc78e99f75 Added getKeys to OffsetGroup (for easy lua access to all things that memory.xml has) 2011-12-24 13:53:59 +02: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 b36e5ac248 Add missing files. 2011-12-07 20:50:37 +01: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 9dba6003bc Small Items tweak. 2011-11-30 07:42:59 +01:00
Petr Mrázek 57b5ed8fa7 Made invalid tile types really invalid, license and unused depends cleanup. 2011-11-25 18:54:50 +01:00
Petr Mrázek 9be4092c7f creature thoughts 2011-11-06 01:22:11 +01:00
Petr Mrázek da21fa1d79 MATERIAL_SOIL tweak 2011-11-04 18:51:52 +01:00
Petr Mrázek af46b262b5 More init hardening. 2011-11-04 09:08:29 +01:00
Petr Mrázek 0f42dee97a More material changes. 2011-11-03 05:01:25 +01:00
Petr Mrázek 4f0695a6d5 Messing with materials. 2011-11-03 04:30:59 +01:00
Petr Mrázek 7f6fa2a008 Add an enum for base material types. 2011-10-30 21:32:43 +01:00
Petr Mrázek 063894276c Tiny type fixes for spatter veins, updated df2mc. 2011-10-30 15:25:29 +01:00
Petr Mrázek dc12c41d86 Fix kitchen exclusion class not being exported. 2011-10-30 03:26:50 +01:00
Petr Mrázek a29bb4578f Move kitchen exclusion module methods to a source file. 2011-10-30 03:20:54 +01:00
Petr Mrázek a3a1629521 Fix seedwatch some more. 2011-10-30 02:52:25 +01:00
Petr Mrázek 4688f6557e Fix problem with magic numbers in fastdwarf. 2011-10-28 06:22:07 +02:00
Petr Mrázek e74aae6f3e Rename some plant material variables 2011-10-28 05:25:49 +02:00
Petr Mrázek bfc8df3005 Added plant raw struct 2011-10-28 04:40:35 +02:00
Petr Mrázek 61be3413e3 Make seedwatch work on linux, still with ugly hacks. 2011-10-27 03:31:13 +02:00
Petr Mrázek 335ad28fe5 Add item contaminants vector to df_item, fixed up cleanitems plugin to use it. 2011-10-27 01:08:59 +02:00
Petr Mrázek c8cd307bcf Added missing method stubs to df_item. 2011-10-26 23:47:45 +02:00
Petr Mrázek 1f0e91c3d0 Add enum for item types. 2011-10-26 23:12:20 +02:00
Petr Mrázek b545de7f43 Items refactor. readItem turned into copyItem, most Items methods now accept plain df_item * instead of the copies. 2011-10-26 22:18:13 +02:00
Petr Mrázek 866b63f567 More of the items overhaul 2011-10-25 13:30:41 +02:00
Petr Mrázek 2adf1d22eb Item description method found! 2011-10-25 05:31:37 +02:00
Petr Mrázek 04495a304c Kill item variable accessors. YES. 2011-10-25 04:48:06 +02:00
Petr Mrázek 998d85919f Windows offset for save name, some tweaks, updated stonesense submodule to current. 2011-10-23 22:23:54 +02:00
Petr Mrázek a83d9fa944 Added mouse position and designation coord, along with a 'trackpos' command for kittens plugin. 2011-09-26 03:39:27 +02:00
Petr Mrázek 83ae8d6c12 Creature likes (at least the structures are back), malloc wrapper that sets memory to 0xCC. 2011-09-25 01:29:55 +02:00
Petr Mrázek dc81367a68 Gems are now properly detected in prospector. Nuked some legacy garbage. 2011-09-24 06:48:06 +02:00
Petr Mrázek 71de950919 Possible creature variables 2011-09-21 21:48:54 +02:00
Petr Mrázek 1df71d2b7a More tweaks related to creatures, murder implication flag for items/corpse pieces. 2011-09-21 13:47:12 +02:00
Petr Mrázek dca4c43b0b Creatures module rewrite 2011-09-18 13:49:10 +02:00
Petr Mrázek e48f8af9a8 Remove stray include. 2011-08-31 14:41:46 +02:00
Petr Mrázek e5f0c7637e Fixes to help/readme entries related to digcircle. 2011-08-27 15:12:03 +02:00
gsvslto b173a59a42 Change < to " for dfhack/BitArray.h include
Unchanged, I got and error when building in MSVC++ 2010 Express

Not sure if line endings are UNIX as online edit from Windows machine
2011-08-23 10:57:37 +02:00
gsvslto 90163c4be5 Added includes for <maps> and <vector>
Without, I got errors when building in MSVC++ 2010 Express

Not sure if line endings are UNIX as online edit from Windows machine
2011-08-23 10:48:28 +02:00
Petr Mrázek 4922be0a75 Circle dig designation tool. 2011-08-22 15:18:35 +02:00
Petr Mrázek b1868f802c Make autodump fix the block-local item ID vectors. 2011-08-21 23:02:05 +02:00
Petr Mrázek 81e6bce92c Command history separated from Console. 2011-08-13 14:42:09 +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
Petr Mrázek be358ec1de Ported deramp, cleanowned and cleartask tools. 2011-08-05 00:41:31 +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 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 a36d8b0619 Merge https://github.com/warmist/dfhack 2011-07-31 23:29:34 +02:00
Petr Mrázek 9cf69164ed BitArray implementation, now used in Maps for the flags. 2011-07-30 16:47:49 +02:00
Petr Mrázek a9a3a3ff5f Merge branch 'topic_tools' 2011-07-28 02:36:25 +02:00
Warmist bc23cc9eca Made Process::setPermisions functions, to set memory page's permisions 2011-07-28 01:00:12 +03:00
Petr Mrázek 2470e564a9 Linux-side of threading function rewrite. Windows=broken. 2011-07-27 05:59:09 +02:00
Petr Mrázek d65f5596cb Ported mode, probe. Some changes required for that. 2011-07-25 10:14:58 +02:00
Petr Mrázek a8ff3d9d48 Merge pull request #116 from matthew-cline/TOPIC-items
Improved Items module and itemhacks plugin
2011-07-25 01:10:07 -07:00
Matthew Cline 109f34cd6e Improved Items module and itemhacks plugin
Items module:
* Identified flags for "owned by hostile" and "owned by trader".
* Identified an unknown uint32_t field as being the item age.
* Added and documented ClassNameCheck for more item ref types, though
  they aren't used yet (other than to mark that item ref class as a
  "known" class).
* Added method to get list of an item's unknown item ref classes.
* Made all unknown flags have name 'unk#', instead of some also having
  the name 'u_ngrd#'.

Itemhacks plugin:
* Folded second command into "dumpitems unknown", which will list
  any items which have the unknown vector field non-empty (which seems
  to be associated with tasked items).
* "dumpitems unknown" will also dump any item with a set unknown flag
  or with item refs of an unknown class.
2011-07-24 21:35:50 -07: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
Petr Mrázek bd9643c8cc Merge branch 'dfapi'
Conflicts:
	CMakeLists.txt
	library/DFProcess-linux.cpp
	library/include/dfhack-c/modules/Creatures_C.h
	library/include/dfhack/modules/Maps.h
	library/modules/Creatures_C.cpp
2011-07-23 17:29:05 +02:00
Petr Mrázek 6b6eed34cc Merge https://github.com/zilpin/dfhack 2011-07-23 17:08:15 +02:00
Petr Mrázek caf6f881df Minimize notes module. 2011-07-23 03:25:42 +02:00
Petr Mrázek 35cf108040 Fix up material color names and basic flag array type in Materials. 2011-07-22 03:54:09 +02:00
Petr Mrázek e00a4e8888 Fix ore/gem sorting. 2011-07-22 03:00:56 +02:00
Petr Mrázek 7325808c98 Fixes to materials. 2011-07-22 02:44:36 +02:00
Petr Mrázek 131c32494a Added DF material structs reversed by Quietust 2011-07-21 22:37:02 +02:00
Matthew Cline 86577d4f8a Notes module
Gets a vector of pointers to note structs
2011-07-20 18:26:52 -07:00
Matthew Cline 6631f97a6a More info on inorganic materials
Get value, wall tile, boulder tile, smelting info and strand extraction
info for inorganic materials.  Prospector uses this to separete out vein
materials into ores, gems and other.

Offsets provided for both Linux and Windows, but only tested on Linux.
2011-07-20 06:18:50 -07:00
Petr Mrázek 0defcc9889 Making Items a bit more sane. It's still using Accessors though. 2011-07-20 10:41:13 +02:00
zilpin 4eb13800cd -WriteVein(), and some convenience functions for the vein bitmaps. 2011-07-18 15:55:41 -04:00
Petr Mrázek 00cf7bc39e Merge branch 'dfapi' of github.com:peterix/dfhack into dfapi 2011-07-18 16:28:06 +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 e021199178 Merge pull request #106 from matthew-cline/TOPIC-folder
Get game's current world save folder
2011-07-17 02:26:06 -07:00
Petr Mrázek fdb5397a1d Safer console shutdown. 2011-07-17 11:06:45 +02:00
Matthew Cline a923d19f76 Get game's current world save folder
Use World::ReadWorldFolder() to get "region1" (or whatever it currently
is).  Only have offset for Linux.
2011-07-16 16:00:50 -07:00
Petr Mrázek 9f822af45a Process: added a method for getting the main module base (windows). Returns 0 on linux. 2011-07-16 23:00:28 +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 fd418cd2dc cmake cleanup in library/ 2011-07-16 07:59:36 +02:00
Petr Mrázek 459d48d75a Made the linux console super awesome. The dfhack script won't LD_PRELOAD dfhack for gdb. 2011-07-15 15:55:01 +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 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 4015586d89 Eliminated the core suspend latency, possibly added a heap of race conditions. Added vdig. 2011-07-11 22:23:13 +02:00
Matthew Cline 5c1526d6d9 creatures: read and write pregnancy counter
Also change creaturemanger to print out the ticks-until-birth for
pregnant creatures.
2011-07-11 02:48:10 -07:00
Petr Mrázek 3850954449 Hotkey input works on windows/under wine. Added skeleton for the veindigger plugin. 2011-07-10 21:07:14 +02:00