mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-10-23 00:53:02 -05:00
sceSaveDataSetParam dropped the params, and sceSaveDataGetParam and sceSaveDataDirNameSearch returned zeros, so a title that checks the params of the save it found took its profile for a new one and rewrote it with defaults on every boot. The params now live in a <directory>.param sidecar next to the save directory, written by SetParam (mtime refreshed) and returned by GetParam and by the directory search, with the directory's write time when no param was stored yet. The mount point is /savedata<N>, as on the console: a title read its profile through /host//_sm/0/Profile when the mount point had another shape, and that path does not exist. The module logs the first three calls of each entry point, like the core module; APS5_SAVEDATA_TRACE lifts the limit. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
29 lines
1.0 KiB
C++
29 lines
1.0 KiB
C++
#ifndef CORE_LIBS_PRX_LIBC_INCLUDE_GENERAL_HPP
|
|
#define CORE_LIBS_PRX_LIBC_INCLUDE_GENERAL_HPP
|
|
|
|
#include <stdexcept>
|
|
#include <filesystem>
|
|
|
|
#include "general/LogMacros.hpp"
|
|
#include "general/VabiMacros.hpp"
|
|
#include "general/ExportMacros.hpp"
|
|
|
|
extern "C" void NotImplemented_nid_no_patch(const char* funcName);
|
|
extern "C" void CxaFinalize_nid_no_patch(void* dsoHandle);
|
|
|
|
extern "C" std::filesystem::path ResolvePath_nid_no_patch(const char* path);
|
|
// Guest path aliases: a guest prefix such as "/savedata0" (a save-data mount point) resolves to a host
|
|
// directory instead of the run directory; the prefix matches whole path components only.
|
|
extern "C" void AddPathAlias_nid_no_patch(const char* guestPrefix, const char* hostPath);
|
|
extern "C" void RemovePathAlias_nid_no_patch(const char* guestPrefix);
|
|
|
|
#define APS5_INVALID_ARG_EX throw std::invalid_argument(std::string(__func__) + ": invalid argument")
|
|
|
|
#define APS5_DUMMY_FUN \
|
|
int DummyFunction_nid_no_patch() { \
|
|
NotImplemented_nid_no_patch(__func__); \
|
|
return 0; \
|
|
}
|
|
|
|
#endif
|