expwnent
78aab90f3a
EventManager: whitespace.
2012-12-16 16:27:08 -05:00
expwnent
3951d4d204
EventManager: made it safe to register/unregister while events are being triggered.
2012-12-16 15:39:39 -05:00
expwnent
d4d8e69556
EventManager: Allowed absolute time registration.
2012-12-15 18:08:59 -05:00
expwnent
935058f0a5
EventManager: moved files around, made eventExample not run by default, and got rid of the silly NONE event type.
2012-12-15 17:43:41 -05:00
expwnent
86e002f3ff
EventManager: added item creation event.
2012-12-15 16:49:13 -05:00
expwnent
b0314755e0
EventManager: added unit death event.
2012-12-15 14:40:11 -05:00
expwnent
155a4d044c
EventManager: fiddled with time events. Made it possible to register for time events before a world is loaded. Also added some files I forgot to add to the previous commit.
2012-12-14 23:29:28 -05:00
expwnent
cf619a519e
EventManager: made event handlers unregister when plugins are unloaded. Also changed PluginManager so that plugins can call core.getPluginManager() during plugin_init.
2012-12-14 22:14:38 -05:00
expwnent
747723187f
EventManager: first draft.
2012-12-14 21:05:38 -05:00
Warmist
ddceabbfb7
Merge branch 'master' of git://github.com/jjyg/dfhack
2012-12-12 18:58:11 +02:00
jj
662d3101c7
ruby: fix onupdate tick limiting + advmode, add pageprotect, add :script_finished
2012-12-11 17:25:51 +01:00
jj
6bc791d985
follow df-structure rename unit.unknown8 + able_stand_*
2012-12-10 22:50:33 +01:00
Warmist
ff4278d04e
Removed debug spam, added support for "HAS_MATERIAL_REACTION_PRODUCT" type reactions.
2012-12-09 23:07:13 +02:00
Warmist
6c4f163a5e
Merge branch 'master' of https://github.com/angavrilov/dfhack
...
Conflicts:
NEWS
2012-12-09 14:25:31 +02:00
Kelly Martin
2018ac1d17
Sync structures
2012-12-08 21:25:16 -06:00
Warmist
4f5fdebbe9
furnaces added and custom reactions.
2012-12-09 00:53:03 +02:00
Alexander Gavrilov
a0e671d75d
Make rename unit reset the name if it becomes completely empty.
2012-12-08 20:39:57 +04:00
jj
a1eeb02a1b
autocomplete command names from the console
2012-12-07 01:34:04 +01:00
jj
ebc2625d97
ditch the unused Vegetation module
2012-12-06 23:47:25 +01:00
Warmist
3bce3838af
Advfort now supports workshops and siege weapons >:)
2012-12-03 21:49:17 +02:00
jj
3953112eb9
dump Vegetation::t_plant, fix plant.is_burning
2012-12-03 19:03:07 +01:00
Alexander Gavrilov
9703d3fd8f
Detect mouse press events for lua.
2012-12-02 14:43:23 +04:00
Alexander Gavrilov
58239e97ed
Implement the history graph in the workflow status screen.
2012-12-01 16:50:03 +04:00
Kelly Martin
021d089709
sync structures
2012-11-30 20:25:19 -06:00
Alexander Gavrilov
0bfe006016
Try to reimplement the inventory monitor by falconne in lua.
...
For no other reason than to provide a complete example of lua
interface for a native plugin :)
TODO: paint the graph in the right pane.
2012-11-30 19:10:17 +04:00
Warmist
471d15ba4c
New building selection dialog.
2012-11-29 20:49:16 +02:00
Alexander Gavrilov
5ea26d9cae
Only show the advanced new constraint dialog on Shift-Enter.
...
Upon reflection it is a bit too scary to be always shown.
2012-11-29 16:27:51 +04:00
Alexander Gavrilov
94e6690586
Don't complain about fake input tokens in simulateInput.
2012-11-29 13:37:16 +04:00
Alexander Gavrilov
bfc11cf946
Add persistent history of per-constraint item counts in workflow.
...
This will be needed for properly merging or integrating the status
screen by falconne. The history is maintained as a circular buffer
of up to 28 entries, and persists in save files.
2012-11-28 19:25:01 +04:00
Quietust
e3eb325d36
Minimize references to gps->dimx/dimy
2012-11-23 19:18:56 -06:00
Alexander Gavrilov
e7905a5cff
Add docs for the automaterial plugin, and use the new Painter class.
2012-11-22 19:38:45 +04:00
Kelly Martin
bb3c5c02c1
Adjustments for MSVC compatibility
2012-11-20 09:32:04 -06:00
Kelly Martin
3b2b77c693
sync structures
2012-11-20 08:22:21 -06:00
Alexander Gavrilov
767c1b9368
Duplicate the lua Painter class in C++.
2012-11-19 18:11:26 +04:00
Alexander Gavrilov
2953e4c386
Implement a dialog to specify a workflow constraint with all features.
2012-11-17 20:32:39 +04:00
Alexander Gavrilov
0b568942f4
Follow changes in the xml defs.
2012-11-17 16:43:29 +04:00
Quietust
1ab48aa2de
Merge https://github.com/ab9rf/dfhack
2012-11-16 21:15:38 -06:00
Quietust
3f2e583746
Naming consistency
2012-11-16 15:35:34 -06:00
Quietust
e2b9b703a0
Get rid of tabs
2012-11-16 15:33:36 -06:00
Kelly Martin
1379891270
Merge remote-tracking branch 'jjyg/master'
2012-11-16 13:50:59 -06:00
Kelly Martin
648abee285
EXECUTE -> EXEC and add parenthesis to make MSVC whine less.
2012-11-16 13:50:38 -06:00
jj
2b087a7081
fix windows typos
2012-11-16 20:49:30 +01:00
Kelly Martin
a6fba3daf2
const void* -> void* in memDealloc and memProtect for Windows too
2012-11-16 13:44:38 -06:00
Alexander Gavrilov
d506dd7137
Add a tweak to speed up melee squad training.
2012-11-16 22:51:07 +04:00
Alexander Gavrilov
2401be1b3b
Add an api function to retrieve unit skill experience.
2012-11-16 22:48:49 +04:00
Alexander Gavrilov
72912edf58
Ensure AddPersistentData won't create duplicate ids.
...
If anything messes around with the histfig vector between calls.
2012-11-16 18:45:51 +04:00
jj
dd89baf6f8
add raw mmap/mprotect access
2012-11-13 01:41:53 +01:00
Quietust
bbe94c006f
Update for temperaturest
2012-11-12 11:54:21 -06:00
Alexander Gavrilov
b4dcc7e7ad
Add more native api functions for finding general and specific refs.
2012-11-12 19:17:32 +04:00
Quietust
a99d47ee7a
Remove UTF-8 BOMs added by notepad
2012-11-12 08:38:29 -06:00
Quietust
766aca4911
Rename general_ref vectors for consistency
2012-11-12 08:27:58 -06:00
Alexander Gavrilov
6cf85b4318
Abstract the back-end from the binpatch script, and use in gui/assign-rack.
2012-11-12 12:26:31 +04:00
Alexander Gavrilov
012d22fa4f
Add a script for manipulating binary patches at runtime, and some patches.
2012-11-11 17:24:13 +04:00
Alexander Gavrilov
f657c20a1d
Add an internal API for converting between file and memory offsets.
2012-11-11 15:56:31 +04:00
Warmist
0e4df55364
Merge branch 'master' of https://github.com/angavrilov/dfhack
2012-11-11 12:46:55 +02:00
Alexander Gavrilov
56ef33ea0e
Support building steam engines on top of brooks without any down stairs.
2012-11-10 17:33:05 +04:00
Alexander Gavrilov
eb936c4ce0
Support milking and shearing in workflow.
2012-11-10 17:06:54 +04:00
Petr Mrázek
0c70a448d0
Update submodules
2012-11-07 23:06:02 +01:00
Alexander Gavrilov
ff982dcf73
Fix representation and parsing of built-in materials.
...
The trick is to support both FOO and FOO:NONE for all of them,
including INORGANIC[:NONE]. Otherwise the workflow gui scripts
have problems.
2012-11-07 13:31:36 +04:00
Alexander Gavrilov
bd8c59462c
Add documentation for the core lua gui library stuff.
2012-11-04 17:06:32 +04:00
Alexander Gavrilov
9598316855
Add a native pen object for lua with a more checked behavior.
2012-11-03 20:06:33 +04:00
Warmist
6be65690f7
Merge branch 'master' of https://github.com/angavrilov/dfhack into experimental-dontmerge
2012-11-02 20:29:27 +02:00
Alexander Gavrilov
05b73af9bb
Extend fix-armory with support for storing ammo in barracks.
2012-10-30 23:20:34 +04:00
Alexander Gavrilov
3ff5d38a5c
Add a few utility functions to the main library.
2012-10-30 12:40:26 +04:00
Alexander Gavrilov
dc2805b1f3
Link the renderer vtable from libgraphics on linux.
2012-10-30 10:38:32 +04:00
Alexander Gavrilov
ed4904fb66
Add a tweak that makes dwarves haul equipment from stockpiles to the armory.
2012-10-28 21:13:28 +04:00
Alexander Gavrilov
4aa1999347
Add a lua api function for patching multiple individual bytes.
2012-10-28 11:50:28 +04:00
Alexander Gavrilov
fdaa2a35a1
Fix name ambiguity in MemoryPatcher constructor.
2012-10-28 09:34:50 +04:00
Alexander Gavrilov
92a3277777
Add a MemoryPatcher class as an optimization of scattered patchMemory.
...
This class can cache the set of memory regions during its lifetime,
and make them writable only once. This avoids e.g. re-reading
/proc/*/maps once for every modified vtable in interpose code.
2012-10-27 21:58:40 +04:00
Alexander Gavrilov
e353f5f03e
Add a script to complement the weapon rack binary patch.
2012-10-27 20:16:27 +04:00
Alexander Gavrilov
34f33a8c91
Fix the error message produced by binpatch when a mismatch is detected.
2012-10-27 15:35:11 +04:00
Alexander Gavrilov
4c2c6a1911
Fix handling of Collect Webs jobs in workflow.
2012-10-26 23:53:18 +04:00
Alexander Gavrilov
b976e01b8c
Follow the change in the base-type of job_skill.
2012-10-26 20:29:21 +04:00
Alexander Gavrilov
1f994295b8
Consider assigned vehicles in use, and tweak text color rendering.
2012-10-25 13:20:41 +04:00
Alexander Gavrilov
8eebfa007c
Tweak the workflow gui script to make the UI operate smoother.
2012-10-25 12:15:18 +04:00
Alexander Gavrilov
a1dd31aab3
Tweak the mechanics for showing and rendering lua screens.
...
- Place new screens below any dismissed ones on top.
- When asked to render a dismissed lua screen, call render() on its
parent to avoid producing a black screen frame when unlucky.
2012-10-25 12:09:39 +04:00
Alexander Gavrilov
59ec9b304e
Implement adding workflow constraints from gui/workflow.
2012-10-24 21:49:30 +04:00
Alexander Gavrilov
616c57257d
Support changing the constraint ranges from the workflow gui script.
...
TODO: implement creating completely new constraints.
2012-10-24 19:25:06 +04:00
Alexander Gavrilov
7b67df4b4e
Merge remote-tracking branch 'q-github/master'
2012-10-24 16:49:12 +04:00
Alexander Gavrilov
09f8e8e419
Start working on gui for workflow.
2012-10-23 21:42:03 +04:00
Quietust
27c7dfde4f
ANY_FREE -> IN_PLAY, to match terminology used in DF's error messages
2012-10-23 12:14:21 -05:00
jj
cfbdf47f6e
follow rename Carried->Hauled in df-structures unit inventory mode
2012-10-22 19:37:12 +02:00
Alexander Gavrilov
46938625fd
Pass the hotkey keys to dwarfmode from overlays, and fix gui/workshop-job.
2012-10-21 21:45:51 +04:00
Alexander Gavrilov
67674a7676
Merge remote-tracking branch 'jjyg/master'
2012-10-21 11:12:32 +04:00
jj
1f7a01d685
follow rename unit.military.squad_index to squad_id in df-structures
2012-10-20 22:35:39 +02:00
Alexander Gavrilov
dee0c97584
Add a gui script for viewing and changing job_item properties.
2012-10-20 21:57:36 +04:00
Alexander Gavrilov
fbba4caab2
Suppress checking the cookable material flag if the item is a container.
2012-10-20 21:16:00 +04:00
Alexander Gavrilov
0c9f1e0af4
Check the item type against job_item_vector_id when matching to jobs.
...
This will prevent setting an invalid item type via the job command.
2012-10-20 21:01:22 +04:00
Alexander Gavrilov
795961bfc4
Fix the treatment of non_economic in Materials/Items modules.
...
non_economic == !(is boulder && is inorganic && is economic)
2012-10-20 20:31:45 +04:00
Alexander Gavrilov
5388ad475f
Fix a bug in lua wrapper caused by the recent pairs() addition.
...
It inadvertently removed all functions like df.new from the df table.
2012-10-20 20:14:50 +04:00
Alexander Gavrilov
2b1d856214
Add a few utility functions to the lua api.
2012-10-20 17:06:33 +04:00
Alexander Gavrilov
687dc7105f
Merge remote-tracking branch 'kmartin/master'
2012-10-20 15:39:20 +04:00
Warmist
da92fb9a1c
Start of dfusion module. Fixed small error in memscan.lua and start of custom embark command.
2012-10-17 21:43:44 +03:00
Alexander Gavrilov
1e2570f4cb
Add an extremely simple item selection dialog by wrapping ListBox.
2012-10-17 21:42:06 +04:00
Alexander Gavrilov
2bbd00a8ec
Add pairs and ipairs support for objects in df tree.
2012-10-17 20:58:37 +04:00
Alexander Gavrilov
2d4935bc17
Add lua API functions for verifying item and material vs job_item flags.
2012-10-17 19:16:18 +04:00
Alexander Gavrilov
4f7895f571
Support restricting the set of materials presented in the dialog.
2012-10-17 18:29:15 +04:00
Alexander Gavrilov
0046b093f7
Link visibility and event handling order.
...
- Hidden widgets don't receive events.
- Children handle events in top to bottom order.
2012-10-17 11:49:11 +04:00
Alexander Gavrilov
ad4f9908fb
Extract a generic filtered list widget from the materials dialog.
2012-10-17 10:41:50 +04:00
Alexander Gavrilov
b14e4e97f5
Natively support entry icons in the List widget.
2012-10-17 09:41:48 +04:00
Kelly Martin
8fd1dd04bb
Display dfhack version number at end of baseline 'help' message.
2012-10-16 19:27:48 -05:00
Alexander Gavrilov
023dc82564
Implement a material selection dialog.
2012-10-16 18:33:00 +04:00
Alexander Gavrilov
d336abfd97
Add label and list widgets, and switch stock dialogs to them.
2012-10-16 14:18:35 +04:00
Alexander Gavrilov
abfe2754fb
Start implementing common widgets for lua screens.
2012-10-15 20:03:18 +04:00
Alexander Gavrilov
33bd8103de
Extract an abstract View superclass from Screen to handle widget trees.
2012-10-15 15:30:00 +04:00
Alexander Gavrilov
2865e1373a
Experimental API for associating tile bitmasks with persistent data.
...
Use block_square_event_world_constructionst objects with the same
bogus negative id as the matching historical figure object.
2012-10-11 17:34:34 +04:00
Alexander Gavrilov
5206236b01
Look through missing intermediate bases when interposing subclasses.
2012-10-11 15:10:19 +04:00
Alexander Gavrilov
010417c812
Compute detailed focus string for the hauling menu.
2012-10-11 12:36:17 +04:00
Alexander Gavrilov
7224c8746a
Print the new md5 hash after modification in binpatch.
2012-10-08 16:47:52 +04:00
Alexander Gavrilov
28f0fed0aa
Redo the way binpatch backs up, so as not to lose the executable perms.
2012-10-08 16:22:35 +04:00
Alexander Gavrilov
408f0cb06e
Add a small stand-alone utility for managing binary patches.
2012-10-08 12:10:02 +04:00
Warmist
49476818c4
Dfusion rebuild start (lua script side plugins)
2012-10-07 20:45:14 +03:00
Warmist
923ea3f4b0
Reactionhooks more usefull and gm-editor minor tweaks (e.g. search in containers)
2012-10-07 20:44:18 +03:00
Alexander Gavrilov
459c69046b
Dissolve the World module class into a namespace.
...
It made accessing persistent data way too cumbersome.
2012-10-06 13:46:20 +04:00
Alexander Gavrilov
5396a67465
Some tweaking and edited NEWS.
2012-10-06 12:40:46 +04:00
Alexander Gavrilov
9f687f64a4
Fix build.
2012-10-03 12:58:05 +04:00
Alexander Gavrilov
33aead34b4
Implement a more automated search mode based on keys for some globals.
2012-10-02 19:53:16 +04:00
Alexander Gavrilov
bd3d3061ae
Add a module that wraps the dialogs as "blocking" coroutine functions.
2012-10-02 18:01:28 +04:00
Alexander Gavrilov
abf503fcdc
Fix the ListBox dialog to behave in a more consistent way.
2012-10-02 16:45:17 +04:00
Alexander Gavrilov
9d5adf1b2f
Update the lua screens to use the new key display string API function.
2012-10-02 15:25:59 +04:00
Alexander Gavrilov
7440e80e6c
Add an API function to retrieve interface key bindings for display.
2012-10-02 13:49:31 +04:00
Petr Mrázek
ba5b8638a9
Merge https://github.com/jjyg/dfhack
...
Conflicts:
fixTexts.sh
2012-09-30 23:29:13 +02:00
Petr Mrázek
8812238bf6
Update license, add contributors file, bump release number
2012-09-30 04:03:37 +02:00
Petr Mrázek
b1ad92e310
Track structures
2012-09-30 02:52:30 +02:00
Alexander Gavrilov
62cde96724
Add a script to reclassify 'individual choice' weapons based on unit skill.
2012-09-29 17:21:49 +04:00
Alexander Gavrilov
48da06ec37
Add an API function for reading the nominal skill level.
2012-09-29 15:18:04 +04:00
Alexander Gavrilov
eaddd0e646
Try shutting up a few random warnings.
2012-09-29 12:47:41 +04:00
Petr Mrázek
53c6ee4673
Track structures and stonesense
2012-09-28 21:57:12 +02:00
Alexander Gavrilov
164c61b638
Forbid stuff from bins in siege-engine, if forbid ammo standing order set.
2012-09-27 10:43:42 +04:00
Alexander Gavrilov
2e5f3c4620
Merge remote-tracking branch 'jjyg/master'
2012-09-27 10:36:14 +04:00
jj
7cc29250f8
fix for updated viewlist_petst
2012-09-26 18:22:07 +02:00
Alexander Gavrilov
627f036830
Implement a special command parsing mode with one verbatim argument.
...
Intended for script expressions, e.g. rb_eval.
2012-09-24 19:13:33 +04:00
Kelly Martin
8e25158811
Sync up df-structures
2012-09-23 19:40:04 -05:00
Alexander Gavrilov
6f67a71e00
Search for cur_season and cur_season_tick in devel/find-offsets.
2012-09-22 14:52:08 +04:00
Alexander Gavrilov
038d62367e
Implement explicit hook priority in vmethod interpose.
...
This resolves a getName order conflict between power-meter and rename.
2012-09-22 13:14:06 +04:00
Alexander Gavrilov
82dc1445cf
Support the Room list in getSelectedBuilding.
2012-09-20 11:55:53 +04:00
Alexander Gavrilov
c39a337223
Add unit/item/job/building getter hook vmethods to dfhack_viewscreen.
2012-09-20 11:11:20 +04:00
Alexander Gavrilov
7ce772ae0e
Add an API function that returns the selected building.
2012-09-20 10:41:03 +04:00
Warmist
a02a120e2d
Merge branch 'master' of https://github.com/angavrilov/dfhack into experimental-dontmerge
...
Conflicts:
dfhack.init-example
library/xml
plugins/CMakeLists.txt
2012-09-18 23:46:16 +03:00
Alexander Gavrilov
a4799a384b
Catch C++ exceptions in dfhack.buildings.setSize
2012-09-18 20:45:59 +04:00
Alexander Gavrilov
57b72831ca
Overhaul the concept of lua 'class' initialization yet again.
2012-09-18 20:30:25 +04:00
Alexander Gavrilov
d70a79deb9
Follow changes in XML defs.
2012-09-18 13:11:11 +04:00
Alexander Gavrilov
be928a9dc5
Fix a data structure integrity bug in VMethodInterposeLinkBase.
...
This causes assertion failure and abort later on.
2012-09-18 10:40:14 +04:00
Alexander Gavrilov
36e44c682c
Add a plugin implementing 'add spatter to item' reactions.
2012-09-17 21:15:51 +04:00
Alexander Gavrilov
c1e20c6f05
Follow changes to structures.
2012-09-17 12:47:18 +04:00
Alexander Gavrilov
811c096c0e
Vaporize liquids from barrels, and destroy bin contents in siege engine.
2012-09-14 20:22:49 +04:00
Alexander Gavrilov
24772f4dbc
Add an api function for destroying items.
2012-09-14 18:49:02 +04:00
Alexander Gavrilov
d22591e240
Fix a file descriptor leak and a crash in linux getMemRanges.
2012-09-14 12:35:55 +04:00
Quietust
1d8c9a6a5f
Merge https://github.com/danaris/dfhack
2012-09-13 14:30:44 -05:00
Timothy Collett
24b93ea61f
Library location fixing script
2012-09-13 14:58:52 -04:00
Quietust
46321a6a01
Rename world_data.unk_204 to feature_map
2012-09-12 13:41:59 -05:00
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
Timothy Collett
ccefd02ee3
Merge branch 'master' of git://github.com/angavrilov/dfhack
2012-09-10 11:56:23 -04:00
Timothy Collett
96abc903ab
Merge branch 'master' of http://github.com/peterix/dfhack
2012-09-10 11:54:56 -04:00
Timothy Collett
274d6038ad
Merge further changes (???)
2012-09-10 09:19:21 -04:00
Timothy Collett
270351f510
Merge branch 'master' of https://github.com/danaris/dfhack
2012-09-10 09:18: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
Warmist
0db873493a
Merge branch 'master' of https://github.com/angavrilov/dfhack into experimental-dontmerge
...
Conflicts:
dfhack.init-example
2012-09-07 17:24:38 +03: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
Warmist
3dcaee7cb9
Merge branch 'master' of https://github.com/angavrilov/dfhack into experimental-dontmerge
2012-09-05 21:55:17 +03:00
Warmist
6fc10fc268
Fixed embark anywhere to use more sane code segment search
2012-09-05 21:52:54 +03: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
Warmist
532839a4d5
Embark anywhere ported
2012-09-01 10:54:45 +03:00
Alexander Gavrilov
e0097d8d43
Fix access to unnamed bits in bitfields, and allow hook.apply(false)
2012-09-01 11:25:24 +04:00
Warmist
7cabf1b843
Small bug fix
2012-09-01 10:13:08 +03:00
Warmist
d784d4bc40
Static code segment search for memscan.lua
2012-09-01 10:05:31 +03: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
expwnent
45efcfc763
Warning: does not work. Temp commit!
2012-08-24 11:40:51 -04: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
Alexander Gavrilov
cacb082416
Add a stupid example of a lua-controlled viewscreen.
2012-08-19 17:53:25 +04:00
Alexander Gavrilov
30f71ff510
Implement support for lua-backed viewscreens.
2012-08-19 14:27:44 +04:00
Alexander Gavrilov
b8ee52131b
Add a module for painting tiles into the gps global.
2012-08-19 09:31:09 +04:00
Alexander Gavrilov
fd0bf2ef92
Extract the color enum from color_ostream to toplevel.
2012-08-19 09:21:25 +04:00
Alexander Gavrilov
c6694e386f
Add rather inefficient type_identity wrapping for std::set.
...
Accessing an element is O(N), as if it was walking a list.
2012-08-18 14:34:20 +04:00
Alexander Gavrilov
24cc8b5c7a
Expose an API to claim the suspend lock from the Core.
...
Previously it was hard-coded in Core::Update, but interposed
vmethods may need this feature too.
2012-08-18 11:52:38 +04:00
Alexander Gavrilov
01ba2a31fc
Tweak the interpose API, and fix a couple of bugs.
2012-08-18 11:48:07 +04:00
Alexander Gavrilov
236ffd578b
Add experimental support for interposing vmethods of known classes.
...
The hairiest bit is the abuse of compiler-specific pointer-to-member
internals in order to provide more or less transparent API.
2012-08-17 22:40:53 +04:00
Alexander Gavrilov
bcc41c081a
Add a utility function for patching read-only memory.
2012-08-17 15:07:48 +04:00
jj
61185d29ca
console-linux: silence minor gcc warnings
2012-08-12 00:27:20 +02:00
Petr Mrázek
589be93fbf
Sync with structures
2012-08-02 14:44:59 +02:00
Quietust
9705497a7e
Merge branch 'master' of git://github.com/peterix/dfhack
2012-07-17 10:39:20 -05:00
Quietust
bf82b2d20d
Sync with df-structures
2012-07-17 10:35:20 -05:00
Petr Mrázek
1c9194d1c4
While installing scripts, do not copy ~ files.
2012-07-12 02:24:32 +02:00
Petr Mrázek
a5977db443
Merge https://github.com/jjyg/dfhack
2012-07-09 01:13:07 +02:00
Petr Mrázek
6975f643fc
Fixage, syncing with structures
2012-07-09 01:05:40 +02:00
jj
c20951c30b
Merge branch 'master' of git://github.com/angavrilov/dfhack
2012-07-06 20:37:14 +02:00
jj
028b47a321
update xml
2012-07-06 20:36:53 +02:00
Alexander Gavrilov
4bbb185f7b
Fix build and allow autodump to any walkable tile (e.g. a stair).
2012-07-06 20:11:20 +04:00
jj
8e17ebbefc
add SC_PAUSED / SC_UNPAUSED onStateChange events
2012-07-05 18:03:02 +02:00
Timothy Collett
23d28f9961
Update df-structures dependency
2012-07-05 10:32:32 -04:00
jj
e4d4bf23ae
update xml, fix autolabor with new trade depot flags name
2012-07-04 19:05:44 +02:00
jj
cdd711efa4
add COAL subtypes in MaterialInfo::getToken
2012-07-04 17:31:41 +02:00
jj
a7a25b80a0
ruby: use the color_ostream argument from dfhack to output to dfhack-run
2012-07-03 16:13:15 +02:00
Timothy Collett
c24333515b
Merge branch 'master' of https://github.com/jjyg/dfhack
...
Conflicts:
library/Core.cpp
Starting to merge in Ruby stuffs
2012-07-02 11:07:30 -04:00
Timothy Collett
421e5fd82c
Swap order of includes to work around silly compiler/assembler bug on OS X
2012-07-02 11:02:48 -04:00
Timothy Collett
6f433ff58f
Move back to using interposition to be more portable
2012-06-29 10:15:48 -04:00
jj
ccbebdafb0
fix error spam when using Zoom hotkeys
2012-06-28 15:05:00 +02:00
Timothy G Collett
d5ae1fc4f2
Merge branch 'master' of https://github.com/danaris/dfhack
...
Conflicts:
depends/clsocket
package/darwin/dfhack
package/darwin/dfhack-run
Fixed.
2012-06-24 18:41:24 -04:00
Timothy G Collett
7cdbae3f04
Update df-structures
2012-06-24 18:35:16 -04:00
jj
552da8417e
ruby: handle .rb files in df/hack/scripts/
2012-06-24 20:24:46 +02:00
Alexander Gavrilov
9046fed648
Add documentation for some utility functions implemented in lua.
2012-06-24 12:51:19 +04:00
Petr Mrázek
59fb4daa9a
Merge https://github.com/angavrilov/dfhack
2012-06-23 00:25:50 +02:00
Petr Mrázek
6199d6915c
Nuke some error prints.
2012-06-23 00:25:30 +02:00
Alexander Gavrilov
bd37cc09c5
Update the Lua API document with info about scripts.
2012-06-22 20:17:55 +04:00
Alexander Gavrilov
65e82f7c12
Support controllable error presentation verbosity in lua code.
...
Use qerror to squash stack traces and location prefix.
2012-06-22 16:36:50 +04:00
Alexander Gavrilov
752da9ced5
Move formatting newly-found globals for symbols.xml to lua code.
2012-06-21 21:26:25 +04:00
Alexander Gavrilov
f207714d42
Add finders for enabler, gps and init.
2012-06-21 21:08:36 +04:00
Alexander Gavrilov
ed4acbdedb
Add a searcher for current_weather, using a prepared save.
2012-06-20 10:12:26 +04:00
Timothy Collett
4ca3aa878a
Merge branch 'master' of https://github.com/angavrilov/dfhack
2012-06-19 14:48:40 -04:00
Alexander Gavrilov
e687a07f2e
Fix getRebaseDelta: should be signed int.
2012-06-19 21:02:27 +04:00
Timothy Collett
707fcc55e5
Update xml repo
2012-06-19 10:52:08 -04:00
Timothy Collett
40e764a46b
Some more tweaks to the memory-finding code
2012-06-19 10:51:47 -04:00
Alexander Gavrilov
50bd758876
Replace dfhack.internal.getBase with getRebaseDelta.
...
Also, when printing found offsets, subtract the delta.
2012-06-19 18:48:22 +04:00
Alexander Gavrilov
50dff56899
Rewrite getMemRanges for windows to get rid of a number of problems.
...
- Properly handle copy-on-write permission modes.
- Merge ranges with the same properties for us.
- Don't skip non-private areas.
- Use the mapped filename as name, so that it works for all ranges.
2012-06-19 18:41:18 +04:00
Alexander Gavrilov
bd5b675fa5
Add ui_menu_width finder, tweak instructions, and add a case for win exe.
2012-06-18 21:11:54 +04:00
Timothy Collett
9b941bcd4d
Merge branch 'master' of https://github.com/angavrilov/dfhack
...
Trying out angavrilov's changes
2012-06-18 09:29:20 -04:00
Alexander Gavrilov
dc6cb61979
Add more offset finders to the script.
2012-06-17 18:44:59 +04:00
Alexander Gavrilov
fa41a27f26
Add an api function to get vtable address from version info.
2012-06-17 14:26:27 +04:00
Alexander Gavrilov
67536da2fe
Add an interactive script finding a limited subset of linux offsets.
2012-06-16 19:51:15 +04:00
Alexander Gavrilov
927ce6ce5a
Fix a problem with number to address cast for high-half addresses.
...
If the address is out of the signed int range, lua_tointeger produces
unspecified result. lua_tounsigned is guaranteed to wrap.
2012-06-16 17:09:58 +04:00
Alexander Gavrilov
db91850464
Sync to the change in gamemode/gametype globals.
2012-06-16 14:42:56 +04:00
Alexander Gavrilov
dc5bef2cb8
Add lua internal api functions needed for scanning memory.
2012-06-16 13:33:49 +04:00
Timothy Collett
14a3e5cd9e
Implement getMemRanges() on the Mac
2012-06-14 13:43:20 -04:00
Timothy Collett
9c35e9fa59
Ensure that the appropriate libz.dylib is used
2012-06-14 13:43:03 -04:00
Timothy Collett
f2a30c1a92
Remove build-time dependency on SDL
2012-06-14 13:42:40 -04:00
Timothy Collett
12543d6a5b
Make offsets with "darwin" os-type recognized as Apple, rather than ignored
2012-06-14 13:42:06 -04:00
Alexander Gavrilov
94dfdb486d
Change the field names returned from dfhack.internal.getMemRanges()
...
'end' is a lua keyword, so it cannot be used conveniently.
2012-06-14 20:32:23 +04:00
Timothy Collett
c6700585bc
Merge branch 'master' of github.com:peterix/dfhack
2012-06-14 09:59:53 -04:00
Timothy Collett
0ced9d9941
Hopefully fix DFHack's attempt to pull libstdc++ from somewhere silly (for portability)
2012-06-14 09:56:20 -04:00
Timothy Collett
19595f5225
Disable a whole bunch of no-longer-necessary debug output
2012-06-14 09:55:34 -04:00
Alexander Gavrilov
9469f27559
Make the RPC server accept a range of client versions.
...
Otherwise it sort of defeats the purpose of using version handshake.
2012-06-14 13:15:37 +04:00
Alexander Gavrilov
bbc1fb010e
Fix TEXT mode support, even making it work somewhat.
...
- Initialize the global pointers before trying to use init.
- Print a message suggesting the use of dfhack-run.
- Don't start the console thread if there is no console.
- When console is disabled, print anything given to it to stderr.
2012-06-14 13:08:39 +04:00
Alexander Gavrilov
7eb4fc19de
Make dfhack.run_script usable from other scripts, and document it.
2012-06-14 12:46:12 +04:00
Petr Mrázek
2781723f7b
Linux build works again.
2012-06-14 02:25:15 +02:00
Petr Mrázek
316973c463
Re-add fake SDL headers, get rid of real SDL use.
2012-06-14 02:15:43 +02:00
Petr Mrázek
eaac32c765
Version bump and text updates.
2012-06-14 00:29:01 +02:00
Petr Mrázek
52f9fe4a6a
Merge https://github.com/danaris/dfhack
...
Conflicts:
depends/clsocket
2012-06-14 00:00:36 +02:00
Petr Mrázek
5e011ac217
Merge https://github.com/jjyg/dfhack
2012-06-13 23:56:26 +02:00
Alexander Gavrilov
149f175909
Make primitive refs (i.e. pointers to numbers, etc) behave as arrays.
2012-06-13 22:40:39 +04:00
Alexander Gavrilov
c50b605dfc
Support casting references and allocating arrays of numbers in lua wrapper.
2012-06-13 22:26:54 +04:00
Alexander Gavrilov
8d7cf092fd
Add Lua API for access to some contextual and low-level info.
2012-06-13 21:12:36 +04:00
jj
c364b42049
fix minor gcc warning
2012-06-13 00:21:23 +02:00
jj
95606ee3dc
Merge branch 'master' of git://github.com/angavrilov/dfhack
2012-06-11 16:00:00 +02:00
Kelly Martin
c97e3bca0c
Sync structures again
2012-06-07 21:22:19 -05:00
Alexander Gavrilov
9dbcaa2733
Support adventure mode and stockpile screens in focus strings.
2012-06-06 18:54:06 +04:00
Kelly Martin
7aff2d6bc0
Sync structures for .34.11
2012-06-05 14:33:06 -05:00
Alexander Gavrilov
d35d8d3431
Add the script to fix lagging fat dwarves.
2012-06-05 14:06:29 +04:00
Alexander Gavrilov
b7edbf2076
Support 7-argument vmethods.
2012-06-05 14:00:52 +04:00
jj
b612532348
export openplugin/lookupplugin from plugin manager
2012-06-02 23:35:05 +02:00
jj
470c9f60aa
remoteclient: dont use gcc deprecated auto_ptr
2012-05-31 13:23:00 +02:00
Timothy Collett
6d65683b02
Adjust packaging for Mac
2012-05-29 16:12:35 -04:00
Timothy Collett
20a00f53c4
When built with the right compiler, we don't need any Obj-C code.
2012-05-29 14:44:37 -04:00
Quietust
f71a843c6e
Don't throw a fatal exception just because os-type isn't something we recognize - ignore it and move on
2012-05-28 11:06:23 -05:00
Timothy Collett
7ec0fd6fc0
Trying to set up an autorelease pool, but not yet succeeding.
2012-05-26 16:08:15 -04:00
Alexander Gavrilov
e72bf1ac9a
Sync to changes in df-structures.
2012-05-26 14:49:27 +04:00
Alexander Gavrilov
8644ea4dc0
Merge remote-tracking branch 'q-github/master'
2012-05-26 14:41:36 +04:00
Timothy Collett
1dd4cc5667
More work on getting dfhack building & compiling on Mac OS X
2012-05-25 14:28:59 -04:00