mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-10-27 00:28:14 +00:00
Merge pull request #10944 from ahmadmuj/fix/anyps5-unbuilt-split-exports
fix(prx): build and export the stubs that eight libraries never shipped
This commit is contained in:
13 files changed
+35
No files matched your search
@@ -1,4 +1,5 @@
|
||||
add_library(libSceAgc SHARED EXCLUDE_FROM_ALL
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/Export.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/Unimplemented.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/Acb/src/Control.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/Acb/src/Dispatch.cpp
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
#include "prx/libSceAgc/Misc/include/Platform.hpp"
|
||||
#include "prx/libSceAgc/include/Agc.hpp"
|
||||
#include "prx/libc/include/general/VabiMacros.hpp"
|
||||
#include "prx/libc/include/Shutdown.hpp"
|
||||
|
||||
@@ -34,12 +35,18 @@ void testRejections() {
|
||||
expectFailure([] { sceAgcGetIsTrinityMode(nullptr); });
|
||||
}
|
||||
|
||||
void testExportLinked() {
|
||||
auto* volatile linked = &sceAgcSuspendPointAndCheckStatus;
|
||||
check(linked != nullptr, "sceAgcSuspendPointAndCheckStatus is not linked");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
int main() {
|
||||
try {
|
||||
testTrinityMode();
|
||||
testRejections();
|
||||
testExportLinked();
|
||||
LibcRunShutdown_nid_postfix();
|
||||
std::puts("AGC platform tests passed");
|
||||
return 0;
|
||||
|
||||
@@ -238,6 +238,7 @@ foreach(agcOverlayStage IN ITEMS Vert Frag)
|
||||
endforeach()
|
||||
|
||||
set(agcDriverSources
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/Export.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/Unimplemented.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/Execution/src/ComputePipelineCapture.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/Execution/src/DisplayBuffer.cpp
|
||||
|
||||
@@ -4,5 +4,7 @@
|
||||
int main() {
|
||||
if (sceAgcDriverGetCoredumpAddress() != nullptr) return 1;
|
||||
if (sceAgcDriverSetTargetRingForDiag() != static_cast<int>(0x8A6D0001)) return 2;
|
||||
auto* volatile linked = &sceAgcDriverSetFlip;
|
||||
if (linked == nullptr) return 3;
|
||||
return 0;
|
||||
}
|
||||
@@ -1,2 +1,3 @@
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../libSceAudiodec/AudiodecLibrary.cmake)
|
||||
add_sce_audiodec_library(libSceAudiodec.native)
|
||||
target_sources(libSceAudiodec.native PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/Export.cpp)
|
||||
@@ -1,2 +1,4 @@
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../libSceAvPlayer/AvPlayerLibrary.cmake)
|
||||
add_sce_avplayer_library(libSceAvPlayer.native)
|
||||
target_sources(libSceAvPlayer.native PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/Export.cpp)
|
||||
set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/Export.cpp PROPERTIES COMPILE_OPTIONS -fvisibility=default)
|
||||
@@ -1,5 +1,7 @@
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/Ngs2Library.cmake)
|
||||
add_sce_ngs2_library(libSceNgs2.native)
|
||||
target_sources(libSceNgs2.native PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/Export.cpp)
|
||||
set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/Export.cpp PROPERTIES COMPILE_OPTIONS -fvisibility=default)
|
||||
|
||||
if(BUILD_TESTING)
|
||||
add_test_executable(ngs2_custom_safety_tests ${CMAKE_CURRENT_SOURCE_DIR}/tests/Ngs2CustomSafety.cpp)
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
#include "Ngs2Test.hpp"
|
||||
#include "prx/libSceNgs2.native/include/Api.hpp"
|
||||
|
||||
#include <cstdint>
|
||||
#include <cstdio>
|
||||
@@ -13,6 +14,11 @@ static void Status(int actual, int expected, const char* message) {
|
||||
if (actual != expected) throw std::runtime_error(message);
|
||||
}
|
||||
|
||||
static void CheckExportLinked() {
|
||||
auto* volatile linked = &sceNgs2RackQueryInfo;
|
||||
Require(linked != nullptr);
|
||||
}
|
||||
|
||||
static void CheckResetOption() {
|
||||
Status(sceNgs2SystemResetOption(nullptr), static_cast<int>(0x804A8010u), "null system option did not return the invalid out address error");
|
||||
constexpr std::uint64_t size = 0x90;
|
||||
@@ -316,6 +322,7 @@ int main() {
|
||||
CheckSystemOption();
|
||||
CheckSetGrainSamples();
|
||||
CheckSetSampleRate();
|
||||
CheckExportLinked();
|
||||
std::cout << "NGS2 PS5 handle errors and validation precedence checked\n";
|
||||
return 0;
|
||||
} catch (const std::exception& error) {
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../libSceNgs2.native/Ngs2Library.cmake)
|
||||
add_sce_ngs2_library(libSceNgs2)
|
||||
target_sources(libSceNgs2 PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/PendingExports.cpp)
|
||||
set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/PendingExports.cpp PROPERTIES COMPILE_OPTIONS -fvisibility=default)
|
||||
|
||||
if(BUILD_TESTING)
|
||||
add_test_executable(ngs2_core_custom_safety_tests ${CMAKE_CURRENT_SOURCE_DIR}/../libSceNgs2.native/tests/Ngs2CustomSafety.cpp)
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
add_library(libSceNpTrophy2 SHARED EXCLUDE_FROM_ALL
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/Export.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src/Context.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src/Handle.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src/GameInfo.cpp
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
add_library(libSceNpUniversalDataSystem SHARED EXCLUDE_FROM_ALL
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/Export.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/PendingExports.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src/System.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src/Context.cpp
|
||||
|
||||
@@ -29,6 +29,9 @@ int main() {
|
||||
|
||||
Require(sceNpTrophy2ShowTrophyList(1) == 0);
|
||||
|
||||
auto* volatile linked = &sceNpTrophy2SystemCreateContext;
|
||||
Require(linked != nullptr);
|
||||
|
||||
NpTrophy2GameDetails details{};
|
||||
NpTrophy2GameData data{};
|
||||
Require(sceNpTrophy2GetGameInfo(1, 1, &details, nullptr) == 0);
|
||||
|
||||
@@ -223,6 +223,11 @@ static void ReportPlaceholders() {
|
||||
}
|
||||
}
|
||||
|
||||
static void ReportExportLinked() {
|
||||
auto* volatile linked = &sceNpUniversalDataSystemIntInitialize;
|
||||
Require(linked != nullptr, "sceNpUniversalDataSystemIntInitialize is not linked");
|
||||
}
|
||||
|
||||
int main() {
|
||||
const auto previous = std::filesystem::current_path();
|
||||
const auto root = std::filesystem::temp_directory_path() / ("anyps5-trophy-data-" + std::to_string(std::random_device{}()));
|
||||
@@ -236,6 +241,7 @@ int main() {
|
||||
ReportTrophyData(context);
|
||||
PostUnlocks(context);
|
||||
ReportPlaceholders();
|
||||
ReportExportLinked();
|
||||
|
||||
std::filesystem::current_path(previous);
|
||||
std::filesystem::remove_all(root);
|
||||
|
||||
Reference in new issue
Block a user