Now fix the things

This commit is contained in:
jordan4ibanez 2023-11-28 06:38:24 -05:00
parent b23353943f
commit d7b5caa2b2

View File

@ -79,7 +79,7 @@ std::string buildVectorError(std::string key, int index, int width) {
/** /**
* Returns success. * Returns (success, failure reason).
*/ */
std::tuple<bool, std::string> grabVec2f(json data, std::string key, irr::core::vector2df& refVec) { std::tuple<bool, std::string> grabVec2f(json data, std::string key, irr::core::vector2df& refVec) {
@ -111,7 +111,7 @@ std::tuple<bool, std::string> grabVec2f(json data, std::string key, irr::core::v
} }
/** /**
* Returns success. * Returns (success, failure reason).
*/ */
std::tuple<bool, std::string> grabVec3f(json data, std::string key, irr::core::vector3df& refVec) { std::tuple<bool, std::string> grabVec3f(json data, std::string key, irr::core::vector3df& refVec) {
@ -146,7 +146,7 @@ std::tuple<bool, std::string> grabVec3f(json data, std::string key, irr::core::v
} }
/** /**
* Returns success. * Returns (success, failure reason).
*/ */
std::tuple<bool, std::string> grabQuaternionf(json data, std::string key, irr::core::quaternion& refQuat) { std::tuple<bool, std::string> grabQuaternionf(json data, std::string key, irr::core::quaternion& refQuat) {
if (data.contains(key) && data[key].is_array() && data[key].size() == 4) { if (data.contains(key) && data[key].is_array() && data[key].size() == 4) {
@ -181,26 +181,29 @@ std::tuple<bool, std::string> grabQuaternionf(json data, std::string key, irr::c
} }
// Returns success. // Returns (success, failure reason).
bool parseNode(json data, SMeshBuffer* meshBuffer) { std::tuple<bool, std::string> parseNode(json data, SMeshBuffer* meshBuffer) {
auto position = irr::core::vector3df{0,0,0}; auto position = irr::core::vector3df{0,0,0};
auto scale = irr::core::vector3df{1,1,1}; auto scale = irr::core::vector3df{1,1,1};
auto rotation = irr::core::quaternion{0,0,0,1}; auto rotation = irr::core::quaternion{0,0,0,1};
if (grabVec3f(data, "position", position)) { auto positionResult = grabVec3f(data, "position", position);
return false; if (!std::get<0>(positionResult)) {
return {false, std::get<1>(positionResult)};
} }
if (grabVec3f(data, "scale", scale)) { auto scaleResult = grabVec3f(data, "scale", scale);
return false; if (!std::get<0>(scaleResult)) {
return {false, std::get<1>(scaleResult)};
} }
if (grabQuaternionf(data, "rotation", rotation)) { auto rotationResult = grabQuaternionf(data, "rotation", rotation);
return false; if (!std::get<0>(rotationResult)) {
return {false, std::get<1>(rotationResult)};
} }
return true; return {true, nullptr};
} }
/** /**