From e36e4fa1c16cdf9f0398a43e2be09ba8efb49daa Mon Sep 17 00:00:00 2001 From: Japa Illo Date: Wed, 5 Apr 2017 15:35:48 +0530 Subject: [PATCH] Support archery target rotation in RemoteFortressReader --- .../remotefortressreader/building_reader.cpp | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/plugins/remotefortressreader/building_reader.cpp b/plugins/remotefortressreader/building_reader.cpp index 5d1ce6ffa..4e31e0360 100644 --- a/plugins/remotefortressreader/building_reader.cpp +++ b/plugins/remotefortressreader/building_reader.cpp @@ -1,6 +1,7 @@ #include "building_reader.h" #include "DataDefs.h" +#include "df/building_archerytargetst.h" #include "df/building_axle_horizontalst.h" #include "df/building_bridgest.h" #include "df/building_def_furnacest.h" @@ -389,6 +390,30 @@ void CopyBuilding(int buildingIndex, RemoteFortressReader::BuildingInstance * re case df::enums::building_type::Support: break; case df::enums::building_type::ArcheryTarget: + { + auto actual = strict_virtual_cast(local_build); + if (actual) + { + auto facing = actual->archery_direction; + switch (facing) + { + case df::building_archerytargetst::TopToBottom: + remote_build->set_direction(NORTH); + break; + case df::building_archerytargetst::BottomToTop: + remote_build->set_direction(SOUTH); + break; + case df::building_archerytargetst::LeftToRight: + remote_build->set_direction(WEST); + break; + case df::building_archerytargetst::RightToLeft: + remote_build->set_direction(EAST); + break; + default: + break; + } + } + } break; case df::enums::building_type::Chain: break;