lethosor
af92b3ae1f
Fix some confirm plugin issues and add a simple configuration UI
...
- Detect null pointers in trade-related functions
- Fix typo/issues pointed out by @dscorbett
- Reorder includes
2015-11-21 20:58:49 -05:00
lethosor
b7dd93b6e8
Implement most of the confirm plugin in Lua
...
This should make resolving future issues easier, although implementing
new confirmations in lua isn't possible yet (each one requires a line
in confirm.cpp).
This also resolves an issue with note-delete and route-delete, with
dfhack/df-structures@1bc4f61
2015-11-21 19:01:35 -05:00
PeridexisErrant
80e4b8d3df
Remove DFusion plugin and script system
...
It's been four years since meaningful updates, and in that time
alternatives have emerged to almost everything. Any remaining
functionality to replace is on the issue tracker.
Simpler is better, for users and developers, and removing a legacy
system makes it easier to understand how DFHack works.
2015-11-17 11:13:19 +09:30
expwnent
fabcfcd921
Fixed trailing whitespace.
2015-09-21 17:42:30 -04:00
Warmist
80fd4b1365
Some additions and fixes.
...
Added new functions: select, set(non)blocking, isBlocking.
Set default to non-blocking. Added "would block" to ignored errors.
2015-09-16 09:57:22 +03:00
warmist
7639420455
Update luasocket.lua
2015-08-17 10:07:20 +03:00
Warmist
d9c50d677f
A lua interface for csockets in a spirit of luasocket
2015-08-15 15:09:12 +03:00
lethosor
a90f3c3d67
stockpiles: Restrict characters in filenames when saving
...
Previously, it was possible to save outside of the stocksettings
directory or fail to save in a nonexistent subdirectory (e.g. when
a stockpile name had slashes in it).
Resolves #621
2015-07-29 14:17:14 -04:00
lethosor
8145a04944
dwarfmonitor: Add mouse cursor widget
...
Suggested by @ragundo
2015-06-15 13:42:29 -04:00
lethosor
7581bda7d5
Update dwarfmonitor documentation and NEWS
2015-06-13 21:50:15 -04:00
lethosor
93c9a41a3a
Reimplement dwarfmonitor widgets in Lua (and improve customizability)
...
Widget positions and a few other options (e.g. date formats) can be
specified in dfhack-config/dwarfmonitor.json on a per-instance basis.
Related changes:
* Fixed an issue loading JSON files from Lua
* JSON files in dfhack-config (only dwarfmonitor.json currently) are
no longer copied into the DF directory when building DFHack. This
keeps developers' personal settings intact, but will require
copying over changes made to DFHack's copies manually.
* Fixed incorrect config path in dwarfmonitor help
2015-06-13 21:15:43 -04:00
Ross Morgan-Linial
3001053cef
Change tabs to spaces.
2015-05-07 21:51:03 -07:00
Ross Morgan-Linial
7aac9a8fb8
Improve workflow handling of plant reactions
...
Makes workflow understand "seeds of any plant", "thread of any plant",
"drink of any plant", "powder of any plant", and "liquid of any plant"
when counting items.
Changes workflow's handling of the built-in plant reactions to
understand that they always produce plant products, and that they also
produce seeds.
This means that you can set a target for, for example, "powder of any
plant", and workflow will use a milling job to produce that.
2015-05-07 20:49:29 -07:00
Ben Lubar
d182b6c1c3
only create the stocksettings directory when it is requested
2015-03-24 17:46:49 -05:00
Eric Wald
23707db1d3
Fixed ballistic arrow head orders
2015-03-15 16:38:59 -06:00
Eric Wald
6bfaa8d35d
Better way to handle obsolete job types.
2015-03-15 16:37:35 -06:00
Eric Wald
81c2a6e79f
Refactoring a table insert into reaction_entry.
2015-03-15 16:02:29 -06:00
Eric Wald
11d65b4f2d
Always clear reactions when loading.
...
This removes a minor potential for memory leaks.
2015-03-15 15:43:46 -06:00
Eric Wald
d18bd3e2a5
Preventing a stockflow error message in Arena mode
2015-03-15 14:08:47 -06:00
lethosor
0b912f54be
Fix field name in lua/stockflow.lua
...
From DFHack/df-structures#39
2015-03-01 17:32:25 -05:00
Warmist
e9ab892369
Building hacks changes.
...
Fixed buildings not consuming correct value of power. Added way to ignore unpowered state. Added setPower/getPower to change how much power building uses on the fly.
2015-02-24 15:37:38 +02:00
lethosor
10cfef0553
Fix whitespace issues
2015-02-14 22:53:06 -05:00
expwnent
e5e0d93ef1
Added modtools/reaction-product-trigger.
2015-02-02 02:39:05 -05:00
Casey Link
b0e0bbda9b
stockpiles: show proper cased names in filter list
2014-12-05 16:53:19 +01:00
Casey Link
52f4cb3fc1
stockpiles: load prompt uses typing + filtering
2014-12-05 14:49:40 +01:00
Casey Link
332566f6a1
stockpiles: disable gui/script when plugin is disabled
2014-12-05 13:27:58 +01:00
Casey Link
7e6066daf2
stockpiles: user friendly error handling
...
* display errors in the GUI when necessary
* handle older versions of DFHack without the persist module
2014-12-05 12:35:24 +01:00
Casey Link
b6118d272c
stockpiles: integrate gui plugin into dfhack.init-example
2014-12-05 12:35:24 +01:00
Casey Link
1cde8cffa4
stockpiles: implement GUI controls
2014-12-05 12:35:19 +01:00
expwnent
c927f0fa3c
Merge remote-tracking branch 'lethosor/patch-5'
2014-09-16 17:25:28 -04:00
Lethosor
1ea1b50790
job_material_category -> dfhack_material_category
...
Fixes #330 - submitted by @finndibaenn
2014-09-14 11:13:26 -04:00
Eric Wald
83b1317173
Switching stockflow to the internal getStockpileContents.
...
This should speed it up over checking each space individually, but no longer counts spaces with empty assigned bins and barrels as empty.
2014-09-07 15:07:57 -06:00
Eric Wald
1ce07c063d
Canonical way to find the stockpile by id.
2014-09-07 14:55:34 -06:00
Quietust
5c0588dd34
Merge pull request #299 from eswald/stockflow-40
...
Stockflow Repairs
2014-08-28 14:56:04 -05:00
Eric Wald
632b0b85bd
Speeding up the stockpile item count.
...
kr0pper reports two orders of magnitude speed improvement for check_pile() by using the map tile item cache.
2014-08-23 17:49:03 -06:00
Eric Wald
8495bddc2d
Removing an obsolete workaround
2014-08-23 17:46:35 -06:00
Warmist
f04b93210a
Bug fixing.
...
Fixes for "tab" in hacked buildings.
2014-08-16 16:58:09 +03:00
Warmist
6868cab1fe
Exposed dfhack.jobs.linkIntoWorld. Simplified eventful and gui.dwarfmode for sidebar use/creation.
2014-08-16 16:58:01 +03:00
Eric Wald
f5d50adf0d
Removing the leaves check for stockpile acceptability.
...
That item type no longer exists in DF 0.40; such items will now always be considered properly stored by any stockpile they're on.
2014-08-15 21:41:23 -06:00
Eric Wald
2ebebaf62f
Deleting old stockflow records.
...
Once a stockpile has been removed or abandoned, its persistent configuration is obsolete.
2014-08-03 15:07:04 -06:00
Eric Wald
1b1475fb94
Warning about mismatched stockflow entries.
...
For the most part, mismatches should only happen if the reaction list has changed between world loads, which means either the raw files or the plugin files have been changed. For now, such entries are ignored, though in some cases it might be possible to recover a new order number by searching through the reaction list.
2014-08-03 15:04:28 -06:00
Eric Wald
2db1c9d722
Moving the global job_types cache into the two functions that use it.
...
It's mostly an artifact of a misunderstanding, anyway.
2014-08-03 14:57:20 -06:00
Eric Wald
1aafa206bc
Localizing a few Lua variables.
...
It seems like the globals could be localized, too, but I'm not quite sure what that would accomplish.
2014-08-02 18:08:13 -06:00
Eric Wald
ad4d545036
Ignoring the removed job types for DF 0.40+
...
The version check allows the plugin to work with DF 0.34, just in case.
2014-08-02 17:58:36 -06:00
expwnent
81c87d0921
EventManager: INTERACTION event for unit interactions.
2014-07-03 04:55:12 -04:00
expwnent
fe875f7c02
Cleaned up eventful.lua.eventType.
2014-06-30 03:16:45 -04:00
expwnent
961d033ade
EventManager: unload event for convenience.
2014-06-29 10:03:55 -04:00
expwnent
8e7e87ac73
Added UNIT_ATTACK event to EventManager and exposed it to Lua.
2014-06-28 02:31:34 -04:00
expwnent
7313c18a2a
EventManager/eventful: added ON_REPORT event and exposed it to Lua.
2014-06-23 09:15:46 -04:00
Alexander Gavrilov
63254df6dd
Fix obvious issues in stockflow.
...
- Duplicate definition of a function now in uicommon.h
- Assertion failure due to missing core suspend claim.
- Incorrect way of accessing the civ entity.
- Accessing nil objects in the lua module if filter matches nothing.
- Lua module breaking on reload('plugins.stockflow').
2014-06-03 12:57:45 +04:00
Alexander Gavrilov
e7292379f7
Merge branch 'stockflow' of git://github.com/eswald/dfhack into develop
2014-06-03 12:13:56 +04:00
Alexander Gavrilov
ae8d630cfa
Merge remote-tracking branch 'warmist/dev-rendermax' into develop
2014-05-11 15:44:29 +04:00
Eric Wald
144eff4cf2
Clearing the center column.
...
The official order selection screen has an extra space to the left of the orders on the right-hand side.
2014-05-04 15:36:42 -06:00
Eric Wald
4fc850445d
Magic Number Reduction: Display placement constants
2014-05-04 15:28:53 -06:00
Eric Wald
767badbfb9
Magic number reduction: Clothing flags
...
Bone and shell are used to construct BARRED and SCALED armor/clothing items, for some reason.
2014-05-04 15:13:25 -06:00
Eric Wald
bdb22235af
Magic number reduction: Job types
2014-05-04 15:02:12 -06:00
Eric Wald
2d5f7e4022
Magic number reduction: Persistent storage
...
Replaces explicit indices into the ints field of Stockflow persistent storage objects with enumerated values.
2014-05-04 12:55:00 -06:00
Eric Wald
723cfcf28e
Attempting to repair an order object leak.
...
Now frees manager_order objects in the reaction_list when the plugin is disabled or the world unloaded. However, there may still be orders leaked elsewhere.
2014-05-04 12:35:10 -06:00
Alexander Gavrilov
13584f08c5
Merge remote-tracking branch 'warmist/dev-buildings' into develop
2014-05-04 19:52:01 +04:00
Alexander Gavrilov
63d256c1e9
Adjust siege engine targeting weights.
...
Stop shooting at leaving caravan guards for one.
2014-04-17 22:10:43 +04:00
Alexander Gavrilov
55cea36c76
Use the new API to produce combat reports for aimed siege engine attacks.
...
This requires exposing the actual operator unit to lua code.
2014-04-15 19:50:23 +04:00
Eric Wald
b9ed7a5cc2
Stockflow plugin v1.0
2014-04-13 15:19:03 -06:00
Warmist
eb999cd0ad
Another file forgotten
2014-03-07 19:58:27 +02:00
Warmist
a52451a97a
eventful: added support for custom workshops and a convenience function to interpose side panel generation
2014-03-07 19:41:50 +02:00
Warmist
834350012f
building-hacks: added lua convenience function, made impassible tile fix optional.
2014-03-07 19:41:50 +02:00
Warmist
94b5961372
New plugin: building-hacks. Allows workshops to block liquids and consume mechanical power, connect to machines.
2014-03-07 19:41:49 +02:00
expwnent
329741f235
EventManager: added EQUIPMENT_CHANGE event and exposed it to lua.
2013-10-24 19:32:52 -04:00
expwnent
e81c060627
Added EVENT_MAX just in case someone wants it.
2013-10-20 15:24:31 -04:00
expwnent
6ef360f4d6
Merge remote-tracking branch 'warmist/dev-EventManager-lua' into 0.34.11-r4
2013-10-20 14:52:40 -04:00
Warmist
0dff26aa23
Added lua interface (in eventful) for EventManager module.
2013-10-20 21:44:07 +03:00
jj
308e7b6820
fix renamed pregnancy_ptr/mystery to pregnancy_genes/caste
2013-08-10 01:57:11 +02:00
Alexander Gavrilov
f3e357d161
Fix detection of GET_MATERIAL_FROM_REAGENT results in workflow.
...
Dereference pointer to strings. Also just return undefined
material instead of skipping the product if it still fails.
2013-04-30 19:42:51 +04:00
Robert Heinrich
fd265b37d6
Added lua GUI front-end for autobutcher.
2013-04-24 23:37:05 +12:00
Warmist
ab6a993689
friendship.lua: removed debug printing
2013-02-15 20:21:33 +02:00
Warmist
bb5d98e895
friendship fixes.
2013-02-15 20:19:55 +02:00
Warmist
1990e2caf7
Small fix to adv site creation, now it's really centered around you
2013-01-07 02:01:59 +02:00
Warmist
c22c4d009c
Added convenience functions to eventful (see Lua API.rst)
2013-01-03 20:30:51 +02:00
Warmist
08f454cc81
Removed old reactionhooks.lua
2012-12-14 16:41:59 +02:00
Warmist
e46d434c25
Missing lua file for eventful.
2012-12-14 16:33:26 +02:00
Warmist
ddceabbfb7
Merge branch 'master' of git://github.com/jjyg/dfhack
2012-12-12 18:58:11 +02:00
jj
6bc791d985
follow df-structure rename unit.unknown8 + able_stand_*
2012-12-10 22:50:33 +01:00
Warmist
6c4f163a5e
Merge branch 'master' of https://github.com/angavrilov/dfhack
...
Conflicts:
NEWS
2012-12-09 14:25:31 +02:00
Kelly Martin
05dce0d2f1
Fix inadvertently prematurely terminated block comment.
2012-11-30 21:24:18 -06:00
Alexander Gavrilov
2cb594ba89
Tweak the workflow lua api: include history in output of listConstraints.
2012-11-30 14:48:05 +04:00
Warmist
57b69da1f0
Merge branch 'master' of https://github.com/angavrilov/dfhack
2012-11-29 12:13:28 +02:00
Warmist
2c9b560872
Made dfusion not stop df on input.
2012-11-28 22:13:28 +02:00
Warmist
2bbcfe912a
Site spawner added to adv_tools
2012-11-26 21:04:17 +02:00
Alexander Gavrilov
2953e4c386
Implement a dialog to specify a workflow constraint with all features.
2012-11-17 20:32:39 +04:00
Quietust
55fcb7e3ca
One more missed
2012-11-12 08:33:05 -06:00
Alexander Gavrilov
c32f85d637
Merge remote-tracking branch 'warmist/master'
...
Conflicts:
plugins/Dfusion/include/OutFile.h
2012-11-12 10:50:48 +04:00
Warmist
ce8ada4419
More bug fixing
2012-11-11 22:14:00 +02:00
Warmist
3eb852a43b
Added cheat commands to companion-order, (including rumrushers)
2012-11-11 21:18:59 +02:00
Alexander Gavrilov
d5c31942b5
Add a way to only count locally-made items in workflow.
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
Warmist
33f674eee2
Removed dfusion lua files. Updated plugins.
2012-11-11 12:33:54 +02:00
Warmist
f1d4eac700
Pre-class remove
2012-11-11 11:58:43 +02:00
Alexander Gavrilov
eb936c4ce0
Support milking and shearing in workflow.
2012-11-10 17:06:54 +04:00
Warmist
6be65690f7
Merge branch 'master' of https://github.com/angavrilov/dfhack into experimental-dontmerge
2012-11-02 20:29:27 +02:00
Warmist
5295be5fdb
More work done. Only bin-plugs left (and docs)
2012-11-02 20:28:08 +02:00
Warmist
296d1cf090
More scripts for dfusion. Only fixes left, and updating bin-plugins (friendship and migrants(??))
2012-11-02 00:50:20 +02:00
Warmist
ba071468dc
New way of doing things!
...
Now using a class for menus, also no (non script) way to use bin-plugins.
2012-11-02 00:28:16 +02:00
Warmist
209d593f21
Another day, another commit.
2012-11-01 16:00:00 +02:00
Alexander Gavrilov
79d2cb1a5c
Remove the C++ version of the job output deduction code and switch to lua.
2012-10-25 12:44:23 +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
59ec9b304e
Implement adding workflow constraints from gui/workflow.
2012-10-24 21:49:30 +04:00
Alexander Gavrilov
09f8e8e419
Start working on gui for workflow.
2012-10-23 21:42:03 +04:00
Warmist
a3f6e9e305
Small error fix
2012-10-21 13:46:12 +03:00
Warmist
86ec66c0fb
More work on dfusion. Embark anywhere script separated.
2012-10-21 13:42:55 +03:00
jj
1f7a01d685
follow rename unit.military.squad_index to squad_id in df-structures
2012-10-20 22:35:39 +02: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
ba763b773d
New tweaks for the military assign to position screen.
2012-09-28 18:01:17 +04:00
Warmist
0bee8c360e
Reaction hooks experimentation.
2012-09-25 10:25:47 +03:00
Alexander Gavrilov
f2fde21b10
Implement a slightly more sensible aiming AI in siege engine.
2012-09-17 14:45:22 +04: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
3a075f4bc7
Trivial siege engine aiming at units, with logic in lua.
2012-09-11 19:17:24 +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
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
41ad42d0fd
Expose the liquids plugin engine to lua, and make a wrapper gui script.
2012-08-25 10:37:03 +04:00
Alexander Gavrilov
b992b04f0b
Remove stuff that shouldn't be in the core, and expose to lua what's left.
...
Specifically, any "if (verbose) { Core::printerr("blah") }" kind
of stuff definitely doesn't belong in the common API functions.
Also, ref->getUnit() is very expensive.
On the other hand, checks for crash-inducing conflicts with the
ui should be in the core api, and not in client plugins.
2012-05-20 21:57:45 +04:00
Alexander Gavrilov
4aa6dbdd00
Support sorting items in the trade screens.
...
Caveat: sorts items in containers independently from the container.
2012-05-18 19:18:49 +04:00
Alexander Gavrilov
16ee049664
Split off the burrows api from Maps and Units.
2012-04-26 12:56:28 +04:00
Alexander Gavrilov
6ab270d129
Retrieve unit noble position info, and use it in getProfessionName.
2012-04-26 12:03:56 +04:00
Alexander Gavrilov
763a301b4f
Add a few more lua api functions, documentation, and unit sort orders.
...
Units::getProfessionName appears to work correctly for
everything except nobles.
2012-04-23 21:30:53 +04:00
Alexander Gavrilov
125cd6622a
Support sorting units in many more ui contexts.
2012-04-22 19:22:00 +04:00
Alexander Gavrilov
4af051bab3
Add a few more unit orderings, and a way to reverse direction.
2012-04-21 16:53:17 +04:00
Alexander Gavrilov
3282ac3db2
Add a hotkey command that sorts units in lists using lua comparators.
2012-04-21 15:43:52 +04:00
Alexander Gavrilov
cb49c92b99
Allow plugins to export functions to lua with safe reload support.
...
- To ensure reload safety functions have to be wrapped. Every call
checks the loaded state and locks a mutex in Plugin. If the plugin
is unloaded, calling its functions throws a lua error. Therefore,
plugins may not create closures or export yieldable functions.
- The set of function argument and return types supported by
LuaWrapper is severely limited when compared to being compiled
inside the main library.
Currently supported types: numbers, bool, std::string, df::foo,
df::foo*, std::vector<bool>, std::vector<df::foo*>.
- To facilitate postponing initialization until after all plugins
have been loaded, the core sends a SC_CORE_INITIALIZED event.
- As an example, the burrows plugin now exports its functions.
2012-04-14 19:44:07 +04:00