From 71dadac5d0f5f9da010b308b218d19659f2232dd Mon Sep 17 00:00:00 2001 From: georgemoralis Date: Tue, 7 Apr 2026 12:26:08 +0300 Subject: [PATCH] more fixup --- src/core/libraries/np/np_profile_dialog.cpp | 29 ++++++++++++------- src/core/libraries/np/np_profile_dialog.h | 4 +-- .../web_browser_dialog/webbrowserdialog.cpp | 18 ++++++++---- .../web_browser_dialog/webbrowserdialog.h | 2 +- 4 files changed, 35 insertions(+), 18 deletions(-) diff --git a/src/core/libraries/np/np_profile_dialog.cpp b/src/core/libraries/np/np_profile_dialog.cpp index 11dad6992..f21056a18 100644 --- a/src/core/libraries/np/np_profile_dialog.cpp +++ b/src/core/libraries/np/np_profile_dialog.cpp @@ -12,19 +12,24 @@ namespace Libraries::Np::NpProfileDialog { static auto g_status = Libraries::CommonDialog::Status::NONE; -Libraries::CommonDialog::Error PS4_SYSV_ABI sceNpProfileDialogOpen() { +Libraries::CommonDialog::Error PS4_SYSV_ABI sceNpProfileDialogOpen(void* param) { if (g_status != Libraries::CommonDialog::Status::INITIALIZED && g_status != Libraries::CommonDialog::Status::FINISHED) { - LOG_INFO(Lib_MsgDlg, "called without initialize"); + LOG_INFO(Lib_NpProfileDialog, "called without initialize"); return Libraries::CommonDialog::Error::INVALID_STATE; } - LOG_ERROR(Lib_NpProfileDialog, "(STUBBED) called"); + LOG_ERROR(Lib_NpProfileDialog, "(STUBBED) called"); // TODO open ui dialog + g_status = Libraries::CommonDialog::Status::RUNNING; return Libraries::CommonDialog::Error::OK; } -s32 PS4_SYSV_ABI sceNpProfileDialogClose() { - LOG_ERROR(Lib_NpProfileDialog, "(STUBBED) called"); - return ORBIS_OK; +Libraries::CommonDialog::Error PS4_SYSV_ABI sceNpProfileDialogClose() { + LOG_DEBUG(Lib_NpProfileDialog, "called"); + if (g_status != Libraries::CommonDialog::Status::RUNNING) { + return Libraries::CommonDialog::Error::NOT_RUNNING; + } + LOG_INFO(Lib_NpProfileDialog, "TODO: close npprofile ui dialog"); // TODO close Ui dialog + return Libraries::CommonDialog::Error::OK; } s32 PS4_SYSV_ABI sceNpProfileDialogGetResult() { @@ -33,7 +38,7 @@ s32 PS4_SYSV_ABI sceNpProfileDialogGetResult() { } Libraries::CommonDialog::Status PS4_SYSV_ABI sceNpProfileDialogGetStatus() { - LOG_TRACE(Lib_MsgDlg, "called status={}", magic_enum::enum_name(g_status)); + LOG_TRACE(Lib_NpProfileDialog, "called status={}", magic_enum::enum_name(g_status)); return g_status; } @@ -58,9 +63,9 @@ s32 PS4_SYSV_ABI sceNpProfileDialogOpenA() { return ORBIS_OK; } -Libraries::CommonDialog::Error sceNpProfileDialogTerminate() { +Libraries::CommonDialog::Error PS4_SYSV_ABI sceNpProfileDialogTerminate() { if (g_status == Libraries::CommonDialog::Status::RUNNING) { - LOG_ERROR(Lib_NpProfileDialog, "CloseProfile Dialog unimplemented"); + sceNpProfileDialogClose(); } if (g_status == Libraries::CommonDialog::Status::NONE) { return Libraries::CommonDialog::Error::NOT_INITIALIZED; @@ -71,7 +76,11 @@ Libraries::CommonDialog::Error sceNpProfileDialogTerminate() { } Libraries::CommonDialog::Status PS4_SYSV_ABI sceNpProfileDialogUpdateStatus() { - LOG_TRACE(Lib_MsgDlg, "called status={}", magic_enum::enum_name(g_status)); + if (g_status == Libraries::CommonDialog::Status::RUNNING) { + g_status = Libraries::CommonDialog::Status::FINISHED; // TODO removed it when implementing + // real dialog + } + LOG_TRACE(Lib_NpProfileDialog, "called status={}", magic_enum::enum_name(g_status)); return g_status; } diff --git a/src/core/libraries/np/np_profile_dialog.h b/src/core/libraries/np/np_profile_dialog.h index 775549a47..d991ce68c 100644 --- a/src/core/libraries/np/np_profile_dialog.h +++ b/src/core/libraries/np/np_profile_dialog.h @@ -12,8 +12,8 @@ class SymbolsResolver; namespace Libraries::Np::NpProfileDialog { -Libraries::CommonDialog::Error PS4_SYSV_ABI sceNpProfileDialogOpen(); -s32 PS4_SYSV_ABI sceNpProfileDialogClose(); +Libraries::CommonDialog::Error PS4_SYSV_ABI sceNpProfileDialogOpen(void* param); +Libraries::CommonDialog::Error PS4_SYSV_ABI sceNpProfileDialogClose(); s32 PS4_SYSV_ABI sceNpProfileDialogGetResult(); Libraries::CommonDialog::Status PS4_SYSV_ABI sceNpProfileDialogGetStatus(); Libraries::CommonDialog::Error PS4_SYSV_ABI sceNpProfileDialogInitialize(); diff --git a/src/core/libraries/web_browser_dialog/webbrowserdialog.cpp b/src/core/libraries/web_browser_dialog/webbrowserdialog.cpp index ce15aed46..2bb01c035 100644 --- a/src/core/libraries/web_browser_dialog/webbrowserdialog.cpp +++ b/src/core/libraries/web_browser_dialog/webbrowserdialog.cpp @@ -11,9 +11,13 @@ namespace Libraries::WebBrowserDialog { static auto g_status = Libraries::CommonDialog::Status::NONE; -s32 PS4_SYSV_ABI sceWebBrowserDialogClose() { +Libraries::CommonDialog::Error PS4_SYSV_ABI sceWebBrowserDialogClose() { LOG_ERROR(Lib_WebBrowserDialog, "(STUBBED) called"); - return ORBIS_OK; + if (g_status != Libraries::CommonDialog::Status::RUNNING) { + return Libraries::CommonDialog::Error::NOT_RUNNING; + } + LOG_INFO(Lib_NpProfileDialog, "TODO: close npprofile ui dialog"); // TODO close Ui dialog + return Libraries::CommonDialog::Error::OK; } s32 PS4_SYSV_ABI sceWebBrowserDialogGetEvent() { @@ -58,7 +62,8 @@ Libraries::CommonDialog::Error PS4_SYSV_ABI sceWebBrowserDialogOpen() { LOG_INFO(Lib_MsgDlg, "called without initialize"); return Libraries::CommonDialog::Error::INVALID_STATE; } - LOG_ERROR(Lib_WebBrowserDialog, "(STUBBED) called"); + LOG_ERROR(Lib_WebBrowserDialog, "(STUBBED) called"); // TODO open ui dialog + g_status = Libraries::CommonDialog::Status::RUNNING; return Libraries::CommonDialog::Error::OK; } @@ -84,8 +89,7 @@ s32 PS4_SYSV_ABI sceWebBrowserDialogSetZoom() { Libraries::CommonDialog::Error PS4_SYSV_ABI sceWebBrowserDialogTerminate() { if (g_status == Libraries::CommonDialog::Status::RUNNING) { - LOG_ERROR(Lib_WebBrowserDialog, - "CloseWebBrowser Dialog unimplemented"); // sceWebBrowserDialogClose(); + sceWebBrowserDialogClose(); } if (g_status == Libraries::CommonDialog::Status::NONE) { return Libraries::CommonDialog::Error::NOT_INITIALIZED; @@ -97,6 +101,10 @@ Libraries::CommonDialog::Error PS4_SYSV_ABI sceWebBrowserDialogTerminate() { Libraries::CommonDialog::Status PS4_SYSV_ABI sceWebBrowserDialogUpdateStatus() { LOG_TRACE(Lib_MsgDlg, "called status={}", magic_enum::enum_name(g_status)); + if (g_status == Libraries::CommonDialog::Status::RUNNING) { + g_status = Libraries::CommonDialog::Status::FINISHED; // TODO removed it when implementing + // real dialog + } return g_status; } diff --git a/src/core/libraries/web_browser_dialog/webbrowserdialog.h b/src/core/libraries/web_browser_dialog/webbrowserdialog.h index b836ba39c..4fac2a3f0 100644 --- a/src/core/libraries/web_browser_dialog/webbrowserdialog.h +++ b/src/core/libraries/web_browser_dialog/webbrowserdialog.h @@ -12,7 +12,7 @@ class SymbolsResolver; namespace Libraries::WebBrowserDialog { -s32 PS4_SYSV_ABI sceWebBrowserDialogClose(); +Libraries::CommonDialog::Error PS4_SYSV_ABI sceWebBrowserDialogClose(); s32 PS4_SYSV_ABI sceWebBrowserDialogGetEvent(); s32 PS4_SYSV_ABI sceWebBrowserDialogGetResult(); Libraries::CommonDialog::Status PS4_SYSV_ABI sceWebBrowserDialogGetStatus();