From 514da4a2aecdbd5e033ce90c78e9dba0847f9be7 Mon Sep 17 00:00:00 2001 From: SilasD Date: Sun, 27 Jul 2025 10:45:41 -0700 Subject: [PATCH 1/3] pedestal.lua bad handling of .displayed_items. --- internal/caravan/pedestal.lua | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/internal/caravan/pedestal.lua b/internal/caravan/pedestal.lua index 363160093a..5e469c6815 100644 --- a/internal/caravan/pedestal.lua +++ b/internal/caravan/pedestal.lua @@ -599,8 +599,8 @@ end local function unassign_item(bld, item) if not bld then return end - local _, found, idx = utils.binsearch(bld.displayed_items, item.id) - if found then + local idx, _ = utils.linear_index(bld.displayed_items, item.id) + if idx then bld.displayed_items:erase(idx) end end @@ -628,7 +628,7 @@ local function attach_item(item, display_bld) local ref = df.new(df.general_ref_building_display_furniturest) ref.building_id = display_bld.id item.general_refs:insert('#', ref) - utils.insert_sorted(display_bld.displayed_items, item.id) + display_bld.displayed_items:insert('#', item.id) item.flags.forbid = false item.flags.in_building = false end From 842e82e261d47f881e32405d1b087a03577fa121 Mon Sep 17 00:00:00 2001 From: SilasD Date: Sun, 27 Jul 2025 12:00:03 -0700 Subject: [PATCH 2/3] pedestal.lua clear .in_building flag on unassign --- internal/caravan/pedestal.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/internal/caravan/pedestal.lua b/internal/caravan/pedestal.lua index 5e469c6815..dab100ef48 100644 --- a/internal/caravan/pedestal.lua +++ b/internal/caravan/pedestal.lua @@ -602,6 +602,7 @@ local function unassign_item(bld, item) local idx, _ = utils.linear_index(bld.displayed_items, item.id) if idx then bld.displayed_items:erase(idx) + item.flags.in_building = false end end From e4ac14bd29b1fd5de26612aa16be40f4ba3ecc48 Mon Sep 17 00:00:00 2001 From: SilasD Date: Tue, 19 Aug 2025 09:05:10 -0700 Subject: [PATCH 3/3] changelog.txt update --- changelog.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/changelog.txt b/changelog.txt index a5a7b06f0f..c25345a07a 100644 --- a/changelog.txt +++ b/changelog.txt @@ -46,6 +46,8 @@ Template for new versions: - `confirm`: the pause option now pauses individual confirmation types, allowing multiple different confirmations to be paused independently - `immortal-cravings`: prioritize high-value meals, properly split of portions, and don't go eating or drinking on a full stomach - `uniform-unstick`: no longer causes units to equip multiples of assigned items +- `caravan`: in the pedestal item assignment dialog, add new items at the end of the list of displayed items instead of at a random position +- `caravan`: in the pedestal item assignment dialog, consistently remove items from the list of displayed items ## Misc Improvements - `devel/hello-world`: updated to show off the new Slider widget