#include "util/cereal.hpp" #include #include "Utilities/StrFmt.h" #include "Emu/RSX/RSXThread.h" #include "Emu/RSX/Capture/rsx_capture.h" #ifndef _MSC_VER #pragma GCC diagnostic ignored "-Weffc++" #endif #include "cereal/archives/binary.hpp" #include #include #include #include #include #include #include namespace cereal { [[noreturn]] void throw_exception(const std::string& err) { fmt::throw_exception("%s", err); } [[noreturn]] void throw_exception(const char* err) { fmt::throw_exception("%s", err); } } template <> std::string cereal_serialize(const rsx::frame_capture_data& data) { std::ostringstream os; cereal::BinaryOutputArchive archive(os); archive(data); return os.str(); } template <> void cereal_deserialize(rsx::frame_capture_data& data, const std::string& src) { std::istringstream is(src); cereal::BinaryInputArchive archive(is); archive(data); }