From 3d5a11ae5a7211aedee2ad46687880b7c2acd5bb Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Sat, 28 Mar 2026 20:59:47 +0000 Subject: [PATCH 1/2] Allow entities with a description to be selected on science/ops --- src/screenComponents/targetsContainer.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/screenComponents/targetsContainer.cpp b/src/screenComponents/targetsContainer.cpp index d5c0608764..77d37dff41 100644 --- a/src/screenComponents/targetsContainer.cpp +++ b/src/screenComponents/targetsContainer.cpp @@ -204,6 +204,7 @@ bool TargetsContainer::isValidTarget(sp::ecs::Entity entity, ESelectionType sele case Selectable: if (entity.hasComponent()) return true; if (entity.getComponent()) return true; + if (entity.getComponent()) return true; if (entity.getComponent()) return true; break; case Targetable: From 5b65e98d12205b83796868ccc0ae3f92335ccb2a Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Sat, 28 Mar 2026 21:23:04 +0000 Subject: [PATCH 2/2] Use sp::TransformQuery::queryArea instead of CollisionSystem::queryArea where sensible --- src/screenComponents/radarView.cpp | 2 +- src/screenComponents/targetsContainer.cpp | 2 +- src/screens/gm/gameMasterScreen.cpp | 2 +- src/screens/spectatorScreen.cpp | 2 +- src/script.cpp | 4 ++-- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/screenComponents/radarView.cpp b/src/screenComponents/radarView.cpp index def1c8912d..aa5297b1be 100644 --- a/src/screenComponents/radarView.cpp +++ b/src/screenComponents/radarView.cpp @@ -714,7 +714,7 @@ void GuiRadarView::drawObjects(sp::RenderTarget& renderer) // For each of those objects, check if it is at least partially // inside the revealed radius. If so, reveal the object on the map. - for(auto entity2 : sp::CollisionSystem::queryArea(position - glm::vec2(r, r), position + glm::vec2(r, r))) + for(auto entity2 : sp::TransformQuery::queryArea(position - glm::vec2(r, r), position + glm::vec2(r, r))) { //TODO: This isn't great, as not everything will collision attached... auto trace = entity2.getComponent(); diff --git a/src/screenComponents/targetsContainer.cpp b/src/screenComponents/targetsContainer.cpp index 77d37dff41..303a6aa822 100644 --- a/src/screenComponents/targetsContainer.cpp +++ b/src/screenComponents/targetsContainer.cpp @@ -65,7 +65,7 @@ void TargetsContainer::setToClosestTo(glm::vec2 position, float max_range, ESele { sp::ecs::Entity target; glm::vec2 target_position; - for(auto entity : sp::CollisionSystem::queryArea(position - glm::vec2(max_range, max_range), position + glm::vec2(max_range, max_range))) + for(auto entity : sp::TransformQuery::queryArea(position - glm::vec2(max_range, max_range), position + glm::vec2(max_range, max_range))) { auto transform = entity.getComponent(); if (!transform) continue; diff --git a/src/screens/gm/gameMasterScreen.cpp b/src/screens/gm/gameMasterScreen.cpp index d990b1b234..1ae3651274 100644 --- a/src/screens/gm/gameMasterScreen.cpp +++ b/src/screens/gm/gameMasterScreen.cpp @@ -689,7 +689,7 @@ void GameMasterScreen::onMouseUp(glm::vec2 position) sp::ecs::Entity target; glm::vec2 target_position; - for (auto entity : sp::CollisionSystem::queryArea(position, position)) + for (auto entity : sp::TransformQuery::queryArea(position, position)) { auto transform = entity.getComponent(); if (!transform) continue; diff --git a/src/screens/spectatorScreen.cpp b/src/screens/spectatorScreen.cpp index 7fc181244e..058dff2d57 100644 --- a/src/screens/spectatorScreen.cpp +++ b/src/screens/spectatorScreen.cpp @@ -345,7 +345,7 @@ void SpectatorScreen::onMouseUp(glm::vec2 position) glm::vec2 target_position; - for (auto entity : sp::CollisionSystem::queryArea(position - (glm::vec2{300.0f, 300.0f} * main_radar->getDistance() / LONG_RANGE_DISTANCE), position + (glm::vec2{300.0f, 300.0f} * main_radar->getDistance() / LONG_RANGE_DISTANCE))) + for (auto entity : sp::TransformQuery::queryArea(position - (glm::vec2{300.0f, 300.0f} * main_radar->getDistance() / LONG_RANGE_DISTANCE), position + (glm::vec2{300.0f, 300.0f} * main_radar->getDistance() / LONG_RANGE_DISTANCE))) { if (auto transform = entity.getComponent()) { diff --git a/src/script.cpp b/src/script.cpp index 027d644542..e6f82dd710 100644 --- a/src/script.cpp +++ b/src/script.cpp @@ -426,7 +426,7 @@ static int luaGetObjectsInRadius(lua_State* L) glm::vec2 position(x, y); lua_newtable(L); int idx = 1; - for(auto entity : sp::CollisionSystem::queryArea(position - glm::vec2(r, r), position + glm::vec2(r, r))) { + for(auto entity : sp::TransformQuery::queryArea(position - glm::vec2(r, r), position + glm::vec2(r, r))) { auto entity_transform = entity.getComponent(); if (entity_transform) { if (glm::length2(entity_transform->getPosition() - position) < r*r) { @@ -448,7 +448,7 @@ static int luaGetEnemiesInRadiusFor(lua_State* L) auto source_transform = source.getComponent(); if (!source_transform) return 1; auto position = source_transform->getPosition(); - for(auto entity : sp::CollisionSystem::queryArea(position - glm::vec2(r, r), position + glm::vec2(r, r))) { + for(auto entity : sp::TransformQuery::queryArea(position - glm::vec2(r, r), position + glm::vec2(r, r))) { auto entity_transform = entity.getComponent(); if (entity_transform) { if (glm::length2(entity_transform->getPosition() - position) < r*r) {