Commit Graph

1452 Commits (f06f9af6b80068fbafe340a59ff7d755399509d4)

Author SHA1 Message Date
Alexander Gavrilov f06f9af6b8 Throw items from bins around in siege engine, like minecarts do. 2012-09-12 20:57:25 +04:00
Alexander Gavrilov 7c71aeab5f Add function for making item projectiles. 2012-09-12 18:17:42 +04:00
Alexander Gavrilov 3a075f4bc7 Trivial siege engine aiming at units, with logic in lua. 2012-09-11 19:17:24 +04:00
Alexander Gavrilov 9679b7729c Clean up the movement speed calculation function and move into the core. 2012-09-09 17:04:58 +04:00
Alexander Gavrilov ec3d489bda Move curse-affected attribute value getters to the core. 2012-09-09 12:51:08 +04:00
Alexander Gavrilov a36fe25e72 Finish the effective skill computation function, and move to core. 2012-09-09 12:27:40 +04:00
Alexander Gavrilov 94b729579e Reindent to remove tabs. 2012-09-09 10:53:08 +04:00
warmist 8e0f3e3bce Added ListBox to gui.dialogs
A listbox class. Can be either filled with table of strings, or string+callback tables. Needs some code revision :)
2012-09-09 02:28:07 +03:00
Alexander Gavrilov fb88aad51d Reverse-engineer unit speed computation from DF code. 2012-09-08 21:07:18 +04:00
Alexander Gavrilov bfa6ed3e08 Support setting the target area for the siege engine. 2012-09-08 13:46:02 +04:00
Alexander Gavrilov 325e294af2 Start the siege engine plugin with code to highlight obstacles on screen. 2012-09-07 19:54:32 +04:00
Alexander Gavrilov e925d8f4d9 Add an API function for reading tiles from the screen buffers. 2012-09-07 11:36:45 +04:00
Alexander Gavrilov c971a819de Experimental creation of map blocks in gui/liquids script. 2012-09-06 22:45:19 +04:00
Alexander Gavrilov d5ea05ebb8 Implement a pressure plate sensitive to machine power.
When built next to a gearbox, it will monitor its powered state.
2012-09-06 12:37:29 +04:00
Alexander Gavrilov 8d876cc7d9 Support renaming some buildings, and arbitrary units, via gui script. 2012-09-05 21:27:42 +04:00
Alexander Gavrilov 57086ac56e Add stock MessageBox and InputBox dialog screens for lua scripts. 2012-09-05 19:45:45 +04:00
Alexander Gavrilov 27f169e298 Provide a partial application utility function to lua.
Implemented in C++ for efficiency.
2012-09-05 17:37:36 +04:00
Alexander Gavrilov 3b8e3d1459 Fix wrong assumptions in lua wrapper for BitArray. 2012-09-02 17:18:01 +04:00
Alexander Gavrilov 3713c5ea9e Add some APIs required by steam engine to the core. 2012-09-02 14:10:58 +04:00
Alexander Gavrilov 8536785d1d Boilers made out of unsuitable materials should explode! 2012-09-01 20:46:34 +04:00
Alexander Gavrilov e0097d8d43 Fix access to unnamed bits in bitfields, and allow hook.apply(false) 2012-09-01 11:25:24 +04:00
Alexander Gavrilov 0f1be28637 Follow xml changes. 2012-09-01 00:17:08 +04:00
Alexander Gavrilov 750eefe48a Follow unconditional JMP chains in MSVC vmethod ptr detection. 2012-08-30 19:28:53 +04:00
Alexander Gavrilov 8a617edb10 Support "ls -a" to list scripts in subdirs. 2012-08-29 19:03:53 +04:00
Alexander Gavrilov f1915915b4 Follow change in xml again. 2012-08-27 23:03:02 +04:00
Alexander Gavrilov 5fed060d7d Follow field rename in xml. 2012-08-27 16:01:11 +04:00
Alexander Gavrilov b2bdc199cb Fix NULL pointer access in ~virtual_identity. 2012-08-26 22:43:18 +04:00
Alexander Gavrilov 3402a3cd5d Fix a deadlock problem between suspend in (un)load, and onupdate. 2012-08-26 14:43:14 +04:00
Alexander Gavrilov 7f1e4b46bc Implement inheritance-aware vmethod interposing.
I.e. overwriting the vmethod in all vtables that use it, not only one.
2012-08-26 14:43:14 +04:00
Alexander Gavrilov 41ad42d0fd Expose the liquids plugin engine to lua, and make a wrapper gui script. 2012-08-25 10:37:03 +04:00
Petr Mrázek 9154564e71 Sync up submodules 2012-08-24 21:56:16 +02:00
Alexander Gavrilov 8359e80b23 Expose a few API functions to lua, and implement a room browser overlay. 2012-08-24 18:26:18 +04:00
Alexander Gavrilov d52c54cc76 Pull some minor stuff from mechanisms into main libs. 2012-08-24 13:49:22 +04:00
Alexander Gavrilov 296f82b02f Try using the Objective-C 'alloc + init' idiom for lua screen objects. 2012-08-24 13:28:34 +04:00
Alexander Gavrilov e825dc5ddb Tweak the API for current viewscreen, and dispatch show/dismiss from C++. 2012-08-24 13:20:08 +04:00
Alexander Gavrilov b12b9fa91e Suspend DF around loading and unloading plugins.
This is necessary to improve safety of vtable interposing.
2012-08-23 19:51:55 +04:00
Alexander Gavrilov c6c5ad56c9 Track lua event listener count, and let the C++ host know.
This allows completely avoiding the call overhead if there
are none. The downside is that the event object now has to
be a userdata with lots of metamethods.
2012-08-23 19:27:28 +04:00
Quietust 1e28ceff6d Add getProfessionColor and getCasteProfessionColor to Units module 2012-08-22 16:54:00 -05:00
Alexander Gavrilov cf4b8a0196 Improve viewport manipulation utilities and support scroll in mechanisms.
I.e. allow the user to scroll around with cursor keys,
provided that keeps the cursor still visible.
2012-08-22 22:29:01 +04:00
Alexander Gavrilov f0fc3acf87 Turn an assert in vmethod interpose code into a mandatory check and abort. 2012-08-22 18:22:59 +04:00
Alexander Gavrilov 7987ea9a98 Put some compatibility features into the base dfhack viewscreen. 2012-08-22 18:18:19 +04:00
Alexander Gavrilov 6e8b68fb29 Add yet one more frame style. 2012-08-22 13:06:06 +04:00
Alexander Gavrilov 2b79582e99 Implement a policy of marking DFHack-owned screens with a signature. 2012-08-22 12:28:01 +04:00
Alexander Gavrilov 8969fc9435 manipulator: Inherit from dfhack_viewscreen, and don't use itoa. 2012-08-22 12:23:56 +04:00
Quietust 51ba252344 Add Screen::drawBorder(string), duplicates DF's interfacest::drawborder() 2012-08-21 15:28:11 -05:00
Quietust 985d96c596 Allow interposing the 1st vmethod 2012-08-21 15:27:29 -05:00
Alexander Gavrilov 15235cc938 More work on utilities for making lua viewscreens. 2012-08-21 19:40:37 +04:00
Alexander Gavrilov 451e965936 Add a Painter class for lua viewscreens, and extract other utilities.
Painter clips to an arbitrary rectangle window, and
tracks current cursor and color state.
2012-08-21 11:35:39 +04:00
Alexander Gavrilov 601a3a7927 Add a script that implements a linked mechanism browser. 2012-08-20 23:04:01 +04:00
Alexander Gavrilov 38a07a4ca5 Export the tile finder function to lua, and improve mouse event reporting. 2012-08-19 20:00:10 +04:00