diff --git a/.ci/clang-format.sh b/.ci/clang-format.sh
deleted file mode 100755
index 15868550f..000000000
--- a/.ci/clang-format.sh
+++ /dev/null
@@ -1,40 +0,0 @@
-#!/bin/bash -ex
-
-# SPDX-FileCopyrightText: 2023 Citra Emulator Project
-# SPDX-License-Identifier: GPL-2.0-or-later
-
-if grep -nrI '\s$' src *.yml *.txt *.md Doxyfile .gitignore .gitmodules .ci* dist/*.desktop \
- dist/*.svg dist/*.xml; then
- echo Trailing whitespace found, aborting
- exit 1
-fi
-
-# Default clang-format points to default 3.5 version one
-CLANG_FORMAT=clang-format-19
-$CLANG_FORMAT --version
-
-if [ "$GITHUB_EVENT_NAME" = "pull_request" ]; then
- # Get list of every file modified in this pull request
- files_to_lint="$(git diff --name-only --diff-filter=ACMRTUXB $COMMIT_RANGE | grep '^src/[^.]*[.]\(cpp\|h\)$' || true)"
-else
- # Check everything for branch pushes
- files_to_lint="$(find src/ -name '*.cpp' -or -name '*.h')"
-fi
-
-# Turn off tracing for this because it's too verbose
-set +x
-
-for f in $files_to_lint; do
- d=$(diff -u "$f" <($CLANG_FORMAT "$f") || true)
- if ! [ -z "$d" ]; then
- echo "!!! $f not compliant to coding style, here is the fix:"
- echo "$d"
- fail=1
- fi
-done
-
-set -x
-
-if [ "$fail" = 1 ]; then
- exit 1
-fi
diff --git a/.github/shadBloodborne.png b/.github/shadBloodborne.png
new file mode 100644
index 000000000..119463080
Binary files /dev/null and b/.github/shadBloodborne.png differ
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 96f5e33d7..c4daec6eb 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -1,4 +1,4 @@
-# SPDX-FileCopyrightText: 2024 shadPS4 Emulator Project
+# SPDX-FileCopyrightText: 2026 shadBloodborne Emulator Project
# SPDX-License-Identifier: GPL-2.0-or-later
name: Build and Release
@@ -31,24 +31,6 @@ jobs:
- uses: actions/checkout@v6
- uses: fsfe/reuse-action@v6
- clang-format:
- runs-on: ubuntu-24.04
- continue-on-error: true
- steps:
- - uses: actions/checkout@v6
- with:
- fetch-depth: 0
- - name: Install
- run: |
- wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
- sudo add-apt-repository 'deb http://apt.llvm.org/noble/ llvm-toolchain-noble-19 main'
- sudo apt update
- sudo apt install clang-format-19
- - name: Build
- env:
- COMMIT_RANGE: ${{ github.event.pull_request.base.sha }}..${{ github.event.pull_request.head.sha }}
- run: ./.ci/clang-format.sh
-
get-info:
runs-on: ubuntu-24.04
outputs:
@@ -179,7 +161,7 @@ jobs:
uses: actions/upload-artifact@v7
with:
name: shadps4-win64-sdl-${{ needs.get-info.outputs.date }}-${{ needs.get-info.outputs.shorthash }}
- path: ${{github.workspace}}/build/shadPS4.exe
+ path: ${{github.workspace}}/build/shadBloodborne.exe
macos-sdl:
runs-on: macos-15
@@ -224,7 +206,7 @@ jobs:
- name: Package and Upload macOS SDL artifact
run: |
mkdir upload
- mv ${{github.workspace}}/build/shadps4 upload
+ mv ${{github.workspace}}/build/shadBloodborne upload
mv ${{github.workspace}}/build/MoltenVK_icd.json upload
mv ${{github.workspace}}/build/libMoltenVK.dylib upload
- uses: actions/upload-artifact@v7
@@ -275,12 +257,12 @@ jobs:
- name: Package and Upload Linux(ubuntu64) SDL artifact
run: |
- ls -la ${{ github.workspace }}/build/shadps4
+ ls -la ${{ github.workspace }}/build/shadBloodborne
- uses: actions/upload-artifact@v7
with:
name: shadps4-ubuntu64-${{ needs.get-info.outputs.date }}-${{ needs.get-info.outputs.shorthash }}
- path: ${{ github.workspace }}/build/shadps4
+ path: ${{ github.workspace }}/build/shadBloodborne
- name: Run AppImage packaging script
run: ./.github/linux-appimage-sdl.sh
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 147903a7e..10490e07c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,4 +1,4 @@
-# SPDX-FileCopyrightText: Copyright 2024-2026 shadPS4 Emulator Project
+# SPDX-FileCopyrightText: Copyright 2026 shadBloodborne Emulator Project
# SPDX-License-Identifier: GPL-2.0-or-later
# Version 3.24 needed for FetchContent OVERRIDE_FIND_PACKAGE
@@ -17,7 +17,7 @@ if (NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE Release)
endif()
-project(shadPS4 CXX C ASM ${ADDITIONAL_LANGUAGES})
+project(shadBloodborne CXX C ASM ${ADDITIONAL_LANGUAGES})
# Forcing PIE makes sure that the base address is high enough so that it doesn't clash with the PS4 memory.
if(UNIX AND NOT APPLE)
@@ -206,7 +206,7 @@ set(EMULATOR_VERSION_MAJOR "0")
set(EMULATOR_VERSION_MINOR "15")
set(EMULATOR_VERSION_PATCH "1")
-set_source_files_properties(src/shadps4.rc PROPERTIES COMPILE_DEFINITIONS "EMULATOR_VERSION_MAJOR=${EMULATOR_VERSION_MAJOR};EMULATOR_VERSION_MINOR=${EMULATOR_VERSION_MINOR};EMULATOR_VERSION_PATCH=${EMULATOR_VERSION_PATCH}")
+set_source_files_properties(src/shadBloodborne.rc PROPERTIES COMPILE_DEFINITIONS "EMULATOR_VERSION_MAJOR=${EMULATOR_VERSION_MAJOR};EMULATOR_VERSION_MINOR=${EMULATOR_VERSION_MINOR};EMULATOR_VERSION_PATCH=${EMULATOR_VERSION_PATCH}")
set(APP_VERSION "${EMULATOR_VERSION_MAJOR}.${EMULATOR_VERSION_MINOR}.${EMULATOR_VERSION_PATCH} WIP")
set(APP_IS_RELEASE false)
@@ -298,13 +298,6 @@ set(AUDIO_LIB src/core/libraries/audio/audioin.cpp
src/core/libraries/audio/sdl_audio_out.cpp
src/core/libraries/audio/openal_audio_out.cpp
src/core/libraries/audio/openal_manager.h
- src/core/libraries/ngs2/ngs2.cpp
- src/core/libraries/ngs2/ngs2.h
- src/core/libraries/audio3d/audio3d.cpp
- src/core/libraries/audio3d/audio3d_openal.cpp
- src/core/libraries/audio3d/audio3d_openal.h
- src/core/libraries/audio3d/audio3d.h
- src/core/libraries/audio3d/audio3d_error.h
)
set(GNM_LIB src/core/libraries/gnmdriver/gnmdriver.cpp
@@ -440,55 +433,7 @@ set(SYSTEM_LIBS src/core/libraries/system/commondialog.cpp
src/core/libraries/rtc/rtc.cpp
src/core/libraries/rtc/rtc.h
src/core/libraries/rtc/rtc_error.h
- src/core/libraries/rudp/rudp.cpp
- src/core/libraries/rudp/rudp.h
- src/core/libraries/disc_map/disc_map.cpp
- src/core/libraries/disc_map/disc_map.h
- src/core/libraries/disc_map/disc_map_codes.h
- src/core/libraries/ngs2/ngs2.cpp
- src/core/libraries/ngs2/ngs2.h
- src/core/libraries/ngs2/ngs2_error.h
- src/core/libraries/ngs2/ngs2_impl.cpp
- src/core/libraries/ngs2/ngs2_impl.h
- src/core/libraries/ngs2/ngs2_custom.cpp
- src/core/libraries/ngs2/ngs2_custom.h
- src/core/libraries/ngs2/ngs2_reverb.cpp
- src/core/libraries/ngs2/ngs2_reverb.h
- src/core/libraries/ngs2/ngs2_geom.cpp
- src/core/libraries/ngs2/ngs2_geom.h
- src/core/libraries/ngs2/ngs2_pan.cpp
- src/core/libraries/ngs2/ngs2_pan.h
- src/core/libraries/ngs2/ngs2_report.cpp
- src/core/libraries/ngs2/ngs2_report.h
- src/core/libraries/ngs2/ngs2_eq.cpp
- src/core/libraries/ngs2/ngs2_eq.h
- src/core/libraries/ngs2/ngs2_mastering.cpp
- src/core/libraries/ngs2/ngs2_mastering.h
- src/core/libraries/ngs2/ngs2_sampler.cpp
- src/core/libraries/ngs2/ngs2_sampler.h
- src/core/libraries/ngs2/ngs2_submixer.cpp
- src/core/libraries/ngs2/ngs2_submixer.h
src/core/libraries/ajm/ajm_error.h
- src/core/libraries/audio3d/audio3d.cpp
- src/core/libraries/audio3d/audio3d.h
- src/core/libraries/audio3d/audio3d_error.h
- src/core/libraries/game_live_streaming/gamelivestreaming.cpp
- src/core/libraries/game_live_streaming/gamelivestreaming.h
- src/core/libraries/remote_play/remoteplay.cpp
- src/core/libraries/remote_play/remoteplay.h
- src/core/libraries/share_play/shareplay.cpp
- src/core/libraries/share_play/shareplay.h
- src/core/libraries/razor_cpu/razor_cpu.cpp
- src/core/libraries/razor_cpu/razor_cpu.h
- src/core/libraries/mouse/mouse.cpp
- src/core/libraries/mouse/mouse.h
- src/core/libraries/web_browser_dialog/webbrowserdialog.cpp
- src/core/libraries/web_browser_dialog/webbrowserdialog.h
- src/core/libraries/font/font.cpp
- src/core/libraries/font/font.h
- src/core/libraries/font/fontft.cpp
- src/core/libraries/font/fontft.h
- src/core/libraries/font/font_error.h
)
@@ -500,21 +445,6 @@ set(VIDEOOUT_LIB src/core/libraries/videoout/buffer.h
src/core/libraries/videoout/videoout_error.h
)
-set(HLE_LIBC_INTERNAL_LIB src/core/libraries/libc_internal/libc_internal.cpp
- src/core/libraries/libc_internal/libc_internal.h
- src/core/libraries/libc_internal/libc_internal_io.cpp
- src/core/libraries/libc_internal/libc_internal_io.h
- src/core/libraries/libc_internal/libc_internal_memory.cpp
- src/core/libraries/libc_internal/libc_internal_memory.h
- src/core/libraries/libc_internal/libc_internal_str.cpp
- src/core/libraries/libc_internal/libc_internal_str.h
- src/core/libraries/libc_internal/libc_internal_math.cpp
- src/core/libraries/libc_internal/libc_internal_math.h
- src/core/libraries/libc_internal/libc_internal_threads.cpp
- src/core/libraries/libc_internal/libc_internal_threads.h
- src/core/libraries/libc_internal/printf.h
-)
-
set(IME_LIB src/core/libraries/ime/error_dialog.cpp
src/core/libraries/ime/error_dialog.h
src/core/libraries/ime/ime_common.h
@@ -539,19 +469,6 @@ set(SYSTEM_GESTURE_LIB
src/core/libraries/system_gesture/system_gesture.h
)
-set(PNG_LIB src/core/libraries/libpng/pngdec.cpp
- src/core/libraries/libpng/pngdec.h
- src/core/libraries/libpng/pngdec_error.h
- src/core/libraries/libpng/pngenc.cpp
- src/core/libraries/libpng/pngenc.h
- src/core/libraries/libpng/pngenc_error.h
-)
-
-set(JPEG_LIB src/core/libraries/jpeg/jpeg_error.h
- src/core/libraries/jpeg/jpegenc.cpp
- src/core/libraries/jpeg/jpegenc.h
-)
-
set(PLAYGO_LIB src/core/libraries/playgo/playgo.cpp
src/core/libraries/playgo/playgo.h
src/core/libraries/playgo/playgo_dialog.cpp
@@ -559,42 +476,8 @@ set(PLAYGO_LIB src/core/libraries/playgo/playgo.cpp
src/core/libraries/playgo/playgo_types.h
)
-set(RANDOM_LIB src/core/libraries/random/random.cpp
- src/core/libraries/random/random.h
- src/core/libraries/random/random_error.h
-)
-
-set(USBD_LIB src/core/libraries/usbd/usbd.cpp
- src/core/libraries/usbd/usbd.h
- src/core/libraries/usbd/usb_backend.h
- src/core/libraries/usbd/emulated/dimensions.cpp
- src/core/libraries/usbd/emulated/dimensions.h
- src/core/libraries/usbd/emulated/infinity.cpp
- src/core/libraries/usbd/emulated/infinity.h
- src/core/libraries/usbd/emulated/skylander.cpp
- src/core/libraries/usbd/emulated/skylander.h
-)
-
-set(FIBER_LIB src/core/libraries/fiber/fiber_context.s
- src/core/libraries/fiber/fiber.cpp
- src/core/libraries/fiber/fiber.h
- src/core/libraries/fiber/fiber_error.h
-)
-
set_source_files_properties(src/core/libraries/fiber/fiber_context.s PROPERTIES COMPILE_OPTIONS -Wno-unused-command-line-argument)
-set(VDEC_LIB src/core/libraries/videodec/videodec2_impl.cpp
- src/core/libraries/videodec/videodec2_impl.h
- src/core/libraries/videodec/videodec2.cpp
- src/core/libraries/videodec/videodec2.h
- src/core/libraries/videodec/videodec2_avc.h
- src/core/libraries/videodec/videodec.cpp
- src/core/libraries/videodec/videodec.h
- src/core/libraries/videodec/videodec_error.h
- src/core/libraries/videodec/videodec_impl.cpp
- src/core/libraries/videodec/videodec_impl.h
-)
-
set(NP_LIBS src/core/libraries/np/np_error.h
src/core/libraries/np/np_common.cpp
src/core/libraries/np/np_common.h
@@ -632,43 +515,10 @@ set(NP_LIBS src/core/libraries/np/np_error.h
src/core/libraries/np/object_manager.h
)
-set(ZLIB_LIB src/core/libraries/zlib/zlib.cpp
- src/core/libraries/zlib/zlib_sce.h
- src/core/libraries/zlib/zlib_error.h
-)
-
-set(VR_LIBS src/core/libraries/hmd/hmd.cpp
- src/core/libraries/hmd/hmd_reprojection.cpp
- src/core/libraries/hmd/hmd_distortion.cpp
- src/core/libraries/hmd/hmd.h
- src/core/libraries/hmd/hmd_setup_dialog.cpp
- src/core/libraries/hmd/hmd_setup_dialog.h
- src/core/libraries/vr_tracker/vr_tracker.cpp
- src/core/libraries/vr_tracker/vr_tracker.h
-)
-
set(MISC_LIBS src/core/libraries/screenshot/screenshot.cpp
src/core/libraries/screenshot/screenshot.h
- src/core/libraries/move/move.cpp
- src/core/libraries/move/move.h
- src/core/libraries/move/move_error.h
- src/core/libraries/ulobjmgr/ulobjmgr.cpp
- src/core/libraries/ulobjmgr/ulobjmgr.h
- src/core/libraries/signin_dialog/signindialog.cpp
- src/core/libraries/signin_dialog/signindialog.h
)
-set(CAMERA_LIBS src/core/libraries/camera/camera.cpp
- src/core/libraries/camera/camera.h
- src/core/libraries/camera/camera_error.h
-)
-
-set(COMPANION_LIBS src/core/libraries/companion/companion_httpd.cpp
- src/core/libraries/companion/companion_httpd.h
- src/core/libraries/companion/companion_util.cpp
- src/core/libraries/companion/companion_util.h
- src/core/libraries/companion/companion_error.h
-)
set(DEV_TOOLS src/core/devtools/layer.cpp
src/core/devtools/layer.h
src/core/devtools/layer_extra.cpp
@@ -846,19 +696,10 @@ set(CORE src/core/aerolib/stubs.cpp
${SYSTEM_GESTURE_LIB}
${VIDEOOUT_LIB}
${NP_LIBS}
- ${PNG_LIB}
- ${JPEG_LIB}
${PLAYGO_LIB}
${RANDOM_LIB}
- ${USBD_LIB}
- ${ZLIB_LIB}
${MISC_LIBS}
${IME_LIB}
- ${FIBER_LIB}
- ${VDEC_LIB}
- ${VR_LIBS}
- ${CAMERA_LIBS}
- ${COMPANION_LIBS}
${DEV_TOOLS}
src/core/debug_state.cpp
src/core/debug_state.h
@@ -1119,7 +960,7 @@ set(EMULATOR src/emulator.cpp
if(NOT ENABLE_TESTS)
-add_executable(shadps4
+add_executable(shadBloodborne
${AUDIO_CORE}
${IMGUI}
${INPUT}
@@ -1135,38 +976,38 @@ add_executable(shadps4
src/sdl_window.cpp
)
-create_target_directory_groups(shadps4)
+create_target_directory_groups(shadBloodborne)
-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 lfreist-hwinfo::hwinfo nlohmann_json::nlohmann_json miniz::miniz fdk-aac CLI11::CLI11 OpenAL::OpenAL Cpp_Httplib)
+target_link_libraries(shadBloodborne 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(shadBloodborne 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(shadBloodborne PRIVATE stb::headers lfreist-hwinfo::hwinfo nlohmann_json::nlohmann_json miniz::miniz fdk-aac CLI11::CLI11 OpenAL::OpenAL Cpp_Httplib)
if (${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD")
- target_link_libraries(shadps4 PRIVATE "/usr/lib/libusb.so")
- target_link_libraries(shadps4 PRIVATE "/usr/local/lib/libuuid.so")
+ target_link_libraries(shadBloodborne PRIVATE "/usr/lib/libusb.so")
+ target_link_libraries(shadBloodborne PRIVATE "/usr/local/lib/libuuid.so")
else()
- target_link_libraries(shadps4 PRIVATE libusb::usb)
+ target_link_libraries(shadBloodborne PRIVATE libusb::usb)
endif()
-target_compile_definitions(shadps4 PRIVATE IMGUI_USER_CONFIG="imgui/imgui_config.h")
+target_compile_definitions(shadBloodborne 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")
if (ENABLE_DISCORD_RPC)
- target_compile_definitions(shadps4 PRIVATE ENABLE_DISCORD_RPC)
+ target_compile_definitions(shadBloodborne PRIVATE ENABLE_DISCORD_RPC)
endif()
if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
- # Optional due to https://github.com/shadps4-emu/shadPS4/issues/1704
+ # Optional due to https://github.com/shadBloodborne-emu/shadBloodborne/issues/1704
if (ENABLE_USERFAULTFD)
- target_compile_definitions(shadps4 PRIVATE ENABLE_USERFAULTFD)
+ target_compile_definitions(shadBloodborne PRIVATE ENABLE_USERFAULTFD)
endif()
- target_link_libraries(shadps4 PRIVATE uuid)
+ target_link_libraries(shadBloodborne PRIVATE uuid)
endif()
if (APPLE)
# Include MoltenVK, along with an ICD file so it can be found by the system Vulkan loader if used for loading layers.
- set_property(TARGET shadps4 APPEND PROPERTY BUILD_RPATH "@executable_path")
+ set_property(TARGET shadBloodborne APPEND PROPERTY BUILD_RPATH "@executable_path")
set(MVK_DST ${CMAKE_CURRENT_BINARY_DIR})
set(MVK_DYLIB_SRC ${CMAKE_CURRENT_BINARY_DIR}/externals/MoltenVK/MoltenVK/libMoltenVK.dylib)
set(MVK_DYLIB_DST ${MVK_DST}/libMoltenVK.dylib)
@@ -1183,21 +1024,21 @@ if (APPLE)
COMMAND ${CMAKE_COMMAND} -E copy ${MVK_DYLIB_SRC} ${MVK_DYLIB_DST})
add_custom_target(CopyMoltenVK DEPENDS ${MVK_ICD_DST} ${MVK_DYLIB_DST})
add_dependencies(CopyMoltenVK MoltenVK)
- add_dependencies(shadps4 CopyMoltenVK)
+ add_dependencies(shadBloodborne CopyMoltenVK)
if (ARCHITECTURE STREQUAL "x86_64")
# Reserve system-managed memory space.
- target_link_options(shadps4 PRIVATE -Wl,-ld_classic,-no_pie,-no_fixup_chains,-no_huge,-pagezero_size,0x4000,-segaddr,TCB_SPACE,0x4000,-segaddr,SYSTEM_MANAGED,0x400000,-segaddr,SYSTEM_RESERVED,0x7FFFFC000,-segaddr,USER_AREA,0x7000000000,-image_base,0x700000000000)
+ target_link_options(shadBloodborne PRIVATE -Wl,-ld_classic,-no_pie,-no_fixup_chains,-no_huge,-pagezero_size,0x4000,-segaddr,TCB_SPACE,0x4000,-segaddr,SYSTEM_MANAGED,0x400000,-segaddr,SYSTEM_RESERVED,0x7FFFFC000,-segaddr,USER_AREA,0x7000000000,-image_base,0x700000000000)
endif()
# Replacement for std::chrono::time_zone
- target_link_libraries(shadps4 PRIVATE date::date-tz epoll-shim)
+ target_link_libraries(shadBloodborne PRIVATE date::date-tz epoll-shim)
elseif (${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD")
- target_link_libraries(shadps4 PRIVATE date::date-tz epoll-shim)
+ target_link_libraries(shadBloodborne PRIVATE date::date-tz epoll-shim)
endif()
if (WIN32)
- target_link_libraries(shadps4 PRIVATE mincore wepoll wbemuuid)
+ target_link_libraries(shadBloodborne PRIVATE mincore wepoll wbemuuid)
if (MSVC)
# MSVC likes putting opinions on what people can use, disable:
@@ -1215,45 +1056,45 @@ if (WIN32)
add_compile_definitions(NTDDI_VERSION=0x0A000006 _WIN32_WINNT=0x0A00 WINVER=0x0A00)
if (MSVC)
- target_link_libraries(shadps4 PRIVATE clang_rt.builtins-x86_64.lib)
+ target_link_libraries(shadBloodborne PRIVATE clang_rt.builtins-x86_64.lib)
endif()
# Disable ASLR so we can reserve the user area
if (MSVC)
- target_link_options(shadps4 PRIVATE /DYNAMICBASE:NO)
+ target_link_options(shadBloodborne PRIVATE /DYNAMICBASE:NO)
else()
- target_link_options(shadps4 PRIVATE -Wl,--disable-dynamicbase)
+ target_link_options(shadBloodborne PRIVATE -Wl,--disable-dynamicbase)
endif()
# Increase stack commit area (Needed, otherwise there are crashes)
if (MSVC)
- target_link_options(shadps4 PRIVATE /STACK:0x200000,0x200000)
+ target_link_options(shadBloodborne PRIVATE /STACK:0x200000,0x200000)
else()
- target_link_options(shadps4 PRIVATE -Wl,--stack,2097152)
+ target_link_options(shadBloodborne PRIVATE -Wl,--stack,2097152)
endif()
# Change base image address
if (MSVC)
- target_link_options(shadps4 PRIVATE /BASE:0x700000000000)
+ target_link_options(shadBloodborne PRIVATE /BASE:0x700000000000)
else()
- target_link_options(shadps4 PRIVATE -Wl,--image-base=0x700000000000)
+ target_link_options(shadBloodborne PRIVATE -Wl,--image-base=0x700000000000)
endif()
endif()
if (WIN32)
- target_sources(shadps4 PRIVATE src/shadps4.rc)
+ target_sources(shadBloodborne PRIVATE src/shadBloodborne.rc)
endif()
add_compile_definitions(BOOST_ASIO_STANDALONE)
-target_include_directories(shadps4 PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
+target_include_directories(shadBloodborne PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
# Shaders sources
set(HOST_SHADERS_INCLUDE ${CMAKE_CURRENT_SOURCE_DIR}/src/video_core/host_shaders)
add_subdirectory(${HOST_SHADERS_INCLUDE})
-add_dependencies(shadps4 host_shaders)
-target_include_directories(shadps4 PRIVATE ${HOST_SHADERS_INCLUDE})
+add_dependencies(shadBloodborne host_shaders)
+target_include_directories(shadBloodborne PRIVATE ${HOST_SHADERS_INCLUDE})
# embed resources
@@ -1266,21 +1107,21 @@ cmrc_add_resource_library(embedded-resources
src/images/gold.png
src/images/platinum.png
src/images/silver.png)
-target_link_libraries(shadps4 PRIVATE res::embedded)
+target_link_libraries(shadBloodborne PRIVATE res::embedded)
# ImGui resources
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/src/imgui/renderer)
-add_dependencies(shadps4 ImGui_Resources)
-target_include_directories(shadps4 PRIVATE ${IMGUI_RESOURCES_INCLUDE})
+add_dependencies(shadBloodborne ImGui_Resources)
+target_include_directories(shadBloodborne PRIVATE ${IMGUI_RESOURCES_INCLUDE})
# Discord RPC
if (ENABLE_DISCORD_RPC)
- target_link_libraries(shadps4 PRIVATE discord-rpc)
+ target_link_libraries(shadBloodborne PRIVATE discord-rpc)
endif()
# Install rules
-install(TARGETS shadps4 BUNDLE DESTINATION .)
+install(TARGETS shadBloodborne BUNDLE DESTINATION .)
else()
enable_testing()
diff --git a/README.md b/README.md
index 0fb5c26ed..61f00ae35 100644
--- a/README.md
+++ b/README.md
@@ -5,9 +5,9 @@ SPDX-License-Identifier: GPL-2.0-or-later
-
+
- shadPS4
+ shadBloodborne
@@ -24,43 +24,43 @@ SPDX-License-Identifier: GPL-2.0-or-later
-| Bloodborne by From Software | Hatsune Miku Project DIVA Future Tone by SEGA |
+| Bloodborne by From Software | Bloodborne by From Software |
| :-----------------------------------------------------------: | :--------------------------------------------------------------------------------------------: |
-|  |  |
+|  |  |
-| Yakuza 0 by SEGA | DRIVECLUBâ„¢ by Evolution Studios |
+| Bloodborne by From Software | Bloodborne by From Software |
| :------------------------------------------------------------------------: | :------------------------------------------------------------------: |
-|  |  |
+|  |  |
# General information
-**shadPS4** is an early **PlayStation 4** emulator for **Windows**, **Linux** and **macOS** written in C++.
+**shadBloodborne** is an early **Bloodborne** emulator for **Windows**, **Linux**, **macOS** and **FreeBSD** written in C++.
> [!IMPORTANT]
> This is the emulator core, which does not include a GUI. If you just want to use the emulator as an end user, download the [**QtLauncher**](https://github.com/shadps4-emu/shadps4-qtlauncher/releases) instead.
If you encounter problems or have doubts, do not hesitate to look at the [**Quickstart**](https://github.com/shadps4-emu/shadPS4/wiki/I.-Quick-start-%5BUsers%5D).\
-To verify that a game works, you can look at [**shadPS4 Game Compatibility**](https://github.com/shadps4-compatibility/shadps4-game-compatibility).\
-To discuss shadPS4 development, suggest ideas or to ask for help, join our [**Discord server**](https://discord.gg/bFJxfftGW6).\
+To verify that Bloodborne works, you can look at [**bloodbornePS4 Compatibility Status**](https://github.com/shadps4-compatibility/shadps4-game-compatibility/issues?q=is%3Aissue%20state%3Aopen%20in%3Atitle%20%22bloodborne%22).\
+To discuss shadBloodborne development, suggest ideas or to ask for help, join our [**Discord server**](https://discord.gg/bFJxfftGW6).\
To get the latest news, go to our [**X (Twitter)**](https://x.com/shadps4) or our [**website**](https://shadps4.net/).\
You can donate to the project via our [**Kofi page**](https://ko-fi.com/shadps4).
# Status
> [!IMPORTANT]
-> shadPS4 is early in development, don't expect a flawless experience.
+> shadBloodborne is early in development, don't expect a flawless experience.
-Currently, the emulator can successfully run games like [**Bloodborne**](https://www.youtube.com/watch?v=5sZgWyVflFM), [**Dark Souls Remastered**](https://www.youtube.com/watch?v=-3PA-Xwszts), [**Red Dead Redemption**](https://www.youtube.com/watch?v=Al7yz_5nLag), and many other games.
+Currently, the emulator can successfully run [**Bloodborne**](https://www.youtube.com/watch?v=5sZgWyVflFM), but not every feature is fully emulated.
# Why
-This project began for fun. Given our limited free time, it may take some time before shadPS4 can run more complex games, but we're committed to making small, regular updates.
+This project began for fun. Given our limited free time, it may take some time before shadBloodborne can do Bloodborne multiplayer, but we're committed to making small, regular updates.
# Building
## Docker
-For building shadPS4 in a containerized environment using Docker and VSCode, check the instructions here:
+For building shadBloodborne in a containerized environment using Docker and VSCode, check the instructions here:
[**Docker Build Instructions**](https://github.com/shadps4-emu/shadPS4/blob/main/documents/building-docker.md)
## Windows
@@ -76,7 +76,7 @@ Check the build instructions for [**Linux**](https://github.com/shadps4-emu/shad
Check the build instructions for [**macOS**](https://github.com/shadps4-emu/shadPS4/blob/main/documents/building-macos.md).
> [!IMPORTANT]
-> macOS users need at least macOS 15.4 to run shadPS4. Due to GPU issues there are currently heavy bugs on Intel Macs.
+> macOS users need at least macOS 15.4 to run shadBloodborne. Due to GPU issues there are currently heavy bugs on Intel Macs.
# Usage examples
@@ -87,11 +87,11 @@ To get the list of all available commands and also a more detailed description o
Below is a list of commonly used command patterns:
```sh
-shadPS4 CUSA00001 # Searches for a game folder called CUSA00001 in the list of game install folders, and boots it.
-shadPS4 --fullscreen true --config-clean CUSA00001 # the game argument is always the last one,
-shadPS4 -g CUSA00001 --fullscreen true --config-clean # ...unless manually specified otherwise.
-shadPS4 /path/to/game.elf # Boots a PS4 ELF file directly. Useful if you want to boot an executable that is not named eboot.bin.
-shadPS4 CUSA00001 -- -flag1 -flag2 # Passes '-flag1' and '-flag2' to the game executable in argv.
+shadBloodborne CUSA00900 # Searches for a game folder called CUSA00900 in the list of game install folders, and boots it.
+shadBloodborne --fullscreen true --config-clean CUSA00900 # the game argument is always the last one,
+shadBloodborne -g CUSA00900 --fullscreen true --config-clean # ...unless manually specified otherwise.
+shadBloodborne /path/to/game.elf # Boots a PS4 ELF file directly. Useful if you want to boot an executable that is not named eboot.bin.
+shadBloodborne CUSA00900 -- -flag1 -flag2 # Passes '-flag1' and '-flag2' to the game executable in argv.
```
# Debugging and reporting issues
@@ -145,36 +145,26 @@ Keyboard and mouse inputs can be customized in the settings menu by clicking the
# Firmware files
-shadPS4 can load some PlayStation 4 firmware files.
-The following firmware modules are supported and must be placed in shadPS4's `sys_modules` folder.
+shadBloodborne can load some PlayStation 4 firmware files.
+The following firmware modules are supported and must be placed in shadBloodborne's `sys_modules` folder.
-| Modules | Modules | Modules | Modules |
-|-------------------------|-------------------------|-------------------------|-------------------------|
-| libSceCesCs.sprx | libSceFont.sprx | libSceFontFt.sprx | libSceFreeTypeOt.sprx |
-| libSceJpegDec.sprx | libSceJpegEnc.sprx | libSceJson.sprx | libSceJson2.sprx |
-| libSceLibcInternal.sprx | libSceNgs2.sprx | libScePngEnc.sprx | libSceRtc.sprx |
-| libSceUlt.sprx | libSceAudiodec.sprx | | |
+| Modules | Modules |
+|-------------------------|-------------------------|
+| libSceLibcInternal.sprx | libSceRtc.sprx |
> [!Caution]
-> The above modules are required to run the games properly and must be dumped from your legally owned PlayStation 4 console.
+> The above modules are required to run the game properly and must be dumped from your legally owned PlayStation 4 console.
# Main team
-- [**georgemoralis**](https://github.com/georgemoralis)
-- [**psucien**](https://github.com/psucien)
-- [**viniciuslrangel**](https://github.com/viniciuslrangel)
-- [**roamic**](https://github.com/roamic)
-- [**squidbus**](https://github.com/squidbus)
-- [**frodo**](https://github.com/baggins183)
-- [**Stephen Miller**](https://github.com/StevenMiller123)
- [**kalaposfos13**](https://github.com/kalaposfos13)
-Logo is done by [**Xphalnos**](https://github.com/Xphalnos)
+Logo is done by [**Tlarok**](https://github.com/tlarok)
# Contributing
diff --git a/REUSE.toml b/REUSE.toml
index e8997f007..ec248da2e 100644
--- a/REUSE.toml
+++ b/REUSE.toml
@@ -10,6 +10,7 @@ path = [
"CMakeWindowsPresets.json",
"CMakePresets.json",
".github/FUNDING.yml",
+ ".github/shadBloodborne.png",
".github/shadps4.png",
".gitmodules",
"dist/MacOSBundleInfo.plist.in",
@@ -61,6 +62,7 @@ path = [
"src/images/utils_icon.png",
"src/images/shadPS4.icns",
"src/images/shadps4.ico",
+ "src/images/shadBloodborne.png",
"src/images/shadps4.png",
"src/images/net.shadps4.shadPS4.svg",
"src/images/themes_icon.png",
diff --git a/documents/Screenshots/2.png b/documents/Screenshots/2.png
index 7f701916a..0b03747f8 100644
Binary files a/documents/Screenshots/2.png and b/documents/Screenshots/2.png differ
diff --git a/documents/Screenshots/3.png b/documents/Screenshots/3.png
index e6e83bf9d..150a7bb27 100644
Binary files a/documents/Screenshots/3.png and b/documents/Screenshots/3.png differ
diff --git a/documents/Screenshots/4.png b/documents/Screenshots/4.png
index 1268795a9..5bbc069c1 100644
Binary files a/documents/Screenshots/4.png and b/documents/Screenshots/4.png differ
diff --git a/src/common/adaptive_mutex.h b/src/common/adaptive_mutex.h
index 247d4c1ec..78a609294 100644
--- a/src/common/adaptive_mutex.h
+++ b/src/common/adaptive_mutex.h
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 shadBloodborne Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
diff --git a/src/common/arch.h b/src/common/arch.h
index b22366cb7..4cd6a9452 100644
--- a/src/common/arch.h
+++ b/src/common/arch.h
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 shadBloodborne Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
diff --git a/src/common/bit_array.h b/src/common/bit_array.h
index 0ab464390..f82225b4f 100644
--- a/src/common/bit_array.h
+++ b/src/common/bit_array.h
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 shadBloodborne Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
diff --git a/src/common/config.cpp b/src/common/config.cpp
index 79d3f799f..7631fc79a 100644
--- a/src/common/config.cpp
+++ b/src/common/config.cpp
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2025-2026 shadPS4 Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 shadBloodborne Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#include
@@ -142,7 +142,7 @@ static ConfigEntry trophyNotificationDuration(6.0);
static ConfigEntry logFilter("");
static ConfigEntry logType("sync");
static ConfigEntry isIdenticalLogGrouped(true);
-static ConfigEntry userName("shadPS4");
+static ConfigEntry userName("shadBloodborne");
static ConfigEntry isShowSplash(false);
static ConfigEntry isSideTrophy("right");
static ConfigEntry isConnectedToNetwork(false);
@@ -1236,7 +1236,7 @@ void setDefaultValues(bool is_game_specific) {
logFilter.set("", is_game_specific);
logType.set("sync", is_game_specific);
isIdenticalLogGrouped.set("isIdenticalLogGrouped", is_game_specific);
- userName.set("shadPS4", is_game_specific);
+ userName.set("shadBloodborne", is_game_specific);
isShowSplash.set(false, is_game_specific);
isSideTrophy.set("right", is_game_specific);
diff --git a/src/common/config.h b/src/common/config.h
index b341030e0..4ec551674 100644
--- a/src/common/config.h
+++ b/src/common/config.h
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2025-2026 shadPS4 Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 shadBloodborne Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
diff --git a/src/common/cstring.h b/src/common/cstring.h
index 45c291c14..9316419af 100644
--- a/src/common/cstring.h
+++ b/src/common/cstring.h
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 shadBloodborne Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
diff --git a/src/common/debug.h b/src/common/debug.h
index 92bf72550..55acf7e2b 100644
--- a/src/common/debug.h
+++ b/src/common/debug.h
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 shadBloodborne Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
diff --git a/src/common/decoder.cpp b/src/common/decoder.cpp
index aeaba3ca6..2474e8087 100644
--- a/src/common/decoder.cpp
+++ b/src/common/decoder.cpp
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 shadBloodborne Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#include
diff --git a/src/common/decoder.h b/src/common/decoder.h
index a5dadbf19..e274e49ef 100644
--- a/src/common/decoder.h
+++ b/src/common/decoder.h
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 shadBloodborne Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
diff --git a/src/common/discord_rpc_handler.cpp b/src/common/discord_rpc_handler.cpp
index 448cb4a7f..2a5a32566 100644
--- a/src/common/discord_rpc_handler.cpp
+++ b/src/common/discord_rpc_handler.cpp
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 shadBloodborne Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#include
@@ -18,7 +18,7 @@ void RPC::init() {
void RPC::setStatusIdling() {
DiscordRichPresence rpc{};
rpc.largeImageKey = "https://cdn.jsdelivr.net/gh/shadps4-emu/shadPS4@main/.github/shadps4.png";
- rpc.largeImageText = "shadPS4 is a PS4 emulator";
+ rpc.largeImageText = "shadBloodborne is a Bloodborne emulator";
rpc.startTimestamp = startTimestamp;
rpc.details = "Idle";
diff --git a/src/common/discord_rpc_handler.h b/src/common/discord_rpc_handler.h
index 1e451e181..dd8b39e2d 100644
--- a/src/common/discord_rpc_handler.h
+++ b/src/common/discord_rpc_handler.h
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 shadBloodborne Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
diff --git a/src/common/elf_info.h b/src/common/elf_info.h
index 8f79c9e69..16d804464 100644
--- a/src/common/elf_info.h
+++ b/src/common/elf_info.h
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 shadBloodborne Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
diff --git a/src/common/endian.h b/src/common/endian.h
index 4b0b70cdd..afe6e2c39 100644
--- a/src/common/endian.h
+++ b/src/common/endian.h
@@ -1,10 +1,10 @@
-// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 shadBloodborne Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
/**
* (c) 2014-2016 Alexandro Sanchez Bach. All rights reserved.
* Released under GPL v2 license. Read LICENSE for more details.
- * Some modifications for using with shadps4 by georgemoralis
+ * Some modifications for using with shadBloodborne by georgemoralis
*/
#pragma once
diff --git a/src/common/enum.h b/src/common/enum.h
index a2f08772c..c3123b2fe 100644
--- a/src/common/enum.h
+++ b/src/common/enum.h
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 shadBloodborne Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
diff --git a/src/common/fixed_value.h b/src/common/fixed_value.h
index e32a795f2..4c08365c7 100644
--- a/src/common/fixed_value.h
+++ b/src/common/fixed_value.h
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 shadBloodborne Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
diff --git a/src/common/func_traits.h b/src/common/func_traits.h
index 407b2dbe6..4aa7dc633 100644
--- a/src/common/func_traits.h
+++ b/src/common/func_traits.h
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 shadBloodborne Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
diff --git a/src/common/hash.h b/src/common/hash.h
index d5cacedd7..afd4e253e 100644
--- a/src/common/hash.h
+++ b/src/common/hash.h
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 shadBloodborne Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
diff --git a/src/common/logging/backend.cpp b/src/common/logging/backend.cpp
index 5de4f64a0..574767358 100644
--- a/src/common/logging/backend.cpp
+++ b/src/common/logging/backend.cpp
@@ -1,5 +1,5 @@
// SPDX-FileCopyrightText: Copyright 2014 Citra Emulator Project
-// SPDX-FileCopyrightText: Copyright 2026 shadPS4 Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 shadBloodborne Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#include
@@ -275,7 +275,7 @@ private:
void StartBackendThread() {
backend_thread = std::jthread([this](std::stop_token stop_token) {
- Common::SetCurrentThreadName("shadPS4:Log");
+ Common::SetCurrentThreadName("sB:Log");
Entry entry;
const auto write_logs = [this, &entry]() {
ForEachBackend([&entry](auto& backend) { backend.Write(entry); });
diff --git a/src/common/logging/filter.cpp b/src/common/logging/filter.cpp
index fd48faf72..ce3b67be8 100644
--- a/src/common/logging/filter.cpp
+++ b/src/common/logging/filter.cpp
@@ -1,5 +1,5 @@
// SPDX-FileCopyrightText: Copyright 2014 Citra Emulator Project
-// SPDX-FileCopyrightText: Copyright 2024-2026 shadPS4 Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 shadBloodborne Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#include
diff --git a/src/common/logging/text_formatter.cpp b/src/common/logging/text_formatter.cpp
index e8c5f4979..5df259da4 100644
--- a/src/common/logging/text_formatter.cpp
+++ b/src/common/logging/text_formatter.cpp
@@ -1,5 +1,5 @@
// SPDX-FileCopyrightText: Copyright 2014 Citra Emulator Project
-// SPDX-FileCopyrightText: Copyright 2026 shadPS4 Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 shadBloodborne Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#include
diff --git a/src/common/logging/types.h b/src/common/logging/types.h
index 2c6edef3b..d911c087f 100644
--- a/src/common/logging/types.h
+++ b/src/common/logging/types.h
@@ -1,5 +1,5 @@
// SPDX-FileCopyrightText: Copyright 2023 Citra Emulator Project
-// SPDX-FileCopyrightText: Copyright 2024-2026 shadPS4 Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 shadBloodborne Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
diff --git a/src/common/memory_patcher.cpp b/src/common/memory_patcher.cpp
index 2517e3f22..019b2d3cd 100644
--- a/src/common/memory_patcher.cpp
+++ b/src/common/memory_patcher.cpp
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2024-2026 shadPS4 Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 shadBloodborne Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#include
diff --git a/src/common/memory_patcher.h b/src/common/memory_patcher.h
index 5a67beec5..822f7c0b1 100644
--- a/src/common/memory_patcher.h
+++ b/src/common/memory_patcher.h
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 shadBloodborne Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
diff --git a/src/common/ntapi.cpp b/src/common/ntapi.cpp
index 46ec57e0a..4fd521b55 100644
--- a/src/common/ntapi.cpp
+++ b/src/common/ntapi.cpp
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 shadBloodborne Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#ifdef _WIN32
diff --git a/src/common/ntapi.h b/src/common/ntapi.h
index c876af58f..3892dc921 100644
--- a/src/common/ntapi.h
+++ b/src/common/ntapi.h
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 shadBloodborne Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
diff --git a/src/common/number_utils.cpp b/src/common/number_utils.cpp
index 121437a23..4a2394689 100644
--- a/src/common/number_utils.cpp
+++ b/src/common/number_utils.cpp
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 shadBloodborne Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#include
diff --git a/src/common/number_utils.h b/src/common/number_utils.h
index 05c62a1cb..87bc27474 100644
--- a/src/common/number_utils.h
+++ b/src/common/number_utils.h
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 shadBloodborne Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
diff --git a/src/common/object_pool.h b/src/common/object_pool.h
index 9e25e0c4c..c012fbfb1 100644
--- a/src/common/object_pool.h
+++ b/src/common/object_pool.h
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 shadBloodborne Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
diff --git a/src/common/path_util.cpp b/src/common/path_util.cpp
index 103f17d29..f690bca83 100644
--- a/src/common/path_util.cpp
+++ b/src/common/path_util.cpp
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 shadBloodborne Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#include
@@ -91,18 +91,18 @@ static auto UserPaths = [] {
// NOTE: On Windows we currently just create the portable directory instead.
#ifdef __APPLE__
user_dir =
- std::filesystem::path(getenv("HOME")) / "Library" / "Application Support" / "shadPS4";
+ std::filesystem::path(getenv("HOME")) / "Library" / "Application Support" / "shadBloodborne";
#elif defined(__linux__)
const char* xdg_data_home = getenv("XDG_DATA_HOME");
if (xdg_data_home != nullptr && strlen(xdg_data_home) > 0) {
- user_dir = std::filesystem::path(xdg_data_home) / "shadPS4";
+ user_dir = std::filesystem::path(xdg_data_home) / "shadBloodborne";
} else {
- user_dir = std::filesystem::path(getenv("HOME")) / ".local" / "share" / "shadPS4";
+ user_dir = std::filesystem::path(getenv("HOME")) / ".local" / "share" / "shadBloodborne";
}
#elif _WIN32
TCHAR appdata[MAX_PATH] = {0};
SHGetFolderPath(NULL, CSIDL_APPDATA, NULL, 0, appdata);
- user_dir = std::filesystem::path(appdata) / "shadPS4";
+ user_dir = std::filesystem::path(appdata) / "shadBloodborne";
#endif
}
diff --git a/src/common/path_util.h b/src/common/path_util.h
index 485c72270..714379c5c 100644
--- a/src/common/path_util.h
+++ b/src/common/path_util.h
@@ -10,7 +10,7 @@
namespace Common::FS {
enum class PathType {
- UserDir, // Where shadPS4 stores its data.
+ UserDir, // Where shadBloodborne stores its data.
LogDir, // Where log files are stored.
ScreenshotsDir, // Where screenshots are stored.
ShaderDir, // Where shaders are stored.
diff --git a/src/common/range_lock.h b/src/common/range_lock.h
index efe6eb549..4f24fed6e 100644
--- a/src/common/range_lock.h
+++ b/src/common/range_lock.h
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2025 shadPS4 Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 shadBloodborne Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
diff --git a/src/common/recursive_lock.cpp b/src/common/recursive_lock.cpp
index 2471a2ee0..00f9987ee 100644
--- a/src/common/recursive_lock.cpp
+++ b/src/common/recursive_lock.cpp
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 shadBloodborne Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#include
diff --git a/src/common/recursive_lock.h b/src/common/recursive_lock.h
index 5a5fc6658..8855b20c1 100644
--- a/src/common/recursive_lock.h
+++ b/src/common/recursive_lock.h
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 shadBloodborne Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
diff --git a/src/common/scm_rev.cpp.in b/src/common/scm_rev.cpp.in
index 0b113eb31..85e21160c 100644
--- a/src/common/scm_rev.cpp.in
+++ b/src/common/scm_rev.cpp.in
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 shadBloodborne Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#include
diff --git a/src/common/scm_rev.h b/src/common/scm_rev.h
index 2f6d770bb..5e8420cd9 100644
--- a/src/common/scm_rev.h
+++ b/src/common/scm_rev.h
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 shadBloodborne Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
diff --git a/src/common/serdes.h b/src/common/serdes.h
index f91a0ace8..f034dfde1 100644
--- a/src/common/serdes.h
+++ b/src/common/serdes.h
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2025-2026 shadPS4 Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 shadBloodborne Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
diff --git a/src/common/shared_first_mutex.h b/src/common/shared_first_mutex.h
index fcf9d0c4f..b507bf85b 100644
--- a/src/common/shared_first_mutex.h
+++ b/src/common/shared_first_mutex.h
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2025 shadPS4 Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 shadBloodborne Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
diff --git a/src/common/signal_context.cpp b/src/common/signal_context.cpp
index b1ac8d96f..32b012b1b 100644
--- a/src/common/signal_context.cpp
+++ b/src/common/signal_context.cpp
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 shadBloodborne Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#include "common/arch.h"
diff --git a/src/common/signal_context.h b/src/common/signal_context.h
index b09da64f2..23ff611ed 100644
--- a/src/common/signal_context.h
+++ b/src/common/signal_context.h
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 shadBloodborne Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
diff --git a/src/common/singleton.h b/src/common/singleton.h
index 0838980b5..9fb6f2046 100644
--- a/src/common/singleton.h
+++ b/src/common/singleton.h
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 shadBloodborne Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
diff --git a/src/common/slab_heap.h b/src/common/slab_heap.h
index 7648ebea3..7bddf9f79 100644
--- a/src/common/slab_heap.h
+++ b/src/common/slab_heap.h
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 shadBloodborne Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
diff --git a/src/common/slot_array.h b/src/common/slot_array.h
index 3a57899c2..1edd0ea33 100644
--- a/src/common/slot_array.h
+++ b/src/common/slot_array.h
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 shadBloodborne Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
// #include
diff --git a/src/common/stb.cpp b/src/common/stb.cpp
index 0cd916185..125c3d62f 100644
--- a/src/common/stb.cpp
+++ b/src/common/stb.cpp
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 shadBloodborne Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#define STB_IMAGE_IMPLEMENTATION
diff --git a/src/common/stb.h b/src/common/stb.h
index 6f4d34483..1f74a251e 100644
--- a/src/common/stb.h
+++ b/src/common/stb.h
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 shadBloodborne Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
diff --git a/src/common/string_literal.h b/src/common/string_literal.h
index 9f64f62bd..1644d67df 100644
--- a/src/common/string_literal.h
+++ b/src/common/string_literal.h
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 shadBloodborne Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
diff --git a/src/common/support/avdec.h b/src/common/support/avdec.h
index fa3483dc4..51e05e395 100644
--- a/src/common/support/avdec.h
+++ b/src/common/support/avdec.h
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 shadBloodborne Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
diff --git a/src/common/thread.cpp b/src/common/thread.cpp
index e56953fb6..d08bb4eb9 100644
--- a/src/common/thread.cpp
+++ b/src/common/thread.cpp
@@ -1,6 +1,6 @@
// SPDX-FileCopyrightText: 2013 Dolphin Emulator Project
// SPDX-FileCopyrightText: 2014 Citra Emulator Project
-// SPDX-FileCopyrightText: Copyright 2026 shadPS4 Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 shadBloodborne Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#include
diff --git a/src/common/thread.h b/src/common/thread.h
index a300d10c3..b50d55068 100644
--- a/src/common/thread.h
+++ b/src/common/thread.h
@@ -1,6 +1,6 @@
// SPDX-FileCopyrightText: 2013 Dolphin Emulator Project
// SPDX-FileCopyrightText: 2014 Citra Emulator Project
-// SPDX-FileCopyrightText: Copyright 2026 shadPS4 Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 shadBloodborne Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
diff --git a/src/common/types.h b/src/common/types.h
index c2b7bd35e..b59b16217 100644
--- a/src/common/types.h
+++ b/src/common/types.h
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 shadBloodborne Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
diff --git a/src/common/va_ctx.h b/src/common/va_ctx.h
index cffe468ff..c21582a29 100644
--- a/src/common/va_ctx.h
+++ b/src/common/va_ctx.h
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 shadBloodborne Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
diff --git a/src/core/address_space.cpp b/src/core/address_space.cpp
index 4830f65a5..406742f1a 100644
--- a/src/core/address_space.cpp
+++ b/src/core/address_space.cpp
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2024-2026 shadPS4 Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 shadBloodborne Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#include