diff --git a/src/filein/src/module_loader.cpp b/src/filein/src/module_loader.cpp index 2e4b9265ccfae07aabf08bdd8555b74f1014f70c..847cec505fe5c3956c878321827d58d95133f888 100644 --- a/src/filein/src/module_loader.cpp +++ b/src/filein/src/module_loader.cpp @@ -471,10 +471,14 @@ boost::json::array create_STD_matrix(const connector_ptr &connector, bool &is_id { using enum side; case x_pos: // in reality x_neg, switched due to opposite shoe y-axis in the editor - rotation = glm::quat(1.0f, glm::vec3(0.0f)); + rotation = connector->getType(true) == connector_type::rotation + ? glm::quat(1.0f, glm::vec3(0.0f)) + : glm::angleAxis(glm::radians(180.0f), enum_to_vec(y_pos)); break; case x_neg: // in reality x_pos, switched due to opposite shoe y-axis in the editor - rotation = glm::angleAxis(glm::radians(180.0f), enum_to_vec(y_pos)); + rotation = connector->getType(true) == connector_type::rotation + ? glm::angleAxis(glm::radians(180.0f), enum_to_vec(y_pos)) + : glm::quat(1.0f, glm::vec3(0.0f)); break; case z_neg: rotation = glm::angleAxis(glm::radians(180.0f), enum_to_vec(z_pos)) * glm::angleAxis(glm::radians(90.0f), enum_to_vec(y_neg));