From 19137aaeecfb4beed5048128b1c78138e1cd2a4d Mon Sep 17 00:00:00 2001 From: Malte Langkabel Date: Thu, 20 Aug 2026 10:32:00 +0200 Subject: [PATCH] drop removeBuilding, which nothing has called for a while A public mutator that erased a building with no refund and no deconstruction queue, documented as being "used for deaths". Nothing calls it: stations and the HQ became ECS entities, so a death releases its tiles through unregisterTileOccupancy instead, and every player-driven removal goes through deconstruct. Worth removing rather than leaving inert -- it was a way to take a building out of the world that skipped the refund and the queue, sitting in public view on the class whose whole job is that lifecycle. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01Ne3mejABZoLWKLh8fgpM3x --- src/lib/sim/BuildingSystem.cpp | 21 --------------------- src/lib/sim/BuildingSystem.h | 4 ---- 2 files changed, 25 deletions(-) diff --git a/src/lib/sim/BuildingSystem.cpp b/src/lib/sim/BuildingSystem.cpp index a308d71..693e0f1 100644 --- a/src/lib/sim/BuildingSystem.cpp +++ b/src/lib/sim/BuildingSystem.cpp @@ -403,27 +403,6 @@ BuildingId BuildingSystem::placeImmediate(FactoryState& state, BuildingType type return id; } -bool BuildingSystem::removeBuilding(FactoryState& state, BuildingId id) -{ - for (std::vector::iterator it = state.buildings.begin(); - it != state.buildings.end(); - ++it) - { - if (it->id == id) - { - if (it->type == BuildingType::Belt || it->type == BuildingType::Splitter - || it->type == BuildingType::TunnelEntry || it->type == BuildingType::TunnelExit) - { - m_belts.removeTile(it->anchor); - } - state.grid.release(it->bodyCells); - state.buildings.erase(it); - return true; - } - } - return false; -} - void BuildingSystem::forEachBuilding(FactoryState& state, std::function fn) { for (Building& b : state.buildings) diff --git a/src/lib/sim/BuildingSystem.h b/src/lib/sim/BuildingSystem.h index dee248d..7025397 100644 --- a/src/lib/sim/BuildingSystem.h +++ b/src/lib/sim/BuildingSystem.h @@ -112,10 +112,6 @@ public: const std::vector& surfaceMask, QPoint anchor, Rotation rotation); - // Remove an operational building by id without refund (used for deaths). - // Returns true if found and removed. - bool removeBuilding(FactoryState& state, BuildingId id); - // Mutable iteration over all operational buildings. void forEachBuilding(FactoryState& state, std::function fn);