mirror of
https://github.com/mkxp-z/mkxp-z.git
synced 2025-08-23 15:23:44 +02:00
Serialize the path of the currently playing movie in libretro builds
This commit is contained in:
parent
1b0757c5db
commit
057b6dc95d
3 changed files with 10 additions and 0 deletions
|
@ -118,6 +118,14 @@ template <> bool mkxp_sandbox::sandbox_serialize(double value, void *&data, wasm
|
|||
return true;
|
||||
}
|
||||
|
||||
template <> bool mkxp_sandbox::sandbox_serialize(const char *value, void *&data, wasm_size_t &max_size) {
|
||||
wasm_size_t size = std::strlen(value) + 1;
|
||||
RESERVE(size);
|
||||
std::memcpy(data, value, size);
|
||||
ADVANCE(size);
|
||||
return true;
|
||||
}
|
||||
|
||||
template <> bool mkxp_sandbox::sandbox_serialize(const std::string &value, void *&data, wasm_size_t &max_size) {
|
||||
wasm_size_t size = value.length() + 1;
|
||||
RESERVE(size);
|
||||
|
|
|
@ -40,6 +40,7 @@ namespace mkxp_sandbox {
|
|||
template <typename T> typename std::enable_if<!std::is_same<T, bool>::value && !std::is_enum<T>::value && (std::is_integral<T>::value || std::is_floating_point<T>::value), bool>::type sandbox_serialize(T value, void *&data, wasm_size_t &max_size);
|
||||
template <typename T> bool sandbox_serialize(const std::vector<T> &value, void *&data, wasm_size_t &max_size);
|
||||
template <typename T> bool sandbox_serialize(const QuadArray<T> &value, void *&data, wasm_size_t &max_size);
|
||||
template <typename T> typename std::enable_if<std::is_same<T, char>::value, bool>::type sandbox_serialize(const T *value, void *&data, wasm_size_t &max_size);
|
||||
template <typename T> typename std::enable_if<std::is_class<T>::value, bool>::type sandbox_serialize(const T *value, void *&data, wasm_size_t &max_size);
|
||||
template <typename T> typename std::enable_if<std::is_class<T>::value && boost::is_detected<sandbox_serialize_member_declaration, T>::value, bool>::type sandbox_serialize(const T &value, void *&data, wasm_size_t &max_size);
|
||||
template <typename T> typename std::enable_if<std::is_class<T>::value && !boost::is_detected<sandbox_serialize_member_declaration, T>::value, bool>::type sandbox_serialize(const T &value, void *&data, wasm_size_t &max_size);
|
||||
|
|
|
@ -575,6 +575,7 @@ struct Movie
|
|||
if (baseTicks != (uint64_t)-1) {
|
||||
if (!mkxp_sandbox::sandbox_serialize(baseTicks, data, max_size)) return false;
|
||||
if (!mkxp_sandbox::sandbox_serialize(currentTicks, data, max_size)) return false;
|
||||
if (!mkxp_sandbox::sandbox_serialize(srcOps->path(), data, max_size)) return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
|
|
Loading…
Add table
Reference in a new issue