Commit Graph

28 Commits (3e0b0f8078656c6492581f0d1f2c24ba4101ba65)

Author SHA1 Message Date
Myk Taylor 82013c0c5e prep buildingplan for core algorithm changes
Lots of refactoring and reorganizing, with only cosmetic player-visible changes.

- show quickfort mode hotlkey label regardless of whether the current building type has buildingplan enabled. before, it was only shown after the user enabled buildingplan for the current building. this eliminates the extra step when enabling quickfort mode, which force-enables all building types.
- changed signature of lua-exported isPlannableBuilding to take subtype
  and custom type in addition to building type. this is only used by
  quickfort, and it already sends all three params in preparation for
  this change
- added lua-exported scheduleCycle(), which is like doCycle(), but only
  takes effect on the next non-paused frame. this lets quickfort
  run only one buildingplan cycle regardless of how many #build
  blueprints were run
- declared a few dfhack library methods and params const so buildingplan
  could call them from const methods
- converted buildingplan internal debug logging fn to have a printf api
- reshaped buildingplan-planner API and refactored implementation in
  preparation for upcoming core algorithm changes for supporing all
  building types (no externally-visible functionality changes)
  - changed df::building_type params to type, subtype, custom tuple keys
  - introduced capability to return multiple filters per building type
    (though the current buildings all only have one filter per)
- split monolith hook functions in buildingplan.cpp into one per scope.
  this significantly cleans up the code and preps the hooks to handle
  iterating through multiple item filters.
- got rid of send_key function and replaced with better reporting of
  whether keys have been handled
2020-10-16 13:52:23 -07:00
Pauli bd0d36ec82 Fix stockpile inventory not to include inventory items
Inventory items have stale position information. The coordinates can be
very old if item is owned and continuesly carried for long time. The fix
checks if item is carried. To avoid filtering carried items that are
assigned (containers) to the stockpile the assignment needs to be
checked.

Fixes #1288
2018-06-19 18:06:28 +03:00
Ben Lubar a7dfacd1c5
Fix warnings in supported plugins. 2018-04-06 01:25:21 -05:00
Ben Lubar f3038fef09
Mark static functions in uicommon as "static inline" to remove the warning if they are not used. 2018-04-05 16:51:10 -05:00
lethosor 49ea61562f uicommon: remove nullptr definition
This is available in GCC 4.8+ and MSVC 2015
2017-05-25 18:06:51 -04:00
lethosor 8226134f67 Make can_trade() return true if at least one caravan can trade
Fixes #900
2016-04-16 17:13:00 -04:00
lethosor 0d37209063 use trade_state enum 2016-04-13 09:44:57 -04:00
lethosor 2a2ab00ca9 Add "map" parameter to a lot of drawing functions
Ref #746
2015-12-22 11:42:51 -05:00
lethosor 4e45cc5bbb stocks: Use ^ and $ to match the beginning/end of item names
Closes #624
2015-07-29 13:44:32 -04:00
lethosor 825d46af51 Move ListColumn class to a separate header 2015-07-28 21:48:00 -04:00
lethosor dd7c20c848 Add safer helpers to get STRING_X keys from interface_key sets
A few plugins were using input->rbegin() previously, which crashes
if input is empty and isn't strictly guaranteed to return a
STRING_X key.
2015-07-28 18:34:29 -04:00
lethosor dd17f90dcd Add a flag to allow mouse clicks to select ListColumn items 2015-02-24 15:50:26 -05:00
lethosor 990ab9c76b Typecast nullptr in ListColumn::getFirstSelectedElem() 2015-02-24 15:50:26 -05:00
lethosor 10cfef0553 Fix whitespace issues 2015-02-14 22:53:06 -05:00
Timothy Collett 5547722414 Initial work on fortplan plugin, including separating out code that needs to be shared with buildingplan 2014-12-23 16:56:15 -05:00
Eric Wald 3c58bd3948 Switching autotrade to use StockpileIterator.
This should speed it up a bit, and prevents it from marking a stream of empty bins.
2014-09-07 14:03:51 -06:00
Eric Wald c95ad05a7e Switching new stockpile menu keys from green to red. 2014-08-17 16:01:42 -06:00
Alexander Gavrilov 2471c4a68e Add a new API for converting between interface_key and string characters.
It's necessary now that the simple linear arrangement is broken.
2014-08-11 14:23:19 +04:00
Anuradha Dissanayake 5e52bb60f0 Update uicommon.h with new common display functions 2014-05-03 21:19:46 +12:00
Alexander Gavrilov a273327c6a Remove "using namespace std" from MiscUtils.h. 2013-10-10 12:15:50 +04:00
Alexander Gavrilov 599af0a4d9 Fix linux and windows build issues.
- Linux makefile overrides and removes the optimization flags.
- Old linux gcc doesn't understand lambdas.
- MSVC doesn't like extern and explicit instantiation in same file.
2013-09-30 22:51:29 +04:00
Anuradha Dissanayake 80de3c05fa Stocks plugin: Add keywords to search for flags. 2013-04-24 23:31:37 +12:00
Anuradha Dissanayake eb8b2faf66 Stocks plugin: fix inventory check, add trade assignments, better hotkets. 2013-04-23 22:15:25 +12:00
falconne d99b930f58 Better Stocks - Quality & Wear filters 2013-04-14 16:39:21 +12:00
falconne 17513283d4 Better Stocks screen - WIP 2013-04-14 00:45:06 +12:00
Anuradha Dissanayake 63707471f4 WIP - More logical categories and variable windows 2013-03-07 22:27:06 +13:00
Anuradha Dissanayake 701b7b7d9b Multiple data averaging windows and gcc fixes. 2013-03-02 15:14:56 +13:00
Anuradha Dissanayake 4afe74efa6 Add DwarfMonitor plugin to monitor activities and happiness levels in a fort. 2013-02-28 23:39:22 +13:00