mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2025-01-10 00:45:13 +00:00
107 lines
3.1 KiB
C++
107 lines
3.1 KiB
C++
// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
|
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
#pragma once
|
|
|
|
#include "common/types.h"
|
|
#include "core/libraries/system/commondialog.h"
|
|
|
|
namespace Core::Loader {
|
|
class SymbolsResolver;
|
|
}
|
|
|
|
namespace Libraries::MsgDialog {
|
|
|
|
using OrbisUserServiceUserId = s32;
|
|
|
|
enum OrbisCommonDialogStatus {
|
|
ORBIS_COMMON_DIALOG_STATUS_NONE = 0,
|
|
ORBIS_COMMON_DIALOG_STATUS_INITIALIZED = 1,
|
|
ORBIS_COMMON_DIALOG_STATUS_RUNNING = 2,
|
|
ORBIS_COMMON_DIALOG_STATUS_FINISHED = 3
|
|
};
|
|
|
|
enum OrbisMsgDialogMode {
|
|
ORBIS_MSG_DIALOG_MODE_USER_MSG = 1,
|
|
ORBIS_MSG_DIALOG_MODE_PROGRESS_BAR = 2,
|
|
ORBIS_MSG_DIALOG_MODE_SYSTEM_MSG = 3,
|
|
};
|
|
|
|
enum OrbisMsgDialogButtonType {
|
|
ORBIS_MSG_DIALOG_BUTTON_TYPE_OK = 0,
|
|
ORBIS_MSG_DIALOG_BUTTON_TYPE_YESNO = 1,
|
|
ORBIS_MSG_DIALOG_BUTTON_TYPE_NONE = 2,
|
|
ORBIS_MSG_DIALOG_BUTTON_TYPE_OK_CANCEL = 3,
|
|
ORBIS_MSG_DIALOG_BUTTON_TYPE_WAIT = 5,
|
|
ORBIS_MSG_DIALOG_BUTTON_TYPE_WAIT_CANCEL = 6,
|
|
ORBIS_MSG_DIALOG_BUTTON_TYPE_YESNO_FOCUS_NO = 7,
|
|
ORBIS_MSG_DIALOG_BUTTON_TYPE_OK_CANCEL_FOCUS_CANCEL = 8,
|
|
ORBIS_MSG_DIALOG_BUTTON_TYPE_2BUTTONS = 9,
|
|
};
|
|
|
|
enum OrbisMsgDialogProgressBarType {
|
|
ORBIS_MSG_DIALOG_PROGRESSBAR_TYPE_PERCENTAGE = 0,
|
|
ORBIS_MSG_DIALOG_PROGRESSBAR_TYPE_PERCENTAGE_CANCEL = 1,
|
|
};
|
|
|
|
enum OrbisMsgDialogSystemMessageType {
|
|
ORBIS_MSG_DIALOG_SYSMSG_TYPE_TRC_EMPTY_STORE = 0,
|
|
ORBIS_MSG_DIALOG_SYSMSG_TYPE_TRC_PSN_CHAT_RESTRICTION = 1,
|
|
ORBIS_MSG_DIALOG_SYSMSG_TYPE_TRC_PSN_UGC_RESTRICTION = 2,
|
|
ORBIS_MSG_DIALOG_SYSMSG_TYPE_CAMERA_NOT_CONNECTED = 4,
|
|
ORBIS_MSG_DIALOG_SYSMSG_TYPE_WARNING_PROFILE_PICTURE_AND_NAME_NOT_SHARED = 5,
|
|
};
|
|
|
|
struct OrbisMsgDialogButtonsParam {
|
|
const char* msg1;
|
|
const char* msg2;
|
|
char reserved[32];
|
|
};
|
|
|
|
struct OrbisMsgDialogUserMessageParam {
|
|
OrbisMsgDialogButtonType buttonType;
|
|
s32 : 32;
|
|
const char* msg;
|
|
OrbisMsgDialogButtonsParam* buttonsParam;
|
|
char reserved[24];
|
|
};
|
|
|
|
struct OrbisMsgDialogProgressBarParam {
|
|
OrbisMsgDialogProgressBarType barType;
|
|
int32_t : 32;
|
|
const char* msg;
|
|
char reserved[64];
|
|
};
|
|
|
|
struct OrbisMsgDialogSystemMessageParam {
|
|
OrbisMsgDialogSystemMessageType sysMsgType;
|
|
char reserved[32];
|
|
};
|
|
|
|
struct OrbisMsgDialogParam {
|
|
CommonDialog::OrbisCommonDialogBaseParam baseParam;
|
|
std::size_t size;
|
|
OrbisMsgDialogMode mode;
|
|
s32 : 32;
|
|
OrbisMsgDialogUserMessageParam* userMsgParam;
|
|
OrbisMsgDialogProgressBarParam* progBarParam;
|
|
OrbisMsgDialogSystemMessageParam* sysMsgParam;
|
|
OrbisUserServiceUserId userId;
|
|
char reserved[40];
|
|
s32 : 32;
|
|
};
|
|
|
|
int PS4_SYSV_ABI sceMsgDialogClose();
|
|
int PS4_SYSV_ABI sceMsgDialogGetResult();
|
|
int PS4_SYSV_ABI sceMsgDialogGetStatus();
|
|
int PS4_SYSV_ABI sceMsgDialogInitialize();
|
|
s32 PS4_SYSV_ABI sceMsgDialogOpen(const OrbisMsgDialogParam* param);
|
|
int PS4_SYSV_ABI sceMsgDialogProgressBarInc();
|
|
int PS4_SYSV_ABI sceMsgDialogProgressBarSetMsg();
|
|
int PS4_SYSV_ABI sceMsgDialogProgressBarSetValue();
|
|
int PS4_SYSV_ABI sceMsgDialogTerminate();
|
|
int PS4_SYSV_ABI sceMsgDialogUpdateStatus();
|
|
|
|
void RegisterlibSceMsgDialog(Core::Loader::SymbolsResolver* sym);
|
|
} // namespace Libraries::MsgDialog
|