diff --git a/CMakeLists.txt b/CMakeLists.txt index 2400ea81..1237432d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -152,6 +152,8 @@ set(SYSTEM_LIBS src/core/libraries/system/commondialog.cpp src/core/libraries/system/systemservice.h src/core/libraries/system/userservice.cpp src/core/libraries/system/userservice.h + src/core/libraries/app_content/app_content.cpp + src/core/libraries/app_content/app_content.h ) set(VIDEOOUT_LIB src/core/libraries/videoout/buffer.h diff --git a/src/common/logging/filter.cpp b/src/common/logging/filter.cpp index a86c5ac8..e6e79def 100644 --- a/src/common/logging/filter.cpp +++ b/src/common/logging/filter.cpp @@ -101,6 +101,7 @@ bool ParseFilterRule(Filter& instance, Iterator begin, Iterator end) { SUB(Lib, NpTrophy) \ SUB(Lib, Screenshot) \ SUB(Lib, LibCInternal) \ + SUB(Lib, AppContent) \ CLS(Frontend) \ CLS(Render) \ SUB(Render, Vulkan) \ diff --git a/src/common/logging/types.h b/src/common/logging/types.h index 908cecd9..2defd7be 100644 --- a/src/common/logging/types.h +++ b/src/common/logging/types.h @@ -68,6 +68,7 @@ enum class Class : u8 { Lib_NpTrophy, ///< The LibSceNpTrophy implementation Lib_Screenshot, ///< The LibSceScreenshot implementation Lib_LibCInternal, ///< The LibCInternal implementation. + Lib_AppContent, ///< The LibSceAppContent implementation. Frontend, ///< Emulator UI Render, ///< Video Core Render_Vulkan, ///< Vulkan backend diff --git a/src/core/libraries/app_content/app_content.cpp b/src/core/libraries/app_content/app_content.cpp new file mode 100644 index 00000000..b05ac1b4 --- /dev/null +++ b/src/core/libraries/app_content/app_content.cpp @@ -0,0 +1,283 @@ +// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project +// SPDX-License-Identifier: GPL-2.0-or-later + +// Generated By moduleGenerator +#include +#include "app_content.h" +#include "common/logging/log.h" +#include "core/libraries/error_codes.h" +#include "core/libraries/libs.h" + +namespace Libraries::AppContent { + +int PS4_SYSV_ABI _Z5dummyv() { + LOG_ERROR(Lib_AppContent, "(STUBBED) called"); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAppContentAddcontDelete() { + LOG_ERROR(Lib_AppContent, "(STUBBED) called"); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAppContentAddcontEnqueueDownload() { + LOG_ERROR(Lib_AppContent, "(STUBBED) called"); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAppContentAddcontEnqueueDownloadSp() { + LOG_ERROR(Lib_AppContent, "(STUBBED) called"); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAppContentAddcontMount() { + LOG_ERROR(Lib_AppContent, "(STUBBED) called"); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAppContentAddcontShrink() { + LOG_ERROR(Lib_AppContent, "(STUBBED) called"); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAppContentAddcontUnmount() { + LOG_ERROR(Lib_AppContent, "(STUBBED) called"); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAppContentAppParamGetInt() { + LOG_ERROR(Lib_AppContent, "(STUBBED) called"); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAppContentAppParamGetString() { + LOG_ERROR(Lib_AppContent, "(STUBBED) called"); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAppContentDownload0Expand() { + LOG_ERROR(Lib_AppContent, "(STUBBED) called"); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAppContentDownload0Shrink() { + LOG_ERROR(Lib_AppContent, "(STUBBED) called"); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAppContentDownload1Expand() { + LOG_ERROR(Lib_AppContent, "(STUBBED) called"); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAppContentDownload1Shrink() { + LOG_ERROR(Lib_AppContent, "(STUBBED) called"); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAppContentDownloadDataFormat() { + LOG_ERROR(Lib_AppContent, "(STUBBED) called"); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAppContentDownloadDataGetAvailableSpaceKb() { + LOG_ERROR(Lib_AppContent, "(STUBBED) called"); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAppContentGetAddcontDownloadProgress() { + LOG_ERROR(Lib_AppContent, "(STUBBED) called"); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAppContentGetAddcontInfo() { + LOG_ERROR(Lib_AppContent, "(STUBBED) called"); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAppContentGetAddcontInfoList() { + LOG_ERROR(Lib_AppContent, "(STUBBED) called"); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAppContentGetEntitlementKey() { + LOG_ERROR(Lib_AppContent, "(STUBBED) called"); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAppContentGetRegion() { + LOG_ERROR(Lib_AppContent, "(STUBBED) called"); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAppContentInitialize(const OrbisAppContentInitParam* initParam, + OrbisAppContentBootParam* bootParam) { + LOG_ERROR(Lib_AppContent, "(DUMMY) called"); + bootParam->attr = 0; // always 0 + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAppContentRequestPatchInstall() { + LOG_ERROR(Lib_AppContent, "(STUBBED) called"); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAppContentSmallSharedDataFormat() { + LOG_ERROR(Lib_AppContent, "(STUBBED) called"); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAppContentSmallSharedDataGetAvailableSpaceKb() { + LOG_ERROR(Lib_AppContent, "(STUBBED) called"); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAppContentSmallSharedDataMount() { + LOG_ERROR(Lib_AppContent, "(STUBBED) called"); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAppContentSmallSharedDataUnmount() { + LOG_ERROR(Lib_AppContent, "(STUBBED) called"); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAppContentTemporaryDataFormat() { + LOG_ERROR(Lib_AppContent, "(STUBBED) called"); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAppContentTemporaryDataGetAvailableSpaceKb() { + LOG_ERROR(Lib_AppContent, "(STUBBED) called"); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAppContentTemporaryDataMount() { + LOG_ERROR(Lib_AppContent, "(STUBBED) called"); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAppContentTemporaryDataMount2() { + LOG_ERROR(Lib_AppContent, "(STUBBED) called"); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAppContentTemporaryDataUnmount() { + LOG_ERROR(Lib_AppContent, "(STUBBED) called"); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAppContentGetPftFlag() { + LOG_ERROR(Lib_AppContent, "(STUBBED) called"); + return ORBIS_OK; +} + +int PS4_SYSV_ABI Func_C59A36FF8D7C59DA() { + LOG_ERROR(Lib_AppContent, "(STUBBED) called"); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAppContentAddcontEnqueueDownloadByEntitlemetId() { + LOG_ERROR(Lib_AppContent, "(STUBBED) called"); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAppContentAddcontMountByEntitlemetId() { + LOG_ERROR(Lib_AppContent, "(STUBBED) called"); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAppContentGetAddcontInfoByEntitlementId() { + LOG_ERROR(Lib_AppContent, "(STUBBED) called"); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAppContentGetAddcontInfoListByIroTag() { + LOG_ERROR(Lib_AppContent, "(STUBBED) called"); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAppContentGetDownloadedStoreCountry() { + LOG_ERROR(Lib_AppContent, "(STUBBED) called"); + return ORBIS_OK; +} + +void RegisterlibSceAppContent(Core::Loader::SymbolsResolver* sym) { + LIB_FUNCTION("AS45QoYHjc4", "libSceAppContent", 1, "libSceAppContentUtil", 1, 1, _Z5dummyv); + LIB_FUNCTION("ZiATpP9gEkA", "libSceAppContent", 1, "libSceAppContentUtil", 1, 1, + sceAppContentAddcontDelete); + LIB_FUNCTION("7gxh+5QubhY", "libSceAppContent", 1, "libSceAppContentUtil", 1, 1, + sceAppContentAddcontEnqueueDownload); + LIB_FUNCTION("TVM-aYIsG9k", "libSceAppContent", 1, "libSceAppContentUtil", 1, 1, + sceAppContentAddcontEnqueueDownloadSp); + LIB_FUNCTION("VANhIWcqYak", "libSceAppContent", 1, "libSceAppContentUtil", 1, 1, + sceAppContentAddcontMount); + LIB_FUNCTION("D3H+cjfzzFY", "libSceAppContent", 1, "libSceAppContentUtil", 1, 1, + sceAppContentAddcontShrink); + LIB_FUNCTION("3rHWaV-1KC4", "libSceAppContent", 1, "libSceAppContentUtil", 1, 1, + sceAppContentAddcontUnmount); + LIB_FUNCTION("99b82IKXpH4", "libSceAppContent", 1, "libSceAppContentUtil", 1, 1, + sceAppContentAppParamGetInt); + LIB_FUNCTION("+OlXCu8qxUk", "libSceAppContent", 1, "libSceAppContentUtil", 1, 1, + sceAppContentAppParamGetString); + LIB_FUNCTION("gpGZDB4ZlrI", "libSceAppContent", 1, "libSceAppContentUtil", 1, 1, + sceAppContentDownload0Expand); + LIB_FUNCTION("S5eMvWnbbXg", "libSceAppContent", 1, "libSceAppContentUtil", 1, 1, + sceAppContentDownload0Shrink); + LIB_FUNCTION("B5gVeVurdUA", "libSceAppContent", 1, "libSceAppContentUtil", 1, 1, + sceAppContentDownload1Expand); + LIB_FUNCTION("kUeYucqnb7o", "libSceAppContent", 1, "libSceAppContentUtil", 1, 1, + sceAppContentDownload1Shrink); + LIB_FUNCTION("CN7EbEV7MFU", "libSceAppContent", 1, "libSceAppContentUtil", 1, 1, + sceAppContentDownloadDataFormat); + LIB_FUNCTION("Gl6w5i0JokY", "libSceAppContent", 1, "libSceAppContentUtil", 1, 1, + sceAppContentDownloadDataGetAvailableSpaceKb); + LIB_FUNCTION("5bvvbUSiFs4", "libSceAppContent", 1, "libSceAppContentUtil", 1, 1, + sceAppContentGetAddcontDownloadProgress); + LIB_FUNCTION("m47juOmH0VE", "libSceAppContent", 1, "libSceAppContentUtil", 1, 1, + sceAppContentGetAddcontInfo); + LIB_FUNCTION("xnd8BJzAxmk", "libSceAppContent", 1, "libSceAppContentUtil", 1, 1, + sceAppContentGetAddcontInfoList); + LIB_FUNCTION("XTWR0UXvcgs", "libSceAppContent", 1, "libSceAppContentUtil", 1, 1, + sceAppContentGetEntitlementKey); + LIB_FUNCTION("74-1x3lyZK8", "libSceAppContent", 1, "libSceAppContentUtil", 1, 1, + sceAppContentGetRegion); + LIB_FUNCTION("R9lA82OraNs", "libSceAppContent", 1, "libSceAppContentUtil", 1, 1, + sceAppContentInitialize); + LIB_FUNCTION("bVtF7v2uqT0", "libSceAppContent", 1, "libSceAppContentUtil", 1, 1, + sceAppContentRequestPatchInstall); + LIB_FUNCTION("9Gq5rOkWzNU", "libSceAppContent", 1, "libSceAppContentUtil", 1, 1, + sceAppContentSmallSharedDataFormat); + LIB_FUNCTION("xhb-r8etmAA", "libSceAppContent", 1, "libSceAppContentUtil", 1, 1, + sceAppContentSmallSharedDataGetAvailableSpaceKb); + LIB_FUNCTION("QuApZnMo9MM", "libSceAppContent", 1, "libSceAppContentUtil", 1, 1, + sceAppContentSmallSharedDataMount); + LIB_FUNCTION("EqMtBHWu-5M", "libSceAppContent", 1, "libSceAppContentUtil", 1, 1, + sceAppContentSmallSharedDataUnmount); + LIB_FUNCTION("a5N7lAG0y2Q", "libSceAppContent", 1, "libSceAppContentUtil", 1, 1, + sceAppContentTemporaryDataFormat); + LIB_FUNCTION("SaKib2Ug0yI", "libSceAppContent", 1, "libSceAppContentUtil", 1, 1, + sceAppContentTemporaryDataGetAvailableSpaceKb); + LIB_FUNCTION("7bOLX66Iz-U", "libSceAppContent", 1, "libSceAppContentUtil", 1, 1, + sceAppContentTemporaryDataMount); + LIB_FUNCTION("buYbeLOGWmA", "libSceAppContent", 1, "libSceAppContentUtil", 1, 1, + sceAppContentTemporaryDataMount2); + LIB_FUNCTION("bcolXMmp6qQ", "libSceAppContent", 1, "libSceAppContentUtil", 1, 1, + sceAppContentTemporaryDataUnmount); + LIB_FUNCTION("xmhnAoxN3Wk", "libSceAppContentPft", 1, "libSceAppContent", 1, 1, + sceAppContentGetPftFlag); + LIB_FUNCTION("xZo2-418Wdo", "libSceAppContentBundle", 1, "libSceAppContent", 1, 1, + Func_C59A36FF8D7C59DA); + LIB_FUNCTION("kJmjt81mXKQ", "libSceAppContentIro", 1, "libSceAppContent", 1, 1, + sceAppContentAddcontEnqueueDownloadByEntitlemetId); + LIB_FUNCTION("efX3lrPwdKA", "libSceAppContentIro", 1, "libSceAppContent", 1, 1, + sceAppContentAddcontMountByEntitlemetId); + LIB_FUNCTION("z9hgjLd1SGA", "libSceAppContentIro", 1, "libSceAppContent", 1, 1, + sceAppContentGetAddcontInfoByEntitlementId); + LIB_FUNCTION("3wUaDTGmjcQ", "libSceAppContentIro", 1, "libSceAppContent", 1, 1, + sceAppContentGetAddcontInfoListByIroTag); + LIB_FUNCTION("TCqT7kPuGx0", "libSceAppContentSc", 1, "libSceAppContent", 1, 1, + sceAppContentGetDownloadedStoreCountry); +}; + +} // namespace Libraries::AppContent \ No newline at end of file diff --git a/src/core/libraries/app_content/app_content.h b/src/core/libraries/app_content/app_content.h new file mode 100644 index 00000000..f2c05fba --- /dev/null +++ b/src/core/libraries/app_content/app_content.h @@ -0,0 +1,65 @@ +// 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::AppContent { + +struct OrbisAppContentInitParam { + char reserved[32]; +}; + +struct OrbisAppContentBootParam { + char reserved1[4]; + u32 attr; + char reserved2[32]; +}; + +int PS4_SYSV_ABI _Z5dummyv(); +int PS4_SYSV_ABI sceAppContentAddcontDelete(); +int PS4_SYSV_ABI sceAppContentAddcontEnqueueDownload(); +int PS4_SYSV_ABI sceAppContentAddcontEnqueueDownloadSp(); +int PS4_SYSV_ABI sceAppContentAddcontMount(); +int PS4_SYSV_ABI sceAppContentAddcontShrink(); +int PS4_SYSV_ABI sceAppContentAddcontUnmount(); +int PS4_SYSV_ABI sceAppContentAppParamGetInt(); +int PS4_SYSV_ABI sceAppContentAppParamGetString(); +int PS4_SYSV_ABI sceAppContentDownload0Expand(); +int PS4_SYSV_ABI sceAppContentDownload0Shrink(); +int PS4_SYSV_ABI sceAppContentDownload1Expand(); +int PS4_SYSV_ABI sceAppContentDownload1Shrink(); +int PS4_SYSV_ABI sceAppContentDownloadDataFormat(); +int PS4_SYSV_ABI sceAppContentDownloadDataGetAvailableSpaceKb(); +int PS4_SYSV_ABI sceAppContentGetAddcontDownloadProgress(); +int PS4_SYSV_ABI sceAppContentGetAddcontInfo(); +int PS4_SYSV_ABI sceAppContentGetAddcontInfoList(); +int PS4_SYSV_ABI sceAppContentGetEntitlementKey(); +int PS4_SYSV_ABI sceAppContentGetRegion(); +int PS4_SYSV_ABI sceAppContentInitialize(const OrbisAppContentInitParam* initParam, + OrbisAppContentBootParam* bootParam); +int PS4_SYSV_ABI sceAppContentRequestPatchInstall(); +int PS4_SYSV_ABI sceAppContentSmallSharedDataFormat(); +int PS4_SYSV_ABI sceAppContentSmallSharedDataGetAvailableSpaceKb(); +int PS4_SYSV_ABI sceAppContentSmallSharedDataMount(); +int PS4_SYSV_ABI sceAppContentSmallSharedDataUnmount(); +int PS4_SYSV_ABI sceAppContentTemporaryDataFormat(); +int PS4_SYSV_ABI sceAppContentTemporaryDataGetAvailableSpaceKb(); +int PS4_SYSV_ABI sceAppContentTemporaryDataMount(); +int PS4_SYSV_ABI sceAppContentTemporaryDataMount2(); +int PS4_SYSV_ABI sceAppContentTemporaryDataUnmount(); +int PS4_SYSV_ABI sceAppContentGetPftFlag(); +int PS4_SYSV_ABI Func_C59A36FF8D7C59DA(); +int PS4_SYSV_ABI sceAppContentAddcontEnqueueDownloadByEntitlemetId(); +int PS4_SYSV_ABI sceAppContentAddcontMountByEntitlemetId(); +int PS4_SYSV_ABI sceAppContentGetAddcontInfoByEntitlementId(); +int PS4_SYSV_ABI sceAppContentGetAddcontInfoListByIroTag(); +int PS4_SYSV_ABI sceAppContentGetDownloadedStoreCountry(); + +void RegisterlibSceAppContent(Core::Loader::SymbolsResolver* sym); +} // namespace Libraries::AppContent \ No newline at end of file diff --git a/src/core/libraries/libs.cpp b/src/core/libraries/libs.cpp index 61f4878f..de7c1236 100644 --- a/src/core/libraries/libs.cpp +++ b/src/core/libraries/libs.cpp @@ -27,6 +27,7 @@ #include "core/libraries/system/systemservice.h" #include "core/libraries/system/userservice.h" #include "core/libraries/videoout/video_out.h" +#include "core/libraries/app_content/app_content.h" namespace Libraries { @@ -59,6 +60,7 @@ void InitHLELibs(Core::Loader::SymbolsResolver* sym) { Libraries::NpTrophy::RegisterlibSceNpTrophy(sym); Libraries::ScreenShot::RegisterlibSceScreenShot(sym); Libraries::LibcInternal::RegisterlibSceLibcInternal(sym); + Libraries::AppContent::RegisterlibSceAppContent(sym); } } // namespace Libraries