From 48fd7dba0104e3be6f031dc57aa7c9df42f2b109 Mon Sep 17 00:00:00 2001 From: Kelly Kinkade Date: Mon, 17 Nov 2025 13:31:37 -0600 Subject: [PATCH] update RFR for changes to siegeengines for compatibility with DFHack/df-structures#860 --- docs/changelog.txt | 1 + library/xml | 2 +- .../remotefortressreader/building_reader.cpp | 25 ++++++++++++++----- .../proto/RemoteFortressReader.proto | 6 ++++- 4 files changed, 26 insertions(+), 8 deletions(-) diff --git a/docs/changelog.txt b/docs/changelog.txt index 7d5a3e6db3..dfdce58d2b 100644 --- a/docs/changelog.txt +++ b/docs/changelog.txt @@ -60,6 +60,7 @@ Template for new versions: ## Fixes - `buildingplan`: Bolt throwers will no longer be constructed using populated bins. +- `RemoteFortressReader`: updated siege engine facing enums for new diagonal directions - `suspendmanager`: treat reinforced walls as a blocking construction and buildable platform ## Misc Improvements diff --git a/library/xml b/library/xml index 7ba825f763..33bb9b6c08 160000 --- a/library/xml +++ b/library/xml @@ -1 +1 @@ -Subproject commit 7ba825f763f414d90314d4e5b6d4563d8389a98a +Subproject commit 33bb9b6c08c661ef30b9bcc4ae652ec2e09bbd8f diff --git a/plugins/remotefortressreader/building_reader.cpp b/plugins/remotefortressreader/building_reader.cpp index ebf0359afd..62475ce1aa 100644 --- a/plugins/remotefortressreader/building_reader.cpp +++ b/plugins/remotefortressreader/building_reader.cpp @@ -560,18 +560,31 @@ void CopyBuilding(int buildingIndex, RemoteFortressReader::BuildingInstance * re auto facing = actual->facing; switch (facing) { - case df::building_siegeenginest::Left: - remote_build->set_direction(WEST); - break; - case df::building_siegeenginest::Up: + using enum df::enums::siegeengine_orientation::siegeengine_orientation; + case North: remote_build->set_direction(NORTH); break; - case df::building_siegeenginest::Right: + case Northeast: + remote_build->set_direction(NORTHEAST); + break; + case East: remote_build->set_direction(EAST); break; - case df::building_siegeenginest::Down: + case Southeast: + remote_build->set_direction(SOUTHEAST); + break; + case South: remote_build->set_direction(SOUTH); break; + case Southwest: + remote_build->set_direction(SOUTHWEST); + break; + case West: + remote_build->set_direction(WEST); + break; + case Northwest: + remote_build->set_direction(NORTHWEST); + break; default: break; } diff --git a/plugins/remotefortressreader/proto/RemoteFortressReader.proto b/plugins/remotefortressreader/proto/RemoteFortressReader.proto index a092a12097..b7dc7bdc88 100644 --- a/plugins/remotefortressreader/proto/RemoteFortressReader.proto +++ b/plugins/remotefortressreader/proto/RemoteFortressReader.proto @@ -141,7 +141,11 @@ enum BuildingDirection EAST = 1; SOUTH = 2; WEST = 3; - NONE = 4; + NORTHEAST = 4; + SOUTHEAST = 5; + SOUTHWEST = 6; + NORTHWEST = 7; + NONE = 8; } enum TileDigDesignation