Merge remote-tracking branch 'origin/main' into user_and_settings

This commit is contained in:
kalaposfos13 2026-02-12 22:51:11 +01:00
commit fe442ad13c
9 changed files with 55 additions and 4 deletions

7
.gitmodules vendored
View File

@ -126,3 +126,10 @@
path = externals/sdl3
url = https://github.com/shadexternals/sdl3.git
branch = main
[submodule "externals/cpp-httplib"]
path = externals/cpp-httplib
url = https://github.com/shadexternals/cpp-httplib.git
[submodule "externals/openal-soft"]
path = externals/openal-soft
url = https://github.com/shadexternals/openal-soft.git

View File

@ -228,6 +228,7 @@ find_package(glslang 15 CONFIG)
find_package(half 1.12.0 MODULE)
find_package(magic_enum 0.9.7 CONFIG)
find_package(PNG 1.6 MODULE)
find_package(OpenAL CONFIG)
find_package(RenderDoc 1.6.0 MODULE)
find_package(SDL3_mixer 2.8.1 CONFIG)
if (SDL3_mixer_FOUND)
@ -1119,7 +1120,7 @@ create_target_directory_groups(shadps4)
target_link_libraries(shadps4 PRIVATE magic_enum::magic_enum fmt::fmt toml11::toml11 tsl::robin_map xbyak::xbyak Tracy::TracyClient RenderDoc::API FFmpeg::ffmpeg Dear_ImGui gcn half::half ZLIB::ZLIB PNG::PNG)
target_link_libraries(shadps4 PRIVATE Boost::headers GPUOpen::VulkanMemoryAllocator LibAtrac9 sirit Vulkan::Headers xxHash::xxhash Zydis::Zydis glslang::glslang SDL3::SDL3 SDL3_mixer::SDL3_mixer pugixml::pugixml)
target_link_libraries(shadps4 PRIVATE stb::headers libusb::usb lfreist-hwinfo::hwinfo nlohmann_json::nlohmann_json miniz fdk-aac CLI11::CLI11)
target_link_libraries(shadps4 PRIVATE stb::headers libusb::usb lfreist-hwinfo::hwinfo nlohmann_json::nlohmann_json miniz fdk-aac CLI11::CLI11 OpenAL::OpenAL Cpp_Httplib)
target_compile_definitions(shadps4 PRIVATE IMGUI_USER_CONFIG="imgui/imgui_config.h")
target_compile_definitions(Dear_ImGui PRIVATE IMGUI_USER_CONFIG="${PROJECT_SOURCE_DIR}/src/imgui/imgui_config.h")

2
externals/CLI11 vendored

@ -1 +1 @@
Subproject commit bf5a16a26a34a9a7ad75f4a7705585e44675fef0
Subproject commit 617af272277f8c5aefdc20894b0ebef1cd6b0104

View File

@ -276,3 +276,41 @@ if (NOT TARGET CLI11::CLI11)
set(CLI11_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE)
add_subdirectory(CLI11)
endif()
#openal
if (NOT TARGET OpenAL::OpenAL)
set(ALSOFT_ENABLE_MODULES OFF CACHE BOOL "" FORCE)
set(LIBTYPE "STATIC" CACHE STRING "" FORCE)
# Disable everything we don't need
set(ALSOFT_UTILS OFF CACHE BOOL "" FORCE)
set(ALSOFT_EXAMPLES OFF CACHE BOOL "" FORCE)
set(ALSOFT_TESTS OFF CACHE BOOL "" FORCE)
set(ALSOFT_INSTALL OFF CACHE BOOL "" FORCE)
set(ALSOFT_CONFIG OFF CACHE BOOL "" FORCE)
# Backends (platform-specific)
if (WIN32)
set(ALSOFT_BACKEND_WASAPI ON CACHE BOOL "" FORCE)
set(ALSOFT_BACKEND_DSOUND OFF CACHE BOOL "" FORCE)
set(ALSOFT_BACKEND_WINMM OFF CACHE BOOL "" FORCE)
elseif (APPLE)
set(ALSOFT_BACKEND_COREAUDIO ON CACHE BOOL "" FORCE)
else()
set(ALSOFT_BACKEND_ALSA ON CACHE BOOL "" FORCE)
set(ALSOFT_BACKEND_PULSEAUDIO ON CACHE BOOL "" FORCE)
set(ALSOFT_BACKEND_PIPEWIRE OFF CACHE BOOL "" FORCE)
endif()
# Headless-safe
set(ALSOFT_BACKEND_NULL ON CACHE BOOL "" FORCE)
# Static build
set(BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE)
add_subdirectory(openal-soft EXCLUDE_FROM_ALL)
endif()
# cpp-httplib
add_library(Cpp_Httplib INTERFACE)
target_include_directories(Cpp_Httplib INTERFACE cpp-httplib/)

1
externals/cpp-httplib vendored Submodule

@ -0,0 +1 @@
Subproject commit f80864ca031932351abef49b74097c67f14719c6

1
externals/openal-soft vendored Submodule

@ -0,0 +1 @@
Subproject commit f120be6e2e7d2eb37a70f8adb5a98e5a645c5349

2
externals/sdl3 vendored

@ -1 +1 @@
Subproject commit bdb72bb3f051de32c91f5deb439a50bfd51499dc
Subproject commit 4e2fd57e77fb4a28c0eeef0670fc4121cc2cf1f9

View File

@ -65,7 +65,7 @@ s32 createLibraryContext(s32 libHttpCtxId, u64 poolSize, const char* name, s32 t
OrbisNpWebApiContext* findAndValidateContext(s32 libCtxId, s32 flag) {
std::scoped_lock lk{g_global_mutex};
if (libCtxId < 1 || libCtxId >= 0x8000) {
if (libCtxId < 1 || libCtxId >= 0x8000 || !g_contexts.contains(libCtxId)) {
return nullptr;
}
auto& context = g_contexts[libCtxId];

View File

@ -398,6 +398,9 @@ int ProcessStates(s32 handle, OrbisPadData* pData, Input::GameController& contro
int PS4_SYSV_ABI scePadRead(s32 handle, OrbisPadData* pData, s32 num) {
LOG_TRACE(Lib_Pad, "called");
if (handle < 1) {
return ORBIS_PAD_ERROR_INVALID_HANDLE;
}
int connected_count = 0;
bool connected = false;
std::vector<Input::State> states(64);