diff --git a/CMakeLists.txt b/CMakeLists.txt index 3b4fe01d9..811c58891 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,8 +8,8 @@ project(dfhack) # set up versioning. set(DF_VERSION "50.11") -set(DFHACK_RELEASE "r4") -set(DFHACK_PRERELEASE FALSE) +set(DFHACK_RELEASE "r5rc1") +set(DFHACK_PRERELEASE TRUE) set(DFHACK_VERSION "${DF_VERSION}-${DFHACK_RELEASE}") set(DFHACK_ABI_VERSION 1) diff --git a/data/init/dfhack.keybindings.init b/data/init/dfhack.keybindings.init index ce4a8a490..41a031a28 100644 --- a/data/init/dfhack.keybindings.init +++ b/data/init/dfhack.keybindings.init @@ -158,7 +158,7 @@ keybinding add Alt-K@dwarfmode toggle-kbd-cursor # gui/design keybinding add Ctrl-D@dwarfmode/Default gui/design - +keybinding add Ctrl-M@dwarfmode/Default gui/mass-remove ##################### diff --git a/docs/changelog.txt b/docs/changelog.txt index 317067695..e3684cc9f 100644 --- a/docs/changelog.txt +++ b/docs/changelog.txt @@ -55,6 +55,7 @@ Template for new versions: ## New Features - `sort`: search and sort for the "choose unit to elevate to the barony" screen. units are sorted by the number of item preferences they have and the units are annotated with the items that they have preferences for +- `gui/mass-remove`: new global keybinding: Ctrl-M while on the fort map ## Fixes - `reveal`: now avoids revealing blocks that contain divine treasures, encased horrors, and deep vein hollows (so the surprise triggers are not triggered prematurely) diff --git a/library/modules/Gui.cpp b/library/modules/Gui.cpp index ea2470e4b..3fb51f757 100644 --- a/library/modules/Gui.cpp +++ b/library/modules/Gui.cpp @@ -84,6 +84,7 @@ using namespace DFHack; #include "df/ui_unit_view_mode.h" #include "df/unit.h" #include "df/unit_inventory_item.h" +#include "df/viewscreen_choose_start_sitest.h" #include "df/viewscreen_dwarfmodest.h" #include "df/viewscreen_legendsst.h" #include "df/viewscreen_new_regionst.h" @@ -176,6 +177,19 @@ DEFINE_GET_FOCUS_STRING_HANDLER(new_region) focusStrings.push_back(baseFocus); } +DEFINE_GET_FOCUS_STRING_HANDLER(choose_start_site) +{ + if (screen->doing_site_finder) + focusStrings.push_back(baseFocus + "/SiteFinder"); + else if (screen->choosing_civilization) + focusStrings.push_back(baseFocus + "/ChooseCiv"); + else if (screen->choosing_reclaim) + focusStrings.push_back(baseFocus + "/Reclaim"); + + if (focusStrings.empty()) + focusStrings.push_back(baseFocus); +} + DEFINE_GET_FOCUS_STRING_HANDLER(setupdwarfgame) { if (screen->doing_custom_settings) @@ -670,6 +684,17 @@ DEFINE_GET_FOCUS_STRING_HANDLER(dwarfmode) if (game->main_interface.squad_equipment.open) { newFocusString = baseFocus; newFocusString += "/SquadEquipment"; + if (game->main_interface.squad_equipment.customizing_equipment) { + newFocusString += "/Customizing"; + if (game->main_interface.squad_equipment.cs_setting_material) + newFocusString += "/Material"; + else if (game->main_interface.squad_equipment.cs_setting_color_pattern) + newFocusString += "/Color"; + else + newFocusString += "/Default"; + } + else + newFocusString += "/Default"; focusStrings.push_back(newFocusString); } // squads should be last because it's the only one not exclusive with the others? or something? diff --git a/library/xml b/library/xml index e7134f51e..dc4f837f3 160000 --- a/library/xml +++ b/library/xml @@ -1 +1 @@ -Subproject commit e7134f51ea1da848a2c37c7d410e996a5b66c526 +Subproject commit dc4f837f34309ca44b94534c89db0886475c6651 diff --git a/scripts b/scripts index a51727e51..7e08fb131 160000 --- a/scripts +++ b/scripts @@ -1 +1 @@ -Subproject commit a51727e519a26f1e903605921cb903fec78726e5 +Subproject commit 7e08fb13144e802315c89d826890df3a46155907