summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2023-04-10 10:31:49 +0200
committerStanislaw Halik <sthalik@misaki.pl>2023-04-10 10:35:00 +0200
commit10e5f3713cabab03da741743b43a4c7d98954500 (patch)
tree1ca133d0c0211047ebbad19266a395d02c1001d7
parent67d14b5b23d19f143fb6bb69334f3741ae113b6c (diff)
serialize: less include fmtlib
-rw-r--r--serialize/anim.cpp1
-rw-r--r--serialize/magnum-vector2i.cpp9
-rw-r--r--serialize/magnum-vector2i.hpp5
-rw-r--r--serialize/tile-atlas.cpp1
4 files changed, 14 insertions, 2 deletions
diff --git a/serialize/anim.cpp b/serialize/anim.cpp
index 99cc8dc5..8d8bc2bb 100644
--- a/serialize/anim.cpp
+++ b/serialize/anim.cpp
@@ -2,6 +2,7 @@
#include "serialize/magnum-vector2i.hpp"
#include "serialize/corrade-string.hpp"
#include "serialize/anim.hpp"
+#include "compat/exception.hpp"
#include <tuple>
namespace floormat {
diff --git a/serialize/magnum-vector2i.cpp b/serialize/magnum-vector2i.cpp
new file mode 100644
index 00000000..215253f2
--- /dev/null
+++ b/serialize/magnum-vector2i.cpp
@@ -0,0 +1,9 @@
+#include "magnum-vector2i.hpp"
+#include "compat/exception.hpp"
+
+using namespace floormat;
+
+void floormat::Serialize::throw_failed_to_parse_vector2(const std::string& str)
+{
+ fm_throw("failed to parse Vector2 '{}'"_cf, str);
+}
diff --git a/serialize/magnum-vector2i.hpp b/serialize/magnum-vector2i.hpp
index aa2c3939..5f313920 100644
--- a/serialize/magnum-vector2i.hpp
+++ b/serialize/magnum-vector2i.hpp
@@ -1,10 +1,11 @@
#pragma once
-#include "compat/exception.hpp"
#include <cstdio>
#include <string>
#include <Magnum/Math/Vector2.h>
#include <nlohmann/json.hpp>
+namespace floormat::Serialize { [[noreturn]] void throw_failed_to_parse_vector2(const std::string& str); }
+
namespace nlohmann {
template<typename t>
@@ -29,7 +30,7 @@ struct adl_serializer<Magnum::Math::Vector2<t>> final
int n = 0;
int ret = std::sscanf(str.data(), format_string, &x, &y, &n);
if (ret != 2 || (size_t)n != str.size() || x != (t)x || y != (t)y)
- fm_throw("failed to parse Vector2 '{}'"_cf, str);
+ floormat::Serialize::throw_failed_to_parse_vector2(str);
val = { (t)x, (t)y };
}
};
diff --git a/serialize/tile-atlas.cpp b/serialize/tile-atlas.cpp
index 29a456dc..57958d63 100644
--- a/serialize/tile-atlas.cpp
+++ b/serialize/tile-atlas.cpp
@@ -4,6 +4,7 @@
#include "serialize/magnum-vector2i.hpp"
#include "loader/loader.hpp"
#include "serialize/pass-mode.hpp"
+#include "compat/exception.hpp"
#include <Corrade/Containers/Optional.h>
#include <Corrade/Containers/String.h>
#include <nlohmann/json.hpp>