mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2025-07-24 19:14:40 +00:00
Merge branch 'main' into m4aac
This commit is contained in:
commit
06ce7a0177
@ -10,7 +10,7 @@ set(CMAKE_CXX_STANDARD_REQUIRED True)
|
|||||||
if(APPLE)
|
if(APPLE)
|
||||||
list(APPEND ADDITIONAL_LANGUAGES OBJC)
|
list(APPEND ADDITIONAL_LANGUAGES OBJC)
|
||||||
# Starting with 15.4, Rosetta 2 has support for all the necessary instruction sets.
|
# Starting with 15.4, Rosetta 2 has support for all the necessary instruction sets.
|
||||||
set(CMAKE_OSX_DEPLOYMENT_TARGET 15.4)
|
set(CMAKE_OSX_DEPLOYMENT_TARGET 15.4 CACHE STRING "")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (NOT CMAKE_BUILD_TYPE)
|
if (NOT CMAKE_BUILD_TYPE)
|
||||||
@ -105,11 +105,8 @@ if (CLANG_FORMAT)
|
|||||||
unset(CCOMMENT)
|
unset(CCOMMENT)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
|
|
||||||
|
|
||||||
# generate git revision information
|
# generate git revision information
|
||||||
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/externals/cmake-modules/")
|
include("${CMAKE_CURRENT_SOURCE_DIR}/externals/cmake-modules/GetGitRevisionDescription.cmake")
|
||||||
include(GetGitRevisionDescription)
|
|
||||||
get_git_head_revision(GIT_REF_SPEC GIT_REV)
|
get_git_head_revision(GIT_REF_SPEC GIT_REV)
|
||||||
git_describe(GIT_DESC --always --long --dirty)
|
git_describe(GIT_DESC --always --long --dirty)
|
||||||
git_branch_name(GIT_BRANCH)
|
git_branch_name(GIT_BRANCH)
|
||||||
@ -209,6 +206,7 @@ configure_file("${CMAKE_CURRENT_SOURCE_DIR}/src/common/scm_rev.cpp.in" "${CMAKE_
|
|||||||
|
|
||||||
message("end git things, remote: ${GIT_REMOTE_NAME}, branch: ${GIT_BRANCH}")
|
message("end git things, remote: ${GIT_REMOTE_NAME}, branch: ${GIT_BRANCH}")
|
||||||
|
|
||||||
|
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
|
||||||
find_package(Boost 1.84.0 CONFIG)
|
find_package(Boost 1.84.0 CONFIG)
|
||||||
find_package(FFmpeg 5.1.2 MODULE)
|
find_package(FFmpeg 5.1.2 MODULE)
|
||||||
find_package(fmt 10.2.0 CONFIG)
|
find_package(fmt 10.2.0 CONFIG)
|
||||||
@ -229,10 +227,10 @@ find_package(ZLIB 1.3 MODULE)
|
|||||||
find_package(Zydis 5.0.0 CONFIG)
|
find_package(Zydis 5.0.0 CONFIG)
|
||||||
find_package(pugixml 1.14 CONFIG)
|
find_package(pugixml 1.14 CONFIG)
|
||||||
find_package(libusb 1.0.27 MODULE)
|
find_package(libusb 1.0.27 MODULE)
|
||||||
|
|
||||||
if (APPLE)
|
if (APPLE)
|
||||||
find_package(date 3.0.1 CONFIG)
|
find_package(date 3.0.1 CONFIG)
|
||||||
endif()
|
endif()
|
||||||
|
list(POP_BACK CMAKE_MODULE_PATH)
|
||||||
|
|
||||||
# Note: Windows always has these functions through winpthreads
|
# Note: Windows always has these functions through winpthreads
|
||||||
include(CheckSymbolExists)
|
include(CheckSymbolExists)
|
||||||
@ -1176,7 +1174,7 @@ target_include_directories(shadps4 PRIVATE ${HOST_SHADERS_INCLUDE})
|
|||||||
|
|
||||||
# embed resources
|
# embed resources
|
||||||
|
|
||||||
include(CMakeRC)
|
include("${CMAKE_CURRENT_SOURCE_DIR}/cmake/CMakeRC.cmake")
|
||||||
cmrc_add_resource_library(embedded-resources
|
cmrc_add_resource_library(embedded-resources
|
||||||
ALIAS res::embedded
|
ALIAS res::embedded
|
||||||
NAMESPACE res
|
NAMESPACE res
|
||||||
|
@ -57,6 +57,7 @@ path = [
|
|||||||
"src/images/utils_icon.png",
|
"src/images/utils_icon.png",
|
||||||
"src/images/shadPS4.icns",
|
"src/images/shadPS4.icns",
|
||||||
"src/images/shadps4.ico",
|
"src/images/shadps4.ico",
|
||||||
|
"src/images/shadps4.png",
|
||||||
"src/images/net.shadps4.shadPS4.svg",
|
"src/images/net.shadps4.shadPS4.svg",
|
||||||
"src/images/themes_icon.png",
|
"src/images/themes_icon.png",
|
||||||
"src/images/update_icon.png",
|
"src/images/update_icon.png",
|
||||||
|
2
externals/dear_imgui
vendored
2
externals/dear_imgui
vendored
@ -1 +1 @@
|
|||||||
Subproject commit 636cd4a7d623a2bc9bf59bb3acbb4ca075befba3
|
Subproject commit f4d9359095eff3eb03f685921edc1cf0e37b1687
|
2
externals/discord-rpc
vendored
2
externals/discord-rpc
vendored
@ -1 +1 @@
|
|||||||
Subproject commit d3b5af8827031f3bccbf8c15d5dc1bfdc9467f17
|
Subproject commit 19f66e6dcabb2268965f453db9e5774ede43238f
|
2
externals/ffmpeg-core
vendored
2
externals/ffmpeg-core
vendored
@ -1 +1 @@
|
|||||||
Subproject commit 42557a704720d1b7d85c03bff0c2d369a61848da
|
Subproject commit b0de1dcca26c0ebfb8011b8e59dd17fc399db0ff
|
@ -627,65 +627,56 @@ void TextEditor::HandleKeyboardInputs() {
|
|||||||
io.WantCaptureKeyboard = true;
|
io.WantCaptureKeyboard = true;
|
||||||
io.WantTextInput = true;
|
io.WantTextInput = true;
|
||||||
|
|
||||||
if (!IsReadOnly() && ctrl && !shift && !alt &&
|
if (!IsReadOnly() && ctrl && !shift && !alt && ImGui::IsKeyPressed(ImGuiKey_Z))
|
||||||
ImGui::IsKeyPressed(ImGui::GetKeyIndex(ImGuiKey_Z)))
|
|
||||||
Undo();
|
Undo();
|
||||||
else if (!IsReadOnly() && !ctrl && !shift && alt &&
|
else if (!IsReadOnly() && !ctrl && !shift && alt && ImGui::IsKeyPressed(ImGuiKey_Backspace))
|
||||||
ImGui::IsKeyPressed(ImGui::GetKeyIndex(ImGuiKey_Backspace)))
|
|
||||||
Undo();
|
Undo();
|
||||||
else if (!IsReadOnly() && ctrl && !shift && !alt &&
|
else if (!IsReadOnly() && ctrl && !shift && !alt && ImGui::IsKeyPressed(ImGuiKey_Y))
|
||||||
ImGui::IsKeyPressed(ImGui::GetKeyIndex(ImGuiKey_Y)))
|
|
||||||
Redo();
|
Redo();
|
||||||
else if (!ctrl && !alt && ImGui::IsKeyPressed(ImGui::GetKeyIndex(ImGuiKey_UpArrow)))
|
else if (!ctrl && !alt && ImGui::IsKeyPressed(ImGuiKey_UpArrow))
|
||||||
MoveUp(1, shift);
|
MoveUp(1, shift);
|
||||||
else if (!ctrl && !alt && ImGui::IsKeyPressed(ImGui::GetKeyIndex(ImGuiKey_DownArrow)))
|
else if (!ctrl && !alt && ImGui::IsKeyPressed(ImGuiKey_DownArrow))
|
||||||
MoveDown(1, shift);
|
MoveDown(1, shift);
|
||||||
else if (!alt && ImGui::IsKeyPressed(ImGui::GetKeyIndex(ImGuiKey_LeftArrow)))
|
else if (!alt && ImGui::IsKeyPressed(ImGuiKey_LeftArrow))
|
||||||
MoveLeft(1, shift, ctrl);
|
MoveLeft(1, shift, ctrl);
|
||||||
else if (!alt && ImGui::IsKeyPressed(ImGui::GetKeyIndex(ImGuiKey_RightArrow)))
|
else if (!alt && ImGui::IsKeyPressed(ImGuiKey_RightArrow))
|
||||||
MoveRight(1, shift, ctrl);
|
MoveRight(1, shift, ctrl);
|
||||||
else if (!alt && ImGui::IsKeyPressed(ImGui::GetKeyIndex(ImGuiKey_PageUp)))
|
else if (!alt && ImGui::IsKeyPressed(ImGuiKey_PageUp))
|
||||||
MoveUp(GetPageSize() - 4, shift);
|
MoveUp(GetPageSize() - 4, shift);
|
||||||
else if (!alt && ImGui::IsKeyPressed(ImGui::GetKeyIndex(ImGuiKey_PageDown)))
|
else if (!alt && ImGui::IsKeyPressed(ImGuiKey_PageDown))
|
||||||
MoveDown(GetPageSize() - 4, shift);
|
MoveDown(GetPageSize() - 4, shift);
|
||||||
else if (!alt && ctrl && ImGui::IsKeyPressed(ImGui::GetKeyIndex(ImGuiKey_Home)))
|
else if (!alt && ctrl && ImGui::IsKeyPressed(ImGuiKey_Home))
|
||||||
MoveTop(shift);
|
MoveTop(shift);
|
||||||
else if (ctrl && !alt && ImGui::IsKeyPressed(ImGui::GetKeyIndex(ImGuiKey_End)))
|
else if (ctrl && !alt && ImGui::IsKeyPressed(ImGuiKey_End))
|
||||||
MoveBottom(shift);
|
MoveBottom(shift);
|
||||||
else if (!ctrl && !alt && ImGui::IsKeyPressed(ImGui::GetKeyIndex(ImGuiKey_Home)))
|
else if (!ctrl && !alt && ImGui::IsKeyPressed(ImGuiKey_Home))
|
||||||
MoveHome(shift);
|
MoveHome(shift);
|
||||||
else if (!ctrl && !alt && ImGui::IsKeyPressed(ImGui::GetKeyIndex(ImGuiKey_End)))
|
else if (!ctrl && !alt && ImGui::IsKeyPressed(ImGuiKey_End))
|
||||||
MoveEnd(shift);
|
MoveEnd(shift);
|
||||||
else if (!IsReadOnly() && !ctrl && !shift && !alt &&
|
else if (!IsReadOnly() && !ctrl && !shift && !alt && ImGui::IsKeyPressed(ImGuiKey_Delete))
|
||||||
ImGui::IsKeyPressed(ImGui::GetKeyIndex(ImGuiKey_Delete)))
|
|
||||||
Delete();
|
Delete();
|
||||||
else if (!IsReadOnly() && !ctrl && !shift && !alt &&
|
else if (!IsReadOnly() && !ctrl && !shift && !alt &&
|
||||||
ImGui::IsKeyPressed(ImGui::GetKeyIndex(ImGuiKey_Backspace)))
|
ImGui::IsKeyPressed(ImGuiKey_Backspace))
|
||||||
Backspace();
|
Backspace();
|
||||||
else if (!ctrl && !shift && !alt &&
|
else if (!ctrl && !shift && !alt && ImGui::IsKeyPressed(ImGuiKey_Insert))
|
||||||
ImGui::IsKeyPressed(ImGui::GetKeyIndex(ImGuiKey_Insert)))
|
|
||||||
mOverwrite ^= true;
|
mOverwrite ^= true;
|
||||||
else if (ctrl && !shift && !alt && ImGui::IsKeyPressed(ImGui::GetKeyIndex(ImGuiKey_Insert)))
|
else if (ctrl && !shift && !alt && ImGui::IsKeyPressed(ImGuiKey_Insert))
|
||||||
Copy();
|
Copy();
|
||||||
else if (ctrl && !shift && !alt && ImGui::IsKeyPressed(ImGui::GetKeyIndex(ImGuiKey_C)))
|
else if (ctrl && !shift && !alt && ImGui::IsKeyPressed(ImGuiKey_C))
|
||||||
Copy();
|
Copy();
|
||||||
else if (!IsReadOnly() && !ctrl && shift && !alt &&
|
else if (!IsReadOnly() && !ctrl && shift && !alt && ImGui::IsKeyPressed(ImGuiKey_Insert))
|
||||||
ImGui::IsKeyPressed(ImGui::GetKeyIndex(ImGuiKey_Insert)))
|
|
||||||
Paste();
|
Paste();
|
||||||
else if (!IsReadOnly() && ctrl && !shift && !alt &&
|
else if (!IsReadOnly() && ctrl && !shift && !alt && ImGui::IsKeyPressed(ImGuiKey_V))
|
||||||
ImGui::IsKeyPressed(ImGui::GetKeyIndex(ImGuiKey_V)))
|
|
||||||
Paste();
|
Paste();
|
||||||
else if (ctrl && !shift && !alt && ImGui::IsKeyPressed(ImGui::GetKeyIndex(ImGuiKey_X)))
|
else if (ctrl && !shift && !alt && ImGui::IsKeyPressed(ImGuiKey_X))
|
||||||
Cut();
|
Cut();
|
||||||
else if (!ctrl && shift && !alt && ImGui::IsKeyPressed(ImGui::GetKeyIndex(ImGuiKey_Delete)))
|
else if (!ctrl && shift && !alt && ImGui::IsKeyPressed(ImGuiKey_Delete))
|
||||||
Cut();
|
Cut();
|
||||||
else if (ctrl && !shift && !alt && ImGui::IsKeyPressed(ImGui::GetKeyIndex(ImGuiKey_A)))
|
else if (ctrl && !shift && !alt && ImGui::IsKeyPressed(ImGuiKey_A))
|
||||||
SelectAll();
|
SelectAll();
|
||||||
else if (!IsReadOnly() && !ctrl && !shift && !alt &&
|
else if (!IsReadOnly() && !ctrl && !shift && !alt && ImGui::IsKeyPressed(ImGuiKey_Enter))
|
||||||
ImGui::IsKeyPressed(ImGui::GetKeyIndex(ImGuiKey_Enter)))
|
|
||||||
EnterCharacter('\n', false);
|
EnterCharacter('\n', false);
|
||||||
else if (!IsReadOnly() && !ctrl && !alt &&
|
else if (!IsReadOnly() && !ctrl && !alt && ImGui::IsKeyPressed(ImGuiKey_Tab))
|
||||||
ImGui::IsKeyPressed(ImGui::GetKeyIndex(ImGuiKey_Tab)))
|
|
||||||
EnterCharacter('\t', shift);
|
EnterCharacter('\t', shift);
|
||||||
|
|
||||||
if (!IsReadOnly() && !io.InputQueueCharacters.empty()) {
|
if (!IsReadOnly() && !io.InputQueueCharacters.empty()) {
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
namespace Libraries::Move {
|
namespace Libraries::Move {
|
||||||
|
|
||||||
int PS4_SYSV_ABI sceMoveOpen() {
|
int PS4_SYSV_ABI sceMoveOpen() {
|
||||||
LOG_ERROR(Lib_Move, "(STUBBED) called");
|
LOG_TRACE(Lib_Move, "(STUBBED) called");
|
||||||
return ORBIS_FAIL;
|
return ORBIS_FAIL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -18,6 +18,11 @@ int PS4_SYSV_ABI sceMoveGetDeviceInfo() {
|
|||||||
return ORBIS_OK;
|
return ORBIS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int PS4_SYSV_ABI sceMoveReadStateLatest() {
|
||||||
|
LOG_TRACE(Lib_Move, "(STUBBED) called");
|
||||||
|
return ORBIS_OK;
|
||||||
|
}
|
||||||
|
|
||||||
int PS4_SYSV_ABI sceMoveReadStateRecent() {
|
int PS4_SYSV_ABI sceMoveReadStateRecent() {
|
||||||
LOG_TRACE(Lib_Move, "(STUBBED) called");
|
LOG_TRACE(Lib_Move, "(STUBBED) called");
|
||||||
return ORBIS_OK;
|
return ORBIS_OK;
|
||||||
@ -36,6 +41,7 @@ int PS4_SYSV_ABI sceMoveInit() {
|
|||||||
void RegisterlibSceMove(Core::Loader::SymbolsResolver* sym) {
|
void RegisterlibSceMove(Core::Loader::SymbolsResolver* sym) {
|
||||||
LIB_FUNCTION("HzC60MfjJxU", "libSceMove", 1, "libSceMove", 1, 1, sceMoveOpen);
|
LIB_FUNCTION("HzC60MfjJxU", "libSceMove", 1, "libSceMove", 1, 1, sceMoveOpen);
|
||||||
LIB_FUNCTION("GWXTyxs4QbE", "libSceMove", 1, "libSceMove", 1, 1, sceMoveGetDeviceInfo);
|
LIB_FUNCTION("GWXTyxs4QbE", "libSceMove", 1, "libSceMove", 1, 1, sceMoveGetDeviceInfo);
|
||||||
|
LIB_FUNCTION("ttU+JOhShl4", "libSceMove", 1, "libSceMove", 1, 1, sceMoveReadStateLatest);
|
||||||
LIB_FUNCTION("f2bcpK6kJfg", "libSceMove", 1, "libSceMove", 1, 1, sceMoveReadStateRecent);
|
LIB_FUNCTION("f2bcpK6kJfg", "libSceMove", 1, "libSceMove", 1, 1, sceMoveReadStateRecent);
|
||||||
LIB_FUNCTION("tsZi60H4ypY", "libSceMove", 1, "libSceMove", 1, 1, sceMoveTerm);
|
LIB_FUNCTION("tsZi60H4ypY", "libSceMove", 1, "libSceMove", 1, 1, sceMoveTerm);
|
||||||
LIB_FUNCTION("j1ITE-EoJmE", "libSceMove", 1, "libSceMove", 1, 1, sceMoveInit);
|
LIB_FUNCTION("j1ITE-EoJmE", "libSceMove", 1, "libSceMove", 1, 1, sceMoveInit);
|
||||||
|
@ -250,7 +250,6 @@ int PS4_SYSV_ABI scePadMbusTerm() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
int PS4_SYSV_ABI scePadOpen(s32 userId, s32 type, s32 index, const OrbisPadOpenParam* pParam) {
|
int PS4_SYSV_ABI scePadOpen(s32 userId, s32 type, s32 index, const OrbisPadOpenParam* pParam) {
|
||||||
LOG_INFO(Lib_Pad, "(DUMMY) called user_id = {} type = {} index = {}", userId, type, index);
|
|
||||||
if (userId == -1) {
|
if (userId == -1) {
|
||||||
return ORBIS_PAD_ERROR_DEVICE_NO_HANDLE;
|
return ORBIS_PAD_ERROR_DEVICE_NO_HANDLE;
|
||||||
}
|
}
|
||||||
@ -261,6 +260,7 @@ int PS4_SYSV_ABI scePadOpen(s32 userId, s32 type, s32 index, const OrbisPadOpenP
|
|||||||
if (type != ORBIS_PAD_PORT_TYPE_STANDARD && type != ORBIS_PAD_PORT_TYPE_REMOTE_CONTROL)
|
if (type != ORBIS_PAD_PORT_TYPE_STANDARD && type != ORBIS_PAD_PORT_TYPE_REMOTE_CONTROL)
|
||||||
return ORBIS_PAD_ERROR_DEVICE_NOT_CONNECTED;
|
return ORBIS_PAD_ERROR_DEVICE_NOT_CONNECTED;
|
||||||
}
|
}
|
||||||
|
LOG_INFO(Lib_Pad, "(DUMMY) called user_id = {} type = {} index = {}", userId, type, index);
|
||||||
scePadResetLightBar(1);
|
scePadResetLightBar(1);
|
||||||
return 1; // dummy
|
return 1; // dummy
|
||||||
}
|
}
|
||||||
|
BIN
src/images/shadps4.png
Normal file
BIN
src/images/shadps4.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 34 KiB |
@ -50,14 +50,14 @@ inline void KeepWindowInside(ImVec2 display_size = GetIO().DisplaySize) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
inline void KeepNavHighlight() {
|
inline void KeepNavHighlight() {
|
||||||
GetCurrentContext()->NavDisableHighlight = false;
|
GetCurrentContext()->NavCursorVisible = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
inline void SetItemCurrentNavFocus(const ImGuiID id = -1) {
|
inline void SetItemCurrentNavFocus(const ImGuiID id = -1) {
|
||||||
const auto ctx = GetCurrentContext();
|
const auto ctx = GetCurrentContext();
|
||||||
SetFocusID(id == -1 ? ctx->LastItemData.ID : id, ctx->CurrentWindow);
|
SetFocusID(id == -1 ? ctx->LastItemData.ID : id, ctx->CurrentWindow);
|
||||||
ctx->NavInitResult.Clear();
|
ctx->NavInitResult.Clear();
|
||||||
ctx->NavDisableHighlight = false;
|
ctx->NavCursorVisible = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
inline void DrawPrettyBackground() {
|
inline void DrawPrettyBackground() {
|
||||||
|
@ -35,7 +35,7 @@
|
|||||||
<string/>
|
<string/>
|
||||||
</property>
|
</property>
|
||||||
<property name="pixmap">
|
<property name="pixmap">
|
||||||
<pixmap>:/images/shadps4.ico</pixmap>
|
<pixmap>:/images/shadps4.png</pixmap>
|
||||||
</property>
|
</property>
|
||||||
<property name="scaledContents">
|
<property name="scaledContents">
|
||||||
<bool>true</bool>
|
<bool>true</bool>
|
||||||
|
@ -188,7 +188,7 @@ void CheckUpdate::setupUI(const QString& downloadUrl, const QString& latestDate,
|
|||||||
QHBoxLayout* titleLayout = new QHBoxLayout();
|
QHBoxLayout* titleLayout = new QHBoxLayout();
|
||||||
|
|
||||||
QLabel* imageLabel = new QLabel(this);
|
QLabel* imageLabel = new QLabel(this);
|
||||||
QPixmap pixmap(":/images/shadps4.ico");
|
QPixmap pixmap(":/images/shadps4.png");
|
||||||
imageLabel->setPixmap(pixmap);
|
imageLabel->setPixmap(pixmap);
|
||||||
imageLabel->setScaledContents(true);
|
imageLabel->setScaledContents(true);
|
||||||
imageLabel->setFixedSize(50, 50);
|
imageLabel->setFixedSize(50, 50);
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
<RCC>
|
<RCC>
|
||||||
<qresource prefix="/">
|
<qresource prefix="/">
|
||||||
<file>images/shadps4.ico</file>
|
<file>images/shadps4.ico</file>
|
||||||
|
<file>images/shadps4.png</file>
|
||||||
<file>images/about_icon.png</file>
|
<file>images/about_icon.png</file>
|
||||||
<file>images/dump_icon.png</file>
|
<file>images/dump_icon.png</file>
|
||||||
<file>images/play_icon.png</file>
|
<file>images/play_icon.png</file>
|
||||||
|
Loading…
Reference in New Issue
Block a user