Skip to content

Commit 268927b

Browse files
committed
Merge branch 'main' of https://github.com/shadps4-emu/shadPS4 into rb4-test3
2 parents 19dd2d7 + dd3f246 commit 268927b

File tree

151 files changed

+7139
-1181
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

151 files changed

+7139
-1181
lines changed
+55
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
# SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
2+
# SPDX-License-Identifier: GPL-2.0-or-later
3+
# Docs - https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-githubs-form-schema
4+
name: Application Bug Report
5+
description: Problem with the application itself (ie. bad file path handling, UX issue)
6+
title: "[APP BUG]: "
7+
body:
8+
- type: markdown
9+
attributes:
10+
value: |
11+
## Important: Read First
12+
13+
Please do not make support requests on GitHub. Our issue tracker is for tracking bugs and feature requests only
14+
If you need help using the emulator or unsure about your issue please contact us on [discord](https://discord.gg/bFJxfftGW6).
15+
16+
Please make an effort to make sure your issue isn't already reported.
17+
18+
Do not create issues involving software piracy, our rules specifically prohibit this. Otherwise your issue will be closed and you will be banned in this repository.
19+
- type: checkboxes
20+
id: checklist
21+
attributes:
22+
label: Checklist
23+
options:
24+
- label: I have searched for a similar issue in this repository and did not find one.
25+
required: true
26+
- label: I am using an official build obtained from [releases](https://github.com/shadps4-emu/shadPS4/releases) or updated one of those builds using its in-app updater.
27+
required: true
28+
- type: textarea
29+
id: desc
30+
attributes:
31+
label: Describe the Bug
32+
description: "A clear and concise description of what the bug is"
33+
validations:
34+
required: true
35+
- type: textarea
36+
id: repro
37+
attributes:
38+
label: Reproduction Steps
39+
description: "Detailed steps to reproduce the behavior"
40+
validations:
41+
required: true
42+
- type: textarea
43+
id: expected
44+
attributes:
45+
label: Expected Behavior
46+
description: "A clear and concise description of what you expected to happen"
47+
validations:
48+
required: false
49+
- type: input
50+
id: os
51+
attributes:
52+
label: Specify OS Version
53+
placeholder: "Example: Windows 11, Arch Linux, MacOS 15"
54+
validations:
55+
required: true

.github/ISSUE_TEMPLATE/config.yml

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
2+
# SPDX-License-Identifier: GPL-2.0-or-later
3+
blank_issues_enabled: false
4+
contact_links:
5+
- name: Discord
6+
url: https://discord.gg/bFJxfftGW6
7+
about: Get direct support and hang out with us
8+
- name: Wiki
9+
url: https://github.com/shadps4-emu/shadPS4/wiki
10+
about: Information, guides, etc.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
# SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
2+
# SPDX-License-Identifier: GPL-2.0-or-later
3+
# Docs - https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-githubs-form-schema
4+
name: Feature Request
5+
description: Suggest a new feature or improve an existing one
6+
title: "[Feature Request]: "
7+
body:
8+
- type: markdown
9+
attributes:
10+
value: |
11+
## Important: Read First
12+
13+
Please make an effort to make sure your issue isn't already reported.
14+
15+
Do not create issues involving software piracy, our rules specifically prohibit this. Otherwise your issue will be closed and you will be banned in this repository.
16+
17+
- type: checkboxes
18+
id: checklist
19+
attributes:
20+
label: Checklist
21+
options:
22+
- label: I have searched for a similar issue in this repository and did not find one.
23+
required: true
24+
- type: textarea
25+
id: desc
26+
attributes:
27+
label: Description
28+
description: |
29+
A concise description of the feature you want
30+
31+
Include step by step examples of how the feature should work under various circumstances
32+
validations:
33+
required: true
34+
- type: textarea
35+
id: reason
36+
attributes:
37+
label: Reason
38+
description: |
39+
Give a reason why you want this feature
40+
- How will it make things easier for you?
41+
- How does this feature help your enjoyment of the emulator?
42+
- What does it provide that isn't being provided currently?
43+
validations:
44+
required: true
45+
- type: textarea
46+
id: examples
47+
attributes:
48+
label: Examples
49+
description: |
50+
Provide examples of the feature as implemented by other software
51+
52+
Include screenshots or video if you like to help demonstrate how you'd like this feature to work
53+
validations:
54+
required: false
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
# SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
2+
# SPDX-License-Identifier: GPL-2.0-or-later
3+
# Docs - https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-githubs-form-schema
4+
name: Game Emulation Bug Report
5+
description: Problem in a game (ie. graphical artifacts, crashes, etc.)
6+
title: "[GAME BUG]: "
7+
body:
8+
- type: markdown
9+
attributes:
10+
value: |
11+
## Important: Read First
12+
13+
Please do not make support requests on GitHub. Our issue tracker is for tracking bugs and feature requests only
14+
If you need help using the emulator or unsure about your issue please contact us on [discord](https://discord.gg/bFJxfftGW6).
15+
16+
You can also check the [Game Compatibility Repository](https://github.com/shadps4-emu/shadps4-game-compatibility) for the information about the status of the game.
17+
18+
Please make an effort to make sure your issue isn't already reported.
19+
20+
Do not create issues involving software piracy, our rules specifically prohibit this. Otherwise your issue will be closed and you will be banned in this repository.
21+
- type: checkboxes
22+
id: checklist
23+
attributes:
24+
label: Checklist
25+
options:
26+
- label: I have searched for a similar issue in this repository and did not find one.
27+
required: true
28+
- label: I am using an official build obtained from [releases](https://github.com/shadps4-emu/shadPS4/releases) or updated one of those builds using its in-app updater.
29+
required: true
30+
- label: I have re-dumped the game and performed a clean install without mods.
31+
required: true
32+
- label: I have disabled all patches and cheats.
33+
required: true
34+
- label: I have all the required [system modules](https://github.com/shadps4-emu/shadps4-game-compatibility?tab=readme-ov-file#informations) installed.
35+
required: true
36+
- type: textarea
37+
id: desc
38+
attributes:
39+
label: Describe the Bug
40+
description: "A clear and concise description of what the bug is"
41+
validations:
42+
required: true
43+
- type: textarea
44+
id: repro
45+
attributes:
46+
label: Reproduction Steps
47+
description: "Detailed steps to reproduce the behavior"
48+
validations:
49+
required: true
50+
- type: input
51+
id: os
52+
attributes:
53+
label: Specify OS Version
54+
placeholder: "Example: Windows 11, Arch Linux, MacOS 15"
55+
validations:
56+
required: true
57+
- type: input
58+
id: cpu
59+
attributes:
60+
label: CPU
61+
placeholder: "Example: Intel Core i7-8700"
62+
validations:
63+
required: true
64+
- type: input
65+
id: gpu
66+
attributes:
67+
label: GPU
68+
placeholder: "Example: nVidia GTX 1650"
69+
validations:
70+
required: true
71+
- type: input
72+
id: ram
73+
attributes:
74+
label: Amount of RAM in GB
75+
placeholder: "Example: 16 GB"
76+
validations:
77+
required: true
78+
- type: input
79+
id: vram
80+
attributes:
81+
label: Amount of VRAM in GB
82+
placeholder: "Example: 8 GB"
83+
validations:
84+
required: true
85+
- type: textarea
86+
id: logs
87+
attributes:
88+
label: "Logs"
89+
description: Attach any logs here. Log can be found by right clicking on a game name -> Open Folder... -> Open Log Folder. Make sure that the log type is set to `sync`.
90+
validations:
91+
required: false

.gitmodules

+4
Original file line numberDiff line numberDiff line change
@@ -119,3 +119,7 @@
119119
path = externals/MoltenVK/cereal
120120
url = https://github.com/USCiLab/cereal
121121
shallow = true
122+
[submodule "externals/cubeb"]
123+
path = externals/cubeb
124+
url = https://github.com/mozilla/cubeb
125+
shallow = true

CMakeLists.txt

+25-10
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ git_describe(GIT_DESC --always --long --dirty)
106106
git_branch_name(GIT_BRANCH)
107107
string(TIMESTAMP BUILD_DATE "%Y-%m-%d %H:%M:%S")
108108

109-
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/src/common/scm_rev.cpp.in" "${CMAKE_CURRENT_SOURCE_DIR}/src/common/scm_rev.cpp" @ONLY)
109+
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/src/common/scm_rev.cpp.in" "${CMAKE_CURRENT_BINARY_DIR}/src/common/scm_rev.cpp" @ONLY)
110110

111111
find_package(Boost 1.84.0 CONFIG)
112112
find_package(FFmpeg 5.1.2 MODULE)
@@ -127,6 +127,7 @@ find_package(xxHash 0.8.2 MODULE)
127127
find_package(ZLIB 1.3 MODULE)
128128
find_package(Zydis 5.0.0 CONFIG)
129129
find_package(pugixml 1.14 CONFIG)
130+
find_package(cubeb CONFIG)
130131

131132
if (NOT CMAKE_CXX_COMPILER_ID STREQUAL "Clang" OR NOT MSVC)
132133
find_package(cryptopp 8.9.0 MODULE)
@@ -188,6 +189,8 @@ set(AJM_LIB src/core/libraries/ajm/ajm.cpp
188189
src/core/libraries/ajm/ajm_context.cpp
189190
src/core/libraries/ajm/ajm_context.h
190191
src/core/libraries/ajm/ajm_error.h
192+
src/core/libraries/ajm/ajm_instance_statistics.cpp
193+
src/core/libraries/ajm/ajm_instance_statistics.h
191194
src/core/libraries/ajm/ajm_instance.cpp
192195
src/core/libraries/ajm/ajm_instance.h
193196
src/core/libraries/ajm/ajm_mp3.cpp
@@ -198,9 +201,10 @@ set(AUDIO_LIB src/core/libraries/audio/audioin.cpp
198201
src/core/libraries/audio/audioin.h
199202
src/core/libraries/audio/audioout.cpp
200203
src/core/libraries/audio/audioout.h
201-
src/core/libraries/audio/sdl_audio.cpp
202-
src/core/libraries/audio/sdl_audio.h
204+
src/core/libraries/audio/audioout_backend.h
203205
src/core/libraries/audio/audioout_error.h
206+
src/core/libraries/audio/cubeb_audio.cpp
207+
src/core/libraries/audio/sdl_audio.cpp
204208
src/core/libraries/ngs2/ngs2.cpp
205209
src/core/libraries/ngs2/ngs2.h
206210
)
@@ -423,6 +427,8 @@ set(NP_LIBS src/core/libraries/np_manager/np_manager.cpp
423427

424428
set(MISC_LIBS src/core/libraries/screenshot/screenshot.cpp
425429
src/core/libraries/screenshot/screenshot.h
430+
src/core/libraries/move/move.cpp
431+
src/core/libraries/move/move.h
426432
)
427433

428434
set(DEV_TOOLS src/core/devtools/layer.cpp
@@ -493,6 +499,7 @@ set(COMMON src/common/logging/backend.cpp
493499
src/common/polyfill_thread.h
494500
src/common/rdtsc.cpp
495501
src/common/rdtsc.h
502+
src/common/ringbuffer.h
496503
src/common/signal_context.h
497504
src/common/signal_context.cpp
498505
src/common/singleton.h
@@ -517,7 +524,7 @@ set(COMMON src/common/logging/backend.cpp
517524
src/common/number_utils.cpp
518525
src/common/memory_patcher.h
519526
src/common/memory_patcher.cpp
520-
src/common/scm_rev.cpp
527+
${CMAKE_CURRENT_BINARY_DIR}/src/common/scm_rev.cpp
521528
src/common/scm_rev.h
522529
)
523530

@@ -884,7 +891,7 @@ endif()
884891
create_target_directory_groups(shadps4)
885892

886893
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)
887-
target_link_libraries(shadps4 PRIVATE Boost::headers GPUOpen::VulkanMemoryAllocator LibAtrac9 sirit Vulkan::Headers xxHash::xxhash Zydis::Zydis glslang::glslang SDL3::SDL3 pugixml::pugixml stb::headers)
894+
target_link_libraries(shadps4 PRIVATE Boost::headers GPUOpen::VulkanMemoryAllocator LibAtrac9 sirit Vulkan::Headers xxHash::xxhash Zydis::Zydis glslang::glslang SDL3::SDL3 pugixml::pugixml stb::headers cubeb::cubeb)
888895

889896
target_compile_definitions(shadps4 PRIVATE IMGUI_USER_CONFIG="imgui/imgui_config.h")
890897
target_compile_definitions(Dear_ImGui PRIVATE IMGUI_USER_CONFIG="${PROJECT_SOURCE_DIR}/src/imgui/imgui_config.h")
@@ -901,11 +908,19 @@ endif()
901908
if (APPLE)
902909
if (ENABLE_QT_GUI)
903910
# Include MoltenVK in the app bundle, along with an ICD file so it can be found by the system Vulkan loader if used for loading layers.
904-
target_sources(shadps4 PRIVATE externals/MoltenVK/MoltenVK_icd.json)
905-
set_source_files_properties(externals/MoltenVK/MoltenVK_icd.json
906-
PROPERTIES MACOSX_PACKAGE_LOCATION Resources/vulkan/icd.d)
907-
add_custom_command(TARGET shadps4 POST_BUILD
908-
COMMAND cmake -E copy $<TARGET_LINKER_FILE:MoltenVK> $<TARGET_BUNDLE_DIR:shadps4>/Contents/Frameworks/libMoltenVK.dylib)
911+
set(MVK_ICD ${CMAKE_CURRENT_SOURCE_DIR}/externals/MoltenVK/MoltenVK_icd.json)
912+
target_sources(shadps4 PRIVATE ${MVK_ICD})
913+
set_source_files_properties(${MVK_ICD} PROPERTIES MACOSX_PACKAGE_LOCATION Resources/vulkan/icd.d)
914+
915+
set(MVK_DYLIB_SRC ${CMAKE_CURRENT_BINARY_DIR}/externals/MoltenVK/libMoltenVK.dylib)
916+
set(MVK_DYLIB_DST ${CMAKE_CURRENT_BINARY_DIR}/shadps4.app/Contents/Frameworks/libMoltenVK.dylib)
917+
add_custom_command(
918+
OUTPUT ${MVK_DYLIB_DST}
919+
DEPENDS ${MVK_DYLIB_SRC}
920+
COMMAND cmake -E copy ${MVK_DYLIB_SRC} ${MVK_DYLIB_DST})
921+
add_custom_target(CopyMoltenVK DEPENDS ${MVK_DYLIB_DST})
922+
add_dependencies(CopyMoltenVK MoltenVK)
923+
add_dependencies(shadps4 CopyMoltenVK)
909924
set_property(TARGET shadps4 APPEND PROPERTY BUILD_RPATH "@executable_path/../Frameworks")
910925
else()
911926
# For non-bundled SDL build, just do a normal library link.

LICENSES/ISC.txt

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
ISC License
2+
3+
<copyright notice>
4+
5+
Permission to use, copy, modify, and /or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
6+
7+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

README.md

+31-26
Original file line numberDiff line numberDiff line change
@@ -86,32 +86,32 @@ F12 | Trigger RenderDoc Capture
8686
> [!NOTE]
8787
> Xbox and DualShock controllers work out of the box.
8888
89-
| Controller button | Keyboard equivelant |
90-
|-------------|-------------|
91-
LEFT AXIS UP | W |
92-
LEFT AXIS DOWN | S |
93-
LEFT AXIS LEFT | A |
94-
LEFT AXIS RIGHT | D |
95-
RIGHT AXIS UP | I |
96-
RIGHT AXIS DOWN | K |
97-
RIGHT AXIS LEFT | J |
98-
RIGHT AXIS RIGHT | L |
99-
TRIANGLE | Numpad 8 |
100-
CIRCLE | Numpad 6 |
101-
CROSS | Numpad 2 |
102-
SQUARE | Numpad 4 |
103-
PAD UP | UP |
104-
PAD DOWN | DOWN |
105-
PAD LEFT | LEFT |
106-
PAD RIGHT | RIGHT |
107-
OPTIONS | RETURN |
108-
BACK BUTTON / TOUCH PAD | SPACE |
109-
L1 | Q |
110-
R1 | U |
111-
L2 | E |
112-
R2 | O |
113-
L3 | X |
114-
R3 | M |
89+
| Controller button | Keyboard equivelant | Mac alternative |
90+
|-------------|-------------|--------------|
91+
LEFT AXIS UP | W | |
92+
LEFT AXIS DOWN | S | |
93+
LEFT AXIS LEFT | A | |
94+
LEFT AXIS RIGHT | D | |
95+
RIGHT AXIS UP | I | |
96+
RIGHT AXIS DOWN | K | |
97+
RIGHT AXIS LEFT | J | |
98+
RIGHT AXIS RIGHT | L | |
99+
TRIANGLE | Numpad 8 | C |
100+
CIRCLE | Numpad 6 | B |
101+
CROSS | Numpad 2 | N |
102+
SQUARE | Numpad 4 | V |
103+
PAD UP | UP | |
104+
PAD DOWN | DOWN | |
105+
PAD LEFT | LEFT | |
106+
PAD RIGHT | RIGHT | |
107+
OPTIONS | RETURN | |
108+
BACK BUTTON / TOUCH PAD | SPACE | |
109+
L1 | Q | |
110+
R1 | U | |
111+
L2 | E | |
112+
R2 | O | |
113+
L3 | X | |
114+
R3 | M | |
115115

116116
# Main team
117117

@@ -121,6 +121,11 @@ R3 | M |
121121
- [**skmp**](https://github.com/skmp)
122122
- [**wheremyfoodat**](https://github.com/wheremyfoodat)
123123
- [**raziel1000**](https://github.com/raziel1000)
124+
- [**viniciuslrangel**](https://github.com/viniciuslrangel)
125+
- [**roamic**](https://github.com/vladmikhalin)
126+
- [**poly**](https://github.com/polybiusproxy)
127+
- [**squidbus**](https://github.com/squidbus)
128+
- [**frodo**](https://github.com/baggins183)
124129

125130
Logo is done by [**Xphalnos**](https://github.com/Xphalnos)
126131

0 commit comments

Comments
 (0)