diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index c36c026fc..3da7163dd 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -390,7 +390,7 @@ jobs:
- name: Cache CMake Configuration
uses: actions/cache@v4
env:
- cache-name: ${{ runner.os }}-sdl-cache-cmake-configuration
+ cache-name: ${{ runner.os }}-sdl-gcc-cache-cmake-configuration
with:
path: |
${{github.workspace}}/build
@@ -401,7 +401,7 @@ jobs:
- name: Cache CMake Build
uses: hendrikmuhs/ccache-action@v1.2.14
env:
- cache-name: ${{ runner.os }}-sdl-cache-cmake-build
+ cache-name: ${{ runner.os }}-sdl-gcc-cache-cmake-build
with:
append-timestamp: false
key: ${{ env.cache-name }}-${{ hashFiles('**/CMakeLists.txt', 'cmake/**') }}
@@ -426,7 +426,7 @@ jobs:
- name: Cache CMake Configuration
uses: actions/cache@v4
env:
- cache-name: ${{ runner.os }}-qt-cache-cmake-configuration
+ cache-name: ${{ runner.os }}-qt-gcc-cache-cmake-configuration
with:
path: |
${{github.workspace}}/build
@@ -437,7 +437,7 @@ jobs:
- name: Cache CMake Build
uses: hendrikmuhs/ccache-action@v1.2.14
env:
- cache-name: ${{ runner.os }}-qt-cache-cmake-build
+ cache-name: ${{ runner.os }}-qt-gcc-cache-cmake-build
with:
append-timestamp: false
key: ${{ env.cache-name }}-${{ hashFiles('**/CMakeLists.txt', 'cmake/**') }}
diff --git a/CMakeLists.txt b/CMakeLists.txt
index cad5407de..d7d123088 100755
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -250,10 +250,14 @@ set(KERNEL_LIB src/core/libraries/kernel/sync/mutex.cpp
src/core/libraries/kernel/time.h
src/core/libraries/kernel/orbis_error.h
src/core/libraries/kernel/posix_error.h
+ src/core/libraries/kernel/aio.cpp
+ src/core/libraries/kernel/aio.h
)
set(NETWORK_LIBS src/core/libraries/network/http.cpp
src/core/libraries/network/http.h
+ src/core/libraries/network/http2.cpp
+ src/core/libraries/network/http2.h
src/core/libraries/network/net.cpp
src/core/libraries/network/netctl.cpp
src/core/libraries/network/netctl.h
@@ -263,6 +267,8 @@ set(NETWORK_LIBS src/core/libraries/network/http.cpp
src/core/libraries/network/net.h
src/core/libraries/network/ssl.cpp
src/core/libraries/network/ssl.h
+ src/core/libraries/network/ssl2.cpp
+ src/core/libraries/network/ssl2.h
)
set(AVPLAYER_LIB src/core/libraries/avplayer/avplayer_common.cpp
@@ -415,7 +421,9 @@ set(VDEC_LIB src/core/libraries/videodec/videodec2_impl.cpp
src/core/libraries/videodec/videodec_impl.h
)
-set(NP_LIBS src/core/libraries/np_manager/np_manager.cpp
+set(NP_LIBS src/core/libraries/np_common/np_common.cpp
+ src/core/libraries/np_common/np_common.h
+ src/core/libraries/np_manager/np_manager.cpp
src/core/libraries/np_manager/np_manager.h
src/core/libraries/np_score/np_score.cpp
src/core/libraries/np_score/np_score.h
@@ -424,6 +432,8 @@ set(NP_LIBS src/core/libraries/np_manager/np_manager.cpp
src/core/libraries/np_trophy/trophy_ui.cpp
src/core/libraries/np_trophy/trophy_ui.h
src/core/libraries/np_trophy/np_trophy_error.h
+ src/core/libraries/np_web_api/np_web_api.cpp
+ src/core/libraries/np_web_api/np_web_api.h
)
set(MISC_LIBS src/core/libraries/screenshot/screenshot.cpp
diff --git a/dist/net.shadps4.shadPS4.metainfo.xml b/dist/net.shadps4.shadPS4.metainfo.xml
index 384cf75e8..d8f51baac 100644
--- a/dist/net.shadps4.shadPS4.metainfo.xml
+++ b/dist/net.shadps4.shadPS4.metainfo.xml
@@ -26,7 +26,7 @@
https://cdn.jsdelivr.net/gh/shadps4-emu/shadps4@main/documents/Screenshots/3.png
- Yakuza Kiwami
+ Yakuza 0
https://cdn.jsdelivr.net/gh/shadps4-emu/shadps4@main/documents/Screenshots/4.png
diff --git a/externals/sdl3 b/externals/sdl3
index 3a1d76d29..22422f774 160000
--- a/externals/sdl3
+++ b/externals/sdl3
@@ -1 +1 @@
-Subproject commit 3a1d76d298db023f6cf37fb08ee766f20a4e12ab
+Subproject commit 22422f7748d5128135995ed34c8f8012861c7332
diff --git a/src/common/config.cpp b/src/common/config.cpp
index ea46a5492..029ada62d 100644
--- a/src/common/config.cpp
+++ b/src/common/config.cpp
@@ -61,9 +61,10 @@ static u32 vblankDivider = 1;
static bool vkValidation = false;
static bool vkValidationSync = false;
static bool vkValidationGpu = false;
-static bool rdocEnable = false;
-static bool vkMarkers = false;
static bool vkCrashDiagnostic = false;
+static bool vkHostMarkers = false;
+static bool vkGuestMarkers = false;
+static bool rdocEnable = false;
static s16 cursorState = HideCursorState::Idle;
static int cursorHideTimeout = 5; // 5 seconds (default)
static bool separateupdatefolder = false;
@@ -72,6 +73,7 @@ static bool checkCompatibilityOnStartup = false;
static std::string trophyKey;
// Gui
+static bool load_game_size = true;
std::vector settings_install_dirs = {};
std::filesystem::path settings_addon_install_dir = {};
u32 main_window_geometry_x = 400;
@@ -102,6 +104,14 @@ void setTrophyKey(std::string key) {
trophyKey = key;
}
+bool GetLoadGameSizeEnabled() {
+ return load_game_size;
+}
+
+void setLoadGameSizeEnabled(bool enable) {
+ load_game_size = enable;
+}
+
bool isNeoModeConsole() {
return isNeo;
}
@@ -218,10 +228,6 @@ bool isRdocEnabled() {
return rdocEnable;
}
-bool isMarkersEnabled() {
- return vkMarkers;
-}
-
u32 vblankDiv() {
return vblankDivider;
}
@@ -238,14 +244,20 @@ bool vkValidationGpuEnabled() {
return vkValidationGpu;
}
-bool vkMarkersEnabled() {
- return vkMarkers || vkCrashDiagnostic; // Crash diagnostic forces markers on
-}
-
bool vkCrashDiagnosticEnabled() {
return vkCrashDiagnostic;
}
+bool vkHostMarkersEnabled() {
+ // Forced on when crash diagnostic enabled.
+ return vkHostMarkers || vkCrashDiagnostic;
+}
+
+bool vkGuestMarkersEnabled() {
+ // Forced on when crash diagnostic enabled.
+ return vkGuestMarkers || vkCrashDiagnostic;
+}
+
bool getSeparateUpdateEnabled() {
return separateupdatefolder;
}
@@ -635,9 +647,10 @@ void load(const std::filesystem::path& path) {
vkValidation = toml::find_or(vk, "validation", false);
vkValidationSync = toml::find_or(vk, "validation_sync", false);
vkValidationGpu = toml::find_or(vk, "validation_gpu", true);
- rdocEnable = toml::find_or(vk, "rdocEnable", false);
- vkMarkers = toml::find_or(vk, "rdocMarkersEnable", false);
vkCrashDiagnostic = toml::find_or(vk, "crashDiagnostic", false);
+ vkHostMarkers = toml::find_or(vk, "hostMarkers", false);
+ vkGuestMarkers = toml::find_or(vk, "guestMarkers", false);
+ rdocEnable = toml::find_or(vk, "rdocEnable", false);
}
if (data.contains("Debug")) {
@@ -650,6 +663,7 @@ void load(const std::filesystem::path& path) {
if (data.contains("GUI")) {
const toml::value& gui = data.at("GUI");
+ load_game_size = toml::find_or(gui, "loadGameSizeEnabled", true);
m_icon_size = toml::find_or(gui, "iconSize", 0);
m_icon_size_grid = toml::find_or(gui, "iconSizeGrid", 0);
m_slider_pos = toml::find_or(gui, "sliderPos", 0);
@@ -742,9 +756,10 @@ void save(const std::filesystem::path& path) {
data["Vulkan"]["validation"] = vkValidation;
data["Vulkan"]["validation_sync"] = vkValidationSync;
data["Vulkan"]["validation_gpu"] = vkValidationGpu;
- data["Vulkan"]["rdocEnable"] = rdocEnable;
- data["Vulkan"]["rdocMarkersEnable"] = vkMarkers;
data["Vulkan"]["crashDiagnostic"] = vkCrashDiagnostic;
+ data["Vulkan"]["hostMarkers"] = vkHostMarkers;
+ data["Vulkan"]["guestMarkers"] = vkGuestMarkers;
+ data["Vulkan"]["rdocEnable"] = rdocEnable;
data["Debug"]["DebugDump"] = isDebugDump;
data["Debug"]["CollectShader"] = isShaderDebug;
@@ -755,6 +770,7 @@ void save(const std::filesystem::path& path) {
install_dirs.emplace_back(std::string{fmt::UTF(dirString.u8string()).data});
}
data["GUI"]["installDirs"] = install_dirs;
+ data["GUI"]["loadGameSizeEnabled"] = load_game_size;
data["GUI"]["addonInstallDir"] =
std::string{fmt::UTF(settings_addon_install_dir.u8string()).data};
@@ -841,9 +857,10 @@ void setDefaultValues() {
vkValidation = false;
vkValidationSync = false;
vkValidationGpu = false;
- rdocEnable = false;
- vkMarkers = false;
vkCrashDiagnostic = false;
+ vkHostMarkers = false;
+ vkGuestMarkers = false;
+ rdocEnable = false;
emulator_language = "en";
m_language = 1;
gpuId = -1;
diff --git a/src/common/config.h b/src/common/config.h
index 2a86eaa89..dcbb2c073 100644
--- a/src/common/config.h
+++ b/src/common/config.h
@@ -17,6 +17,8 @@ void saveMainWindow(const std::filesystem::path& path);
std::string getTrophyKey();
void setTrophyKey(std::string key);
+bool GetLoadGameSizeEnabled();
+void setLoadGameSizeEnabled(bool enable);
bool getIsFullscreen();
std::string getFullscreenMode();
bool isNeoModeConsole();
@@ -98,8 +100,9 @@ void setRdocEnabled(bool enable);
bool vkValidationEnabled();
bool vkValidationSyncEnabled();
bool vkValidationGpuEnabled();
-bool vkMarkersEnabled();
bool vkCrashDiagnosticEnabled();
+bool vkHostMarkersEnabled();
+bool vkGuestMarkersEnabled();
// Gui
void setMainWindowGeometry(u32 x, u32 y, u32 w, u32 h);
diff --git a/src/common/logging/filter.cpp b/src/common/logging/filter.cpp
index 5ee2dce73..168d03948 100644
--- a/src/common/logging/filter.cpp
+++ b/src/common/logging/filter.cpp
@@ -95,12 +95,16 @@ bool ParseFilterRule(Filter& instance, Iterator begin, Iterator end) {
SUB(Lib, SaveData) \
SUB(Lib, SaveDataDialog) \
SUB(Lib, Http) \
+ SUB(Lib, Http2) \
SUB(Lib, Ssl) \
+ SUB(Lib, Ssl2) \
SUB(Lib, SysModule) \
SUB(Lib, Move) \
+ SUB(Lib, NpCommon) \
SUB(Lib, NpManager) \
SUB(Lib, NpScore) \
SUB(Lib, NpTrophy) \
+ SUB(Lib, NpWebApi) \
SUB(Lib, Screenshot) \
SUB(Lib, LibCInternal) \
SUB(Lib, AppContent) \
diff --git a/src/common/logging/types.h b/src/common/logging/types.h
index 6829e2d1b..4ca88e1be 100644
--- a/src/common/logging/types.h
+++ b/src/common/logging/types.h
@@ -63,11 +63,15 @@ enum class Class : u8 {
Lib_SaveData, ///< The LibSceSaveData implementation.
Lib_SaveDataDialog, ///< The LibSceSaveDataDialog implementation.
Lib_Ssl, ///< The LibSceSsl implementation.
+ Lib_Ssl2, ///< The LibSceSsl2 implementation.
Lib_Http, ///< The LibSceHttp implementation.
+ Lib_Http2, ///< The LibSceHttp2 implementation.
Lib_SysModule, ///< The LibSceSysModule implementation
+ Lib_NpCommon, ///< The LibSceNpCommon implementation
Lib_NpManager, ///< The LibSceNpManager implementation
Lib_NpScore, ///< The LibSceNpScore implementation
Lib_NpTrophy, ///< The LibSceNpTrophy implementation
+ Lib_NpWebApi, ///< The LibSceWebApi implementation
Lib_Screenshot, ///< The LibSceScreenshot implementation
Lib_LibCInternal, ///< The LibCInternal implementation.
Lib_AppContent, ///< The LibSceAppContent implementation.
diff --git a/src/common/thread.h b/src/common/thread.h
index 175ba9445..92cc0c59d 100644
--- a/src/common/thread.h
+++ b/src/common/thread.h
@@ -37,6 +37,10 @@ public:
void Start();
void End();
+
+ std::chrono::nanoseconds GetTotalWait() const {
+ return total_wait;
+ }
};
} // namespace Common
diff --git a/src/core/debug_state.h b/src/core/debug_state.h
index 6a8e15baa..a9e6f48b7 100644
--- a/src/core/debug_state.h
+++ b/src/core/debug_state.h
@@ -131,6 +131,8 @@ class DebugStateImpl {
friend class Core::Devtools::Widget::FrameGraph;
friend class Core::Devtools::Widget::ShaderList;
+ bool showing_debug_menu_bar = false;
+
std::queue debug_message_popup;
std::mutex guest_threads_mutex{};
@@ -153,6 +155,9 @@ class DebugStateImpl {
std::vector shader_dump_list{};
public:
+ float Framerate = 1.0f / 60.0f;
+ float FrameDeltaTime;
+
void ShowDebugMessage(std::string message) {
if (message.empty()) {
return;
@@ -160,6 +165,10 @@ public:
debug_message_popup.push(std::move(message));
}
+ bool& IsShowingDebugMenuBar() {
+ return showing_debug_menu_bar;
+ }
+
void AddCurrentThreadToGuestList();
void RemoveCurrentThreadFromGuestList();
diff --git a/src/core/devtools/layer.cpp b/src/core/devtools/layer.cpp
index 776f3377d..c652849e7 100644
--- a/src/core/devtools/layer.cpp
+++ b/src/core/devtools/layer.cpp
@@ -28,7 +28,6 @@ static bool show_simple_fps = false;
static bool visibility_toggled = false;
static float fps_scale = 1.0f;
-static bool show_advanced_debug = false;
static int dump_frame_count = 1;
static Widget::FrameGraph frame_graph;
@@ -253,8 +252,8 @@ void L::DrawAdvanced() {
}
void L::DrawSimple() {
- const auto io = GetIO();
- Text("%.1f FPS (%.2f ms)", io.Framerate, 1000.0f / io.Framerate);
+ const float frameRate = DebugState.Framerate;
+ Text("%d FPS (%.1f ms)", static_cast(std::round(frameRate)), 1000.0f / frameRate);
}
static void LoadSettings(const char* line) {
@@ -265,7 +264,7 @@ static void LoadSettings(const char* line) {
return;
}
if (sscanf(line, "show_advanced_debug=%d", &i) == 1) {
- show_advanced_debug = i != 0;
+ DebugState.IsShowingDebugMenuBar() = i != 0;
return;
}
if (sscanf(line, "show_frame_graph=%d", &i) == 1) {
@@ -310,7 +309,7 @@ void L::SetupSettings() {
handler.WriteAllFn = [](ImGuiContext*, ImGuiSettingsHandler* handler, ImGuiTextBuffer* buf) {
buf->appendf("[%s][Data]\n", handler->TypeName);
buf->appendf("fps_scale=%f\n", fps_scale);
- buf->appendf("show_advanced_debug=%d\n", show_advanced_debug);
+ buf->appendf("show_advanced_debug=%d\n", DebugState.IsShowingDebugMenuBar());
buf->appendf("show_frame_graph=%d\n", frame_graph.is_open);
buf->appendf("dump_frame_count=%d\n", dump_frame_count);
buf->append("\n");
@@ -336,12 +335,12 @@ void L::Draw() {
if (!DebugState.IsGuestThreadsPaused()) {
const auto fn = DebugState.flip_frame_count.load();
- frame_graph.AddFrame(fn, io.DeltaTime);
+ frame_graph.AddFrame(fn, DebugState.FrameDeltaTime);
}
if (IsKeyPressed(ImGuiKey_F10, false)) {
if (io.KeyCtrl) {
- show_advanced_debug = !show_advanced_debug;
+ DebugState.IsShowingDebugMenuBar() ^= true;
} else {
show_simple_fps = !show_simple_fps;
}
@@ -376,7 +375,7 @@ void L::Draw() {
End();
}
- if (show_advanced_debug) {
+ if (DebugState.IsShowingDebugMenuBar()) {
PushFont(io.Fonts->Fonts[IMGUI_FONT_MONO]);
PushID("DevtoolsLayer");
DrawAdvanced();
diff --git a/src/core/devtools/widget/frame_graph.cpp b/src/core/devtools/widget/frame_graph.cpp
index 0e170db38..d93de571a 100644
--- a/src/core/devtools/widget/frame_graph.cpp
+++ b/src/core/devtools/widget/frame_graph.cpp
@@ -83,15 +83,13 @@ void FrameGraph::Draw() {
auto isSystemPaused = DebugState.IsGuestThreadsPaused();
- static float deltaTime;
- static float frameRate;
-
if (!isSystemPaused) {
- deltaTime = io.DeltaTime * 1000.0f;
+ deltaTime = DebugState.FrameDeltaTime * 1000.0f;
frameRate = 1000.0f / deltaTime;
}
Text("Frame time: %.3f ms (%.1f FPS)", deltaTime, frameRate);
+ Text("Presenter time: %.3f ms (%.1f FPS)", io.DeltaTime * 1000.0f, 1.0f / io.DeltaTime);
Text("Flip frame: %d Gnm submit frame: %d", DebugState.flip_frame_count.load(),
DebugState.gnm_frame_count.load());
diff --git a/src/core/devtools/widget/frame_graph.h b/src/core/devtools/widget/frame_graph.h
index 40a68ffa7..aef3c0747 100644
--- a/src/core/devtools/widget/frame_graph.h
+++ b/src/core/devtools/widget/frame_graph.h
@@ -16,6 +16,9 @@ class FrameGraph {
std::array frame_list{};
+ float deltaTime{};
+ float frameRate{};
+
void DrawFrameGraph();
public:
diff --git a/src/core/devtools/widget/reg_popup.cpp b/src/core/devtools/widget/reg_popup.cpp
index fae620901..7bb38df24 100644
--- a/src/core/devtools/widget/reg_popup.cpp
+++ b/src/core/devtools/widget/reg_popup.cpp
@@ -105,7 +105,8 @@ void RegPopup::DrawDepthBuffer(const DepthBuffer& depth_data) {
"DEPTH_SLICE.TILE_MAX", depth_buffer.depth_slice.tile_max,
"Pitch()", depth_buffer.Pitch(),
"Height()", depth_buffer.Height(),
- "Address()", depth_buffer.Address(),
+ "DepthAddress()", depth_buffer.DepthAddress(),
+ "StencilAddress()", depth_buffer.StencilAddress(),
"NumSamples()", depth_buffer.NumSamples(),
"NumBits()", depth_buffer.NumBits(),
"GetDepthSliceSize()", depth_buffer.GetDepthSliceSize()
diff --git a/src/core/devtools/widget/reg_view.cpp b/src/core/devtools/widget/reg_view.cpp
index a1b7937df..fa3c5e3e6 100644
--- a/src/core/devtools/widget/reg_view.cpp
+++ b/src/core/devtools/widget/reg_view.cpp
@@ -155,7 +155,7 @@ void RegView::DrawGraphicsRegs() {
TableNextColumn();
TextUnformatted("Depth buffer");
TableNextColumn();
- if (regs.depth_buffer.Address() == 0 || !regs.depth_control.depth_enable) {
+ if (regs.depth_buffer.DepthAddress() == 0 || !regs.depth_control.depth_enable) {
TextUnformatted("N/A");
} else {
const char* text = last_selected_cb == depth_id && default_reg_popup.open ? "x" : "->";
@@ -241,7 +241,7 @@ void RegView::SetData(DebugStateType::RegDump _data, const std::string& base_tit
default_reg_popup.open = false;
if (last_selected_cb == depth_id) {
const auto& has_depth =
- regs.depth_buffer.Address() != 0 && regs.depth_control.depth_enable;
+ regs.depth_buffer.DepthAddress() != 0 && regs.depth_control.depth_enable;
if (has_depth) {
default_reg_popup.SetData(title, regs.depth_buffer, regs.depth_control);
default_reg_popup.open = true;
diff --git a/src/core/libraries/kernel/aio.cpp b/src/core/libraries/kernel/aio.cpp
new file mode 100644
index 000000000..e017010cb
--- /dev/null
+++ b/src/core/libraries/kernel/aio.cpp
@@ -0,0 +1,339 @@
+// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include
+
+#include "aio.h"
+#include "common/assert.h"
+#include "common/debug.h"
+#include "common/logging/log.h"
+#include "core/libraries/kernel/equeue.h"
+#include "core/libraries/kernel/orbis_error.h"
+#include "core/libraries/libs.h"
+#include "file_system.h"
+
+namespace Libraries::Kernel {
+
+#define MAX_QUEUE 512
+
+static s32* id_state;
+static s32 id_index;
+
+s32 sceKernelAioInitializeImpl(void* p, s32 size) {
+
+ return 0;
+}
+
+s32 PS4_SYSV_ABI sceKernelAioDeleteRequest(OrbisKernelAioSubmitId id, s32* ret) {
+ if (ret == nullptr) {
+ return ORBIS_KERNEL_ERROR_EFAULT;
+ }
+ id_state[id] = ORBIS_KERNEL_AIO_STATE_ABORTED;
+ *ret = 0;
+ return 0;
+}
+
+s32 PS4_SYSV_ABI sceKernelAioDeleteRequests(OrbisKernelAioSubmitId id[], s32 num, s32 ret[]) {
+ if (ret == nullptr) {
+ return ORBIS_KERNEL_ERROR_EFAULT;
+ }
+ for (s32 i = 0; i < num; i++) {
+ id_state[id[i]] = ORBIS_KERNEL_AIO_STATE_ABORTED;
+ ret[i] = 0;
+ }
+
+ return 0;
+}
+s32 PS4_SYSV_ABI sceKernelAioPollRequest(OrbisKernelAioSubmitId id, s32* state) {
+ if (state == nullptr) {
+ return ORBIS_KERNEL_ERROR_EFAULT;
+ }
+ *state = id_state[id];
+ return 0;
+}
+
+s32 PS4_SYSV_ABI sceKernelAioPollRequests(OrbisKernelAioSubmitId id[], s32 num, s32 state[]) {
+ if (state == nullptr) {
+ return ORBIS_KERNEL_ERROR_EFAULT;
+ }
+ for (s32 i = 0; i < num; i++) {
+ state[i] = id_state[id[i]];
+ }
+
+ return 0;
+}
+
+s32 PS4_SYSV_ABI sceKernelAioCancelRequest(OrbisKernelAioSubmitId id, s32* state) {
+ if (state == nullptr) {
+ return ORBIS_KERNEL_ERROR_EFAULT;
+ }
+ if (id) {
+ id_state[id] = ORBIS_KERNEL_AIO_STATE_ABORTED;
+ *state = ORBIS_KERNEL_AIO_STATE_ABORTED;
+ } else {
+ *state = ORBIS_KERNEL_AIO_STATE_PROCESSING;
+ }
+ return 0;
+}
+
+s32 PS4_SYSV_ABI sceKernelAioCancelRequests(OrbisKernelAioSubmitId id[], s32 num, s32 state[]) {
+ if (state == nullptr) {
+ return ORBIS_KERNEL_ERROR_EFAULT;
+ }
+ for (s32 i = 0; i < num; i++) {
+ if (id[i]) {
+ id_state[id[i]] = ORBIS_KERNEL_AIO_STATE_ABORTED;
+ state[i] = ORBIS_KERNEL_AIO_STATE_ABORTED;
+ } else {
+ state[i] = ORBIS_KERNEL_AIO_STATE_PROCESSING;
+ }
+ }
+
+ return 0;
+}
+
+s32 PS4_SYSV_ABI sceKernelAioWaitRequest(OrbisKernelAioSubmitId id, s32* state, u32* usec) {
+ if (state == nullptr) {
+ return ORBIS_KERNEL_ERROR_EFAULT;
+ }
+ u32 timer = 0;
+
+ s32 timeout = 0;
+
+ while (id_state[id] == ORBIS_KERNEL_AIO_STATE_PROCESSING) {
+ sceKernelUsleep(10);
+
+ timer += 10;
+ if (*usec) {
+ if (timer > *usec) {
+ timeout = 1;
+ break;
+ }
+ }
+ }
+
+ *state = id_state[id];
+
+ if (timeout)
+ return ORBIS_KERNEL_ERROR_ETIMEDOUT;
+ return 0;
+}
+
+s32 PS4_SYSV_ABI sceKernelAioWaitRequests(OrbisKernelAioSubmitId id[], s32 num, s32 state[],
+ u32 mode, u32* usec) {
+ if (state == nullptr) {
+ return ORBIS_KERNEL_ERROR_EFAULT;
+ }
+ u32 timer = 0;
+ s32 timeout = 0;
+ s32 completion = 0;
+
+ for (s32 i = 0; i < num; i++) {
+ if (!completion && !timeout) {
+ while (id_state[id[i]] == ORBIS_KERNEL_AIO_STATE_PROCESSING) {
+ sceKernelUsleep(10);
+ timer += 10;
+
+ if (*usec) {
+ if (timer > *usec) {
+ timeout = 1;
+ break;
+ }
+ }
+ }
+ }
+
+ if (mode == 0x02) {
+ if (id_state[id[i]] == ORBIS_KERNEL_AIO_STATE_COMPLETED)
+ completion = 1;
+ }
+
+ state[i] = id_state[id[i]];
+ }
+
+ if (timeout)
+ return ORBIS_KERNEL_ERROR_ETIMEDOUT;
+
+ return 0;
+}
+
+s32 PS4_SYSV_ABI sceKernelAioSubmitReadCommands(OrbisKernelAioRWRequest req[], s32 size, s32 prio,
+ OrbisKernelAioSubmitId* id) {
+ if (req == nullptr) {
+ return ORBIS_KERNEL_ERROR_EFAULT;
+ }
+ if (id == nullptr) {
+ return ORBIS_KERNEL_ERROR_EFAULT;
+ }
+ id_state[id_index] = ORBIS_KERNEL_AIO_STATE_PROCESSING;
+
+ for (s32 i = 0; i < size; i++) {
+
+ s64 ret = sceKernelPread(req[i].fd, req[i].buf, req[i].nbyte, req[i].offset);
+
+ if (ret < 0) {
+ req[i].result->state = ORBIS_KERNEL_AIO_STATE_ABORTED;
+ req[i].result->returnValue = ret;
+
+ } else {
+ req[i].result->state = ORBIS_KERNEL_AIO_STATE_COMPLETED;
+ req[i].result->returnValue = ret;
+ }
+ }
+
+ id_state[id_index] = ORBIS_KERNEL_AIO_STATE_COMPLETED;
+
+ *id = id_index;
+
+ id_index = (id_index + 1) % MAX_QUEUE;
+
+ if (!id_index)
+ id_index++;
+
+ return 0;
+}
+
+s32 PS4_SYSV_ABI sceKernelAioSubmitReadCommandsMultiple(OrbisKernelAioRWRequest req[], s32 size,
+ s32 prio, OrbisKernelAioSubmitId id[]) {
+ if (req == nullptr) {
+ return ORBIS_KERNEL_ERROR_EFAULT;
+ }
+ if (id == nullptr) {
+ return ORBIS_KERNEL_ERROR_EFAULT;
+ }
+ for (s32 i = 0; i < size; i++) {
+ id_state[id_index] = ORBIS_KERNEL_AIO_STATE_PROCESSING;
+
+ s64 ret = sceKernelPread(req[i].fd, req[i].buf, req[i].nbyte, req[i].offset);
+
+ if (ret < 0) {
+ req[i].result->state = ORBIS_KERNEL_AIO_STATE_ABORTED;
+ req[i].result->returnValue = ret;
+
+ id_state[id_index] = ORBIS_KERNEL_AIO_STATE_ABORTED;
+
+ } else {
+ req[i].result->state = ORBIS_KERNEL_AIO_STATE_COMPLETED;
+ req[i].result->returnValue = ret;
+
+ id_state[id_index] = ORBIS_KERNEL_AIO_STATE_COMPLETED;
+ }
+
+ id[i] = id_index;
+
+ id_index = (id_index + 1) % MAX_QUEUE;
+
+ if (!id_index)
+ id_index++;
+ }
+
+ return 0;
+}
+
+s32 PS4_SYSV_ABI sceKernelAioSubmitWriteCommands(OrbisKernelAioRWRequest req[], s32 size, s32 prio,
+ OrbisKernelAioSubmitId* id) {
+ if (req == nullptr) {
+ return ORBIS_KERNEL_ERROR_EFAULT;
+ }
+ if (id == nullptr) {
+ return ORBIS_KERNEL_ERROR_EFAULT;
+ }
+ for (s32 i = 0; i < size; i++) {
+ id_state[id_index] = ORBIS_KERNEL_AIO_STATE_PROCESSING;
+
+ s64 ret = sceKernelPwrite(req[i].fd, req[i].buf, req[i].nbyte, req[i].offset);
+
+ if (ret < 0) {
+ req[i].result->state = ORBIS_KERNEL_AIO_STATE_ABORTED;
+ req[i].result->returnValue = ret;
+
+ id_state[id_index] = ORBIS_KERNEL_AIO_STATE_ABORTED;
+
+ } else {
+ req[i].result->state = ORBIS_KERNEL_AIO_STATE_COMPLETED;
+ req[i].result->returnValue = ret;
+
+ id_state[id_index] = ORBIS_KERNEL_AIO_STATE_COMPLETED;
+ }
+ }
+
+ *id = id_index;
+
+ id_index = (id_index + 1) % MAX_QUEUE;
+
+ // skip id_index equals 0 , because sceKernelAioCancelRequest will submit id
+ // equal to 0
+ if (!id_index)
+ id_index++;
+
+ return 0;
+}
+
+s32 PS4_SYSV_ABI sceKernelAioSubmitWriteCommandsMultiple(OrbisKernelAioRWRequest req[], s32 size,
+ s32 prio, OrbisKernelAioSubmitId id[]) {
+ if (req == nullptr) {
+ return ORBIS_KERNEL_ERROR_EFAULT;
+ }
+ if (id == nullptr) {
+ return ORBIS_KERNEL_ERROR_EFAULT;
+ }
+ for (s32 i = 0; i < size; i++) {
+ id_state[id_index] = ORBIS_KERNEL_AIO_STATE_PROCESSING;
+ s64 ret = sceKernelPwrite(req[i].fd, req[i].buf, req[i].nbyte, req[i].offset);
+
+ if (ret < 0) {
+ req[i].result->state = ORBIS_KERNEL_AIO_STATE_ABORTED;
+ req[i].result->returnValue = ret;
+
+ id_state[id_index] = ORBIS_KERNEL_AIO_STATE_ABORTED;
+
+ } else {
+ req[i].result->state = ORBIS_KERNEL_AIO_STATE_COMPLETED;
+ req[i].result->returnValue = ret;
+ id_state[id_index] = ORBIS_KERNEL_AIO_STATE_COMPLETED;
+ }
+
+ id[i] = id_index;
+ id_index = (id_index + 1) % MAX_QUEUE;
+
+ if (!id_index)
+ id_index++;
+ }
+ return 0;
+}
+
+s32 PS4_SYSV_ABI sceKernelAioSetParam() {
+ LOG_ERROR(Kernel, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI sceKernelAioInitializeParam() {
+ LOG_ERROR(Kernel, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+void RegisterAio(Core::Loader::SymbolsResolver* sym) {
+ id_index = 1;
+ id_state = (int*)malloc(sizeof(int) * MAX_QUEUE);
+ memset(id_state, 0, sizeof(sizeof(int) * MAX_QUEUE));
+
+ LIB_FUNCTION("fR521KIGgb8", "libkernel", 1, "libkernel", 1, 1, sceKernelAioCancelRequest);
+ LIB_FUNCTION("3Lca1XBrQdY", "libkernel", 1, "libkernel", 1, 1, sceKernelAioCancelRequests);
+ LIB_FUNCTION("5TgME6AYty4", "libkernel", 1, "libkernel", 1, 1, sceKernelAioDeleteRequest);
+ LIB_FUNCTION("Ft3EtsZzAoY", "libkernel", 1, "libkernel", 1, 1, sceKernelAioDeleteRequests);
+ LIB_FUNCTION("vYU8P9Td2Zo", "libkernel", 1, "libkernel", 1, 1, sceKernelAioInitializeImpl);
+ LIB_FUNCTION("nu4a0-arQis", "libkernel", 1, "libkernel", 1, 1, sceKernelAioInitializeParam);
+ LIB_FUNCTION("2pOuoWoCxdk", "libkernel", 1, "libkernel", 1, 1, sceKernelAioPollRequest);
+ LIB_FUNCTION("o7O4z3jwKzo", "libkernel", 1, "libkernel", 1, 1, sceKernelAioPollRequests);
+ LIB_FUNCTION("9WK-vhNXimw", "libkernel", 1, "libkernel", 1, 1, sceKernelAioSetParam);
+ LIB_FUNCTION("HgX7+AORI58", "libkernel", 1, "libkernel", 1, 1, sceKernelAioSubmitReadCommands);
+ LIB_FUNCTION("lXT0m3P-vs4", "libkernel", 1, "libkernel", 1, 1,
+ sceKernelAioSubmitReadCommandsMultiple);
+ LIB_FUNCTION("XQ8C8y+de+E", "libkernel", 1, "libkernel", 1, 1, sceKernelAioSubmitWriteCommands);
+ LIB_FUNCTION("xT3Cpz0yh6Y", "libkernel", 1, "libkernel", 1, 1,
+ sceKernelAioSubmitWriteCommandsMultiple);
+ LIB_FUNCTION("KOF-oJbQVvc", "libkernel", 1, "libkernel", 1, 1, sceKernelAioWaitRequest);
+ LIB_FUNCTION("lgK+oIWkJyA", "libkernel", 1, "libkernel", 1, 1, sceKernelAioWaitRequests);
+}
+
+} // namespace Libraries::Kernel
\ No newline at end of file
diff --git a/src/core/libraries/kernel/aio.h b/src/core/libraries/kernel/aio.h
new file mode 100644
index 000000000..0ad21e938
--- /dev/null
+++ b/src/core/libraries/kernel/aio.h
@@ -0,0 +1,43 @@
+// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include
+#include
+#include
+#include
+#include
+
+#include "common/types.h"
+
+namespace Core::Loader {
+class SymbolsResolver;
+}
+
+namespace Libraries::Kernel {
+
+enum AioState {
+ ORBIS_KERNEL_AIO_STATE_SUBMITTED = 1,
+ ORBIS_KERNEL_AIO_STATE_PROCESSING = 2,
+ ORBIS_KERNEL_AIO_STATE_COMPLETED = 3,
+ ORBIS_KERNEL_AIO_STATE_ABORTED = 4
+};
+
+struct OrbisKernelAioResult {
+ s64 returnValue;
+ u32 state;
+};
+
+typedef s32 OrbisKernelAioSubmitId;
+
+struct OrbisKernelAioRWRequest {
+ s64 offset;
+ s64 nbyte;
+ void* buf;
+ OrbisKernelAioResult* result;
+ s32 fd;
+};
+
+void RegisterAio(Core::Loader::SymbolsResolver* sym);
+} // namespace Libraries::Kernel
\ No newline at end of file
diff --git a/src/core/libraries/kernel/file_system.h b/src/core/libraries/kernel/file_system.h
index 6443962ff..1838df2fe 100644
--- a/src/core/libraries/kernel/file_system.h
+++ b/src/core/libraries/kernel/file_system.h
@@ -67,7 +67,8 @@ constexpr int ORBIS_KERNEL_O_DIRECTORY = 0x00020000;
s64 PS4_SYSV_ABI sceKernelWrite(int d, const void* buf, size_t nbytes);
s64 PS4_SYSV_ABI sceKernelRead(int d, void* buf, size_t nbytes);
-
+s64 PS4_SYSV_ABI sceKernelPread(int d, void* buf, size_t nbytes, s64 offset);
+s64 PS4_SYSV_ABI sceKernelPwrite(int d, void* buf, size_t nbytes, s64 offset);
void RegisterFileSystem(Core::Loader::SymbolsResolver* sym);
} // namespace Libraries::Kernel
diff --git a/src/core/libraries/kernel/kernel.cpp b/src/core/libraries/kernel/kernel.cpp
index b05c96fad..a9d04ca38 100644
--- a/src/core/libraries/kernel/kernel.cpp
+++ b/src/core/libraries/kernel/kernel.cpp
@@ -28,6 +28,7 @@
#include
#endif
#include
+#include "aio.h"
namespace Libraries::Kernel {
@@ -218,6 +219,7 @@ void RegisterKernel(Core::Loader::SymbolsResolver* sym) {
Libraries::Kernel::RegisterEventQueue(sym);
Libraries::Kernel::RegisterProcess(sym);
Libraries::Kernel::RegisterException(sym);
+ Libraries::Kernel::RegisterAio(sym);
LIB_OBJ("f7uOxY9mM1U", "libkernel", 1, "libkernel", 1, 1, &g_stack_chk_guard);
LIB_FUNCTION("PfccT7qURYE", "libkernel", 1, "libkernel", 1, 1, kernel_ioctl);
diff --git a/src/core/libraries/kernel/threads/condvar.cpp b/src/core/libraries/kernel/threads/condvar.cpp
index 853526559..0b0545ace 100644
--- a/src/core/libraries/kernel/threads/condvar.cpp
+++ b/src/core/libraries/kernel/threads/condvar.cpp
@@ -339,6 +339,8 @@ int PS4_SYSV_ABI posix_pthread_condattr_setpshared(PthreadCondAttrT* attr, int p
void RegisterCond(Core::Loader::SymbolsResolver* sym) {
// Posix
LIB_FUNCTION("mKoTx03HRWA", "libScePosix", 1, "libkernel", 1, 1, posix_pthread_condattr_init);
+ LIB_FUNCTION("dJcuQVn6-Iw", "libScePosix", 1, "libkernel", 1, 1,
+ posix_pthread_condattr_destroy);
LIB_FUNCTION("0TyVk4MSLt0", "libScePosix", 1, "libkernel", 1, 1, posix_pthread_cond_init);
LIB_FUNCTION("2MOy+rUfuhQ", "libScePosix", 1, "libkernel", 1, 1, posix_pthread_cond_signal);
LIB_FUNCTION("RXXqi4CtF8w", "libScePosix", 1, "libkernel", 1, 1, posix_pthread_cond_destroy);
@@ -347,8 +349,11 @@ void RegisterCond(Core::Loader::SymbolsResolver* sym) {
LIB_FUNCTION("mkx2fVhNMsg", "libScePosix", 1, "libkernel", 1, 1, posix_pthread_cond_broadcast);
// Posix-Kernel
+ LIB_FUNCTION("0TyVk4MSLt0", "libkernel", 1, "libkernel", 1, 1, posix_pthread_cond_init);
LIB_FUNCTION("Op8TBGY5KHg", "libkernel", 1, "libkernel", 1, 1, posix_pthread_cond_wait);
LIB_FUNCTION("mkx2fVhNMsg", "libkernel", 1, "libkernel", 1, 1, posix_pthread_cond_broadcast);
+ LIB_FUNCTION("mKoTx03HRWA", "libkernel", 1, "libkernel", 1, 1, posix_pthread_condattr_init);
+ LIB_FUNCTION("dJcuQVn6-Iw", "libkernel", 1, "libkernel", 1, 1, posix_pthread_condattr_destroy);
// Orbis
LIB_FUNCTION("2Tb92quprl0", "libkernel", 1, "libkernel", 1, 1, ORBIS(scePthreadCondInit));
diff --git a/src/core/libraries/kernel/threads/exception.cpp b/src/core/libraries/kernel/threads/exception.cpp
index cc391e928..5e2f35d69 100644
--- a/src/core/libraries/kernel/threads/exception.cpp
+++ b/src/core/libraries/kernel/threads/exception.cpp
@@ -153,6 +153,11 @@ int PS4_SYSV_ABI sceKernelDebugRaiseException() {
return 0;
}
+int PS4_SYSV_ABI sceKernelDebugRaiseExceptionOnReleaseMode() {
+ UNREACHABLE();
+ return 0;
+}
+
void RegisterException(Core::Loader::SymbolsResolver* sym) {
LIB_FUNCTION("il03nluKfMk", "libkernel_unity", 1, "libkernel", 1, 1, sceKernelRaiseException);
LIB_FUNCTION("WkwEd3N7w0Y", "libkernel_unity", 1, "libkernel", 1, 1,
@@ -160,6 +165,8 @@ void RegisterException(Core::Loader::SymbolsResolver* sym) {
LIB_FUNCTION("Qhv5ARAoOEc", "libkernel_unity", 1, "libkernel", 1, 1,
sceKernelRemoveExceptionHandler)
LIB_FUNCTION("OMDRKKAZ8I4", "libkernel", 1, "libkernel", 1, 1, sceKernelDebugRaiseException);
+ LIB_FUNCTION("zE-wXIZjLoM", "libkernel", 1, "libkernel", 1, 1,
+ sceKernelDebugRaiseExceptionOnReleaseMode);
}
} // namespace Libraries::Kernel
diff --git a/src/core/libraries/kernel/threads/mutex.cpp b/src/core/libraries/kernel/threads/mutex.cpp
index 4f11e32da..956e5ef65 100644
--- a/src/core/libraries/kernel/threads/mutex.cpp
+++ b/src/core/libraries/kernel/threads/mutex.cpp
@@ -438,8 +438,11 @@ void RegisterMutex(Core::Loader::SymbolsResolver* sym) {
LIB_FUNCTION("K-jXhbt2gn4", "libScePosix", 1, "libkernel", 1, 1, posix_pthread_mutex_trylock);
// Posix-Kernel
+ LIB_FUNCTION("ttHNfU+qDBU", "libkernel", 1, "libkernel", 1, 1, posix_pthread_mutex_init);
LIB_FUNCTION("7H0iTOciTLo", "libkernel", 1, "libkernel", 1, 1, posix_pthread_mutex_lock);
LIB_FUNCTION("2Z+PpY6CaJg", "libkernel", 1, "libkernel", 1, 1, posix_pthread_mutex_unlock);
+ LIB_FUNCTION("dQHWEsJtoE4", "libkernel", 1, "libkernel", 1, 1, posix_pthread_mutexattr_init);
+ LIB_FUNCTION("mDmgMOGVUqg", "libkernel", 1, "libkernel", 1, 1, posix_pthread_mutexattr_settype);
// Orbis
LIB_FUNCTION("cmo1RIYva9o", "libkernel", 1, "libkernel", 1, 1, ORBIS(scePthreadMutexInit));
diff --git a/src/core/libraries/kernel/threads/pthread.cpp b/src/core/libraries/kernel/threads/pthread.cpp
index e81207a0d..641fbe10d 100644
--- a/src/core/libraries/kernel/threads/pthread.cpp
+++ b/src/core/libraries/kernel/threads/pthread.cpp
@@ -386,6 +386,9 @@ int PS4_SYSV_ABI posix_sched_get_priority_min() {
}
int PS4_SYSV_ABI posix_pthread_rename_np(PthreadT thread, const char* name) {
+ if (thread == nullptr) {
+ return POSIX_EINVAL;
+ }
LOG_INFO(Kernel_Pthread, "name = {}", name);
Common::SetThreadName(reinterpret_cast(thread->native_thr.GetHandle()), name);
thread->name = name;
@@ -535,6 +538,7 @@ void RegisterThread(Core::Loader::SymbolsResolver* sym) {
LIB_FUNCTION("6XG4B33N09g", "libScePosix", 1, "libkernel", 1, 1, sched_yield);
// Posix-Kernel
+ LIB_FUNCTION("Z4QosVuAsA0", "libkernel", 1, "libkernel", 1, 1, posix_pthread_once);
LIB_FUNCTION("EotR8a3ASf4", "libkernel", 1, "libkernel", 1, 1, posix_pthread_self);
LIB_FUNCTION("OxhIB8LB-PQ", "libkernel", 1, "libkernel", 1, 1, posix_pthread_create);
diff --git a/src/core/libraries/kernel/time.h b/src/core/libraries/kernel/time.h
index 6aa281aaf..407b6f9ed 100644
--- a/src/core/libraries/kernel/time.h
+++ b/src/core/libraries/kernel/time.h
@@ -82,6 +82,7 @@ int PS4_SYSV_ABI sceKernelConvertLocaltimeToUtc(time_t param_1, int64_t param_2,
int PS4_SYSV_ABI sceKernelConvertUtcToLocaltime(time_t time, time_t* local_time, OrbisTimesec* st,
u64* dst_sec);
+int PS4_SYSV_ABI sceKernelUsleep(u32 microseconds);
void RegisterTime(Core::Loader::SymbolsResolver* sym);
diff --git a/src/core/libraries/libs.cpp b/src/core/libraries/libs.cpp
index 69728e523..6dc455028 100644
--- a/src/core/libraries/libs.cpp
+++ b/src/core/libraries/libs.cpp
@@ -21,12 +21,16 @@
#include "core/libraries/mouse/mouse.h"
#include "core/libraries/move/move.h"
#include "core/libraries/network/http.h"
+#include "core/libraries/network/http2.h"
#include "core/libraries/network/net.h"
#include "core/libraries/network/netctl.h"
#include "core/libraries/network/ssl.h"
+#include "core/libraries/network/ssl2.h"
+#include "core/libraries/np_common/np_common.h"
#include "core/libraries/np_manager/np_manager.h"
#include "core/libraries/np_score/np_score.h"
#include "core/libraries/np_trophy/np_trophy.h"
+#include "core/libraries/np_web_api/np_web_api.h"
#include "core/libraries/pad/pad.h"
#include "core/libraries/playgo/playgo.h"
#include "core/libraries/playgo/playgo_dialog.h"
@@ -64,17 +68,21 @@ void InitHLELibs(Core::Loader::SymbolsResolver* sym) {
Libraries::MsgDialog::RegisterlibSceMsgDialog(sym);
Libraries::AudioOut::RegisterlibSceAudioOut(sym);
Libraries::Http::RegisterlibSceHttp(sym);
+ Libraries::Http2::RegisterlibSceHttp2(sym);
Libraries::Net::RegisterlibSceNet(sym);
Libraries::NetCtl::RegisterlibSceNetCtl(sym);
Libraries::SaveData::RegisterlibSceSaveData(sym);
Libraries::SaveData::Dialog::RegisterlibSceSaveDataDialog(sym);
Libraries::Ssl::RegisterlibSceSsl(sym);
+ Libraries::Ssl2::RegisterlibSceSsl2(sym);
Libraries::SysModule::RegisterlibSceSysmodule(sym);
Libraries::Posix::Registerlibsceposix(sym);
Libraries::AudioIn::RegisterlibSceAudioIn(sym);
+ Libraries::NpCommon::RegisterlibSceNpCommon(sym);
Libraries::NpManager::RegisterlibSceNpManager(sym);
Libraries::NpScore::RegisterlibSceNpScore(sym);
Libraries::NpTrophy::RegisterlibSceNpTrophy(sym);
+ Libraries::NpWebApi::RegisterlibSceNpWebApi(sym);
Libraries::ScreenShot::RegisterlibSceScreenShot(sym);
Libraries::AppContent::RegisterlibSceAppContent(sym);
Libraries::PngDec::RegisterlibScePngDec(sym);
diff --git a/src/core/libraries/network/http2.cpp b/src/core/libraries/network/http2.cpp
new file mode 100644
index 000000000..52f73edc6
--- /dev/null
+++ b/src/core/libraries/network/http2.cpp
@@ -0,0 +1,360 @@
+// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "common/logging/log.h"
+#include "core/libraries/error_codes.h"
+#include "core/libraries/libs.h"
+#include "core/libraries/network/http2.h"
+
+namespace Libraries::Http2 {
+
+int PS4_SYSV_ABI _Z5dummyv() {
+ LOG_ERROR(Lib_Http2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceHttp2AbortRequest() {
+ LOG_ERROR(Lib_Http2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceHttp2AddCookie() {
+ LOG_ERROR(Lib_Http2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceHttp2AddRequestHeader() {
+ LOG_ERROR(Lib_Http2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceHttp2AuthCacheFlush() {
+ LOG_ERROR(Lib_Http2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceHttp2CookieExport() {
+ LOG_ERROR(Lib_Http2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceHttp2CookieFlush() {
+ LOG_ERROR(Lib_Http2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceHttp2CookieImport() {
+ LOG_ERROR(Lib_Http2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceHttp2CreateCookieBox() {
+ LOG_ERROR(Lib_Http2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceHttp2CreateRequestWithURL() {
+ LOG_ERROR(Lib_Http2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceHttp2CreateTemplate() {
+ LOG_ERROR(Lib_Http2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceHttp2DeleteCookieBox() {
+ LOG_ERROR(Lib_Http2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceHttp2DeleteRequest() {
+ LOG_ERROR(Lib_Http2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceHttp2DeleteTemplate() {
+ LOG_ERROR(Lib_Http2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceHttp2GetAllResponseHeaders() {
+ LOG_ERROR(Lib_Http2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceHttp2GetAuthEnabled() {
+ LOG_ERROR(Lib_Http2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceHttp2GetAutoRedirect() {
+ LOG_ERROR(Lib_Http2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceHttp2GetCookie() {
+ LOG_ERROR(Lib_Http2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceHttp2GetCookieBox() {
+ LOG_ERROR(Lib_Http2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceHttp2GetCookieStats() {
+ LOG_ERROR(Lib_Http2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceHttp2GetMemoryPoolStats() {
+ LOG_ERROR(Lib_Http2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceHttp2GetResponseContentLength() {
+ LOG_ERROR(Lib_Http2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceHttp2GetStatusCode() {
+ LOG_ERROR(Lib_Http2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceHttp2Init(int net_id, int ssl_id, size_t pool_size, int max_requests) {
+ LOG_ERROR(Lib_Http2, "(DUMMY) called");
+ static int id = 0;
+ return ++id;
+}
+
+int PS4_SYSV_ABI sceHttp2ReadData() {
+ LOG_ERROR(Lib_Http2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceHttp2ReadDataAsync() {
+ LOG_ERROR(Lib_Http2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceHttp2RedirectCacheFlush() {
+ LOG_ERROR(Lib_Http2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceHttp2RemoveRequestHeader() {
+ LOG_ERROR(Lib_Http2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceHttp2SendRequest() {
+ LOG_ERROR(Lib_Http2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceHttp2SendRequestAsync() {
+ LOG_ERROR(Lib_Http2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceHttp2SetAuthEnabled() {
+ LOG_ERROR(Lib_Http2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceHttp2SetAuthInfoCallback() {
+ LOG_ERROR(Lib_Http2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceHttp2SetAutoRedirect() {
+ LOG_ERROR(Lib_Http2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceHttp2SetConnectionWaitTimeOut() {
+ LOG_ERROR(Lib_Http2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceHttp2SetConnectTimeOut() {
+ LOG_ERROR(Lib_Http2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceHttp2SetCookieBox() {
+ LOG_ERROR(Lib_Http2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceHttp2SetCookieMaxNum() {
+ LOG_ERROR(Lib_Http2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceHttp2SetCookieMaxNumPerDomain() {
+ LOG_ERROR(Lib_Http2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceHttp2SetCookieMaxSize() {
+ LOG_ERROR(Lib_Http2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceHttp2SetCookieRecvCallback() {
+ LOG_ERROR(Lib_Http2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceHttp2SetCookieSendCallback() {
+ LOG_ERROR(Lib_Http2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceHttp2SetInflateGZIPEnabled() {
+ LOG_ERROR(Lib_Http2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceHttp2SetMinSslVersion() {
+ LOG_ERROR(Lib_Http2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceHttp2SetPreSendCallback() {
+ LOG_ERROR(Lib_Http2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceHttp2SetRecvTimeOut() {
+ LOG_ERROR(Lib_Http2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceHttp2SetRedirectCallback() {
+ LOG_ERROR(Lib_Http2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceHttp2SetRequestContentLength() {
+ LOG_ERROR(Lib_Http2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceHttp2SetResolveRetry() {
+ LOG_ERROR(Lib_Http2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceHttp2SetResolveTimeOut() {
+ LOG_ERROR(Lib_Http2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceHttp2SetSendTimeOut() {
+ LOG_ERROR(Lib_Http2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceHttp2SetSslCallback() {
+ LOG_ERROR(Lib_Http2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceHttp2SetTimeOut() {
+ LOG_ERROR(Lib_Http2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceHttp2SslDisableOption() {
+ LOG_ERROR(Lib_Http2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceHttp2SslEnableOption() {
+ LOG_ERROR(Lib_Http2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceHttp2Term() {
+ LOG_ERROR(Lib_Http2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceHttp2WaitAsync() {
+ LOG_ERROR(Lib_Http2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+void RegisterlibSceHttp2(Core::Loader::SymbolsResolver* sym) {
+ LIB_FUNCTION("AS45QoYHjc4", "libSceHttp2", 1, "libSceHttp2", 1, 1, _Z5dummyv);
+ LIB_FUNCTION("IZ-qjhRqvjk", "libSceHttp2", 1, "libSceHttp2", 1, 1, sceHttp2AbortRequest);
+ LIB_FUNCTION("flPxnowtvWY", "libSceHttp2", 1, "libSceHttp2", 1, 1, sceHttp2AddCookie);
+ LIB_FUNCTION("nrPfOE8TQu0", "libSceHttp2", 1, "libSceHttp2", 1, 1, sceHttp2AddRequestHeader);
+ LIB_FUNCTION("WeuDjj5m4YU", "libSceHttp2", 1, "libSceHttp2", 1, 1, sceHttp2AuthCacheFlush);
+ LIB_FUNCTION("JlFGR4v50Kw", "libSceHttp2", 1, "libSceHttp2", 1, 1, sceHttp2CookieExport);
+ LIB_FUNCTION("5VlQSzXW-SQ", "libSceHttp2", 1, "libSceHttp2", 1, 1, sceHttp2CookieFlush);
+ LIB_FUNCTION("B5ibZI5UlzU", "libSceHttp2", 1, "libSceHttp2", 1, 1, sceHttp2CookieImport);
+ LIB_FUNCTION("N4UfjvWJsMw", "libSceHttp2", 1, "libSceHttp2", 1, 1, sceHttp2CreateCookieBox);
+ LIB_FUNCTION("mmyOCxQMVYQ", "libSceHttp2", 1, "libSceHttp2", 1, 1,
+ sceHttp2CreateRequestWithURL);
+ LIB_FUNCTION("+wCt7fCijgk", "libSceHttp2", 1, "libSceHttp2", 1, 1, sceHttp2CreateTemplate);
+ LIB_FUNCTION("O9ync3F-JVI", "libSceHttp2", 1, "libSceHttp2", 1, 1, sceHttp2DeleteCookieBox);
+ LIB_FUNCTION("c8D9qIjo8EY", "libSceHttp2", 1, "libSceHttp2", 1, 1, sceHttp2DeleteRequest);
+ LIB_FUNCTION("pDom5-078DA", "libSceHttp2", 1, "libSceHttp2", 1, 1, sceHttp2DeleteTemplate);
+ LIB_FUNCTION("-rdXUi2XW90", "libSceHttp2", 1, "libSceHttp2", 1, 1,
+ sceHttp2GetAllResponseHeaders);
+ LIB_FUNCTION("m-OL13q8AI8", "libSceHttp2", 1, "libSceHttp2", 1, 1, sceHttp2GetAuthEnabled);
+ LIB_FUNCTION("od5QCZhZSfw", "libSceHttp2", 1, "libSceHttp2", 1, 1, sceHttp2GetAutoRedirect);
+ LIB_FUNCTION("GQFGj0rYX+A", "libSceHttp2", 1, "libSceHttp2", 1, 1, sceHttp2GetCookie);
+ LIB_FUNCTION("IX23slKvtQI", "libSceHttp2", 1, "libSceHttp2", 1, 1, sceHttp2GetCookieBox);
+ LIB_FUNCTION("eij7UzkUqK8", "libSceHttp2", 1, "libSceHttp2", 1, 1, sceHttp2GetCookieStats);
+ LIB_FUNCTION("otUQuZa-mv0", "libSceHttp2", 1, "libSceHttp2", 1, 1, sceHttp2GetMemoryPoolStats);
+ LIB_FUNCTION("o0DBQpFE13o", "libSceHttp2", 1, "libSceHttp2", 1, 1,
+ sceHttp2GetResponseContentLength);
+ LIB_FUNCTION("9XYJwCf3lEA", "libSceHttp2", 1, "libSceHttp2", 1, 1, sceHttp2GetStatusCode);
+ LIB_FUNCTION("3JCe3lCbQ8A", "libSceHttp2", 1, "libSceHttp2", 1, 1, sceHttp2Init);
+ LIB_FUNCTION("QygCNNmbGss", "libSceHttp2", 1, "libSceHttp2", 1, 1, sceHttp2ReadData);
+ LIB_FUNCTION("bGN-6zbo7ms", "libSceHttp2", 1, "libSceHttp2", 1, 1, sceHttp2ReadDataAsync);
+ LIB_FUNCTION("klwUy2Wg+q8", "libSceHttp2", 1, "libSceHttp2", 1, 1, sceHttp2RedirectCacheFlush);
+ LIB_FUNCTION("jHdP0CS4ZlA", "libSceHttp2", 1, "libSceHttp2", 1, 1, sceHttp2RemoveRequestHeader);
+ LIB_FUNCTION("rbqZig38AT8", "libSceHttp2", 1, "libSceHttp2", 1, 1, sceHttp2SendRequest);
+ LIB_FUNCTION("A+NVAFu4eCg", "libSceHttp2", 1, "libSceHttp2", 1, 1, sceHttp2SendRequestAsync);
+ LIB_FUNCTION("jjFahkBPCYs", "libSceHttp2", 1, "libSceHttp2", 1, 1, sceHttp2SetAuthEnabled);
+ LIB_FUNCTION("Wwj6HbB2mOo", "libSceHttp2", 1, "libSceHttp2", 1, 1, sceHttp2SetAuthInfoCallback);
+ LIB_FUNCTION("b9AvoIaOuHI", "libSceHttp2", 1, "libSceHttp2", 1, 1, sceHttp2SetAutoRedirect);
+ LIB_FUNCTION("n8hMLe31OPA", "libSceHttp2", 1, "libSceHttp2", 1, 1,
+ sceHttp2SetConnectionWaitTimeOut);
+ LIB_FUNCTION("-HIO4VT87v8", "libSceHttp2", 1, "libSceHttp2", 1, 1, sceHttp2SetConnectTimeOut);
+ LIB_FUNCTION("jrVHsKCXA0g", "libSceHttp2", 1, "libSceHttp2", 1, 1, sceHttp2SetCookieBox);
+ LIB_FUNCTION("mPKVhQqh2Es", "libSceHttp2", 1, "libSceHttp2", 1, 1, sceHttp2SetCookieMaxNum);
+ LIB_FUNCTION("o7+WXe4WadE", "libSceHttp2", 1, "libSceHttp2", 1, 1,
+ sceHttp2SetCookieMaxNumPerDomain);
+ LIB_FUNCTION("6a0N6GPD7RM", "libSceHttp2", 1, "libSceHttp2", 1, 1, sceHttp2SetCookieMaxSize);
+ LIB_FUNCTION("zdtXKn9X7no", "libSceHttp2", 1, "libSceHttp2", 1, 1,
+ sceHttp2SetCookieRecvCallback);
+ LIB_FUNCTION("McYmUpQ3-DY", "libSceHttp2", 1, "libSceHttp2", 1, 1,
+ sceHttp2SetCookieSendCallback);
+ LIB_FUNCTION("uRosf8GQbHQ", "libSceHttp2", 1, "libSceHttp2", 1, 1,
+ sceHttp2SetInflateGZIPEnabled);
+ LIB_FUNCTION("09tk+kIA1Ns", "libSceHttp2", 1, "libSceHttp2", 1, 1, sceHttp2SetMinSslVersion);
+ LIB_FUNCTION("UL4Fviw+IAM", "libSceHttp2", 1, "libSceHttp2", 1, 1, sceHttp2SetPreSendCallback);
+ LIB_FUNCTION("izvHhqgDt44", "libSceHttp2", 1, "libSceHttp2", 1, 1, sceHttp2SetRecvTimeOut);
+ LIB_FUNCTION("BJgi0CH7al4", "libSceHttp2", 1, "libSceHttp2", 1, 1, sceHttp2SetRedirectCallback);
+ LIB_FUNCTION("FSAFOzi0FpM", "libSceHttp2", 1, "libSceHttp2", 1, 1,
+ sceHttp2SetRequestContentLength);
+ LIB_FUNCTION("Gcjh+CisAZM", "libSceHttp2", 1, "libSceHttp2", 1, 1, sceHttp2SetResolveRetry);
+ LIB_FUNCTION("ACjtE27aErY", "libSceHttp2", 1, "libSceHttp2", 1, 1, sceHttp2SetResolveTimeOut);
+ LIB_FUNCTION("XPtW45xiLHk", "libSceHttp2", 1, "libSceHttp2", 1, 1, sceHttp2SetSendTimeOut);
+ LIB_FUNCTION("YrWX+DhPHQY", "libSceHttp2", 1, "libSceHttp2", 1, 1, sceHttp2SetSslCallback);
+ LIB_FUNCTION("VYMxTcBqSE0", "libSceHttp2", 1, "libSceHttp2", 1, 1, sceHttp2SetTimeOut);
+ LIB_FUNCTION("B37SruheQ5Y", "libSceHttp2", 1, "libSceHttp2", 1, 1, sceHttp2SslDisableOption);
+ LIB_FUNCTION("EWcwMpbr5F8", "libSceHttp2", 1, "libSceHttp2", 1, 1, sceHttp2SslEnableOption);
+ LIB_FUNCTION("YiBUtz-pGkc", "libSceHttp2", 1, "libSceHttp2", 1, 1, sceHttp2Term);
+ LIB_FUNCTION("MOp-AUhdfi8", "libSceHttp2", 1, "libSceHttp2", 1, 1, sceHttp2WaitAsync);
+};
+
+} // namespace Libraries::Http2
\ No newline at end of file
diff --git a/src/core/libraries/network/http2.h b/src/core/libraries/network/http2.h
new file mode 100644
index 000000000..aa1d0c5b4
--- /dev/null
+++ b/src/core/libraries/network/http2.h
@@ -0,0 +1,72 @@
+// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "common/types.h"
+
+namespace Core::Loader {
+class SymbolsResolver;
+}
+
+namespace Libraries::Http2 {
+
+int PS4_SYSV_ABI _Z5dummyv();
+int PS4_SYSV_ABI sceHttp2AbortRequest();
+int PS4_SYSV_ABI sceHttp2AddCookie();
+int PS4_SYSV_ABI sceHttp2AddRequestHeader();
+int PS4_SYSV_ABI sceHttp2AuthCacheFlush();
+int PS4_SYSV_ABI sceHttp2CookieExport();
+int PS4_SYSV_ABI sceHttp2CookieFlush();
+int PS4_SYSV_ABI sceHttp2CookieImport();
+int PS4_SYSV_ABI sceHttp2CreateCookieBox();
+int PS4_SYSV_ABI sceHttp2CreateRequestWithURL();
+int PS4_SYSV_ABI sceHttp2CreateTemplate();
+int PS4_SYSV_ABI sceHttp2DeleteCookieBox();
+int PS4_SYSV_ABI sceHttp2DeleteRequest();
+int PS4_SYSV_ABI sceHttp2DeleteTemplate();
+int PS4_SYSV_ABI sceHttp2GetAllResponseHeaders();
+int PS4_SYSV_ABI sceHttp2GetAuthEnabled();
+int PS4_SYSV_ABI sceHttp2GetAutoRedirect();
+int PS4_SYSV_ABI sceHttp2GetCookie();
+int PS4_SYSV_ABI sceHttp2GetCookieBox();
+int PS4_SYSV_ABI sceHttp2GetCookieStats();
+int PS4_SYSV_ABI sceHttp2GetMemoryPoolStats();
+int PS4_SYSV_ABI sceHttp2GetResponseContentLength();
+int PS4_SYSV_ABI sceHttp2GetStatusCode();
+int PS4_SYSV_ABI sceHttp2Init(int net_id, int ssl_id, size_t pool_size, int max_requests);
+int PS4_SYSV_ABI sceHttp2ReadData();
+int PS4_SYSV_ABI sceHttp2ReadDataAsync();
+int PS4_SYSV_ABI sceHttp2RedirectCacheFlush();
+int PS4_SYSV_ABI sceHttp2RemoveRequestHeader();
+int PS4_SYSV_ABI sceHttp2SendRequest();
+int PS4_SYSV_ABI sceHttp2SendRequestAsync();
+int PS4_SYSV_ABI sceHttp2SetAuthEnabled();
+int PS4_SYSV_ABI sceHttp2SetAuthInfoCallback();
+int PS4_SYSV_ABI sceHttp2SetAutoRedirect();
+int PS4_SYSV_ABI sceHttp2SetConnectionWaitTimeOut();
+int PS4_SYSV_ABI sceHttp2SetConnectTimeOut();
+int PS4_SYSV_ABI sceHttp2SetCookieBox();
+int PS4_SYSV_ABI sceHttp2SetCookieMaxNum();
+int PS4_SYSV_ABI sceHttp2SetCookieMaxNumPerDomain();
+int PS4_SYSV_ABI sceHttp2SetCookieMaxSize();
+int PS4_SYSV_ABI sceHttp2SetCookieRecvCallback();
+int PS4_SYSV_ABI sceHttp2SetCookieSendCallback();
+int PS4_SYSV_ABI sceHttp2SetInflateGZIPEnabled();
+int PS4_SYSV_ABI sceHttp2SetMinSslVersion();
+int PS4_SYSV_ABI sceHttp2SetPreSendCallback();
+int PS4_SYSV_ABI sceHttp2SetRecvTimeOut();
+int PS4_SYSV_ABI sceHttp2SetRedirectCallback();
+int PS4_SYSV_ABI sceHttp2SetRequestContentLength();
+int PS4_SYSV_ABI sceHttp2SetResolveRetry();
+int PS4_SYSV_ABI sceHttp2SetResolveTimeOut();
+int PS4_SYSV_ABI sceHttp2SetSendTimeOut();
+int PS4_SYSV_ABI sceHttp2SetSslCallback();
+int PS4_SYSV_ABI sceHttp2SetTimeOut();
+int PS4_SYSV_ABI sceHttp2SslDisableOption();
+int PS4_SYSV_ABI sceHttp2SslEnableOption();
+int PS4_SYSV_ABI sceHttp2Term();
+int PS4_SYSV_ABI sceHttp2WaitAsync();
+
+void RegisterlibSceHttp2(Core::Loader::SymbolsResolver* sym);
+} // namespace Libraries::Http2
\ No newline at end of file
diff --git a/src/core/libraries/network/netctl.cpp b/src/core/libraries/network/netctl.cpp
index b167d2789..00d980663 100644
--- a/src/core/libraries/network/netctl.cpp
+++ b/src/core/libraries/network/netctl.cpp
@@ -93,7 +93,7 @@ int PS4_SYSV_ABI sceNetCtlUnregisterCallbackV6() {
}
int PS4_SYSV_ABI sceNetCtlCheckCallback() {
- netctl.CheckCallback();
+ LOG_DEBUG(Lib_NetCtl, "(STUBBED) called");
return ORBIS_OK;
}
@@ -373,7 +373,7 @@ int PS4_SYSV_ABI Func_D8DCB6973537A3DC() {
}
int PS4_SYSV_ABI sceNetCtlCheckCallbackForNpToolkit() {
- netctl.CheckNpToolkitCallback();
+ LOG_DEBUG(Lib_NetCtl, "(STUBBED) called");
return ORBIS_OK;
}
diff --git a/src/core/libraries/network/ssl2.cpp b/src/core/libraries/network/ssl2.cpp
new file mode 100644
index 000000000..8ca29526e
--- /dev/null
+++ b/src/core/libraries/network/ssl2.cpp
@@ -0,0 +1,353 @@
+// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "common/logging/log.h"
+#include "core/libraries/error_codes.h"
+#include "core/libraries/libs.h"
+#include "core/libraries/network/ssl2.h"
+
+namespace Libraries::Ssl2 {
+
+int PS4_SYSV_ABI CA_MGMT_extractKeyBlobEx() {
+ LOG_ERROR(Lib_Ssl2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI CA_MGMT_extractPublicKeyInfo() {
+ LOG_ERROR(Lib_Ssl2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI CA_MGMT_freeKeyBlob() {
+ LOG_ERROR(Lib_Ssl2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI CRYPTO_initAsymmetricKey() {
+ LOG_ERROR(Lib_Ssl2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI CRYPTO_uninitAsymmetricKey() {
+ LOG_ERROR(Lib_Ssl2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI RSA_verifySignature() {
+ LOG_ERROR(Lib_Ssl2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceSslCheckRecvPending() {
+ LOG_ERROR(Lib_Ssl2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceSslClose() {
+ LOG_ERROR(Lib_Ssl2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceSslConnect() {
+ LOG_ERROR(Lib_Ssl2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceSslCreateConnection() {
+ LOG_ERROR(Lib_Ssl2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceSslCreateSslConnection() {
+ LOG_ERROR(Lib_Ssl2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceSslDeleteConnection() {
+ LOG_ERROR(Lib_Ssl2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceSslDeleteSslConnection() {
+ LOG_ERROR(Lib_Ssl2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceSslDisableOption() {
+ LOG_ERROR(Lib_Ssl2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceSslDisableOptionInternal() {
+ LOG_ERROR(Lib_Ssl2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceSslDisableOptionInternalInsecure() {
+ LOG_ERROR(Lib_Ssl2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceSslDisableVerifyOption() {
+ LOG_ERROR(Lib_Ssl2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceSslEnableOption() {
+ LOG_ERROR(Lib_Ssl2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceSslEnableOptionInternal() {
+ LOG_ERROR(Lib_Ssl2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceSslEnableVerifyOption() {
+ LOG_ERROR(Lib_Ssl2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceSslFreeCaCerts() {
+ LOG_ERROR(Lib_Ssl2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceSslFreeCaList() {
+ LOG_ERROR(Lib_Ssl2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceSslFreeSslCertName() {
+ LOG_ERROR(Lib_Ssl2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceSslGetAlpnSelected() {
+ LOG_ERROR(Lib_Ssl2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceSslGetCaCerts() {
+ LOG_ERROR(Lib_Ssl2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceSslGetCaList() {
+ LOG_ERROR(Lib_Ssl2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceSslGetFingerprint() {
+ LOG_ERROR(Lib_Ssl2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceSslGetIssuerName() {
+ LOG_ERROR(Lib_Ssl2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceSslGetMemoryPoolStats() {
+ LOG_ERROR(Lib_Ssl2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceSslGetNameEntryCount() {
+ LOG_ERROR(Lib_Ssl2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceSslGetNameEntryInfo() {
+ LOG_ERROR(Lib_Ssl2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceSslGetNanoSSLModuleId() {
+ LOG_ERROR(Lib_Ssl2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceSslGetNotAfter() {
+ LOG_ERROR(Lib_Ssl2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceSslGetNotBefore() {
+ LOG_ERROR(Lib_Ssl2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceSslGetPeerCert() {
+ LOG_ERROR(Lib_Ssl2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceSslGetPem() {
+ LOG_ERROR(Lib_Ssl2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceSslGetSerialNumber() {
+ LOG_ERROR(Lib_Ssl2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceSslGetSslError() {
+ LOG_ERROR(Lib_Ssl2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceSslGetSubjectName() {
+ LOG_ERROR(Lib_Ssl2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceSslInit(std::size_t poolSize) {
+ LOG_ERROR(Lib_Ssl2, "(DUMMY) called poolSize = {}", poolSize);
+ // return a value >1
+ static int id = 0;
+ return ++id;
+}
+
+int PS4_SYSV_ABI sceSslLoadCert() {
+ LOG_ERROR(Lib_Ssl2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceSslLoadRootCACert() {
+ LOG_ERROR(Lib_Ssl2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceSslRead() {
+ LOG_ERROR(Lib_Ssl2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceSslRecv() {
+ LOG_ERROR(Lib_Ssl2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceSslReuseConnection() {
+ LOG_ERROR(Lib_Ssl2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceSslSend() {
+ LOG_ERROR(Lib_Ssl2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceSslSetAlpn() {
+ LOG_ERROR(Lib_Ssl2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceSslSetMinSslVersion() {
+ LOG_ERROR(Lib_Ssl2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceSslSetSslVersion() {
+ LOG_ERROR(Lib_Ssl2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceSslSetVerifyCallback() {
+ LOG_ERROR(Lib_Ssl2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceSslTerm() {
+ LOG_ERROR(Lib_Ssl2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceSslUnloadCert() {
+ LOG_ERROR(Lib_Ssl2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceSslWrite() {
+ LOG_ERROR(Lib_Ssl2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI VLONG_freeVlongQueue() {
+ LOG_ERROR(Lib_Ssl2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_22E76E60BC0587D7() {
+ LOG_ERROR(Lib_Ssl2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_28F8791A771D39C7() {
+ LOG_ERROR(Lib_Ssl2, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+void RegisterlibSceSsl2(Core::Loader::SymbolsResolver* sym) {
+ LIB_FUNCTION("Md+HYkCBZB4", "libSceSsl", 1, "libSceSsl", 2, 1, CA_MGMT_extractKeyBlobEx);
+ LIB_FUNCTION("9bKYzKP6kYU", "libSceSsl", 1, "libSceSsl", 2, 1, CA_MGMT_extractPublicKeyInfo);
+ LIB_FUNCTION("ipLIammTj2Q", "libSceSsl", 1, "libSceSsl", 2, 1, CA_MGMT_freeKeyBlob);
+ LIB_FUNCTION("PRWr3-ytpdg", "libSceSsl", 1, "libSceSsl", 2, 1, CRYPTO_initAsymmetricKey);
+ LIB_FUNCTION("cW7VCIMCh9A", "libSceSsl", 1, "libSceSsl", 2, 1, CRYPTO_uninitAsymmetricKey);
+ LIB_FUNCTION("pBwtarKd7eg", "libSceSsl", 1, "libSceSsl", 2, 1, RSA_verifySignature);
+ LIB_FUNCTION("1VM0h1JrUfA", "libSceSsl", 1, "libSceSsl", 2, 1, sceSslCheckRecvPending);
+ LIB_FUNCTION("viRXSHZYd0c", "libSceSsl", 1, "libSceSsl", 2, 1, sceSslClose);
+ LIB_FUNCTION("zXvd6iNyfgc", "libSceSsl", 1, "libSceSsl", 2, 1, sceSslConnect);
+ LIB_FUNCTION("tuscfitnhEo", "libSceSsl", 1, "libSceSsl", 2, 1, sceSslCreateConnection);
+ LIB_FUNCTION("P14ATpXc4J8", "libSceSsl", 1, "libSceSsl", 2, 1, sceSslCreateSslConnection);
+ LIB_FUNCTION("HJ1n138CQ2g", "libSceSsl", 1, "libSceSsl", 2, 1, sceSslDeleteConnection);
+ LIB_FUNCTION("hwrHV6Pprk4", "libSceSsl", 1, "libSceSsl", 2, 1, sceSslDeleteSslConnection);
+ LIB_FUNCTION("iLKz4+ukLqk", "libSceSsl", 1, "libSceSsl", 2, 1, sceSslDisableOption);
+ LIB_FUNCTION("-WqxBRAUVM4", "libSceSsl", 1, "libSceSsl", 2, 1, sceSslDisableOptionInternal);
+ LIB_FUNCTION("w1+L-27nYas", "libSceSsl", 1, "libSceSsl", 2, 1,
+ sceSslDisableOptionInternalInsecure);
+ LIB_FUNCTION("PwsHbErG+e8", "libSceSsl", 1, "libSceSsl", 2, 1, sceSslDisableVerifyOption);
+ LIB_FUNCTION("m-zPyAsIpco", "libSceSsl", 1, "libSceSsl", 2, 1, sceSslEnableOption);
+ LIB_FUNCTION("g-zCwUKstEQ", "libSceSsl", 1, "libSceSsl", 2, 1, sceSslEnableOptionInternal);
+ LIB_FUNCTION("po1X86mgHDU", "libSceSsl", 1, "libSceSsl", 2, 1, sceSslEnableVerifyOption);
+ LIB_FUNCTION("qIvLs0gYxi0", "libSceSsl", 1, "libSceSsl", 2, 1, sceSslFreeCaCerts);
+ LIB_FUNCTION("+DzXseDVkeI", "libSceSsl", 1, "libSceSsl", 2, 1, sceSslFreeCaList);
+ LIB_FUNCTION("RwXD8grHZHM", "libSceSsl", 1, "libSceSsl", 2, 1, sceSslFreeSslCertName);
+ LIB_FUNCTION("4O7+bRkRUe8", "libSceSsl", 1, "libSceSsl", 2, 1, sceSslGetAlpnSelected);
+ LIB_FUNCTION("TDfQqO-gMbY", "libSceSsl", 1, "libSceSsl", 2, 1, sceSslGetCaCerts);
+ LIB_FUNCTION("qOn+wm28wmA", "libSceSsl", 1, "libSceSsl", 2, 1, sceSslGetCaList);
+ LIB_FUNCTION("brRtwGBu4A8", "libSceSsl", 1, "libSceSsl", 2, 1, sceSslGetFingerprint);
+ LIB_FUNCTION("7whYpYfHP74", "libSceSsl", 1, "libSceSsl", 2, 1, sceSslGetIssuerName);
+ LIB_FUNCTION("-PoIzr3PEk0", "libSceSsl", 1, "libSceSsl", 2, 1, sceSslGetMemoryPoolStats);
+ LIB_FUNCTION("R1ePzopYPYM", "libSceSsl", 1, "libSceSsl", 2, 1, sceSslGetNameEntryCount);
+ LIB_FUNCTION("7RBSTKGrmDA", "libSceSsl", 1, "libSceSsl", 2, 1, sceSslGetNameEntryInfo);
+ LIB_FUNCTION("AzUipl-DpIw", "libSceSsl", 1, "libSceSsl", 2, 1, sceSslGetNanoSSLModuleId);
+ LIB_FUNCTION("xHpt6+2pGYk", "libSceSsl", 1, "libSceSsl", 2, 1, sceSslGetNotAfter);
+ LIB_FUNCTION("Eo0S65Jy28Q", "libSceSsl", 1, "libSceSsl", 2, 1, sceSslGetNotBefore);
+ LIB_FUNCTION("-TbZc8pwPNc", "libSceSsl", 1, "libSceSsl", 2, 1, sceSslGetPeerCert);
+ LIB_FUNCTION("kLB5aGoUJXg", "libSceSsl", 1, "libSceSsl", 2, 1, sceSslGetPem);
+ LIB_FUNCTION("DOwXL+FQMEY", "libSceSsl", 1, "libSceSsl", 2, 1, sceSslGetSerialNumber);
+ LIB_FUNCTION("0XcZknp7-Wc", "libSceSsl", 1, "libSceSsl", 2, 1, sceSslGetSslError);
+ LIB_FUNCTION("dQReuBX9sD8", "libSceSsl", 1, "libSceSsl", 2, 1, sceSslGetSubjectName);
+ LIB_FUNCTION("hdpVEUDFW3s", "libSceSsl", 1, "libSceSsl", 2, 1, sceSslInit);
+ LIB_FUNCTION("Ab7+DH+gYyM", "libSceSsl", 1, "libSceSsl", 2, 1, sceSslLoadCert);
+ LIB_FUNCTION("3-643mGVFJo", "libSceSsl", 1, "libSceSsl", 2, 1, sceSslLoadRootCACert);
+ LIB_FUNCTION("jltWpVKtetg", "libSceSsl", 1, "libSceSsl", 2, 1, sceSslRead);
+ LIB_FUNCTION("hi0veU3L2pU", "libSceSsl", 1, "libSceSsl", 2, 1, sceSslRecv);
+ LIB_FUNCTION("50R2xYaYZwE", "libSceSsl", 1, "libSceSsl", 2, 1, sceSslReuseConnection);
+ LIB_FUNCTION("p5bM5PPufFY", "libSceSsl", 1, "libSceSsl", 2, 1, sceSslSend);
+ LIB_FUNCTION("TL86glUrmUw", "libSceSsl", 1, "libSceSsl", 2, 1, sceSslSetAlpn);
+ LIB_FUNCTION("QWSxBzf6lAg", "libSceSsl", 1, "libSceSsl", 2, 1, sceSslSetMinSslVersion);
+ LIB_FUNCTION("bKaEtQnoUuQ", "libSceSsl", 1, "libSceSsl", 2, 1, sceSslSetSslVersion);
+ LIB_FUNCTION("E4a-ahM57QQ", "libSceSsl", 1, "libSceSsl", 2, 1, sceSslSetVerifyCallback);
+ LIB_FUNCTION("0K1yQ6Lv-Yc", "libSceSsl", 1, "libSceSsl", 2, 1, sceSslTerm);
+ LIB_FUNCTION("UQ+3Qu7v3cA", "libSceSsl", 1, "libSceSsl", 2, 1, sceSslUnloadCert);
+ LIB_FUNCTION("iNjkt9Poblw", "libSceSsl", 1, "libSceSsl", 2, 1, sceSslWrite);
+ LIB_FUNCTION("wcVuyTUr5ys", "libSceSsl", 1, "libSceSsl", 2, 1, VLONG_freeVlongQueue);
+ LIB_FUNCTION("IuduYLwFh9c", "libSceSsl", 1, "libSceSsl", 2, 1, Func_22E76E60BC0587D7);
+ LIB_FUNCTION("KPh5GncdOcc", "libSceSsl", 1, "libSceSsl", 2, 1, Func_28F8791A771D39C7);
+};
+
+} // namespace Libraries::Ssl2
\ No newline at end of file
diff --git a/src/core/libraries/network/ssl2.h b/src/core/libraries/network/ssl2.h
new file mode 100644
index 000000000..03ee3b86e
--- /dev/null
+++ b/src/core/libraries/network/ssl2.h
@@ -0,0 +1,14 @@
+// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "common/types.h"
+
+namespace Core::Loader {
+class SymbolsResolver;
+}
+
+namespace Libraries::Ssl2 {
+void RegisterlibSceSsl2(Core::Loader::SymbolsResolver* sym);
+} // namespace Libraries::Ssl2
\ No newline at end of file
diff --git a/src/core/libraries/np_common/np_common.cpp b/src/core/libraries/np_common/np_common.cpp
new file mode 100644
index 000000000..1234705cc
--- /dev/null
+++ b/src/core/libraries/np_common/np_common.cpp
@@ -0,0 +1,7915 @@
+// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "common/logging/log.h"
+#include "core/libraries/error_codes.h"
+#include "core/libraries/libs.h"
+#include "core/libraries/np_common/np_common.h"
+#include "core/libraries/np_common/np_common_error.h"
+
+namespace Libraries::NpCommon {
+
+int PS4_SYSV_ABI sceNpCmpNpId(OrbisNpId* np_id1, OrbisNpId* np_id2) {
+ if (np_id1 == nullptr || np_id2 == nullptr) {
+ return ORBIS_NP_ERROR_INVALID_ARGUMENT;
+ }
+
+ // Compare data
+ if (std::strncmp(np_id1->handle.data, np_id2->handle.data, ORBIS_NP_ONLINEID_MAX_LENGTH) != 0) {
+ return ORBIS_NP_UTIL_ERROR_NOT_MATCH;
+ }
+
+ // Compare opt
+ for (u32 i = 0; i < 8; i++) {
+ if (np_id1->opt[i] != np_id2->opt[i]) {
+ return ORBIS_NP_UTIL_ERROR_NOT_MATCH;
+ }
+ }
+
+ // Compare reserved
+ for (u32 i = 0; i < 8; i++) {
+ if (np_id1->reserved[i] != np_id2->reserved[i]) {
+ return ORBIS_NP_UTIL_ERROR_NOT_MATCH;
+ }
+ }
+
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpCmpNpIdInOrder(OrbisNpId* np_id1, OrbisNpId* np_id2, u32* out_result) {
+ if (np_id1 == nullptr || np_id2 == nullptr || out_result == nullptr) {
+ return ORBIS_NP_ERROR_INVALID_ARGUMENT;
+ }
+
+ // Compare data
+ u32 compare =
+ std::strncmp(np_id1->handle.data, np_id2->handle.data, ORBIS_NP_ONLINEID_MAX_LENGTH);
+ if (compare < 0) {
+ *out_result = -1;
+ return ORBIS_OK;
+ } else if (compare > 0) {
+ *out_result = 1;
+ return ORBIS_OK;
+ }
+
+ // Compare opt
+ for (u32 i = 0; i < 8; i++) {
+ if (np_id1->opt[i] < np_id2->opt[i]) {
+ *out_result = -1;
+ return ORBIS_OK;
+ } else if (np_id1->opt[i] > np_id2->opt[i]) {
+ *out_result = 1;
+ return ORBIS_OK;
+ }
+ }
+
+ // Compare reserved
+ for (u32 i = 0; i < 8; i++) {
+ if (np_id1->reserved[i] < np_id2->reserved[i]) {
+ *out_result = -1;
+ return ORBIS_OK;
+ } else if (np_id1->reserved[i] > np_id2->reserved[i]) {
+ *out_result = 1;
+ return ORBIS_OK;
+ }
+ }
+
+ *out_result = 0;
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpCmpOnlineId(OrbisNpOnlineId* online_id1, OrbisNpOnlineId* online_id2) {
+ if (online_id1 == nullptr || online_id2 == nullptr) {
+ return ORBIS_NP_ERROR_INVALID_ARGUMENT;
+ }
+
+ if (std::strncmp(online_id1->data, online_id2->data, ORBIS_NP_ONLINEID_MAX_LENGTH) != 0) {
+ return ORBIS_NP_UTIL_ERROR_NOT_MATCH;
+ }
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _sceNpAllocatorExConvertAllocator() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _sceNpAllocatorExFree() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _sceNpAllocatorExMalloc() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _sceNpAllocatorExRealloc() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _sceNpAllocatorExStrdup() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _sceNpAllocatorExStrndup() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _sceNpAllocatorFree() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _sceNpAllocatorMalloc() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _sceNpAllocatorRealloc() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _sceNpAllocatorStrdup() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _sceNpAllocatorStrndup() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _sceNpFree() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _sceNpHeapFree() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _sceNpHeapMalloc() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _sceNpHeapRealloc() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _sceNpHeapStrdup() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _sceNpHeapStrndup() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _sceNpMalloc() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _sceNpRealloc() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np10Cancelable10IsCanceledEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np10Cancelable10LockCancelEPKciS3_() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np10Cancelable11CheckCancelEPKciS3_() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np10Cancelable12UnlockCancelEPKciS3_() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np10Cancelable13SetCancelableEb() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np10Cancelable14SetupSubCancelEPS1_PKciS4_() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np10Cancelable16CleanupSubCancelEPS1_() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np10Cancelable4InitEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np10Cancelable6CancelEij() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np10Cancelable7DestroyEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np10CancelableC2Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np10CancelableD0Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np10CancelableD1Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np10CancelableD2Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np10CancelLock3EndEPKciS3_() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np10CancelLock5BeginEPNS0_6HandleEPKciS5_() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np10CancelLockC1Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np10CancelLockC2Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np10CancelLockD1Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np10CancelLockD2Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np10EventQueue10ClearAbortEt() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np10EventQueue10TryDequeueEPvm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np10EventQueue4ctorEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np10EventQueue4dtorEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np10EventQueue4InitEPKcmm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np10EventQueue5AbortEt() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np10EventQueue7DequeueEPvmj() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np10EventQueue7DestroyEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np10EventQueue7EnqueueEPKvmj() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np10EventQueueC2EP16SceNpAllocatorEx() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np10EventQueueD0Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np10EventQueueD1Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np10EventQueueD2Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np10JsonNumber5ClearEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np10JsonNumber6SetNumEi() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np10JsonNumber6SetNumEj() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np10JsonNumber6SetNumEl() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np10JsonNumber6SetNumEm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np10JsonNumber6SetNumEPKc() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np10JsonObject16DeleteFieldValueEPKc() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np10JsonObject5ClearEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np10JsonParser4InitEPK7JsonDefPNS1_12EventHandlerE() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np10JsonParser5ParseEPKcm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np10JsonParserC2EP16SceNpAllocatorEx() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np10JsonParserD0Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np10JsonParserD1Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np10JsonParserD2Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np10JsonString5ClearEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np10JsonString6SetStrEPKc() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np10MemoryFile4ReadEPNS0_6HandleEPvmPm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np10MemoryFile4SyncEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np10MemoryFile5CloseEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np10MemoryFile5WriteEPNS0_6HandleEPKvmPm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np10MemoryFile8TruncateEl() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np10MemoryFileC2EP16SceNpAllocatorEx() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np10MemoryFileD0Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np10MemoryFileD1Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np10MemoryFileD2Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI
+_ZN3sce2np12HttpTemplate19SetAuthInfoCallbackEPFii15SceHttpAuthTypePKcPcS5_iPPhPmPiPvESA_() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np12HttpTemplate4InitEiPKcib() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np12HttpTemplate7DestroyEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np12HttpTemplateC1Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np12HttpTemplateC2Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np12HttpTemplateD0Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np12HttpTemplateD1Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np12HttpTemplateD2Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np12StreamBufferixEi() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np12StreamReader4ReadEPNS0_6HandleEPNS0_9StreamCtxEPvmPm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np12StreamReader7ReadAllEPNS0_6HandleEPNS0_9StreamCtxEPvmPm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np12StreamReader7ReadAllEPNS0_6HandleEPvmPm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np12StreamReader8ReadDataEPNS0_6HandleEPNS0_9StreamCtxEPvmPm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np12StreamReader8ReadDataEPNS0_6HandleEPvmPm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np12StreamReader8SkipDataEPNS0_6HandleElPl() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np12StreamReader8SkipDataEPNS0_6HandleEPNS0_9StreamCtxElPl() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np12StreamWriter15WriteFilledDataEPNS0_6HandleEcl() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np12StreamWriter15WriteFilledDataEPNS0_6HandleEPNS0_9StreamCtxEcl() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np12StreamWriter5WriteEPNS0_6HandleEPNS0_9StreamCtxEPKvmPm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np12StreamWriter9WriteDataEPNS0_6HandleEPKvmPm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np12StreamWriter9WriteDataEPNS0_6HandleEPNS0_9StreamCtxEPKvmPm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np12WorkerThread10ThreadMainEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np12WorkerThreadC1EPNS0_9WorkQueueE() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np12WorkerThreadC2EPNS0_9WorkQueueE() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np12WorkerThreadD0Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np12WorkerThreadD1Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np12WorkerThreadD2Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np13JsonDocParser5ParseEPKcm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np13JsonDocParser9GetResultEPPNS0_10JsonObjectE() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np13JsonDocParser9GetResultEPPNS0_9JsonValueE() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np13JsonDocParserC2EP16SceNpAllocatorExPK7JsonDef() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np13JsonDocParserD0Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np13JsonDocParserD1Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np13JsonDocParserD2Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np13NpTitleSecret5ClearEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np13NpTitleSecretC1EPKvm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np13NpTitleSecretC1ERK16SceNpTitleSecret() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np13NpTitleSecretC1ERKS1_() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np13NpTitleSecretC1Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np13NpTitleSecretC2EPKvm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np13NpTitleSecretC2ERK16SceNpTitleSecret() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np13NpTitleSecretC2ERKS1_() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np13NpTitleSecretC2Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np13NpTitleSecretD0Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np13NpTitleSecretD1Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np13NpTitleSecretD2Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np13RingBufMemory4ctorEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np13RingBufMemory4dtorEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np13RingBufMemory4InitEm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np13RingBufMemory6ExpandEm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np13RingBufMemory6IsInitEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np13RingBufMemory7DestroyEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np13RingBufMemoryC2EP16SceNpAllocatorEx() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np13RingBufMemoryD0Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np13RingBufMemoryD1Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np13RingBufMemoryD2Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np14CalloutContext4InitEPKcimm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np14CalloutContext4InitEPKNS1_5ParamE() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np14CalloutContext7DestroyEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np14CalloutContextC1Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np14CalloutContextC2Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np14CalloutContextD0Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np14CalloutContextD1Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np14CalloutContextD2Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np14JsonDocBuilder12BuildBufSizeEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np14JsonDocBuilder16EscapeJsonStringEPKcPcmPm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np14JsonDocBuilder23EscapeJsonStringBufSizeEPKc() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np14JsonDocBuilder5BuildEPcmPm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np14JsonDocBuilderC1ERKNS0_9JsonValueE() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np14JsonDocBuilderC2ERKNS0_9JsonValueE() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np14JsonDocBuilderD0Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np14JsonDocBuilderD1Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np14JsonDocBuilderD2Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np15CancelableScope3EndEiPKciS3_() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np15CancelableScope5BeginEPNS0_6HandleEPKciS5_() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np15CancelableScopeC2Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np15CancelableScopeD0Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np15CancelableScopeD1Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np15CancelableScopeD2Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np16StreamReadBufferC2EP16SceNpAllocatorEx() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np16StreamReadBufferD1Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np16StreamReadBufferD2Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np18HttpConnectionPool13InvalidateAllEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np18HttpConnectionPool4InitEi() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np18HttpConnectionPool7DestroyEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np18HttpConnectionPoolC1EP16SceNpAllocatorEx() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np18HttpConnectionPoolC2EP16SceNpAllocatorEx() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np18HttpConnectionPoolD0Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np18HttpConnectionPoolD1Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np18HttpConnectionPoolD2Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np18MemoryStreamReader4ReadEPNS0_6HandleEPvmPm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np18MemoryStreamReaderC1EPKvm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np18MemoryStreamReaderC2EPKvm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np18MemoryStreamReaderD0Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np18MemoryStreamReaderD1Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np18MemoryStreamReaderD2Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np18MemoryStreamWriter5WriteEPNS0_6HandleEPKvmPm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np18MemoryStreamWriterC1EPvm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np18MemoryStreamWriterC2EPvm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np18MemoryStreamWriterD0Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np18MemoryStreamWriterD1Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np18MemoryStreamWriterD2Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np20BufferedStreamReader4ReadEPNS0_6HandleEPvmPm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np20BufferedStreamReader5CloseEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np20BufferedStreamReaderC2EP16SceNpAllocatorEx() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np20BufferedStreamReaderD0Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np20BufferedStreamReaderD1Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np20BufferedStreamReaderD2Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np3ipc10IpmiClient10DisconnectEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np3ipc10IpmiClient11IsConnectedEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np3ipc10IpmiClient16invokeSyncMethodEjPKvmPvPmm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np3ipc10IpmiClient4ctorEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np3ipc10IpmiClient4dtorEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np3ipc10IpmiClient4InitEPKNS2_6ConfigE() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np3ipc10IpmiClient7ConnectEPKvm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np3ipc10IpmiClient7DestroyEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np3ipc10IpmiClientC1Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np3ipc10IpmiClientC2Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np3ipc10IpmiClientD0Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np3ipc10IpmiClientD1Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np3ipc10IpmiClientD2Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI
+_ZN3sce2np3ipc13ServiceClientC1EPNS1_17ServiceIpmiClientEPKNS1_17ServiceClientInfoE() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI
+_ZN3sce2np3ipc13ServiceClientC2EPNS1_17ServiceIpmiClientEPKNS1_17ServiceClientInfoE() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np3ipc17ServiceIpmiClient10DisconnectEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np3ipc17ServiceIpmiClient10EndRequestEii() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np3ipc17ServiceIpmiClient11findServiceEi() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np3ipc17ServiceIpmiClient11InitServiceEi() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np3ipc17ServiceIpmiClient11TermServiceEi() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np3ipc17ServiceIpmiClient11WaitRequestEiij() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np3ipc17ServiceIpmiClient12AbortRequestEii() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np3ipc17ServiceIpmiClient12BeginRequestEii() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np3ipc17ServiceIpmiClient13CreateRequestEPiiPKvm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np3ipc17ServiceIpmiClient13DeleteRequestEii() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np3ipc17ServiceIpmiClient13PollEventFlagEijmjPm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np3ipc17ServiceIpmiClient13WaitEventFlagEijmjPmj() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np3ipc17ServiceIpmiClient14PollEventQueueEiPvm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np3ipc17ServiceIpmiClient15CancelEventFlagEijm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np3ipc17ServiceIpmiClient15RegisterServiceEPKNS1_17ServiceClientInfoE() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np3ipc17ServiceIpmiClient16RegisterServicesEPKNS1_17ServiceClientInfoE() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np3ipc17ServiceIpmiClient17invokeInitServiceEi() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np3ipc17ServiceIpmiClient17invokeTermServiceEi() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np3ipc17ServiceIpmiClient17UnregisterServiceEi() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np3ipc17ServiceIpmiClient18EndRequestForAsyncEii() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np3ipc17ServiceIpmiClient19WaitRequestForAsyncEiij() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np3ipc17ServiceIpmiClient20AbortRequestForAsyncEii() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI
+_ZN3sce2np3ipc17ServiceIpmiClient20BeginRequestForAsyncEiiPN4IPMI6Client12EventNotifeeE() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np3ipc17ServiceIpmiClient21CreateRequestForAsyncEPiiPKvm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np3ipc17ServiceIpmiClient21DeleteRequestForAsyncEii() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np3ipc17ServiceIpmiClient4ctorEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np3ipc17ServiceIpmiClient4dtorEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np3ipc17ServiceIpmiClient4InitEPNS2_6ConfigE() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np3ipc17ServiceIpmiClient7ConnectEPKvm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np3ipc17ServiceIpmiClient7DestroyEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np3ipc17ServiceIpmiClientC1Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np3ipc17ServiceIpmiClientC2Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np3ipc17ServiceIpmiClientD0Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np3ipc17ServiceIpmiClientD1Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np3ipc17ServiceIpmiClientD2Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np4Cond4ctorEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np4Cond4dtorEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np4Cond4InitEPKcPNS0_5MutexE() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np4Cond4WaitEj() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np4Cond6SignalEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np4Cond7DestroyEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np4Cond9SignalAllEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np4CondC1Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np4CondC2Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np4CondD0Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np4CondD1Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np4CondD2Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np4Path11BuildAppendEPcmcPKcm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np4Path12AddDelimiterEPcmc() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np4Path5ClearEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np4Path6SetStrEPKcm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np4PathD0Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np4PathD1Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np4PathD2Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np4Time10AddMinutesEl() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np4Time10AddSecondsEl() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np4Time12GetUserClockEPS1_() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np4Time15AddMicroSecondsEl() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np4Time15GetNetworkClockEPS1_() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np4Time20GetDebugNetworkClockEPS1_() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np4Time7AddDaysEl() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np4Time8AddHoursEl() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np4TimeplERK10SceRtcTick() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np4TimeplERKS1_() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np5Mutex4ctorEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np5Mutex4dtorEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np5Mutex4InitEPKcj() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np5Mutex4LockEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np5Mutex6UnlockEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np5Mutex7DestroyEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np5Mutex7TryLockEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np5MutexC1Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np5MutexC2Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np5MutexD0Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np5MutexD1Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np5MutexD2Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np5NpEnv8GetNpEnvEPS1_() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np6Handle10CancelImplEi() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np6Handle4InitEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np6Handle7DestroyEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np6HandleC1Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np6HandleC2Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np6HandleD0Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np6HandleD1Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np6HandleD2Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np6ObjectdaEPv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np6ObjectdaEPvR14SceNpAllocator() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np6ObjectdaEPvR16SceNpAllocatorEx() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np6ObjectdlEPv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np6ObjectdlEPvR14SceNpAllocator() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np6ObjectdlEPvR16SceNpAllocatorEx() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np6ObjectnaEmR14SceNpAllocator() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np6ObjectnaEmR16SceNpAllocatorEx() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np6ObjectnwEmR14SceNpAllocator() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np6ObjectnwEmR16SceNpAllocatorEx() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np6Thread12DoThreadMainEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np6Thread4ctorEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np6Thread4dtorEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np6Thread4InitEPKcimm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np6Thread4InitEPKNS1_5ParamE() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np6Thread4JoinEPi() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np6Thread5StartEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np6Thread7DestroyEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np6Thread9EntryFuncEPv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np6Thread9GetResultEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np6Thread9IsRunningEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np6ThreadC2Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np6ThreadD0Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np6ThreadD1Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np6ThreadD2Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np7Callout10IsTimedoutEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np7Callout11CalloutFuncEPv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np7Callout4StopEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np7Callout5StartEjPNS1_7HandlerE() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np7Callout5StartEmPNS1_7HandlerE() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np7Callout9IsStartedEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np7CalloutC1EPNS0_14CalloutContextE() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np7CalloutC2EPNS0_14CalloutContextE() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np7CalloutD0Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np7CalloutD1Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np7CalloutD2Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np7HttpUri5BuildEPKS1_PcmPmj() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np7HttpUri5ParseEPS1_PKc() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np7HttpUriC1EP16SceNpAllocatorEx() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np7HttpUriC2EP16SceNpAllocatorEx() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np7HttpUriD0Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np7HttpUriD1Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np7HttpUriD2Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np7RingBuf14CheckinForReadEm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np7RingBuf15CheckinForWriteEm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np7RingBuf15CheckoutForReadEPm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np7RingBuf16CheckoutForWriteEPm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np7RingBuf4ctorEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np7RingBuf4dtorEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np7RingBuf4InitEPvm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np7RingBuf4PeekEmPvm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np7RingBuf4ReadEPvm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np7RingBuf5ClearEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np7RingBuf5WriteEPKvm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np7RingBuf7DestroyEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np7RingBufC1Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np7RingBufC2Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np7RingBufD0Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np7RingBufD1Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np7RingBufD2Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np8HttpFile4ReadEPNS0_6HandleEPvmPm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np8HttpFile5CloseEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np8HttpFileC2EP16SceNpAllocatorEx() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np8HttpFileD0Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np8HttpFileD1Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np8HttpFileD2Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np8JsonBool5ClearEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np8JsonBool7SetBoolEb() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np8JsonFile5CloseEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np8JsonFileD0Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np8JsonFileD1Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np8JsonFileD2Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np8JsonNull5ClearEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np8NpCommId5BuildERKS1_Pcm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np8NpCommId5ClearEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np8NpCommId5ParseEPS1_PKc() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np8NpCommId5ParseEPS1_PKcm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np8NpCommIdC1ERK20SceNpCommunicationId() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np8NpCommIdC1ERKS1_() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np8NpCommIdC1Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np8NpCommIdC2ERK20SceNpCommunicationId() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np8NpCommIdC2ERKS1_() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np8NpCommIdC2Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np8NpCommIdD0Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np8NpCommIdD1Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np8NpCommIdD2Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np8Selector4InitEPKc() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np8SelectorD0Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np8SelectorD1Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np8SelectorD2Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np8WorkItem10SetPendingEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np8WorkItem10SetRunningEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np8WorkItem11SetFinishedEi() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np8WorkItem14FinishCallbackEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np8WorkItem15RemoveFromQueueEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np8WorkItem6CancelEi() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np8WorkItem9BindQueueEPNS0_9WorkQueueEi() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np8WorkItemC2EPKc() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np8WorkItemD0Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np8WorkItemD1Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np8WorkItemD2Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9EventFlag3SetEm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9EventFlag4ctorEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9EventFlag4dtorEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9EventFlag4OpenEPKc() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9EventFlag4PollEmjPm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9EventFlag4WaitEmjPmj() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9EventFlag5ClearEm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9EventFlag6CancelEm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9EventFlag6CreateEPKcj() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9EventFlag7DestroyEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9EventFlagC1Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9EventFlagC2Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9EventFlagD0Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9EventFlagD1Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9EventFlagD2Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9HttpTrans10SetTimeoutEPKNS1_12TimeoutParamE() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9HttpTrans11SendRequestEPNS0_6HandleEPKvm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9HttpTrans12RecvResponseEPNS0_6HandleEPvmPm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9HttpTrans12SkipResponseEPNS0_6HandleE() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9HttpTrans16AddRequestHeaderEPKcS3_() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9HttpTrans16SetRequestHeaderEPKcS3_() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9HttpTrans21GetResponseStatusCodeEPNS0_6HandleEPi() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9HttpTrans21SetRequestContentTypeEPKc() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9HttpTrans23SetRequestContentLengthEm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9HttpTrans24GetResponseContentLengthEPNS0_6HandleEPbPm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9HttpTrans4InitERKNS0_12HttpTemplateEPNS0_18HttpConnectionPoolEiPKcm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI
+_ZN3sce2np9HttpTrans4InitERKNS0_12HttpTemplateEPNS0_18HttpConnectionPoolEiPKcS8_tS8_m() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9HttpTrans4ReadEPNS0_6HandleEPvmPm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9HttpTrans5WriteEPNS0_6HandleEPKvmPm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9HttpTrans7DestroyEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9HttpTransC1EP16SceNpAllocatorEx() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9HttpTransC2EP16SceNpAllocatorEx() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9HttpTransD0Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9HttpTransD1Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9HttpTransD2Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9JsonArray12AddItemArrayEPPS1_() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9JsonArray5ClearEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9JsonValue12GetItemValueEi() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9JsonValue13GetFieldValueEiPPKc() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9JsonValue13GetFieldValueEPKc() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9JsonValueD0Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9JsonValueD1Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9JsonValueD2Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9LocalFile4ReadEPNS0_6HandleEPvmPm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9LocalFile4SeekEliPl() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9LocalFile4SyncEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9LocalFile5CloseEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9LocalFile5WriteEPNS0_6HandleEPKvmPm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9LocalFile6RemoveEPKc() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9LocalFile8TruncateEl() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9LocalFileC1Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9LocalFileC2Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9LocalFileD0Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9LocalFileD1Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9LocalFileD2Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9NpTitleId5BuildERKS1_Pcm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9NpTitleId5ClearEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9NpTitleId5ParseEPS1_PKc() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9NpTitleId5ParseEPS1_PKcm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9NpTitleIdC1ERK12SceNpTitleId() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9NpTitleIdC1ERKS1_() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9NpTitleIdC1Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9NpTitleIdC2ERK12SceNpTitleId() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9NpTitleIdC2ERKS1_() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9NpTitleIdC2Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9NpTitleIdD0Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9NpTitleIdD1Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9NpTitleIdD2Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9RefObject6AddRefEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9RefObject7ReleaseEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9RefObjectC1Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9RefObjectC2Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9RefObjectD0Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9RefObjectD1Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9RefObjectD2Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9Semaphore4OpenEPKc() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9Semaphore4WaitEj() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9Semaphore6CreateEiiPKc() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9Semaphore6SignalEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9Semaphore7DestroyEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9SemaphoreC1Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9SemaphoreC2Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9SemaphoreD0Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9SemaphoreD1Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9SemaphoreD2Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9WorkQueue11GetItemByIdEi() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9WorkQueue15GetFinishedItemENS0_14WorkItemStatusE() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9WorkQueue16WorkItemFinishedEPNS0_8WorkItemEi() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9WorkQueue17ProcFinishedItemsENS0_14WorkItemStatusE() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9WorkQueue18RemoveFinishedItemEPNS0_8WorkItemE() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9WorkQueue18WaitForPendingItemEPPNS0_8WorkItemEPb() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9WorkQueue4ctorEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9WorkQueue4dtorEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9WorkQueue4InitEPKcimm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9WorkQueue4InitEPKNS0_6Thread5ParamE() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9WorkQueue4StopEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9WorkQueue5StartEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9WorkQueue6CancelEii() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9WorkQueue6IsInitEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9WorkQueue7DestroyEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9WorkQueue7EnqueueEiPNS0_8WorkItemE() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9WorkQueue9CancelAllEi() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9WorkQueue9IsRunningEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9WorkQueueC1Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9WorkQueueC2Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9WorkQueueD0Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9WorkQueueD1Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2np9WorkQueueD2Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2npeqERK10SceRtcTickRKNS0_4TimeE() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2npeqERK12SceNpTitleIdRKNS0_9NpTitleIdE() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2npeqERK16SceNpTitleSecretRKNS0_13NpTitleSecretE() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2npeqERK20SceNpCommunicationIdRKNS0_8NpCommIdE() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2npeqERKNS0_13NpTitleSecretERK16SceNpTitleSecret() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2npeqERKNS0_13NpTitleSecretES3_() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2npeqERKNS0_4TimeERK10SceRtcTick() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2npeqERKNS0_4TimeES3_() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2npeqERKNS0_8NpCommIdERK20SceNpCommunicationId() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2npeqERKNS0_8NpCommIdES3_() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2npeqERKNS0_9NpTitleIdERK12SceNpTitleId() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2npeqERKNS0_9NpTitleIdES3_() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2npgeERK10SceRtcTickRKNS0_4TimeE() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2npgeERKNS0_4TimeERK10SceRtcTick() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2npgeERKNS0_4TimeES3_() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2npgtERK10SceRtcTickRKNS0_4TimeE() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2npgtERKNS0_4TimeERK10SceRtcTick() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2npgtERKNS0_4TimeES3_() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2npleERK10SceRtcTickRKNS0_4TimeE() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2npleERKNS0_4TimeERK10SceRtcTick() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2npleERKNS0_4TimeES3_() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2npltERK10SceRtcTickRKNS0_4TimeE() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2npltERKNS0_4TimeERK10SceRtcTick() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2npltERKNS0_4TimeES3_() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2npneERK10SceRtcTickRKNS0_4TimeE() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2npneERK12SceNpTitleIdRKNS0_9NpTitleIdE() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2npneERK16SceNpTitleSecretRKNS0_13NpTitleSecretE() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2npneERK20SceNpCommunicationIdRKNS0_8NpCommIdE() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2npneERKNS0_13NpTitleSecretERK16SceNpTitleSecret() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2npneERKNS0_13NpTitleSecretES3_() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2npneERKNS0_4TimeERK10SceRtcTick() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2npneERKNS0_4TimeES3_() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2npneERKNS0_8NpCommIdERK20SceNpCommunicationId() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2npneERKNS0_8NpCommIdES3_() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2npneERKNS0_9NpTitleIdERK12SceNpTitleId() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZN3sce2npneERKNS0_9NpTitleIdES3_() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZNK3sce2np10Cancelable6IsInitEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZNK3sce2np10EventQueue6IsInitEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZNK3sce2np10EventQueue7IsEmptyEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZNK3sce2np10JsonNumber5CloneEP16SceNpAllocatorEx() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZNK3sce2np10JsonNumber6GetNumEPcm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZNK3sce2np10JsonNumber6GetNumEPi() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZNK3sce2np10JsonNumber6GetNumEPj() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZNK3sce2np10JsonNumber6GetNumEPl() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZNK3sce2np10JsonNumber6GetNumEPm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZNK3sce2np10JsonNumber9GetNumStrEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZNK3sce2np10JsonObject5CloneEP16SceNpAllocatorEx() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZNK3sce2np10JsonString5CloneEP16SceNpAllocatorEx() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZNK3sce2np10JsonString6GetStrEPcm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZNK3sce2np10JsonString6GetStrEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZNK3sce2np10JsonString9GetLengthEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZNK3sce2np12HttpTemplate6IsInitEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZNK3sce2np18HttpConnectionPool6IsInitEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZNK3sce2np3ipc10IpmiClient6IsInitEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZNK3sce2np3ipc17ServiceIpmiClient6IsInitEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZNK3sce2np4Cond6IsInitEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZNK3sce2np4Time18ConvertToPosixTimeEPl() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZNK3sce2np5Mutex6IsInitEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZNK3sce2np6Handle6IsInitEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZNK3sce2np6Thread6IsInitEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZNK3sce2np7RingBuf11GetDataSizeEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZNK3sce2np7RingBuf11GetFreeSizeEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZNK3sce2np7RingBuf6IsFullEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZNK3sce2np7RingBuf7IsEmptyEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZNK3sce2np8JsonBool5CloneEP16SceNpAllocatorEx() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZNK3sce2np8JsonBool7GetBoolEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZNK3sce2np8JsonNull5CloneEP16SceNpAllocatorEx() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZNK3sce2np8NpCommId7IsEmptyEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZNK3sce2np9EventFlag6IsInitEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZNK3sce2np9HttpTrans6IsInitEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZNK3sce2np9JsonArray5CloneEP16SceNpAllocatorEx() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZNK3sce2np9JsonValue12GetItemValueEi() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZNK3sce2np9NpTitleId7IsEmptyEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZNK3sce2np9Semaphore6IsInitEv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZThn16_N3sce2np10MemoryFile5WriteEPNS0_6HandleEPKvmPm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZThn16_N3sce2np10MemoryFileD0Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZThn16_N3sce2np10MemoryFileD1Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZThn16_N3sce2np9HttpTrans5WriteEPNS0_6HandleEPKvmPm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZThn16_N3sce2np9HttpTransD0Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZThn16_N3sce2np9HttpTransD1Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZThn16_N3sce2np9LocalFile5WriteEPNS0_6HandleEPKvmPm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZThn16_N3sce2np9LocalFileD0Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZThn16_N3sce2np9LocalFileD1Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZThn8_N3sce2np10MemoryFile4ReadEPNS0_6HandleEPvmPm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZThn8_N3sce2np10MemoryFileD0Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZThn8_N3sce2np10MemoryFileD1Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZThn8_N3sce2np6Handle10CancelImplEi() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZThn8_N3sce2np6HandleD0Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZThn8_N3sce2np6HandleD1Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZThn8_N3sce2np9HttpTrans4ReadEPNS0_6HandleEPvmPm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZThn8_N3sce2np9HttpTransD0Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZThn8_N3sce2np9HttpTransD1Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZThn8_N3sce2np9LocalFile4ReadEPNS0_6HandleEPvmPm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZThn8_N3sce2np9LocalFileD0Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZThn8_N3sce2np9LocalFileD1Ev() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZTVN3sce2np10JsonNumberE() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZTVN3sce2np10JsonObjectE() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZTVN3sce2np10JsonStringE() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZTVN3sce2np8JsonBoolE() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZTVN3sce2np8JsonNullE() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZTVN3sce2np8SelectorE() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZTVN3sce2np9JsonArrayE() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI _ZTVN3sce2np9JsonValueE() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpAllocateKernelMemoryNoAlignment() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpAllocateKernelMemoryWithAlignment() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpArchInit() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpArchTerm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpAtomicCas32() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpAtomicDec32() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpAtomicInc32() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpBase64Decoder() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpBase64Encoder() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpBase64GetDecodeSize() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpBase64UrlDecoder() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpBase64UrlEncoder() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpBase64UrlGetDecodeSize() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpCalloutInitCtx() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpCalloutStartOnCtx() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpCalloutStartOnCtx64() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpCalloutStopOnCtx() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpCalloutTermCtx() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpCancelEventFlag() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpClearEventFlag() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpCloseEventFlag() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpCloseSema() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpCondDestroy() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpCondInit() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpCondSignal() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpCondSignalAll() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpCondSignalTo() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpCondTimedwait() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpCondWait() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpCreateEventFlag() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpCreateSema() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpCreateThread() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpDbgAssignDebugId() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpDbgDumpBinary() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpDbgDumpText() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpDeleteEventFlag() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpDeleteSema() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpEventGetCurrentNetworkTick() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpFreeKernelMemory() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpGetNavSdkVersion() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpGetPlatformType() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpGetProcessId() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpGetRandom() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpGetSdkVersion() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpGetSdkVersionUInt() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpGetSystemClockUsec() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpGlobalHeapGetAllocator() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpGlobalHeapGetAllocatorEx() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpGlobalHeapGetAllocatorExPtr() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpGlobalHeapGetAllocatorPtr() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpHeapDestroy() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpHeapGetAllocator() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpHeapGetStat() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpHeapInit() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpHeapShowStat() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpHexToInt() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpInt32ToStr() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpInt64ToStr() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpIntGetPlatformType() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpIntIsOnlineIdString() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpIntIsValidOnlineId() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpIntSetPlatformType() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpIntToHex() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpIpc2ClientInit() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpIpc2ClientTerm() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpJoinThread() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpJsonParse() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpJsonParseBuf() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpJsonParseBufInit() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpJsonParseEx() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpJsonParseExInit() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpJsonParseInit() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpLwCondDestroy() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpLwCondInit() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpLwCondSignal() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpLwCondSignalAll() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpLwCondSignalTo() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpLwCondWait() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpLwMutexDestroy() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpLwMutexInit() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpLwMutexLock() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpLwMutexTryLock() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpLwMutexUnlock() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpMemoryHeapDestroy() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpMemoryHeapGetAllocator() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpMemoryHeapGetAllocatorEx() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpMemoryHeapInit() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpMutexDestroy() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpMutexInit() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpMutexLock() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpMutexTryLock() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpMutexUnlock() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpOpenEventFlag() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpOpenSema() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpPanic() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpPollEventFlag() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpPollSema() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpRtcConvertToPosixTime() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpRtcFormatRFC3339() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpRtcParseRFC3339() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpServerErrorJsonGetErrorCode() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpServerErrorJsonMultiGetErrorCode() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpServerErrorJsonParse() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpServerErrorJsonParseInit() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpServerErrorJsonParseMultiInit() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpSetEventFlag() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpSetPlatformType() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpSignalSema() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpStrBuildHex() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpStrcpyToBuf() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpStrncpyToBuf() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpStrnParseHex() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpStrParseHex() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpStrToInt32() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpStrToInt64() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpStrToUInt32() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpStrToUInt64() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpThreadGetId() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpUInt32ToStr() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpUInt64ToStr() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpUserGetUserIdList() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpUtilBuildTitleId() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpUtilCanonicalizeNpIdForPs4() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpUtilCanonicalizeNpIdForPsp2() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpUtilCmpAccountId() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpUtilGetDateSetAuto() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpUtilGetDbgCommerce() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpUtilGetEnv() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpUtilGetFakeDisplayNameMode() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpUtilGetFakeRateLimit() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpUtilGetIgnoreNpTitleId() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpUtilGetNpDebug() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpUtilGetNpLanguageCode() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpUtilGetNpLanguageCode2() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpUtilGetNpLanguageCode2Str() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpUtilGetNpLanguageCodeStr() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpUtilGetNpTestPatch() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpUtilGetNthChar() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpUtilGetShareTitleCheck() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpUtilGetSystemLanguage() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpUtilGetTrcNotify() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpUtilGetWebApi2FakeRateLimit() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpUtilGetWebApi2FakeRateLimitTarget() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpUtilGetWebTraceSetting() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpUtilHttpUrlEncode() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpUtilJidToNpId() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpUtilJsonEscape() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpUtilJsonGetOneChar() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpUtilJsonUnescape() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpUtilNpIdToJid() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpUtilNumChars() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpUtilParseJid() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpUtilParseTitleId() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpUtilSerializeJid() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpUtilXmlEscape() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpUtilXmlGetOneChar() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpUtilXmlUnescape() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpWaitEventFlag() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpWaitSema() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpXmlParse() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceNpXmlParseInit() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_00FD578C2DD966DF() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_0131A2EA80689F4C() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_01443C54863BDD20() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_01BC55BDC5C0ADAD() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_01D1ECF5750F40E8() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_020A479A74F5FBAC() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_024AF5E1D9472AB5() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_027C5D488713A6B3() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_02FE9D94C6858355() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_041F34F1C70D15C1() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_0530B1D276114248() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_065DAA14E9C73AD9() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_06AFF4E5D042BC3E() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_06EE369299F73997() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_07C92D9F8D76B617() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_07E9117498F1E4BF() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_08F3E0AF3664F275() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_0A9937C01EF21375() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_0ACBE6ACCBA3876D() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_0AE07D3354510CE6() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_0AEC3C342AE67B7C() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_0B318420C11E7C23() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_0BB6C37B03F35D89() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_0BBE8A9ACDD90FDF() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_0C7B62905E224E9C() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_0D35913117241AF9() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_0D5EE95CEED879A7() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_0D6FB24B27AB1DA2() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_0DE8032D534AC41C() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_0DF4CCA9DCA9E742() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_0E7449B1D3D98C01() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_0E77094B7750CB37() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_0ECAB397B6D50603() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_0F1DE1D1EADA2948() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_0F8AFEFA1D26BF1A() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_11881710562A6BAD() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_11AFD88BBD0C70DB() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_11E704A30A4B8877() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_125014842452F94B() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_126F0071E11CAC46() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_12926DCF35994B01() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_12CC7ABFBF31618F() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_13C4E51F44592AA2() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_15330E7C56338254() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_1566B358CABF2612() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_1625818F268F45EF() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_16D32B40D28A9AC2() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_183F4483BDBD25CD() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_1887E9E95AF62F3D() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_18A3CE95FD893D3A() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_18B3665E4854E7E9() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_1923B003948AF47E() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_19B533DA4C59A532() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_1BB399772DB68E08() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_1C0AC612D3A2971B() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_1C5599B779990A43() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_1CCBB296B04317BE() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_1CD045542FB93002() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_1DECECA673AB77B7() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_1E03E024E26C1A7F() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_1F101732BB0D7E21() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_1F4D153EC3DD47BB() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_1F7C47F63FAF0CBE() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_1FBE2EE68C0F31B6() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_2038C1628914B9C9() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_203FCB56FDB86A74() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_20569C107C6CB08C() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_20AB2D734EDE55F0() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_22B1281180FB0A5E() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_22F1AADA66A449AE() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_238B215EFFDF3D30() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_24E8EC51D149FA15() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_25728E78A3962C02() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_25E649A1C6891C05() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_264B8A38B577705D() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_266ED08DC1C82A0E() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_27BB4DE62AB58BAD() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_283AA96A196EA2EA() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_285315A390A85A94() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_29049DBB1EF3194E() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_29F7BA9C3732CB47() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_2A732DF331ACCB37() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_2AA01660EC75B6FB() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_2B37CBCE941C1681() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_2CAA3B64D0544E55() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_2CCD79617EC10A75() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_2CD8B69716AC0667() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_2D74F7C0FF9B5E9C() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_2DCA5A8080544E95() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_2E69F2743CE7CE57() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_2EAF1F3BAFF0527D() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_31493E55BB4E8F66() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_317EDCAD00FB5F5E() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_31E01CFA8A18CDA2() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_32AFD782A061B526() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_32B5CDEB093B8189() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_34155152513C93AE() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_34E4EFFF8EF6C9FE() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_3572FA0D5C54563B() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_367C479B264E0DB9() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_36884FBC964B29CC() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_3860081BB7559949() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_39314F7E674AB132() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_3A02E780FCC556A5() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_3A17B885BA4849B6() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_3A38EACAEA5E23A4() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_3B34A5E07F0DBC1F() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_3B4E8FFC00FC7EA4() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_3BAB18FDA235107A() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_3BDF9996A0A33F11() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_3C1952F1A45CC37A() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_3CA37906CDB05F3B() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_3CDB2908ACEE3A6F() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_3D3ED165F2BDCD33() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_3DA4D7D1575FCDCE() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_3DDFB612CD0BC769() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_3E0415E167DEADC7() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_3E7E9F0F1581C1E6() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_3ED389DB8280ED65() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_3F0C7F6C0C35487D() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_3FDA7200389EF0D2() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_3FF3C258BA516E58() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_4029453F628A3C5D() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_405826DDB4AE538E() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_405A926759F25865() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_406608FDEE7AE88A() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_40DDA5558C17DDCF() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_419D12E52FF60664() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_4296E539474BE77F() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_42F41FC563CC3654() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_43CCC86F4C93026A() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_4409F60BDABC65E1() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_4563C70AEC675382() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_45E66370219BD05E() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_466A54F072785696() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_46CD2536976F209A() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_4863717BD2FDD157() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_4902EBD19A263149() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_4904F7FE8D83F40C() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_4A5E13F784ABFCE7() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_4B65EEB135C12781() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_4C19D49978DA85E2() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_4DE5D620FF66F136() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_4E170C12B57A8F9E() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_4E2F3FA405C3260C() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_4EA9350577513B4D() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_4F78EB6FC4B5F21F() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_50348BE4331117B7() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_508C7E8CDD281CAA() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_521C1D2C028F5A7E() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_522FF24A35E67291() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_5470FE90C25CDD4C() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_557F260F9A4ACD18() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_5586F97209F391EB() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_55B2C9B7ADA95C3C() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_55B488A3A540B936() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_5642DFE82AF43143() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_574E046F294AE187() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_578926EBF8AA6CBF() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_585DA5FC650896BC() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_58D6EB27349EC276() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_5906B7317949872D() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_5910B5614335BE70() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_593D7DA8911F08C9() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_59757FE6A93B0D53() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_598E60F862B1141E() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_5A45351666680DAF() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_5AABE9EA702E6A7F() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_5AEA4AE472355B80() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_5B20E53CDE598741() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_5B480B59FAE947E0() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_5B5EEC23690AB9BD() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_5C0AC5B0AF3EDAE0() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_5D2E999BEA0762D4() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_5D55BBFD45110E16() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_5DEE15403D2BB5FD() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_6020C708CA74B130() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_606E1415503C34D2() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_612140E8EE9A693E() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_61F13F551DAF61DF() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_6206D39131752328() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_621D4543EF0344DE() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_6259A9A8E56D0273() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_625F9C7016346F4E() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_62EF8DF746CD8C4A() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_636D2A99FD1E6B2B() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_68013EDF66FE7425() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_6971F7067DD639D1() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_69896ADB3AB410B2() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_6A1389AA6E561387() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_6A5560D89F12B2E7() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_6ABF99CF854ABCF1() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_6B4FDDC6500D8DCB() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_6CA11D5B49D1928A() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_6D6C0FB61E6D0715() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_6D750745FE1348F5() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_6E1AF3F9D09914BE() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_6E53ED4C08B2A521() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_6EF43ACA1ED6B968() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_6F6FA09F3E1B6A60() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_7035C340C7195901() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_7038E21CB5CF641B() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_706345DCDA5BA44D() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_7120714EBF10BF1F() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_713D28A91BC803DD() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_7153BD76A53AA012() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_715C625CC7041B6B() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_71E467BDB18711D0() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_720D17965C1F4E3F() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_734380C9BCF65B9A() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_73F4C08CCD4BBCCF() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_74403101B7B29D46() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_7525B081ACD66FF4() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_75BF4477C13A05CA() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_7609793F5987C6F7() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_7616ED01B04769AA() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_764F873D91A124D8() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_7706F1E123059565() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_77F2D07EB6D806E6() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_79C3704CDCD59E57() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_79DA0BBA21351545() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_79FA2447B5F3F0C4() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_7A4D6F65FF6195A5() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_7B3195CD114DECE7() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_7B3238F2301AD36D() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_7C77FC70750A3266() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_7D23A9DC459D6D18() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_7D5988C748D0A05F() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_7D9597147A99F4F4() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_7E2953F407DD8346() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_7EE34E5099709B32() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_80470E5511D5CA00() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_807179701C08F069() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_8096E81FFAF24E46() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_80B764F4F1B87042() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_80BF691438AD008B() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_80CF6CFC96012442() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_80EA772F8C0519FD() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_81D0AFD0084D327A() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_821EB8A72176FD67() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_82D2FAB54127273F() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_836AE669C42A59E9() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_8559A25BFEC3518C() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_85C1F66C767A49D2() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_8689ED1383F87BA7() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_8796CD9E5355D3A6() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_87D37EB6DDC19D99() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_880AA48F70F84FDD() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_897B07562093665B() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_8ACAF55F16368087() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_8AE8A5589B30D4E0() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_8AE997909831B331() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_8B2D640BE0D0FB99() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_8B3D9AB4668DAECB() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_8B5EFAAAACE0B46C() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_8C27943F40A988DB() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_8C54096C75F5F2D0() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_8D7663A0A5168814() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_8E618F509994FAD7() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_8F19E6CC064E2B98() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_8F6A8AEAEE922FF5() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_9010E1AD8EBBFBCA() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_90A955A0E7001AE9() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_90F9D6067FEECC05() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_9348F3D19546A1DA() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_93D3C011DB19388A() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_956E7A4FD9F89103() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_95F699E042C3E40F() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_96877B39AA0E8735() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_96CE07C49ED234EA() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_976BB178235B5681() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_978C0B25E588C4D6() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_98BA2612BEF238D6() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_995BDD4931AF9137() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_9966E39A926B7250() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_99C2306F18963464() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_99C92C613B776BA7() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_9A4E4B938CC8AD39() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_9B23F7B4B7F72081() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_9C0EAEEAE705A8DB() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_9D47AC59545DE9E8() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_A13052D8B1B2ACFA() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_A1AA43E3A78F6F62() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_A1E48CDF54649DC9() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_A2E7DEE5B0AF5D14() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_A2F5C7FD9FF113F5() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_A36296E2269D46BC() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_A3EE2A7B9F0D88AF() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_A4471F9F7E0BFA82() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_A449BBA521EA34E1() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_A48E666C334E726C() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_A49B7449B4DDE69C() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_A5748451125C9EA4() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_A690A28D648CC176() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_A6A86DE1B1CBB1D9() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_A8F2BB7B815740A1() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_A93F64C06A6F7397() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_AB35925FC97D6AA3() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_AC014AA2C991FA29() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_AC06E10901404AEB() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_AC75C68813523505() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_AD441BC497082C3E() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_AD4F25F021D354C3() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_ADFA04A85541A4FE() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_AE9610A6B5217A23() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_AF201923826F0A58() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_AFC021B4389CA3FA() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_B015E999A3373D8F() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_B0384B86107FC652() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_B0C630653B316563() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_B100DCCD88D5C73D() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_B11A3FEA5E4D9EA4() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_B2E7F8DC199C0B93() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_B3AB61A296F6DDC8() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_B3F32F6AE619EC82() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_B4227AB213BF8CF5() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_B4652BF42B604360() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_B536C1F13BFE97CB() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_B645CC264184BC89() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_B67E17B1582C6FBD() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_B6D047C5D7695A4D() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_B75ED8E1EA62EFC7() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_B7A9A944DBD7E100() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_B7C4E75BE94F31F3() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_B888B1F92C464121() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_B8DEC22564AA057B() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_B9BADD1CBBBAE4F8() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_BAA9F7169C85E59F() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_BAEE5C38908D62DB() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_BCC855EB25183F84() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_BD01F637029C7364() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_BDD29F5AC7077E53() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_BED83DD33ECAD50D() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_BEE7D5D098ABF728() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_C0DB15CCF59AE62C() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_C1C229FEE0FD60FA() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_C228B9AD68298E98() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_C298525CEF6FB283() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_C350F09351F6D6B5() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_C3742E80FA580319() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_C3C9853D5D4D45D4() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_C3F5DAD4FB9FC340() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_C45FB0E4CCE9AED6() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_C4979CB948B7E3C7() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_C49B25BA16CF0B8C() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_C551345D9631201E() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_C57A294421368298() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_C5DC91CAD721D628() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_C6DECEE589135357() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_C81F8B20D67AC78D() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_C820FA56FAC87BEA() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_C878EA9114C5E490() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_C8A813EBFF477509() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_C966A663D5A35482() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_C97C4C67FD3674D3() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_C990550F15848B07() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_CA59737A8EC1BBBE() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_CAC5FDE8F80D7B65() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_CB135B30D0639B83() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_CB8A1AAA61F64C3A() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_CB9E674672580757() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_CC2B9D25EAEAAB1D() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_CD1B252BBEDF5B53() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_CF003BE90CBE1A27() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_CF008E34884AC1E2() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_D0B8F4B3A3687AB2() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_D0EE19B8E91F60F5() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_D12B9294BD0E0F56() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_D1CC8626D8FA328B() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_D2FA2BB9EB8B63AC() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_D32197880CF93CEB() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_D326F5C26CC81B8E() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_D4FA06B95A321B7A() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_D52A37A901E04B21() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_D5504DFC399AB400() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_D56105CB27F8F5DC() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_D568AB19235ECB19() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_D6DF7BF6639FE611() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_D8608A903119D746() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_D9E8FC707D59914D() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_D9F079E62DEE5B29() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_DA17CE4F29748536() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_DA40B9EFD7F61185() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_DA6B274FEBC2666A() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_DAD01535C87A51FC() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_DB4511D448510EC4() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_DB8EF1FFFC66269C() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_DBB508FA1B9DA8F7() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_DC59C9B870B729A2() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_DC669ED6CBF6751C() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_DCB8A2849A41C991() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_DD8F9916D7F03AF7() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_DDC33F2F4E480C2A() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_DE0B420BDE8B22D7() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_E0C0BC29898FE370() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_E0CD893E46FB55BA() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_E25530164B7F659F() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_E3682F43FDF76C58() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_E38177E1C78A80FA() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_E3CA74CFF965DF0A() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_E45BB191B49B2ED9() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_E465B9D6B60E6D7D() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_E4D82876C296C38A() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_E4DDB5350FA5B538() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_E54BFF6FB72BC7BE() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_E592A93203020BBB() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_E5A44AF6D7D48AFD() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_E639A97CF9FF1430() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_E6AC0179E48A8927() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_E751596682775D83() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_E788B1E52EF82702() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_E94F17613F5C9D31() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_E9590113128D55E0() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_E9E0B0DD12560B16() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_EAF5C8ECE64C7B05() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_EB98BF5C42D4A7EB() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_EBABC4AAC43A468C() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_EBF00085F082CC8B() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_ECB659EE058D06AF() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_ECF096AB751487AE() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_EE5A271701DB33C0() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_EF64CB6A1625248E() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_EF6C8A357C7ED863() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_F00FE94F7E699994() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_F1A51DBA30329038() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_F216E766A90FDC12() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_F2A10584ABE5D82C() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_F2D99D395E5421A3() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_F38001E528BA1371() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_F39EC9C8FA7687B3() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_F3AFFFDCD632775C() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_F3B8DFF33748BFD3() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_F5E47F9550F7A147() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_F6E93714D1A939CF() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_F6FD19AD48E4EF09() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_F744EBFC620F7CBF() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_F76E4525ACBACC7F() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_F7957A48882F42CB() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_F7A80B07809BA838() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_F8571C6CC5B6B59D() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_F9787CFA873836FB() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_FA789F6D34D383F8() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_FABA574083AC1E6C() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_FC04FDBBAE368FB7() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_FD2DAFBF2E40EEE7() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_FD55EE6D35F950AD() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_FE55EE32098D0D58() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_FE79841022E1DA1C() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_FFF4A3E279FB44A7() {
+ LOG_ERROR(Lib_NpCommon, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+void RegisterlibSceNpCommon(Core::Loader::SymbolsResolver* sym) {
+ LIB_FUNCTION("i8UmXTSq7N4", "libSceNpCommonCompat", 1, "libSceNpCommon", 1, 1, sceNpCmpNpId);
+ LIB_FUNCTION("TcwEFnakiSc", "libSceNpCommonCompat", 1, "libSceNpCommon", 1, 1,
+ sceNpCmpNpIdInOrder);
+ LIB_FUNCTION("dj+O5aD2a0Q", "libSceNpCommonCompat", 1, "libSceNpCommon", 1, 1,
+ sceNpCmpOnlineId);
+ LIB_FUNCTION("0gdlCVNNHCI", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _sceNpAllocatorExConvertAllocator);
+ LIB_FUNCTION("Zh23aSLeeZo", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, _sceNpAllocatorExFree);
+ LIB_FUNCTION("a2qdVU8RWb4", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _sceNpAllocatorExMalloc);
+ LIB_FUNCTION("kKF3w-XkCWA", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _sceNpAllocatorExRealloc);
+ LIB_FUNCTION("Cmd4+m7V00c", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _sceNpAllocatorExStrdup);
+ LIB_FUNCTION("EziLjfyTnKI", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _sceNpAllocatorExStrndup);
+ LIB_FUNCTION("BztTl7QeYqE", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, _sceNpAllocatorFree);
+ LIB_FUNCTION("mzlILsFx0cU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, _sceNpAllocatorMalloc);
+ LIB_FUNCTION("VWcTu8wKwlQ", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _sceNpAllocatorRealloc);
+ LIB_FUNCTION("c8-4aC9opYE", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, _sceNpAllocatorStrdup);
+ LIB_FUNCTION("vqA9bl6WsF0", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _sceNpAllocatorStrndup);
+ LIB_FUNCTION("z5kwfM5InpI", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, _sceNpFree);
+ LIB_FUNCTION("p1vvpKGRXe4", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, _sceNpHeapFree);
+ LIB_FUNCTION("kwW5qddf+Lo", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, _sceNpHeapMalloc);
+ LIB_FUNCTION("wsfyvM+VbUk", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, _sceNpHeapRealloc);
+ LIB_FUNCTION("atWcfgasESY", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, _sceNpHeapStrdup);
+ LIB_FUNCTION("RzLv+HR5E2A", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, _sceNpHeapStrndup);
+ LIB_FUNCTION("w2+qV1RJgcI", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, _sceNpMalloc);
+ LIB_FUNCTION("UmzxltBpiiY", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, _sceNpRealloc);
+ LIB_FUNCTION("LJvHO3uCNm4", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np10Cancelable10IsCanceledEv);
+ LIB_FUNCTION("fd+grYAEph0", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np10Cancelable10LockCancelEPKciS3_);
+ LIB_FUNCTION("IwDQAbQxvD0", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np10Cancelable11CheckCancelEPKciS3_);
+ LIB_FUNCTION("-zbpF68OGDs", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np10Cancelable12UnlockCancelEPKciS3_);
+ LIB_FUNCTION("bBLapYYwyr0", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np10Cancelable13SetCancelableEb);
+ LIB_FUNCTION("j4gLOIpHgNk", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np10Cancelable14SetupSubCancelEPS1_PKciS4_);
+ LIB_FUNCTION("vmt3ZOlQu3o", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np10Cancelable16CleanupSubCancelEPS1_);
+ LIB_FUNCTION("Y7f+qBjKxdo", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np10Cancelable4InitEv);
+ LIB_FUNCTION("Jhbrpz0YhHU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np10Cancelable6CancelEij);
+ LIB_FUNCTION("v2yJZLY0w1U", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np10Cancelable7DestroyEv);
+ LIB_FUNCTION("vqekW3s-eFg", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np10CancelableC2Ev);
+ LIB_FUNCTION("kdOC-2AE06w", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np10CancelableD0Ev);
+ LIB_FUNCTION("upzdrzOYkS0", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np10CancelableD1Ev);
+ LIB_FUNCTION("vZXDqs2x7t0", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np10CancelableD2Ev);
+ LIB_FUNCTION("nleHqndSeQ0", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np10CancelLock3EndEPKciS3_);
+ LIB_FUNCTION("lJ2Efd9PUKI", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np10CancelLock5BeginEPNS0_6HandleEPKciS5_);
+ LIB_FUNCTION("Vq9LKkPXkIQ", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np10CancelLockC1Ev);
+ LIB_FUNCTION("MecB8wAHCfE", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np10CancelLockC2Ev);
+ LIB_FUNCTION("K7FjXiy2z+A", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np10CancelLockD1Ev);
+ LIB_FUNCTION("1iHBAKrdE90", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np10CancelLockD2Ev);
+ LIB_FUNCTION("aoas3bJANfY", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np10EventQueue10ClearAbortEt);
+ LIB_FUNCTION("QlP4t2SGZ4I", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np10EventQueue10TryDequeueEPvm);
+ LIB_FUNCTION("xu9qWN0YYC4", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np10EventQueue4ctorEv);
+ LIB_FUNCTION("N1gnYosdK7Q", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np10EventQueue4dtorEv);
+ LIB_FUNCTION("b20e017Ei94", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np10EventQueue4InitEPKcmm);
+ LIB_FUNCTION("slmKkuIoC28", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np10EventQueue5AbortEt);
+ LIB_FUNCTION("suxln7PooIo", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np10EventQueue7DequeueEPvmj);
+ LIB_FUNCTION("qvpEuKumIGM", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np10EventQueue7DestroyEv);
+ LIB_FUNCTION("AV5jHo8O3+E", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np10EventQueue7EnqueueEPKvmj);
+ LIB_FUNCTION("esiO4He2WTU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np10EventQueueC2EP16SceNpAllocatorEx);
+ LIB_FUNCTION("E4uoqSdo8ek", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np10EventQueueD0Ev);
+ LIB_FUNCTION("lQXgvDXBGtA", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np10EventQueueD1Ev);
+ LIB_FUNCTION("8kUkQPQP7bA", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np10EventQueueD2Ev);
+ LIB_FUNCTION("YHNEgBCSL2o", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np10JsonNumber5ClearEv);
+ LIB_FUNCTION("UgmqDr1BCLw", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np10JsonNumber6SetNumEi);
+ LIB_FUNCTION("PccynQ5NdVQ", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np10JsonNumber6SetNumEj);
+ LIB_FUNCTION("MY0CSk24EcY", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np10JsonNumber6SetNumEl);
+ LIB_FUNCTION("qbW7qOvVafI", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np10JsonNumber6SetNumEm);
+ LIB_FUNCTION("VyCn9EVJGlU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np10JsonNumber6SetNumEPKc);
+ LIB_FUNCTION("-WgnISXjJ7A", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np10JsonObject16DeleteFieldValueEPKc);
+ LIB_FUNCTION("DiHxx2k5zfM", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np10JsonObject5ClearEv);
+ LIB_FUNCTION("AGadQiCfKDY", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np10JsonParser4InitEPK7JsonDefPNS1_12EventHandlerE);
+ LIB_FUNCTION("CDzSgHA6hWg", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np10JsonParser5ParseEPKcm);
+ LIB_FUNCTION("ZJbPQt+FTnY", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np10JsonParserC2EP16SceNpAllocatorEx);
+ LIB_FUNCTION("u+A16O-TAHk", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np10JsonParserD0Ev);
+ LIB_FUNCTION("qJb7IXDg9xk", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np10JsonParserD1Ev);
+ LIB_FUNCTION("AvvE5A5A6ZA", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np10JsonParserD2Ev);
+ LIB_FUNCTION("kXE1imLw7yo", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np10JsonString5ClearEv);
+ LIB_FUNCTION("SN4IgvT26To", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np10JsonString6SetStrEPKc);
+ LIB_FUNCTION("EyhtbPFMWNA", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np10MemoryFile4ReadEPNS0_6HandleEPvmPm);
+ LIB_FUNCTION("AZTMWob-mog", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np10MemoryFile4SyncEv);
+ LIB_FUNCTION("dl6+SFHLke0", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np10MemoryFile5CloseEv);
+ LIB_FUNCTION("r2O0f9X-mqs", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np10MemoryFile5WriteEPNS0_6HandleEPKvmPm);
+ LIB_FUNCTION("1DtavqenQjg", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np10MemoryFile8TruncateEl);
+ LIB_FUNCTION("ev77AviWYu8", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np10MemoryFileC2EP16SceNpAllocatorEx);
+ LIB_FUNCTION("6Vst7HqJMXU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np10MemoryFileD0Ev);
+ LIB_FUNCTION("ZUf92uPkRuA", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np10MemoryFileD1Ev);
+ LIB_FUNCTION("lGjyfcI++PY", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np10MemoryFileD2Ev);
+ LIB_FUNCTION(
+ "ezJnmv7hkAg", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np12HttpTemplate19SetAuthInfoCallbackEPFii15SceHttpAuthTypePKcPcS5_iPPhPmPiPvESA_);
+ LIB_FUNCTION("iOTsJTR6Y9U", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np12HttpTemplate4InitEiPKcib);
+ LIB_FUNCTION("73qbxKjBH0o", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np12HttpTemplate7DestroyEv);
+ LIB_FUNCTION("Vj7HiXK-tTg", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np12HttpTemplateC1Ev);
+ LIB_FUNCTION("hw-UPUK9T+w", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np12HttpTemplateC2Ev);
+ LIB_FUNCTION("cXYOwTVAuMs", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np12HttpTemplateD0Ev);
+ LIB_FUNCTION("Bm74HLvoNY4", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np12HttpTemplateD1Ev);
+ LIB_FUNCTION("h6XPsGpHAtc", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np12HttpTemplateD2Ev);
+ LIB_FUNCTION("jr0OcEeQJ8o", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np12StreamBufferixEi);
+ LIB_FUNCTION("rCRh3V03bPs", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np12StreamReader4ReadEPNS0_6HandleEPNS0_9StreamCtxEPvmPm);
+ LIB_FUNCTION("2SKuIvr9sYU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np12StreamReader7ReadAllEPNS0_6HandleEPNS0_9StreamCtxEPvmPm);
+ LIB_FUNCTION("f1ncwa-JXlA", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np12StreamReader7ReadAllEPNS0_6HandleEPvmPm);
+ LIB_FUNCTION("z8qO7hql4Fs", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np12StreamReader8ReadDataEPNS0_6HandleEPNS0_9StreamCtxEPvmPm);
+ LIB_FUNCTION("oNqSobbGC80", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np12StreamReader8ReadDataEPNS0_6HandleEPvmPm);
+ LIB_FUNCTION("MSMPXUL5AuM", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np12StreamReader8SkipDataEPNS0_6HandleElPl);
+ LIB_FUNCTION("fJB07vDf7no", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np12StreamReader8SkipDataEPNS0_6HandleEPNS0_9StreamCtxElPl);
+ LIB_FUNCTION("etMUeqIhN+w", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np12StreamWriter15WriteFilledDataEPNS0_6HandleEcl);
+ LIB_FUNCTION("SP2010+gtqw", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np12StreamWriter15WriteFilledDataEPNS0_6HandleEPNS0_9StreamCtxEcl);
+ LIB_FUNCTION("Z1MRG-L+V0o", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np12StreamWriter5WriteEPNS0_6HandleEPNS0_9StreamCtxEPKvmPm);
+ LIB_FUNCTION("vHaV+tsSVu4", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np12StreamWriter9WriteDataEPNS0_6HandleEPKvmPm);
+ LIB_FUNCTION("u9s1aUWSZB0", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np12StreamWriter9WriteDataEPNS0_6HandleEPNS0_9StreamCtxEPKvmPm);
+ LIB_FUNCTION("gimH2zdBANg", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np12WorkerThread10ThreadMainEv);
+ LIB_FUNCTION("YKz2oBW3ZkM", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np12WorkerThreadC1EPNS0_9WorkQueueE);
+ LIB_FUNCTION("L9Ty-fG1IM4", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np12WorkerThreadC2EPNS0_9WorkQueueE);
+ LIB_FUNCTION("f5L6ax7EWHk", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np12WorkerThreadD0Ev);
+ LIB_FUNCTION("PvGTq9AGFfk", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np12WorkerThreadD1Ev);
+ LIB_FUNCTION("+qB+WcQlMio", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np12WorkerThreadD2Ev);
+ LIB_FUNCTION("4nCyBD9jBus", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np13JsonDocParser5ParseEPKcm);
+ LIB_FUNCTION("sgh9D+MBBKA", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np13JsonDocParser9GetResultEPPNS0_10JsonObjectE);
+ LIB_FUNCTION("lZWmdDoBDmI", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np13JsonDocParser9GetResultEPPNS0_9JsonValueE);
+ LIB_FUNCTION("yPmQcnrgR2Y", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np13JsonDocParserC2EP16SceNpAllocatorExPK7JsonDef);
+ LIB_FUNCTION("p5hRe1k4Wlg", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np13JsonDocParserD0Ev);
+ LIB_FUNCTION("iFOXfoXRHFQ", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np13JsonDocParserD1Ev);
+ LIB_FUNCTION("xS-Hjw1psYs", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np13JsonDocParserD2Ev);
+ LIB_FUNCTION("X0vEo7cZamA", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np13NpTitleSecret5ClearEv);
+ LIB_FUNCTION("IjOpzNzl57o", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np13NpTitleSecretC1EPKvm);
+ LIB_FUNCTION("bC4+qi0mqJE", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np13NpTitleSecretC1ERK16SceNpTitleSecret);
+ LIB_FUNCTION("fYr7Ahl-vNA", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np13NpTitleSecretC1ERKS1_);
+ LIB_FUNCTION("08AQ2wYpzpk", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np13NpTitleSecretC1Ev);
+ LIB_FUNCTION("Ft-VezxSErk", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np13NpTitleSecretC2EPKvm);
+ LIB_FUNCTION("9QN7g5mQgCU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np13NpTitleSecretC2ERK16SceNpTitleSecret);
+ LIB_FUNCTION("JHG9CTmkdQw", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np13NpTitleSecretC2ERKS1_);
+ LIB_FUNCTION("K1+uzxxReX0", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np13NpTitleSecretC2Ev);
+ LIB_FUNCTION("dJRIc7d5iqU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np13NpTitleSecretD0Ev);
+ LIB_FUNCTION("XBzzdzT3qyg", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np13NpTitleSecretD1Ev);
+ LIB_FUNCTION("QDlnJL6stA0", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np13NpTitleSecretD2Ev);
+ LIB_FUNCTION("RPv5L-o5qRQ", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np13RingBufMemory4ctorEv);
+ LIB_FUNCTION("NfhXX6LFmj8", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np13RingBufMemory4dtorEv);
+ LIB_FUNCTION("BkuxOAPlMMw", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np13RingBufMemory4InitEm);
+ LIB_FUNCTION("do0t--lEKMM", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np13RingBufMemory6ExpandEm);
+ LIB_FUNCTION("zdRXyt-65kA", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np13RingBufMemory6IsInitEv);
+ LIB_FUNCTION("Za00SEoNA2A", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np13RingBufMemory7DestroyEv);
+ LIB_FUNCTION("lGIw3qfqI60", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np13RingBufMemoryC2EP16SceNpAllocatorEx);
+ LIB_FUNCTION("70qFzq4z3UI", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np13RingBufMemoryD0Ev);
+ LIB_FUNCTION("C1TJsMv9wb8", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np13RingBufMemoryD1Ev);
+ LIB_FUNCTION("EaxLv8TfsrM", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np13RingBufMemoryD2Ev);
+ LIB_FUNCTION("j6CorpmdjRk", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np14CalloutContext4InitEPKcimm);
+ LIB_FUNCTION("oLpLfV2Ov9A", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np14CalloutContext4InitEPKNS1_5ParamE);
+ LIB_FUNCTION("C282U0P6Nwg", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np14CalloutContext7DestroyEv);
+ LIB_FUNCTION("dV+zK-Ce-2E", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np14CalloutContextC1Ev);
+ LIB_FUNCTION("j4IAvbKKTzw", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np14CalloutContextC2Ev);
+ LIB_FUNCTION("WR4mjQeqz6s", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np14CalloutContextD0Ev);
+ LIB_FUNCTION("S+a+rgnGX8A", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np14CalloutContextD1Ev);
+ LIB_FUNCTION("wY9g+hVxLTM", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np14CalloutContextD2Ev);
+ LIB_FUNCTION("PYBehFWVd60", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np14JsonDocBuilder12BuildBufSizeEv);
+ LIB_FUNCTION("cLdoHqi5Ezg", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np14JsonDocBuilder16EscapeJsonStringEPKcPcmPm);
+ LIB_FUNCTION("V5xX2eroaWY", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np14JsonDocBuilder23EscapeJsonStringBufSizeEPKc);
+ LIB_FUNCTION("irex3q-O6po", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np14JsonDocBuilder5BuildEPcmPm);
+ LIB_FUNCTION("ikFI73f3hP4", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np14JsonDocBuilderC1ERKNS0_9JsonValueE);
+ LIB_FUNCTION("dhJGQPKLmn0", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np14JsonDocBuilderC2ERKNS0_9JsonValueE);
+ LIB_FUNCTION("wDLaq7IgfIc", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np14JsonDocBuilderD0Ev);
+ LIB_FUNCTION("Kfv9jPxf7qA", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np14JsonDocBuilderD1Ev);
+ LIB_FUNCTION("MH0LyghLJEE", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np14JsonDocBuilderD2Ev);
+ LIB_FUNCTION("pCIB7QX5e1g", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np15CancelableScope3EndEiPKciS3_);
+ LIB_FUNCTION("Etvu03IpTEc", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np15CancelableScope5BeginEPNS0_6HandleEPKciS5_);
+ LIB_FUNCTION("pp88xnRgJrM", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np15CancelableScopeC2Ev);
+ LIB_FUNCTION("E8yuDNYbzl0", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np15CancelableScopeD0Ev);
+ LIB_FUNCTION("km5-rjNjSFk", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np15CancelableScopeD1Ev);
+ LIB_FUNCTION("xpLjHhJBhpo", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np15CancelableScopeD2Ev);
+ LIB_FUNCTION("LCk8T5b1h+4", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np16StreamReadBufferC2EP16SceNpAllocatorEx);
+ LIB_FUNCTION("ZufKqNXItD0", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np16StreamReadBufferD1Ev);
+ LIB_FUNCTION("bH7ljyLOsBw", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np16StreamReadBufferD2Ev);
+ LIB_FUNCTION("et05S+nkWG8", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np18HttpConnectionPool13InvalidateAllEv);
+ LIB_FUNCTION("Vzob5RCgfnY", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np18HttpConnectionPool4InitEi);
+ LIB_FUNCTION("iBdEFRdfpgg", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np18HttpConnectionPool7DestroyEv);
+ LIB_FUNCTION("PznfSvchYJ8", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np18HttpConnectionPoolC1EP16SceNpAllocatorEx);
+ LIB_FUNCTION("-2TYwZ4ERbM", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np18HttpConnectionPoolC2EP16SceNpAllocatorEx);
+ LIB_FUNCTION("5HWP63cOH+w", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np18HttpConnectionPoolD0Ev);
+ LIB_FUNCTION("kTfkKhcdW5Y", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np18HttpConnectionPoolD1Ev);
+ LIB_FUNCTION("3MVW8+eWnjs", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np18HttpConnectionPoolD2Ev);
+ LIB_FUNCTION("ELa6nMcCO9w", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np18MemoryStreamReader4ReadEPNS0_6HandleEPvmPm);
+ LIB_FUNCTION("UHj0GDTA2CU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np18MemoryStreamReaderC1EPKvm);
+ LIB_FUNCTION("WXRruhGp9dI", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np18MemoryStreamReaderC2EPKvm);
+ LIB_FUNCTION("gA0CaCjJpg0", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np18MemoryStreamReaderD0Ev);
+ LIB_FUNCTION("oULMh4JVC4o", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np18MemoryStreamReaderD1Ev);
+ LIB_FUNCTION("rNJ1+3KoZP4", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np18MemoryStreamReaderD2Ev);
+ LIB_FUNCTION("VxKQGrudnzk", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np18MemoryStreamWriter5WriteEPNS0_6HandleEPKvmPm);
+ LIB_FUNCTION("Lkdm2yqZN1c", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np18MemoryStreamWriterC1EPvm);
+ LIB_FUNCTION("abQ7xd3yVXM", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np18MemoryStreamWriterC2EPvm);
+ LIB_FUNCTION("TXJnPiKuTf8", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np18MemoryStreamWriterD0Ev);
+ LIB_FUNCTION("3VdCUl+DkNw", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np18MemoryStreamWriterD1Ev);
+ LIB_FUNCTION("YmOVGwSJmzk", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np18MemoryStreamWriterD2Ev);
+ LIB_FUNCTION("INZSjlRcuyQ", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np20BufferedStreamReader4ReadEPNS0_6HandleEPvmPm);
+ LIB_FUNCTION("3Ku9r8b6gCg", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np20BufferedStreamReader5CloseEv);
+ LIB_FUNCTION("l6s7aomzWGA", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np20BufferedStreamReaderC2EP16SceNpAllocatorEx);
+ LIB_FUNCTION("i28bR54-QFQ", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np20BufferedStreamReaderD0Ev);
+ LIB_FUNCTION("Tgr66MThOxA", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np20BufferedStreamReaderD1Ev);
+ LIB_FUNCTION("PHWvRXbOnYs", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np20BufferedStreamReaderD2Ev);
+ LIB_FUNCTION("7dyKpPHU+Yk", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np3ipc10IpmiClient10DisconnectEv);
+ LIB_FUNCTION("prj9aMR74bA", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np3ipc10IpmiClient11IsConnectedEv);
+ LIB_FUNCTION("r7UpNm1Po9s", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np3ipc10IpmiClient16invokeSyncMethodEjPKvmPvPmm);
+ LIB_FUNCTION("+EQNga+wsPc", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np3ipc10IpmiClient4ctorEv);
+ LIB_FUNCTION("2h59YqPcrdM", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np3ipc10IpmiClient4dtorEv);
+ LIB_FUNCTION("iRH-NE2evR4", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np3ipc10IpmiClient4InitEPKNS2_6ConfigE);
+ LIB_FUNCTION("CGKtxL26XqI", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np3ipc10IpmiClient7ConnectEPKvm);
+ LIB_FUNCTION("+xvhXA8Ci4E", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np3ipc10IpmiClient7DestroyEv);
+ LIB_FUNCTION("6aKYLBS8Di8", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np3ipc10IpmiClientC1Ev);
+ LIB_FUNCTION("dqjlsaUX0sc", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np3ipc10IpmiClientC2Ev);
+ LIB_FUNCTION("3LuoWoXJ1WI", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np3ipc10IpmiClientD0Ev);
+ LIB_FUNCTION("DRbjyNom-BE", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np3ipc10IpmiClientD1Ev);
+ LIB_FUNCTION("J1lpiTKAEuk", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np3ipc10IpmiClientD2Ev);
+ LIB_FUNCTION(
+ "aQzxfON3l2Y", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np3ipc13ServiceClientC1EPNS1_17ServiceIpmiClientEPKNS1_17ServiceClientInfoE);
+ LIB_FUNCTION(
+ "Mx6wrcdGC2w", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np3ipc13ServiceClientC2EPNS1_17ServiceIpmiClientEPKNS1_17ServiceClientInfoE);
+ LIB_FUNCTION("uvYTUK5xYG8", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np3ipc17ServiceIpmiClient10DisconnectEv);
+ LIB_FUNCTION("fFGPlE0oNhw", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np3ipc17ServiceIpmiClient10EndRequestEii);
+ LIB_FUNCTION("F2xYmg5DiR4", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np3ipc17ServiceIpmiClient11findServiceEi);
+ LIB_FUNCTION("G4FYQtsjOX0", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np3ipc17ServiceIpmiClient11InitServiceEi);
+ LIB_FUNCTION("0rqwC4+sgzU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np3ipc17ServiceIpmiClient11TermServiceEi);
+ LIB_FUNCTION("oCx3mVNvqzU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np3ipc17ServiceIpmiClient11WaitRequestEiij);
+ LIB_FUNCTION("tQOrMf4KtIo", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np3ipc17ServiceIpmiClient12AbortRequestEii);
+ LIB_FUNCTION("9aiQo-uRPJY", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np3ipc17ServiceIpmiClient12BeginRequestEii);
+ LIB_FUNCTION("H35UsHYlhB4", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np3ipc17ServiceIpmiClient13CreateRequestEPiiPKvm);
+ LIB_FUNCTION("cMj7li0eXgw", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np3ipc17ServiceIpmiClient13DeleteRequestEii);
+ LIB_FUNCTION("+ZC8QYB-BA8", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np3ipc17ServiceIpmiClient13PollEventFlagEijmjPm);
+ LIB_FUNCTION("4GZ9O-OrfzE", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np3ipc17ServiceIpmiClient13WaitEventFlagEijmjPmj);
+ LIB_FUNCTION("q+uCQLffwQE", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np3ipc17ServiceIpmiClient14PollEventQueueEiPvm);
+ LIB_FUNCTION("bH08FzR5rFU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np3ipc17ServiceIpmiClient15CancelEventFlagEijm);
+ LIB_FUNCTION("stUzNgtFmtY", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np3ipc17ServiceIpmiClient15RegisterServiceEPKNS1_17ServiceClientInfoE);
+ LIB_FUNCTION("fqAS9GQTmOU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np3ipc17ServiceIpmiClient16RegisterServicesEPKNS1_17ServiceClientInfoE);
+ LIB_FUNCTION("BJCXJJCi0Zc", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np3ipc17ServiceIpmiClient17invokeInitServiceEi);
+ LIB_FUNCTION("GuruEy9Q-Zk", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np3ipc17ServiceIpmiClient17invokeTermServiceEi);
+ LIB_FUNCTION("k9jCtANC+QM", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np3ipc17ServiceIpmiClient17UnregisterServiceEi);
+ LIB_FUNCTION("8TpAxZoLLRw", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np3ipc17ServiceIpmiClient18EndRequestForAsyncEii);
+ LIB_FUNCTION("1ONFW86TETY", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np3ipc17ServiceIpmiClient19WaitRequestForAsyncEiij);
+ LIB_FUNCTION("nQm4o5iOye0", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np3ipc17ServiceIpmiClient20AbortRequestForAsyncEii);
+ LIB_FUNCTION(
+ "ktb6iOBLnd4", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np3ipc17ServiceIpmiClient20BeginRequestForAsyncEiiPN4IPMI6Client12EventNotifeeE);
+ LIB_FUNCTION("v5Z2LAKua28", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np3ipc17ServiceIpmiClient21CreateRequestForAsyncEPiiPKvm);
+ LIB_FUNCTION("7oJpAd+vJQA", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np3ipc17ServiceIpmiClient21DeleteRequestForAsyncEii);
+ LIB_FUNCTION("KxlKRHLf9AY", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np3ipc17ServiceIpmiClient4ctorEv);
+ LIB_FUNCTION("s+dG6iqG7j0", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np3ipc17ServiceIpmiClient4dtorEv);
+ LIB_FUNCTION("qFdG8Ucfeqg", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np3ipc17ServiceIpmiClient4InitEPNS2_6ConfigE);
+ LIB_FUNCTION("NTPZ5GZIA6U", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np3ipc17ServiceIpmiClient7ConnectEPKvm);
+ LIB_FUNCTION("IGngArGbzHo", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np3ipc17ServiceIpmiClient7DestroyEv);
+ LIB_FUNCTION("FubuBXanVWk", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np3ipc17ServiceIpmiClientC1Ev);
+ LIB_FUNCTION("zARyDXgocuk", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np3ipc17ServiceIpmiClientC2Ev);
+ LIB_FUNCTION("PmsH4f3z8Yk", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np3ipc17ServiceIpmiClientD0Ev);
+ LIB_FUNCTION("90XdvAqFFn8", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np3ipc17ServiceIpmiClientD1Ev);
+ LIB_FUNCTION("agYDXAyL-K8", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np3ipc17ServiceIpmiClientD2Ev);
+ LIB_FUNCTION("n9pzAHeCCVU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np4Cond4ctorEv);
+ LIB_FUNCTION("BtXPJQEg41Y", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np4Cond4dtorEv);
+ LIB_FUNCTION("wWTqVcTnep8", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np4Cond4InitEPKcPNS0_5MutexE);
+ LIB_FUNCTION("SLPuaDLbeD4", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np4Cond4WaitEj);
+ LIB_FUNCTION("OQiPXR6gfj0", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np4Cond6SignalEv);
+ LIB_FUNCTION("I5uzTXxbziU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np4Cond7DestroyEv);
+ LIB_FUNCTION("-hchsElmzXY", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np4Cond9SignalAllEv);
+ LIB_FUNCTION("3z5EPY-ph14", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, _ZN3sce2np4CondC1Ev);
+ LIB_FUNCTION("6nW8WXQYRgM", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, _ZN3sce2np4CondC2Ev);
+ LIB_FUNCTION("AKiHGWhC2KU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, _ZN3sce2np4CondD0Ev);
+ LIB_FUNCTION("yX9ISVXv+0M", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, _ZN3sce2np4CondD1Ev);
+ LIB_FUNCTION("6RQRpTn+-cc", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, _ZN3sce2np4CondD2Ev);
+ LIB_FUNCTION("6r6ssbPbKc4", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np4Path11BuildAppendEPcmcPKcm);
+ LIB_FUNCTION("vfBKsg+lKWc", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np4Path12AddDelimiterEPcmc);
+ LIB_FUNCTION("BqFx1VLEMPk", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np4Path5ClearEv);
+ LIB_FUNCTION("AcG6blobOQE", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np4Path6SetStrEPKcm);
+ LIB_FUNCTION("0fwoTW7gqfM", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, _ZN3sce2np4PathD0Ev);
+ LIB_FUNCTION("-3UvpBs-26g", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, _ZN3sce2np4PathD1Ev);
+ LIB_FUNCTION("1nF0eXrBZYM", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, _ZN3sce2np4PathD2Ev);
+ LIB_FUNCTION("KhoD7EapiYI", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np4Time10AddMinutesEl);
+ LIB_FUNCTION("PgiCaoqRKKc", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np4Time10AddSecondsEl);
+ LIB_FUNCTION("vINvzJOaqws", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np4Time12GetUserClockEPS1_);
+ LIB_FUNCTION("dLNhHwYyt4c", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np4Time15AddMicroSecondsEl);
+ LIB_FUNCTION("WZqwoPoMzFA", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np4Time15GetNetworkClockEPS1_);
+ LIB_FUNCTION("fimORKx4RDg", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np4Time20GetDebugNetworkClockEPS1_);
+ LIB_FUNCTION("++qSDotsHuE", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np4Time7AddDaysEl);
+ LIB_FUNCTION("Zc+a6k6i7gY", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np4Time8AddHoursEl);
+ LIB_FUNCTION("Fgm7cz6AX4k", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np4TimeplERK10SceRtcTick);
+ LIB_FUNCTION("F9khEfgTmsE", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np4TimeplERKS1_);
+ LIB_FUNCTION("I1kBZV6keO4", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np5Mutex4ctorEv);
+ LIB_FUNCTION("mo+gaebiE+M", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np5Mutex4dtorEv);
+ LIB_FUNCTION("aTNOl9EB4V4", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np5Mutex4InitEPKcj);
+ LIB_FUNCTION("VM+CXTW4F-s", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np5Mutex4LockEv);
+ LIB_FUNCTION("eYgHIWx0Hco", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np5Mutex6UnlockEv);
+ LIB_FUNCTION("RgGW4f0ox1g", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np5Mutex7DestroyEv);
+ LIB_FUNCTION("TJNrs69haak", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np5Mutex7TryLockEv);
+ LIB_FUNCTION("O1AvlQU33pI", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, _ZN3sce2np5MutexC1Ev);
+ LIB_FUNCTION("2beu2bHw6qo", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, _ZN3sce2np5MutexC2Ev);
+ LIB_FUNCTION("omf1GoUEJCA", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, _ZN3sce2np5MutexD0Ev);
+ LIB_FUNCTION("9zi9FTPol74", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, _ZN3sce2np5MutexD1Ev);
+ LIB_FUNCTION("CI7ciM21NXs", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, _ZN3sce2np5MutexD2Ev);
+ LIB_FUNCTION("uuyEiBHghY4", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np5NpEnv8GetNpEnvEPS1_);
+ LIB_FUNCTION("-c9QK+CpQLg", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np6Handle10CancelImplEi);
+ LIB_FUNCTION("ifqJb-V1QZw", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np6Handle4InitEv);
+ LIB_FUNCTION("1atFu71dFAU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np6Handle7DestroyEv);
+ LIB_FUNCTION("KUJtztDMJYY", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, _ZN3sce2np6HandleC1Ev);
+ LIB_FUNCTION("OhpofCxYOJc", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, _ZN3sce2np6HandleC2Ev);
+ LIB_FUNCTION("ZOHgNNSZq4Q", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, _ZN3sce2np6HandleD0Ev);
+ LIB_FUNCTION("YWt5S4-cg9c", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, _ZN3sce2np6HandleD1Ev);
+ LIB_FUNCTION("dt0A2cWjwLs", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, _ZN3sce2np6HandleD2Ev);
+ LIB_FUNCTION("1x0jThSUr4w", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np6ObjectdaEPv);
+ LIB_FUNCTION("4il4PZAZOnQ", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np6ObjectdaEPvR14SceNpAllocator);
+ LIB_FUNCTION("q2USyzLF4kI", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np6ObjectdaEPvR16SceNpAllocatorEx);
+ LIB_FUNCTION("CnDHI7sU+l0", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np6ObjectdlEPv);
+ LIB_FUNCTION("05KEwpDf4Ls", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np6ObjectdlEPvR14SceNpAllocator);
+ LIB_FUNCTION("iwDNdnEGyhI", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np6ObjectdlEPvR16SceNpAllocatorEx);
+ LIB_FUNCTION("V75N47uYdQc", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np6ObjectnaEmR14SceNpAllocator);
+ LIB_FUNCTION("bKMVqRcCQ1U", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np6ObjectnaEmR16SceNpAllocatorEx);
+ LIB_FUNCTION("0syNkhJANVw", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np6ObjectnwEmR14SceNpAllocator);
+ LIB_FUNCTION("orRb69nSo64", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np6ObjectnwEmR16SceNpAllocatorEx);
+ LIB_FUNCTION("Ehkz-BkTPwI", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np6Thread12DoThreadMainEv);
+ LIB_FUNCTION("3CJl5ewd7-0", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np6Thread4ctorEv);
+ LIB_FUNCTION("-3gV5N2u-sc", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np6Thread4dtorEv);
+ LIB_FUNCTION("EqX45DhWUpo", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np6Thread4InitEPKcimm);
+ LIB_FUNCTION("OoK0Ah0l1ko", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np6Thread4InitEPKNS1_5ParamE);
+ LIB_FUNCTION("ne77q1GOlF8", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np6Thread4JoinEPi);
+ LIB_FUNCTION("VNKdE2Dgp0Y", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np6Thread5StartEv);
+ LIB_FUNCTION("sPti0OkVM8c", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np6Thread7DestroyEv);
+ LIB_FUNCTION("uphWwLZAuXA", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np6Thread9EntryFuncEPv);
+ LIB_FUNCTION("gnwCmkY-V70", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np6Thread9GetResultEv);
+ LIB_FUNCTION("qy4V8O+snLU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np6Thread9IsRunningEv);
+ LIB_FUNCTION("0f3ylOQJwqE", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, _ZN3sce2np6ThreadC2Ev);
+ LIB_FUNCTION("MEYMyfJxWXg", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, _ZN3sce2np6ThreadD0Ev);
+ LIB_FUNCTION("0Q5aKjYErBA", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, _ZN3sce2np6ThreadD1Ev);
+ LIB_FUNCTION("6750DaF5Pas", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, _ZN3sce2np6ThreadD2Ev);
+ LIB_FUNCTION("xxOTJpEyoj4", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np7Callout10IsTimedoutEv);
+ LIB_FUNCTION("Zw3QlKu49eM", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np7Callout11CalloutFuncEPv);
+ LIB_FUNCTION("14PDhhMEBKY", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np7Callout4StopEv);
+ LIB_FUNCTION("TDuC6To9HJ8", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np7Callout5StartEjPNS1_7HandlerE);
+ LIB_FUNCTION("r0PYNWZLZS8", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np7Callout5StartEmPNS1_7HandlerE);
+ LIB_FUNCTION("3ErXia+y89M", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np7Callout9IsStartedEv);
+ LIB_FUNCTION("XEXFdmQj5oI", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np7CalloutC1EPNS0_14CalloutContextE);
+ LIB_FUNCTION("Bpay3NjseSU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np7CalloutC2EPNS0_14CalloutContextE);
+ LIB_FUNCTION("Fx2UwoQVVmo", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np7CalloutD0Ev);
+ LIB_FUNCTION("kUitiIVR43g", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np7CalloutD1Ev);
+ LIB_FUNCTION("ebomQLbpptw", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np7CalloutD2Ev);
+ LIB_FUNCTION("YtzL-Rso9bk", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np7HttpUri5BuildEPKS1_PcmPmj);
+ LIB_FUNCTION("Xp92SsA5atA", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np7HttpUri5ParseEPS1_PKc);
+ LIB_FUNCTION("LL9z5QvmwaA", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np7HttpUriC1EP16SceNpAllocatorEx);
+ LIB_FUNCTION("q4G7qxTJWps", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np7HttpUriC2EP16SceNpAllocatorEx);
+ LIB_FUNCTION("w+C8QXqZKSw", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np7HttpUriD0Ev);
+ LIB_FUNCTION("wSCKvDDBPy4", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np7HttpUriD1Ev);
+ LIB_FUNCTION("D-dT+vERWmU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np7HttpUriD2Ev);
+ LIB_FUNCTION("oaSKGgwTWG0", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np7RingBuf14CheckinForReadEm);
+ LIB_FUNCTION("78yvwepeL7U", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np7RingBuf15CheckinForWriteEm);
+ LIB_FUNCTION("d8NGGmSEFfU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np7RingBuf15CheckoutForReadEPm);
+ LIB_FUNCTION("E2QFpAcDPq4", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np7RingBuf16CheckoutForWriteEPm);
+ LIB_FUNCTION("1P-MUvbtyTM", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np7RingBuf4ctorEv);
+ LIB_FUNCTION("rvz8xYxhMW0", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np7RingBuf4dtorEv);
+ LIB_FUNCTION("IL3Wk7QuRhA", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np7RingBuf4InitEPvm);
+ LIB_FUNCTION("kDaQLJv89bs", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np7RingBuf4PeekEmPvm);
+ LIB_FUNCTION("Mg-IhL6SWfg", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np7RingBuf4ReadEPvm);
+ LIB_FUNCTION("IZOGdJ+LFFU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np7RingBuf5ClearEv);
+ LIB_FUNCTION("8Y5OOBb0B5Y", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np7RingBuf5WriteEPKvm);
+ LIB_FUNCTION("u-TlLaJUJEA", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np7RingBuf7DestroyEv);
+ LIB_FUNCTION("L5BnZpuQImk", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np7RingBufC1Ev);
+ LIB_FUNCTION("e2a1ZA+lJC4", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np7RingBufC2Ev);
+ LIB_FUNCTION("hfJ1gGLgvq8", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np7RingBufD0Ev);
+ LIB_FUNCTION("7w+LeZ5ymys", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np7RingBufD1Ev);
+ LIB_FUNCTION("9+NmoosRoBA", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np7RingBufD2Ev);
+ LIB_FUNCTION("d+xJZ63-wrc", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np8HttpFile4ReadEPNS0_6HandleEPvmPm);
+ LIB_FUNCTION("jcPO4bt5i3o", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np8HttpFile5CloseEv);
+ LIB_FUNCTION("RXdPqxVnrvo", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np8HttpFileC2EP16SceNpAllocatorEx);
+ LIB_FUNCTION("T2w3ndcG-+Q", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np8HttpFileD0Ev);
+ LIB_FUNCTION("6fomUWNk6Xc", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np8HttpFileD1Ev);
+ LIB_FUNCTION("WAat5MtCKpc", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np8HttpFileD2Ev);
+ LIB_FUNCTION("uDyILPgHF9Q", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np8JsonBool5ClearEv);
+ LIB_FUNCTION("FdpYFbq5C3Q", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np8JsonBool7SetBoolEb);
+ LIB_FUNCTION("mFZezLIogNI", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np8JsonFile5CloseEv);
+ LIB_FUNCTION("hqPavTyQlNg", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np8JsonFileD0Ev);
+ LIB_FUNCTION("wzqAM7IYGzU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np8JsonFileD1Ev);
+ LIB_FUNCTION("QFYVZvAJNC8", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np8JsonFileD2Ev);
+ LIB_FUNCTION("88GKkivBFhI", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np8JsonNull5ClearEv);
+ LIB_FUNCTION("WcLP8wPB9X4", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np8NpCommId5BuildERKS1_Pcm);
+ LIB_FUNCTION("LnjjzlJ+L5c", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np8NpCommId5ClearEv);
+ LIB_FUNCTION("1TjLUwirok0", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np8NpCommId5ParseEPS1_PKc);
+ LIB_FUNCTION("UrJocI5M8GY", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np8NpCommId5ParseEPS1_PKcm);
+ LIB_FUNCTION("To1XvNOzjo0", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np8NpCommIdC1ERK20SceNpCommunicationId);
+ LIB_FUNCTION("N6SkkX1GkFU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np8NpCommIdC1ERKS1_);
+ LIB_FUNCTION("AQyiYChNI0c", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np8NpCommIdC1Ev);
+ LIB_FUNCTION("WywlusFissg", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np8NpCommIdC2ERK20SceNpCommunicationId);
+ LIB_FUNCTION("rB0oqLSjH6g", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np8NpCommIdC2ERKS1_);
+ LIB_FUNCTION("BBtBjx9-bMI", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np8NpCommIdC2Ev);
+ LIB_FUNCTION("XeCZTzqIk2k", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np8NpCommIdD0Ev);
+ LIB_FUNCTION("EPJbX73AVeU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np8NpCommIdD1Ev);
+ LIB_FUNCTION("hP18CDS6eBU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np8NpCommIdD2Ev);
+ LIB_FUNCTION("5WuiSZkU3mg", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np8Selector4InitEPKc);
+ LIB_FUNCTION("2HkOOhiWK3M", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np8SelectorD0Ev);
+ LIB_FUNCTION("asZdig1mPlA", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np8SelectorD1Ev);
+ LIB_FUNCTION("PA9VYFAVKIE", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np8SelectorD2Ev);
+ LIB_FUNCTION("2YbS+GhInZQ", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np8WorkItem10SetPendingEv);
+ LIB_FUNCTION("XUCjhejJvPc", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np8WorkItem10SetRunningEv);
+ LIB_FUNCTION("-91vFSqiuKw", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np8WorkItem11SetFinishedEi);
+ LIB_FUNCTION("zepqHjfGe0M", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np8WorkItem14FinishCallbackEv);
+ LIB_FUNCTION("3rGzxcMK-Mg", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np8WorkItem15RemoveFromQueueEv);
+ LIB_FUNCTION("Oq5aepLkEWg", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np8WorkItem6CancelEi);
+ LIB_FUNCTION("gnh2cpEgSS8", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np8WorkItem9BindQueueEPNS0_9WorkQueueEi);
+ LIB_FUNCTION("HldN461O2Dw", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np8WorkItemC2EPKc);
+ LIB_FUNCTION("Y-I66cSNp+A", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np8WorkItemD0Ev);
+ LIB_FUNCTION("dnwItoXLoy4", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np8WorkItemD1Ev);
+ LIB_FUNCTION("ga4OW9MGahU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np8WorkItemD2Ev);
+ LIB_FUNCTION("8i-vOVRVt5w", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9EventFlag3SetEm);
+ LIB_FUNCTION("vhbvgH7wWiE", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9EventFlag4ctorEv);
+ LIB_FUNCTION("5nM4Yy92Qwg", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9EventFlag4dtorEv);
+ LIB_FUNCTION("5Wy+JxpCBxg", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9EventFlag4OpenEPKc);
+ LIB_FUNCTION("37Rd2JS+FCM", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9EventFlag4PollEmjPm);
+ LIB_FUNCTION("1s+c3SG0WYc", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9EventFlag4WaitEmjPmj);
+ LIB_FUNCTION("03UlDLFsTfw", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9EventFlag5ClearEm);
+ LIB_FUNCTION("wJ-k9+UShJg", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9EventFlag6CancelEm);
+ LIB_FUNCTION("amFi-Av19hU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9EventFlag6CreateEPKcj);
+ LIB_FUNCTION("QlaBcxSFPZI", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9EventFlag7DestroyEv);
+ LIB_FUNCTION("cMOgkE2M2e8", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9EventFlagC1Ev);
+ LIB_FUNCTION("Uv1IQpTWecw", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9EventFlagC2Ev);
+ LIB_FUNCTION("uHOOEbuzjEQ", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9EventFlagD0Ev);
+ LIB_FUNCTION("WWW4bvT-rSw", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9EventFlagD1Ev);
+ LIB_FUNCTION("RpWWfCEs9xA", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9EventFlagD2Ev);
+ LIB_FUNCTION("jDDvll2aQpQ", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9HttpTrans10SetTimeoutEPKNS1_12TimeoutParamE);
+ LIB_FUNCTION("+hKyaJJCE+0", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9HttpTrans11SendRequestEPNS0_6HandleEPKvm);
+ LIB_FUNCTION("EhLaOnhdcXo", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9HttpTrans12RecvResponseEPNS0_6HandleEPvmPm);
+ LIB_FUNCTION("fV+Q5a6p+zQ", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9HttpTrans12SkipResponseEPNS0_6HandleE);
+ LIB_FUNCTION("Qfsmqs-bHeY", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9HttpTrans16AddRequestHeaderEPKcS3_);
+ LIB_FUNCTION("6bYsRATI3tQ", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9HttpTrans16SetRequestHeaderEPKcS3_);
+ LIB_FUNCTION("WoFp77mNyw0", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9HttpTrans21GetResponseStatusCodeEPNS0_6HandleEPi);
+ LIB_FUNCTION("RJOlguLEy-E", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9HttpTrans21SetRequestContentTypeEPKc);
+ LIB_FUNCTION("ws3x3yjUyeE", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9HttpTrans23SetRequestContentLengthEm);
+ LIB_FUNCTION("YW09CP0Vrtw", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9HttpTrans24GetResponseContentLengthEPNS0_6HandleEPbPm);
+ LIB_FUNCTION("JEYp0T1VC58", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9HttpTrans4InitERKNS0_12HttpTemplateEPNS0_18HttpConnectionPoolEiPKcm);
+ LIB_FUNCTION(
+ "O+FeLkOM7w0", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9HttpTrans4InitERKNS0_12HttpTemplateEPNS0_18HttpConnectionPoolEiPKcS8_tS8_m);
+ LIB_FUNCTION("aWo+7jvpllY", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9HttpTrans4ReadEPNS0_6HandleEPvmPm);
+ LIB_FUNCTION("cocNRQpq+NA", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9HttpTrans5WriteEPNS0_6HandleEPKvmPm);
+ LIB_FUNCTION("2e9GLlHTKA4", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9HttpTrans7DestroyEv);
+ LIB_FUNCTION("sqNxD6H5ZOQ", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9HttpTransC1EP16SceNpAllocatorEx);
+ LIB_FUNCTION("HEeXBdgvJI4", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9HttpTransC2EP16SceNpAllocatorEx);
+ LIB_FUNCTION("Pe9fHKX7krE", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9HttpTransD0Ev);
+ LIB_FUNCTION("ls8yIODZmzc", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9HttpTransD1Ev);
+ LIB_FUNCTION("GSVe-aaTiEg", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9HttpTransD2Ev);
+ LIB_FUNCTION("4cIJxNKQK5g", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9JsonArray12AddItemArrayEPPS1_);
+ LIB_FUNCTION("cWsZswBMjqg", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9JsonArray5ClearEv);
+ LIB_FUNCTION("aCZjveAsynw", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9JsonValue12GetItemValueEi);
+ LIB_FUNCTION("aIV+HI6llz4", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9JsonValue13GetFieldValueEiPPKc);
+ LIB_FUNCTION("BDie4qEtKuA", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9JsonValue13GetFieldValueEPKc);
+ LIB_FUNCTION("LotC9rVP3Lo", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9JsonValueD0Ev);
+ LIB_FUNCTION("hBuLbn3mGBw", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9JsonValueD1Ev);
+ LIB_FUNCTION("FfSNfBmn+K8", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9JsonValueD2Ev);
+ LIB_FUNCTION("PsP6LYRZ7Dc", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9LocalFile4ReadEPNS0_6HandleEPvmPm);
+ LIB_FUNCTION("Flyyg6hzUOM", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9LocalFile4SeekEliPl);
+ LIB_FUNCTION("YtvLEI7uZRI", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9LocalFile4SyncEv);
+ LIB_FUNCTION("9q+h2q5YprU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9LocalFile5CloseEv);
+ LIB_FUNCTION("0xL7AwgxphE", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9LocalFile5WriteEPNS0_6HandleEPKvmPm);
+ LIB_FUNCTION("haDbtVOmaao", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9LocalFile6RemoveEPKc);
+ LIB_FUNCTION("Sgo7wy9okFI", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9LocalFile8TruncateEl);
+ LIB_FUNCTION("QWlZu1JZOww", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9LocalFileC1Ev);
+ LIB_FUNCTION("HP4jsVYqBKg", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9LocalFileC2Ev);
+ LIB_FUNCTION("-n0CR0QxhnY", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9LocalFileD0Ev);
+ LIB_FUNCTION("3eoh4hjcYag", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9LocalFileD1Ev);
+ LIB_FUNCTION("s-C88O6Y8iU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9LocalFileD2Ev);
+ LIB_FUNCTION("euE6Yo5hkrY", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9NpTitleId5BuildERKS1_Pcm);
+ LIB_FUNCTION("a76a3D9Adts", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9NpTitleId5ClearEv);
+ LIB_FUNCTION("4O8lYvForpk", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9NpTitleId5ParseEPS1_PKc);
+ LIB_FUNCTION("-swgMjedLUQ", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9NpTitleId5ParseEPS1_PKcm);
+ LIB_FUNCTION("Fcvdbqpwpnw", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9NpTitleIdC1ERK12SceNpTitleId);
+ LIB_FUNCTION("wd+YWDKMTQE", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9NpTitleIdC1ERKS1_);
+ LIB_FUNCTION("-Ja2aT6A3fg", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9NpTitleIdC1Ev);
+ LIB_FUNCTION("9n60S+t4Cxs", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9NpTitleIdC2ERK12SceNpTitleId);
+ LIB_FUNCTION("IefAhNUAivM", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9NpTitleIdC2ERKS1_);
+ LIB_FUNCTION("OL7DU1kkm+4", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9NpTitleIdC2Ev);
+ LIB_FUNCTION("rFcQRK+GMcQ", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9NpTitleIdD0Ev);
+ LIB_FUNCTION("TGJ5bE+Fb1s", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9NpTitleIdD1Ev);
+ LIB_FUNCTION("XKVRBLdw+7I", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9NpTitleIdD2Ev);
+ LIB_FUNCTION("zurkNUps5o8", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9RefObject6AddRefEv);
+ LIB_FUNCTION("5tYi1l9CXD0", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9RefObject7ReleaseEv);
+ LIB_FUNCTION("brUrttJp6MM", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9RefObjectC1Ev);
+ LIB_FUNCTION("JRtw5pROOiM", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9RefObjectC2Ev);
+ LIB_FUNCTION("8DrClRz7Z2U", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9RefObjectD0Ev);
+ LIB_FUNCTION("lPQzOhwPjuw", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9RefObjectD1Ev);
+ LIB_FUNCTION("417JucZaE3g", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9RefObjectD2Ev);
+ LIB_FUNCTION("EFffsPLsOio", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9Semaphore4OpenEPKc);
+ LIB_FUNCTION("hQLw6eE4O44", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9Semaphore4WaitEj);
+ LIB_FUNCTION("wcOCedFKan4", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9Semaphore6CreateEiiPKc);
+ LIB_FUNCTION("b7qnGORh+H4", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9Semaphore6SignalEv);
+ LIB_FUNCTION("Es-CwSVnalY", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9Semaphore7DestroyEv);
+ LIB_FUNCTION("Tuth2BRl4x0", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9SemaphoreC1Ev);
+ LIB_FUNCTION("8k1rNqvczTc", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9SemaphoreC2Ev);
+ LIB_FUNCTION("S6luQz76AQ4", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9SemaphoreD0Ev);
+ LIB_FUNCTION("nW9XeX3eokI", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9SemaphoreD1Ev);
+ LIB_FUNCTION("OukNoRur97E", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9SemaphoreD2Ev);
+ LIB_FUNCTION("F2umEBpQFHc", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9WorkQueue11GetItemByIdEi);
+ LIB_FUNCTION("wM4q1JMisvA", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9WorkQueue15GetFinishedItemENS0_14WorkItemStatusE);
+ LIB_FUNCTION("UYAD7sUQcYU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9WorkQueue16WorkItemFinishedEPNS0_8WorkItemEi);
+ LIB_FUNCTION("-9cU3y6rXVM", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9WorkQueue17ProcFinishedItemsENS0_14WorkItemStatusE);
+ LIB_FUNCTION("ovc4ZvD0YjY", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9WorkQueue18RemoveFinishedItemEPNS0_8WorkItemE);
+ LIB_FUNCTION("vPju3W13byw", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9WorkQueue18WaitForPendingItemEPPNS0_8WorkItemEPb);
+ LIB_FUNCTION("XMIv42L5bEA", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9WorkQueue4ctorEv);
+ LIB_FUNCTION("wESN-qrVhOU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9WorkQueue4dtorEv);
+ LIB_FUNCTION("+dGO+GS2ZXQ", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9WorkQueue4InitEPKcimm);
+ LIB_FUNCTION("U0YoWwgg8aI", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9WorkQueue4InitEPKNS0_6Thread5ParamE);
+ LIB_FUNCTION("4DE+nnCVRPA", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9WorkQueue4StopEv);
+ LIB_FUNCTION("VnQolo6vTr4", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9WorkQueue5StartEv);
+ LIB_FUNCTION("laqZEULcfgw", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9WorkQueue6CancelEii);
+ LIB_FUNCTION("CznMfhTIvVY", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9WorkQueue6IsInitEv);
+ LIB_FUNCTION("NeopmYshD0U", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9WorkQueue7DestroyEv);
+ LIB_FUNCTION("KQSxXJBepQ4", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9WorkQueue7EnqueueEiPNS0_8WorkItemE);
+ LIB_FUNCTION("zmOmSLnqlBQ", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9WorkQueue9CancelAllEi);
+ LIB_FUNCTION("eTy3L1azX4E", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9WorkQueue9IsRunningEv);
+ LIB_FUNCTION("X6NVkdpRnog", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9WorkQueueC1Ev);
+ LIB_FUNCTION("p+bd65J177I", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9WorkQueueC2Ev);
+ LIB_FUNCTION("uyNO0GnFhPw", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9WorkQueueD0Ev);
+ LIB_FUNCTION("1QFKnDJxk3A", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9WorkQueueD1Ev);
+ LIB_FUNCTION("AIDhc3KCK7w", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2np9WorkQueueD2Ev);
+ LIB_FUNCTION("XLpPRMl5jro", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2npeqERK10SceRtcTickRKNS0_4TimeE);
+ LIB_FUNCTION("6jHOZ6fItFU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2npeqERK12SceNpTitleIdRKNS0_9NpTitleIdE);
+ LIB_FUNCTION("i+xzwYeeEtk", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2npeqERK16SceNpTitleSecretRKNS0_13NpTitleSecretE);
+ LIB_FUNCTION("ZWZ9KqoIvQY", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2npeqERK20SceNpCommunicationIdRKNS0_8NpCommIdE);
+ LIB_FUNCTION("Vsj50ZwNUFM", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2npeqERKNS0_13NpTitleSecretERK16SceNpTitleSecret);
+ LIB_FUNCTION("WM5DPO-LryU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2npeqERKNS0_13NpTitleSecretES3_);
+ LIB_FUNCTION("ps246w9eXI8", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2npeqERKNS0_4TimeERK10SceRtcTick);
+ LIB_FUNCTION("UVLmT9lzRYA", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2npeqERKNS0_4TimeES3_);
+ LIB_FUNCTION("WaNQzws1ATU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2npeqERKNS0_8NpCommIdERK20SceNpCommunicationId);
+ LIB_FUNCTION("E-mYAG-aa1A", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2npeqERKNS0_8NpCommIdES3_);
+ LIB_FUNCTION("FmDmhB16wwE", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2npeqERKNS0_9NpTitleIdERK12SceNpTitleId);
+ LIB_FUNCTION("niXN2N4o3yY", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2npeqERKNS0_9NpTitleIdES3_);
+ LIB_FUNCTION("gKruhA35EXQ", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2npgeERK10SceRtcTickRKNS0_4TimeE);
+ LIB_FUNCTION("1mnghWFX0wQ", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2npgeERKNS0_4TimeERK10SceRtcTick);
+ LIB_FUNCTION("svAQxJ3yow4", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2npgeERKNS0_4TimeES3_);
+ LIB_FUNCTION("oVZ6spoeeN0", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2npgtERK10SceRtcTickRKNS0_4TimeE);
+ LIB_FUNCTION("snloJp6qQCc", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2npgtERKNS0_4TimeERK10SceRtcTick);
+ LIB_FUNCTION("EFES6UR65oU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2npgtERKNS0_4TimeES3_);
+ LIB_FUNCTION("UIrMxV07mL0", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2npleERK10SceRtcTickRKNS0_4TimeE);
+ LIB_FUNCTION("cAeFZE72SXU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2npleERKNS0_4TimeERK10SceRtcTick);
+ LIB_FUNCTION("ttA9TcO06uA", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2npleERKNS0_4TimeES3_);
+ LIB_FUNCTION("rVtImV4rxSA", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2npltERK10SceRtcTickRKNS0_4TimeE);
+ LIB_FUNCTION("nVB1Nsjwpj0", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2npltERKNS0_4TimeERK10SceRtcTick);
+ LIB_FUNCTION("d0zSLZMER34", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2npltERKNS0_4TimeES3_);
+ LIB_FUNCTION("MVY+jtY-WiQ", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2npneERK10SceRtcTickRKNS0_4TimeE);
+ LIB_FUNCTION("tDs31ASQGV8", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2npneERK12SceNpTitleIdRKNS0_9NpTitleIdE);
+ LIB_FUNCTION("OwsjgCQyZUI", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2npneERK16SceNpTitleSecretRKNS0_13NpTitleSecretE);
+ LIB_FUNCTION("O5QkjyiPM4c", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2npneERK20SceNpCommunicationIdRKNS0_8NpCommIdE);
+ LIB_FUNCTION("7b5y1XSa+KQ", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2npneERKNS0_13NpTitleSecretERK16SceNpTitleSecret);
+ LIB_FUNCTION("zbliTwZKRyU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2npneERKNS0_13NpTitleSecretES3_);
+ LIB_FUNCTION("yXMjXN--3rY", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2npneERKNS0_4TimeERK10SceRtcTick);
+ LIB_FUNCTION("cnoM7EjlLe4", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2npneERKNS0_4TimeES3_);
+ LIB_FUNCTION("SM7OEf11LCA", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2npneERKNS0_8NpCommIdERK20SceNpCommunicationId);
+ LIB_FUNCTION("QQCqBHk79sI", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2npneERKNS0_8NpCommIdES3_);
+ LIB_FUNCTION("ONgEITYl9mA", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2npneERKNS0_9NpTitleIdERK12SceNpTitleId);
+ LIB_FUNCTION("9pp9-dwqIHM", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZN3sce2npneERKNS0_9NpTitleIdES3_);
+ LIB_FUNCTION("KyDWNwpREH4", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZNK3sce2np10Cancelable6IsInitEv);
+ LIB_FUNCTION("VI8AHrfLdqY", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZNK3sce2np10EventQueue6IsInitEv);
+ LIB_FUNCTION("jxPY-0x8e-M", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZNK3sce2np10EventQueue7IsEmptyEv);
+ LIB_FUNCTION("COxqqhvLSyM", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZNK3sce2np10JsonNumber5CloneEP16SceNpAllocatorEx);
+ LIB_FUNCTION("m+dAaZ5pyO4", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZNK3sce2np10JsonNumber6GetNumEPcm);
+ LIB_FUNCTION("Sk8AdNQUDm8", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZNK3sce2np10JsonNumber6GetNumEPi);
+ LIB_FUNCTION("nHgo2VpnCB8", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZNK3sce2np10JsonNumber6GetNumEPj);
+ LIB_FUNCTION("Agsyrf4L8uA", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZNK3sce2np10JsonNumber6GetNumEPl);
+ LIB_FUNCTION("P2cGbJ5nD1w", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZNK3sce2np10JsonNumber6GetNumEPm);
+ LIB_FUNCTION("EcboqmwkrMY", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZNK3sce2np9JsonArray5CloneEP16SceNpAllocatorEx);
+ LIB_FUNCTION("JcAsZlyr3Mo", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZNK3sce2np9JsonValue12GetItemValueEi);
+ LIB_FUNCTION("XZTZqqSVGlY", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZNK3sce2np9NpTitleId7IsEmptyEv);
+ LIB_FUNCTION("sreH33xjV0A", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZNK3sce2np9Semaphore6IsInitEv);
+ LIB_FUNCTION("QwO4sr6XzSY", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZThn16_N3sce2np10MemoryFile5WriteEPNS0_6HandleEPKvmPm);
+ LIB_FUNCTION("ojBk-UJxzWw", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZThn16_N3sce2np10MemoryFileD0Ev);
+ LIB_FUNCTION("8S1mWU-N9kM", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZThn16_N3sce2np10MemoryFileD1Ev);
+ LIB_FUNCTION("eRlqlofFKYg", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZThn16_N3sce2np9HttpTrans5WriteEPNS0_6HandleEPKvmPm);
+ LIB_FUNCTION("zWIFe+d77PU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZThn16_N3sce2np9HttpTransD0Ev);
+ LIB_FUNCTION("GG1Y+vBUkdU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZThn16_N3sce2np9HttpTransD1Ev);
+ LIB_FUNCTION("+3ySpB1buMs", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZThn16_N3sce2np9LocalFile5WriteEPNS0_6HandleEPKvmPm);
+ LIB_FUNCTION("hSnLhjGefsU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZThn16_N3sce2np9LocalFileD0Ev);
+ LIB_FUNCTION("q3s6++iIzjE", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZThn16_N3sce2np9LocalFileD1Ev);
+ LIB_FUNCTION("E6GYo9uzjds", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZThn8_N3sce2np10MemoryFile4ReadEPNS0_6HandleEPvmPm);
+ LIB_FUNCTION("7bzUdBtIQhE", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZThn8_N3sce2np10MemoryFileD0Ev);
+ LIB_FUNCTION("lNs-oTKpG9s", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZThn8_N3sce2np10MemoryFileD1Ev);
+ LIB_FUNCTION("xDrWJARfCbk", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZThn8_N3sce2np6Handle10CancelImplEi);
+ LIB_FUNCTION("YqMS-iAjFY8", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZThn8_N3sce2np6HandleD0Ev);
+ LIB_FUNCTION("lUsG1QfgVN4", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZThn8_N3sce2np6HandleD1Ev);
+ LIB_FUNCTION("G+v692ul7MA", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZThn8_N3sce2np9HttpTrans4ReadEPNS0_6HandleEPvmPm);
+ LIB_FUNCTION("sGhCzaJf+jQ", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZThn8_N3sce2np9HttpTransD0Ev);
+ LIB_FUNCTION("PUqCtFwnNvA", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZThn8_N3sce2np9HttpTransD1Ev);
+ LIB_FUNCTION("NtsHoOq2ao4", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZThn8_N3sce2np9LocalFile4ReadEPNS0_6HandleEPvmPm);
+ LIB_FUNCTION("Gh35wbyg4U8", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZThn8_N3sce2np9LocalFileD0Ev);
+ LIB_FUNCTION("kD3l0P19Wzg", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZThn8_N3sce2np9LocalFileD1Ev);
+ LIB_FUNCTION("IvTsS4VJq1w", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZTVN3sce2np10JsonNumberE);
+ LIB_FUNCTION("aLGD1kOLQXE", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZTVN3sce2np10JsonObjectE);
+ LIB_FUNCTION("1At86OClqtY", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZTVN3sce2np10JsonStringE);
+ LIB_FUNCTION("jsHe99x6l0w", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZTVN3sce2np8JsonBoolE);
+ LIB_FUNCTION("A742Lh-FnVE", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZTVN3sce2np8JsonNullE);
+ LIB_FUNCTION("FfXZGW1TMvo", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZTVN3sce2np8SelectorE);
+ LIB_FUNCTION("0qrLVqNUn2Y", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZTVN3sce2np9JsonArrayE);
+ LIB_FUNCTION("S8TLtKfZCfc", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ _ZTVN3sce2np9JsonValueE);
+ LIB_FUNCTION("MWPOkqzYss0", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ sceNpAllocateKernelMemoryNoAlignment);
+ LIB_FUNCTION("gMlY6eewr-c", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ sceNpAllocateKernelMemoryWithAlignment);
+ LIB_FUNCTION("jGF+MaB4b-M", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpArchInit);
+ LIB_FUNCTION("UskWpVWxSvg", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpArchTerm);
+ LIB_FUNCTION("+9+kKMY9YIw", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpAtomicCas32);
+ LIB_FUNCTION("Yohe0MMDfj0", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpAtomicDec32);
+ LIB_FUNCTION("pfJgSA4jO3M", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpAtomicInc32);
+ LIB_FUNCTION("l67qBmMmKP4", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpBase64Decoder);
+ LIB_FUNCTION("pu39pU8UgCo", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpBase64Encoder);
+ LIB_FUNCTION("a5IfPlpchXI", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ sceNpBase64GetDecodeSize);
+ LIB_FUNCTION("moGcgMNTHvQ", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpBase64UrlDecoder);
+ LIB_FUNCTION("IeNj+OcWgU8", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpBase64UrlEncoder);
+ LIB_FUNCTION("7BjZKcN+oZ4", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ sceNpBase64UrlGetDecodeSize);
+ LIB_FUNCTION("9+m5nRdJ-wQ", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpCalloutInitCtx);
+ LIB_FUNCTION("fClnlkZmA6k", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ sceNpCalloutStartOnCtx);
+ LIB_FUNCTION("lpr66Gby8dQ", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ sceNpCalloutStartOnCtx64);
+ LIB_FUNCTION("in19gH7G040", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpCalloutStopOnCtx);
+ LIB_FUNCTION("AqJ4xkWsV+I", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpCalloutTermCtx);
+ LIB_FUNCTION("kb2thTuS8t8", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpCancelEventFlag);
+ LIB_FUNCTION("9pLoHoPMxeg", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpClearEventFlag);
+ LIB_FUNCTION("+nmn+Z0nWDo", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpCloseEventFlag);
+ LIB_FUNCTION("8hPzfjZzV88", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpCloseSema);
+ LIB_FUNCTION("i8UmXTSq7N4", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpCmpNpId);
+ LIB_FUNCTION("TcwEFnakiSc", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpCmpNpIdInOrder);
+ LIB_FUNCTION("dj+O5aD2a0Q", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpCmpOnlineId);
+ LIB_FUNCTION("1a+iY5YUJcI", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpCondDestroy);
+ LIB_FUNCTION("q2tsVO3lM4A", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpCondInit);
+ LIB_FUNCTION("uMJFOA62mVU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpCondSignal);
+ LIB_FUNCTION("bsjWg59A7aE", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpCondSignalAll);
+ LIB_FUNCTION("bAHIOyNnx5Y", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpCondSignalTo);
+ LIB_FUNCTION("ss2xO9IJxKQ", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpCondTimedwait);
+ LIB_FUNCTION("fZShld2PQ7w", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpCondWait);
+ LIB_FUNCTION("6jFWpAfqAcc", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpCreateEventFlag);
+ LIB_FUNCTION("LHZtCT2W1Pw", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpCreateSema);
+ LIB_FUNCTION("fhJ5uKzcn0w", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpCreateThread);
+ LIB_FUNCTION("90pmGqDK4BI", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpDbgAssignDebugId);
+ LIB_FUNCTION("Etq15-l9yko", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpDbgDumpBinary);
+ LIB_FUNCTION("ZaKa5x61hGA", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpDbgDumpText);
+ LIB_FUNCTION("sjnIeFCuTD0", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpDeleteEventFlag);
+ LIB_FUNCTION("xPrF2nGPBXQ", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpDeleteSema);
+ LIB_FUNCTION("OQTweRLgFr8", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ sceNpEventGetCurrentNetworkTick);
+ LIB_FUNCTION("vjwlDmsGtME", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpFreeKernelMemory);
+ LIB_FUNCTION("QmDEFikd3VA", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpGetNavSdkVersion);
+ LIB_FUNCTION("sXVQUIGmk2U", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpGetPlatformType);
+ LIB_FUNCTION("Z3mnqcGmf8E", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpGetProcessId);
+ LIB_FUNCTION("pJlGhXEt5CU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpGetRandom);
+ LIB_FUNCTION("Pglk7zFj0DI", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpGetSdkVersion);
+ LIB_FUNCTION("ljqnF0hmLjo", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ sceNpGetSdkVersionUInt);
+ LIB_FUNCTION("PVVsRmMkO1g", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ sceNpGetSystemClockUsec);
+ LIB_FUNCTION("-gN6uE+zWng", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ sceNpGlobalHeapGetAllocator);
+ LIB_FUNCTION("VUHUasztbUY", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ sceNpGlobalHeapGetAllocatorEx);
+ LIB_FUNCTION("P4YpPziLBd4", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ sceNpGlobalHeapGetAllocatorExPtr);
+ LIB_FUNCTION("DI5n4aOdxmk", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ sceNpGlobalHeapGetAllocatorPtr);
+ LIB_FUNCTION("wVdn78HKc30", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpHeapDestroy);
+ LIB_FUNCTION("lvek8w7yqyE", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpHeapGetAllocator);
+ LIB_FUNCTION("2jdHoPpS+W0", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpHeapGetStat);
+ LIB_FUNCTION("B+yGIX1+BTI", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpHeapInit);
+ LIB_FUNCTION("evz0-93ucJc", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpHeapShowStat);
+ LIB_FUNCTION("Hvpr+otU4bo", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpHexToInt);
+ LIB_FUNCTION("5y0wMPQkaeU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpInt32ToStr);
+ LIB_FUNCTION("HoPC33siDD4", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpInt64ToStr);
+ LIB_FUNCTION("G6qytFoBJ-w", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ sceNpIntGetPlatformType);
+ LIB_FUNCTION("fY4XQoA20i8", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ sceNpIntIsOnlineIdString);
+ LIB_FUNCTION("hkeX9iuCwlI", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ sceNpIntIsValidOnlineId);
+ LIB_FUNCTION("X6emt+LbSEI", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ sceNpIntSetPlatformType);
+ LIB_FUNCTION("TWPY1x1Atys", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpIntToHex);
+ LIB_FUNCTION("kgDwlmy78k0", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpIpc2ClientInit);
+ LIB_FUNCTION("CI2p6Viee9w", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpIpc2ClientTerm);
+ LIB_FUNCTION("EjMsfO3GCIA", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpJoinThread);
+ LIB_FUNCTION("vJGDnNh4I0g", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpJsonParse);
+ LIB_FUNCTION("RgfCYkjW7As", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpJsonParseBuf);
+ LIB_FUNCTION("SnAdybtBK3o", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpJsonParseBufInit);
+ LIB_FUNCTION("p5ZkSMRR7AU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpJsonParseEx);
+ LIB_FUNCTION("nhgjiwPUIzI", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpJsonParseExInit);
+ LIB_FUNCTION("teVnFAL6GNY", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpJsonParseInit);
+ LIB_FUNCTION("zNb6IxegrCE", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpLwCondDestroy);
+ LIB_FUNCTION("++eqYdzB8Go", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpLwCondInit);
+ LIB_FUNCTION("Xkn6VoN-wuQ", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpLwCondSignal);
+ LIB_FUNCTION("FJ4DCt8VzVE", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpLwCondSignalAll);
+ LIB_FUNCTION("Bwi+EP8VQ+g", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpLwCondSignalTo);
+ LIB_FUNCTION("ExeLuE3EQCQ", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpLwCondWait);
+ LIB_FUNCTION("4zxevggtYrQ", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpLwMutexDestroy);
+ LIB_FUNCTION("1CiXI-MyEKs", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpLwMutexInit);
+ LIB_FUNCTION("18j+qk6dRwk", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpLwMutexLock);
+ LIB_FUNCTION("hp0kVgu5Fxw", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpLwMutexTryLock);
+ LIB_FUNCTION("CQG2oyx1-nM", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpLwMutexUnlock);
+ LIB_FUNCTION("dfXSH2Tsjkw", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ sceNpMemoryHeapDestroy);
+ LIB_FUNCTION("FaMNvjMA6to", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ sceNpMemoryHeapGetAllocator);
+ LIB_FUNCTION("xHAiSVEEjSI", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ sceNpMemoryHeapGetAllocatorEx);
+ LIB_FUNCTION("kZizwrFvWZY", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpMemoryHeapInit);
+ LIB_FUNCTION("lQ11BpMM4LU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpMutexDestroy);
+ LIB_FUNCTION("uEwag-0YZPc", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpMutexInit);
+ LIB_FUNCTION("r9Bet+s6fKc", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpMutexLock);
+ LIB_FUNCTION("DuslmoqQ+nk", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpMutexTryLock);
+ LIB_FUNCTION("oZyb9ktuCpA", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpMutexUnlock);
+ LIB_FUNCTION("5DkyduAF2rs", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpOpenEventFlag);
+ LIB_FUNCTION("-blITIdtUd0", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpOpenSema);
+ LIB_FUNCTION("ZoXUrTiwKNw", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpPanic);
+ LIB_FUNCTION("9YmBJ8KF9eI", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpPollEventFlag);
+ LIB_FUNCTION("xmF0yIF4iXc", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpPollSema);
+ LIB_FUNCTION("VMjIo2Z-aW0", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ sceNpRtcConvertToPosixTime);
+ LIB_FUNCTION("W0YWLVDndx0", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpRtcFormatRFC3339);
+ LIB_FUNCTION("LtkeQwMIEWY", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpRtcParseRFC3339);
+ LIB_FUNCTION("0lZHbA-HRD0", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ sceNpServerErrorJsonGetErrorCode);
+ LIB_FUNCTION("cRabutqUG7c", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ sceNpServerErrorJsonMultiGetErrorCode);
+ LIB_FUNCTION("WSQxnAVLKgw", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ sceNpServerErrorJsonParse);
+ LIB_FUNCTION("UbStlMKTBeU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ sceNpServerErrorJsonParseInit);
+ LIB_FUNCTION("hbe+DdooIi4", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ sceNpServerErrorJsonParseMultiInit);
+ LIB_FUNCTION("29ftOGIrUCo", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpSetEventFlag);
+ LIB_FUNCTION("m9JzZSoDVFY", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpSetPlatformType);
+ LIB_FUNCTION("-W28+9p1CKI", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpSignalSema);
+ LIB_FUNCTION("i5TP5NLmkoQ", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpStrBuildHex);
+ LIB_FUNCTION("ivnnssCwjGI", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpStrcpyToBuf);
+ LIB_FUNCTION("PHrpHMSU8Cs", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpStrncpyToBuf);
+ LIB_FUNCTION("h1SWCcBdImo", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpStrnParseHex);
+ LIB_FUNCTION("DUHzVPNlugg", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpStrParseHex);
+ LIB_FUNCTION("fElyBSn-l24", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpStrToInt32);
+ LIB_FUNCTION("CwqYdG4TrjA", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpStrToInt64);
+ LIB_FUNCTION("uj86YxCYid0", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpStrToUInt32);
+ LIB_FUNCTION("Ted2YU9lv94", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpStrToUInt64);
+ LIB_FUNCTION("yvaNTRiKXmo", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpThreadGetId);
+ LIB_FUNCTION("rRN89jBArEM", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpUInt32ToStr);
+ LIB_FUNCTION("QjNUYQbGoHA", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpUInt64ToStr);
+ LIB_FUNCTION("Gh74vNl06sg", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ sceNpUserGetUserIdList);
+ LIB_FUNCTION("N3tAHlBnowE", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpUtilBuildTitleId);
+ LIB_FUNCTION("4mEAk-UKVNw", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ sceNpUtilCanonicalizeNpIdForPs4);
+ LIB_FUNCTION("N3FB4r8JoRE", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ sceNpUtilCanonicalizeNpIdForPsp2);
+ LIB_FUNCTION("xPRHNaD3kTc", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpUtilCmpAccountId);
+ LIB_FUNCTION("owm52JoZ8uc", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ sceNpUtilGetDateSetAuto);
+ LIB_FUNCTION("1Gfhi+tZ9IE", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ sceNpUtilGetDbgCommerce);
+ LIB_FUNCTION("kBON3bAtfGs", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpUtilGetEnv);
+ LIB_FUNCTION("MUj0IV6XFGs", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ sceNpUtilGetFakeDisplayNameMode);
+ LIB_FUNCTION("O86rgZ2azfg", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ sceNpUtilGetFakeRateLimit);
+ LIB_FUNCTION("FrxliFYAO8Y", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ sceNpUtilGetIgnoreNpTitleId);
+ LIB_FUNCTION("GRvK1ZE+FEQ", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpUtilGetNpDebug);
+ LIB_FUNCTION("OFiFmfsADas", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ sceNpUtilGetNpLanguageCode);
+ LIB_FUNCTION("X9CqyP164Hc", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ sceNpUtilGetNpLanguageCode2);
+ LIB_FUNCTION("Fxux7Ob+Ynk", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ sceNpUtilGetNpLanguageCode2Str);
+ LIB_FUNCTION("RfiA17kV+xs", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ sceNpUtilGetNpLanguageCodeStr);
+ LIB_FUNCTION("OA8f3KF9JsM", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ sceNpUtilGetNpTestPatch);
+ LIB_FUNCTION("KCk4OGu8+sc", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpUtilGetNthChar);
+ LIB_FUNCTION("fB5hE65pzbU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ sceNpUtilGetShareTitleCheck);
+ LIB_FUNCTION("SXUNKr9Zkv0", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ sceNpUtilGetSystemLanguage);
+ LIB_FUNCTION("AjzLvR0g5Zs", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpUtilGetTrcNotify);
+ LIB_FUNCTION("pmHBFJyju9E", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ sceNpUtilGetWebApi2FakeRateLimit);
+ LIB_FUNCTION("ZRxKp9vjcNc", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ sceNpUtilGetWebApi2FakeRateLimitTarget);
+ LIB_FUNCTION("4CqfNm3pisU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ sceNpUtilGetWebTraceSetting);
+ LIB_FUNCTION("ajoqGz0D9Dw", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ sceNpUtilHttpUrlEncode);
+ LIB_FUNCTION("458yjI+OECI", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpUtilJidToNpId);
+ LIB_FUNCTION("EftEB4kmkSg", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpUtilJsonEscape);
+ LIB_FUNCTION("vj04qzp7uKY", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ sceNpUtilJsonGetOneChar);
+ LIB_FUNCTION("4YJ5gYtRAAE", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpUtilJsonUnescape);
+ LIB_FUNCTION("KyB1IAY2BiU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpUtilNpIdToJid);
+ LIB_FUNCTION("c+ssxRf1Si0", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpUtilNumChars);
+ LIB_FUNCTION("oz2SlXNAnuI", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpUtilParseJid);
+ LIB_FUNCTION("EfnfZtjjyR0", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpUtilParseTitleId);
+ LIB_FUNCTION("okX7IjW0QsI", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpUtilSerializeJid);
+ LIB_FUNCTION("5bBPLZV49kY", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpUtilXmlEscape);
+ LIB_FUNCTION("Ls4eWDrbNmg", "libSceNpCommon", 1, "libSceNpCommon", 1, 1,
+ sceNpUtilXmlGetOneChar);
+ LIB_FUNCTION("+0rj9KhmYb0", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpUtilXmlUnescape);
+ LIB_FUNCTION("ZbdPHUm7jOY", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpWaitEventFlag);
+ LIB_FUNCTION("6adrFGe2cpU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpWaitSema);
+ LIB_FUNCTION("fEcrs9UPPyo", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpXmlParse);
+ LIB_FUNCTION("MCLGkfBmw4c", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, sceNpXmlParseInit);
+ LIB_FUNCTION("AP1XjC3ZZt8", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_00FD578C2DD966DF);
+ LIB_FUNCTION("ATGi6oBon0w", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_0131A2EA80689F4C);
+ LIB_FUNCTION("AUQ8VIY73SA", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_01443C54863BDD20);
+ LIB_FUNCTION("AbxVvcXAra0", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_01BC55BDC5C0ADAD);
+ LIB_FUNCTION("AdHs9XUPQOg", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_01D1ECF5750F40E8);
+ LIB_FUNCTION("AgpHmnT1+6w", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_020A479A74F5FBAC);
+ LIB_FUNCTION("Akr14dlHKrU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_024AF5E1D9472AB5);
+ LIB_FUNCTION("AnxdSIcTprM", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_027C5D488713A6B3);
+ LIB_FUNCTION("Av6dlMaFg1U", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_02FE9D94C6858355);
+ LIB_FUNCTION("BB808ccNFcE", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_041F34F1C70D15C1);
+ LIB_FUNCTION("BTCx0nYRQkg", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_0530B1D276114248);
+ LIB_FUNCTION("Bl2qFOnHOtk", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_065DAA14E9C73AD9);
+ LIB_FUNCTION("Bq-05dBCvD4", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_06AFF4E5D042BC3E);
+ LIB_FUNCTION("Bu42kpn3OZc", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_06EE369299F73997);
+ LIB_FUNCTION("B8ktn412thc", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_07C92D9F8D76B617);
+ LIB_FUNCTION("B+kRdJjx5L8", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_07E9117498F1E4BF);
+ LIB_FUNCTION("CPPgrzZk8nU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_08F3E0AF3664F275);
+ LIB_FUNCTION("Cpk3wB7yE3U", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_0A9937C01EF21375);
+ LIB_FUNCTION("CsvmrMujh20", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_0ACBE6ACCBA3876D);
+ LIB_FUNCTION("CuB9M1RRDOY", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_0AE07D3354510CE6);
+ LIB_FUNCTION("Cuw8NCrme3w", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_0AEC3C342AE67B7C);
+ LIB_FUNCTION("CzGEIMEefCM", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_0B318420C11E7C23);
+ LIB_FUNCTION("C7bDewPzXYk", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_0BB6C37B03F35D89);
+ LIB_FUNCTION("C76Kms3ZD98", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_0BBE8A9ACDD90FDF);
+ LIB_FUNCTION("DHtikF4iTpw", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_0C7B62905E224E9C);
+ LIB_FUNCTION("DTWRMRckGvk", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_0D35913117241AF9);
+ LIB_FUNCTION("DV7pXO7Yeac", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_0D5EE95CEED879A7);
+ LIB_FUNCTION("DW+ySyerHaI", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_0D6FB24B27AB1DA2);
+ LIB_FUNCTION("DegDLVNKxBw", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_0DE8032D534AC41C);
+ LIB_FUNCTION("DfTMqdyp50I", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_0DF4CCA9DCA9E742);
+ LIB_FUNCTION("DnRJsdPZjAE", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_0E7449B1D3D98C01);
+ LIB_FUNCTION("DncJS3dQyzc", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_0E77094B7750CB37);
+ LIB_FUNCTION("Dsqzl7bVBgM", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_0ECAB397B6D50603);
+ LIB_FUNCTION("Dx3h0eraKUg", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_0F1DE1D1EADA2948);
+ LIB_FUNCTION("D4r++h0mvxo", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_0F8AFEFA1D26BF1A);
+ LIB_FUNCTION("EYgXEFYqa60", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_11881710562A6BAD);
+ LIB_FUNCTION("Ea-Yi70McNs", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_11AFD88BBD0C70DB);
+ LIB_FUNCTION("EecEowpLiHc", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_11E704A30A4B8877);
+ LIB_FUNCTION("ElAUhCRS+Us", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_125014842452F94B);
+ LIB_FUNCTION("Em8AceEcrEY", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_126F0071E11CAC46);
+ LIB_FUNCTION("EpJtzzWZSwE", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_12926DCF35994B01);
+ LIB_FUNCTION("Esx6v78xYY8", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_12CC7ABFBF31618F);
+ LIB_FUNCTION("E8TlH0RZKqI", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_13C4E51F44592AA2);
+ LIB_FUNCTION("FTMOfFYzglQ", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_15330E7C56338254);
+ LIB_FUNCTION("FWazWMq-JhI", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_1566B358CABF2612);
+ LIB_FUNCTION("FiWBjyaPRe8", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_1625818F268F45EF);
+ LIB_FUNCTION("FtMrQNKKmsI", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_16D32B40D28A9AC2);
+ LIB_FUNCTION("GD9Eg729Jc0", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_183F4483BDBD25CD);
+ LIB_FUNCTION("GIfp6Vr2Lz0", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_1887E9E95AF62F3D);
+ LIB_FUNCTION("GKPOlf2JPTo", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_18A3CE95FD893D3A);
+ LIB_FUNCTION("GLNmXkhU5+k", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_18B3665E4854E7E9);
+ LIB_FUNCTION("GSOwA5SK9H4", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_1923B003948AF47E);
+ LIB_FUNCTION("GbUz2kxZpTI", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_19B533DA4C59A532);
+ LIB_FUNCTION("G7OZdy22jgg", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_1BB399772DB68E08);
+ LIB_FUNCTION("HArGEtOilxs", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_1C0AC612D3A2971B);
+ LIB_FUNCTION("HFWZt3mZCkM", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_1C5599B779990A43);
+ LIB_FUNCTION("HMuylrBDF74", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_1CCBB296B04317BE);
+ LIB_FUNCTION("HNBFVC+5MAI", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_1CD045542FB93002);
+ LIB_FUNCTION("HezspnOrd7c", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_1DECECA673AB77B7);
+ LIB_FUNCTION("HgPgJOJsGn8", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_1E03E024E26C1A7F);
+ LIB_FUNCTION("HxAXMrsNfiE", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_1F101732BB0D7E21);
+ LIB_FUNCTION("H00VPsPdR7s", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_1F4D153EC3DD47BB);
+ LIB_FUNCTION("H3xH9j+vDL4", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_1F7C47F63FAF0CBE);
+ LIB_FUNCTION("H74u5owPMbY", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_1FBE2EE68C0F31B6);
+ LIB_FUNCTION("IDjBYokUuck", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_2038C1628914B9C9);
+ LIB_FUNCTION("ID-LVv24anQ", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_203FCB56FDB86A74);
+ LIB_FUNCTION("IFacEHxssIw", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_20569C107C6CB08C);
+ LIB_FUNCTION("IKstc07eVfA", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_20AB2D734EDE55F0);
+ LIB_FUNCTION("IrEoEYD7Cl4", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_22B1281180FB0A5E);
+ LIB_FUNCTION("IvGq2makSa4", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_22F1AADA66A449AE);
+ LIB_FUNCTION("I4shXv-fPTA", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_238B215EFFDF3D30);
+ LIB_FUNCTION("JOjsUdFJ+hU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_24E8EC51D149FA15);
+ LIB_FUNCTION("JXKOeKOWLAI", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_25728E78A3962C02);
+ LIB_FUNCTION("JeZJocaJHAU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_25E649A1C6891C05);
+ LIB_FUNCTION("JkuKOLV3cF0", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_264B8A38B577705D);
+ LIB_FUNCTION("Jm7QjcHIKg4", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_266ED08DC1C82A0E);
+ LIB_FUNCTION("J7tN5iq1i60", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_27BB4DE62AB58BAD);
+ LIB_FUNCTION("KDqpahluouo", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_283AA96A196EA2EA);
+ LIB_FUNCTION("KFMVo5CoWpQ", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_285315A390A85A94);
+ LIB_FUNCTION("KQSdux7zGU4", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_29049DBB1EF3194E);
+ LIB_FUNCTION("Kfe6nDcyy0c", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_29F7BA9C3732CB47);
+ LIB_FUNCTION("KnMt8zGsyzc", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_2A732DF331ACCB37);
+ LIB_FUNCTION("KqAWYOx1tvs", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_2AA01660EC75B6FB);
+ LIB_FUNCTION("KzfLzpQcFoE", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_2B37CBCE941C1681);
+ LIB_FUNCTION("LKo7ZNBUTlU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_2CAA3B64D0544E55);
+ LIB_FUNCTION("LM15YX7BCnU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_2CCD79617EC10A75);
+ LIB_FUNCTION("LNi2lxasBmc", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_2CD8B69716AC0667);
+ LIB_FUNCTION("LXT3wP+bXpw", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_2D74F7C0FF9B5E9C);
+ LIB_FUNCTION("LcpagIBUTpU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_2DCA5A8080544E95);
+ LIB_FUNCTION("LmnydDznzlc", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_2E69F2743CE7CE57);
+ LIB_FUNCTION("Lq8fO6-wUn0", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_2EAF1F3BAFF0527D);
+ LIB_FUNCTION("MUk+VbtOj2Y", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_31493E55BB4E8F66);
+ LIB_FUNCTION("MX7crQD7X14", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_317EDCAD00FB5F5E);
+ LIB_FUNCTION("MeAc+ooYzaI", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_31E01CFA8A18CDA2);
+ LIB_FUNCTION("Mq-XgqBhtSY", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_32AFD782A061B526);
+ LIB_FUNCTION("MrXN6wk7gYk", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_32B5CDEB093B8189);
+ LIB_FUNCTION("NBVRUlE8k64", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_34155152513C93AE);
+ LIB_FUNCTION("NOTv-472yf4", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_34E4EFFF8EF6C9FE);
+ LIB_FUNCTION("NXL6DVxUVjs", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_3572FA0D5C54563B);
+ LIB_FUNCTION("NnxHmyZODbk", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_367C479B264E0DB9);
+ LIB_FUNCTION("NohPvJZLKcw", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_36884FBC964B29CC);
+ LIB_FUNCTION("OGAIG7dVmUk", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_3860081BB7559949);
+ LIB_FUNCTION("OTFPfmdKsTI", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_39314F7E674AB132);
+ LIB_FUNCTION("OgLngPzFVqU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_3A02E780FCC556A5);
+ LIB_FUNCTION("Ohe4hbpISbY", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_3A17B885BA4849B6);
+ LIB_FUNCTION("OjjqyupeI6Q", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_3A38EACAEA5E23A4);
+ LIB_FUNCTION("OzSl4H8NvB8", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_3B34A5E07F0DBC1F);
+ LIB_FUNCTION("O06P-AD8fqQ", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_3B4E8FFC00FC7EA4);
+ LIB_FUNCTION("O6sY-aI1EHo", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_3BAB18FDA235107A);
+ LIB_FUNCTION("O9+ZlqCjPxE", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_3BDF9996A0A33F11);
+ LIB_FUNCTION("PBlS8aRcw3o", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_3C1952F1A45CC37A);
+ LIB_FUNCTION("PKN5Bs2wXzs", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_3CA37906CDB05F3B);
+ LIB_FUNCTION("PNspCKzuOm8", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_3CDB2908ACEE3A6F);
+ LIB_FUNCTION("PT7RZfK9zTM", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_3D3ED165F2BDCD33);
+ LIB_FUNCTION("PaTX0Vdfzc4", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_3DA4D7D1575FCDCE);
+ LIB_FUNCTION("Pd+2Es0Lx2k", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_3DDFB612CD0BC769);
+ LIB_FUNCTION("PgQV4Wfercc", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_3E0415E167DEADC7);
+ LIB_FUNCTION("Pn6fDxWBweY", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_3E7E9F0F1581C1E6);
+ LIB_FUNCTION("PtOJ24KA7WU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_3ED389DB8280ED65);
+ LIB_FUNCTION("Pwx-bAw1SH0", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_3F0C7F6C0C35487D);
+ LIB_FUNCTION("P9pyADie8NI", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_3FDA7200389EF0D2);
+ LIB_FUNCTION("P-PCWLpRblg", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_3FF3C258BA516E58);
+ LIB_FUNCTION("QClFP2KKPF0", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_4029453F628A3C5D);
+ LIB_FUNCTION("QFgm3bSuU44", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_405826DDB4AE538E);
+ LIB_FUNCTION("QFqSZ1nyWGU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_405A926759F25865);
+ LIB_FUNCTION("QGYI-e566Io", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_406608FDEE7AE88A);
+ LIB_FUNCTION("QN2lVYwX3c8", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_40DDA5558C17DDCF);
+ LIB_FUNCTION("QZ0S5S-2BmQ", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_419D12E52FF60664);
+ LIB_FUNCTION("QpblOUdL538", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_4296E539474BE77F);
+ LIB_FUNCTION("QvQfxWPMNlQ", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_42F41FC563CC3654);
+ LIB_FUNCTION("Q8zIb0yTAmo", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_43CCC86F4C93026A);
+ LIB_FUNCTION("RAn2C9q8ZeE", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_4409F60BDABC65E1);
+ LIB_FUNCTION("RWPHCuxnU4I", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_4563C70AEC675382);
+ LIB_FUNCTION("ReZjcCGb0F4", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_45E66370219BD05E);
+ LIB_FUNCTION("RmpU8HJ4VpY", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_466A54F072785696);
+ LIB_FUNCTION("Rs0lNpdvIJo", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_46CD2536976F209A);
+ LIB_FUNCTION("SGNxe9L90Vc", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_4863717BD2FDD157);
+ LIB_FUNCTION("SQLr0ZomMUk", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_4902EBD19A263149);
+ LIB_FUNCTION("SQT3-o2D9Aw", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_4904F7FE8D83F40C);
+ LIB_FUNCTION("Sl4T94Sr-Oc", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_4A5E13F784ABFCE7);
+ LIB_FUNCTION("S2XusTXBJ4E", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_4B65EEB135C12781);
+ LIB_FUNCTION("TBnUmXjaheI", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_4C19D49978DA85E2);
+ LIB_FUNCTION("TeXWIP9m8TY", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_4DE5D620FF66F136);
+ LIB_FUNCTION("ThcMErV6j54", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_4E170C12B57A8F9E);
+ LIB_FUNCTION("Ti8-pAXDJgw", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_4E2F3FA405C3260C);
+ LIB_FUNCTION("Tqk1BXdRO00", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_4EA9350577513B4D);
+ LIB_FUNCTION("T3jrb8S18h8", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_4F78EB6FC4B5F21F);
+ LIB_FUNCTION("UDSL5DMRF7c", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_50348BE4331117B7);
+ LIB_FUNCTION("UIx+jN0oHKo", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_508C7E8CDD281CAA);
+ LIB_FUNCTION("UhwdLAKPWn4", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_521C1D2C028F5A7E);
+ LIB_FUNCTION("Ui-ySjXmcpE", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_522FF24A35E67291);
+ LIB_FUNCTION("VHD+kMJc3Uw", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_5470FE90C25CDD4C);
+ LIB_FUNCTION("VX8mD5pKzRg", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_557F260F9A4ACD18);
+ LIB_FUNCTION("VYb5cgnzkes", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_5586F97209F391EB);
+ LIB_FUNCTION("VbLJt62pXDw", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_55B2C9B7ADA95C3C);
+ LIB_FUNCTION("VbSIo6VAuTY", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_55B488A3A540B936);
+ LIB_FUNCTION("VkLf6Cr0MUM", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_5642DFE82AF43143);
+ LIB_FUNCTION("V04EbylK4Yc", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_574E046F294AE187);
+ LIB_FUNCTION("V4km6-iqbL8", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_578926EBF8AA6CBF);
+ LIB_FUNCTION("WF2l-GUIlrw", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_585DA5FC650896BC);
+ LIB_FUNCTION("WNbrJzSewnY", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_58D6EB27349EC276);
+ LIB_FUNCTION("WQa3MXlJhy0", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_5906B7317949872D);
+ LIB_FUNCTION("WRC1YUM1vnA", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_5910B5614335BE70);
+ LIB_FUNCTION("WT19qJEfCMk", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_593D7DA8911F08C9);
+ LIB_FUNCTION("WXV-5qk7DVM", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_59757FE6A93B0D53);
+ LIB_FUNCTION("WY5g+GKxFB4", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_598E60F862B1141E);
+ LIB_FUNCTION("WkU1FmZoDa8", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_5A45351666680DAF);
+ LIB_FUNCTION("Wqvp6nAuan8", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_5AABE9EA702E6A7F);
+ LIB_FUNCTION("WupK5HI1W4A", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_5AEA4AE472355B80);
+ LIB_FUNCTION("WyDlPN5Zh0E", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_5B20E53CDE598741);
+ LIB_FUNCTION("W0gLWfrpR+A", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_5B480B59FAE947E0);
+ LIB_FUNCTION("W17sI2kKub0", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_5B5EEC23690AB9BD);
+ LIB_FUNCTION("XArFsK8+2uA", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_5C0AC5B0AF3EDAE0);
+ LIB_FUNCTION("XS6Zm+oHYtQ", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_5D2E999BEA0762D4);
+ LIB_FUNCTION("XVW7-UURDhY", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_5D55BBFD45110E16);
+ LIB_FUNCTION("Xe4VQD0rtf0", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_5DEE15403D2BB5FD);
+ LIB_FUNCTION("YCDHCMp0sTA", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_6020C708CA74B130);
+ LIB_FUNCTION("YG4UFVA8NNI", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_606E1415503C34D2);
+ LIB_FUNCTION("YSFA6O6aaT4", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_612140E8EE9A693E);
+ LIB_FUNCTION("YfE-VR2vYd8", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_61F13F551DAF61DF);
+ LIB_FUNCTION("YgbTkTF1Iyg", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_6206D39131752328);
+ LIB_FUNCTION("Yh1FQ+8DRN4", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_621D4543EF0344DE);
+ LIB_FUNCTION("YlmpqOVtAnM", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_6259A9A8E56D0273);
+ LIB_FUNCTION("Yl+ccBY0b04", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_625F9C7016346F4E);
+ LIB_FUNCTION("Yu+N90bNjEo", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_62EF8DF746CD8C4A);
+ LIB_FUNCTION("Y20qmf0eays", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_636D2A99FD1E6B2B);
+ LIB_FUNCTION("aAE+32b+dCU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_68013EDF66FE7425);
+ LIB_FUNCTION("aXH3Bn3WOdE", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_6971F7067DD639D1);
+ LIB_FUNCTION("aYlq2zq0ELI", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_69896ADB3AB410B2);
+ LIB_FUNCTION("ahOJqm5WE4c", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_6A1389AA6E561387);
+ LIB_FUNCTION("alVg2J8Ssuc", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_6A5560D89F12B2E7);
+ LIB_FUNCTION("ar+Zz4VKvPE", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_6ABF99CF854ABCF1);
+ LIB_FUNCTION("a0-dxlANjcs", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_6B4FDDC6500D8DCB);
+ LIB_FUNCTION("bKEdW0nRkoo", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_6CA11D5B49D1928A);
+ LIB_FUNCTION("bWwPth5tBxU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_6D6C0FB61E6D0715);
+ LIB_FUNCTION("bXUHRf4TSPU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_6D750745FE1348F5);
+ LIB_FUNCTION("bhrz+dCZFL4", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_6E1AF3F9D09914BE);
+ LIB_FUNCTION("blPtTAiypSE", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_6E53ED4C08B2A521);
+ LIB_FUNCTION("bvQ6yh7WuWg", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_6EF43ACA1ED6B968);
+ LIB_FUNCTION("b2+gnz4bamA", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_6F6FA09F3E1B6A60);
+ LIB_FUNCTION("cDXDQMcZWQE", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_7035C340C7195901);
+ LIB_FUNCTION("cDjiHLXPZBs", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_7038E21CB5CF641B);
+ LIB_FUNCTION("cGNF3NpbpE0", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_706345DCDA5BA44D);
+ LIB_FUNCTION("cSBxTr8Qvx8", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_7120714EBF10BF1F);
+ LIB_FUNCTION("cT0oqRvIA90", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_713D28A91BC803DD);
+ LIB_FUNCTION("cVO9dqU6oBI", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_7153BD76A53AA012);
+ LIB_FUNCTION("cVxiXMcEG2s", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_715C625CC7041B6B);
+ LIB_FUNCTION("ceRnvbGHEdA", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_71E467BDB18711D0);
+ LIB_FUNCTION("cg0XllwfTj8", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_720D17965C1F4E3F);
+ LIB_FUNCTION("c0OAybz2W5o", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_734380C9BCF65B9A);
+ LIB_FUNCTION("c-TAjM1LvM8", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_73F4C08CCD4BBCCF);
+ LIB_FUNCTION("dEAxAbeynUY", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_74403101B7B29D46);
+ LIB_FUNCTION("dSWwgazWb-Q", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_7525B081ACD66FF4);
+ LIB_FUNCTION("db9Ed8E6Bco", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_75BF4477C13A05CA);
+ LIB_FUNCTION("dgl5P1mHxvc", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_7609793F5987C6F7);
+ LIB_FUNCTION("dhbtAbBHaao", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_7616ED01B04769AA);
+ LIB_FUNCTION("dk+HPZGhJNg", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_764F873D91A124D8);
+ LIB_FUNCTION("dwbx4SMFlWU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_7706F1E123059565);
+ LIB_FUNCTION("d-LQfrbYBuY", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_77F2D07EB6D806E6);
+ LIB_FUNCTION("ecNwTNzVnlc", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_79C3704CDCD59E57);
+ LIB_FUNCTION("edoLuiE1FUU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_79DA0BBA21351545);
+ LIB_FUNCTION("efokR7Xz8MQ", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_79FA2447B5F3F0C4);
+ LIB_FUNCTION("ek1vZf9hlaU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_7A4D6F65FF6195A5);
+ LIB_FUNCTION("ezGVzRFN7Oc", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_7B3195CD114DECE7);
+ LIB_FUNCTION("ezI48jAa020", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_7B3238F2301AD36D);
+ LIB_FUNCTION("fHf8cHUKMmY", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_7C77FC70750A3266);
+ LIB_FUNCTION("fSOp3EWdbRg", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_7D23A9DC459D6D18);
+ LIB_FUNCTION("fVmIx0jQoF8", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_7D5988C748D0A05F);
+ LIB_FUNCTION("fZWXFHqZ9PQ", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_7D9597147A99F4F4);
+ LIB_FUNCTION("filT9Afdg0Y", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_7E2953F407DD8346);
+ LIB_FUNCTION("fuNOUJlwmzI", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_7EE34E5099709B32);
+ LIB_FUNCTION("gEcOVRHVygA", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_80470E5511D5CA00);
+ LIB_FUNCTION("gHF5cBwI8Gk", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_807179701C08F069);
+ LIB_FUNCTION("gJboH-ryTkY", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_8096E81FFAF24E46);
+ LIB_FUNCTION("gLdk9PG4cEI", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_80B764F4F1B87042);
+ LIB_FUNCTION("gL9pFDitAIs", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_80BF691438AD008B);
+ LIB_FUNCTION("gM9s-JYBJEI", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_80CF6CFC96012442);
+ LIB_FUNCTION("gOp3L4wFGf0", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_80EA772F8C0519FD);
+ LIB_FUNCTION("gdCv0AhNMno", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_81D0AFD0084D327A);
+ LIB_FUNCTION("gh64pyF2-Wc", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_821EB8A72176FD67);
+ LIB_FUNCTION("gtL6tUEnJz8", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_82D2FAB54127273F);
+ LIB_FUNCTION("g2rmacQqWek", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_836AE669C42A59E9);
+ LIB_FUNCTION("hVmiW-7DUYw", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_8559A25BFEC3518C);
+ LIB_FUNCTION("hcH2bHZ6SdI", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_85C1F66C767A49D2);
+ LIB_FUNCTION("hontE4P4e6c", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_8689ED1383F87BA7);
+ LIB_FUNCTION("h5bNnlNV06Y", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_8796CD9E5355D3A6);
+ LIB_FUNCTION("h9N+tt3BnZk", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_87D37EB6DDC19D99);
+ LIB_FUNCTION("iAqkj3D4T90", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_880AA48F70F84FDD);
+ LIB_FUNCTION("iXsHViCTZls", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_897B07562093665B);
+ LIB_FUNCTION("isr1XxY2gIc", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_8ACAF55F16368087);
+ LIB_FUNCTION("iuilWJsw1OA", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_8AE8A5589B30D4E0);
+ LIB_FUNCTION("iumXkJgxszE", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_8AE997909831B331);
+ LIB_FUNCTION("iy1kC+DQ+5k", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_8B2D640BE0D0FB99);
+ LIB_FUNCTION("iz2atGaNrss", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_8B3D9AB4668DAECB);
+ LIB_FUNCTION("i176qqzgtGw", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_8B5EFAAAACE0B46C);
+ LIB_FUNCTION("jCeUP0CpiNs", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_8C27943F40A988DB);
+ LIB_FUNCTION("jFQJbHX18tA", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_8C54096C75F5F2D0);
+ LIB_FUNCTION("jXZjoKUWiBQ", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_8D7663A0A5168814);
+ LIB_FUNCTION("jmGPUJmU+tc", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_8E618F509994FAD7);
+ LIB_FUNCTION("jxnmzAZOK5g", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_8F19E6CC064E2B98);
+ LIB_FUNCTION("j2qK6u6SL-U", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_8F6A8AEAEE922FF5);
+ LIB_FUNCTION("kBDhrY67+8o", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_9010E1AD8EBBFBCA);
+ LIB_FUNCTION("kKlVoOcAGuk", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_90A955A0E7001AE9);
+ LIB_FUNCTION("kPnWBn-uzAU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_90F9D6067FEECC05);
+ LIB_FUNCTION("k0jz0ZVGodo", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_9348F3D19546A1DA);
+ LIB_FUNCTION("k9PAEdsZOIo", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_93D3C011DB19388A);
+ LIB_FUNCTION("lW56T9n4kQM", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_956E7A4FD9F89103);
+ LIB_FUNCTION("lfaZ4ELD5A8", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_95F699E042C3E40F);
+ LIB_FUNCTION("lod7OaoOhzU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_96877B39AA0E8735);
+ LIB_FUNCTION("ls4HxJ7SNOo", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_96CE07C49ED234EA);
+ LIB_FUNCTION("l2uxeCNbVoE", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_976BB178235B5681);
+ LIB_FUNCTION("l4wLJeWIxNY", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_978C0B25E588C4D6);
+ LIB_FUNCTION("mLomEr7yONY", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_98BA2612BEF238D6);
+ LIB_FUNCTION("mVvdSTGvkTc", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_995BDD4931AF9137);
+ LIB_FUNCTION("mWbjmpJrclA", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_9966E39A926B7250);
+ LIB_FUNCTION("mcIwbxiWNGQ", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_99C2306F18963464);
+ LIB_FUNCTION("mcksYTt3a6c", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_99C92C613B776BA7);
+ LIB_FUNCTION("mk5Lk4zIrTk", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_9A4E4B938CC8AD39);
+ LIB_FUNCTION("myP3tLf3IIE", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_9B23F7B4B7F72081);
+ LIB_FUNCTION("nA6u6ucFqNs", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_9C0EAEEAE705A8DB);
+ LIB_FUNCTION("nUesWVRd6eg", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_9D47AC59545DE9E8);
+ LIB_FUNCTION("oTBS2LGyrPo", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_A13052D8B1B2ACFA);
+ LIB_FUNCTION("oapD46ePb2I", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_A1AA43E3A78F6F62);
+ LIB_FUNCTION("oeSM31Rknck", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_A1E48CDF54649DC9);
+ LIB_FUNCTION("oufe5bCvXRQ", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_A2E7DEE5B0AF5D14);
+ LIB_FUNCTION("ovXH-Z-xE-U", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_A2F5C7FD9FF113F5);
+ LIB_FUNCTION("o2KW4iadRrw", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_A36296E2269D46BC);
+ LIB_FUNCTION("o+4qe58NiK8", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_A3EE2A7B9F0D88AF);
+ LIB_FUNCTION("pEcfn34L+oI", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_A4471F9F7E0BFA82);
+ LIB_FUNCTION("pEm7pSHqNOE", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_A449BBA521EA34E1);
+ LIB_FUNCTION("pI5mbDNOcmw", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_A48E666C334E726C);
+ LIB_FUNCTION("pJt0SbTd5pw", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_A49B7449B4DDE69C);
+ LIB_FUNCTION("pXSEURJcnqQ", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_A5748451125C9EA4);
+ LIB_FUNCTION("ppCijWSMwXY", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_A690A28D648CC176);
+ LIB_FUNCTION("pqht4bHLsdk", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_A6A86DE1B1CBB1D9);
+ LIB_FUNCTION("qPK7e4FXQKE", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_A8F2BB7B815740A1);
+ LIB_FUNCTION("qT9kwGpvc5c", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_A93F64C06A6F7397);
+ LIB_FUNCTION("qzWSX8l9aqM", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_AB35925FC97D6AA3);
+ LIB_FUNCTION("rAFKosmR+ik", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_AC014AA2C991FA29);
+ LIB_FUNCTION("rAbhCQFASus", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_AC06E10901404AEB);
+ LIB_FUNCTION("rHXGiBNSNQU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_AC75C68813523505);
+ LIB_FUNCTION("rUQbxJcILD4", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_AD441BC497082C3E);
+ LIB_FUNCTION("rU8l8CHTVMM", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_AD4F25F021D354C3);
+ LIB_FUNCTION("rfoEqFVBpP4", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_ADFA04A85541A4FE);
+ LIB_FUNCTION("rpYQprUheiM", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_AE9610A6B5217A23);
+ LIB_FUNCTION("ryAZI4JvClg", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_AF201923826F0A58);
+ LIB_FUNCTION("r8AhtDico-o", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_AFC021B4389CA3FA);
+ LIB_FUNCTION("sBXpmaM3PY8", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_B015E999A3373D8F);
+ LIB_FUNCTION("sDhLhhB-xlI", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_B0384B86107FC652);
+ LIB_FUNCTION("sMYwZTsxZWM", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_B0C630653B316563);
+ LIB_FUNCTION("sQDczYjVxz0", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_B100DCCD88D5C73D);
+ LIB_FUNCTION("sRo-6l5NnqQ", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_B11A3FEA5E4D9EA4);
+ LIB_FUNCTION("suf43BmcC5M", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_B2E7F8DC199C0B93);
+ LIB_FUNCTION("s6thopb23cg", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_B3AB61A296F6DDC8);
+ LIB_FUNCTION("s-MvauYZ7II", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_B3F32F6AE619EC82);
+ LIB_FUNCTION("tCJ6shO-jPU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_B4227AB213BF8CF5);
+ LIB_FUNCTION("tGUr9CtgQ2A", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_B4652BF42B604360);
+ LIB_FUNCTION("tTbB8Tv+l8s", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_B536C1F13BFE97CB);
+ LIB_FUNCTION("tkXMJkGEvIk", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_B645CC264184BC89);
+ LIB_FUNCTION("tn4XsVgsb70", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_B67E17B1582C6FBD);
+ LIB_FUNCTION("ttBHxddpWk0", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_B6D047C5D7695A4D);
+ LIB_FUNCTION("t17Y4epi78c", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_B75ED8E1EA62EFC7);
+ LIB_FUNCTION("t6mpRNvX4QA", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_B7A9A944DBD7E100);
+ LIB_FUNCTION("t8TnW+lPMfM", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_B7C4E75BE94F31F3);
+ LIB_FUNCTION("uIix+SxGQSE", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_B888B1F92C464121);
+ LIB_FUNCTION("uN7CJWSqBXs", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_B8DEC22564AA057B);
+ LIB_FUNCTION("ubrdHLu65Pg", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_B9BADD1CBBBAE4F8);
+ LIB_FUNCTION("uqn3FpyF5Z8", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_BAA9F7169C85E59F);
+ LIB_FUNCTION("uu5cOJCNYts", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_BAEE5C38908D62DB);
+ LIB_FUNCTION("vMhV6yUYP4Q", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_BCC855EB25183F84);
+ LIB_FUNCTION("vQH2NwKcc2Q", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_BD01F637029C7364);
+ LIB_FUNCTION("vdKfWscHflM", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_BDD29F5AC7077E53);
+ LIB_FUNCTION("vtg90z7K1Q0", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_BED83DD33ECAD50D);
+ LIB_FUNCTION("vufV0Jir9yg", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_BEE7D5D098ABF728);
+ LIB_FUNCTION("wNsVzPWa5iw", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_C0DB15CCF59AE62C);
+ LIB_FUNCTION("wcIp-uD9YPo", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_C1C229FEE0FD60FA);
+ LIB_FUNCTION("wii5rWgpjpg", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_C228B9AD68298E98);
+ LIB_FUNCTION("wphSXO9vsoM", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_C298525CEF6FB283);
+ LIB_FUNCTION("w1Dwk1H21rU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_C350F09351F6D6B5);
+ LIB_FUNCTION("w3QugPpYAxk", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_C3742E80FA580319);
+ LIB_FUNCTION("w8mFPV1NRdQ", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_C3C9853D5D4D45D4);
+ LIB_FUNCTION("w-Xa1Pufw0A", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_C3F5DAD4FB9FC340);
+ LIB_FUNCTION("xF+w5MzprtY", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_C45FB0E4CCE9AED6);
+ LIB_FUNCTION("xJecuUi348c", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_C4979CB948B7E3C7);
+ LIB_FUNCTION("xJsluhbPC4w", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_C49B25BA16CF0B8C);
+ LIB_FUNCTION("xVE0XZYxIB4", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_C551345D9631201E);
+ LIB_FUNCTION("xXopRCE2gpg", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_C57A294421368298);
+ LIB_FUNCTION("xdyRytch1ig", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_C5DC91CAD721D628);
+ LIB_FUNCTION("xt7O5YkTU1c", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_C6DECEE589135357);
+ LIB_FUNCTION("yB+LINZ6x40", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_C81F8B20D67AC78D);
+ LIB_FUNCTION("yCD6VvrIe+o", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_C820FA56FAC87BEA);
+ LIB_FUNCTION("yHjqkRTF5JA", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_C878EA9114C5E490);
+ LIB_FUNCTION("yKgT6-9HdQk", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_C8A813EBFF477509);
+ LIB_FUNCTION("yWamY9WjVII", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_C966A663D5A35482);
+ LIB_FUNCTION("yXxMZ-02dNM", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_C97C4C67FD3674D3);
+ LIB_FUNCTION("yZBVDxWEiwc", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_C990550F15848B07);
+ LIB_FUNCTION("yllzeo7Bu74", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_CA59737A8EC1BBBE);
+ LIB_FUNCTION("ysX96PgNe2U", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_CAC5FDE8F80D7B65);
+ LIB_FUNCTION("yxNbMNBjm4M", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_CB135B30D0639B83);
+ LIB_FUNCTION("y4oaqmH2TDo", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_CB8A1AAA61F64C3A);
+ LIB_FUNCTION("y55nRnJYB1c", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_CB9E674672580757);
+ LIB_FUNCTION("zCudJerqqx0", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_CC2B9D25EAEAAB1D);
+ LIB_FUNCTION("zRslK77fW1M", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_CD1B252BBEDF5B53);
+ LIB_FUNCTION("zwA76Qy+Gic", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_CF003BE90CBE1A27);
+ LIB_FUNCTION("zwCONIhKweI", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_CF008E34884AC1E2);
+ LIB_FUNCTION("0Lj0s6NoerI", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_D0B8F4B3A3687AB2);
+ LIB_FUNCTION("0O4ZuOkfYPU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_D0EE19B8E91F60F5);
+ LIB_FUNCTION("0SuSlL0OD1Y", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_D12B9294BD0E0F56);
+ LIB_FUNCTION("0cyGJtj6Mos", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_D1CC8626D8FA328B);
+ LIB_FUNCTION("0vorueuLY6w", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_D2FA2BB9EB8B63AC);
+ LIB_FUNCTION("0yGXiAz5POs", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_D32197880CF93CEB);
+ LIB_FUNCTION("0yb1wmzIG44", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_D326F5C26CC81B8E);
+ LIB_FUNCTION("1PoGuVoyG3o", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_D4FA06B95A321B7A);
+ LIB_FUNCTION("1So3qQHgSyE", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_D52A37A901E04B21);
+ LIB_FUNCTION("1VBN-DmatAA", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_D5504DFC399AB400);
+ LIB_FUNCTION("1WEFyyf49dw", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_D56105CB27F8F5DC);
+ LIB_FUNCTION("1WirGSNeyxk", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_D568AB19235ECB19);
+ LIB_FUNCTION("1t979mOf5hE", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_D6DF7BF6639FE611);
+ LIB_FUNCTION("2GCKkDEZ10Y", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_D8608A903119D746);
+ LIB_FUNCTION("2ej8cH1ZkU0", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_D9E8FC707D59914D);
+ LIB_FUNCTION("2fB55i3uWyk", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_D9F079E62DEE5B29);
+ LIB_FUNCTION("2hfOTyl0hTY", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_DA17CE4F29748536);
+ LIB_FUNCTION("2kC579f2EYU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_DA40B9EFD7F61185);
+ LIB_FUNCTION("2msnT+vCZmo", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_DA6B274FEBC2666A);
+ LIB_FUNCTION("2tAVNch6Ufw", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_DAD01535C87A51FC);
+ LIB_FUNCTION("20UR1EhRDsQ", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_DB4511D448510EC4);
+ LIB_FUNCTION("247x--xmJpw", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_DB8EF1FFFC66269C);
+ LIB_FUNCTION("27UI+hudqPc", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_DBB508FA1B9DA8F7);
+ LIB_FUNCTION("3FnJuHC3KaI", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_DC59C9B870B729A2);
+ LIB_FUNCTION("3Gae1sv2dRw", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_DC669ED6CBF6751C);
+ LIB_FUNCTION("3LiihJpByZE", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_DCB8A2849A41C991);
+ LIB_FUNCTION("3Y+ZFtfwOvc", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_DD8F9916D7F03AF7);
+ LIB_FUNCTION("3cM-L05IDCo", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_DDC33F2F4E480C2A);
+ LIB_FUNCTION("3gtCC96LItc", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_DE0B420BDE8B22D7);
+ LIB_FUNCTION("4MC8KYmP43A", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_E0C0BC29898FE370);
+ LIB_FUNCTION("4M2JPkb7Vbo", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_E0CD893E46FB55BA);
+ LIB_FUNCTION("4lUwFkt-ZZ8", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_E25530164B7F659F);
+ LIB_FUNCTION("42gvQ-33bFg", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_E3682F43FDF76C58);
+ LIB_FUNCTION("44F34ceKgPo", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_E38177E1C78A80FA);
+ LIB_FUNCTION("48p0z-ll3wo", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_E3CA74CFF965DF0A);
+ LIB_FUNCTION("5FuxkbSbLtk", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_E45BB191B49B2ED9);
+ LIB_FUNCTION("5GW51rYObX0", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_E465B9D6B60E6D7D);
+ LIB_FUNCTION("5NgodsKWw4o", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_E4D82876C296C38A);
+ LIB_FUNCTION("5N21NQ+ltTg", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_E4DDB5350FA5B538);
+ LIB_FUNCTION("5Uv-b7crx74", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_E54BFF6FB72BC7BE);
+ LIB_FUNCTION("5ZKpMgMCC7s", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_E592A93203020BBB);
+ LIB_FUNCTION("5aRK9tfUiv0", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_E5A44AF6D7D48AFD);
+ LIB_FUNCTION("5jmpfPn-FDA", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_E639A97CF9FF1430);
+ LIB_FUNCTION("5qwBeeSKiSc", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_E6AC0179E48A8927);
+ LIB_FUNCTION("51FZZoJ3XYM", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_E751596682775D83);
+ LIB_FUNCTION("54ix5S74JwI", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_E788B1E52EF82702);
+ LIB_FUNCTION("6U8XYT9cnTE", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_E94F17613F5C9D31);
+ LIB_FUNCTION("6VkBExKNVeA", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_E9590113128D55E0);
+ LIB_FUNCTION("6eCw3RJWCxY", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_E9E0B0DD12560B16);
+ LIB_FUNCTION("6vXI7OZMewU", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_EAF5C8ECE64C7B05);
+ LIB_FUNCTION("65i-XELUp+s", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_EB98BF5C42D4A7EB);
+ LIB_FUNCTION("66vEqsQ6Row", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_EBABC4AAC43A468C);
+ LIB_FUNCTION("6-AAhfCCzIs", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_EBF00085F082CC8B);
+ LIB_FUNCTION("7LZZ7gWNBq8", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_ECB659EE058D06AF);
+ LIB_FUNCTION("7PCWq3UUh64", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_ECF096AB751487AE);
+ LIB_FUNCTION("7lonFwHbM8A", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_EE5A271701DB33C0);
+ LIB_FUNCTION("72TLahYlJI4", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_EF64CB6A1625248E);
+ LIB_FUNCTION("72yKNXx+2GM", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_EF6C8A357C7ED863);
+ LIB_FUNCTION("8A-pT35pmZQ", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_F00FE94F7E699994);
+ LIB_FUNCTION("8aUdujAykDg", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_F1A51DBA30329038);
+ LIB_FUNCTION("8hbnZqkP3BI", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_F216E766A90FDC12);
+ LIB_FUNCTION("8qEFhKvl2Cw", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_F2A10584ABE5D82C);
+ LIB_FUNCTION("8tmdOV5UIaM", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_F2D99D395E5421A3);
+ LIB_FUNCTION("84AB5Si6E3E", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_F38001E528BA1371);
+ LIB_FUNCTION("857JyPp2h7M", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_F39EC9C8FA7687B3);
+ LIB_FUNCTION("86--3NYyd1w", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_F3AFFFDCD632775C);
+ LIB_FUNCTION("87jf8zdIv9M", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_F3B8DFF33748BFD3);
+ LIB_FUNCTION("9eR-lVD3oUc", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_F5E47F9550F7A147);
+ LIB_FUNCTION("9uk3FNGpOc8", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_F6E93714D1A939CF);
+ LIB_FUNCTION("9v0ZrUjk7wk", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_F6FD19AD48E4EF09);
+ LIB_FUNCTION("90Tr-GIPfL8", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_F744EBFC620F7CBF);
+ LIB_FUNCTION("925FJay6zH8", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_F76E4525ACBACC7F);
+ LIB_FUNCTION("95V6SIgvQss", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_F7957A48882F42CB);
+ LIB_FUNCTION("96gLB4CbqDg", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_F7A80B07809BA838);
+ LIB_FUNCTION("+FccbMW2tZ0", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_F8571C6CC5B6B59D);
+ LIB_FUNCTION("+Xh8+oc4Nvs", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_F9787CFA873836FB);
+ LIB_FUNCTION("+nifbTTTg-g", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_FA789F6D34D383F8);
+ LIB_FUNCTION("+rpXQIOsHmw", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_FABA574083AC1E6C);
+ LIB_FUNCTION("-AT9u642j7c", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_FC04FDBBAE368FB7);
+ LIB_FUNCTION("-S2vvy5A7uc", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_FD2DAFBF2E40EEE7);
+ LIB_FUNCTION("-VXubTX5UK0", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_FD55EE6D35F950AD);
+ LIB_FUNCTION("-lXuMgmNDVg", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_FE55EE32098D0D58);
+ LIB_FUNCTION("-nmEECLh2hw", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_FE79841022E1DA1C);
+ LIB_FUNCTION("--Sj4nn7RKc", "libSceNpCommon", 1, "libSceNpCommon", 1, 1, Func_FFF4A3E279FB44A7);
+};
+
+} // namespace Libraries::NpCommon
\ No newline at end of file
diff --git a/src/core/libraries/np_common/np_common.h b/src/core/libraries/np_common/np_common.h
new file mode 100644
index 000000000..886610ccc
--- /dev/null
+++ b/src/core/libraries/np_common/np_common.h
@@ -0,0 +1,1245 @@
+// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "common/types.h"
+
+namespace Core::Loader {
+class SymbolsResolver;
+}
+
+namespace Libraries::NpCommon {
+
+constexpr int ORBIS_NP_ONLINEID_MAX_LENGTH = 16;
+
+struct OrbisNpOnlineId {
+ char data[ORBIS_NP_ONLINEID_MAX_LENGTH];
+ s8 term;
+ s8 dummy[3];
+};
+
+struct OrbisNpId {
+ OrbisNpOnlineId handle;
+ u8 opt[8];
+ u8 reserved[8];
+};
+
+int PS4_SYSV_ABI sceNpCmpNpId(OrbisNpId* np_id1, OrbisNpId* np_id2);
+int PS4_SYSV_ABI sceNpCmpNpIdInOrder(OrbisNpId* np_id1, OrbisNpId* np_id2, u32* out_result);
+int PS4_SYSV_ABI sceNpCmpOnlineId(OrbisNpOnlineId* online_id1, OrbisNpOnlineId* online_id2);
+int PS4_SYSV_ABI _sceNpAllocatorExConvertAllocator();
+int PS4_SYSV_ABI _sceNpAllocatorExFree();
+int PS4_SYSV_ABI _sceNpAllocatorExMalloc();
+int PS4_SYSV_ABI _sceNpAllocatorExRealloc();
+int PS4_SYSV_ABI _sceNpAllocatorExStrdup();
+int PS4_SYSV_ABI _sceNpAllocatorExStrndup();
+int PS4_SYSV_ABI _sceNpAllocatorFree();
+int PS4_SYSV_ABI _sceNpAllocatorMalloc();
+int PS4_SYSV_ABI _sceNpAllocatorRealloc();
+int PS4_SYSV_ABI _sceNpAllocatorStrdup();
+int PS4_SYSV_ABI _sceNpAllocatorStrndup();
+int PS4_SYSV_ABI _sceNpFree();
+int PS4_SYSV_ABI _sceNpHeapFree();
+int PS4_SYSV_ABI _sceNpHeapMalloc();
+int PS4_SYSV_ABI _sceNpHeapRealloc();
+int PS4_SYSV_ABI _sceNpHeapStrdup();
+int PS4_SYSV_ABI _sceNpHeapStrndup();
+int PS4_SYSV_ABI _sceNpMalloc();
+int PS4_SYSV_ABI _sceNpRealloc();
+int PS4_SYSV_ABI _ZN3sce2np10Cancelable10IsCanceledEv();
+int PS4_SYSV_ABI _ZN3sce2np10Cancelable10LockCancelEPKciS3_();
+int PS4_SYSV_ABI _ZN3sce2np10Cancelable11CheckCancelEPKciS3_();
+int PS4_SYSV_ABI _ZN3sce2np10Cancelable12UnlockCancelEPKciS3_();
+int PS4_SYSV_ABI _ZN3sce2np10Cancelable13SetCancelableEb();
+int PS4_SYSV_ABI _ZN3sce2np10Cancelable14SetupSubCancelEPS1_PKciS4_();
+int PS4_SYSV_ABI _ZN3sce2np10Cancelable16CleanupSubCancelEPS1_();
+int PS4_SYSV_ABI _ZN3sce2np10Cancelable4InitEv();
+int PS4_SYSV_ABI _ZN3sce2np10Cancelable6CancelEij();
+int PS4_SYSV_ABI _ZN3sce2np10Cancelable7DestroyEv();
+int PS4_SYSV_ABI _ZN3sce2np10CancelableC2Ev();
+int PS4_SYSV_ABI _ZN3sce2np10CancelableD0Ev();
+int PS4_SYSV_ABI _ZN3sce2np10CancelableD1Ev();
+int PS4_SYSV_ABI _ZN3sce2np10CancelableD2Ev();
+int PS4_SYSV_ABI _ZN3sce2np10CancelLock3EndEPKciS3_();
+int PS4_SYSV_ABI _ZN3sce2np10CancelLock5BeginEPNS0_6HandleEPKciS5_();
+int PS4_SYSV_ABI _ZN3sce2np10CancelLockC1Ev();
+int PS4_SYSV_ABI _ZN3sce2np10CancelLockC2Ev();
+int PS4_SYSV_ABI _ZN3sce2np10CancelLockD1Ev();
+int PS4_SYSV_ABI _ZN3sce2np10CancelLockD2Ev();
+int PS4_SYSV_ABI _ZN3sce2np10EventQueue10ClearAbortEt();
+int PS4_SYSV_ABI _ZN3sce2np10EventQueue10TryDequeueEPvm();
+int PS4_SYSV_ABI _ZN3sce2np10EventQueue4ctorEv();
+int PS4_SYSV_ABI _ZN3sce2np10EventQueue4dtorEv();
+int PS4_SYSV_ABI _ZN3sce2np10EventQueue4InitEPKcmm();
+int PS4_SYSV_ABI _ZN3sce2np10EventQueue5AbortEt();
+int PS4_SYSV_ABI _ZN3sce2np10EventQueue7DequeueEPvmj();
+int PS4_SYSV_ABI _ZN3sce2np10EventQueue7DestroyEv();
+int PS4_SYSV_ABI _ZN3sce2np10EventQueue7EnqueueEPKvmj();
+int PS4_SYSV_ABI _ZN3sce2np10EventQueueC2EP16SceNpAllocatorEx();
+int PS4_SYSV_ABI _ZN3sce2np10EventQueueD0Ev();
+int PS4_SYSV_ABI _ZN3sce2np10EventQueueD1Ev();
+int PS4_SYSV_ABI _ZN3sce2np10EventQueueD2Ev();
+int PS4_SYSV_ABI _ZN3sce2np10JsonNumber5ClearEv();
+int PS4_SYSV_ABI _ZN3sce2np10JsonNumber6SetNumEi();
+int PS4_SYSV_ABI _ZN3sce2np10JsonNumber6SetNumEj();
+int PS4_SYSV_ABI _ZN3sce2np10JsonNumber6SetNumEl();
+int PS4_SYSV_ABI _ZN3sce2np10JsonNumber6SetNumEm();
+int PS4_SYSV_ABI _ZN3sce2np10JsonNumber6SetNumEPKc();
+int PS4_SYSV_ABI _ZN3sce2np10JsonObject16DeleteFieldValueEPKc();
+int PS4_SYSV_ABI _ZN3sce2np10JsonObject5ClearEv();
+int PS4_SYSV_ABI _ZN3sce2np10JsonParser4InitEPK7JsonDefPNS1_12EventHandlerE();
+int PS4_SYSV_ABI _ZN3sce2np10JsonParser5ParseEPKcm();
+int PS4_SYSV_ABI _ZN3sce2np10JsonParserC2EP16SceNpAllocatorEx();
+int PS4_SYSV_ABI _ZN3sce2np10JsonParserD0Ev();
+int PS4_SYSV_ABI _ZN3sce2np10JsonParserD1Ev();
+int PS4_SYSV_ABI _ZN3sce2np10JsonParserD2Ev();
+int PS4_SYSV_ABI _ZN3sce2np10JsonString5ClearEv();
+int PS4_SYSV_ABI _ZN3sce2np10JsonString6SetStrEPKc();
+int PS4_SYSV_ABI _ZN3sce2np10MemoryFile4ReadEPNS0_6HandleEPvmPm();
+int PS4_SYSV_ABI _ZN3sce2np10MemoryFile4SyncEv();
+int PS4_SYSV_ABI _ZN3sce2np10MemoryFile5CloseEv();
+int PS4_SYSV_ABI _ZN3sce2np10MemoryFile5WriteEPNS0_6HandleEPKvmPm();
+int PS4_SYSV_ABI _ZN3sce2np10MemoryFile8TruncateEl();
+int PS4_SYSV_ABI _ZN3sce2np10MemoryFileC2EP16SceNpAllocatorEx();
+int PS4_SYSV_ABI _ZN3sce2np10MemoryFileD0Ev();
+int PS4_SYSV_ABI _ZN3sce2np10MemoryFileD1Ev();
+int PS4_SYSV_ABI _ZN3sce2np10MemoryFileD2Ev();
+int PS4_SYSV_ABI
+_ZN3sce2np12HttpTemplate19SetAuthInfoCallbackEPFii15SceHttpAuthTypePKcPcS5_iPPhPmPiPvESA_();
+int PS4_SYSV_ABI _ZN3sce2np12HttpTemplate4InitEiPKcib();
+int PS4_SYSV_ABI _ZN3sce2np12HttpTemplate7DestroyEv();
+int PS4_SYSV_ABI _ZN3sce2np12HttpTemplateC1Ev();
+int PS4_SYSV_ABI _ZN3sce2np12HttpTemplateC2Ev();
+int PS4_SYSV_ABI _ZN3sce2np12HttpTemplateD0Ev();
+int PS4_SYSV_ABI _ZN3sce2np12HttpTemplateD1Ev();
+int PS4_SYSV_ABI _ZN3sce2np12HttpTemplateD2Ev();
+int PS4_SYSV_ABI _ZN3sce2np12StreamBufferixEi();
+int PS4_SYSV_ABI _ZN3sce2np12StreamReader4ReadEPNS0_6HandleEPNS0_9StreamCtxEPvmPm();
+int PS4_SYSV_ABI _ZN3sce2np12StreamReader7ReadAllEPNS0_6HandleEPNS0_9StreamCtxEPvmPm();
+int PS4_SYSV_ABI _ZN3sce2np12StreamReader7ReadAllEPNS0_6HandleEPvmPm();
+int PS4_SYSV_ABI _ZN3sce2np12StreamReader8ReadDataEPNS0_6HandleEPNS0_9StreamCtxEPvmPm();
+int PS4_SYSV_ABI _ZN3sce2np12StreamReader8ReadDataEPNS0_6HandleEPvmPm();
+int PS4_SYSV_ABI _ZN3sce2np12StreamReader8SkipDataEPNS0_6HandleElPl();
+int PS4_SYSV_ABI _ZN3sce2np12StreamReader8SkipDataEPNS0_6HandleEPNS0_9StreamCtxElPl();
+int PS4_SYSV_ABI _ZN3sce2np12StreamWriter15WriteFilledDataEPNS0_6HandleEcl();
+int PS4_SYSV_ABI _ZN3sce2np12StreamWriter15WriteFilledDataEPNS0_6HandleEPNS0_9StreamCtxEcl();
+int PS4_SYSV_ABI _ZN3sce2np12StreamWriter5WriteEPNS0_6HandleEPNS0_9StreamCtxEPKvmPm();
+int PS4_SYSV_ABI _ZN3sce2np12StreamWriter9WriteDataEPNS0_6HandleEPKvmPm();
+int PS4_SYSV_ABI _ZN3sce2np12StreamWriter9WriteDataEPNS0_6HandleEPNS0_9StreamCtxEPKvmPm();
+int PS4_SYSV_ABI _ZN3sce2np12WorkerThread10ThreadMainEv();
+int PS4_SYSV_ABI _ZN3sce2np12WorkerThreadC1EPNS0_9WorkQueueE();
+int PS4_SYSV_ABI _ZN3sce2np12WorkerThreadC2EPNS0_9WorkQueueE();
+int PS4_SYSV_ABI _ZN3sce2np12WorkerThreadD0Ev();
+int PS4_SYSV_ABI _ZN3sce2np12WorkerThreadD1Ev();
+int PS4_SYSV_ABI _ZN3sce2np12WorkerThreadD2Ev();
+int PS4_SYSV_ABI _ZN3sce2np13JsonDocParser5ParseEPKcm();
+int PS4_SYSV_ABI _ZN3sce2np13JsonDocParser9GetResultEPPNS0_10JsonObjectE();
+int PS4_SYSV_ABI _ZN3sce2np13JsonDocParser9GetResultEPPNS0_9JsonValueE();
+int PS4_SYSV_ABI _ZN3sce2np13JsonDocParserC2EP16SceNpAllocatorExPK7JsonDef();
+int PS4_SYSV_ABI _ZN3sce2np13JsonDocParserD0Ev();
+int PS4_SYSV_ABI _ZN3sce2np13JsonDocParserD1Ev();
+int PS4_SYSV_ABI _ZN3sce2np13JsonDocParserD2Ev();
+int PS4_SYSV_ABI _ZN3sce2np13NpTitleSecret5ClearEv();
+int PS4_SYSV_ABI _ZN3sce2np13NpTitleSecretC1EPKvm();
+int PS4_SYSV_ABI _ZN3sce2np13NpTitleSecretC1ERK16SceNpTitleSecret();
+int PS4_SYSV_ABI _ZN3sce2np13NpTitleSecretC1ERKS1_();
+int PS4_SYSV_ABI _ZN3sce2np13NpTitleSecretC1Ev();
+int PS4_SYSV_ABI _ZN3sce2np13NpTitleSecretC2EPKvm();
+int PS4_SYSV_ABI _ZN3sce2np13NpTitleSecretC2ERK16SceNpTitleSecret();
+int PS4_SYSV_ABI _ZN3sce2np13NpTitleSecretC2ERKS1_();
+int PS4_SYSV_ABI _ZN3sce2np13NpTitleSecretC2Ev();
+int PS4_SYSV_ABI _ZN3sce2np13NpTitleSecretD0Ev();
+int PS4_SYSV_ABI _ZN3sce2np13NpTitleSecretD1Ev();
+int PS4_SYSV_ABI _ZN3sce2np13NpTitleSecretD2Ev();
+int PS4_SYSV_ABI _ZN3sce2np13RingBufMemory4ctorEv();
+int PS4_SYSV_ABI _ZN3sce2np13RingBufMemory4dtorEv();
+int PS4_SYSV_ABI _ZN3sce2np13RingBufMemory4InitEm();
+int PS4_SYSV_ABI _ZN3sce2np13RingBufMemory6ExpandEm();
+int PS4_SYSV_ABI _ZN3sce2np13RingBufMemory6IsInitEv();
+int PS4_SYSV_ABI _ZN3sce2np13RingBufMemory7DestroyEv();
+int PS4_SYSV_ABI _ZN3sce2np13RingBufMemoryC2EP16SceNpAllocatorEx();
+int PS4_SYSV_ABI _ZN3sce2np13RingBufMemoryD0Ev();
+int PS4_SYSV_ABI _ZN3sce2np13RingBufMemoryD1Ev();
+int PS4_SYSV_ABI _ZN3sce2np13RingBufMemoryD2Ev();
+int PS4_SYSV_ABI _ZN3sce2np14CalloutContext4InitEPKcimm();
+int PS4_SYSV_ABI _ZN3sce2np14CalloutContext4InitEPKNS1_5ParamE();
+int PS4_SYSV_ABI _ZN3sce2np14CalloutContext7DestroyEv();
+int PS4_SYSV_ABI _ZN3sce2np14CalloutContextC1Ev();
+int PS4_SYSV_ABI _ZN3sce2np14CalloutContextC2Ev();
+int PS4_SYSV_ABI _ZN3sce2np14CalloutContextD0Ev();
+int PS4_SYSV_ABI _ZN3sce2np14CalloutContextD1Ev();
+int PS4_SYSV_ABI _ZN3sce2np14CalloutContextD2Ev();
+int PS4_SYSV_ABI _ZN3sce2np14JsonDocBuilder12BuildBufSizeEv();
+int PS4_SYSV_ABI _ZN3sce2np14JsonDocBuilder16EscapeJsonStringEPKcPcmPm();
+int PS4_SYSV_ABI _ZN3sce2np14JsonDocBuilder23EscapeJsonStringBufSizeEPKc();
+int PS4_SYSV_ABI _ZN3sce2np14JsonDocBuilder5BuildEPcmPm();
+int PS4_SYSV_ABI _ZN3sce2np14JsonDocBuilderC1ERKNS0_9JsonValueE();
+int PS4_SYSV_ABI _ZN3sce2np14JsonDocBuilderC2ERKNS0_9JsonValueE();
+int PS4_SYSV_ABI _ZN3sce2np14JsonDocBuilderD0Ev();
+int PS4_SYSV_ABI _ZN3sce2np14JsonDocBuilderD1Ev();
+int PS4_SYSV_ABI _ZN3sce2np14JsonDocBuilderD2Ev();
+int PS4_SYSV_ABI _ZN3sce2np15CancelableScope3EndEiPKciS3_();
+int PS4_SYSV_ABI _ZN3sce2np15CancelableScope5BeginEPNS0_6HandleEPKciS5_();
+int PS4_SYSV_ABI _ZN3sce2np15CancelableScopeC2Ev();
+int PS4_SYSV_ABI _ZN3sce2np15CancelableScopeD0Ev();
+int PS4_SYSV_ABI _ZN3sce2np15CancelableScopeD1Ev();
+int PS4_SYSV_ABI _ZN3sce2np15CancelableScopeD2Ev();
+int PS4_SYSV_ABI _ZN3sce2np16StreamReadBufferC2EP16SceNpAllocatorEx();
+int PS4_SYSV_ABI _ZN3sce2np16StreamReadBufferD1Ev();
+int PS4_SYSV_ABI _ZN3sce2np16StreamReadBufferD2Ev();
+int PS4_SYSV_ABI _ZN3sce2np18HttpConnectionPool13InvalidateAllEv();
+int PS4_SYSV_ABI _ZN3sce2np18HttpConnectionPool4InitEi();
+int PS4_SYSV_ABI _ZN3sce2np18HttpConnectionPool7DestroyEv();
+int PS4_SYSV_ABI _ZN3sce2np18HttpConnectionPoolC1EP16SceNpAllocatorEx();
+int PS4_SYSV_ABI _ZN3sce2np18HttpConnectionPoolC2EP16SceNpAllocatorEx();
+int PS4_SYSV_ABI _ZN3sce2np18HttpConnectionPoolD0Ev();
+int PS4_SYSV_ABI _ZN3sce2np18HttpConnectionPoolD1Ev();
+int PS4_SYSV_ABI _ZN3sce2np18HttpConnectionPoolD2Ev();
+int PS4_SYSV_ABI _ZN3sce2np18MemoryStreamReader4ReadEPNS0_6HandleEPvmPm();
+int PS4_SYSV_ABI _ZN3sce2np18MemoryStreamReaderC1EPKvm();
+int PS4_SYSV_ABI _ZN3sce2np18MemoryStreamReaderC2EPKvm();
+int PS4_SYSV_ABI _ZN3sce2np18MemoryStreamReaderD0Ev();
+int PS4_SYSV_ABI _ZN3sce2np18MemoryStreamReaderD1Ev();
+int PS4_SYSV_ABI _ZN3sce2np18MemoryStreamReaderD2Ev();
+int PS4_SYSV_ABI _ZN3sce2np18MemoryStreamWriter5WriteEPNS0_6HandleEPKvmPm();
+int PS4_SYSV_ABI _ZN3sce2np18MemoryStreamWriterC1EPvm();
+int PS4_SYSV_ABI _ZN3sce2np18MemoryStreamWriterC2EPvm();
+int PS4_SYSV_ABI _ZN3sce2np18MemoryStreamWriterD0Ev();
+int PS4_SYSV_ABI _ZN3sce2np18MemoryStreamWriterD1Ev();
+int PS4_SYSV_ABI _ZN3sce2np18MemoryStreamWriterD2Ev();
+int PS4_SYSV_ABI _ZN3sce2np20BufferedStreamReader4ReadEPNS0_6HandleEPvmPm();
+int PS4_SYSV_ABI _ZN3sce2np20BufferedStreamReader5CloseEv();
+int PS4_SYSV_ABI _ZN3sce2np20BufferedStreamReaderC2EP16SceNpAllocatorEx();
+int PS4_SYSV_ABI _ZN3sce2np20BufferedStreamReaderD0Ev();
+int PS4_SYSV_ABI _ZN3sce2np20BufferedStreamReaderD1Ev();
+int PS4_SYSV_ABI _ZN3sce2np20BufferedStreamReaderD2Ev();
+int PS4_SYSV_ABI _ZN3sce2np3ipc10IpmiClient10DisconnectEv();
+int PS4_SYSV_ABI _ZN3sce2np3ipc10IpmiClient11IsConnectedEv();
+int PS4_SYSV_ABI _ZN3sce2np3ipc10IpmiClient16invokeSyncMethodEjPKvmPvPmm();
+int PS4_SYSV_ABI _ZN3sce2np3ipc10IpmiClient4ctorEv();
+int PS4_SYSV_ABI _ZN3sce2np3ipc10IpmiClient4dtorEv();
+int PS4_SYSV_ABI _ZN3sce2np3ipc10IpmiClient4InitEPKNS2_6ConfigE();
+int PS4_SYSV_ABI _ZN3sce2np3ipc10IpmiClient7ConnectEPKvm();
+int PS4_SYSV_ABI _ZN3sce2np3ipc10IpmiClient7DestroyEv();
+int PS4_SYSV_ABI _ZN3sce2np3ipc10IpmiClientC1Ev();
+int PS4_SYSV_ABI _ZN3sce2np3ipc10IpmiClientC2Ev();
+int PS4_SYSV_ABI _ZN3sce2np3ipc10IpmiClientD0Ev();
+int PS4_SYSV_ABI _ZN3sce2np3ipc10IpmiClientD1Ev();
+int PS4_SYSV_ABI _ZN3sce2np3ipc10IpmiClientD2Ev();
+int PS4_SYSV_ABI
+_ZN3sce2np3ipc13ServiceClientC1EPNS1_17ServiceIpmiClientEPKNS1_17ServiceClientInfoE();
+int PS4_SYSV_ABI
+_ZN3sce2np3ipc13ServiceClientC2EPNS1_17ServiceIpmiClientEPKNS1_17ServiceClientInfoE();
+int PS4_SYSV_ABI _ZN3sce2np3ipc17ServiceIpmiClient10DisconnectEv();
+int PS4_SYSV_ABI _ZN3sce2np3ipc17ServiceIpmiClient10EndRequestEii();
+int PS4_SYSV_ABI _ZN3sce2np3ipc17ServiceIpmiClient11findServiceEi();
+int PS4_SYSV_ABI _ZN3sce2np3ipc17ServiceIpmiClient11InitServiceEi();
+int PS4_SYSV_ABI _ZN3sce2np3ipc17ServiceIpmiClient11TermServiceEi();
+int PS4_SYSV_ABI _ZN3sce2np3ipc17ServiceIpmiClient11WaitRequestEiij();
+int PS4_SYSV_ABI _ZN3sce2np3ipc17ServiceIpmiClient12AbortRequestEii();
+int PS4_SYSV_ABI _ZN3sce2np3ipc17ServiceIpmiClient12BeginRequestEii();
+int PS4_SYSV_ABI _ZN3sce2np3ipc17ServiceIpmiClient13CreateRequestEPiiPKvm();
+int PS4_SYSV_ABI _ZN3sce2np3ipc17ServiceIpmiClient13DeleteRequestEii();
+int PS4_SYSV_ABI _ZN3sce2np3ipc17ServiceIpmiClient13PollEventFlagEijmjPm();
+int PS4_SYSV_ABI _ZN3sce2np3ipc17ServiceIpmiClient13WaitEventFlagEijmjPmj();
+int PS4_SYSV_ABI _ZN3sce2np3ipc17ServiceIpmiClient14PollEventQueueEiPvm();
+int PS4_SYSV_ABI _ZN3sce2np3ipc17ServiceIpmiClient15CancelEventFlagEijm();
+int PS4_SYSV_ABI _ZN3sce2np3ipc17ServiceIpmiClient15RegisterServiceEPKNS1_17ServiceClientInfoE();
+int PS4_SYSV_ABI _ZN3sce2np3ipc17ServiceIpmiClient16RegisterServicesEPKNS1_17ServiceClientInfoE();
+int PS4_SYSV_ABI _ZN3sce2np3ipc17ServiceIpmiClient17invokeInitServiceEi();
+int PS4_SYSV_ABI _ZN3sce2np3ipc17ServiceIpmiClient17invokeTermServiceEi();
+int PS4_SYSV_ABI _ZN3sce2np3ipc17ServiceIpmiClient17UnregisterServiceEi();
+int PS4_SYSV_ABI _ZN3sce2np3ipc17ServiceIpmiClient18EndRequestForAsyncEii();
+int PS4_SYSV_ABI _ZN3sce2np3ipc17ServiceIpmiClient19WaitRequestForAsyncEiij();
+int PS4_SYSV_ABI _ZN3sce2np3ipc17ServiceIpmiClient20AbortRequestForAsyncEii();
+int PS4_SYSV_ABI
+_ZN3sce2np3ipc17ServiceIpmiClient20BeginRequestForAsyncEiiPN4IPMI6Client12EventNotifeeE();
+int PS4_SYSV_ABI _ZN3sce2np3ipc17ServiceIpmiClient21CreateRequestForAsyncEPiiPKvm();
+int PS4_SYSV_ABI _ZN3sce2np3ipc17ServiceIpmiClient21DeleteRequestForAsyncEii();
+int PS4_SYSV_ABI _ZN3sce2np3ipc17ServiceIpmiClient4ctorEv();
+int PS4_SYSV_ABI _ZN3sce2np3ipc17ServiceIpmiClient4dtorEv();
+int PS4_SYSV_ABI _ZN3sce2np3ipc17ServiceIpmiClient4InitEPNS2_6ConfigE();
+int PS4_SYSV_ABI _ZN3sce2np3ipc17ServiceIpmiClient7ConnectEPKvm();
+int PS4_SYSV_ABI _ZN3sce2np3ipc17ServiceIpmiClient7DestroyEv();
+int PS4_SYSV_ABI _ZN3sce2np3ipc17ServiceIpmiClientC1Ev();
+int PS4_SYSV_ABI _ZN3sce2np3ipc17ServiceIpmiClientC2Ev();
+int PS4_SYSV_ABI _ZN3sce2np3ipc17ServiceIpmiClientD0Ev();
+int PS4_SYSV_ABI _ZN3sce2np3ipc17ServiceIpmiClientD1Ev();
+int PS4_SYSV_ABI _ZN3sce2np3ipc17ServiceIpmiClientD2Ev();
+int PS4_SYSV_ABI _ZN3sce2np4Cond4ctorEv();
+int PS4_SYSV_ABI _ZN3sce2np4Cond4dtorEv();
+int PS4_SYSV_ABI _ZN3sce2np4Cond4InitEPKcPNS0_5MutexE();
+int PS4_SYSV_ABI _ZN3sce2np4Cond4WaitEj();
+int PS4_SYSV_ABI _ZN3sce2np4Cond6SignalEv();
+int PS4_SYSV_ABI _ZN3sce2np4Cond7DestroyEv();
+int PS4_SYSV_ABI _ZN3sce2np4Cond9SignalAllEv();
+int PS4_SYSV_ABI _ZN3sce2np4CondC1Ev();
+int PS4_SYSV_ABI _ZN3sce2np4CondC2Ev();
+int PS4_SYSV_ABI _ZN3sce2np4CondD0Ev();
+int PS4_SYSV_ABI _ZN3sce2np4CondD1Ev();
+int PS4_SYSV_ABI _ZN3sce2np4CondD2Ev();
+int PS4_SYSV_ABI _ZN3sce2np4Path11BuildAppendEPcmcPKcm();
+int PS4_SYSV_ABI _ZN3sce2np4Path12AddDelimiterEPcmc();
+int PS4_SYSV_ABI _ZN3sce2np4Path5ClearEv();
+int PS4_SYSV_ABI _ZN3sce2np4Path6SetStrEPKcm();
+int PS4_SYSV_ABI _ZN3sce2np4PathD0Ev();
+int PS4_SYSV_ABI _ZN3sce2np4PathD1Ev();
+int PS4_SYSV_ABI _ZN3sce2np4PathD2Ev();
+int PS4_SYSV_ABI _ZN3sce2np4Time10AddMinutesEl();
+int PS4_SYSV_ABI _ZN3sce2np4Time10AddSecondsEl();
+int PS4_SYSV_ABI _ZN3sce2np4Time12GetUserClockEPS1_();
+int PS4_SYSV_ABI _ZN3sce2np4Time15AddMicroSecondsEl();
+int PS4_SYSV_ABI _ZN3sce2np4Time15GetNetworkClockEPS1_();
+int PS4_SYSV_ABI _ZN3sce2np4Time20GetDebugNetworkClockEPS1_();
+int PS4_SYSV_ABI _ZN3sce2np4Time7AddDaysEl();
+int PS4_SYSV_ABI _ZN3sce2np4Time8AddHoursEl();
+int PS4_SYSV_ABI _ZN3sce2np4TimeplERK10SceRtcTick();
+int PS4_SYSV_ABI _ZN3sce2np4TimeplERKS1_();
+int PS4_SYSV_ABI _ZN3sce2np5Mutex4ctorEv();
+int PS4_SYSV_ABI _ZN3sce2np5Mutex4dtorEv();
+int PS4_SYSV_ABI _ZN3sce2np5Mutex4InitEPKcj();
+int PS4_SYSV_ABI _ZN3sce2np5Mutex4LockEv();
+int PS4_SYSV_ABI _ZN3sce2np5Mutex6UnlockEv();
+int PS4_SYSV_ABI _ZN3sce2np5Mutex7DestroyEv();
+int PS4_SYSV_ABI _ZN3sce2np5Mutex7TryLockEv();
+int PS4_SYSV_ABI _ZN3sce2np5MutexC1Ev();
+int PS4_SYSV_ABI _ZN3sce2np5MutexC2Ev();
+int PS4_SYSV_ABI _ZN3sce2np5MutexD0Ev();
+int PS4_SYSV_ABI _ZN3sce2np5MutexD1Ev();
+int PS4_SYSV_ABI _ZN3sce2np5MutexD2Ev();
+int PS4_SYSV_ABI _ZN3sce2np5NpEnv8GetNpEnvEPS1_();
+int PS4_SYSV_ABI _ZN3sce2np6Handle10CancelImplEi();
+int PS4_SYSV_ABI _ZN3sce2np6Handle4InitEv();
+int PS4_SYSV_ABI _ZN3sce2np6Handle7DestroyEv();
+int PS4_SYSV_ABI _ZN3sce2np6HandleC1Ev();
+int PS4_SYSV_ABI _ZN3sce2np6HandleC2Ev();
+int PS4_SYSV_ABI _ZN3sce2np6HandleD0Ev();
+int PS4_SYSV_ABI _ZN3sce2np6HandleD1Ev();
+int PS4_SYSV_ABI _ZN3sce2np6HandleD2Ev();
+int PS4_SYSV_ABI _ZN3sce2np6ObjectdaEPv();
+int PS4_SYSV_ABI _ZN3sce2np6ObjectdaEPvR14SceNpAllocator();
+int PS4_SYSV_ABI _ZN3sce2np6ObjectdaEPvR16SceNpAllocatorEx();
+int PS4_SYSV_ABI _ZN3sce2np6ObjectdlEPv();
+int PS4_SYSV_ABI _ZN3sce2np6ObjectdlEPvR14SceNpAllocator();
+int PS4_SYSV_ABI _ZN3sce2np6ObjectdlEPvR16SceNpAllocatorEx();
+int PS4_SYSV_ABI _ZN3sce2np6ObjectnaEmR14SceNpAllocator();
+int PS4_SYSV_ABI _ZN3sce2np6ObjectnaEmR16SceNpAllocatorEx();
+int PS4_SYSV_ABI _ZN3sce2np6ObjectnwEmR14SceNpAllocator();
+int PS4_SYSV_ABI _ZN3sce2np6ObjectnwEmR16SceNpAllocatorEx();
+int PS4_SYSV_ABI _ZN3sce2np6Thread12DoThreadMainEv();
+int PS4_SYSV_ABI _ZN3sce2np6Thread4ctorEv();
+int PS4_SYSV_ABI _ZN3sce2np6Thread4dtorEv();
+int PS4_SYSV_ABI _ZN3sce2np6Thread4InitEPKcimm();
+int PS4_SYSV_ABI _ZN3sce2np6Thread4InitEPKNS1_5ParamE();
+int PS4_SYSV_ABI _ZN3sce2np6Thread4JoinEPi();
+int PS4_SYSV_ABI _ZN3sce2np6Thread5StartEv();
+int PS4_SYSV_ABI _ZN3sce2np6Thread7DestroyEv();
+int PS4_SYSV_ABI _ZN3sce2np6Thread9EntryFuncEPv();
+int PS4_SYSV_ABI _ZN3sce2np6Thread9GetResultEv();
+int PS4_SYSV_ABI _ZN3sce2np6Thread9IsRunningEv();
+int PS4_SYSV_ABI _ZN3sce2np6ThreadC2Ev();
+int PS4_SYSV_ABI _ZN3sce2np6ThreadD0Ev();
+int PS4_SYSV_ABI _ZN3sce2np6ThreadD1Ev();
+int PS4_SYSV_ABI _ZN3sce2np6ThreadD2Ev();
+int PS4_SYSV_ABI _ZN3sce2np7Callout10IsTimedoutEv();
+int PS4_SYSV_ABI _ZN3sce2np7Callout11CalloutFuncEPv();
+int PS4_SYSV_ABI _ZN3sce2np7Callout4StopEv();
+int PS4_SYSV_ABI _ZN3sce2np7Callout5StartEjPNS1_7HandlerE();
+int PS4_SYSV_ABI _ZN3sce2np7Callout5StartEmPNS1_7HandlerE();
+int PS4_SYSV_ABI _ZN3sce2np7Callout9IsStartedEv();
+int PS4_SYSV_ABI _ZN3sce2np7CalloutC1EPNS0_14CalloutContextE();
+int PS4_SYSV_ABI _ZN3sce2np7CalloutC2EPNS0_14CalloutContextE();
+int PS4_SYSV_ABI _ZN3sce2np7CalloutD0Ev();
+int PS4_SYSV_ABI _ZN3sce2np7CalloutD1Ev();
+int PS4_SYSV_ABI _ZN3sce2np7CalloutD2Ev();
+int PS4_SYSV_ABI _ZN3sce2np7HttpUri5BuildEPKS1_PcmPmj();
+int PS4_SYSV_ABI _ZN3sce2np7HttpUri5ParseEPS1_PKc();
+int PS4_SYSV_ABI _ZN3sce2np7HttpUriC1EP16SceNpAllocatorEx();
+int PS4_SYSV_ABI _ZN3sce2np7HttpUriC2EP16SceNpAllocatorEx();
+int PS4_SYSV_ABI _ZN3sce2np7HttpUriD0Ev();
+int PS4_SYSV_ABI _ZN3sce2np7HttpUriD1Ev();
+int PS4_SYSV_ABI _ZN3sce2np7HttpUriD2Ev();
+int PS4_SYSV_ABI _ZN3sce2np7RingBuf14CheckinForReadEm();
+int PS4_SYSV_ABI _ZN3sce2np7RingBuf15CheckinForWriteEm();
+int PS4_SYSV_ABI _ZN3sce2np7RingBuf15CheckoutForReadEPm();
+int PS4_SYSV_ABI _ZN3sce2np7RingBuf16CheckoutForWriteEPm();
+int PS4_SYSV_ABI _ZN3sce2np7RingBuf4ctorEv();
+int PS4_SYSV_ABI _ZN3sce2np7RingBuf4dtorEv();
+int PS4_SYSV_ABI _ZN3sce2np7RingBuf4InitEPvm();
+int PS4_SYSV_ABI _ZN3sce2np7RingBuf4PeekEmPvm();
+int PS4_SYSV_ABI _ZN3sce2np7RingBuf4ReadEPvm();
+int PS4_SYSV_ABI _ZN3sce2np7RingBuf5ClearEv();
+int PS4_SYSV_ABI _ZN3sce2np7RingBuf5WriteEPKvm();
+int PS4_SYSV_ABI _ZN3sce2np7RingBuf7DestroyEv();
+int PS4_SYSV_ABI _ZN3sce2np7RingBufC1Ev();
+int PS4_SYSV_ABI _ZN3sce2np7RingBufC2Ev();
+int PS4_SYSV_ABI _ZN3sce2np7RingBufD0Ev();
+int PS4_SYSV_ABI _ZN3sce2np7RingBufD1Ev();
+int PS4_SYSV_ABI _ZN3sce2np7RingBufD2Ev();
+int PS4_SYSV_ABI _ZN3sce2np8HttpFile4ReadEPNS0_6HandleEPvmPm();
+int PS4_SYSV_ABI _ZN3sce2np8HttpFile5CloseEv();
+int PS4_SYSV_ABI _ZN3sce2np8HttpFileC2EP16SceNpAllocatorEx();
+int PS4_SYSV_ABI _ZN3sce2np8HttpFileD0Ev();
+int PS4_SYSV_ABI _ZN3sce2np8HttpFileD1Ev();
+int PS4_SYSV_ABI _ZN3sce2np8HttpFileD2Ev();
+int PS4_SYSV_ABI _ZN3sce2np8JsonBool5ClearEv();
+int PS4_SYSV_ABI _ZN3sce2np8JsonBool7SetBoolEb();
+int PS4_SYSV_ABI _ZN3sce2np8JsonFile5CloseEv();
+int PS4_SYSV_ABI _ZN3sce2np8JsonFileD0Ev();
+int PS4_SYSV_ABI _ZN3sce2np8JsonFileD1Ev();
+int PS4_SYSV_ABI _ZN3sce2np8JsonFileD2Ev();
+int PS4_SYSV_ABI _ZN3sce2np8JsonNull5ClearEv();
+int PS4_SYSV_ABI _ZN3sce2np8NpCommId5BuildERKS1_Pcm();
+int PS4_SYSV_ABI _ZN3sce2np8NpCommId5ClearEv();
+int PS4_SYSV_ABI _ZN3sce2np8NpCommId5ParseEPS1_PKc();
+int PS4_SYSV_ABI _ZN3sce2np8NpCommId5ParseEPS1_PKcm();
+int PS4_SYSV_ABI _ZN3sce2np8NpCommIdC1ERK20SceNpCommunicationId();
+int PS4_SYSV_ABI _ZN3sce2np8NpCommIdC1ERKS1_();
+int PS4_SYSV_ABI _ZN3sce2np8NpCommIdC1Ev();
+int PS4_SYSV_ABI _ZN3sce2np8NpCommIdC2ERK20SceNpCommunicationId();
+int PS4_SYSV_ABI _ZN3sce2np8NpCommIdC2ERKS1_();
+int PS4_SYSV_ABI _ZN3sce2np8NpCommIdC2Ev();
+int PS4_SYSV_ABI _ZN3sce2np8NpCommIdD0Ev();
+int PS4_SYSV_ABI _ZN3sce2np8NpCommIdD1Ev();
+int PS4_SYSV_ABI _ZN3sce2np8NpCommIdD2Ev();
+int PS4_SYSV_ABI _ZN3sce2np8Selector4InitEPKc();
+int PS4_SYSV_ABI _ZN3sce2np8SelectorD0Ev();
+int PS4_SYSV_ABI _ZN3sce2np8SelectorD1Ev();
+int PS4_SYSV_ABI _ZN3sce2np8SelectorD2Ev();
+int PS4_SYSV_ABI _ZN3sce2np8WorkItem10SetPendingEv();
+int PS4_SYSV_ABI _ZN3sce2np8WorkItem10SetRunningEv();
+int PS4_SYSV_ABI _ZN3sce2np8WorkItem11SetFinishedEi();
+int PS4_SYSV_ABI _ZN3sce2np8WorkItem14FinishCallbackEv();
+int PS4_SYSV_ABI _ZN3sce2np8WorkItem15RemoveFromQueueEv();
+int PS4_SYSV_ABI _ZN3sce2np8WorkItem6CancelEi();
+int PS4_SYSV_ABI _ZN3sce2np8WorkItem9BindQueueEPNS0_9WorkQueueEi();
+int PS4_SYSV_ABI _ZN3sce2np8WorkItemC2EPKc();
+int PS4_SYSV_ABI _ZN3sce2np8WorkItemD0Ev();
+int PS4_SYSV_ABI _ZN3sce2np8WorkItemD1Ev();
+int PS4_SYSV_ABI _ZN3sce2np8WorkItemD2Ev();
+int PS4_SYSV_ABI _ZN3sce2np9EventFlag3SetEm();
+int PS4_SYSV_ABI _ZN3sce2np9EventFlag4ctorEv();
+int PS4_SYSV_ABI _ZN3sce2np9EventFlag4dtorEv();
+int PS4_SYSV_ABI _ZN3sce2np9EventFlag4OpenEPKc();
+int PS4_SYSV_ABI _ZN3sce2np9EventFlag4PollEmjPm();
+int PS4_SYSV_ABI _ZN3sce2np9EventFlag4WaitEmjPmj();
+int PS4_SYSV_ABI _ZN3sce2np9EventFlag5ClearEm();
+int PS4_SYSV_ABI _ZN3sce2np9EventFlag6CancelEm();
+int PS4_SYSV_ABI _ZN3sce2np9EventFlag6CreateEPKcj();
+int PS4_SYSV_ABI _ZN3sce2np9EventFlag7DestroyEv();
+int PS4_SYSV_ABI _ZN3sce2np9EventFlagC1Ev();
+int PS4_SYSV_ABI _ZN3sce2np9EventFlagC2Ev();
+int PS4_SYSV_ABI _ZN3sce2np9EventFlagD0Ev();
+int PS4_SYSV_ABI _ZN3sce2np9EventFlagD1Ev();
+int PS4_SYSV_ABI _ZN3sce2np9EventFlagD2Ev();
+int PS4_SYSV_ABI _ZN3sce2np9HttpTrans10SetTimeoutEPKNS1_12TimeoutParamE();
+int PS4_SYSV_ABI _ZN3sce2np9HttpTrans11SendRequestEPNS0_6HandleEPKvm();
+int PS4_SYSV_ABI _ZN3sce2np9HttpTrans12RecvResponseEPNS0_6HandleEPvmPm();
+int PS4_SYSV_ABI _ZN3sce2np9HttpTrans12SkipResponseEPNS0_6HandleE();
+int PS4_SYSV_ABI _ZN3sce2np9HttpTrans16AddRequestHeaderEPKcS3_();
+int PS4_SYSV_ABI _ZN3sce2np9HttpTrans16SetRequestHeaderEPKcS3_();
+int PS4_SYSV_ABI _ZN3sce2np9HttpTrans21GetResponseStatusCodeEPNS0_6HandleEPi();
+int PS4_SYSV_ABI _ZN3sce2np9HttpTrans21SetRequestContentTypeEPKc();
+int PS4_SYSV_ABI _ZN3sce2np9HttpTrans23SetRequestContentLengthEm();
+int PS4_SYSV_ABI _ZN3sce2np9HttpTrans24GetResponseContentLengthEPNS0_6HandleEPbPm();
+int PS4_SYSV_ABI _ZN3sce2np9HttpTrans4InitERKNS0_12HttpTemplateEPNS0_18HttpConnectionPoolEiPKcm();
+int PS4_SYSV_ABI
+_ZN3sce2np9HttpTrans4InitERKNS0_12HttpTemplateEPNS0_18HttpConnectionPoolEiPKcS8_tS8_m();
+int PS4_SYSV_ABI _ZN3sce2np9HttpTrans4ReadEPNS0_6HandleEPvmPm();
+int PS4_SYSV_ABI _ZN3sce2np9HttpTrans5WriteEPNS0_6HandleEPKvmPm();
+int PS4_SYSV_ABI _ZN3sce2np9HttpTrans7DestroyEv();
+int PS4_SYSV_ABI _ZN3sce2np9HttpTransC1EP16SceNpAllocatorEx();
+int PS4_SYSV_ABI _ZN3sce2np9HttpTransC2EP16SceNpAllocatorEx();
+int PS4_SYSV_ABI _ZN3sce2np9HttpTransD0Ev();
+int PS4_SYSV_ABI _ZN3sce2np9HttpTransD1Ev();
+int PS4_SYSV_ABI _ZN3sce2np9HttpTransD2Ev();
+int PS4_SYSV_ABI _ZN3sce2np9JsonArray12AddItemArrayEPPS1_();
+int PS4_SYSV_ABI _ZN3sce2np9JsonArray5ClearEv();
+int PS4_SYSV_ABI _ZN3sce2np9JsonValue12GetItemValueEi();
+int PS4_SYSV_ABI _ZN3sce2np9JsonValue13GetFieldValueEiPPKc();
+int PS4_SYSV_ABI _ZN3sce2np9JsonValue13GetFieldValueEPKc();
+int PS4_SYSV_ABI _ZN3sce2np9JsonValueD0Ev();
+int PS4_SYSV_ABI _ZN3sce2np9JsonValueD1Ev();
+int PS4_SYSV_ABI _ZN3sce2np9JsonValueD2Ev();
+int PS4_SYSV_ABI _ZN3sce2np9LocalFile4ReadEPNS0_6HandleEPvmPm();
+int PS4_SYSV_ABI _ZN3sce2np9LocalFile4SeekEliPl();
+int PS4_SYSV_ABI _ZN3sce2np9LocalFile4SyncEv();
+int PS4_SYSV_ABI _ZN3sce2np9LocalFile5CloseEv();
+int PS4_SYSV_ABI _ZN3sce2np9LocalFile5WriteEPNS0_6HandleEPKvmPm();
+int PS4_SYSV_ABI _ZN3sce2np9LocalFile6RemoveEPKc();
+int PS4_SYSV_ABI _ZN3sce2np9LocalFile8TruncateEl();
+int PS4_SYSV_ABI _ZN3sce2np9LocalFileC1Ev();
+int PS4_SYSV_ABI _ZN3sce2np9LocalFileC2Ev();
+int PS4_SYSV_ABI _ZN3sce2np9LocalFileD0Ev();
+int PS4_SYSV_ABI _ZN3sce2np9LocalFileD1Ev();
+int PS4_SYSV_ABI _ZN3sce2np9LocalFileD2Ev();
+int PS4_SYSV_ABI _ZN3sce2np9NpTitleId5BuildERKS1_Pcm();
+int PS4_SYSV_ABI _ZN3sce2np9NpTitleId5ClearEv();
+int PS4_SYSV_ABI _ZN3sce2np9NpTitleId5ParseEPS1_PKc();
+int PS4_SYSV_ABI _ZN3sce2np9NpTitleId5ParseEPS1_PKcm();
+int PS4_SYSV_ABI _ZN3sce2np9NpTitleIdC1ERK12SceNpTitleId();
+int PS4_SYSV_ABI _ZN3sce2np9NpTitleIdC1ERKS1_();
+int PS4_SYSV_ABI _ZN3sce2np9NpTitleIdC1Ev();
+int PS4_SYSV_ABI _ZN3sce2np9NpTitleIdC2ERK12SceNpTitleId();
+int PS4_SYSV_ABI _ZN3sce2np9NpTitleIdC2ERKS1_();
+int PS4_SYSV_ABI _ZN3sce2np9NpTitleIdC2Ev();
+int PS4_SYSV_ABI _ZN3sce2np9NpTitleIdD0Ev();
+int PS4_SYSV_ABI _ZN3sce2np9NpTitleIdD1Ev();
+int PS4_SYSV_ABI _ZN3sce2np9NpTitleIdD2Ev();
+int PS4_SYSV_ABI _ZN3sce2np9RefObject6AddRefEv();
+int PS4_SYSV_ABI _ZN3sce2np9RefObject7ReleaseEv();
+int PS4_SYSV_ABI _ZN3sce2np9RefObjectC1Ev();
+int PS4_SYSV_ABI _ZN3sce2np9RefObjectC2Ev();
+int PS4_SYSV_ABI _ZN3sce2np9RefObjectD0Ev();
+int PS4_SYSV_ABI _ZN3sce2np9RefObjectD1Ev();
+int PS4_SYSV_ABI _ZN3sce2np9RefObjectD2Ev();
+int PS4_SYSV_ABI _ZN3sce2np9Semaphore4OpenEPKc();
+int PS4_SYSV_ABI _ZN3sce2np9Semaphore4WaitEj();
+int PS4_SYSV_ABI _ZN3sce2np9Semaphore6CreateEiiPKc();
+int PS4_SYSV_ABI _ZN3sce2np9Semaphore6SignalEv();
+int PS4_SYSV_ABI _ZN3sce2np9Semaphore7DestroyEv();
+int PS4_SYSV_ABI _ZN3sce2np9SemaphoreC1Ev();
+int PS4_SYSV_ABI _ZN3sce2np9SemaphoreC2Ev();
+int PS4_SYSV_ABI _ZN3sce2np9SemaphoreD0Ev();
+int PS4_SYSV_ABI _ZN3sce2np9SemaphoreD1Ev();
+int PS4_SYSV_ABI _ZN3sce2np9SemaphoreD2Ev();
+int PS4_SYSV_ABI _ZN3sce2np9WorkQueue11GetItemByIdEi();
+int PS4_SYSV_ABI _ZN3sce2np9WorkQueue15GetFinishedItemENS0_14WorkItemStatusE();
+int PS4_SYSV_ABI _ZN3sce2np9WorkQueue16WorkItemFinishedEPNS0_8WorkItemEi();
+int PS4_SYSV_ABI _ZN3sce2np9WorkQueue17ProcFinishedItemsENS0_14WorkItemStatusE();
+int PS4_SYSV_ABI _ZN3sce2np9WorkQueue18RemoveFinishedItemEPNS0_8WorkItemE();
+int PS4_SYSV_ABI _ZN3sce2np9WorkQueue18WaitForPendingItemEPPNS0_8WorkItemEPb();
+int PS4_SYSV_ABI _ZN3sce2np9WorkQueue4ctorEv();
+int PS4_SYSV_ABI _ZN3sce2np9WorkQueue4dtorEv();
+int PS4_SYSV_ABI _ZN3sce2np9WorkQueue4InitEPKcimm();
+int PS4_SYSV_ABI _ZN3sce2np9WorkQueue4InitEPKNS0_6Thread5ParamE();
+int PS4_SYSV_ABI _ZN3sce2np9WorkQueue4StopEv();
+int PS4_SYSV_ABI _ZN3sce2np9WorkQueue5StartEv();
+int PS4_SYSV_ABI _ZN3sce2np9WorkQueue6CancelEii();
+int PS4_SYSV_ABI _ZN3sce2np9WorkQueue6IsInitEv();
+int PS4_SYSV_ABI _ZN3sce2np9WorkQueue7DestroyEv();
+int PS4_SYSV_ABI _ZN3sce2np9WorkQueue7EnqueueEiPNS0_8WorkItemE();
+int PS4_SYSV_ABI _ZN3sce2np9WorkQueue9CancelAllEi();
+int PS4_SYSV_ABI _ZN3sce2np9WorkQueue9IsRunningEv();
+int PS4_SYSV_ABI _ZN3sce2np9WorkQueueC1Ev();
+int PS4_SYSV_ABI _ZN3sce2np9WorkQueueC2Ev();
+int PS4_SYSV_ABI _ZN3sce2np9WorkQueueD0Ev();
+int PS4_SYSV_ABI _ZN3sce2np9WorkQueueD1Ev();
+int PS4_SYSV_ABI _ZN3sce2np9WorkQueueD2Ev();
+int PS4_SYSV_ABI _ZN3sce2npeqERK10SceRtcTickRKNS0_4TimeE();
+int PS4_SYSV_ABI _ZN3sce2npeqERK12SceNpTitleIdRKNS0_9NpTitleIdE();
+int PS4_SYSV_ABI _ZN3sce2npeqERK16SceNpTitleSecretRKNS0_13NpTitleSecretE();
+int PS4_SYSV_ABI _ZN3sce2npeqERK20SceNpCommunicationIdRKNS0_8NpCommIdE();
+int PS4_SYSV_ABI _ZN3sce2npeqERKNS0_13NpTitleSecretERK16SceNpTitleSecret();
+int PS4_SYSV_ABI _ZN3sce2npeqERKNS0_13NpTitleSecretES3_();
+int PS4_SYSV_ABI _ZN3sce2npeqERKNS0_4TimeERK10SceRtcTick();
+int PS4_SYSV_ABI _ZN3sce2npeqERKNS0_4TimeES3_();
+int PS4_SYSV_ABI _ZN3sce2npeqERKNS0_8NpCommIdERK20SceNpCommunicationId();
+int PS4_SYSV_ABI _ZN3sce2npeqERKNS0_8NpCommIdES3_();
+int PS4_SYSV_ABI _ZN3sce2npeqERKNS0_9NpTitleIdERK12SceNpTitleId();
+int PS4_SYSV_ABI _ZN3sce2npeqERKNS0_9NpTitleIdES3_();
+int PS4_SYSV_ABI _ZN3sce2npgeERK10SceRtcTickRKNS0_4TimeE();
+int PS4_SYSV_ABI _ZN3sce2npgeERKNS0_4TimeERK10SceRtcTick();
+int PS4_SYSV_ABI _ZN3sce2npgeERKNS0_4TimeES3_();
+int PS4_SYSV_ABI _ZN3sce2npgtERK10SceRtcTickRKNS0_4TimeE();
+int PS4_SYSV_ABI _ZN3sce2npgtERKNS0_4TimeERK10SceRtcTick();
+int PS4_SYSV_ABI _ZN3sce2npgtERKNS0_4TimeES3_();
+int PS4_SYSV_ABI _ZN3sce2npleERK10SceRtcTickRKNS0_4TimeE();
+int PS4_SYSV_ABI _ZN3sce2npleERKNS0_4TimeERK10SceRtcTick();
+int PS4_SYSV_ABI _ZN3sce2npleERKNS0_4TimeES3_();
+int PS4_SYSV_ABI _ZN3sce2npltERK10SceRtcTickRKNS0_4TimeE();
+int PS4_SYSV_ABI _ZN3sce2npltERKNS0_4TimeERK10SceRtcTick();
+int PS4_SYSV_ABI _ZN3sce2npltERKNS0_4TimeES3_();
+int PS4_SYSV_ABI _ZN3sce2npneERK10SceRtcTickRKNS0_4TimeE();
+int PS4_SYSV_ABI _ZN3sce2npneERK12SceNpTitleIdRKNS0_9NpTitleIdE();
+int PS4_SYSV_ABI _ZN3sce2npneERK16SceNpTitleSecretRKNS0_13NpTitleSecretE();
+int PS4_SYSV_ABI _ZN3sce2npneERK20SceNpCommunicationIdRKNS0_8NpCommIdE();
+int PS4_SYSV_ABI _ZN3sce2npneERKNS0_13NpTitleSecretERK16SceNpTitleSecret();
+int PS4_SYSV_ABI _ZN3sce2npneERKNS0_13NpTitleSecretES3_();
+int PS4_SYSV_ABI _ZN3sce2npneERKNS0_4TimeERK10SceRtcTick();
+int PS4_SYSV_ABI _ZN3sce2npneERKNS0_4TimeES3_();
+int PS4_SYSV_ABI _ZN3sce2npneERKNS0_8NpCommIdERK20SceNpCommunicationId();
+int PS4_SYSV_ABI _ZN3sce2npneERKNS0_8NpCommIdES3_();
+int PS4_SYSV_ABI _ZN3sce2npneERKNS0_9NpTitleIdERK12SceNpTitleId();
+int PS4_SYSV_ABI _ZN3sce2npneERKNS0_9NpTitleIdES3_();
+int PS4_SYSV_ABI _ZNK3sce2np10Cancelable6IsInitEv();
+int PS4_SYSV_ABI _ZNK3sce2np10EventQueue6IsInitEv();
+int PS4_SYSV_ABI _ZNK3sce2np10EventQueue7IsEmptyEv();
+int PS4_SYSV_ABI _ZNK3sce2np10JsonNumber5CloneEP16SceNpAllocatorEx();
+int PS4_SYSV_ABI _ZNK3sce2np10JsonNumber6GetNumEPcm();
+int PS4_SYSV_ABI _ZNK3sce2np10JsonNumber6GetNumEPi();
+int PS4_SYSV_ABI _ZNK3sce2np10JsonNumber6GetNumEPj();
+int PS4_SYSV_ABI _ZNK3sce2np10JsonNumber6GetNumEPl();
+int PS4_SYSV_ABI _ZNK3sce2np10JsonNumber6GetNumEPm();
+int PS4_SYSV_ABI _ZNK3sce2np10JsonNumber9GetNumStrEv();
+int PS4_SYSV_ABI _ZNK3sce2np10JsonObject5CloneEP16SceNpAllocatorEx();
+int PS4_SYSV_ABI _ZNK3sce2np10JsonString5CloneEP16SceNpAllocatorEx();
+int PS4_SYSV_ABI _ZNK3sce2np10JsonString6GetStrEPcm();
+int PS4_SYSV_ABI _ZNK3sce2np10JsonString6GetStrEv();
+int PS4_SYSV_ABI _ZNK3sce2np10JsonString9GetLengthEv();
+int PS4_SYSV_ABI _ZNK3sce2np12HttpTemplate6IsInitEv();
+int PS4_SYSV_ABI _ZNK3sce2np18HttpConnectionPool6IsInitEv();
+int PS4_SYSV_ABI _ZNK3sce2np3ipc10IpmiClient6IsInitEv();
+int PS4_SYSV_ABI _ZNK3sce2np3ipc17ServiceIpmiClient6IsInitEv();
+int PS4_SYSV_ABI _ZNK3sce2np4Cond6IsInitEv();
+int PS4_SYSV_ABI _ZNK3sce2np4Time18ConvertToPosixTimeEPl();
+int PS4_SYSV_ABI _ZNK3sce2np5Mutex6IsInitEv();
+int PS4_SYSV_ABI _ZNK3sce2np6Handle6IsInitEv();
+int PS4_SYSV_ABI _ZNK3sce2np6Thread6IsInitEv();
+int PS4_SYSV_ABI _ZNK3sce2np7RingBuf11GetDataSizeEv();
+int PS4_SYSV_ABI _ZNK3sce2np7RingBuf11GetFreeSizeEv();
+int PS4_SYSV_ABI _ZNK3sce2np7RingBuf6IsFullEv();
+int PS4_SYSV_ABI _ZNK3sce2np7RingBuf7IsEmptyEv();
+int PS4_SYSV_ABI _ZNK3sce2np8JsonBool5CloneEP16SceNpAllocatorEx();
+int PS4_SYSV_ABI _ZNK3sce2np8JsonBool7GetBoolEv();
+int PS4_SYSV_ABI _ZNK3sce2np8JsonNull5CloneEP16SceNpAllocatorEx();
+int PS4_SYSV_ABI _ZNK3sce2np8NpCommId7IsEmptyEv();
+int PS4_SYSV_ABI _ZNK3sce2np9EventFlag6IsInitEv();
+int PS4_SYSV_ABI _ZNK3sce2np9HttpTrans6IsInitEv();
+int PS4_SYSV_ABI _ZNK3sce2np9JsonArray5CloneEP16SceNpAllocatorEx();
+int PS4_SYSV_ABI _ZNK3sce2np9JsonValue12GetItemValueEi();
+int PS4_SYSV_ABI _ZNK3sce2np9NpTitleId7IsEmptyEv();
+int PS4_SYSV_ABI _ZNK3sce2np9Semaphore6IsInitEv();
+int PS4_SYSV_ABI _ZThn16_N3sce2np10MemoryFile5WriteEPNS0_6HandleEPKvmPm();
+int PS4_SYSV_ABI _ZThn16_N3sce2np10MemoryFileD0Ev();
+int PS4_SYSV_ABI _ZThn16_N3sce2np10MemoryFileD1Ev();
+int PS4_SYSV_ABI _ZThn16_N3sce2np9HttpTrans5WriteEPNS0_6HandleEPKvmPm();
+int PS4_SYSV_ABI _ZThn16_N3sce2np9HttpTransD0Ev();
+int PS4_SYSV_ABI _ZThn16_N3sce2np9HttpTransD1Ev();
+int PS4_SYSV_ABI _ZThn16_N3sce2np9LocalFile5WriteEPNS0_6HandleEPKvmPm();
+int PS4_SYSV_ABI _ZThn16_N3sce2np9LocalFileD0Ev();
+int PS4_SYSV_ABI _ZThn16_N3sce2np9LocalFileD1Ev();
+int PS4_SYSV_ABI _ZThn8_N3sce2np10MemoryFile4ReadEPNS0_6HandleEPvmPm();
+int PS4_SYSV_ABI _ZThn8_N3sce2np10MemoryFileD0Ev();
+int PS4_SYSV_ABI _ZThn8_N3sce2np10MemoryFileD1Ev();
+int PS4_SYSV_ABI _ZThn8_N3sce2np6Handle10CancelImplEi();
+int PS4_SYSV_ABI _ZThn8_N3sce2np6HandleD0Ev();
+int PS4_SYSV_ABI _ZThn8_N3sce2np6HandleD1Ev();
+int PS4_SYSV_ABI _ZThn8_N3sce2np9HttpTrans4ReadEPNS0_6HandleEPvmPm();
+int PS4_SYSV_ABI _ZThn8_N3sce2np9HttpTransD0Ev();
+int PS4_SYSV_ABI _ZThn8_N3sce2np9HttpTransD1Ev();
+int PS4_SYSV_ABI _ZThn8_N3sce2np9LocalFile4ReadEPNS0_6HandleEPvmPm();
+int PS4_SYSV_ABI _ZThn8_N3sce2np9LocalFileD0Ev();
+int PS4_SYSV_ABI _ZThn8_N3sce2np9LocalFileD1Ev();
+int PS4_SYSV_ABI _ZTVN3sce2np10JsonNumberE();
+int PS4_SYSV_ABI _ZTVN3sce2np10JsonObjectE();
+int PS4_SYSV_ABI _ZTVN3sce2np10JsonStringE();
+int PS4_SYSV_ABI _ZTVN3sce2np8JsonBoolE();
+int PS4_SYSV_ABI _ZTVN3sce2np8JsonNullE();
+int PS4_SYSV_ABI _ZTVN3sce2np8SelectorE();
+int PS4_SYSV_ABI _ZTVN3sce2np9JsonArrayE();
+int PS4_SYSV_ABI _ZTVN3sce2np9JsonValueE();
+int PS4_SYSV_ABI sceNpAllocateKernelMemoryNoAlignment();
+int PS4_SYSV_ABI sceNpAllocateKernelMemoryWithAlignment();
+int PS4_SYSV_ABI sceNpArchInit();
+int PS4_SYSV_ABI sceNpArchTerm();
+int PS4_SYSV_ABI sceNpAtomicCas32();
+int PS4_SYSV_ABI sceNpAtomicDec32();
+int PS4_SYSV_ABI sceNpAtomicInc32();
+int PS4_SYSV_ABI sceNpBase64Decoder();
+int PS4_SYSV_ABI sceNpBase64Encoder();
+int PS4_SYSV_ABI sceNpBase64GetDecodeSize();
+int PS4_SYSV_ABI sceNpBase64UrlDecoder();
+int PS4_SYSV_ABI sceNpBase64UrlEncoder();
+int PS4_SYSV_ABI sceNpBase64UrlGetDecodeSize();
+int PS4_SYSV_ABI sceNpCalloutInitCtx();
+int PS4_SYSV_ABI sceNpCalloutStartOnCtx();
+int PS4_SYSV_ABI sceNpCalloutStartOnCtx64();
+int PS4_SYSV_ABI sceNpCalloutStopOnCtx();
+int PS4_SYSV_ABI sceNpCalloutTermCtx();
+int PS4_SYSV_ABI sceNpCancelEventFlag();
+int PS4_SYSV_ABI sceNpClearEventFlag();
+int PS4_SYSV_ABI sceNpCloseEventFlag();
+int PS4_SYSV_ABI sceNpCloseSema();
+int PS4_SYSV_ABI sceNpCondDestroy();
+int PS4_SYSV_ABI sceNpCondInit();
+int PS4_SYSV_ABI sceNpCondSignal();
+int PS4_SYSV_ABI sceNpCondSignalAll();
+int PS4_SYSV_ABI sceNpCondSignalTo();
+int PS4_SYSV_ABI sceNpCondTimedwait();
+int PS4_SYSV_ABI sceNpCondWait();
+int PS4_SYSV_ABI sceNpCreateEventFlag();
+int PS4_SYSV_ABI sceNpCreateSema();
+int PS4_SYSV_ABI sceNpCreateThread();
+int PS4_SYSV_ABI sceNpDbgAssignDebugId();
+int PS4_SYSV_ABI sceNpDbgDumpBinary();
+int PS4_SYSV_ABI sceNpDbgDumpText();
+int PS4_SYSV_ABI sceNpDeleteEventFlag();
+int PS4_SYSV_ABI sceNpDeleteSema();
+int PS4_SYSV_ABI sceNpEventGetCurrentNetworkTick();
+int PS4_SYSV_ABI sceNpFreeKernelMemory();
+int PS4_SYSV_ABI sceNpGetNavSdkVersion();
+int PS4_SYSV_ABI sceNpGetPlatformType();
+int PS4_SYSV_ABI sceNpGetProcessId();
+int PS4_SYSV_ABI sceNpGetRandom();
+int PS4_SYSV_ABI sceNpGetSdkVersion();
+int PS4_SYSV_ABI sceNpGetSdkVersionUInt();
+int PS4_SYSV_ABI sceNpGetSystemClockUsec();
+int PS4_SYSV_ABI sceNpGlobalHeapGetAllocator();
+int PS4_SYSV_ABI sceNpGlobalHeapGetAllocatorEx();
+int PS4_SYSV_ABI sceNpGlobalHeapGetAllocatorExPtr();
+int PS4_SYSV_ABI sceNpGlobalHeapGetAllocatorPtr();
+int PS4_SYSV_ABI sceNpHeapDestroy();
+int PS4_SYSV_ABI sceNpHeapGetAllocator();
+int PS4_SYSV_ABI sceNpHeapGetStat();
+int PS4_SYSV_ABI sceNpHeapInit();
+int PS4_SYSV_ABI sceNpHeapShowStat();
+int PS4_SYSV_ABI sceNpHexToInt();
+int PS4_SYSV_ABI sceNpInt32ToStr();
+int PS4_SYSV_ABI sceNpInt64ToStr();
+int PS4_SYSV_ABI sceNpIntGetPlatformType();
+int PS4_SYSV_ABI sceNpIntIsOnlineIdString();
+int PS4_SYSV_ABI sceNpIntIsValidOnlineId();
+int PS4_SYSV_ABI sceNpIntSetPlatformType();
+int PS4_SYSV_ABI sceNpIntToHex();
+int PS4_SYSV_ABI sceNpIpc2ClientInit();
+int PS4_SYSV_ABI sceNpIpc2ClientTerm();
+int PS4_SYSV_ABI sceNpJoinThread();
+int PS4_SYSV_ABI sceNpJsonParse();
+int PS4_SYSV_ABI sceNpJsonParseBuf();
+int PS4_SYSV_ABI sceNpJsonParseBufInit();
+int PS4_SYSV_ABI sceNpJsonParseEx();
+int PS4_SYSV_ABI sceNpJsonParseExInit();
+int PS4_SYSV_ABI sceNpJsonParseInit();
+int PS4_SYSV_ABI sceNpLwCondDestroy();
+int PS4_SYSV_ABI sceNpLwCondInit();
+int PS4_SYSV_ABI sceNpLwCondSignal();
+int PS4_SYSV_ABI sceNpLwCondSignalAll();
+int PS4_SYSV_ABI sceNpLwCondSignalTo();
+int PS4_SYSV_ABI sceNpLwCondWait();
+int PS4_SYSV_ABI sceNpLwMutexDestroy();
+int PS4_SYSV_ABI sceNpLwMutexInit();
+int PS4_SYSV_ABI sceNpLwMutexLock();
+int PS4_SYSV_ABI sceNpLwMutexTryLock();
+int PS4_SYSV_ABI sceNpLwMutexUnlock();
+int PS4_SYSV_ABI sceNpMemoryHeapDestroy();
+int PS4_SYSV_ABI sceNpMemoryHeapGetAllocator();
+int PS4_SYSV_ABI sceNpMemoryHeapGetAllocatorEx();
+int PS4_SYSV_ABI sceNpMemoryHeapInit();
+int PS4_SYSV_ABI sceNpMutexDestroy();
+int PS4_SYSV_ABI sceNpMutexInit();
+int PS4_SYSV_ABI sceNpMutexLock();
+int PS4_SYSV_ABI sceNpMutexTryLock();
+int PS4_SYSV_ABI sceNpMutexUnlock();
+int PS4_SYSV_ABI sceNpOpenEventFlag();
+int PS4_SYSV_ABI sceNpOpenSema();
+int PS4_SYSV_ABI sceNpPanic();
+int PS4_SYSV_ABI sceNpPollEventFlag();
+int PS4_SYSV_ABI sceNpPollSema();
+int PS4_SYSV_ABI sceNpRtcConvertToPosixTime();
+int PS4_SYSV_ABI sceNpRtcFormatRFC3339();
+int PS4_SYSV_ABI sceNpRtcParseRFC3339();
+int PS4_SYSV_ABI sceNpServerErrorJsonGetErrorCode();
+int PS4_SYSV_ABI sceNpServerErrorJsonMultiGetErrorCode();
+int PS4_SYSV_ABI sceNpServerErrorJsonParse();
+int PS4_SYSV_ABI sceNpServerErrorJsonParseInit();
+int PS4_SYSV_ABI sceNpServerErrorJsonParseMultiInit();
+int PS4_SYSV_ABI sceNpSetEventFlag();
+int PS4_SYSV_ABI sceNpSetPlatformType();
+int PS4_SYSV_ABI sceNpSignalSema();
+int PS4_SYSV_ABI sceNpStrBuildHex();
+int PS4_SYSV_ABI sceNpStrcpyToBuf();
+int PS4_SYSV_ABI sceNpStrncpyToBuf();
+int PS4_SYSV_ABI sceNpStrnParseHex();
+int PS4_SYSV_ABI sceNpStrParseHex();
+int PS4_SYSV_ABI sceNpStrToInt32();
+int PS4_SYSV_ABI sceNpStrToInt64();
+int PS4_SYSV_ABI sceNpStrToUInt32();
+int PS4_SYSV_ABI sceNpStrToUInt64();
+int PS4_SYSV_ABI sceNpThreadGetId();
+int PS4_SYSV_ABI sceNpUInt32ToStr();
+int PS4_SYSV_ABI sceNpUInt64ToStr();
+int PS4_SYSV_ABI sceNpUserGetUserIdList();
+int PS4_SYSV_ABI sceNpUtilBuildTitleId();
+int PS4_SYSV_ABI sceNpUtilCanonicalizeNpIdForPs4();
+int PS4_SYSV_ABI sceNpUtilCanonicalizeNpIdForPsp2();
+int PS4_SYSV_ABI sceNpUtilCmpAccountId();
+int PS4_SYSV_ABI sceNpUtilGetDateSetAuto();
+int PS4_SYSV_ABI sceNpUtilGetDbgCommerce();
+int PS4_SYSV_ABI sceNpUtilGetEnv();
+int PS4_SYSV_ABI sceNpUtilGetFakeDisplayNameMode();
+int PS4_SYSV_ABI sceNpUtilGetFakeRateLimit();
+int PS4_SYSV_ABI sceNpUtilGetIgnoreNpTitleId();
+int PS4_SYSV_ABI sceNpUtilGetNpDebug();
+int PS4_SYSV_ABI sceNpUtilGetNpLanguageCode();
+int PS4_SYSV_ABI sceNpUtilGetNpLanguageCode2();
+int PS4_SYSV_ABI sceNpUtilGetNpLanguageCode2Str();
+int PS4_SYSV_ABI sceNpUtilGetNpLanguageCodeStr();
+int PS4_SYSV_ABI sceNpUtilGetNpTestPatch();
+int PS4_SYSV_ABI sceNpUtilGetNthChar();
+int PS4_SYSV_ABI sceNpUtilGetShareTitleCheck();
+int PS4_SYSV_ABI sceNpUtilGetSystemLanguage();
+int PS4_SYSV_ABI sceNpUtilGetTrcNotify();
+int PS4_SYSV_ABI sceNpUtilGetWebApi2FakeRateLimit();
+int PS4_SYSV_ABI sceNpUtilGetWebApi2FakeRateLimitTarget();
+int PS4_SYSV_ABI sceNpUtilGetWebTraceSetting();
+int PS4_SYSV_ABI sceNpUtilHttpUrlEncode();
+int PS4_SYSV_ABI sceNpUtilJidToNpId();
+int PS4_SYSV_ABI sceNpUtilJsonEscape();
+int PS4_SYSV_ABI sceNpUtilJsonGetOneChar();
+int PS4_SYSV_ABI sceNpUtilJsonUnescape();
+int PS4_SYSV_ABI sceNpUtilNpIdToJid();
+int PS4_SYSV_ABI sceNpUtilNumChars();
+int PS4_SYSV_ABI sceNpUtilParseJid();
+int PS4_SYSV_ABI sceNpUtilParseTitleId();
+int PS4_SYSV_ABI sceNpUtilSerializeJid();
+int PS4_SYSV_ABI sceNpUtilXmlEscape();
+int PS4_SYSV_ABI sceNpUtilXmlGetOneChar();
+int PS4_SYSV_ABI sceNpUtilXmlUnescape();
+int PS4_SYSV_ABI sceNpWaitEventFlag();
+int PS4_SYSV_ABI sceNpWaitSema();
+int PS4_SYSV_ABI sceNpXmlParse();
+int PS4_SYSV_ABI sceNpXmlParseInit();
+int PS4_SYSV_ABI Func_00FD578C2DD966DF();
+int PS4_SYSV_ABI Func_0131A2EA80689F4C();
+int PS4_SYSV_ABI Func_01443C54863BDD20();
+int PS4_SYSV_ABI Func_01BC55BDC5C0ADAD();
+int PS4_SYSV_ABI Func_01D1ECF5750F40E8();
+int PS4_SYSV_ABI Func_020A479A74F5FBAC();
+int PS4_SYSV_ABI Func_024AF5E1D9472AB5();
+int PS4_SYSV_ABI Func_027C5D488713A6B3();
+int PS4_SYSV_ABI Func_02FE9D94C6858355();
+int PS4_SYSV_ABI Func_041F34F1C70D15C1();
+int PS4_SYSV_ABI Func_0530B1D276114248();
+int PS4_SYSV_ABI Func_065DAA14E9C73AD9();
+int PS4_SYSV_ABI Func_06AFF4E5D042BC3E();
+int PS4_SYSV_ABI Func_06EE369299F73997();
+int PS4_SYSV_ABI Func_07C92D9F8D76B617();
+int PS4_SYSV_ABI Func_07E9117498F1E4BF();
+int PS4_SYSV_ABI Func_08F3E0AF3664F275();
+int PS4_SYSV_ABI Func_0A9937C01EF21375();
+int PS4_SYSV_ABI Func_0ACBE6ACCBA3876D();
+int PS4_SYSV_ABI Func_0AE07D3354510CE6();
+int PS4_SYSV_ABI Func_0AEC3C342AE67B7C();
+int PS4_SYSV_ABI Func_0B318420C11E7C23();
+int PS4_SYSV_ABI Func_0BB6C37B03F35D89();
+int PS4_SYSV_ABI Func_0BBE8A9ACDD90FDF();
+int PS4_SYSV_ABI Func_0C7B62905E224E9C();
+int PS4_SYSV_ABI Func_0D35913117241AF9();
+int PS4_SYSV_ABI Func_0D5EE95CEED879A7();
+int PS4_SYSV_ABI Func_0D6FB24B27AB1DA2();
+int PS4_SYSV_ABI Func_0DE8032D534AC41C();
+int PS4_SYSV_ABI Func_0DF4CCA9DCA9E742();
+int PS4_SYSV_ABI Func_0E7449B1D3D98C01();
+int PS4_SYSV_ABI Func_0E77094B7750CB37();
+int PS4_SYSV_ABI Func_0ECAB397B6D50603();
+int PS4_SYSV_ABI Func_0F1DE1D1EADA2948();
+int PS4_SYSV_ABI Func_0F8AFEFA1D26BF1A();
+int PS4_SYSV_ABI Func_11881710562A6BAD();
+int PS4_SYSV_ABI Func_11AFD88BBD0C70DB();
+int PS4_SYSV_ABI Func_11E704A30A4B8877();
+int PS4_SYSV_ABI Func_125014842452F94B();
+int PS4_SYSV_ABI Func_126F0071E11CAC46();
+int PS4_SYSV_ABI Func_12926DCF35994B01();
+int PS4_SYSV_ABI Func_12CC7ABFBF31618F();
+int PS4_SYSV_ABI Func_13C4E51F44592AA2();
+int PS4_SYSV_ABI Func_15330E7C56338254();
+int PS4_SYSV_ABI Func_1566B358CABF2612();
+int PS4_SYSV_ABI Func_1625818F268F45EF();
+int PS4_SYSV_ABI Func_16D32B40D28A9AC2();
+int PS4_SYSV_ABI Func_183F4483BDBD25CD();
+int PS4_SYSV_ABI Func_1887E9E95AF62F3D();
+int PS4_SYSV_ABI Func_18A3CE95FD893D3A();
+int PS4_SYSV_ABI Func_18B3665E4854E7E9();
+int PS4_SYSV_ABI Func_1923B003948AF47E();
+int PS4_SYSV_ABI Func_19B533DA4C59A532();
+int PS4_SYSV_ABI Func_1BB399772DB68E08();
+int PS4_SYSV_ABI Func_1C0AC612D3A2971B();
+int PS4_SYSV_ABI Func_1C5599B779990A43();
+int PS4_SYSV_ABI Func_1CCBB296B04317BE();
+int PS4_SYSV_ABI Func_1CD045542FB93002();
+int PS4_SYSV_ABI Func_1DECECA673AB77B7();
+int PS4_SYSV_ABI Func_1E03E024E26C1A7F();
+int PS4_SYSV_ABI Func_1F101732BB0D7E21();
+int PS4_SYSV_ABI Func_1F4D153EC3DD47BB();
+int PS4_SYSV_ABI Func_1F7C47F63FAF0CBE();
+int PS4_SYSV_ABI Func_1FBE2EE68C0F31B6();
+int PS4_SYSV_ABI Func_2038C1628914B9C9();
+int PS4_SYSV_ABI Func_203FCB56FDB86A74();
+int PS4_SYSV_ABI Func_20569C107C6CB08C();
+int PS4_SYSV_ABI Func_20AB2D734EDE55F0();
+int PS4_SYSV_ABI Func_22B1281180FB0A5E();
+int PS4_SYSV_ABI Func_22F1AADA66A449AE();
+int PS4_SYSV_ABI Func_238B215EFFDF3D30();
+int PS4_SYSV_ABI Func_24E8EC51D149FA15();
+int PS4_SYSV_ABI Func_25728E78A3962C02();
+int PS4_SYSV_ABI Func_25E649A1C6891C05();
+int PS4_SYSV_ABI Func_264B8A38B577705D();
+int PS4_SYSV_ABI Func_266ED08DC1C82A0E();
+int PS4_SYSV_ABI Func_27BB4DE62AB58BAD();
+int PS4_SYSV_ABI Func_283AA96A196EA2EA();
+int PS4_SYSV_ABI Func_285315A390A85A94();
+int PS4_SYSV_ABI Func_29049DBB1EF3194E();
+int PS4_SYSV_ABI Func_29F7BA9C3732CB47();
+int PS4_SYSV_ABI Func_2A732DF331ACCB37();
+int PS4_SYSV_ABI Func_2AA01660EC75B6FB();
+int PS4_SYSV_ABI Func_2B37CBCE941C1681();
+int PS4_SYSV_ABI Func_2CAA3B64D0544E55();
+int PS4_SYSV_ABI Func_2CCD79617EC10A75();
+int PS4_SYSV_ABI Func_2CD8B69716AC0667();
+int PS4_SYSV_ABI Func_2D74F7C0FF9B5E9C();
+int PS4_SYSV_ABI Func_2DCA5A8080544E95();
+int PS4_SYSV_ABI Func_2E69F2743CE7CE57();
+int PS4_SYSV_ABI Func_2EAF1F3BAFF0527D();
+int PS4_SYSV_ABI Func_31493E55BB4E8F66();
+int PS4_SYSV_ABI Func_317EDCAD00FB5F5E();
+int PS4_SYSV_ABI Func_31E01CFA8A18CDA2();
+int PS4_SYSV_ABI Func_32AFD782A061B526();
+int PS4_SYSV_ABI Func_32B5CDEB093B8189();
+int PS4_SYSV_ABI Func_34155152513C93AE();
+int PS4_SYSV_ABI Func_34E4EFFF8EF6C9FE();
+int PS4_SYSV_ABI Func_3572FA0D5C54563B();
+int PS4_SYSV_ABI Func_367C479B264E0DB9();
+int PS4_SYSV_ABI Func_36884FBC964B29CC();
+int PS4_SYSV_ABI Func_3860081BB7559949();
+int PS4_SYSV_ABI Func_39314F7E674AB132();
+int PS4_SYSV_ABI Func_3A02E780FCC556A5();
+int PS4_SYSV_ABI Func_3A17B885BA4849B6();
+int PS4_SYSV_ABI Func_3A38EACAEA5E23A4();
+int PS4_SYSV_ABI Func_3B34A5E07F0DBC1F();
+int PS4_SYSV_ABI Func_3B4E8FFC00FC7EA4();
+int PS4_SYSV_ABI Func_3BAB18FDA235107A();
+int PS4_SYSV_ABI Func_3BDF9996A0A33F11();
+int PS4_SYSV_ABI Func_3C1952F1A45CC37A();
+int PS4_SYSV_ABI Func_3CA37906CDB05F3B();
+int PS4_SYSV_ABI Func_3CDB2908ACEE3A6F();
+int PS4_SYSV_ABI Func_3D3ED165F2BDCD33();
+int PS4_SYSV_ABI Func_3DA4D7D1575FCDCE();
+int PS4_SYSV_ABI Func_3DDFB612CD0BC769();
+int PS4_SYSV_ABI Func_3E0415E167DEADC7();
+int PS4_SYSV_ABI Func_3E7E9F0F1581C1E6();
+int PS4_SYSV_ABI Func_3ED389DB8280ED65();
+int PS4_SYSV_ABI Func_3F0C7F6C0C35487D();
+int PS4_SYSV_ABI Func_3FDA7200389EF0D2();
+int PS4_SYSV_ABI Func_3FF3C258BA516E58();
+int PS4_SYSV_ABI Func_4029453F628A3C5D();
+int PS4_SYSV_ABI Func_405826DDB4AE538E();
+int PS4_SYSV_ABI Func_405A926759F25865();
+int PS4_SYSV_ABI Func_406608FDEE7AE88A();
+int PS4_SYSV_ABI Func_40DDA5558C17DDCF();
+int PS4_SYSV_ABI Func_419D12E52FF60664();
+int PS4_SYSV_ABI Func_4296E539474BE77F();
+int PS4_SYSV_ABI Func_42F41FC563CC3654();
+int PS4_SYSV_ABI Func_43CCC86F4C93026A();
+int PS4_SYSV_ABI Func_4409F60BDABC65E1();
+int PS4_SYSV_ABI Func_4563C70AEC675382();
+int PS4_SYSV_ABI Func_45E66370219BD05E();
+int PS4_SYSV_ABI Func_466A54F072785696();
+int PS4_SYSV_ABI Func_46CD2536976F209A();
+int PS4_SYSV_ABI Func_4863717BD2FDD157();
+int PS4_SYSV_ABI Func_4902EBD19A263149();
+int PS4_SYSV_ABI Func_4904F7FE8D83F40C();
+int PS4_SYSV_ABI Func_4A5E13F784ABFCE7();
+int PS4_SYSV_ABI Func_4B65EEB135C12781();
+int PS4_SYSV_ABI Func_4C19D49978DA85E2();
+int PS4_SYSV_ABI Func_4DE5D620FF66F136();
+int PS4_SYSV_ABI Func_4E170C12B57A8F9E();
+int PS4_SYSV_ABI Func_4E2F3FA405C3260C();
+int PS4_SYSV_ABI Func_4EA9350577513B4D();
+int PS4_SYSV_ABI Func_4F78EB6FC4B5F21F();
+int PS4_SYSV_ABI Func_50348BE4331117B7();
+int PS4_SYSV_ABI Func_508C7E8CDD281CAA();
+int PS4_SYSV_ABI Func_521C1D2C028F5A7E();
+int PS4_SYSV_ABI Func_522FF24A35E67291();
+int PS4_SYSV_ABI Func_5470FE90C25CDD4C();
+int PS4_SYSV_ABI Func_557F260F9A4ACD18();
+int PS4_SYSV_ABI Func_5586F97209F391EB();
+int PS4_SYSV_ABI Func_55B2C9B7ADA95C3C();
+int PS4_SYSV_ABI Func_55B488A3A540B936();
+int PS4_SYSV_ABI Func_5642DFE82AF43143();
+int PS4_SYSV_ABI Func_574E046F294AE187();
+int PS4_SYSV_ABI Func_578926EBF8AA6CBF();
+int PS4_SYSV_ABI Func_585DA5FC650896BC();
+int PS4_SYSV_ABI Func_58D6EB27349EC276();
+int PS4_SYSV_ABI Func_5906B7317949872D();
+int PS4_SYSV_ABI Func_5910B5614335BE70();
+int PS4_SYSV_ABI Func_593D7DA8911F08C9();
+int PS4_SYSV_ABI Func_59757FE6A93B0D53();
+int PS4_SYSV_ABI Func_598E60F862B1141E();
+int PS4_SYSV_ABI Func_5A45351666680DAF();
+int PS4_SYSV_ABI Func_5AABE9EA702E6A7F();
+int PS4_SYSV_ABI Func_5AEA4AE472355B80();
+int PS4_SYSV_ABI Func_5B20E53CDE598741();
+int PS4_SYSV_ABI Func_5B480B59FAE947E0();
+int PS4_SYSV_ABI Func_5B5EEC23690AB9BD();
+int PS4_SYSV_ABI Func_5C0AC5B0AF3EDAE0();
+int PS4_SYSV_ABI Func_5D2E999BEA0762D4();
+int PS4_SYSV_ABI Func_5D55BBFD45110E16();
+int PS4_SYSV_ABI Func_5DEE15403D2BB5FD();
+int PS4_SYSV_ABI Func_6020C708CA74B130();
+int PS4_SYSV_ABI Func_606E1415503C34D2();
+int PS4_SYSV_ABI Func_612140E8EE9A693E();
+int PS4_SYSV_ABI Func_61F13F551DAF61DF();
+int PS4_SYSV_ABI Func_6206D39131752328();
+int PS4_SYSV_ABI Func_621D4543EF0344DE();
+int PS4_SYSV_ABI Func_6259A9A8E56D0273();
+int PS4_SYSV_ABI Func_625F9C7016346F4E();
+int PS4_SYSV_ABI Func_62EF8DF746CD8C4A();
+int PS4_SYSV_ABI Func_636D2A99FD1E6B2B();
+int PS4_SYSV_ABI Func_68013EDF66FE7425();
+int PS4_SYSV_ABI Func_6971F7067DD639D1();
+int PS4_SYSV_ABI Func_69896ADB3AB410B2();
+int PS4_SYSV_ABI Func_6A1389AA6E561387();
+int PS4_SYSV_ABI Func_6A5560D89F12B2E7();
+int PS4_SYSV_ABI Func_6ABF99CF854ABCF1();
+int PS4_SYSV_ABI Func_6B4FDDC6500D8DCB();
+int PS4_SYSV_ABI Func_6CA11D5B49D1928A();
+int PS4_SYSV_ABI Func_6D6C0FB61E6D0715();
+int PS4_SYSV_ABI Func_6D750745FE1348F5();
+int PS4_SYSV_ABI Func_6E1AF3F9D09914BE();
+int PS4_SYSV_ABI Func_6E53ED4C08B2A521();
+int PS4_SYSV_ABI Func_6EF43ACA1ED6B968();
+int PS4_SYSV_ABI Func_6F6FA09F3E1B6A60();
+int PS4_SYSV_ABI Func_7035C340C7195901();
+int PS4_SYSV_ABI Func_7038E21CB5CF641B();
+int PS4_SYSV_ABI Func_706345DCDA5BA44D();
+int PS4_SYSV_ABI Func_7120714EBF10BF1F();
+int PS4_SYSV_ABI Func_713D28A91BC803DD();
+int PS4_SYSV_ABI Func_7153BD76A53AA012();
+int PS4_SYSV_ABI Func_715C625CC7041B6B();
+int PS4_SYSV_ABI Func_71E467BDB18711D0();
+int PS4_SYSV_ABI Func_720D17965C1F4E3F();
+int PS4_SYSV_ABI Func_734380C9BCF65B9A();
+int PS4_SYSV_ABI Func_73F4C08CCD4BBCCF();
+int PS4_SYSV_ABI Func_74403101B7B29D46();
+int PS4_SYSV_ABI Func_7525B081ACD66FF4();
+int PS4_SYSV_ABI Func_75BF4477C13A05CA();
+int PS4_SYSV_ABI Func_7609793F5987C6F7();
+int PS4_SYSV_ABI Func_7616ED01B04769AA();
+int PS4_SYSV_ABI Func_764F873D91A124D8();
+int PS4_SYSV_ABI Func_7706F1E123059565();
+int PS4_SYSV_ABI Func_77F2D07EB6D806E6();
+int PS4_SYSV_ABI Func_79C3704CDCD59E57();
+int PS4_SYSV_ABI Func_79DA0BBA21351545();
+int PS4_SYSV_ABI Func_79FA2447B5F3F0C4();
+int PS4_SYSV_ABI Func_7A4D6F65FF6195A5();
+int PS4_SYSV_ABI Func_7B3195CD114DECE7();
+int PS4_SYSV_ABI Func_7B3238F2301AD36D();
+int PS4_SYSV_ABI Func_7C77FC70750A3266();
+int PS4_SYSV_ABI Func_7D23A9DC459D6D18();
+int PS4_SYSV_ABI Func_7D5988C748D0A05F();
+int PS4_SYSV_ABI Func_7D9597147A99F4F4();
+int PS4_SYSV_ABI Func_7E2953F407DD8346();
+int PS4_SYSV_ABI Func_7EE34E5099709B32();
+int PS4_SYSV_ABI Func_80470E5511D5CA00();
+int PS4_SYSV_ABI Func_807179701C08F069();
+int PS4_SYSV_ABI Func_8096E81FFAF24E46();
+int PS4_SYSV_ABI Func_80B764F4F1B87042();
+int PS4_SYSV_ABI Func_80BF691438AD008B();
+int PS4_SYSV_ABI Func_80CF6CFC96012442();
+int PS4_SYSV_ABI Func_80EA772F8C0519FD();
+int PS4_SYSV_ABI Func_81D0AFD0084D327A();
+int PS4_SYSV_ABI Func_821EB8A72176FD67();
+int PS4_SYSV_ABI Func_82D2FAB54127273F();
+int PS4_SYSV_ABI Func_836AE669C42A59E9();
+int PS4_SYSV_ABI Func_8559A25BFEC3518C();
+int PS4_SYSV_ABI Func_85C1F66C767A49D2();
+int PS4_SYSV_ABI Func_8689ED1383F87BA7();
+int PS4_SYSV_ABI Func_8796CD9E5355D3A6();
+int PS4_SYSV_ABI Func_87D37EB6DDC19D99();
+int PS4_SYSV_ABI Func_880AA48F70F84FDD();
+int PS4_SYSV_ABI Func_897B07562093665B();
+int PS4_SYSV_ABI Func_8ACAF55F16368087();
+int PS4_SYSV_ABI Func_8AE8A5589B30D4E0();
+int PS4_SYSV_ABI Func_8AE997909831B331();
+int PS4_SYSV_ABI Func_8B2D640BE0D0FB99();
+int PS4_SYSV_ABI Func_8B3D9AB4668DAECB();
+int PS4_SYSV_ABI Func_8B5EFAAAACE0B46C();
+int PS4_SYSV_ABI Func_8C27943F40A988DB();
+int PS4_SYSV_ABI Func_8C54096C75F5F2D0();
+int PS4_SYSV_ABI Func_8D7663A0A5168814();
+int PS4_SYSV_ABI Func_8E618F509994FAD7();
+int PS4_SYSV_ABI Func_8F19E6CC064E2B98();
+int PS4_SYSV_ABI Func_8F6A8AEAEE922FF5();
+int PS4_SYSV_ABI Func_9010E1AD8EBBFBCA();
+int PS4_SYSV_ABI Func_90A955A0E7001AE9();
+int PS4_SYSV_ABI Func_90F9D6067FEECC05();
+int PS4_SYSV_ABI Func_9348F3D19546A1DA();
+int PS4_SYSV_ABI Func_93D3C011DB19388A();
+int PS4_SYSV_ABI Func_956E7A4FD9F89103();
+int PS4_SYSV_ABI Func_95F699E042C3E40F();
+int PS4_SYSV_ABI Func_96877B39AA0E8735();
+int PS4_SYSV_ABI Func_96CE07C49ED234EA();
+int PS4_SYSV_ABI Func_976BB178235B5681();
+int PS4_SYSV_ABI Func_978C0B25E588C4D6();
+int PS4_SYSV_ABI Func_98BA2612BEF238D6();
+int PS4_SYSV_ABI Func_995BDD4931AF9137();
+int PS4_SYSV_ABI Func_9966E39A926B7250();
+int PS4_SYSV_ABI Func_99C2306F18963464();
+int PS4_SYSV_ABI Func_99C92C613B776BA7();
+int PS4_SYSV_ABI Func_9A4E4B938CC8AD39();
+int PS4_SYSV_ABI Func_9B23F7B4B7F72081();
+int PS4_SYSV_ABI Func_9C0EAEEAE705A8DB();
+int PS4_SYSV_ABI Func_9D47AC59545DE9E8();
+int PS4_SYSV_ABI Func_A13052D8B1B2ACFA();
+int PS4_SYSV_ABI Func_A1AA43E3A78F6F62();
+int PS4_SYSV_ABI Func_A1E48CDF54649DC9();
+int PS4_SYSV_ABI Func_A2E7DEE5B0AF5D14();
+int PS4_SYSV_ABI Func_A2F5C7FD9FF113F5();
+int PS4_SYSV_ABI Func_A36296E2269D46BC();
+int PS4_SYSV_ABI Func_A3EE2A7B9F0D88AF();
+int PS4_SYSV_ABI Func_A4471F9F7E0BFA82();
+int PS4_SYSV_ABI Func_A449BBA521EA34E1();
+int PS4_SYSV_ABI Func_A48E666C334E726C();
+int PS4_SYSV_ABI Func_A49B7449B4DDE69C();
+int PS4_SYSV_ABI Func_A5748451125C9EA4();
+int PS4_SYSV_ABI Func_A690A28D648CC176();
+int PS4_SYSV_ABI Func_A6A86DE1B1CBB1D9();
+int PS4_SYSV_ABI Func_A8F2BB7B815740A1();
+int PS4_SYSV_ABI Func_A93F64C06A6F7397();
+int PS4_SYSV_ABI Func_AB35925FC97D6AA3();
+int PS4_SYSV_ABI Func_AC014AA2C991FA29();
+int PS4_SYSV_ABI Func_AC06E10901404AEB();
+int PS4_SYSV_ABI Func_AC75C68813523505();
+int PS4_SYSV_ABI Func_AD441BC497082C3E();
+int PS4_SYSV_ABI Func_AD4F25F021D354C3();
+int PS4_SYSV_ABI Func_ADFA04A85541A4FE();
+int PS4_SYSV_ABI Func_AE9610A6B5217A23();
+int PS4_SYSV_ABI Func_AF201923826F0A58();
+int PS4_SYSV_ABI Func_AFC021B4389CA3FA();
+int PS4_SYSV_ABI Func_B015E999A3373D8F();
+int PS4_SYSV_ABI Func_B0384B86107FC652();
+int PS4_SYSV_ABI Func_B0C630653B316563();
+int PS4_SYSV_ABI Func_B100DCCD88D5C73D();
+int PS4_SYSV_ABI Func_B11A3FEA5E4D9EA4();
+int PS4_SYSV_ABI Func_B2E7F8DC199C0B93();
+int PS4_SYSV_ABI Func_B3AB61A296F6DDC8();
+int PS4_SYSV_ABI Func_B3F32F6AE619EC82();
+int PS4_SYSV_ABI Func_B4227AB213BF8CF5();
+int PS4_SYSV_ABI Func_B4652BF42B604360();
+int PS4_SYSV_ABI Func_B536C1F13BFE97CB();
+int PS4_SYSV_ABI Func_B645CC264184BC89();
+int PS4_SYSV_ABI Func_B67E17B1582C6FBD();
+int PS4_SYSV_ABI Func_B6D047C5D7695A4D();
+int PS4_SYSV_ABI Func_B75ED8E1EA62EFC7();
+int PS4_SYSV_ABI Func_B7A9A944DBD7E100();
+int PS4_SYSV_ABI Func_B7C4E75BE94F31F3();
+int PS4_SYSV_ABI Func_B888B1F92C464121();
+int PS4_SYSV_ABI Func_B8DEC22564AA057B();
+int PS4_SYSV_ABI Func_B9BADD1CBBBAE4F8();
+int PS4_SYSV_ABI Func_BAA9F7169C85E59F();
+int PS4_SYSV_ABI Func_BAEE5C38908D62DB();
+int PS4_SYSV_ABI Func_BCC855EB25183F84();
+int PS4_SYSV_ABI Func_BD01F637029C7364();
+int PS4_SYSV_ABI Func_BDD29F5AC7077E53();
+int PS4_SYSV_ABI Func_BED83DD33ECAD50D();
+int PS4_SYSV_ABI Func_BEE7D5D098ABF728();
+int PS4_SYSV_ABI Func_C0DB15CCF59AE62C();
+int PS4_SYSV_ABI Func_C1C229FEE0FD60FA();
+int PS4_SYSV_ABI Func_C228B9AD68298E98();
+int PS4_SYSV_ABI Func_C298525CEF6FB283();
+int PS4_SYSV_ABI Func_C350F09351F6D6B5();
+int PS4_SYSV_ABI Func_C3742E80FA580319();
+int PS4_SYSV_ABI Func_C3C9853D5D4D45D4();
+int PS4_SYSV_ABI Func_C3F5DAD4FB9FC340();
+int PS4_SYSV_ABI Func_C45FB0E4CCE9AED6();
+int PS4_SYSV_ABI Func_C4979CB948B7E3C7();
+int PS4_SYSV_ABI Func_C49B25BA16CF0B8C();
+int PS4_SYSV_ABI Func_C551345D9631201E();
+int PS4_SYSV_ABI Func_C57A294421368298();
+int PS4_SYSV_ABI Func_C5DC91CAD721D628();
+int PS4_SYSV_ABI Func_C6DECEE589135357();
+int PS4_SYSV_ABI Func_C81F8B20D67AC78D();
+int PS4_SYSV_ABI Func_C820FA56FAC87BEA();
+int PS4_SYSV_ABI Func_C878EA9114C5E490();
+int PS4_SYSV_ABI Func_C8A813EBFF477509();
+int PS4_SYSV_ABI Func_C966A663D5A35482();
+int PS4_SYSV_ABI Func_C97C4C67FD3674D3();
+int PS4_SYSV_ABI Func_C990550F15848B07();
+int PS4_SYSV_ABI Func_CA59737A8EC1BBBE();
+int PS4_SYSV_ABI Func_CAC5FDE8F80D7B65();
+int PS4_SYSV_ABI Func_CB135B30D0639B83();
+int PS4_SYSV_ABI Func_CB8A1AAA61F64C3A();
+int PS4_SYSV_ABI Func_CB9E674672580757();
+int PS4_SYSV_ABI Func_CC2B9D25EAEAAB1D();
+int PS4_SYSV_ABI Func_CD1B252BBEDF5B53();
+int PS4_SYSV_ABI Func_CF003BE90CBE1A27();
+int PS4_SYSV_ABI Func_CF008E34884AC1E2();
+int PS4_SYSV_ABI Func_D0B8F4B3A3687AB2();
+int PS4_SYSV_ABI Func_D0EE19B8E91F60F5();
+int PS4_SYSV_ABI Func_D12B9294BD0E0F56();
+int PS4_SYSV_ABI Func_D1CC8626D8FA328B();
+int PS4_SYSV_ABI Func_D2FA2BB9EB8B63AC();
+int PS4_SYSV_ABI Func_D32197880CF93CEB();
+int PS4_SYSV_ABI Func_D326F5C26CC81B8E();
+int PS4_SYSV_ABI Func_D4FA06B95A321B7A();
+int PS4_SYSV_ABI Func_D52A37A901E04B21();
+int PS4_SYSV_ABI Func_D5504DFC399AB400();
+int PS4_SYSV_ABI Func_D56105CB27F8F5DC();
+int PS4_SYSV_ABI Func_D568AB19235ECB19();
+int PS4_SYSV_ABI Func_D6DF7BF6639FE611();
+int PS4_SYSV_ABI Func_D8608A903119D746();
+int PS4_SYSV_ABI Func_D9E8FC707D59914D();
+int PS4_SYSV_ABI Func_D9F079E62DEE5B29();
+int PS4_SYSV_ABI Func_DA17CE4F29748536();
+int PS4_SYSV_ABI Func_DA40B9EFD7F61185();
+int PS4_SYSV_ABI Func_DA6B274FEBC2666A();
+int PS4_SYSV_ABI Func_DAD01535C87A51FC();
+int PS4_SYSV_ABI Func_DB4511D448510EC4();
+int PS4_SYSV_ABI Func_DB8EF1FFFC66269C();
+int PS4_SYSV_ABI Func_DBB508FA1B9DA8F7();
+int PS4_SYSV_ABI Func_DC59C9B870B729A2();
+int PS4_SYSV_ABI Func_DC669ED6CBF6751C();
+int PS4_SYSV_ABI Func_DCB8A2849A41C991();
+int PS4_SYSV_ABI Func_DD8F9916D7F03AF7();
+int PS4_SYSV_ABI Func_DDC33F2F4E480C2A();
+int PS4_SYSV_ABI Func_DE0B420BDE8B22D7();
+int PS4_SYSV_ABI Func_E0C0BC29898FE370();
+int PS4_SYSV_ABI Func_E0CD893E46FB55BA();
+int PS4_SYSV_ABI Func_E25530164B7F659F();
+int PS4_SYSV_ABI Func_E3682F43FDF76C58();
+int PS4_SYSV_ABI Func_E38177E1C78A80FA();
+int PS4_SYSV_ABI Func_E3CA74CFF965DF0A();
+int PS4_SYSV_ABI Func_E45BB191B49B2ED9();
+int PS4_SYSV_ABI Func_E465B9D6B60E6D7D();
+int PS4_SYSV_ABI Func_E4D82876C296C38A();
+int PS4_SYSV_ABI Func_E4DDB5350FA5B538();
+int PS4_SYSV_ABI Func_E54BFF6FB72BC7BE();
+int PS4_SYSV_ABI Func_E592A93203020BBB();
+int PS4_SYSV_ABI Func_E5A44AF6D7D48AFD();
+int PS4_SYSV_ABI Func_E639A97CF9FF1430();
+int PS4_SYSV_ABI Func_E6AC0179E48A8927();
+int PS4_SYSV_ABI Func_E751596682775D83();
+int PS4_SYSV_ABI Func_E788B1E52EF82702();
+int PS4_SYSV_ABI Func_E94F17613F5C9D31();
+int PS4_SYSV_ABI Func_E9590113128D55E0();
+int PS4_SYSV_ABI Func_E9E0B0DD12560B16();
+int PS4_SYSV_ABI Func_EAF5C8ECE64C7B05();
+int PS4_SYSV_ABI Func_EB98BF5C42D4A7EB();
+int PS4_SYSV_ABI Func_EBABC4AAC43A468C();
+int PS4_SYSV_ABI Func_EBF00085F082CC8B();
+int PS4_SYSV_ABI Func_ECB659EE058D06AF();
+int PS4_SYSV_ABI Func_ECF096AB751487AE();
+int PS4_SYSV_ABI Func_EE5A271701DB33C0();
+int PS4_SYSV_ABI Func_EF64CB6A1625248E();
+int PS4_SYSV_ABI Func_EF6C8A357C7ED863();
+int PS4_SYSV_ABI Func_F00FE94F7E699994();
+int PS4_SYSV_ABI Func_F1A51DBA30329038();
+int PS4_SYSV_ABI Func_F216E766A90FDC12();
+int PS4_SYSV_ABI Func_F2A10584ABE5D82C();
+int PS4_SYSV_ABI Func_F2D99D395E5421A3();
+int PS4_SYSV_ABI Func_F38001E528BA1371();
+int PS4_SYSV_ABI Func_F39EC9C8FA7687B3();
+int PS4_SYSV_ABI Func_F3AFFFDCD632775C();
+int PS4_SYSV_ABI Func_F3B8DFF33748BFD3();
+int PS4_SYSV_ABI Func_F5E47F9550F7A147();
+int PS4_SYSV_ABI Func_F6E93714D1A939CF();
+int PS4_SYSV_ABI Func_F6FD19AD48E4EF09();
+int PS4_SYSV_ABI Func_F744EBFC620F7CBF();
+int PS4_SYSV_ABI Func_F76E4525ACBACC7F();
+int PS4_SYSV_ABI Func_F7957A48882F42CB();
+int PS4_SYSV_ABI Func_F7A80B07809BA838();
+int PS4_SYSV_ABI Func_F8571C6CC5B6B59D();
+int PS4_SYSV_ABI Func_F9787CFA873836FB();
+int PS4_SYSV_ABI Func_FA789F6D34D383F8();
+int PS4_SYSV_ABI Func_FABA574083AC1E6C();
+int PS4_SYSV_ABI Func_FC04FDBBAE368FB7();
+int PS4_SYSV_ABI Func_FD2DAFBF2E40EEE7();
+int PS4_SYSV_ABI Func_FD55EE6D35F950AD();
+int PS4_SYSV_ABI Func_FE55EE32098D0D58();
+int PS4_SYSV_ABI Func_FE79841022E1DA1C();
+int PS4_SYSV_ABI Func_FFF4A3E279FB44A7();
+
+void RegisterlibSceNpCommon(Core::Loader::SymbolsResolver* sym);
+} // namespace Libraries::NpCommon
\ No newline at end of file
diff --git a/src/core/libraries/np_common/np_common_error.h b/src/core/libraries/np_common/np_common_error.h
new file mode 100644
index 000000000..5da6e6a90
--- /dev/null
+++ b/src/core/libraries/np_common/np_common_error.h
@@ -0,0 +1,9 @@
+// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "core/libraries/error_codes.h"
+
+constexpr int ORBIS_NP_ERROR_INVALID_ARGUMENT = 0x80550003;
+constexpr int ORBIS_NP_UTIL_ERROR_NOT_MATCH = 0x80550609;
\ No newline at end of file
diff --git a/src/core/libraries/np_manager/np_manager.cpp b/src/core/libraries/np_manager/np_manager.cpp
index 87d752c69..e26c5a830 100644
--- a/src/core/libraries/np_manager/np_manager.cpp
+++ b/src/core/libraries/np_manager/np_manager.cpp
@@ -1,7 +1,6 @@
// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
-#include "common/config.h"
#include "common/logging/log.h"
#include "core/libraries/error_codes.h"
#include "core/libraries/libs.h"
@@ -2510,7 +2509,7 @@ struct NpStateCallbackForNpToolkit {
NpStateCallbackForNpToolkit NpStateCbForNp;
int PS4_SYSV_ABI sceNpCheckCallbackForLib() {
- Core::ExecuteGuest(NpStateCbForNp.func, 1, OrbisNpState::SignedOut, NpStateCbForNp.userdata);
+ LOG_DEBUG(Lib_NpManager, "(STUBBED) called");
return ORBIS_OK;
}
diff --git a/src/core/libraries/np_web_api/np_web_api.cpp b/src/core/libraries/np_web_api/np_web_api.cpp
new file mode 100644
index 000000000..8a7979978
--- /dev/null
+++ b/src/core/libraries/np_web_api/np_web_api.cpp
@@ -0,0 +1,692 @@
+// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "common/logging/log.h"
+#include "core/libraries/error_codes.h"
+#include "core/libraries/libs.h"
+#include "core/libraries/np_web_api/np_web_api.h"
+
+namespace Libraries::NpWebApi {
+
+s32 PS4_SYSV_ABI sceNpWebApiCreateContext() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI sceNpWebApiCreatePushEventFilter() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI sceNpWebApiCreateServicePushEventFilter() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI sceNpWebApiDeletePushEventFilter() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI sceNpWebApiDeleteServicePushEventFilter() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI sceNpWebApiRegisterExtdPushEventCallback() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI sceNpWebApiRegisterNotificationCallback() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI sceNpWebApiRegisterPushEventCallback() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI sceNpWebApiRegisterServicePushEventCallback() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI sceNpWebApiUnregisterNotificationCallback() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI sceNpWebApiUnregisterPushEventCallback() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI sceNpWebApiUnregisterServicePushEventCallback() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI sceNpWebApiAbortHandle() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI sceNpWebApiAbortRequest() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI sceNpWebApiAddHttpRequestHeader() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI sceNpWebApiAddMultipartPart() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI sceNpWebApiCheckTimeout() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI sceNpWebApiClearAllUnusedConnection() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI sceNpWebApiClearUnusedConnection() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI sceNpWebApiCreateContextA() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI sceNpWebApiCreateExtdPushEventFilter() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI sceNpWebApiCreateHandle() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI sceNpWebApiCreateMultipartRequest() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI sceNpWebApiCreateRequest() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI sceNpWebApiDeleteContext() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI sceNpWebApiDeleteExtdPushEventFilter() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI sceNpWebApiDeleteHandle() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI sceNpWebApiDeleteRequest() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI sceNpWebApiGetConnectionStats() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI sceNpWebApiGetErrorCode() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI sceNpWebApiGetHttpResponseHeaderValue() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI sceNpWebApiGetHttpResponseHeaderValueLength() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI sceNpWebApiGetHttpStatusCode() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI sceNpWebApiGetMemoryPoolStats() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI sceNpWebApiInitialize() {
+ LOG_ERROR(Lib_NpWebApi, "(DUMMY) called");
+ static s32 id = 0;
+ return ++id;
+}
+
+s32 PS4_SYSV_ABI sceNpWebApiInitializeForPresence() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI sceNpWebApiIntCreateCtxIndExtdPushEventFilter() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI sceNpWebApiIntCreateRequest() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI sceNpWebApiIntCreateServicePushEventFilter() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI sceNpWebApiIntInitialize() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI sceNpWebApiIntRegisterServicePushEventCallback() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI sceNpWebApiIntRegisterServicePushEventCallbackA() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI sceNpWebApiReadData() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI sceNpWebApiRegisterExtdPushEventCallbackA() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI sceNpWebApiSendMultipartRequest() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI sceNpWebApiSendMultipartRequest2() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI sceNpWebApiSendRequest() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI sceNpWebApiSendRequest2() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI sceNpWebApiSetHandleTimeout() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI sceNpWebApiSetMaxConnection() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI sceNpWebApiSetMultipartContentType() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI sceNpWebApiSetRequestTimeout() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI sceNpWebApiTerminate() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI sceNpWebApiUnregisterExtdPushEventCallback() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI sceNpWebApiUtilityParseNpId() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI sceNpWebApiVshInitialize() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI Func_064C4ED1EDBEB9E8() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI Func_0783955D4E9563DA() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI Func_1A6D77F3FD8323A8() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI Func_1E0693A26FE0F954() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI Func_24A9B5F1D77000CF() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI Func_24AAA6F50E4C2361() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI Func_24D8853D6B47FC79() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI Func_279B3E9C7C4A9DC5() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI Func_28461E29E9F8D697() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI Func_3C29624704FAB9E0() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI Func_3F027804ED2EC11E() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI Func_4066C94E782997CD() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI Func_47C85356815DBE90() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI Func_4FCE8065437E3B87() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI Func_536280BE3DABB521() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI Func_57A0E1BC724219F3() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI Func_5819749C040B6637() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI Func_6198D0C825E86319() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI Func_61F2B9E8AB093743() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI Func_6BC388E6113F0D44() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI Func_7500F0C4F8DC2D16() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI Func_75A03814C7E9039F() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI Func_789D6026C521416E() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI Func_7DED63D06399EFFF() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI Func_7E55A2DCC03D395A() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI Func_7E6C8F9FB86967F4() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI Func_7F04B7D4A7D41E80() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI Func_8E167252DFA5C957() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI Func_95D0046E504E3B09() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI Func_97284BFDA4F18FDF() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI Func_99E32C1F4737EAB4() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI Func_9CFF661EA0BCBF83() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI Func_9EB0E1F467AC3B29() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI Func_A2318FE6FBABFAA3() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI Func_BA07A2E1BF7B3971() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI Func_BD0803EEE0CC29A0() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI Func_BE6F4E5524BB135F() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI Func_C0D490EB481EA4D0() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI Func_C175D392CA6D084A() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI Func_CD0136AF165D2F2F() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI Func_D1C0ADB7B52FEAB5() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI Func_E324765D18EE4D12() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI Func_E789F980D907B653() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+s32 PS4_SYSV_ABI Func_F9A32E8685627436() {
+ LOG_ERROR(Lib_NpWebApi, "(STUBBED) called");
+ return ORBIS_OK;
+}
+
+void RegisterlibSceNpWebApi(Core::Loader::SymbolsResolver* sym) {
+ LIB_FUNCTION("x1Y7yiYSk7c", "libSceNpWebApiCompat", 1, "libSceNpWebApi", 1, 1,
+ sceNpWebApiCreateContext);
+ LIB_FUNCTION("y5Ta5JCzQHY", "libSceNpWebApiCompat", 1, "libSceNpWebApi", 1, 1,
+ sceNpWebApiCreatePushEventFilter);
+ LIB_FUNCTION("sIFx734+xys", "libSceNpWebApiCompat", 1, "libSceNpWebApi", 1, 1,
+ sceNpWebApiCreateServicePushEventFilter);
+ LIB_FUNCTION("zE+R6Rcx3W0", "libSceNpWebApiCompat", 1, "libSceNpWebApi", 1, 1,
+ sceNpWebApiDeletePushEventFilter);
+ LIB_FUNCTION("PfQ+f6ws764", "libSceNpWebApiCompat", 1, "libSceNpWebApi", 1, 1,
+ sceNpWebApiDeleteServicePushEventFilter);
+ LIB_FUNCTION("vrM02A5Gy1M", "libSceNpWebApiCompat", 1, "libSceNpWebApi", 1, 1,
+ sceNpWebApiRegisterExtdPushEventCallback);
+ LIB_FUNCTION("HVgWmGIOKdk", "libSceNpWebApiCompat", 1, "libSceNpWebApi", 1, 1,
+ sceNpWebApiRegisterNotificationCallback);
+ LIB_FUNCTION("PfSTDCgNMgc", "libSceNpWebApiCompat", 1, "libSceNpWebApi", 1, 1,
+ sceNpWebApiRegisterPushEventCallback);
+ LIB_FUNCTION("kJQJE0uKm5w", "libSceNpWebApiCompat", 1, "libSceNpWebApi", 1, 1,
+ sceNpWebApiRegisterServicePushEventCallback);
+ LIB_FUNCTION("wjYEvo4xbcA", "libSceNpWebApiCompat", 1, "libSceNpWebApi", 1, 1,
+ sceNpWebApiUnregisterNotificationCallback);
+ LIB_FUNCTION("qK4o2656W4w", "libSceNpWebApiCompat", 1, "libSceNpWebApi", 1, 1,
+ sceNpWebApiUnregisterPushEventCallback);
+ LIB_FUNCTION("2edrkr0c-wg", "libSceNpWebApiCompat", 1, "libSceNpWebApi", 1, 1,
+ sceNpWebApiUnregisterServicePushEventCallback);
+ LIB_FUNCTION("WKcm4PeyJww", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1,
+ sceNpWebApiAbortHandle);
+ LIB_FUNCTION("JzhYTP2fG18", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1,
+ sceNpWebApiAbortRequest);
+ LIB_FUNCTION("joRjtRXTFoc", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1,
+ sceNpWebApiAddHttpRequestHeader);
+ LIB_FUNCTION("19KgfJXgM+U", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1,
+ sceNpWebApiAddMultipartPart);
+ LIB_FUNCTION("gVNNyxf-1Sg", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1,
+ sceNpWebApiCheckTimeout);
+ LIB_FUNCTION("KQIkDGf80PQ", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1,
+ sceNpWebApiClearAllUnusedConnection);
+ LIB_FUNCTION("f-pgaNSd1zc", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1,
+ sceNpWebApiClearUnusedConnection);
+ LIB_FUNCTION("x1Y7yiYSk7c", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1,
+ sceNpWebApiCreateContext);
+ LIB_FUNCTION("zk6c65xoyO0", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1,
+ sceNpWebApiCreateContextA);
+ LIB_FUNCTION("M2BUB+DNEGE", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1,
+ sceNpWebApiCreateExtdPushEventFilter);
+ LIB_FUNCTION("79M-JqvvGo0", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1,
+ sceNpWebApiCreateHandle);
+ LIB_FUNCTION("KBxgeNpoRIQ", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1,
+ sceNpWebApiCreateMultipartRequest);
+ LIB_FUNCTION("y5Ta5JCzQHY", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1,
+ sceNpWebApiCreatePushEventFilter);
+ LIB_FUNCTION("rdgs5Z1MyFw", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1,
+ sceNpWebApiCreateRequest);
+ LIB_FUNCTION("sIFx734+xys", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1,
+ sceNpWebApiCreateServicePushEventFilter);
+ LIB_FUNCTION("XUjdsSTTZ3U", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1,
+ sceNpWebApiDeleteContext);
+ LIB_FUNCTION("pfaJtb7SQ80", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1,
+ sceNpWebApiDeleteExtdPushEventFilter);
+ LIB_FUNCTION("5Mn7TYwpl30", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1,
+ sceNpWebApiDeleteHandle);
+ LIB_FUNCTION("zE+R6Rcx3W0", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1,
+ sceNpWebApiDeletePushEventFilter);
+ LIB_FUNCTION("noQgleu+KLE", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1,
+ sceNpWebApiDeleteRequest);
+ LIB_FUNCTION("PfQ+f6ws764", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1,
+ sceNpWebApiDeleteServicePushEventFilter);
+ LIB_FUNCTION("UJ8H+7kVQUE", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1,
+ sceNpWebApiGetConnectionStats);
+ LIB_FUNCTION("2qSZ0DgwTsc", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1,
+ sceNpWebApiGetErrorCode);
+ LIB_FUNCTION("VwJ5L0Higg0", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1,
+ sceNpWebApiGetHttpResponseHeaderValue);
+ LIB_FUNCTION("743ZzEBzlV8", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1,
+ sceNpWebApiGetHttpResponseHeaderValueLength);
+ LIB_FUNCTION("k210oKgP80Y", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1,
+ sceNpWebApiGetHttpStatusCode);
+ LIB_FUNCTION("3OnubUs02UM", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1,
+ sceNpWebApiGetMemoryPoolStats);
+ LIB_FUNCTION("G3AnLNdRBjE", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1, sceNpWebApiInitialize);
+ LIB_FUNCTION("FkuwsD64zoQ", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1,
+ sceNpWebApiInitializeForPresence);
+ LIB_FUNCTION("c1pKoztonB8", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1,
+ sceNpWebApiIntCreateCtxIndExtdPushEventFilter);
+ LIB_FUNCTION("N2Jbx4tIaQ4", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1,
+ sceNpWebApiIntCreateRequest);
+ LIB_FUNCTION("TZSep4xB4EY", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1,
+ sceNpWebApiIntCreateServicePushEventFilter);
+ LIB_FUNCTION("8Vjplhyyc44", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1,
+ sceNpWebApiIntInitialize);
+ LIB_FUNCTION("VjVukb2EWPc", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1,
+ sceNpWebApiIntRegisterServicePushEventCallback);
+ LIB_FUNCTION("sfq23ZVHVEw", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1,
+ sceNpWebApiIntRegisterServicePushEventCallbackA);
+ LIB_FUNCTION("CQtPRSF6Ds8", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1, sceNpWebApiReadData);
+ LIB_FUNCTION("vrM02A5Gy1M", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1,
+ sceNpWebApiRegisterExtdPushEventCallback);
+ LIB_FUNCTION("jhXKGQJ4egI", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1,
+ sceNpWebApiRegisterExtdPushEventCallbackA);
+ LIB_FUNCTION("HVgWmGIOKdk", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1,
+ sceNpWebApiRegisterNotificationCallback);
+ LIB_FUNCTION("PfSTDCgNMgc", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1,
+ sceNpWebApiRegisterPushEventCallback);
+ LIB_FUNCTION("kJQJE0uKm5w", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1,
+ sceNpWebApiRegisterServicePushEventCallback);
+ LIB_FUNCTION("KCItz6QkeGs", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1,
+ sceNpWebApiSendMultipartRequest);
+ LIB_FUNCTION("DsPOTEvSe7M", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1,
+ sceNpWebApiSendMultipartRequest2);
+ LIB_FUNCTION("kVbL4hL3K7w", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1,
+ sceNpWebApiSendRequest);
+ LIB_FUNCTION("KjNeZ-29ysQ", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1,
+ sceNpWebApiSendRequest2);
+ LIB_FUNCTION("6g6q-g1i4XU", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1,
+ sceNpWebApiSetHandleTimeout);
+ LIB_FUNCTION("gRiilVCvfAI", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1,
+ sceNpWebApiSetMaxConnection);
+ LIB_FUNCTION("i0dr6grIZyc", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1,
+ sceNpWebApiSetMultipartContentType);
+ LIB_FUNCTION("qWcbJkBj1Lg", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1,
+ sceNpWebApiSetRequestTimeout);
+ LIB_FUNCTION("asz3TtIqGF8", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1, sceNpWebApiTerminate);
+ LIB_FUNCTION("PqCY25FMzPs", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1,
+ sceNpWebApiUnregisterExtdPushEventCallback);
+ LIB_FUNCTION("wjYEvo4xbcA", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1,
+ sceNpWebApiUnregisterNotificationCallback);
+ LIB_FUNCTION("qK4o2656W4w", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1,
+ sceNpWebApiUnregisterPushEventCallback);
+ LIB_FUNCTION("2edrkr0c-wg", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1,
+ sceNpWebApiUnregisterServicePushEventCallback);
+ LIB_FUNCTION("or0e885BlXo", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1,
+ sceNpWebApiUtilityParseNpId);
+ LIB_FUNCTION("uRsskUhAfnM", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1,
+ sceNpWebApiVshInitialize);
+ LIB_FUNCTION("BkxO0e2+ueg", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1, Func_064C4ED1EDBEB9E8);
+ LIB_FUNCTION("B4OVXU6VY9o", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1, Func_0783955D4E9563DA);
+ LIB_FUNCTION("Gm138-2DI6g", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1, Func_1A6D77F3FD8323A8);
+ LIB_FUNCTION("HgaTom-g+VQ", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1, Func_1E0693A26FE0F954);
+ LIB_FUNCTION("JKm18ddwAM8", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1, Func_24A9B5F1D77000CF);
+ LIB_FUNCTION("JKqm9Q5MI2E", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1, Func_24AAA6F50E4C2361);
+ LIB_FUNCTION("JNiFPWtH-Hk", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1, Func_24D8853D6B47FC79);
+ LIB_FUNCTION("J5s+nHxKncU", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1, Func_279B3E9C7C4A9DC5);
+ LIB_FUNCTION("KEYeKen41pc", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1, Func_28461E29E9F8D697);
+ LIB_FUNCTION("PCliRwT6ueA", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1, Func_3C29624704FAB9E0);
+ LIB_FUNCTION("PwJ4BO0uwR4", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1, Func_3F027804ED2EC11E);
+ LIB_FUNCTION("QGbJTngpl80", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1, Func_4066C94E782997CD);
+ LIB_FUNCTION("R8hTVoFdvpA", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1, Func_47C85356815DBE90);
+ LIB_FUNCTION("T86AZUN+O4c", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1, Func_4FCE8065437E3B87);
+ LIB_FUNCTION("U2KAvj2rtSE", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1, Func_536280BE3DABB521);
+ LIB_FUNCTION("V6DhvHJCGfM", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1, Func_57A0E1BC724219F3);
+ LIB_FUNCTION("WBl0nAQLZjc", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1, Func_5819749C040B6637);
+ LIB_FUNCTION("YZjQyCXoYxk", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1, Func_6198D0C825E86319);
+ LIB_FUNCTION("YfK56KsJN0M", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1, Func_61F2B9E8AB093743);
+ LIB_FUNCTION("a8OI5hE-DUQ", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1, Func_6BC388E6113F0D44);
+ LIB_FUNCTION("dQDwxPjcLRY", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1, Func_7500F0C4F8DC2D16);
+ LIB_FUNCTION("daA4FMfpA58", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1, Func_75A03814C7E9039F);
+ LIB_FUNCTION("eJ1gJsUhQW4", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1, Func_789D6026C521416E);
+ LIB_FUNCTION("fe1j0GOZ7-8", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1, Func_7DED63D06399EFFF);
+ LIB_FUNCTION("flWi3MA9OVo", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1, Func_7E55A2DCC03D395A);
+ LIB_FUNCTION("fmyPn7hpZ-Q", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1, Func_7E6C8F9FB86967F4);
+ LIB_FUNCTION("fwS31KfUHoA", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1, Func_7F04B7D4A7D41E80);
+ LIB_FUNCTION("jhZyUt+lyVc", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1, Func_8E167252DFA5C957);
+ LIB_FUNCTION("ldAEblBOOwk", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1, Func_95D0046E504E3B09);
+ LIB_FUNCTION("lyhL-aTxj98", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1, Func_97284BFDA4F18FDF);
+ LIB_FUNCTION("meMsH0c36rQ", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1, Func_99E32C1F4737EAB4);
+ LIB_FUNCTION("nP9mHqC8v4M", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1, Func_9CFF661EA0BCBF83);
+ LIB_FUNCTION("nrDh9GesOyk", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1, Func_9EB0E1F467AC3B29);
+ LIB_FUNCTION("ojGP5vur+qM", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1, Func_A2318FE6FBABFAA3);
+ LIB_FUNCTION("ugei4b97OXE", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1, Func_BA07A2E1BF7B3971);
+ LIB_FUNCTION("vQgD7uDMKaA", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1, Func_BD0803EEE0CC29A0);
+ LIB_FUNCTION("vm9OVSS7E18", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1, Func_BE6F4E5524BB135F);
+ LIB_FUNCTION("wNSQ60gepNA", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1, Func_C0D490EB481EA4D0);
+ LIB_FUNCTION("wXXTksptCEo", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1, Func_C175D392CA6D084A);
+ LIB_FUNCTION("zQE2rxZdLy8", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1, Func_CD0136AF165D2F2F);
+ LIB_FUNCTION("0cCtt7Uv6rU", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1, Func_D1C0ADB7B52FEAB5);
+ LIB_FUNCTION("4yR2XRjuTRI", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1, Func_E324765D18EE4D12);
+ LIB_FUNCTION("54n5gNkHtlM", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1, Func_E789F980D907B653);
+ LIB_FUNCTION("+aMuhoVidDY", "libSceNpWebApi", 1, "libSceNpWebApi", 1, 1, Func_F9A32E8685627436);
+};
+
+} // namespace Libraries::NpWebApi
\ No newline at end of file
diff --git a/src/core/libraries/np_web_api/np_web_api.h b/src/core/libraries/np_web_api/np_web_api.h
new file mode 100644
index 000000000..cc007394f
--- /dev/null
+++ b/src/core/libraries/np_web_api/np_web_api.h
@@ -0,0 +1,116 @@
+// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "common/types.h"
+
+namespace Core::Loader {
+class SymbolsResolver;
+}
+
+namespace Libraries::NpWebApi {
+
+s32 PS4_SYSV_ABI sceNpWebApiCreateContext();
+s32 PS4_SYSV_ABI sceNpWebApiCreatePushEventFilter();
+s32 PS4_SYSV_ABI sceNpWebApiCreateServicePushEventFilter();
+s32 PS4_SYSV_ABI sceNpWebApiDeletePushEventFilter();
+s32 PS4_SYSV_ABI sceNpWebApiDeleteServicePushEventFilter();
+s32 PS4_SYSV_ABI sceNpWebApiRegisterExtdPushEventCallback();
+s32 PS4_SYSV_ABI sceNpWebApiRegisterNotificationCallback();
+s32 PS4_SYSV_ABI sceNpWebApiRegisterPushEventCallback();
+s32 PS4_SYSV_ABI sceNpWebApiRegisterServicePushEventCallback();
+s32 PS4_SYSV_ABI sceNpWebApiUnregisterNotificationCallback();
+s32 PS4_SYSV_ABI sceNpWebApiUnregisterPushEventCallback();
+s32 PS4_SYSV_ABI sceNpWebApiUnregisterServicePushEventCallback();
+s32 PS4_SYSV_ABI sceNpWebApiAbortHandle();
+s32 PS4_SYSV_ABI sceNpWebApiAbortRequest();
+s32 PS4_SYSV_ABI sceNpWebApiAddHttpRequestHeader();
+s32 PS4_SYSV_ABI sceNpWebApiAddMultipartPart();
+s32 PS4_SYSV_ABI sceNpWebApiCheckTimeout();
+s32 PS4_SYSV_ABI sceNpWebApiClearAllUnusedConnection();
+s32 PS4_SYSV_ABI sceNpWebApiClearUnusedConnection();
+s32 PS4_SYSV_ABI sceNpWebApiCreateContextA();
+s32 PS4_SYSV_ABI sceNpWebApiCreateExtdPushEventFilter();
+s32 PS4_SYSV_ABI sceNpWebApiCreateHandle();
+s32 PS4_SYSV_ABI sceNpWebApiCreateMultipartRequest();
+s32 PS4_SYSV_ABI sceNpWebApiCreateRequest();
+s32 PS4_SYSV_ABI sceNpWebApiDeleteContext();
+s32 PS4_SYSV_ABI sceNpWebApiDeleteExtdPushEventFilter();
+s32 PS4_SYSV_ABI sceNpWebApiDeleteHandle();
+s32 PS4_SYSV_ABI sceNpWebApiDeleteRequest();
+s32 PS4_SYSV_ABI sceNpWebApiGetConnectionStats();
+s32 PS4_SYSV_ABI sceNpWebApiGetErrorCode();
+s32 PS4_SYSV_ABI sceNpWebApiGetHttpResponseHeaderValue();
+s32 PS4_SYSV_ABI sceNpWebApiGetHttpResponseHeaderValueLength();
+s32 PS4_SYSV_ABI sceNpWebApiGetHttpStatusCode();
+s32 PS4_SYSV_ABI sceNpWebApiGetMemoryPoolStats();
+s32 PS4_SYSV_ABI sceNpWebApiInitialize();
+s32 PS4_SYSV_ABI sceNpWebApiInitializeForPresence();
+s32 PS4_SYSV_ABI sceNpWebApiIntCreateCtxIndExtdPushEventFilter();
+s32 PS4_SYSV_ABI sceNpWebApiIntCreateRequest();
+s32 PS4_SYSV_ABI sceNpWebApiIntCreateServicePushEventFilter();
+s32 PS4_SYSV_ABI sceNpWebApiIntInitialize();
+s32 PS4_SYSV_ABI sceNpWebApiIntRegisterServicePushEventCallback();
+s32 PS4_SYSV_ABI sceNpWebApiIntRegisterServicePushEventCallbackA();
+s32 PS4_SYSV_ABI sceNpWebApiReadData();
+s32 PS4_SYSV_ABI sceNpWebApiRegisterExtdPushEventCallbackA();
+s32 PS4_SYSV_ABI sceNpWebApiSendMultipartRequest();
+s32 PS4_SYSV_ABI sceNpWebApiSendMultipartRequest2();
+s32 PS4_SYSV_ABI sceNpWebApiSendRequest();
+s32 PS4_SYSV_ABI sceNpWebApiSendRequest2();
+s32 PS4_SYSV_ABI sceNpWebApiSetHandleTimeout();
+s32 PS4_SYSV_ABI sceNpWebApiSetMaxConnection();
+s32 PS4_SYSV_ABI sceNpWebApiSetMultipartContentType();
+s32 PS4_SYSV_ABI sceNpWebApiSetRequestTimeout();
+s32 PS4_SYSV_ABI sceNpWebApiTerminate();
+s32 PS4_SYSV_ABI sceNpWebApiUnregisterExtdPushEventCallback();
+s32 PS4_SYSV_ABI sceNpWebApiUtilityParseNpId();
+s32 PS4_SYSV_ABI sceNpWebApiVshInitialize();
+s32 PS4_SYSV_ABI Func_064C4ED1EDBEB9E8();
+s32 PS4_SYSV_ABI Func_0783955D4E9563DA();
+s32 PS4_SYSV_ABI Func_1A6D77F3FD8323A8();
+s32 PS4_SYSV_ABI Func_1E0693A26FE0F954();
+s32 PS4_SYSV_ABI Func_24A9B5F1D77000CF();
+s32 PS4_SYSV_ABI Func_24AAA6F50E4C2361();
+s32 PS4_SYSV_ABI Func_24D8853D6B47FC79();
+s32 PS4_SYSV_ABI Func_279B3E9C7C4A9DC5();
+s32 PS4_SYSV_ABI Func_28461E29E9F8D697();
+s32 PS4_SYSV_ABI Func_3C29624704FAB9E0();
+s32 PS4_SYSV_ABI Func_3F027804ED2EC11E();
+s32 PS4_SYSV_ABI Func_4066C94E782997CD();
+s32 PS4_SYSV_ABI Func_47C85356815DBE90();
+s32 PS4_SYSV_ABI Func_4FCE8065437E3B87();
+s32 PS4_SYSV_ABI Func_536280BE3DABB521();
+s32 PS4_SYSV_ABI Func_57A0E1BC724219F3();
+s32 PS4_SYSV_ABI Func_5819749C040B6637();
+s32 PS4_SYSV_ABI Func_6198D0C825E86319();
+s32 PS4_SYSV_ABI Func_61F2B9E8AB093743();
+s32 PS4_SYSV_ABI Func_6BC388E6113F0D44();
+s32 PS4_SYSV_ABI Func_7500F0C4F8DC2D16();
+s32 PS4_SYSV_ABI Func_75A03814C7E9039F();
+s32 PS4_SYSV_ABI Func_789D6026C521416E();
+s32 PS4_SYSV_ABI Func_7DED63D06399EFFF();
+s32 PS4_SYSV_ABI Func_7E55A2DCC03D395A();
+s32 PS4_SYSV_ABI Func_7E6C8F9FB86967F4();
+s32 PS4_SYSV_ABI Func_7F04B7D4A7D41E80();
+s32 PS4_SYSV_ABI Func_8E167252DFA5C957();
+s32 PS4_SYSV_ABI Func_95D0046E504E3B09();
+s32 PS4_SYSV_ABI Func_97284BFDA4F18FDF();
+s32 PS4_SYSV_ABI Func_99E32C1F4737EAB4();
+s32 PS4_SYSV_ABI Func_9CFF661EA0BCBF83();
+s32 PS4_SYSV_ABI Func_9EB0E1F467AC3B29();
+s32 PS4_SYSV_ABI Func_A2318FE6FBABFAA3();
+s32 PS4_SYSV_ABI Func_BA07A2E1BF7B3971();
+s32 PS4_SYSV_ABI Func_BD0803EEE0CC29A0();
+s32 PS4_SYSV_ABI Func_BE6F4E5524BB135F();
+s32 PS4_SYSV_ABI Func_C0D490EB481EA4D0();
+s32 PS4_SYSV_ABI Func_C175D392CA6D084A();
+s32 PS4_SYSV_ABI Func_CD0136AF165D2F2F();
+s32 PS4_SYSV_ABI Func_D1C0ADB7B52FEAB5();
+s32 PS4_SYSV_ABI Func_E324765D18EE4D12();
+s32 PS4_SYSV_ABI Func_E789F980D907B653();
+s32 PS4_SYSV_ABI Func_F9A32E8685627436();
+
+void RegisterlibSceNpWebApi(Core::Loader::SymbolsResolver* sym);
+} // namespace Libraries::NpWebApi
\ No newline at end of file
diff --git a/src/core/libraries/videoout/driver.cpp b/src/core/libraries/videoout/driver.cpp
index f6c25afe3..de5421fd7 100644
--- a/src/core/libraries/videoout/driver.cpp
+++ b/src/core/libraries/videoout/driver.cpp
@@ -1,8 +1,6 @@
// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
-#include
-
#include "common/assert.h"
#include "common/config.h"
#include "common/debug.h"
@@ -11,6 +9,7 @@
#include "core/libraries/kernel/time.h"
#include "core/libraries/videoout/driver.h"
#include "core/libraries/videoout/videoout_error.h"
+#include "imgui/renderer/imgui_core.h"
#include "video_core/renderer_vulkan/vk_presenter.h"
extern std::unique_ptr presenter;
@@ -207,6 +206,13 @@ void VideoOutDriver::DrawBlankFrame() {
presenter->Present(empty_frame);
}
+void VideoOutDriver::DrawLastFrame() {
+ const auto frame = presenter->PrepareLastFrame();
+ if (frame != nullptr) {
+ presenter->Present(frame, true);
+ }
+}
+
bool VideoOutDriver::SubmitFlip(VideoOutPort* port, s32 index, s64 flip_arg,
bool is_eop /*= false*/) {
{
@@ -278,17 +284,26 @@ void VideoOutDriver::PresentThread(std::stop_token token) {
return {};
};
- auto delay = std::chrono::microseconds{0};
while (!token.stop_requested()) {
timer.Start();
+ if (DebugState.IsGuestThreadsPaused()) {
+ DrawLastFrame();
+ timer.End();
+ continue;
+ }
+
// Check if it's time to take a request.
auto& vblank_status = main_port.vblank_status;
if (vblank_status.count % (main_port.flip_rate + 1) == 0) {
const auto request = receive_request();
if (!request) {
- if (!main_port.is_open || DebugState.IsGuestThreadsPaused()) {
- DrawBlankFrame();
+ if (timer.GetTotalWait().count() < 0) { // Dont draw too fast
+ if (!main_port.is_open) {
+ DrawBlankFrame();
+ } else if (ImGui::Core::MustKeepDrawing()) {
+ DrawLastFrame();
+ }
}
} else {
Flip(request);
diff --git a/src/core/libraries/videoout/driver.h b/src/core/libraries/videoout/driver.h
index ec01b621f..ad7c7bec2 100644
--- a/src/core/libraries/videoout/driver.h
+++ b/src/core/libraries/videoout/driver.h
@@ -102,7 +102,8 @@ private:
};
void Flip(const Request& req);
- void DrawBlankFrame(); // Used when there is no flip request to keep ImGui up to date
+ void DrawBlankFrame(); // Video port out not open
+ void DrawLastFrame(); // Used when there is no flip request
void SubmitFlipInternal(VideoOutPort* port, s32 index, s64 flip_arg, bool is_eop = false);
void PresentThread(std::stop_token token);
diff --git a/src/emulator.cpp b/src/emulator.cpp
index dbe693340..61d6d3862 100644
--- a/src/emulator.cpp
+++ b/src/emulator.cpp
@@ -66,9 +66,10 @@ Emulator::Emulator() {
LOG_INFO(Config, "Vulkan vkValidation: {}", Config::vkValidationEnabled());
LOG_INFO(Config, "Vulkan vkValidationSync: {}", Config::vkValidationSyncEnabled());
LOG_INFO(Config, "Vulkan vkValidationGpu: {}", Config::vkValidationGpuEnabled());
- LOG_INFO(Config, "Vulkan rdocEnable: {}", Config::isRdocEnabled());
- LOG_INFO(Config, "Vulkan rdocMarkersEnable: {}", Config::vkMarkersEnabled());
LOG_INFO(Config, "Vulkan crashDiagnostics: {}", Config::vkCrashDiagnosticEnabled());
+ LOG_INFO(Config, "Vulkan hostMarkers: {}", Config::vkHostMarkersEnabled());
+ LOG_INFO(Config, "Vulkan guestMarkers: {}", Config::vkGuestMarkersEnabled());
+ LOG_INFO(Config, "Vulkan rdocEnable: {}", Config::isRdocEnabled());
// Create stdin/stdout/stderr
Common::Singleton::Instance()->CreateStdHandles();
diff --git a/src/imgui/imgui_config.h b/src/imgui/imgui_config.h
index ccb084d94..7b03a4bab 100644
--- a/src/imgui/imgui_config.h
+++ b/src/imgui/imgui_config.h
@@ -30,6 +30,12 @@ extern void assert_fail_debug_msg(const char* msg);
#define IM_VEC4_CLASS_EXTRA \
constexpr ImVec4(float _v) : x(_v), y(_v), z(_v), w(_v) {}
+namespace ImGui {
+struct Texture;
+}
+#define ImTextureID ImTextureID
+using ImTextureID = ::ImGui::Texture*;
+
#ifdef IMGUI_USE_WCHAR32
#error "This project uses 16 bits wchar standard like Orbis"
#endif
\ No newline at end of file
diff --git a/src/imgui/renderer/imgui_core.cpp b/src/imgui/renderer/imgui_core.cpp
index 46391faef..f3e4609ba 100644
--- a/src/imgui/renderer/imgui_core.cpp
+++ b/src/imgui/renderer/imgui_core.cpp
@@ -6,6 +6,7 @@
#include "common/config.h"
#include "common/path_util.h"
+#include "core/debug_state.h"
#include "core/devtools/layer.h"
#include "imgui/imgui_layer.h"
#include "imgui_core.h"
@@ -167,7 +168,7 @@ bool ProcessEvent(SDL_Event* event) {
}
}
-void NewFrame() {
+ImGuiID NewFrame(bool is_reusing_frame) {
{
std::scoped_lock lock{change_layers_mutex};
while (!change_layers.empty()) {
@@ -182,24 +183,31 @@ void NewFrame() {
}
}
- Sdl::NewFrame();
+ Sdl::NewFrame(is_reusing_frame);
ImGui::NewFrame();
- DockSpaceOverViewport(0, GetMainViewport(), ImGuiDockNodeFlags_PassthruCentralNode);
+ ImGuiWindowFlags flags = ImGuiDockNodeFlags_PassthruCentralNode;
+ if (!DebugState.IsShowingDebugMenuBar()) {
+ flags |= ImGuiDockNodeFlags_NoTabBar;
+ }
+ ImGuiID dockId = DockSpaceOverViewport(0, GetMainViewport(), flags);
for (auto* layer : layers) {
layer->Draw();
}
+
+ return dockId;
}
-void Render(const vk::CommandBuffer& cmdbuf, ::Vulkan::Frame* frame) {
+void Render(const vk::CommandBuffer& cmdbuf, const vk::ImageView& image_view,
+ const vk::Extent2D& extent) {
ImGui::Render();
ImDrawData* draw_data = GetDrawData();
if (draw_data->CmdListsCount == 0) {
return;
}
- if (Config::vkMarkersEnabled()) {
+ if (Config::vkHostMarkersEnabled()) {
cmdbuf.beginDebugUtilsLabelEXT(vk::DebugUtilsLabelEXT{
.pLabelName = "ImGui Render",
});
@@ -207,16 +215,16 @@ void Render(const vk::CommandBuffer& cmdbuf, ::Vulkan::Frame* frame) {
vk::RenderingAttachmentInfo color_attachments[1]{
{
- .imageView = frame->image_view,
+ .imageView = image_view,
.imageLayout = vk::ImageLayout::eColorAttachmentOptimal,
- .loadOp = vk::AttachmentLoadOp::eLoad,
+ .loadOp = vk::AttachmentLoadOp::eClear,
.storeOp = vk::AttachmentStoreOp::eStore,
},
};
vk::RenderingInfo render_info{};
render_info.renderArea = vk::Rect2D{
.offset = {0, 0},
- .extent = {frame->width, frame->height},
+ .extent = extent,
};
render_info.layerCount = 1;
render_info.colorAttachmentCount = 1;
@@ -224,11 +232,15 @@ void Render(const vk::CommandBuffer& cmdbuf, ::Vulkan::Frame* frame) {
cmdbuf.beginRendering(render_info);
Vulkan::RenderDrawData(*draw_data, cmdbuf);
cmdbuf.endRendering();
- if (Config::vkMarkersEnabled()) {
+ if (Config::vkHostMarkersEnabled()) {
cmdbuf.endDebugUtilsLabelEXT();
}
}
+bool MustKeepDrawing() {
+ return layers.size() > 1 || DebugState.IsShowingDebugMenuBar();
+}
+
} // namespace Core
void Layer::AddLayer(Layer* layer) {
diff --git a/src/imgui/renderer/imgui_core.h b/src/imgui/renderer/imgui_core.h
index 9ad708f81..ffee62cf8 100644
--- a/src/imgui/renderer/imgui_core.h
+++ b/src/imgui/renderer/imgui_core.h
@@ -3,6 +3,8 @@
#pragma once
+#include
+
#include "video_core/renderer_vulkan/vk_instance.h"
#include "vulkan/vulkan_handles.hpp"
@@ -24,8 +26,11 @@ void Shutdown(const vk::Device& device);
bool ProcessEvent(SDL_Event* event);
-void NewFrame();
+ImGuiID NewFrame(bool is_reusing_frame = false);
-void Render(const vk::CommandBuffer& cmdbuf, Vulkan::Frame* frame);
+void Render(const vk::CommandBuffer& cmdbuf, const vk::ImageView& image_view,
+ const vk::Extent2D& extent);
+
+bool MustKeepDrawing(); // Force the emulator redraw
} // namespace ImGui::Core
diff --git a/src/imgui/renderer/imgui_impl_sdl3.cpp b/src/imgui/renderer/imgui_impl_sdl3.cpp
index 60b440c24..ccd31d03a 100644
--- a/src/imgui/renderer/imgui_impl_sdl3.cpp
+++ b/src/imgui/renderer/imgui_impl_sdl3.cpp
@@ -5,13 +5,13 @@
#include
#include "common/config.h"
+#include "core/debug_state.h"
#include "imgui_impl_sdl3.h"
// SDL
#include
#if defined(__APPLE__)
#include
-#include
#endif
#ifdef _WIN32
#ifndef WIN32_LEAN_AND_MEAN
@@ -27,6 +27,7 @@ struct SdlData {
SDL_Window* window{};
SDL_WindowID window_id{};
Uint64 time{};
+ Uint64 nonReusedtime{};
const char* clipboard_text_data{};
// IME handling
@@ -45,6 +46,11 @@ struct SdlData {
ImVector gamepads{};
GamepadMode gamepad_mode{};
bool want_update_gamepads_list{};
+
+ // Framerate counting (based on ImGui impl)
+ std::array framerateSecPerFrame;
+ int framerateSecPerFrameIdx{};
+ float framerateSecPerFrameAcc{};
};
// Backend data stored in io.BackendPlatformUserData to allow support for multiple Dear ImGui
@@ -72,33 +78,25 @@ static void PlatformSetImeData(ImGuiContext*, ImGuiViewport* viewport, ImGuiPlat
auto window_id = (SDL_WindowID)(intptr_t)viewport->PlatformHandle;
SDL_Window* window = SDL_GetWindowFromID(window_id);
if ((!data->WantVisible || bd->ime_window != window) && bd->ime_window != nullptr) {
- auto stop_input = [&bd] { SDL_StopTextInput(bd->ime_window); };
-#ifdef __APPLE__
- dispatch_sync(dispatch_get_main_queue(), ^{
- stop_input();
- });
-#else
- stop_input();
-#endif
+ SDL_RunOnMainThread(
+ [](void* userdata) { SDL_StopTextInput(static_cast(userdata)); },
+ bd->ime_window, true);
bd->ime_window = nullptr;
}
if (data->WantVisible) {
- SDL_Rect r;
- r.x = (int)data->InputPos.x;
- r.y = (int)data->InputPos.y;
- r.w = 1;
- r.h = (int)data->InputLineHeight;
- const auto start_input = [&window, &r] {
- SDL_SetTextInputArea(window, &r, 0);
- SDL_StartTextInput(window);
- };
-#ifdef __APPLE__
- dispatch_sync(dispatch_get_main_queue(), ^{
- start_input();
- });
-#else
- start_input();
-#endif
+ std::pair usr_data;
+ usr_data.first = window;
+ usr_data.second.x = (int)data->InputPos.x;
+ usr_data.second.y = (int)data->InputPos.y;
+ usr_data.second.w = 1;
+ usr_data.second.h = (int)data->InputLineHeight;
+ SDL_RunOnMainThread(
+ [](void* userdata) {
+ auto* params = static_cast*>(userdata);
+ SDL_SetTextInputArea(params->first, ¶ms->second, 0);
+ SDL_StartTextInput(params->first);
+ },
+ &usr_data, true);
bd->ime_window = window;
}
}
@@ -794,7 +792,7 @@ static void UpdateGamepads() {
+thumb_dead_zone, +32767);
}
-void NewFrame() {
+void NewFrame(bool is_reusing_frame) {
SdlData* bd = GetBackendData();
IM_ASSERT(bd != nullptr && "No platform backend to shutdown, or already shutdown?");
ImGuiIO& io = ImGui::GetIO();
@@ -807,9 +805,29 @@ void NewFrame() {
if (current_time <= bd->time)
current_time = bd->time + 1;
io.DeltaTime = bd->time > 0 ? (float)((double)(current_time - bd->time) / (double)frequency)
- : (float)(1.0f / 60.0f);
+ : 1.0f / 60.0f;
bd->time = current_time;
+ if (!is_reusing_frame) {
+ if (current_time <= bd->nonReusedtime)
+ current_time = bd->nonReusedtime + 1;
+ float deltaTime =
+ bd->nonReusedtime > 0
+ ? (float)((double)(current_time - bd->nonReusedtime) / (double)frequency)
+ : 1.0f / 60.0f;
+ bd->nonReusedtime = current_time;
+ DebugState.FrameDeltaTime = deltaTime;
+
+ int& frameIdx = bd->framerateSecPerFrameIdx;
+ float& framerateSec = bd->framerateSecPerFrame[frameIdx];
+ float& acc = bd->framerateSecPerFrameAcc;
+ int count = bd->framerateSecPerFrame.size();
+ acc += deltaTime - framerateSec;
+ framerateSec = deltaTime;
+ frameIdx = (frameIdx + 1) % count;
+ DebugState.Framerate = acc > 0.0f ? 1.0f / (acc / (float)count) : FLT_MAX;
+ }
+
if (bd->mouse_pending_leave_frame && bd->mouse_pending_leave_frame >= ImGui::GetFrameCount() &&
bd->mouse_buttons_down == 0) {
bd->mouse_window_id = 0;
diff --git a/src/imgui/renderer/imgui_impl_sdl3.h b/src/imgui/renderer/imgui_impl_sdl3.h
index 59b1a6856..fe626a962 100644
--- a/src/imgui/renderer/imgui_impl_sdl3.h
+++ b/src/imgui/renderer/imgui_impl_sdl3.h
@@ -14,7 +14,7 @@ namespace ImGui::Sdl {
bool Init(SDL_Window* window);
void Shutdown();
-void NewFrame();
+void NewFrame(bool is_reusing);
bool ProcessEvent(const SDL_Event* event);
void OnResize();
diff --git a/src/imgui/renderer/imgui_impl_vulkan.cpp b/src/imgui/renderer/imgui_impl_vulkan.cpp
index 7f7ade2a5..104ce4b52 100644
--- a/src/imgui/renderer/imgui_impl_vulkan.cpp
+++ b/src/imgui/renderer/imgui_impl_vulkan.cpp
@@ -57,11 +57,12 @@ struct VkData {
vk::DeviceMemory font_memory{};
vk::Image font_image{};
vk::ImageView font_view{};
- vk::DescriptorSet font_descriptor_set{};
+ ImTextureID font_texture{};
vk::CommandBuffer font_command_buffer{};
// Render buffers
WindowRenderBuffers render_buffers{};
+ bool enabled_blending{true};
VkData(const InitInfo init_info) : init_info(init_info) {
render_buffers.count = init_info.image_count;
@@ -252,8 +253,8 @@ void UploadTextureData::Destroy() {
const InitInfo& v = bd->init_info;
CheckVkErr(v.device.waitIdle());
- RemoveTexture(descriptor_set);
- descriptor_set = VK_NULL_HANDLE;
+ RemoveTexture(im_texture);
+ im_texture = nullptr;
v.device.destroyImageView(image_view, v.allocator);
image_view = VK_NULL_HANDLE;
@@ -264,8 +265,8 @@ void UploadTextureData::Destroy() {
}
// Register a texture
-vk::DescriptorSet AddTexture(vk::ImageView image_view, vk::ImageLayout image_layout,
- vk::Sampler sampler) {
+ImTextureID AddTexture(vk::ImageView image_view, vk::ImageLayout image_layout,
+ vk::Sampler sampler) {
VkData* bd = GetBackendData();
const InitInfo& v = bd->init_info;
@@ -303,7 +304,9 @@ vk::DescriptorSet AddTexture(vk::ImageView image_view, vk::ImageLayout image_lay
};
v.device.updateDescriptorSets({write_desc}, {});
}
- return descriptor_set;
+ return new Texture{
+ .descriptor_set = descriptor_set,
+ };
}
UploadTextureData UploadTexture(const void* data, vk::Format format, u32 width, u32 height,
size_t size) {
@@ -370,7 +373,7 @@ UploadTextureData UploadTexture(const void* data, vk::Format format, u32 width,
}
// Create descriptor set (ImTextureID)
- info.descriptor_set = AddTexture(info.image_view, vk::ImageLayout::eShaderReadOnlyOptimal);
+ info.im_texture = AddTexture(info.image_view, vk::ImageLayout::eShaderReadOnlyOptimal);
// Create Upload Buffer
{
@@ -464,10 +467,12 @@ UploadTextureData UploadTexture(const void* data, vk::Format format, u32 width,
return info;
}
-void RemoveTexture(vk::DescriptorSet descriptor_set) {
+void RemoveTexture(ImTextureID texture) {
+ IM_ASSERT(texture != nullptr);
VkData* bd = GetBackendData();
const InitInfo& v = bd->init_info;
- v.device.freeDescriptorSets(bd->descriptor_pool, {descriptor_set});
+ v.device.freeDescriptorSets(bd->descriptor_pool, {texture->descriptor_set});
+ delete texture;
}
static void CreateOrResizeBuffer(RenderBuffer& rb, size_t new_size, vk::BufferUsageFlagBits usage) {
@@ -679,13 +684,7 @@ void RenderDrawData(ImDrawData& draw_data, vk::CommandBuffer command_buffer,
command_buffer.setScissor(0, 1, &scissor);
// Bind DescriptorSet with font or user texture
- vk::DescriptorSet desc_set[1]{(VkDescriptorSet)pcmd->TextureId};
- if (sizeof(ImTextureID) < sizeof(ImU64)) {
- // We don't support texture switches if ImTextureID hasn't been redefined to be
- // 64-bit. Do a flaky check that other textures haven't been used.
- IM_ASSERT(pcmd->TextureId == (ImTextureID)bd->font_descriptor_set);
- desc_set[0] = bd->font_descriptor_set;
- }
+ vk::DescriptorSet desc_set[1]{pcmd->TextureId->descriptor_set};
command_buffer.bindDescriptorSets(vk::PipelineBindPoint::eGraphics,
bd->pipeline_layout, 0, {desc_set}, {});
@@ -709,7 +708,7 @@ static bool CreateFontsTexture() {
const InitInfo& v = bd->init_info;
// Destroy existing texture (if any)
- if (bd->font_view || bd->font_image || bd->font_memory || bd->font_descriptor_set) {
+ if (bd->font_view || bd->font_image || bd->font_memory || bd->font_texture) {
CheckVkErr(v.queue.waitIdle());
DestroyFontsTexture();
}
@@ -782,7 +781,7 @@ static bool CreateFontsTexture() {
}
// Create the Descriptor Set:
- bd->font_descriptor_set = AddTexture(bd->font_view, vk::ImageLayout::eShaderReadOnlyOptimal);
+ bd->font_texture = AddTexture(bd->font_view, vk::ImageLayout::eShaderReadOnlyOptimal);
// Create the Upload Buffer:
vk::DeviceMemory upload_buffer_memory{};
@@ -874,7 +873,7 @@ static bool CreateFontsTexture() {
}
// Store our identifier
- io.Fonts->SetTexID(bd->font_descriptor_set);
+ io.Fonts->SetTexID(bd->font_texture);
// End command buffer
vk::SubmitInfo end_info = {};
@@ -898,9 +897,9 @@ static void DestroyFontsTexture() {
VkData* bd = GetBackendData();
const InitInfo& v = bd->init_info;
- if (bd->font_descriptor_set) {
- RemoveTexture(bd->font_descriptor_set);
- bd->font_descriptor_set = VK_NULL_HANDLE;
+ if (bd->font_texture) {
+ RemoveTexture(bd->font_texture);
+ bd->font_texture = nullptr;
io.Fonts->SetTexID(nullptr);
}
diff --git a/src/imgui/renderer/imgui_impl_vulkan.h b/src/imgui/renderer/imgui_impl_vulkan.h
index e325e2a8d..9b15dcae6 100644
--- a/src/imgui/renderer/imgui_impl_vulkan.h
+++ b/src/imgui/renderer/imgui_impl_vulkan.h
@@ -10,6 +10,12 @@
struct ImDrawData;
+namespace ImGui {
+struct Texture {
+ vk::DescriptorSet descriptor_set{nullptr};
+};
+} // namespace ImGui
+
namespace ImGui::Vulkan {
struct InitInfo {
@@ -34,29 +40,32 @@ struct InitInfo {
struct UploadTextureData {
vk::Image image;
vk::ImageView image_view;
- vk::DescriptorSet descriptor_set;
vk::DeviceMemory image_memory;
vk::CommandBuffer command_buffer; // Submit to the queue
vk::Buffer upload_buffer;
vk::DeviceMemory upload_buffer_memory;
+ ImTextureID im_texture;
+
void Upload();
void Destroy();
};
-vk::DescriptorSet AddTexture(vk::ImageView image_view, vk::ImageLayout image_layout,
- vk::Sampler sampler = VK_NULL_HANDLE);
+ImTextureID AddTexture(vk::ImageView image_view, vk::ImageLayout image_layout,
+ vk::Sampler sampler = VK_NULL_HANDLE);
UploadTextureData UploadTexture(const void* data, vk::Format format, u32 width, u32 height,
size_t size);
-void RemoveTexture(vk::DescriptorSet descriptor_set);
+void RemoveTexture(ImTextureID descriptor_set);
bool Init(InitInfo info);
void Shutdown();
void RenderDrawData(ImDrawData& draw_data, vk::CommandBuffer command_buffer,
vk::Pipeline pipeline = VK_NULL_HANDLE);
+void SetBlendEnabled(bool enabled);
+
} // namespace ImGui::Vulkan
\ No newline at end of file
diff --git a/src/imgui/renderer/texture_manager.cpp b/src/imgui/renderer/texture_manager.cpp
index f13c995be..d7516a3a5 100644
--- a/src/imgui/renderer/texture_manager.cpp
+++ b/src/imgui/renderer/texture_manager.cpp
@@ -4,6 +4,7 @@
#include
#include
+#include
#include "common/assert.h"
#include "common/config.h"
#include "common/io_file.h"
@@ -123,7 +124,7 @@ static std::deque g_upload_list;
namespace Core::TextureManager {
Inner::~Inner() {
- if (upload_data.descriptor_set != nullptr) {
+ if (upload_data.im_texture != nullptr) {
std::unique_lock lk{g_upload_mtx};
g_upload_list.emplace_back(UploadJob{
.data = this->upload_data,
@@ -239,7 +240,7 @@ void Submit() {
}
if (upload.core != nullptr) {
upload.core->upload_data.Upload();
- upload.core->texture_id = upload.core->upload_data.descriptor_set;
+ upload.core->texture_id = upload.core->upload_data.im_texture;
if (upload.core->count.fetch_sub(1) == 1) {
delete upload.core;
}
diff --git a/src/qt_gui/game_list_frame.cpp b/src/qt_gui/game_list_frame.cpp
index b1cd07216..9753f511b 100644
--- a/src/qt_gui/game_list_frame.cpp
+++ b/src/qt_gui/game_list_frame.cpp
@@ -106,6 +106,8 @@ void GameListFrame::PlayBackgroundMusic(QTableWidgetItem* item) {
void GameListFrame::PopulateGameList() {
// Do not show status column if it is not enabled
this->setColumnHidden(2, !Config::getCompatibilityEnabled());
+ this->setColumnHidden(6, !Config::GetLoadGameSizeEnabled());
+
this->setRowCount(m_game_info->m_games.size());
ResizeIcons(icon_size);
diff --git a/src/qt_gui/game_list_utils.h b/src/qt_gui/game_list_utils.h
index ab9233886..581a8a55f 100644
--- a/src/qt_gui/game_list_utils.h
+++ b/src/qt_gui/game_list_utils.h
@@ -62,11 +62,46 @@ public:
QDir dir(dirPath);
QDirIterator it(dir.absolutePath(), QDirIterator::Subdirectories);
qint64 total = 0;
+
+ if (!Config::GetLoadGameSizeEnabled()) {
+ game.size = FormatSize(0).toStdString();
+ return;
+ }
+
+ // Cache path
+ QFile size_cache_file(Common::FS::GetUserPath(Common::FS::PathType::MetaDataDir) /
+ game.serial / "size_cache.txt");
+ QFileInfo cacheInfo(size_cache_file);
+ QFileInfo dirInfo(dirPath);
+
+ // Check if cache file exists and is valid
+ if (size_cache_file.exists() && cacheInfo.lastModified() >= dirInfo.lastModified()) {
+ if (size_cache_file.open(QIODevice::ReadOnly | QIODevice::Text)) {
+ QTextStream in(&size_cache_file);
+ QString cachedSize = in.readLine();
+ size_cache_file.close();
+
+ if (!cachedSize.isEmpty()) {
+ game.size = cachedSize.toStdString();
+ return;
+ }
+ }
+ }
+
+ // Cache is invalid or does not exist; calculate size
while (it.hasNext()) {
it.next();
total += it.fileInfo().size();
}
+
game.size = FormatSize(total).toStdString();
+
+ // Save new cache
+ if (size_cache_file.open(QIODevice::WriteOnly | QIODevice::Text)) {
+ QTextStream out(&size_cache_file);
+ out << QString::fromStdString(game.size) << "\n";
+ size_cache_file.close();
+ }
}
static QString GetRegion(char region) {
diff --git a/src/qt_gui/settings_dialog.cpp b/src/qt_gui/settings_dialog.cpp
index 3f4970dad..a4b584294 100644
--- a/src/qt_gui/settings_dialog.cpp
+++ b/src/qt_gui/settings_dialog.cpp
@@ -315,6 +315,7 @@ void SettingsDialog::LoadValuesFromConfig() {
toml::find_or(data, "General", "FullscreenMode", "Borderless")));
ui->separateUpdatesCheckBox->setChecked(
toml::find_or(data, "General", "separateUpdateEnabled", false));
+ ui->gameSizeCheckBox->setChecked(toml::find_or(data, "GUI", "loadGameSizeEnabled", true));
ui->showSplashCheckBox->setChecked(toml::find_or(data, "General", "showSplash", false));
ui->logTypeComboBox->setCurrentText(
QString::fromStdString(toml::find_or(data, "General", "logType", "async")));
@@ -568,6 +569,7 @@ void SettingsDialog::UpdateSettings() {
Config::setDumpShaders(ui->dumpShadersCheckBox->isChecked());
Config::setNullGpu(ui->nullGpuCheckBox->isChecked());
Config::setSeparateUpdateEnabled(ui->separateUpdatesCheckBox->isChecked());
+ Config::setLoadGameSizeEnabled(ui->gameSizeCheckBox->isChecked());
Config::setShowSplash(ui->showSplashCheckBox->isChecked());
Config::setDebugDump(ui->debugDump->isChecked());
Config::setVkValidation(ui->vkValidationCheckBox->isChecked());
diff --git a/src/qt_gui/settings_dialog.ui b/src/qt_gui/settings_dialog.ui
index 089158fd3..8d68d1c90 100644
--- a/src/qt_gui/settings_dialog.ui
+++ b/src/qt_gui/settings_dialog.ui
@@ -68,7 +68,7 @@
0
0
946
- 536
+ 586
@@ -134,7 +134,7 @@
- -
+
-
Fullscreen Mode
@@ -483,6 +483,13 @@
11
+
-
+
+
+ Show Game Size In List
+
+
+
-
@@ -557,59 +564,59 @@
+
+
+ -
+
+
+ 6
+
+
+ 0
+
+
+ 50
+
-
-
-
- 6
-
-
- 0
-
-
- 80
-
+
-
-
-
-
-
-
- Trophy
-
-
-
-
-
-
- Disable Trophy Pop-ups
-
-
-
- -
-
-
- Trophy Key
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 10
- false
-
-
-
-
-
-
-
-
+
+
+ Trophy
+
+
+ -
+
+
+ Disable Trophy Pop-ups
+
+
+
+ -
+
+
+ Trophy Key
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 10
+ false
+
+
+
+
+
+
@@ -637,8 +644,8 @@
0
0
- 926
- 536
+ 946
+ 586
@@ -853,13 +860,13 @@
- -
-
-
- Enable Motion Controls
-
-
-
+ -
+
+
+ Enable Motion Controls
+
+
+
-
@@ -935,8 +942,8 @@
0
0
- 926
- 536
+ 946
+ 586
@@ -1186,8 +1193,8 @@
0
0
- 926
- 536
+ 946
+ 586
@@ -1259,8 +1266,8 @@
0
0
- 926
- 536
+ 946
+ 586
diff --git a/src/qt_gui/translations/ar.ts b/src/qt_gui/translations/ar.ts
index 4fc9c2de1..a4dadcb1a 100644
--- a/src/qt_gui/translations/ar.ts
+++ b/src/qt_gui/translations/ar.ts
@@ -540,6 +540,10 @@
Enable Separate Update Folder
Enable Separate Update Folder
+
+ Show Game Size In List
+ عرض حجم اللعبة في القائمة
+
Show Splash
إظهار شاشة البداية
diff --git a/src/qt_gui/translations/da_DK.ts b/src/qt_gui/translations/da_DK.ts
index ef1ae27a3..70b7d3ecc 100644
--- a/src/qt_gui/translations/da_DK.ts
+++ b/src/qt_gui/translations/da_DK.ts
@@ -540,6 +540,10 @@
Enable Separate Update Folder
Enable Separate Update Folder
+
+ Show Game Size In List
+ Vis vis spilstørrelse i listen
+
Show Splash
Show Splash
diff --git a/src/qt_gui/translations/de.ts b/src/qt_gui/translations/de.ts
index 2fc6a29fe..7f1de3afd 100644
--- a/src/qt_gui/translations/de.ts
+++ b/src/qt_gui/translations/de.ts
@@ -540,6 +540,10 @@
Enable Separate Update Folder
Enable Separate Update Folder
+
+ Show Game Size In List
+ Zeigen Sie die Spielgröße in der Liste
+
Show Splash
Startbildschirm anzeigen
diff --git a/src/qt_gui/translations/el.ts b/src/qt_gui/translations/el.ts
index 8d3885808..84165536e 100644
--- a/src/qt_gui/translations/el.ts
+++ b/src/qt_gui/translations/el.ts
@@ -540,6 +540,10 @@
Enable Separate Update Folder
Enable Separate Update Folder
+
+ Show Game Size In List
+ Εμφάνιση Μεγέθους Παιχνιδιού στη Λίστα
+
Show Splash
Show Splash
diff --git a/src/qt_gui/translations/en.ts b/src/qt_gui/translations/en.ts
index 0262ee149..fad185d41 100644
--- a/src/qt_gui/translations/en.ts
+++ b/src/qt_gui/translations/en.ts
@@ -540,6 +540,10 @@
Enable Separate Update Folder
Enable Separate Update Folder
+
+ Show Game Size In List
+ Show Game Size In List
+
Show Splash
Show Splash
diff --git a/src/qt_gui/translations/es_ES.ts b/src/qt_gui/translations/es_ES.ts
index a25ff639e..a97d3d3c8 100644
--- a/src/qt_gui/translations/es_ES.ts
+++ b/src/qt_gui/translations/es_ES.ts
@@ -540,6 +540,10 @@
Enable Separate Update Folder
Enable Separate Update Folder
+
+ Show Game Size In List
+ Mostrar Tamaño del Juego en la Lista
+
Show Splash
Mostrar splash
diff --git a/src/qt_gui/translations/fa_IR.ts b/src/qt_gui/translations/fa_IR.ts
index 52aa4b17c..697e615fb 100644
--- a/src/qt_gui/translations/fa_IR.ts
+++ b/src/qt_gui/translations/fa_IR.ts
@@ -540,6 +540,10 @@
Enable Separate Update Folder
فعالسازی پوشه جداگانه برای بهروزرسانی
+
+ Show Game Size In List
+ نمایش اندازه بازی در لیست
+
Show Splash
Splash نمایش
diff --git a/src/qt_gui/translations/fi.ts b/src/qt_gui/translations/fi.ts
index 97fee5dfa..51e85dfbb 100644
--- a/src/qt_gui/translations/fi.ts
+++ b/src/qt_gui/translations/fi.ts
@@ -540,6 +540,10 @@
Enable Separate Update Folder
Ota Käyttöön Erillinen Päivityshakemisto
+
+ Show Game Size In List
+ Näytä pelin koko luettelossa
+
Show Splash
Näytä Aloitusnäyttö
diff --git a/src/qt_gui/translations/fr.ts b/src/qt_gui/translations/fr.ts
index d25ad30f4..35f3eb55f 100644
--- a/src/qt_gui/translations/fr.ts
+++ b/src/qt_gui/translations/fr.ts
@@ -540,6 +540,10 @@
Enable Separate Update Folder
Dossier séparé pour les mises à jours
+
+ Show Game Size In List
+ Afficher la taille du jeu dans la liste
+
Show Splash
Afficher l'image du jeu
diff --git a/src/qt_gui/translations/hu_HU.ts b/src/qt_gui/translations/hu_HU.ts
index 6ecc3fc90..a2bd9c1da 100644
--- a/src/qt_gui/translations/hu_HU.ts
+++ b/src/qt_gui/translations/hu_HU.ts
@@ -540,6 +540,10 @@
Enable Separate Update Folder
Külön Frissítési Mappa Engedélyezése
+
+ Show Game Size In List
+ Játékméret megjelenítése a listában
+
Show Splash
Indítóképernyő Mutatása
diff --git a/src/qt_gui/translations/id.ts b/src/qt_gui/translations/id.ts
index fc5ad4a99..b97914ca2 100644
--- a/src/qt_gui/translations/id.ts
+++ b/src/qt_gui/translations/id.ts
@@ -540,6 +540,10 @@
Enable Separate Update Folder
Enable Separate Update Folder
+
+ Show Game Size In List
+ Tampilkan Ukuran Game di Daftar
+
Show Splash
Show Splash
diff --git a/src/qt_gui/translations/it.ts b/src/qt_gui/translations/it.ts
index f7ba3661b..d4ea1c7e6 100644
--- a/src/qt_gui/translations/it.ts
+++ b/src/qt_gui/translations/it.ts
@@ -540,6 +540,10 @@
Enable Separate Update Folder
Abilita Cartella Aggiornamenti Separata
+
+ Show Game Size In List
+ Mostra la dimensione del gioco nell'elenco
+
Show Splash
Mostra Schermata Iniziale
diff --git a/src/qt_gui/translations/ja_JP.ts b/src/qt_gui/translations/ja_JP.ts
index 21c8145ed..359955765 100644
--- a/src/qt_gui/translations/ja_JP.ts
+++ b/src/qt_gui/translations/ja_JP.ts
@@ -540,6 +540,10 @@
Enable Separate Update Folder
Enable Separate Update Folder
+
+ Show Game Size In List
+ ゲームサイズをリストに表示
+
Show Splash
スプラッシュを表示する
diff --git a/src/qt_gui/translations/ko_KR.ts b/src/qt_gui/translations/ko_KR.ts
index fea8d55bc..9cca0b656 100644
--- a/src/qt_gui/translations/ko_KR.ts
+++ b/src/qt_gui/translations/ko_KR.ts
@@ -540,6 +540,10 @@
Enable Separate Update Folder
Enable Separate Update Folder
+
+ Show Game Size In List
+ 게임 크기를 목록에 표시
+
Show Splash
Show Splash
diff --git a/src/qt_gui/translations/lt_LT.ts b/src/qt_gui/translations/lt_LT.ts
index eaf51a975..0594bcbd2 100644
--- a/src/qt_gui/translations/lt_LT.ts
+++ b/src/qt_gui/translations/lt_LT.ts
@@ -540,6 +540,10 @@
Enable Separate Update Folder
Enable Separate Update Folder
+
+ Show Game Size In List
+ Rodyti žaidimo dydį sąraše
+
Show Splash
Show Splash
diff --git a/src/qt_gui/translations/nb.ts b/src/qt_gui/translations/nb.ts
index 83dbf7dd8..8ca8246ba 100644
--- a/src/qt_gui/translations/nb.ts
+++ b/src/qt_gui/translations/nb.ts
@@ -540,6 +540,10 @@
Enable Separate Update Folder
Aktiver seperat oppdateringsmappe
+
+ Show Game Size In List
+ Vis spillstørrelse i listen
+
Show Splash
Vis velkomstbilde
diff --git a/src/qt_gui/translations/nl.ts b/src/qt_gui/translations/nl.ts
index 3142a17e5..12d644458 100644
--- a/src/qt_gui/translations/nl.ts
+++ b/src/qt_gui/translations/nl.ts
@@ -540,6 +540,10 @@
Enable Separate Update Folder
Enable Separate Update Folder
+
+ Show Game Size In List
+ Toon grootte van het spel in de lijst
+
Show Splash
Show Splash
diff --git a/src/qt_gui/translations/pl_PL.ts b/src/qt_gui/translations/pl_PL.ts
index 378673a30..782db12e2 100644
--- a/src/qt_gui/translations/pl_PL.ts
+++ b/src/qt_gui/translations/pl_PL.ts
@@ -540,6 +540,10 @@
Enable Separate Update Folder
Enable Separate Update Folder
+
+ Show Game Size In List
+ Pokaż rozmiar gry na liście
+
Show Splash
Pokaż ekran powitania
diff --git a/src/qt_gui/translations/pt_BR.ts b/src/qt_gui/translations/pt_BR.ts
index 5d9c84769..94bbf028a 100644
--- a/src/qt_gui/translations/pt_BR.ts
+++ b/src/qt_gui/translations/pt_BR.ts
@@ -540,6 +540,10 @@
Enable Separate Update Folder
Habilitar pasta de atualização separada
+
+ Show Game Size In List
+ Mostrar Tamanho do Jogo na Lista
+
Show Splash
Mostrar Splash Inicial
diff --git a/src/qt_gui/translations/ro_RO.ts b/src/qt_gui/translations/ro_RO.ts
index 71354fb06..3bd8e38b5 100644
--- a/src/qt_gui/translations/ro_RO.ts
+++ b/src/qt_gui/translations/ro_RO.ts
@@ -540,6 +540,10 @@
Enable Separate Update Folder
Enable Separate Update Folder
+
+ Show Game Size In List
+ Afișează dimensiunea jocului în listă
+
Show Splash
Show Splash
diff --git a/src/qt_gui/translations/ru_RU.ts b/src/qt_gui/translations/ru_RU.ts
index 0e803ea42..a38e2fd98 100644
--- a/src/qt_gui/translations/ru_RU.ts
+++ b/src/qt_gui/translations/ru_RU.ts
@@ -540,6 +540,10 @@
Enable Separate Update Folder
Отдельная папка обновлений
+
+ Show Game Size In List
+ Показать размер игры в списке
+
Show Splash
Показывать заставку
diff --git a/src/qt_gui/translations/sq.ts b/src/qt_gui/translations/sq.ts
index 7354b4bd9..a83dc9829 100644
--- a/src/qt_gui/translations/sq.ts
+++ b/src/qt_gui/translations/sq.ts
@@ -540,6 +540,10 @@
Enable Separate Update Folder
Aktivizo dosjen e ndarë të përditësimit
+
+ Show Game Size In List
+ Shfaq madhësinë e lojës në listë
+
Show Splash
Shfaq Pamjen e nisjes
diff --git a/src/qt_gui/translations/sv.ts b/src/qt_gui/translations/sv.ts
index 3a6f060cb..9a244a9df 100644
--- a/src/qt_gui/translations/sv.ts
+++ b/src/qt_gui/translations/sv.ts
@@ -1032,6 +1032,10 @@
Enable Separate Update Folder
Aktivera separat uppdateringsmapp
+
+ Show Game Size In List
+ Visa spelstorlek i listan
+
Show Splash
Visa startskärm
diff --git a/src/qt_gui/translations/tr_TR.ts b/src/qt_gui/translations/tr_TR.ts
index 4596000f2..be50f935a 100644
--- a/src/qt_gui/translations/tr_TR.ts
+++ b/src/qt_gui/translations/tr_TR.ts
@@ -540,6 +540,10 @@
Enable Separate Update Folder
Enable Separate Update Folder
+
+ Show Game Size In List
+ Göster oyun boyutunu listede
+
Show Splash
Başlangıç Ekranını Göster
diff --git a/src/qt_gui/translations/uk_UA.ts b/src/qt_gui/translations/uk_UA.ts
index 5b260050e..ff4e48e80 100644
--- a/src/qt_gui/translations/uk_UA.ts
+++ b/src/qt_gui/translations/uk_UA.ts
@@ -540,6 +540,10 @@
Enable Separate Update Folder
Увімкнути окрему папку оновлень
+
+ Show Game Size In List
+ Показати розмір гри в списку
+
Show Splash
Показувати заставку
diff --git a/src/qt_gui/translations/vi_VN.ts b/src/qt_gui/translations/vi_VN.ts
index 7fcac6d7e..e546d955c 100644
--- a/src/qt_gui/translations/vi_VN.ts
+++ b/src/qt_gui/translations/vi_VN.ts
@@ -540,6 +540,10 @@
Enable Separate Update Folder
Enable Separate Update Folder
+
+ Show Game Size In List
+ Hiển thị Kích thước Game trong Danh sách
+
Show Splash
Show Splash
diff --git a/src/qt_gui/translations/zh_CN.ts b/src/qt_gui/translations/zh_CN.ts
index e71180729..ece5f9490 100644
--- a/src/qt_gui/translations/zh_CN.ts
+++ b/src/qt_gui/translations/zh_CN.ts
@@ -540,6 +540,10 @@
Enable Separate Update Folder
启用单独的更新目录
+
+ Show Game Size In List
+ 显示游戏大小在列表中
+
Show Splash
显示启动画面
@@ -558,11 +562,11 @@
Trophy Key
- Trophy Key
+ 奖杯密钥
Trophy
- Trophy
+ 奖杯
Logger
@@ -782,7 +786,7 @@
TrophyKey
- Trophy Key:\nKey used to decrypt trophies. Must be obtained from your jailbroken console.\nMust contain only hex characters.
+ 奖杯密钥:\n用于解密奖杯的密钥。必须从您的越狱主机中获得。\n仅包含十六进制字符。
logTypeGroupBox
@@ -1337,4 +1341,4 @@
TB
-
\ No newline at end of file
+
diff --git a/src/qt_gui/translations/zh_TW.ts b/src/qt_gui/translations/zh_TW.ts
index 49d419d8b..11642d52b 100644
--- a/src/qt_gui/translations/zh_TW.ts
+++ b/src/qt_gui/translations/zh_TW.ts
@@ -540,6 +540,10 @@
Enable Separate Update Folder
Enable Separate Update Folder
+
+ Show Game Size In List
+ 顯示遊戲大小在列表中
+
Show Splash
Show Splash
diff --git a/src/sdl_window.cpp b/src/sdl_window.cpp
index e7746f5cb..dc5ca78ca 100644
--- a/src/sdl_window.cpp
+++ b/src/sdl_window.cpp
@@ -184,7 +184,9 @@ void WindowSDL::InitTimers() {
void WindowSDL::RequestKeyboard() {
if (keyboard_grab == 0) {
- SDL_StartTextInput(window);
+ SDL_RunOnMainThread(
+ [](void* userdata) { SDL_StartTextInput(static_cast(userdata)); }, window,
+ true);
}
keyboard_grab++;
}
@@ -193,7 +195,9 @@ void WindowSDL::ReleaseKeyboard() {
ASSERT(keyboard_grab > 0);
keyboard_grab--;
if (keyboard_grab == 0) {
- SDL_StopTextInput(window);
+ SDL_RunOnMainThread(
+ [](void* userdata) { SDL_StopTextInput(static_cast(userdata)); }, window,
+ true);
}
}
diff --git a/src/shader_recompiler/backend/spirv/emit_spirv_image.cpp b/src/shader_recompiler/backend/spirv/emit_spirv_image.cpp
index b5ae507a0..e2a969b61 100644
--- a/src/shader_recompiler/backend/spirv/emit_spirv_image.cpp
+++ b/src/shader_recompiler/backend/spirv/emit_spirv_image.cpp
@@ -255,14 +255,6 @@ void EmitImageWrite(EmitContext& ctx, IR::Inst* inst, u32 handle, Id coords, Id
ctx.OpImageWrite(image, coords, texel, operands.mask, operands.operands);
}
-Id EmitCubeFaceCoord(EmitContext& ctx, IR::Inst* inst, Id cube_coords) {
- if (ctx.profile.supports_native_cube_calc) {
- return ctx.OpCubeFaceCoordAMD(ctx.F32[2], cube_coords);
- } else {
- UNREACHABLE_MSG("SPIR-V Instruction");
- }
-}
-
Id EmitCubeFaceIndex(EmitContext& ctx, IR::Inst* inst, Id cube_coords) {
if (ctx.profile.supports_native_cube_calc) {
return ctx.OpCubeFaceIndexAMD(ctx.F32[1], cube_coords);
diff --git a/src/shader_recompiler/backend/spirv/emit_spirv_instructions.h b/src/shader_recompiler/backend/spirv/emit_spirv_instructions.h
index 37b6f7786..f0bb9fd7e 100644
--- a/src/shader_recompiler/backend/spirv/emit_spirv_instructions.h
+++ b/src/shader_recompiler/backend/spirv/emit_spirv_instructions.h
@@ -439,7 +439,6 @@ Id EmitImageAtomicAnd32(EmitContext& ctx, IR::Inst* inst, u32 handle, Id coords,
Id EmitImageAtomicOr32(EmitContext& ctx, IR::Inst* inst, u32 handle, Id coords, Id value);
Id EmitImageAtomicXor32(EmitContext& ctx, IR::Inst* inst, u32 handle, Id coords, Id value);
Id EmitImageAtomicExchange32(EmitContext& ctx, IR::Inst* inst, u32 handle, Id coords, Id value);
-Id EmitCubeFaceCoord(EmitContext& ctx, IR::Inst* inst, Id cube_coords);
Id EmitCubeFaceIndex(EmitContext& ctx, IR::Inst* inst, Id cube_coords);
Id EmitLaneId(EmitContext& ctx);
Id EmitWarpId(EmitContext& ctx);
diff --git a/src/shader_recompiler/backend/spirv/spirv_emit_context.cpp b/src/shader_recompiler/backend/spirv/spirv_emit_context.cpp
index 7e86dfb4b..7d492a384 100644
--- a/src/shader_recompiler/backend/spirv/spirv_emit_context.cpp
+++ b/src/shader_recompiler/backend/spirv/spirv_emit_context.cpp
@@ -395,7 +395,7 @@ void EmitContext::DefineInputs() {
DefineVariable(U32[1], spv::BuiltIn::PatchVertices, spv::StorageClass::Input);
primitive_id = DefineVariable(U32[1], spv::BuiltIn::PrimitiveId, spv::StorageClass::Input);
- const u32 num_attrs = runtime_info.hs_info.ls_stride >> 4;
+ const u32 num_attrs = Common::AlignUp(runtime_info.hs_info.ls_stride, 16) >> 4;
if (num_attrs > 0) {
const Id per_vertex_type{TypeArray(F32[4], ConstU32(num_attrs))};
// The input vertex count isn't statically known, so make length 32 (what glslang does)
@@ -409,7 +409,7 @@ void EmitContext::DefineInputs() {
tess_coord = DefineInput(F32[3], std::nullopt, spv::BuiltIn::TessCoord);
primitive_id = DefineVariable(U32[1], spv::BuiltIn::PrimitiveId, spv::StorageClass::Input);
- const u32 num_attrs = runtime_info.vs_info.hs_output_cp_stride >> 4;
+ const u32 num_attrs = Common::AlignUp(runtime_info.vs_info.hs_output_cp_stride, 16) >> 4;
if (num_attrs > 0) {
const Id per_vertex_type{TypeArray(F32[4], ConstU32(num_attrs))};
// The input vertex count isn't statically known, so make length 32 (what glslang does)
@@ -418,7 +418,7 @@ void EmitContext::DefineInputs() {
Name(input_attr_array, "in_attrs");
}
- u32 patch_base_location = runtime_info.vs_info.hs_output_cp_stride >> 4;
+ const u32 patch_base_location = num_attrs;
for (size_t index = 0; index < 30; ++index) {
if (!(info.uses_patches & (1U << index))) {
continue;
@@ -453,7 +453,7 @@ void EmitContext::DefineOutputs() {
DefineVariable(type, spv::BuiltIn::CullDistance, spv::StorageClass::Output);
}
if (stage == Shader::Stage::Local && runtime_info.ls_info.links_with_tcs) {
- const u32 num_attrs = runtime_info.ls_info.ls_stride >> 4;
+ const u32 num_attrs = Common::AlignUp(runtime_info.ls_info.ls_stride, 16) >> 4;
if (num_attrs > 0) {
const Id type{TypeArray(F32[4], ConstU32(num_attrs))};
output_attr_array = DefineOutput(type, 0);
@@ -488,7 +488,7 @@ void EmitContext::DefineOutputs() {
Decorate(output_tess_level_inner, spv::Decoration::Patch);
}
- const u32 num_attrs = runtime_info.hs_info.hs_output_cp_stride >> 4;
+ const u32 num_attrs = Common::AlignUp(runtime_info.hs_info.hs_output_cp_stride, 16) >> 4;
if (num_attrs > 0) {
const Id per_vertex_type{TypeArray(F32[4], ConstU32(num_attrs))};
// The input vertex count isn't statically known, so make length 32 (what glslang does)
@@ -498,7 +498,7 @@ void EmitContext::DefineOutputs() {
Name(output_attr_array, "out_attrs");
}
- u32 patch_base_location = runtime_info.hs_info.hs_output_cp_stride >> 4;
+ const u32 patch_base_location = num_attrs;
for (size_t index = 0; index < 30; ++index) {
if (!(info.uses_patches & (1U << index))) {
continue;
diff --git a/src/shader_recompiler/frontend/translate/vector_alu.cpp b/src/shader_recompiler/frontend/translate/vector_alu.cpp
index 375c5f078..b2863f6a8 100644
--- a/src/shader_recompiler/frontend/translate/vector_alu.cpp
+++ b/src/shader_recompiler/frontend/translate/vector_alu.cpp
@@ -844,7 +844,7 @@ void Translator::V_FREXP_MANT_F64(const GcnInst& inst) {
}
void Translator::V_FRACT_F64(const GcnInst& inst) {
- const IR::F32 src0{GetSrc64(inst.src[0])};
+ const IR::F64 src0{GetSrc64(inst.src[0])};
SetDst64(inst.dst[0], ir.FPFract(src0));
}
@@ -1069,9 +1069,9 @@ void Translator::V_CUBEID_F32(const GcnInst& inst) {
const auto x_neg_cond{ir.FPLessThan(x, ir.Imm32(0.f))};
const auto y_neg_cond{ir.FPLessThan(y, ir.Imm32(0.f))};
const auto z_neg_cond{ir.FPLessThan(z, ir.Imm32(0.f))};
- const IR::F32 x_face{ir.Select(x_neg_cond, ir.Imm32(5.f), ir.Imm32(4.f))};
+ const IR::F32 x_face{ir.Select(x_neg_cond, ir.Imm32(1.f), ir.Imm32(0.f))};
const IR::F32 y_face{ir.Select(y_neg_cond, ir.Imm32(3.f), ir.Imm32(2.f))};
- const IR::F32 z_face{ir.Select(z_neg_cond, ir.Imm32(1.f), ir.Imm32(0.f))};
+ const IR::F32 z_face{ir.Select(z_neg_cond, ir.Imm32(5.f), ir.Imm32(4.f))};
result = SelectCubeResult(x, y, z, x_face, y_face, z_face);
}
@@ -1083,18 +1083,13 @@ void Translator::V_CUBESC_F32(const GcnInst& inst) {
const auto y = GetSrc(inst.src[1]);
const auto z = GetSrc(inst.src[2]);
- IR::F32 result;
- if (profile.supports_native_cube_calc) {
- const auto coords{ir.CubeFaceCoord(ir.CompositeConstruct(x, y, z))};
- result = IR::F32{ir.CompositeExtract(coords, 0)};
- } else {
- const auto x_neg_cond{ir.FPLessThan(x, ir.Imm32(0.f))};
- const auto z_neg_cond{ir.FPLessThan(z, ir.Imm32(0.f))};
- const IR::F32 x_sc{ir.Select(x_neg_cond, ir.FPNeg(x), x)};
- const IR::F32 z_sc{ir.Select(z_neg_cond, z, ir.FPNeg(z))};
+ const auto x_neg_cond{ir.FPLessThan(x, ir.Imm32(0.f))};
+ const auto z_neg_cond{ir.FPLessThan(z, ir.Imm32(0.f))};
+ const IR::F32 x_sc{ir.Select(x_neg_cond, z, ir.FPNeg(z))};
+ const IR::F32 y_sc{x};
+ const IR::F32 z_sc{ir.Select(z_neg_cond, ir.FPNeg(x), x)};
- result = SelectCubeResult(x, y, z, x_sc, x, z_sc);
- }
+ const auto result{SelectCubeResult(x, y, z, x_sc, y_sc, z_sc)};
SetDst(inst.dst[0], result);
}
@@ -1103,17 +1098,11 @@ void Translator::V_CUBETC_F32(const GcnInst& inst) {
const auto y = GetSrc(inst.src[1]);
const auto z = GetSrc(inst.src[2]);
- IR::F32 result;
- if (profile.supports_native_cube_calc) {
- const auto coords{ir.CubeFaceCoord(ir.CompositeConstruct(x, y, z))};
- result = IR::F32{ir.CompositeExtract(coords, 1)};
- } else {
- const auto y_neg_cond{ir.FPLessThan(y, ir.Imm32(0.f))};
- const IR::F32 x_z_sc{ir.FPNeg(y)};
- const IR::F32 y_sc{ir.Select(y_neg_cond, ir.FPNeg(z), z)};
+ const auto y_neg_cond{ir.FPLessThan(y, ir.Imm32(0.f))};
+ const IR::F32 x_z_tc{ir.FPNeg(y)};
+ const IR::F32 y_tc{ir.Select(y_neg_cond, ir.FPNeg(z), z)};
- result = SelectCubeResult(x, y, z, x_z_sc, y_sc, x_z_sc);
- }
+ const auto result{SelectCubeResult(x, y, z, x_z_tc, y_tc, x_z_tc)};
SetDst(inst.dst[0], result);
}
@@ -1122,7 +1111,7 @@ void Translator::V_CUBEMA_F32(const GcnInst& inst) {
const auto y = GetSrc(inst.src[1]);
const auto z = GetSrc(inst.src[2]);
- const auto two{ir.Imm32(4.f)};
+ const auto two{ir.Imm32(2.f)};
const IR::F32 x_major_axis{ir.FPMul(x, two)};
const IR::F32 y_major_axis{ir.FPMul(y, two)};
const IR::F32 z_major_axis{ir.FPMul(z, two)};
diff --git a/src/shader_recompiler/frontend/translate/vector_memory.cpp b/src/shader_recompiler/frontend/translate/vector_memory.cpp
index a5b54dff7..8fa0f3f87 100644
--- a/src/shader_recompiler/frontend/translate/vector_memory.cpp
+++ b/src/shader_recompiler/frontend/translate/vector_memory.cpp
@@ -164,8 +164,8 @@ void Translator::EmitVectorMemory(const GcnInst& inst) {
}
void Translator::BUFFER_LOAD(u32 num_dwords, bool is_typed, const GcnInst& inst) {
- const auto& mtbuf = inst.control.mtbuf;
- const bool is_ring = mtbuf.glc && mtbuf.slc;
+ const auto& mubuf = inst.control.mubuf;
+ const bool is_ring = mubuf.glc && mubuf.slc;
const IR::VectorReg vaddr{inst.src[0].code};
const IR::ScalarReg sharp{inst.src[2].code * 4};
const IR::Value soffset{GetSrc(inst.src[3])};
@@ -178,22 +178,23 @@ void Translator::BUFFER_LOAD(u32 num_dwords, bool is_typed, const GcnInst& inst)
if (is_ring) {
return ir.CompositeConstruct(ir.GetVectorReg(vaddr), soffset);
}
- if (mtbuf.idxen && mtbuf.offen) {
+ if (mubuf.idxen && mubuf.offen) {
return ir.CompositeConstruct(ir.GetVectorReg(vaddr), ir.GetVectorReg(vaddr + 1));
}
- if (mtbuf.idxen || mtbuf.offen) {
+ if (mubuf.idxen || mubuf.offen) {
return ir.GetVectorReg(vaddr);
}
return {};
}();
IR::BufferInstInfo buffer_info{};
- buffer_info.index_enable.Assign(mtbuf.idxen);
- buffer_info.offset_enable.Assign(mtbuf.offen);
- buffer_info.inst_offset.Assign(mtbuf.offset);
- buffer_info.globally_coherent.Assign(mtbuf.glc);
- buffer_info.system_coherent.Assign(mtbuf.slc);
+ buffer_info.index_enable.Assign(mubuf.idxen);
+ buffer_info.offset_enable.Assign(mubuf.offen);
+ buffer_info.inst_offset.Assign(mubuf.offset);
+ buffer_info.globally_coherent.Assign(mubuf.glc);
+ buffer_info.system_coherent.Assign(mubuf.slc);
if (is_typed) {
+ const auto& mtbuf = inst.control.mtbuf;
const auto dmft = static_cast(mtbuf.dfmt);
const auto nfmt = static_cast(mtbuf.nfmt);
ASSERT(nfmt == AmdGpu::NumberFormat::Float &&
@@ -220,9 +221,11 @@ void Translator::BUFFER_LOAD_FORMAT(u32 num_dwords, const GcnInst& inst) {
const auto& mubuf = inst.control.mubuf;
const IR::VectorReg vaddr{inst.src[0].code};
const IR::ScalarReg sharp{inst.src[2].code * 4};
- ASSERT_MSG(!mubuf.offen && mubuf.offset == 0, "Offsets for image buffers are not supported");
const IR::Value address = [&] -> IR::Value {
- if (mubuf.idxen) {
+ if (mubuf.idxen && mubuf.offen) {
+ return ir.CompositeConstruct(ir.GetVectorReg(vaddr), ir.GetVectorReg(vaddr + 1));
+ }
+ if (mubuf.idxen || mubuf.offen) {
return ir.GetVectorReg(vaddr);
}
return {};
@@ -230,13 +233,17 @@ void Translator::BUFFER_LOAD_FORMAT(u32 num_dwords, const GcnInst& inst) {
const IR::Value soffset{GetSrc(inst.src[3])};
ASSERT_MSG(soffset.IsImmediate() && soffset.U32() == 0, "Non immediate offset not supported");
- IR::BufferInstInfo info{};
- info.index_enable.Assign(mubuf.idxen);
+ IR::BufferInstInfo buffer_info{};
+ buffer_info.index_enable.Assign(mubuf.idxen);
+ buffer_info.offset_enable.Assign(mubuf.offen);
+ buffer_info.inst_offset.Assign(mubuf.offset);
+ buffer_info.globally_coherent.Assign(mubuf.glc);
+ buffer_info.system_coherent.Assign(mubuf.slc);
const IR::Value handle =
ir.CompositeConstruct(ir.GetScalarReg(sharp), ir.GetScalarReg(sharp + 1),
ir.GetScalarReg(sharp + 2), ir.GetScalarReg(sharp + 3));
- const IR::Value value = ir.LoadBufferFormat(handle, address, info);
+ const IR::Value value = ir.LoadBufferFormat(handle, address, buffer_info);
const IR::VectorReg dst_reg{inst.src[1].code};
for (u32 i = 0; i < num_dwords; i++) {
ir.SetVectorReg(dst_reg + i, IR::F32{ir.CompositeExtract(value, i)});
@@ -244,8 +251,8 @@ void Translator::BUFFER_LOAD_FORMAT(u32 num_dwords, const GcnInst& inst) {
}
void Translator::BUFFER_STORE(u32 num_dwords, bool is_typed, const GcnInst& inst) {
- const auto& mtbuf = inst.control.mtbuf;
- const bool is_ring = mtbuf.glc && mtbuf.slc;
+ const auto& mubuf = inst.control.mubuf;
+ const bool is_ring = mubuf.glc && mubuf.slc;
const IR::VectorReg vaddr{inst.src[0].code};
const IR::ScalarReg sharp{inst.src[2].code * 4};
const IR::Value soffset{GetSrc(inst.src[3])};
@@ -259,22 +266,23 @@ void Translator::BUFFER_STORE(u32 num_dwords, bool is_typed, const GcnInst& inst
if (is_ring) {
return ir.CompositeConstruct(ir.GetVectorReg(vaddr), soffset);
}
- if (mtbuf.idxen && mtbuf.offen) {
+ if (mubuf.idxen && mubuf.offen) {
return ir.CompositeConstruct(ir.GetVectorReg(vaddr), ir.GetVectorReg(vaddr + 1));
}
- if (mtbuf.idxen || mtbuf.offen) {
+ if (mubuf.idxen || mubuf.offen) {
return ir.GetVectorReg(vaddr);
}
return {};
}();
IR::BufferInstInfo buffer_info{};
- buffer_info.index_enable.Assign(mtbuf.idxen);
- buffer_info.offset_enable.Assign(mtbuf.offen);
- buffer_info.inst_offset.Assign(mtbuf.offset);
- buffer_info.globally_coherent.Assign(mtbuf.glc);
- buffer_info.system_coherent.Assign(mtbuf.slc);
+ buffer_info.index_enable.Assign(mubuf.idxen);
+ buffer_info.offset_enable.Assign(mubuf.offen);
+ buffer_info.inst_offset.Assign(mubuf.offset);
+ buffer_info.globally_coherent.Assign(mubuf.glc);
+ buffer_info.system_coherent.Assign(mubuf.slc);
if (is_typed) {
+ const auto& mtbuf = inst.control.mtbuf;
const auto dmft = static_cast(mtbuf.dfmt);
const auto nfmt = static_cast(mtbuf.nfmt);
ASSERT(nfmt == AmdGpu::NumberFormat::Float &&
@@ -321,8 +329,12 @@ void Translator::BUFFER_STORE_FORMAT(u32 num_dwords, const GcnInst& inst) {
const IR::Value soffset{GetSrc(inst.src[3])};
ASSERT_MSG(soffset.IsImmediate() && soffset.U32() == 0, "Non immediate offset not supported");
- IR::BufferInstInfo info{};
- info.index_enable.Assign(mubuf.idxen);
+ IR::BufferInstInfo buffer_info{};
+ buffer_info.index_enable.Assign(mubuf.idxen);
+ buffer_info.offset_enable.Assign(mubuf.offen);
+ buffer_info.inst_offset.Assign(mubuf.offset);
+ buffer_info.globally_coherent.Assign(mubuf.glc);
+ buffer_info.system_coherent.Assign(mubuf.slc);
const IR::VectorReg src_reg{inst.src[1].code};
@@ -338,7 +350,7 @@ void Translator::BUFFER_STORE_FORMAT(u32 num_dwords, const GcnInst& inst) {
const IR::Value handle =
ir.CompositeConstruct(ir.GetScalarReg(sharp), ir.GetScalarReg(sharp + 1),
ir.GetScalarReg(sharp + 2), ir.GetScalarReg(sharp + 3));
- ir.StoreBufferFormat(handle, address, value, info);
+ ir.StoreBufferFormat(handle, address, value, buffer_info);
}
void Translator::BUFFER_ATOMIC(AtomicOp op, const GcnInst& inst) {
@@ -358,10 +370,12 @@ void Translator::BUFFER_ATOMIC(AtomicOp op, const GcnInst& inst) {
const IR::U32 soffset{GetSrc(inst.src[3])};
ASSERT_MSG(soffset.IsImmediate() && soffset.U32() == 0, "Non immediate offset not supported");
- IR::BufferInstInfo info{};
- info.index_enable.Assign(mubuf.idxen);
- info.inst_offset.Assign(mubuf.offset);
- info.offset_enable.Assign(mubuf.offen);
+ IR::BufferInstInfo buffer_info{};
+ buffer_info.index_enable.Assign(mubuf.idxen);
+ buffer_info.offset_enable.Assign(mubuf.offen);
+ buffer_info.inst_offset.Assign(mubuf.offset);
+ buffer_info.globally_coherent.Assign(mubuf.glc);
+ buffer_info.system_coherent.Assign(mubuf.slc);
IR::Value vdata_val = ir.GetVectorReg(vdata);
const IR::Value handle =
@@ -371,27 +385,27 @@ void Translator::BUFFER_ATOMIC(AtomicOp op, const GcnInst& inst) {
const IR::Value original_val = [&] {
switch (op) {
case AtomicOp::Swap:
- return ir.BufferAtomicSwap(handle, address, vdata_val, info);
+ return ir.BufferAtomicSwap(handle, address, vdata_val, buffer_info);
case AtomicOp::Add:
- return ir.BufferAtomicIAdd(handle, address, vdata_val, info);
+ return ir.BufferAtomicIAdd(handle, address, vdata_val, buffer_info);
case AtomicOp::Smin:
- return ir.BufferAtomicIMin(handle, address, vdata_val, true, info);
+ return ir.BufferAtomicIMin(handle, address, vdata_val, true, buffer_info);
case AtomicOp::Umin:
- return ir.BufferAtomicIMin(handle, address, vdata_val, false, info);
+ return ir.BufferAtomicIMin(handle, address, vdata_val, false, buffer_info);
case AtomicOp::Smax:
- return ir.BufferAtomicIMax(handle, address, vdata_val, true, info);
+ return ir.BufferAtomicIMax(handle, address, vdata_val, true, buffer_info);
case AtomicOp::Umax:
- return ir.BufferAtomicIMax(handle, address, vdata_val, false, info);
+ return ir.BufferAtomicIMax(handle, address, vdata_val, false, buffer_info);
case AtomicOp::And:
- return ir.BufferAtomicAnd(handle, address, vdata_val, info);
+ return ir.BufferAtomicAnd(handle, address, vdata_val, buffer_info);
case AtomicOp::Or:
- return ir.BufferAtomicOr(handle, address, vdata_val, info);
+ return ir.BufferAtomicOr(handle, address, vdata_val, buffer_info);
case AtomicOp::Xor:
- return ir.BufferAtomicXor(handle, address, vdata_val, info);
+ return ir.BufferAtomicXor(handle, address, vdata_val, buffer_info);
case AtomicOp::Inc:
- return ir.BufferAtomicInc(handle, address, vdata_val, info);
+ return ir.BufferAtomicInc(handle, address, vdata_val, buffer_info);
case AtomicOp::Dec:
- return ir.BufferAtomicDec(handle, address, vdata_val, info);
+ return ir.BufferAtomicDec(handle, address, vdata_val, buffer_info);
default:
UNREACHABLE();
}
diff --git a/src/shader_recompiler/ir/ir_emitter.cpp b/src/shader_recompiler/ir/ir_emitter.cpp
index 8626bdfd1..5ac08e7dc 100644
--- a/src/shader_recompiler/ir/ir_emitter.cpp
+++ b/src/shader_recompiler/ir/ir_emitter.cpp
@@ -1758,10 +1758,6 @@ void IREmitter::ImageWrite(const Value& handle, const Value& coords, const U32&
Inst(Opcode::ImageWrite, Flags{info}, handle, coords, lod, multisampling, color);
}
-[[nodiscard]] Value IREmitter::CubeFaceCoord(const Value& cube_coords) {
- return Inst(Opcode::CubeFaceCoord, cube_coords);
-}
-
[[nodiscard]] F32 IREmitter::CubeFaceIndex(const Value& cube_coords) {
return Inst(Opcode::CubeFaceIndex, cube_coords);
}
diff --git a/src/shader_recompiler/ir/ir_emitter.h b/src/shader_recompiler/ir/ir_emitter.h
index 783709775..d1dc44d74 100644
--- a/src/shader_recompiler/ir/ir_emitter.h
+++ b/src/shader_recompiler/ir/ir_emitter.h
@@ -342,7 +342,6 @@ public:
void ImageWrite(const Value& handle, const Value& coords, const U32& lod,
const U32& multisampling, const Value& color, TextureInstInfo info);
- [[nodiscard]] Value CubeFaceCoord(const Value& cube_coords);
[[nodiscard]] F32 CubeFaceIndex(const Value& cube_coords);
void EmitVertex();
diff --git a/src/shader_recompiler/ir/opcodes.inc b/src/shader_recompiler/ir/opcodes.inc
index 19f45418f..b45151dba 100644
--- a/src/shader_recompiler/ir/opcodes.inc
+++ b/src/shader_recompiler/ir/opcodes.inc
@@ -375,7 +375,6 @@ OPCODE(ImageAtomicXor32, U32, Opaq
OPCODE(ImageAtomicExchange32, U32, Opaque, Opaque, U32, )
// Cube operations - optional, usable if profile.supports_native_cube_calc
-OPCODE(CubeFaceCoord, F32x2, F32x3, )
OPCODE(CubeFaceIndex, F32, F32x3, )
// Warp operations
diff --git a/src/shader_recompiler/ir/passes/constant_propagation_pass.cpp b/src/shader_recompiler/ir/passes/constant_propagation_pass.cpp
index fcf2f7d9f..26d819d8e 100644
--- a/src/shader_recompiler/ir/passes/constant_propagation_pass.cpp
+++ b/src/shader_recompiler/ir/passes/constant_propagation_pass.cpp
@@ -222,9 +222,15 @@ void FoldMul(IR::Block& block, IR::Inst& inst) {
return;
}
const IR::Value rhs{inst.Arg(1)};
- if (rhs.IsImmediate() && Arg(rhs) == 0) {
- inst.ReplaceUsesWithAndRemove(IR::Value(0u));
- return;
+ if (rhs.IsImmediate()) {
+ if (Arg(rhs) == 0) {
+ inst.ReplaceUsesWithAndRemove(IR::Value(0u));
+ return;
+ }
+ if (Arg(rhs) == 1) {
+ inst.ReplaceUsesWithAndRemove(inst.Arg(0));
+ return;
+ }
}
}
diff --git a/src/shader_recompiler/ir/passes/hull_shader_transform.cpp b/src/shader_recompiler/ir/passes/hull_shader_transform.cpp
index 6164fec12..b41e38339 100644
--- a/src/shader_recompiler/ir/passes/hull_shader_transform.cpp
+++ b/src/shader_recompiler/ir/passes/hull_shader_transform.cpp
@@ -349,11 +349,11 @@ static IR::F32 ReadTessControlPointAttribute(IR::U32 addr, const u32 stride, IR:
addr = ir.IAdd(addr, ir.Imm32(off_dw));
}
const IR::U32 control_point_index = ir.IDiv(addr, ir.Imm32(stride));
- const IR::U32 addr_for_attrs = TryOptimizeAddressModulo(addr, stride, ir);
- const IR::U32 attr_index =
- ir.ShiftRightLogical(ir.IMod(addr_for_attrs, ir.Imm32(stride)), ir.Imm32(4u));
+ const IR::U32 opt_addr = TryOptimizeAddressModulo(addr, stride, ir);
+ const IR::U32 offset = ir.IMod(opt_addr, ir.Imm32(stride));
+ const IR::U32 attr_index = ir.ShiftRightLogical(offset, ir.Imm32(4u));
const IR::U32 comp_index =
- ir.ShiftRightLogical(ir.BitwiseAnd(addr_for_attrs, ir.Imm32(0xFU)), ir.Imm32(2u));
+ ir.ShiftRightLogical(ir.BitwiseAnd(offset, ir.Imm32(0xFU)), ir.Imm32(2u));
if (is_output_read_in_tcs) {
return ir.ReadTcsGenericOuputAttribute(control_point_index, attr_index, comp_index);
} else {
@@ -452,13 +452,13 @@ void HullShaderTransform(IR::Program& program, RuntimeInfo& runtime_info) {
if (off_dw > 0) {
addr = ir.IAdd(addr, ir.Imm32(off_dw));
}
- u32 stride = runtime_info.hs_info.hs_output_cp_stride;
+ const u32 stride = runtime_info.hs_info.hs_output_cp_stride;
// Invocation ID array index is implicit, handled by SPIRV backend
- const IR::U32 addr_for_attrs = TryOptimizeAddressModulo(addr, stride, ir);
- const IR::U32 attr_index = ir.ShiftRightLogical(
- ir.IMod(addr_for_attrs, ir.Imm32(stride)), ir.Imm32(4u));
+ const IR::U32 opt_addr = TryOptimizeAddressModulo(addr, stride, ir);
+ const IR::U32 offset = ir.IMod(opt_addr, ir.Imm32(stride));
+ const IR::U32 attr_index = ir.ShiftRightLogical(offset, ir.Imm32(4u));
const IR::U32 comp_index = ir.ShiftRightLogical(
- ir.BitwiseAnd(addr_for_attrs, ir.Imm32(0xFU)), ir.Imm32(2u));
+ ir.BitwiseAnd(offset, ir.Imm32(0xFU)), ir.Imm32(2u));
ir.SetTcsGenericAttribute(data_component, attr_index, comp_index);
} else {
ASSERT(output_kind == AttributeRegion::PatchConst);
@@ -535,8 +535,7 @@ void HullShaderTransform(IR::Program& program, RuntimeInfo& runtime_info) {
// ...
IR::IREmitter ir{*entry_block, it};
- ASSERT(runtime_info.hs_info.ls_stride % 16 == 0);
- u32 num_attributes = runtime_info.hs_info.ls_stride / 16;
+ u32 num_attributes = Common::AlignUp(runtime_info.hs_info.ls_stride, 16) >> 4;
const auto invocation_id = ir.GetAttributeU32(IR::Attribute::InvocationId);
for (u32 attr_no = 0; attr_no < num_attributes; attr_no++) {
for (u32 comp = 0; comp < 4; comp++) {
diff --git a/src/shader_recompiler/ir/passes/resource_tracking_pass.cpp b/src/shader_recompiler/ir/passes/resource_tracking_pass.cpp
index 10d685ed1..d94c5223a 100644
--- a/src/shader_recompiler/ir/passes/resource_tracking_pass.cpp
+++ b/src/shader_recompiler/ir/passes/resource_tracking_pass.cpp
@@ -164,6 +164,7 @@ public:
return desc.sharp_idx == existing.sharp_idx && desc.is_array == existing.is_array;
})};
auto& image = image_resources[index];
+ image.is_atomic |= desc.is_atomic;
image.is_written |= desc.is_written;
return index;
}
@@ -483,55 +484,73 @@ void PatchDataRingAccess(IR::Block& block, IR::Inst& inst, Info& info, Descripto
inst.SetArg(1, ir.Imm32(binding));
}
+IR::U32 CalculateBufferAddress(IR::IREmitter& ir, const IR::Inst& inst, const Info& info,
+ const AmdGpu::Buffer& buffer, u32 stride) {
+ const auto inst_info = inst.Flags();
+
+ // index = (inst_idxen ? vgpr_index : 0) + (const_add_tid_enable ? thread_id[5:0] : 0)
+ IR::U32 index = ir.Imm32(0U);
+ if (inst_info.index_enable) {
+ const IR::U32 vgpr_index{inst_info.offset_enable
+ ? IR::U32{ir.CompositeExtract(inst.Arg(1), 0)}
+ : IR::U32{inst.Arg(1)}};
+ index = ir.IAdd(index, vgpr_index);
+ }
+ if (buffer.add_tid_enable) {
+ ASSERT_MSG(info.l_stage == LogicalStage::Compute,
+ "Thread ID buffer addressing is not supported outside of compute.");
+ const IR::U32 thread_id{ir.LaneId()};
+ index = ir.IAdd(index, thread_id);
+ }
+ // offset = (inst_offen ? vgpr_offset : 0) + inst_offset
+ IR::U32 offset = ir.Imm32(inst_info.inst_offset.Value());
+ if (inst_info.offset_enable) {
+ const IR::U32 vgpr_offset = inst_info.index_enable
+ ? IR::U32{ir.CompositeExtract(inst.Arg(1), 1)}
+ : IR::U32{inst.Arg(1)};
+ offset = ir.IAdd(offset, vgpr_offset);
+ }
+ const IR::U32 const_stride = ir.Imm32(stride);
+ IR::U32 buffer_offset;
+ if (buffer.swizzle_enable) {
+ const IR::U32 const_index_stride = ir.Imm32(buffer.GetIndexStride());
+ const IR::U32 const_element_size = ir.Imm32(buffer.GetElementSize());
+ // index_msb = index / const_index_stride
+ const IR::U32 index_msb{ir.IDiv(index, const_index_stride)};
+ // index_lsb = index % const_index_stride
+ const IR::U32 index_lsb{ir.IMod(index, const_index_stride)};
+ // offset_msb = offset / const_element_size
+ const IR::U32 offset_msb{ir.IDiv(offset, const_element_size)};
+ // offset_lsb = offset % const_element_size
+ const IR::U32 offset_lsb{ir.IMod(offset, const_element_size)};
+ // buffer_offset =
+ // (index_msb * const_stride + offset_msb * const_element_size) * const_index_stride
+ // + index_lsb * const_element_size + offset_lsb
+ const IR::U32 buffer_offset_msb = ir.IMul(
+ ir.IAdd(ir.IMul(index_msb, const_stride), ir.IMul(offset_msb, const_element_size)),
+ const_index_stride);
+ const IR::U32 buffer_offset_lsb =
+ ir.IAdd(ir.IMul(index_lsb, const_element_size), offset_lsb);
+ buffer_offset = ir.IAdd(buffer_offset_msb, buffer_offset_lsb);
+ } else {
+ // buffer_offset = index * const_stride + offset
+ buffer_offset = ir.IAdd(ir.IMul(index, const_stride), offset);
+ }
+ return buffer_offset;
+}
+
void PatchBufferArgs(IR::Block& block, IR::Inst& inst, Info& info) {
const auto handle = inst.Arg(0);
const auto buffer_res = info.buffers[handle.U32()];
const auto buffer = buffer_res.GetSharp(info);
- ASSERT(!buffer.add_tid_enable);
-
// Address of constant buffer reads can be calculated at IR emission time.
if (inst.GetOpcode() == IR::Opcode::ReadConstBuffer) {
return;
}
IR::IREmitter ir{block, IR::Block::InstructionList::s_iterator_to(inst)};
- const auto inst_info = inst.Flags();
-
- const IR::U32 index_stride = ir.Imm32(buffer.index_stride);
- const IR::U32 element_size = ir.Imm32(buffer.element_size);
-
- // Compute address of the buffer using the stride.
- IR::U32 address = ir.Imm32(inst_info.inst_offset.Value());
- if (inst_info.index_enable) {
- const IR::U32 index = inst_info.offset_enable ? IR::U32{ir.CompositeExtract(inst.Arg(1), 0)}
- : IR::U32{inst.Arg(1)};
- if (buffer.swizzle_enable) {
- const IR::U32 stride_index_stride =
- ir.Imm32(static_cast(buffer.stride * buffer.index_stride));
- const IR::U32 index_msb = ir.IDiv(index, index_stride);
- const IR::U32 index_lsb = ir.IMod(index, index_stride);
- address = ir.IAdd(address, ir.IAdd(ir.IMul(index_msb, stride_index_stride),
- ir.IMul(index_lsb, element_size)));
- } else {
- address = ir.IAdd(address, ir.IMul(index, ir.Imm32(buffer.GetStride())));
- }
- }
- if (inst_info.offset_enable) {
- const IR::U32 offset = inst_info.index_enable ? IR::U32{ir.CompositeExtract(inst.Arg(1), 1)}
- : IR::U32{inst.Arg(1)};
- if (buffer.swizzle_enable) {
- const IR::U32 element_size_index_stride =
- ir.Imm32(buffer.element_size * buffer.index_stride);
- const IR::U32 offset_msb = ir.IDiv(offset, element_size);
- const IR::U32 offset_lsb = ir.IMod(offset, element_size);
- address = ir.IAdd(address,
- ir.IAdd(ir.IMul(offset_msb, element_size_index_stride), offset_lsb));
- } else {
- address = ir.IAdd(address, offset);
- }
- }
- inst.SetArg(1, address);
+ inst.SetArg(1, CalculateBufferAddress(ir, inst, info, buffer, buffer.stride));
}
void PatchTextureBufferArgs(IR::Block& block, IR::Inst& inst, Info& info) {
@@ -539,8 +558,15 @@ void PatchTextureBufferArgs(IR::Block& block, IR::Inst& inst, Info& info) {
const auto buffer_res = info.texture_buffers[handle.U32()];
const auto buffer = buffer_res.GetSharp(info);
- ASSERT(!buffer.swizzle_enable && !buffer.add_tid_enable);
+ // Only linear addressing with index is supported currently, since we cannot yet
+ // address with sub-texel granularity.
+ const auto inst_info = inst.Flags();
+ ASSERT_MSG(!buffer.swizzle_enable && !inst_info.offset_enable && inst_info.inst_offset == 0,
+ "Unsupported texture buffer address mode.");
+
IR::IREmitter ir{block, IR::Block::InstructionList::s_iterator_to(inst)};
+ // Stride of 1 to get an index into formatted data. See above addressing limitations.
+ inst.SetArg(1, CalculateBufferAddress(ir, inst, info, buffer, 1U));
if (inst.GetOpcode() == IR::Opcode::StoreBufferFormatF32) {
const auto swizzled = ApplySwizzle(ir, inst.Arg(2), buffer.DstSelect());
diff --git a/src/shader_recompiler/specialization.h b/src/shader_recompiler/specialization.h
index 18b1df1f9..523e63497 100644
--- a/src/shader_recompiler/specialization.h
+++ b/src/shader_recompiler/specialization.h
@@ -21,10 +21,16 @@ struct VsAttribSpecialization {
struct BufferSpecialization {
u16 stride : 14;
u16 is_storage : 1;
+ u16 swizzle_enable : 1;
+ u8 index_stride : 2 = 0;
+ u8 element_size : 2 = 0;
u32 size = 0;
bool operator==(const BufferSpecialization& other) const {
return stride == other.stride && is_storage == other.is_storage &&
+ swizzle_enable == other.swizzle_enable &&
+ (!swizzle_enable ||
+ (index_stride == other.index_stride && element_size == other.element_size)) &&
(size >= other.is_storage || is_storage);
}
};
@@ -101,6 +107,11 @@ struct StageSpecialization {
[](auto& spec, const auto& desc, AmdGpu::Buffer sharp) {
spec.stride = sharp.GetStride();
spec.is_storage = desc.IsStorage(sharp);
+ spec.swizzle_enable = sharp.swizzle_enable;
+ if (spec.swizzle_enable) {
+ spec.index_stride = sharp.index_stride;
+ spec.element_size = sharp.element_size;
+ }
if (!spec.is_storage) {
spec.size = sharp.GetSize();
}
diff --git a/src/video_core/amdgpu/liverpool.cpp b/src/video_core/amdgpu/liverpool.cpp
index 16ed84f74..8355dd1e6 100644
--- a/src/video_core/amdgpu/liverpool.cpp
+++ b/src/video_core/amdgpu/liverpool.cpp
@@ -260,7 +260,7 @@ Liverpool::Task Liverpool::ProcessGraphics(std::span dcb, std::span(&nop->data_block[1]),
marker_sz};
if (rasterizer) {
- rasterizer->ScopeMarkerBegin(label);
+ rasterizer->ScopeMarkerBegin(label, true);
}
break;
}
@@ -271,13 +271,13 @@ Liverpool::Task Liverpool::ProcessGraphics(std::span dcb, std::span(
reinterpret_cast(&nop->data_block[1]) + marker_sz);
if (rasterizer) {
- rasterizer->ScopedMarkerInsertColor(label, color);
+ rasterizer->ScopedMarkerInsertColor(label, color, true);
}
break;
}
case PM4CmdNop::PayloadType::DebugMarkerPop: {
if (rasterizer) {
- rasterizer->ScopeMarkerEnd();
+ rasterizer->ScopeMarkerEnd(true);
}
break;
}
@@ -412,7 +412,7 @@ Liverpool::Task Liverpool::ProcessGraphics(std::span dcb, std::span(header);
- rasterizer->ScopeMarkerBegin(fmt::format("dcb:{}:DrawIndex2", cmd_address));
+ rasterizer->ScopeMarkerBegin(fmt::format("gfx:{}:DrawIndex2", cmd_address));
rasterizer->Draw(true);
rasterizer->ScopeMarkerEnd();
}
@@ -430,7 +430,7 @@ Liverpool::Task Liverpool::ProcessGraphics(std::span dcb, std::span(header);
rasterizer->ScopeMarkerBegin(
- fmt::format("dcb:{}:DrawIndexOffset2", cmd_address));
+ fmt::format("gfx:{}:DrawIndexOffset2", cmd_address));
rasterizer->Draw(true, draw_index_off->index_offset);
rasterizer->ScopeMarkerEnd();
}
@@ -445,7 +445,7 @@ Liverpool::Task Liverpool::ProcessGraphics(std::span dcb, std::span(header);
- rasterizer->ScopeMarkerBegin(fmt::format("dcb:{}:DrawIndexAuto", cmd_address));
+ rasterizer->ScopeMarkerBegin(fmt::format("gfx:{}:DrawIndexAuto", cmd_address));
rasterizer->Draw(false);
rasterizer->ScopeMarkerEnd();
}
@@ -460,7 +460,7 @@ Liverpool::Task Liverpool::ProcessGraphics(std::span dcb, std::span(header);
- rasterizer->ScopeMarkerBegin(fmt::format("dcb:{}:DrawIndirect", cmd_address));
+ rasterizer->ScopeMarkerBegin(fmt::format("gfx:{}:DrawIndirect", cmd_address));
rasterizer->DrawIndirect(false, indirect_args_addr, offset, size, 1, 0);
rasterizer->ScopeMarkerEnd();
}
@@ -477,7 +477,7 @@ Liverpool::Task Liverpool::ProcessGraphics(std::span dcb, std::span(header);
rasterizer->ScopeMarkerBegin(
- fmt::format("dcb:{}:DrawIndexIndirect", cmd_address));
+ fmt::format("gfx:{}:DrawIndexIndirect", cmd_address));
rasterizer->DrawIndirect(true, indirect_args_addr, offset, size, 1, 0);
rasterizer->ScopeMarkerEnd();
}
@@ -493,7 +493,7 @@ Liverpool::Task Liverpool::ProcessGraphics(std::span dcb, std::span(header);
rasterizer->ScopeMarkerBegin(
- fmt::format("dcb:{}:DrawIndexIndirectCountMulti", cmd_address));
+ fmt::format("gfx:{}:DrawIndexIndirectCountMulti", cmd_address));
rasterizer->DrawIndirect(
true, indirect_args_addr, offset, draw_index_indirect->stride,
draw_index_indirect->count, draw_index_indirect->countAddr);
@@ -514,7 +514,7 @@ Liverpool::Task Liverpool::ProcessGraphics(std::span dcb, std::span(header);
- rasterizer->ScopeMarkerBegin(fmt::format("dcb:{}:Dispatch", cmd_address));
+ rasterizer->ScopeMarkerBegin(fmt::format("gfx:{}:DispatchDirect", cmd_address));
rasterizer->DispatchDirect();
rasterizer->ScopeMarkerEnd();
}
@@ -533,7 +533,7 @@ Liverpool::Task Liverpool::ProcessGraphics(std::span dcb, std::span(header);
rasterizer->ScopeMarkerBegin(
- fmt::format("dcb:{}:DispatchIndirect", cmd_address));
+ fmt::format("gfx:{}:DispatchIndirect", cmd_address));
rasterizer->DispatchIndirect(indirect_args_addr, offset, size);
rasterizer->ScopeMarkerEnd();
}
@@ -812,7 +812,7 @@ Liverpool::Task Liverpool::ProcessCompute(std::span acb, u32 vqid) {
if (rasterizer && (cs_program.dispatch_initiator & 1)) {
const auto cmd_address = reinterpret_cast(header);
rasterizer->ScopeMarkerBegin(
- fmt::format("acb[{}]:{}:DispatchIndirect", vqid, cmd_address));
+ fmt::format("asc[{}]:{}:DispatchDirect", vqid, cmd_address));
rasterizer->DispatchDirect();
rasterizer->ScopeMarkerEnd();
}
@@ -830,7 +830,8 @@ Liverpool::Task Liverpool::ProcessCompute(std::span acb, u32 vqid) {
}
if (rasterizer && (cs_program.dispatch_initiator & 1)) {
const auto cmd_address = reinterpret_cast(header);
- rasterizer->ScopeMarkerBegin(fmt::format("acb[{}]:{}:Dispatch", vqid, cmd_address));
+ rasterizer->ScopeMarkerBegin(
+ fmt::format("asc[{}]:{}:DispatchIndirect", vqid, cmd_address));
rasterizer->DispatchIndirect(ib_address, 0, size);
rasterizer->ScopeMarkerEnd();
}
diff --git a/src/video_core/amdgpu/liverpool.h b/src/video_core/amdgpu/liverpool.h
index 070253ca9..a29bde4ce 100644
--- a/src/video_core/amdgpu/liverpool.h
+++ b/src/video_core/amdgpu/liverpool.h
@@ -429,11 +429,19 @@ struct Liverpool {
} depth_slice;
bool DepthValid() const {
- return Address() != 0 && z_info.format != ZFormat::Invalid;
+ return DepthAddress() != 0 && z_info.format != ZFormat::Invalid;
}
bool StencilValid() const {
- return Address() != 0 && stencil_info.format != StencilFormat::Invalid;
+ return StencilAddress() != 0 && stencil_info.format != StencilFormat::Invalid;
+ }
+
+ bool DepthWriteValid() const {
+ return DepthWriteAddress() != 0 && z_info.format != ZFormat::Invalid;
+ }
+
+ bool StencilWriteValid() const {
+ return StencilWriteAddress() != 0 && stencil_info.format != StencilFormat::Invalid;
}
u32 Pitch() const {
@@ -444,7 +452,7 @@ struct Liverpool {
return (depth_size.height_tile_max + 1) << 3;
}
- u64 Address() const {
+ u64 DepthAddress() const {
return u64(z_read_base) << 8;
}
@@ -452,6 +460,14 @@ struct Liverpool {
return u64(stencil_read_base) << 8;
}
+ u64 DepthWriteAddress() const {
+ return u64(z_write_base) << 8;
+ }
+
+ u64 StencilWriteAddress() const {
+ return u64(stencil_write_base) << 8;
+ }
+
u32 NumSamples() const {
return 1u << z_info.num_samples; // spec doesn't say it is a log2
}
@@ -1008,6 +1024,46 @@ struct Liverpool {
}
};
+ enum class ForceEnable : u32 {
+ Off = 0,
+ Enable = 1,
+ Disable = 2,
+ };
+
+ enum class ForceSumm : u32 {
+ Off = 0,
+ MinZ = 1,
+ MaxZ = 2,
+ Both = 3,
+ };
+
+ union DepthRenderOverride {
+ u32 raw;
+ BitField<0, 2, ForceEnable> force_hiz_enable;
+ BitField<2, 2, ForceEnable> force_his_enable0;
+ BitField<4, 2, ForceEnable> force_his_enable1;
+ BitField<6, 1, u32> force_shader_z_order;
+ BitField<7, 1, u32> fast_z_disable;
+ BitField<8, 1, u32> fast_stencil_disable;
+ BitField<9, 1, u32> noop_cull_disable;
+ BitField<10, 1, u32> force_color_kill;
+ BitField<11, 1, u32> force_z_read;
+ BitField<12, 1, u32> force_stencil_read;
+ BitField<13, 2, ForceEnable> force_full_z_range;
+ BitField<15, 1, u32> force_qc_smask_conflict;
+ BitField<16, 1, u32> disable_viewport_clamp;
+ BitField<17, 1, u32> ignore_sc_zrange;
+ BitField<18, 1, u32> disable_fully_covered;
+ BitField<19, 2, ForceSumm> force_z_limit_summ;
+ BitField<21, 5, u32> max_tiles_in_dtt;
+ BitField<26, 1, u32> disable_tile_rate_tiles;
+ BitField<27, 1, u32> force_z_dirty;
+ BitField<28, 1, u32> force_stencil_dirty;
+ BitField<29, 1, u32> force_z_valid;
+ BitField<30, 1, u32> force_stencil_valid;
+ BitField<31, 1, u32> preserve_compression;
+ };
+
union AaConfig {
BitField<0, 3, u32> msaa_num_samples;
BitField<4, 1, u32> aa_mask_centroid_dtmn;
@@ -1209,7 +1265,8 @@ struct Liverpool {
DepthRenderControl depth_render_control;
INSERT_PADDING_WORDS(1);
DepthView depth_view;
- INSERT_PADDING_WORDS(2);
+ DepthRenderOverride depth_render_override;
+ INSERT_PADDING_WORDS(1);
Address depth_htile_data_base;
INSERT_PADDING_WORDS(2);
float depth_bounds_min;
diff --git a/src/video_core/amdgpu/resource.h b/src/video_core/amdgpu/resource.h
index 744aacdc5..fa8edb3e2 100644
--- a/src/video_core/amdgpu/resource.h
+++ b/src/video_core/amdgpu/resource.h
@@ -76,6 +76,16 @@ struct Buffer {
u32 GetSize() const noexcept {
return stride == 0 ? num_records : (stride * num_records);
}
+
+ u32 GetIndexStride() const noexcept {
+ // Index stride is 2 bits, meaning 8, 16, 32, or 64.
+ return 8 << index_stride;
+ }
+
+ u32 GetElementSize() const noexcept {
+ // Element size is 2 bits, meaning 2, 4, 8, or 16.
+ return 2 << element_size;
+ }
};
static_assert(sizeof(Buffer) == 16); // 128bits
@@ -119,6 +129,7 @@ constexpr std::string_view NameOf(ImageType type) {
enum class TilingMode : u32 {
Depth_MacroTiled = 0u,
Display_Linear = 0x8u,
+ Display_MicroTiled = 0x9u,
Display_MacroTiled = 0xAu,
Texture_MicroTiled = 0xDu,
Texture_MacroTiled = 0xEu,
@@ -131,6 +142,8 @@ constexpr std::string_view NameOf(TilingMode type) {
return "Depth_MacroTiled";
case TilingMode::Display_Linear:
return "Display_Linear";
+ case TilingMode::Display_MicroTiled:
+ return "Display_MicroTiled";
case TilingMode::Display_MacroTiled:
return "Display_MacroTiled";
case TilingMode::Texture_MicroTiled:
diff --git a/src/video_core/buffer_cache/buffer.cpp b/src/video_core/buffer_cache/buffer.cpp
index 5a049c185..a8d1271c6 100644
--- a/src/video_core/buffer_cache/buffer.cpp
+++ b/src/video_core/buffer_cache/buffer.cpp
@@ -131,6 +131,8 @@ vk::BufferView Buffer::View(u32 offset, u32 size, bool is_written, AmdGpu::DataF
vk::to_string(view_result));
scheduler->DeferOperation(
[view, device = instance->GetDevice()] { device.destroyBufferView(view); });
+ Vulkan::SetObjectName(instance->GetDevice(), view, "BufferView {:#x}:{:#x}", cpu_addr + offset,
+ size);
return view;
}
diff --git a/src/video_core/host_shaders/CMakeLists.txt b/src/video_core/host_shaders/CMakeLists.txt
index a9c2964ad..e60cca122 100644
--- a/src/video_core/host_shaders/CMakeLists.txt
+++ b/src/video_core/host_shaders/CMakeLists.txt
@@ -2,6 +2,7 @@
# SPDX-License-Identifier: GPL-2.0-or-later
set(SHADER_FILES
+ detilers/display_micro_64bpp.comp
detilers/macro_32bpp.comp
detilers/macro_64bpp.comp
detilers/macro_8bpp.comp
diff --git a/src/video_core/host_shaders/detilers/display_micro_64bpp.comp b/src/video_core/host_shaders/detilers/display_micro_64bpp.comp
new file mode 100644
index 000000000..3e0485682
--- /dev/null
+++ b/src/video_core/host_shaders/detilers/display_micro_64bpp.comp
@@ -0,0 +1,60 @@
+// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#version 450
+
+layout (local_size_x = 64, local_size_y = 1, local_size_z = 1) in;
+
+layout(std430, binding = 0) buffer input_buf {
+ uint in_data[];
+};
+layout(std430, binding = 1) buffer output_buf {
+ uint out_data[];
+};
+
+layout(push_constant) uniform image_info {
+ uint num_levels;
+ uint pitch;
+ uint height;
+ uint c0;
+ uint c1;
+} info;
+
+const uint lut_64bpp[16] = {
+ 0x05040100, 0x0d0c0908,
+ 0x07060302, 0x0f0e0b0a,
+ 0x15141110, 0x1d1c1918,
+ 0x17161312, 0x1f1e1b1a,
+ 0x25242120, 0x2d2c2928,
+ 0x27262322, 0x2f2e2b2a,
+ 0x35343130, 0x3d3c3938,
+ 0x37363332, 0x3f3e3b3a,
+};
+
+#define MICRO_TILE_DIM (8)
+#define MICRO_TILE_SZ (512)
+#define TEXELS_PER_ELEMENT (1)
+#define BPP (64)
+
+void main() {
+ uint x = gl_GlobalInvocationID.x % info.pitch;
+ uint y = (gl_GlobalInvocationID.x / info.pitch) % info.height;
+ uint z = gl_GlobalInvocationID.x / (info.pitch * info.height);
+
+ uint col = bitfieldExtract(x, 0, 3);
+ uint row = bitfieldExtract(y, 0, 3);
+ uint idx_dw = lut_64bpp[(col + row * MICRO_TILE_DIM) >> 2u];
+ uint byte_ofs = gl_LocalInvocationID.x & 3u;
+ uint idx = bitfieldExtract(idx_dw >> (8 * byte_ofs), 0, 8);
+
+ uint slice_offs = z * info.c1 * MICRO_TILE_SZ;
+ uint tile_row = y / MICRO_TILE_DIM;
+ uint tile_column = x / MICRO_TILE_DIM;
+ uint tile_offs = ((tile_row * info.c0) + tile_column) * MICRO_TILE_SZ;
+ uint offs = slice_offs + tile_offs + ((idx * BPP) / 8u);
+
+ uint p0 = in_data[(offs >> 2) + 0];
+ uint p1 = in_data[(offs >> 2) + 1];
+ out_data[2 * gl_GlobalInvocationID.x + 0] = p0;
+ out_data[2 * gl_GlobalInvocationID.x + 1] = p1;
+}
diff --git a/src/video_core/renderer_vulkan/liverpool_to_vk.h b/src/video_core/renderer_vulkan/liverpool_to_vk.h
index a68280e7d..a9fcd03a9 100644
--- a/src/video_core/renderer_vulkan/liverpool_to_vk.h
+++ b/src/video_core/renderer_vulkan/liverpool_to_vk.h
@@ -71,8 +71,35 @@ vk::ClearValue ColorBufferClearValue(const AmdGpu::Liverpool::ColorBuffer& color
vk::SampleCountFlagBits NumSamples(u32 num_samples, vk::SampleCountFlags supported_flags);
+static inline bool IsFormatDepthCompatible(vk::Format fmt) {
+ switch (fmt) {
+ // 32-bit float compatible
+ case vk::Format::eD32Sfloat:
+ case vk::Format::eR32Sfloat:
+ case vk::Format::eR32Uint:
+ // 16-bit unorm compatible
+ case vk::Format::eD16Unorm:
+ case vk::Format::eR16Unorm:
+ return true;
+ default:
+ return false;
+ }
+}
+
+static inline bool IsFormatStencilCompatible(vk::Format fmt) {
+ switch (fmt) {
+ // 8-bit uint compatible
+ case vk::Format::eS8Uint:
+ case vk::Format::eR8Uint:
+ case vk::Format::eR8Unorm:
+ return true;
+ default:
+ return false;
+ }
+}
+
static inline vk::Format PromoteFormatToDepth(vk::Format fmt) {
- if (fmt == vk::Format::eR32Sfloat) {
+ if (fmt == vk::Format::eR32Sfloat || fmt == vk::Format::eR32Uint) {
return vk::Format::eD32Sfloat;
} else if (fmt == vk::Format::eR16Unorm) {
return vk::Format::eD16Unorm;
diff --git a/src/video_core/renderer_vulkan/vk_instance.cpp b/src/video_core/renderer_vulkan/vk_instance.cpp
index 6c3e066c6..1600600b9 100644
--- a/src/video_core/renderer_vulkan/vk_instance.cpp
+++ b/src/video_core/renderer_vulkan/vk_instance.cpp
@@ -92,15 +92,13 @@ std::string GetReadableVersion(u32 version) {
Instance::Instance(bool enable_validation, bool enable_crash_diagnostic)
: instance{CreateInstance(Frontend::WindowSystemType::Headless, enable_validation,
enable_crash_diagnostic)},
- physical_devices{EnumeratePhysicalDevices(instance)},
- crash_diagnostic{enable_crash_diagnostic} {}
+ physical_devices{EnumeratePhysicalDevices(instance)} {}
Instance::Instance(Frontend::WindowSDL& window, s32 physical_device_index,
bool enable_validation /*= false*/, bool enable_crash_diagnostic /*= false*/)
: instance{CreateInstance(window.GetWindowInfo().type, enable_validation,
enable_crash_diagnostic)},
- physical_devices{EnumeratePhysicalDevices(instance)},
- crash_diagnostic{enable_crash_diagnostic} {
+ physical_devices{EnumeratePhysicalDevices(instance)} {
if (enable_validation) {
debug_callback = CreateDebugCallback(*instance);
}
@@ -272,6 +270,7 @@ bool Instance::CreateDevice() {
legacy_vertex_attributes = add_extension(VK_EXT_LEGACY_VERTEX_ATTRIBUTES_EXTENSION_NAME);
image_load_store_lod = add_extension(VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME);
amd_gcn_shader = add_extension(VK_AMD_GCN_SHADER_EXTENSION_NAME);
+ add_extension(VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_EXTENSION_NAME);
// These extensions are promoted by Vulkan 1.3, but for greater compatibility we use Vulkan 1.2
// with extensions.
@@ -562,10 +561,7 @@ void Instance::CollectToolingInfo() {
return;
}
for (const vk::PhysicalDeviceToolProperties& tool : tools) {
- const std::string_view name = tool.name;
- LOG_INFO(Render_Vulkan, "Attached debugging tool: {}", name);
- has_renderdoc = has_renderdoc || name == "RenderDoc";
- has_nsight_graphics = has_nsight_graphics || name == "NVIDIA Nsight Graphics";
+ LOG_INFO(Render_Vulkan, "Attached debugging tool: {}", tool.name);
}
}
diff --git a/src/video_core/renderer_vulkan/vk_instance.h b/src/video_core/renderer_vulkan/vk_instance.h
index 8928b4267..e0d4d0b4d 100644
--- a/src/video_core/renderer_vulkan/vk_instance.h
+++ b/src/video_core/renderer_vulkan/vk_instance.h
@@ -79,11 +79,6 @@ public:
return profiler_context;
}
- /// Returns true when a known debugging tool is attached.
- bool HasDebuggingToolAttached() const {
- return crash_diagnostic || has_renderdoc || has_nsight_graphics;
- }
-
/// Returns true if anisotropic filtering is supported
bool IsAnisotropicFilteringSupported() const {
return features.samplerAnisotropy;
@@ -340,13 +335,9 @@ private:
bool legacy_vertex_attributes{};
bool image_load_store_lod{};
bool amd_gcn_shader{};
+ bool tooling_info{};
u64 min_imported_host_pointer_alignment{};
u32 subgroup_size{};
- bool tooling_info{};
- bool debug_utils_supported{};
- bool crash_diagnostic{};
- bool has_nsight_graphics{};
- bool has_renderdoc{};
};
} // namespace Vulkan
diff --git a/src/video_core/renderer_vulkan/vk_platform.cpp b/src/video_core/renderer_vulkan/vk_platform.cpp
index 7f0bcb5d2..fdd590e9d 100644
--- a/src/video_core/renderer_vulkan/vk_platform.cpp
+++ b/src/video_core/renderer_vulkan/vk_platform.cpp
@@ -31,17 +31,6 @@ static VKAPI_ATTR VkBool32 VKAPI_CALL DebugUtilsCallback(
VkDebugUtilsMessageSeverityFlagBitsEXT severity, VkDebugUtilsMessageTypeFlagsEXT type,
const VkDebugUtilsMessengerCallbackDataEXT* callback_data, void* user_data) {
- switch (static_cast(callback_data->messageIdNumber)) {
- case 0x609a13b: // Vertex attribute at location not consumed by shader
- case 0xc81ad50e:
- case 0xb7c39078:
- case 0x32868fde: // vkCreateBufferView(): pCreateInfo->range does not equal VK_WHOLE_SIZE
- case 0x1012616b: // `VK_FORMAT_UNDEFINED` does not match fragment shader output type
- return VK_FALSE;
- default:
- break;
- }
-
Common::Log::Level level{};
switch (severity) {
case VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT:
diff --git a/src/video_core/renderer_vulkan/vk_platform.h b/src/video_core/renderer_vulkan/vk_platform.h
index 6b425b6d8..d05d12997 100644
--- a/src/video_core/renderer_vulkan/vk_platform.h
+++ b/src/video_core/renderer_vulkan/vk_platform.h
@@ -7,6 +7,7 @@
#include
#include
+#include "common/config.h"
#include "common/logging/log.h"
#include "common/types.h"
#include "video_core/renderer_vulkan/vk_common.h"
@@ -32,6 +33,9 @@ concept VulkanHandleType = vk::isVulkanHandleType::value;
template
void SetObjectName(vk::Device device, const HandleType& handle, std::string_view debug_name) {
+ if (!Config::vkHostMarkersEnabled()) {
+ return;
+ }
const vk::DebugUtilsObjectNameInfoEXT name_info = {
.objectType = HandleType::objectType,
.objectHandle = reinterpret_cast(static_cast(handle)),
@@ -46,6 +50,9 @@ void SetObjectName(vk::Device device, const HandleType& handle, std::string_view
template
void SetObjectName(vk::Device device, const HandleType& handle, const char* format,
const Args&... args) {
+ if (!Config::vkHostMarkersEnabled()) {
+ return;
+ }
const std::string debug_name = fmt::vformat(format, fmt::make_format_args(args...));
SetObjectName(device, handle, debug_name);
}
diff --git a/src/video_core/renderer_vulkan/vk_presenter.cpp b/src/video_core/renderer_vulkan/vk_presenter.cpp
index 1679aa691..0f45574bc 100644
--- a/src/video_core/renderer_vulkan/vk_presenter.cpp
+++ b/src/video_core/renderer_vulkan/vk_presenter.cpp
@@ -20,6 +20,9 @@
#include
+#include
+#include "imgui/renderer/imgui_impl_vulkan.h"
+
namespace Vulkan {
bool CanBlitToSwapchain(const vk::PhysicalDevice physical_device, vk::Format format) {
@@ -103,17 +106,6 @@ static vk::Rect2D FitImage(s32 frame_width, s32 frame_height, s32 swapchain_widt
dst_rect.offset.x, dst_rect.offset.y);
}
-static vk::Format FormatToUnorm(vk::Format fmt) {
- switch (fmt) {
- case vk::Format::eR8G8B8A8Srgb:
- return vk::Format::eR8G8B8A8Unorm;
- case vk::Format::eB8G8R8A8Srgb:
- return vk::Format::eB8G8R8A8Unorm;
- default:
- UNREACHABLE();
- }
-}
-
void Presenter::CreatePostProcessPipeline() {
static const std::array pp_shaders{
HostShaders::FS_TRI_VERT,
@@ -324,9 +316,6 @@ Presenter::Presenter(Frontend::WindowSDL& window_, AmdGpu::Liverpool* liverpool_
CreatePostProcessPipeline();
- // Setup ImGui
- ImGui::Core::Initialize(instance, window, num_images,
- FormatToUnorm(swapchain.GetSurfaceFormat().format));
ImGui::Layer::AddLayer(Common::Singleton::Instance());
}
@@ -344,6 +333,9 @@ Presenter::~Presenter() {
void Presenter::RecreateFrame(Frame* frame, u32 width, u32 height) {
const vk::Device device = instance.GetDevice();
+ if (frame->imgui_texture) {
+ ImGui::Vulkan::RemoveTexture(frame->imgui_texture);
+ }
if (frame->image_view) {
device.destroyImageView(frame->image_view);
}
@@ -361,7 +353,7 @@ void Presenter::RecreateFrame(Frame* frame, u32 width, u32 height) {
.arrayLayers = 1,
.samples = vk::SampleCountFlagBits::e1,
.usage = vk::ImageUsageFlagBits::eColorAttachment | vk::ImageUsageFlagBits::eTransferDst |
- vk::ImageUsageFlagBits::eTransferSrc,
+ vk::ImageUsageFlagBits::eTransferSrc | vk::ImageUsageFlagBits::eSampled,
};
const VmaAllocationCreateInfo alloc_info = {
@@ -388,7 +380,7 @@ void Presenter::RecreateFrame(Frame* frame, u32 width, u32 height) {
const vk::ImageViewCreateInfo view_info = {
.image = frame->image,
.viewType = vk::ImageViewType::e2D,
- .format = FormatToUnorm(format),
+ .format = swapchain.GetViewFormat(),
.subresourceRange{
.aspectMask = vk::ImageAspectFlagBits::eColor,
.baseMipLevel = 0,
@@ -403,6 +395,63 @@ void Presenter::RecreateFrame(Frame* frame, u32 width, u32 height) {
frame->image_view = view;
frame->width = width;
frame->height = height;
+
+ frame->imgui_texture = ImGui::Vulkan::AddTexture(view, vk::ImageLayout::eShaderReadOnlyOptimal);
+}
+
+Frame* Presenter::PrepareLastFrame() {
+ if (last_submit_frame == nullptr) {
+ return nullptr;
+ }
+
+ Frame* frame = last_submit_frame;
+
+ while (true) {
+ vk::Result result = instance.GetDevice().waitForFences(frame->present_done, false,
+ std::numeric_limits::max());
+ if (result == vk::Result::eSuccess) {
+ break;
+ }
+ if (result == vk::Result::eTimeout) {
+ continue;
+ }
+ ASSERT_MSG(result != vk::Result::eErrorDeviceLost,
+ "Device lost during waiting for a frame");
+ }
+
+ auto& scheduler = flip_scheduler;
+ scheduler.EndRendering();
+ const auto cmdbuf = scheduler.CommandBuffer();
+
+ const auto frame_subresources = vk::ImageSubresourceRange{
+ .aspectMask = vk::ImageAspectFlagBits::eColor,
+ .baseMipLevel = 0,
+ .levelCount = 1,
+ .baseArrayLayer = 0,
+ .layerCount = VK_REMAINING_ARRAY_LAYERS,
+ };
+
+ const auto pre_barrier =
+ vk::ImageMemoryBarrier2{.srcStageMask = vk::PipelineStageFlagBits2::eColorAttachmentOutput,
+ .srcAccessMask = vk::AccessFlagBits2::eColorAttachmentRead,
+ .dstStageMask = vk::PipelineStageFlagBits2::eColorAttachmentOutput,
+ .dstAccessMask = vk::AccessFlagBits2::eColorAttachmentWrite,
+ .oldLayout = vk::ImageLayout::eShaderReadOnlyOptimal,
+ .newLayout = vk::ImageLayout::eGeneral,
+ .image = frame->image,
+ .subresourceRange{frame_subresources}};
+
+ cmdbuf.pipelineBarrier2(vk::DependencyInfo{
+ .imageMemoryBarrierCount = 1,
+ .pImageMemoryBarriers = &pre_barrier,
+ });
+
+ // Flush frame creation commands.
+ frame->ready_semaphore = scheduler.GetMasterSemaphore()->Handle();
+ frame->ready_tick = scheduler.CurrentTick();
+ SubmitInfo info{};
+ scheduler.Flush(info);
+ return frame;
}
bool Presenter::ShowSplash(Frame* frame /*= nullptr*/) {
@@ -418,6 +467,12 @@ bool Presenter::ShowSplash(Frame* frame /*= nullptr*/) {
draw_scheduler.EndRendering();
const auto cmdbuf = draw_scheduler.CommandBuffer();
+ if (Config::vkHostMarkersEnabled()) {
+ cmdbuf.beginDebugUtilsLabelEXT(vk::DebugUtilsLabelEXT{
+ .pLabelName = "ShowSplash",
+ });
+ }
+
if (!frame) {
if (!splash_img.has_value()) {
VideoCore::ImageInfo info{};
@@ -485,6 +540,10 @@ bool Presenter::ShowSplash(Frame* frame /*= nullptr*/) {
.pImageMemoryBarriers = &post_barrier,
});
+ if (Config::vkHostMarkersEnabled()) {
+ cmdbuf.endDebugUtilsLabelEXT();
+ }
+
// Flush frame creation commands.
frame->ready_semaphore = draw_scheduler.GetMasterSemaphore()->Handle();
frame->ready_tick = draw_scheduler.CurrentTick();
@@ -499,12 +558,26 @@ Frame* Presenter::PrepareFrameInternal(VideoCore::ImageId image_id, bool is_eop)
// Request a free presentation frame.
Frame* frame = GetRenderFrame();
+ if (image_id != VideoCore::NULL_IMAGE_ID) {
+ const auto& image = texture_cache.GetImage(image_id);
+ const auto extent = image.info.size;
+ if (frame->width != extent.width || frame->height != extent.height) {
+ RecreateFrame(frame, extent.width, extent.height);
+ }
+ }
+
// EOP flips are triggered from GPU thread so use the drawing scheduler to record
// commands. Otherwise we are dealing with a CPU flip which could have arrived
// from any guest thread. Use a separate scheduler for that.
auto& scheduler = is_eop ? draw_scheduler : flip_scheduler;
scheduler.EndRendering();
const auto cmdbuf = scheduler.CommandBuffer();
+ if (Config::vkHostMarkersEnabled()) {
+ const auto label = fmt::format("PrepareFrameInternal:{}", image_id.index);
+ cmdbuf.beginDebugUtilsLabelEXT(vk::DebugUtilsLabelEXT{
+ .pLabelName = label.c_str(),
+ });
+ }
const auto frame_subresources = vk::ImageSubresourceRange{
.aspectMask = vk::ImageAspectFlagBits::eColor,
@@ -515,8 +588,8 @@ Frame* Presenter::PrepareFrameInternal(VideoCore::ImageId image_id, bool is_eop)
};
const auto pre_barrier =
- vk::ImageMemoryBarrier2{.srcStageMask = vk::PipelineStageFlagBits2::eTransfer,
- .srcAccessMask = vk::AccessFlagBits2::eTransferRead,
+ vk::ImageMemoryBarrier2{.srcStageMask = vk::PipelineStageFlagBits2::eColorAttachmentOutput,
+ .srcAccessMask = vk::AccessFlagBits2::eColorAttachmentRead,
.dstStageMask = vk::PipelineStageFlagBits2::eColorAttachmentOutput,
.dstAccessMask = vk::AccessFlagBits2::eColorAttachmentWrite,
.oldLayout = vk::ImageLayout::eUndefined,
@@ -541,6 +614,13 @@ Frame* Presenter::PrepareFrameInternal(VideoCore::ImageId image_id, bool is_eop)
VideoCore::ImageViewInfo info{};
info.format = image.info.pixel_format;
+ // Exclude alpha from output frame to avoid blending with UI.
+ info.mapping = vk::ComponentMapping{
+ .r = vk::ComponentSwizzle::eIdentity,
+ .g = vk::ComponentSwizzle::eIdentity,
+ .b = vk::ComponentSwizzle::eIdentity,
+ .a = vk::ComponentSwizzle::eOne,
+ };
if (auto view = image.FindView(info)) {
image_info.imageView = *texture_cache.GetImageView(view).image_view;
} else {
@@ -619,6 +699,10 @@ Frame* Presenter::PrepareFrameInternal(VideoCore::ImageId image_id, bool is_eop)
.pImageMemoryBarriers = &post_barrier,
});
+ if (Config::vkHostMarkersEnabled()) {
+ cmdbuf.endDebugUtilsLabelEXT();
+ }
+
// Flush frame creation commands.
frame->ready_semaphore = scheduler.GetMasterSemaphore()->Handle();
frame->ready_tick = scheduler.CurrentTick();
@@ -627,17 +711,19 @@ Frame* Presenter::PrepareFrameInternal(VideoCore::ImageId image_id, bool is_eop)
return frame;
}
-void Presenter::Present(Frame* frame) {
+void Presenter::Present(Frame* frame, bool is_reusing_frame) {
// Free the frame for reuse
const auto free_frame = [&] {
- std::scoped_lock fl{free_mutex};
- free_queue.push(frame);
- free_cv.notify_one();
+ if (!is_reusing_frame) {
+ last_submit_frame = frame;
+ std::scoped_lock fl{free_mutex};
+ free_queue.push(frame);
+ free_cv.notify_one();
+ }
};
// Recreate the swapchain if the window was resized.
- if (window.GetWidth() != swapchain.GetExtent().width ||
- window.GetHeight() != swapchain.GetExtent().height) {
+ if (window.GetWidth() != swapchain.GetWidth() || window.GetHeight() != swapchain.GetHeight()) {
swapchain.Recreate(window.GetWidth(), window.GetHeight());
}
@@ -656,14 +742,19 @@ void Presenter::Present(Frame* frame) {
// the frame's present fence and future GetRenderFrame() call will hang waiting for this frame.
instance.GetDevice().resetFences(frame->present_done);
- ImGui::Core::NewFrame();
+ ImGuiID dockId = ImGui::Core::NewFrame(is_reusing_frame);
const vk::Image swapchain_image = swapchain.Image();
+ const vk::ImageView swapchain_image_view = swapchain.ImageView();
auto& scheduler = present_scheduler;
const auto cmdbuf = scheduler.CommandBuffer();
- ImGui::Core::Render(cmdbuf, frame);
+ if (Config::vkHostMarkersEnabled()) {
+ cmdbuf.beginDebugUtilsLabelEXT(vk::DebugUtilsLabelEXT{
+ .pLabelName = "Present",
+ });
+ }
{
auto* profiler_ctx = instance.GetProfilerContext();
@@ -674,9 +765,9 @@ void Presenter::Present(Frame* frame) {
const std::array pre_barriers{
vk::ImageMemoryBarrier{
.srcAccessMask = vk::AccessFlagBits::eNone,
- .dstAccessMask = vk::AccessFlagBits::eTransferWrite,
+ .dstAccessMask = vk::AccessFlagBits::eColorAttachmentWrite,
.oldLayout = vk::ImageLayout::eUndefined,
- .newLayout = vk::ImageLayout::eTransferDstOptimal,
+ .newLayout = vk::ImageLayout::eColorAttachmentOptimal,
.srcQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED,
.dstQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED,
.image = swapchain_image,
@@ -690,9 +781,9 @@ void Presenter::Present(Frame* frame) {
},
vk::ImageMemoryBarrier{
.srcAccessMask = vk::AccessFlagBits::eColorAttachmentWrite,
- .dstAccessMask = vk::AccessFlagBits::eTransferRead,
+ .dstAccessMask = vk::AccessFlagBits::eColorAttachmentRead,
.oldLayout = vk::ImageLayout::eGeneral,
- .newLayout = vk::ImageLayout::eTransferSrcOptimal,
+ .newLayout = vk::ImageLayout::eShaderReadOnlyOptimal,
.srcQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED,
.dstQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED,
.image = frame->image,
@@ -705,10 +796,11 @@ void Presenter::Present(Frame* frame) {
},
},
};
+
const vk::ImageMemoryBarrier post_barrier{
- .srcAccessMask = vk::AccessFlagBits::eTransferWrite,
+ .srcAccessMask = vk::AccessFlagBits::eColorAttachmentWrite,
.dstAccessMask = vk::AccessFlagBits::eMemoryRead,
- .oldLayout = vk::ImageLayout::eTransferDstOptimal,
+ .oldLayout = vk::ImageLayout::eColorAttachmentOptimal,
.newLayout = vk::ImageLayout::ePresentSrcKHR,
.srcQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED,
.dstQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED,
@@ -723,14 +815,29 @@ void Presenter::Present(Frame* frame) {
};
cmdbuf.pipelineBarrier(vk::PipelineStageFlagBits::eColorAttachmentOutput,
- vk::PipelineStageFlagBits::eTransfer,
+ vk::PipelineStageFlagBits::eColorAttachmentOutput,
vk::DependencyFlagBits::eByRegion, {}, {}, pre_barriers);
- cmdbuf.blitImage(
- frame->image, vk::ImageLayout::eTransferSrcOptimal, swapchain_image,
- vk::ImageLayout::eTransferDstOptimal,
- MakeImageBlitStretch(frame->width, frame->height, extent.width, extent.height),
- vk::Filter::eLinear);
+ { // Draw the game
+ ImGui::PushStyleVar(ImGuiStyleVar_WindowPadding, ImVec2{0.0f});
+ ImGui::SetNextWindowDockID(dockId, ImGuiCond_Once);
+ ImGui::Begin("Display##game_display", nullptr, ImGuiWindowFlags_NoNav);
+
+ ImVec2 contentArea = ImGui::GetContentRegionAvail();
+ const vk::Rect2D imgRect =
+ FitImage(frame->width, frame->height, (s32)contentArea.x, (s32)contentArea.y);
+ ImGui::SetCursorPos(ImGui::GetCursorStartPos() + ImVec2{
+ (float)imgRect.offset.x,
+ (float)imgRect.offset.y,
+ });
+ ImGui::Image(frame->imgui_texture, {
+ static_cast(imgRect.extent.width),
+ static_cast(imgRect.extent.height),
+ });
+ ImGui::End();
+ ImGui::PopStyleVar();
+ }
+ ImGui::Core::Render(cmdbuf, swapchain_image_view, swapchain.GetExtent());
cmdbuf.pipelineBarrier(vk::PipelineStageFlagBits::eAllCommands,
vk::PipelineStageFlagBits::eAllCommands,
@@ -741,6 +848,10 @@ void Presenter::Present(Frame* frame) {
}
}
+ if (Config::vkHostMarkersEnabled()) {
+ cmdbuf.endDebugUtilsLabelEXT();
+ }
+
// Flush vulkan commands.
SubmitInfo info{};
info.AddWait(swapchain.GetImageAcquiredSemaphore());
@@ -756,7 +867,9 @@ void Presenter::Present(Frame* frame) {
}
free_frame();
- DebugState.IncFlipFrameNum();
+ if (!is_reusing_frame) {
+ DebugState.IncFlipFrameNum();
+ }
}
Frame* Presenter::GetRenderFrame() {
@@ -790,9 +903,9 @@ Frame* Presenter::GetRenderFrame() {
}
}
- // If the window dimensions changed, recreate this frame
- if (frame->width != window.GetWidth() || frame->height != window.GetHeight()) {
- RecreateFrame(frame, window.GetWidth(), window.GetHeight());
+ // Initialize default frame image
+ if (frame->width == 0 || frame->height == 0) {
+ RecreateFrame(frame, 1920, 1080);
}
return frame;
diff --git a/src/video_core/renderer_vulkan/vk_presenter.h b/src/video_core/renderer_vulkan/vk_presenter.h
index 4c29af0f0..63cb30834 100644
--- a/src/video_core/renderer_vulkan/vk_presenter.h
+++ b/src/video_core/renderer_vulkan/vk_presenter.h
@@ -5,6 +5,7 @@
#include
+#include "imgui/imgui_config.h"
#include "video_core/amdgpu/liverpool.h"
#include "video_core/renderer_vulkan/vk_instance.h"
#include "video_core/renderer_vulkan/vk_scheduler.h"
@@ -30,6 +31,8 @@ struct Frame {
vk::Fence present_done;
vk::Semaphore ready_semaphore;
u64 ready_tick;
+
+ ImTextureID imgui_texture;
};
enum SchedulerType {
@@ -86,8 +89,9 @@ public:
}
bool ShowSplash(Frame* frame = nullptr);
- void Present(Frame* frame);
+ void Present(Frame* frame, bool is_reusing_frame = false);
void RecreateFrame(Frame* frame, u32 width, u32 height);
+ Frame* PrepareLastFrame();
void FlushDraw() {
SubmitInfo info{};
@@ -121,6 +125,7 @@ private:
vk::UniqueCommandPool command_pool;
std::vector present_frames;
std::queue free_queue;
+ Frame* last_submit_frame;
std::mutex free_mutex;
std::condition_variable free_cv;
std::condition_variable_any frame_cv;
diff --git a/src/video_core/renderer_vulkan/vk_rasterizer.cpp b/src/video_core/renderer_vulkan/vk_rasterizer.cpp
index 920e09131..bac647125 100644
--- a/src/video_core/renderer_vulkan/vk_rasterizer.cpp
+++ b/src/video_core/renderer_vulkan/vk_rasterizer.cpp
@@ -58,6 +58,7 @@ bool Rasterizer::FilterDraw() {
if (regs.color_control.mode == Liverpool::ColorControl::OperationMode::FmaskDecompress) {
// TODO: check for a valid MRT1 to promote the draw to the resolve pass.
LOG_TRACE(Render_Vulkan, "FMask decompression pass skipped");
+ ScopedMarkerInsert("FmaskDecompress");
return false;
}
if (regs.color_control.mode == Liverpool::ColorControl::OperationMode::Resolve) {
@@ -67,6 +68,27 @@ bool Rasterizer::FilterDraw() {
}
if (regs.primitive_type == AmdGpu::PrimitiveType::None) {
LOG_TRACE(Render_Vulkan, "Primitive type 'None' skipped");
+ ScopedMarkerInsert("PrimitiveTypeNone");
+ return false;
+ }
+
+ const bool cb_disabled =
+ regs.color_control.mode == AmdGpu::Liverpool::ColorControl::OperationMode::Disable;
+ const auto depth_copy =
+ regs.depth_render_override.force_z_dirty && regs.depth_render_override.force_z_valid &&
+ regs.depth_buffer.DepthValid() && regs.depth_buffer.DepthWriteValid() &&
+ regs.depth_buffer.DepthAddress() != regs.depth_buffer.DepthWriteAddress();
+ const auto stencil_copy =
+ regs.depth_render_override.force_stencil_dirty &&
+ regs.depth_render_override.force_stencil_valid && regs.depth_buffer.StencilValid() &&
+ regs.depth_buffer.StencilWriteValid() &&
+ regs.depth_buffer.StencilAddress() != regs.depth_buffer.StencilWriteAddress();
+ if (cb_disabled && (depth_copy || stencil_copy)) {
+ // Games may disable color buffer and enable force depth/stencil dirty and valid to
+ // do a copy from one depth-stencil surface to another, without a pixel shader.
+ // We need to detect this case and perform the copy, otherwise it will have no effect.
+ LOG_TRACE(Render_Vulkan, "Performing depth-stencil override copy");
+ DepthStencilCopy(depth_copy, stencil_copy);
return false;
}
@@ -224,10 +246,13 @@ void Rasterizer::EliminateFastClear() {
.layerCount = col_buf.view.slice_max - col_buf.view.slice_start + 1,
};
scheduler.EndRendering();
+ ScopeMarkerBegin(fmt::format("EliminateFastClear:MRT={:#x}:M={:#x}", col_buf.Address(),
+ col_buf.CmaskAddress()));
image.Transit(vk::ImageLayout::eTransferDstOptimal, vk::AccessFlagBits2::eTransferWrite, {});
scheduler.CommandBuffer().clearColorImage(image.image, image.last_state.layout,
LiverpoolToVK::ColorBufferClearValue(col_buf).color,
range);
+ ScopeMarkerEnd();
}
void Rasterizer::Draw(bool is_indexed, u32 index_offset) {
@@ -822,8 +847,6 @@ void Rasterizer::BeginRendering(const GraphicsPipeline& pipeline, RenderState& s
}
void Rasterizer::Resolve() {
- const auto cmdbuf = scheduler.CommandBuffer();
-
// Read from MRT0, average all samples, and write to MRT1, which is one-sample
const auto& mrt0_hint = liverpool->last_cb_extent[0];
const auto& mrt1_hint = liverpool->last_cb_extent[1];
@@ -843,9 +866,12 @@ void Rasterizer::Resolve() {
mrt1_range.base.layer = liverpool->regs.color_buffers[1].view.slice_start;
mrt1_range.extent.layers = liverpool->regs.color_buffers[1].NumSlices() - mrt1_range.base.layer;
+ ScopeMarkerBegin(fmt::format("Resolve:MRT0={:#x}:MRT1={:#x}",
+ liverpool->regs.color_buffers[0].Address(),
+ liverpool->regs.color_buffers[1].Address()));
+
mrt0_image.Transit(vk::ImageLayout::eTransferSrcOptimal, vk::AccessFlagBits2::eTransferRead,
mrt0_range);
-
mrt1_image.Transit(vk::ImageLayout::eTransferDstOptimal, vk::AccessFlagBits2::eTransferWrite,
mrt1_range);
@@ -872,8 +898,9 @@ void Rasterizer::Resolve() {
.dstOffset = {0, 0, 0},
.extent = {mrt1_image.info.size.width, mrt1_image.info.size.height, 1},
};
- cmdbuf.copyImage(mrt0_image.image, vk::ImageLayout::eTransferSrcOptimal, mrt1_image.image,
- vk::ImageLayout::eTransferDstOptimal, region);
+ scheduler.CommandBuffer().copyImage(mrt0_image.image, vk::ImageLayout::eTransferSrcOptimal,
+ mrt1_image.image, vk::ImageLayout::eTransferDstOptimal,
+ region);
} else {
vk::ImageResolve region = {
.srcSubresource =
@@ -894,9 +921,72 @@ void Rasterizer::Resolve() {
.dstOffset = {0, 0, 0},
.extent = {mrt1_image.info.size.width, mrt1_image.info.size.height, 1},
};
- cmdbuf.resolveImage(mrt0_image.image, vk::ImageLayout::eTransferSrcOptimal,
- mrt1_image.image, vk::ImageLayout::eTransferDstOptimal, region);
+ scheduler.CommandBuffer().resolveImage(
+ mrt0_image.image, vk::ImageLayout::eTransferSrcOptimal, mrt1_image.image,
+ vk::ImageLayout::eTransferDstOptimal, region);
}
+
+ ScopeMarkerEnd();
+}
+
+void Rasterizer::DepthStencilCopy(bool is_depth, bool is_stencil) {
+ auto& regs = liverpool->regs;
+
+ auto read_desc = VideoCore::TextureCache::DepthTargetDesc(
+ regs.depth_buffer, regs.depth_view, regs.depth_control,
+ regs.depth_htile_data_base.GetAddress(), liverpool->last_db_extent, false);
+ auto write_desc = VideoCore::TextureCache::DepthTargetDesc(
+ regs.depth_buffer, regs.depth_view, regs.depth_control,
+ regs.depth_htile_data_base.GetAddress(), liverpool->last_db_extent, true);
+
+ auto& read_image = texture_cache.GetImage(texture_cache.FindImage(read_desc));
+ auto& write_image = texture_cache.GetImage(texture_cache.FindImage(write_desc));
+
+ VideoCore::SubresourceRange sub_range;
+ sub_range.base.layer = liverpool->regs.depth_view.slice_start;
+ sub_range.extent.layers = liverpool->regs.depth_view.NumSlices() - sub_range.base.layer;
+
+ ScopeMarkerBegin(fmt::format(
+ "DepthStencilCopy:DR={:#x}:SR={:#x}:DW={:#x}:SW={:#x}", regs.depth_buffer.DepthAddress(),
+ regs.depth_buffer.StencilAddress(), regs.depth_buffer.DepthWriteAddress(),
+ regs.depth_buffer.StencilWriteAddress()));
+
+ read_image.Transit(vk::ImageLayout::eTransferSrcOptimal, vk::AccessFlagBits2::eTransferRead,
+ sub_range);
+ write_image.Transit(vk::ImageLayout::eTransferDstOptimal, vk::AccessFlagBits2::eTransferWrite,
+ sub_range);
+
+ auto aspect_mask = vk::ImageAspectFlags(0);
+ if (is_depth) {
+ aspect_mask |= vk::ImageAspectFlagBits::eDepth;
+ }
+ if (is_stencil) {
+ aspect_mask |= vk::ImageAspectFlagBits::eStencil;
+ }
+ vk::ImageCopy region = {
+ .srcSubresource =
+ {
+ .aspectMask = aspect_mask,
+ .mipLevel = 0,
+ .baseArrayLayer = sub_range.base.layer,
+ .layerCount = sub_range.extent.layers,
+ },
+ .srcOffset = {0, 0, 0},
+ .dstSubresource =
+ {
+ .aspectMask = aspect_mask,
+ .mipLevel = 0,
+ .baseArrayLayer = sub_range.base.layer,
+ .layerCount = sub_range.extent.layers,
+ },
+ .dstOffset = {0, 0, 0},
+ .extent = {write_image.info.size.width, write_image.info.size.height, 1},
+ };
+ scheduler.CommandBuffer().copyImage(read_image.image, vk::ImageLayout::eTransferSrcOptimal,
+ write_image.image, vk::ImageLayout::eTransferDstOptimal,
+ region);
+
+ ScopeMarkerEnd();
}
void Rasterizer::InlineData(VAddr address, const void* value, u32 num_bytes, bool is_gds) {
@@ -1122,42 +1212,43 @@ void Rasterizer::UpdateViewportScissorState() {
cmdbuf.setScissorWithCountEXT(scissors);
}
-void Rasterizer::ScopeMarkerBegin(const std::string_view& str) {
- if (Config::nullGpu() || !Config::vkMarkersEnabled()) {
+void Rasterizer::ScopeMarkerBegin(const std::string_view& str, bool from_guest) {
+ if ((from_guest && !Config::vkGuestMarkersEnabled()) ||
+ (!from_guest && !Config::vkHostMarkersEnabled())) {
return;
}
-
const auto cmdbuf = scheduler.CommandBuffer();
cmdbuf.beginDebugUtilsLabelEXT(vk::DebugUtilsLabelEXT{
.pLabelName = str.data(),
});
}
-void Rasterizer::ScopeMarkerEnd() {
- if (Config::nullGpu() || !Config::vkMarkersEnabled()) {
+void Rasterizer::ScopeMarkerEnd(bool from_guest) {
+ if ((from_guest && !Config::vkGuestMarkersEnabled()) ||
+ (!from_guest && !Config::vkHostMarkersEnabled())) {
return;
}
-
const auto cmdbuf = scheduler.CommandBuffer();
cmdbuf.endDebugUtilsLabelEXT();
}
-void Rasterizer::ScopedMarkerInsert(const std::string_view& str) {
- if (Config::nullGpu() || !Config::vkMarkersEnabled()) {
+void Rasterizer::ScopedMarkerInsert(const std::string_view& str, bool from_guest) {
+ if ((from_guest && !Config::vkGuestMarkersEnabled()) ||
+ (!from_guest && !Config::vkHostMarkersEnabled())) {
return;
}
-
const auto cmdbuf = scheduler.CommandBuffer();
cmdbuf.insertDebugUtilsLabelEXT(vk::DebugUtilsLabelEXT{
.pLabelName = str.data(),
});
}
-void Rasterizer::ScopedMarkerInsertColor(const std::string_view& str, const u32 color) {
- if (Config::nullGpu() || !Config::vkMarkersEnabled()) {
+void Rasterizer::ScopedMarkerInsertColor(const std::string_view& str, const u32 color,
+ bool from_guest) {
+ if ((from_guest && !Config::vkGuestMarkersEnabled()) ||
+ (!from_guest && !Config::vkHostMarkersEnabled())) {
return;
}
-
const auto cmdbuf = scheduler.CommandBuffer();
cmdbuf.insertDebugUtilsLabelEXT(vk::DebugUtilsLabelEXT{
.pLabelName = str.data(),
diff --git a/src/video_core/renderer_vulkan/vk_rasterizer.h b/src/video_core/renderer_vulkan/vk_rasterizer.h
index 2905c5ddb..abf58e522 100644
--- a/src/video_core/renderer_vulkan/vk_rasterizer.h
+++ b/src/video_core/renderer_vulkan/vk_rasterizer.h
@@ -47,10 +47,11 @@ public:
void DispatchDirect();
void DispatchIndirect(VAddr address, u32 offset, u32 size);
- void ScopeMarkerBegin(const std::string_view& str);
- void ScopeMarkerEnd();
- void ScopedMarkerInsert(const std::string_view& str);
- void ScopedMarkerInsertColor(const std::string_view& str, const u32 color);
+ void ScopeMarkerBegin(const std::string_view& str, bool from_guest = false);
+ void ScopeMarkerEnd(bool from_guest = false);
+ void ScopedMarkerInsert(const std::string_view& str, bool from_guest = false);
+ void ScopedMarkerInsertColor(const std::string_view& str, const u32 color,
+ bool from_guest = false);
void InlineData(VAddr address, const void* value, u32 num_bytes, bool is_gds);
u32 ReadDataFromGds(u32 gsd_offset);
@@ -71,6 +72,7 @@ private:
RenderState PrepareRenderState(u32 mrt_mask);
void BeginRendering(const GraphicsPipeline& pipeline, RenderState& state);
void Resolve();
+ void DepthStencilCopy(bool is_depth, bool is_stencil);
void EliminateFastClear();
void UpdateDynamicState(const GraphicsPipeline& pipeline);
diff --git a/src/video_core/renderer_vulkan/vk_resource_pool.cpp b/src/video_core/renderer_vulkan/vk_resource_pool.cpp
index dba603e71..5eae32e70 100644
--- a/src/video_core/renderer_vulkan/vk_resource_pool.cpp
+++ b/src/video_core/renderer_vulkan/vk_resource_pool.cpp
@@ -73,9 +73,7 @@ CommandPool::CommandPool(const Instance& instance, MasterSemaphore* master_semap
ASSERT_MSG(pool_result == vk::Result::eSuccess, "Failed to create command pool: {}",
vk::to_string(pool_result));
cmd_pool = std::move(pool);
- if (instance.HasDebuggingToolAttached()) {
- SetObjectName(device, *cmd_pool, "CommandPool");
- }
+ SetObjectName(device, *cmd_pool, "CommandPool");
}
CommandPool::~CommandPool() = default;
@@ -94,10 +92,8 @@ void CommandPool::Allocate(std::size_t begin, std::size_t end) {
device.allocateCommandBuffers(&buffer_alloc_info, cmd_buffers.data() + begin);
ASSERT(result == vk::Result::eSuccess);
- if (instance.HasDebuggingToolAttached()) {
- for (std::size_t i = begin; i < end; ++i) {
- SetObjectName(device, cmd_buffers[i], "CommandPool: Command Buffer {}", i);
- }
+ for (std::size_t i = begin; i < end; ++i) {
+ SetObjectName(device, cmd_buffers[i], "CommandPool: Command Buffer {}", i);
}
}
diff --git a/src/video_core/renderer_vulkan/vk_swapchain.cpp b/src/video_core/renderer_vulkan/vk_swapchain.cpp
index 44f4be6dd..438fe30ce 100644
--- a/src/video_core/renderer_vulkan/vk_swapchain.cpp
+++ b/src/video_core/renderer_vulkan/vk_swapchain.cpp
@@ -5,6 +5,7 @@
#include
#include "common/assert.h"
#include "common/logging/log.h"
+#include "imgui/renderer/imgui_core.h"
#include "sdl_window.h"
#include "video_core/renderer_vulkan/vk_instance.h"
#include "video_core/renderer_vulkan/vk_swapchain.h"
@@ -14,7 +15,9 @@ namespace Vulkan {
Swapchain::Swapchain(const Instance& instance_, const Frontend::WindowSDL& window)
: instance{instance_}, surface{CreateSurface(instance.GetInstance(), window)} {
FindPresentFormat();
- Create(window.GetWidth(), window.GetHeight(), surface);
+
+ Create(window.GetWidth(), window.GetHeight());
+ ImGui::Core::Initialize(instance, window, image_count, view_format);
}
Swapchain::~Swapchain() {
@@ -22,10 +25,9 @@ Swapchain::~Swapchain() {
instance.GetInstance().destroySurfaceKHR(surface);
}
-void Swapchain::Create(u32 width_, u32 height_, vk::SurfaceKHR surface_) {
+void Swapchain::Create(u32 width_, u32 height_) {
width = width_;
height = height_;
- surface = surface_;
needs_recreation = false;
Destroy();
@@ -55,7 +57,17 @@ void Swapchain::Create(u32 width_, u32 height_, vk::SurfaceKHR surface_) {
const u32 queue_family_indices_count = exclusive ? 1u : 2u;
const vk::SharingMode sharing_mode =
exclusive ? vk::SharingMode::eExclusive : vk::SharingMode::eConcurrent;
+ const vk::Format view_formats[2] = {
+ surface_format.format,
+ view_format,
+ };
+ const vk::ImageFormatListCreateInfo format_list = {
+ .viewFormatCount = 2,
+ .pViewFormats = view_formats,
+ };
const vk::SwapchainCreateInfoKHR swapchain_info = {
+ .pNext = &format_list,
+ .flags = vk::SwapchainCreateFlagBitsKHR::eMutableFormat,
.surface = surface,
.minImageCount = image_count,
.imageFormat = surface_format.format,
@@ -85,7 +97,7 @@ void Swapchain::Create(u32 width_, u32 height_, vk::SurfaceKHR surface_) {
void Swapchain::Recreate(u32 width_, u32 height_) {
LOG_DEBUG(Render_Vulkan, "Recreate the swapchain: width={} height={}", width_, height_);
- Create(width_, height_, surface);
+ Create(width_, height_);
}
bool Swapchain::AcquireNextImage() {
@@ -147,6 +159,7 @@ void Swapchain::FindPresentFormat() {
if (formats[0].format == vk::Format::eUndefined) {
surface_format.format = vk::Format::eR8G8B8A8Srgb;
surface_format.colorSpace = vk::ColorSpaceKHR::eSrgbNonlinear;
+ view_format = FormatToUnorm(surface_format.format);
return;
}
@@ -159,6 +172,7 @@ void Swapchain::FindPresentFormat() {
surface_format.format = format;
surface_format.colorSpace = sformat.colorSpace;
+ view_format = FormatToUnorm(surface_format.format);
return;
}
@@ -208,10 +222,14 @@ void Swapchain::Destroy() {
if (swapchain) {
device.destroySwapchainKHR(swapchain);
}
- for (u32 i = 0; i < image_count; i++) {
- device.destroySemaphore(image_acquired[i]);
- device.destroySemaphore(present_ready[i]);
+
+ for (const auto& sem : image_acquired) {
+ device.destroySemaphore(sem);
}
+ for (const auto& sem : present_ready) {
+ device.destroySemaphore(sem);
+ }
+
image_acquired.clear();
present_ready.clear();
}
@@ -235,11 +253,9 @@ void Swapchain::RefreshSemaphores() {
semaphore = sem;
}
- if (instance.HasDebuggingToolAttached()) {
- for (u32 i = 0; i < image_count; ++i) {
- SetObjectName(device, image_acquired[i], "Swapchain Semaphore: image_acquired {}", i);
- SetObjectName(device, present_ready[i], "Swapchain Semaphore: present_ready {}", i);
- }
+ for (u32 i = 0; i < image_count; ++i) {
+ SetObjectName(device, image_acquired[i], "Swapchain Semaphore: image_acquired {}", i);
+ SetObjectName(device, present_ready[i], "Swapchain Semaphore: present_ready {}", i);
}
}
@@ -250,11 +266,30 @@ void Swapchain::SetupImages() {
vk::to_string(images_result));
images = std::move(imgs);
image_count = static_cast(images.size());
-
- if (instance.HasDebuggingToolAttached()) {
- for (u32 i = 0; i < image_count; ++i) {
- SetObjectName(device, images[i], "Swapchain Image {}", i);
+ images_view.resize(image_count);
+ for (u32 i = 0; i < image_count; ++i) {
+ if (images_view[i]) {
+ device.destroyImageView(images_view[i]);
}
+ auto [im_view_result, im_view] = device.createImageView(vk::ImageViewCreateInfo{
+ .image = images[i],
+ .viewType = vk::ImageViewType::e2D,
+ .format = FormatToUnorm(surface_format.format),
+ .subresourceRange =
+ {
+ .aspectMask = vk::ImageAspectFlagBits::eColor,
+ .levelCount = 1,
+ .layerCount = 1,
+ },
+ });
+ ASSERT_MSG(im_view_result == vk::Result::eSuccess, "Failed to create image view: {}",
+ vk::to_string(im_view_result));
+ images_view[i] = im_view;
+ }
+
+ for (u32 i = 0; i < image_count; ++i) {
+ SetObjectName(device, images[i], "Swapchain Image {}", i);
+ SetObjectName(device, images_view[i], "Swapchain ImageView {}", i);
}
}
diff --git a/src/video_core/renderer_vulkan/vk_swapchain.h b/src/video_core/renderer_vulkan/vk_swapchain.h
index 19ae9b2d2..9da75c758 100644
--- a/src/video_core/renderer_vulkan/vk_swapchain.h
+++ b/src/video_core/renderer_vulkan/vk_swapchain.h
@@ -17,13 +17,24 @@ namespace Vulkan {
class Instance;
class Scheduler;
+inline vk::Format FormatToUnorm(vk::Format fmt) {
+ switch (fmt) {
+ case vk::Format::eR8G8B8A8Srgb:
+ return vk::Format::eR8G8B8A8Unorm;
+ case vk::Format::eB8G8R8A8Srgb:
+ return vk::Format::eB8G8R8A8Unorm;
+ default:
+ UNREACHABLE();
+ }
+}
+
class Swapchain {
public:
explicit Swapchain(const Instance& instance, const Frontend::WindowSDL& window);
~Swapchain();
/// Creates (or recreates) the swapchain with a given size.
- void Create(u32 width, u32 height, vk::SurfaceKHR surface);
+ void Create(u32 width, u32 height);
/// Recreates the swapchain with a given size and current surface.
void Recreate(u32 width, u32 height);
@@ -42,10 +53,18 @@ public:
return images[image_index];
}
+ vk::ImageView ImageView() const {
+ return images_view[image_index];
+ }
+
vk::SurfaceFormatKHR GetSurfaceFormat() const {
return surface_format;
}
+ vk::Format GetViewFormat() const {
+ return view_format;
+ }
+
vk::SwapchainKHR GetHandle() const {
return swapchain;
}
@@ -99,10 +118,12 @@ private:
vk::SwapchainKHR swapchain{};
vk::SurfaceKHR surface{};
vk::SurfaceFormatKHR surface_format;
+ vk::Format view_format;
vk::Extent2D extent;
vk::SurfaceTransformFlagBitsKHR transform;
vk::CompositeAlphaFlagBitsKHR composite_alpha;
std::vector images;
+ std::vector images_view;
std::vector image_acquired;
std::vector present_ready;
u32 width = 0;
diff --git a/src/video_core/texture_cache/image_info.cpp b/src/video_core/texture_cache/image_info.cpp
index 58c2a8e23..07a0488f3 100644
--- a/src/video_core/texture_cache/image_info.cpp
+++ b/src/video_core/texture_cache/image_info.cpp
@@ -98,7 +98,8 @@ ImageInfo::ImageInfo(const AmdGpu::Liverpool::ColorBuffer& buffer,
}
ImageInfo::ImageInfo(const AmdGpu::Liverpool::DepthBuffer& buffer, u32 num_slices,
- VAddr htile_address, const AmdGpu::Liverpool::CbDbExtent& hint) noexcept {
+ VAddr htile_address, const AmdGpu::Liverpool::CbDbExtent& hint,
+ bool write_buffer) noexcept {
props.is_tiled = false;
pixel_format = LiverpoolToVK::DepthFormat(buffer.z_info.format, buffer.stencil_info.format);
type = vk::ImageType::e2D;
@@ -111,10 +112,10 @@ ImageInfo::ImageInfo(const AmdGpu::Liverpool::DepthBuffer& buffer, u32 num_slice
resources.layers = num_slices;
meta_info.htile_addr = buffer.z_info.tile_surface_en ? htile_address : 0;
- stencil_addr = buffer.StencilAddress();
+ stencil_addr = write_buffer ? buffer.StencilWriteAddress() : buffer.StencilAddress();
stencil_size = pitch * size.height * sizeof(u8);
- guest_address = buffer.Address();
+ guest_address = write_buffer ? buffer.DepthWriteAddress() : buffer.DepthAddress();
const auto depth_slice_sz = buffer.GetDepthSliceSize();
guest_size = depth_slice_sz * num_slices;
mips_layout.emplace_back(depth_slice_sz, pitch, 0);
@@ -182,6 +183,7 @@ void ImageInfo::UpdateSize() {
case AmdGpu::TilingMode::Texture_Volume:
mip_d += (-mip_d) & 3u;
[[fallthrough]];
+ case AmdGpu::TilingMode::Display_MicroTiled:
case AmdGpu::TilingMode::Texture_MicroTiled: {
std::tie(mip_info.pitch, mip_info.size) =
ImageSizeMicroTiled(mip_w, mip_h, bpp, num_samples);
diff --git a/src/video_core/texture_cache/image_info.h b/src/video_core/texture_cache/image_info.h
index 123540c1e..dad0e751e 100644
--- a/src/video_core/texture_cache/image_info.h
+++ b/src/video_core/texture_cache/image_info.h
@@ -19,7 +19,7 @@ struct ImageInfo {
ImageInfo(const AmdGpu::Liverpool::ColorBuffer& buffer,
const AmdGpu::Liverpool::CbDbExtent& hint = {}) noexcept;
ImageInfo(const AmdGpu::Liverpool::DepthBuffer& buffer, u32 num_slices, VAddr htile_address,
- const AmdGpu::Liverpool::CbDbExtent& hint = {}) noexcept;
+ const AmdGpu::Liverpool::CbDbExtent& hint = {}, bool write_buffer = false) noexcept;
ImageInfo(const AmdGpu::Image& image, const Shader::ImageResource& desc) noexcept;
bool IsTiled() const {
diff --git a/src/video_core/texture_cache/image_view.cpp b/src/video_core/texture_cache/image_view.cpp
index d90b78c67..6b1349386 100644
--- a/src/video_core/texture_cache/image_view.cpp
+++ b/src/video_core/texture_cache/image_view.cpp
@@ -82,13 +82,12 @@ ImageView::ImageView(const Vulkan::Instance& instance, const ImageViewInfo& info
vk::Format format = info.format;
vk::ImageAspectFlags aspect = image.aspect_mask;
if (image.aspect_mask & vk::ImageAspectFlagBits::eDepth &&
- (format == vk::Format::eR32Sfloat || format == vk::Format::eD32Sfloat ||
- format == vk::Format::eR16Unorm || format == vk::Format::eD16Unorm)) {
+ Vulkan::LiverpoolToVK::IsFormatDepthCompatible(format)) {
format = image.info.pixel_format;
aspect = vk::ImageAspectFlagBits::eDepth;
}
if (image.aspect_mask & vk::ImageAspectFlagBits::eStencil &&
- (format == vk::Format::eR8Uint || format == vk::Format::eR8Unorm)) {
+ Vulkan::LiverpoolToVK::IsFormatStencilCompatible(format)) {
format = image.info.pixel_format;
aspect = vk::ImageAspectFlagBits::eStencil;
}
@@ -111,6 +110,13 @@ ImageView::ImageView(const Vulkan::Instance& instance, const ImageViewInfo& info
ASSERT_MSG(view_result == vk::Result::eSuccess, "Failed to create image view: {}",
vk::to_string(view_result));
image_view = std::move(view);
+
+ const auto view_aspect = aspect & vk::ImageAspectFlagBits::eDepth ? "Depth"
+ : aspect & vk::ImageAspectFlagBits::eStencil ? "Stencil"
+ : "Color";
+ Vulkan::SetObjectName(instance.GetDevice(), *image_view, "ImageView {}x{}x{} {:#x}:{:#x} ({})",
+ image.info.size.width, image.info.size.height, image.info.size.depth,
+ image.info.guest_address, image.info.guest_size, view_aspect);
}
ImageView::~ImageView() = default;
diff --git a/src/video_core/texture_cache/texture_cache.cpp b/src/video_core/texture_cache/texture_cache.cpp
index bef083d1a..a281b89c9 100644
--- a/src/video_core/texture_cache/texture_cache.cpp
+++ b/src/video_core/texture_cache/texture_cache.cpp
@@ -469,9 +469,6 @@ ImageView& TextureCache::FindDepthTarget(BaseDesc& desc) {
}
void TextureCache::RefreshImage(Image& image, Vulkan::Scheduler* custom_scheduler /*= nullptr*/) {
- RENDERER_TRACE;
- TRACE_HINT(fmt::format("{:x}:{:x}", image.info.guest_address, image.info.guest_size));
-
if (False(image.flags & ImageFlagBits::Dirty)) {
return;
}
@@ -480,6 +477,9 @@ void TextureCache::RefreshImage(Image& image, Vulkan::Scheduler* custom_schedule
return;
}
+ RENDERER_TRACE;
+ TRACE_HINT(fmt::format("{:x}:{:x}", image.info.guest_address, image.info.guest_size));
+
if (True(image.flags & ImageFlagBits::MaybeCpuDirty) &&
False(image.flags & ImageFlagBits::CpuDirty)) {
// The image size should be less than page size to be considered MaybeCpuDirty
diff --git a/src/video_core/texture_cache/texture_cache.h b/src/video_core/texture_cache/texture_cache.h
index 69907f000..343a510e6 100644
--- a/src/video_core/texture_cache/texture_cache.h
+++ b/src/video_core/texture_cache/texture_cache.h
@@ -79,9 +79,9 @@ public:
DepthTargetDesc(const AmdGpu::Liverpool::DepthBuffer& buffer,
const AmdGpu::Liverpool::DepthView& view,
const AmdGpu::Liverpool::DepthControl& ctl, VAddr htile_address,
- const AmdGpu::Liverpool::CbDbExtent& hint = {})
+ const AmdGpu::Liverpool::CbDbExtent& hint = {}, bool write_buffer = false)
: BaseDesc{BindingType::DepthTarget,
- ImageInfo{buffer, view.NumSlices(), htile_address, hint},
+ ImageInfo{buffer, view.NumSlices(), htile_address, hint, write_buffer},
ImageViewInfo{buffer, view, ctl}} {}
};
diff --git a/src/video_core/texture_cache/tile_manager.cpp b/src/video_core/texture_cache/tile_manager.cpp
index aba255ce5..ede91d128 100644
--- a/src/video_core/texture_cache/tile_manager.cpp
+++ b/src/video_core/texture_cache/tile_manager.cpp
@@ -8,6 +8,7 @@
#include "video_core/texture_cache/image_view.h"
#include "video_core/texture_cache/tile_manager.h"
+#include "video_core/host_shaders/detilers/display_micro_64bpp_comp.h"
#include "video_core/host_shaders/detilers/macro_32bpp_comp.h"
#include "video_core/host_shaders/detilers/macro_64bpp_comp.h"
#include "video_core/host_shaders/detilers/macro_8bpp_comp.h"
@@ -53,6 +54,14 @@ const DetilerContext* TileManager::GetDetiler(const ImageInfo& info) const {
return nullptr;
}
break;
+ case AmdGpu::TilingMode::Display_MicroTiled:
+ switch (bpp) {
+ case 64:
+ return &detilers[DetilerType::Display_Micro64];
+ default:
+ return nullptr;
+ }
+ break;
default:
return nullptr;
}
@@ -68,10 +77,11 @@ struct DetilerParams {
TileManager::TileManager(const Vulkan::Instance& instance, Vulkan::Scheduler& scheduler)
: instance{instance}, scheduler{scheduler} {
static const std::array detiler_shaders{
- HostShaders::MICRO_8BPP_COMP, HostShaders::MICRO_16BPP_COMP,
- HostShaders::MICRO_32BPP_COMP, HostShaders::MICRO_64BPP_COMP,
- HostShaders::MICRO_128BPP_COMP, HostShaders::MACRO_8BPP_COMP,
- HostShaders::MACRO_32BPP_COMP, HostShaders::MACRO_64BPP_COMP,
+ HostShaders::MICRO_8BPP_COMP, HostShaders::MICRO_16BPP_COMP,
+ HostShaders::MICRO_32BPP_COMP, HostShaders::MICRO_64BPP_COMP,
+ HostShaders::MICRO_128BPP_COMP, HostShaders::MACRO_8BPP_COMP,
+ HostShaders::MACRO_32BPP_COMP, HostShaders::MACRO_64BPP_COMP,
+ HostShaders::DISPLAY_MICRO_64BPP_COMP,
};
boost::container::static_vector bindings{
@@ -258,7 +268,8 @@ std::pair TileManager::TryDetile(vk::Buffer in_buffer, u32 in_o
params.num_levels = info.resources.levels;
params.pitch0 = info.pitch >> (info.props.is_block ? 2u : 0u);
params.height = info.size.height;
- if (info.tiling_mode == AmdGpu::TilingMode::Texture_Volume) {
+ if (info.tiling_mode == AmdGpu::TilingMode::Texture_Volume ||
+ info.tiling_mode == AmdGpu::TilingMode::Display_MicroTiled) {
ASSERT(info.resources.levels == 1);
const auto tiles_per_row = info.pitch / 8u;
const auto tiles_per_slice = tiles_per_row * ((info.size.height + 7u) / 8u);
diff --git a/src/video_core/texture_cache/tile_manager.h b/src/video_core/texture_cache/tile_manager.h
index 4eae7be9e..adda16b3d 100644
--- a/src/video_core/texture_cache/tile_manager.h
+++ b/src/video_core/texture_cache/tile_manager.h
@@ -22,6 +22,8 @@ enum DetilerType : u32 {
Macro32,
Macro64,
+ Display_Micro64,
+
Max
};