diff --git a/src/Core/PS4/HLE/LibSceVideoOut.cpp b/src/Core/PS4/HLE/LibSceVideoOut.cpp index 3b97cfaa..6f57b730 100644 --- a/src/Core/PS4/HLE/LibSceVideoOut.cpp +++ b/src/Core/PS4/HLE/LibSceVideoOut.cpp @@ -2,6 +2,8 @@ #include "Libs.h" #include "../Loader/Elf.h" #include "../../../Debug.h" +#include "VideoOut/VideoOutCodes.h" +#include "UserManagement/UsrMngCodes.h" namespace HLE::Libs::LibSceVideoOut { @@ -41,7 +43,11 @@ namespace HLE::Libs::LibSceVideoOut { int32_t PS4_SYSV_ABI sceVideoOutOpen(SceUserServiceUserId userId, int32_t busType, int32_t index, const void* param) { - if (busType != 0) + if (userId != SCE_USER_SERVICE_USER_ID_SYSTEM) + { + BREAKPOINT(); + } + if (busType != SCE_VIDEO_OUT_BUS_TYPE_MAIN) { BREAKPOINT(); } diff --git a/src/Core/PS4/HLE/UserManagement/UsrMngCodes.h b/src/Core/PS4/HLE/UserManagement/UsrMngCodes.h new file mode 100644 index 00000000..ffe58570 --- /dev/null +++ b/src/Core/PS4/HLE/UserManagement/UsrMngCodes.h @@ -0,0 +1,12 @@ +#pragma once + +//constants + +constexpr int SCE_USER_SERVICE_MAX_LOGIN_USERS = 4; //max users logged in at once +constexpr int SCE_USER_SERVICE_MAX_USER_NAME_LENGTH = 16;//Max length for user name + +constexpr int SCE_USER_SERVICE_USER_ID_INVALID = -1;//invalid user ID +constexpr int SCE_USER_SERVICE_USER_ID_SYSTEM = 255; //generic id for device +constexpr int SCE_USER_SERVICE_USER_ID_EVERYONE = 254; // generic id for user (mostly used in common dialogs) + + diff --git a/src/Core/PS4/HLE/VideoOut/VideoOutCodes.h b/src/Core/PS4/HLE/VideoOut/VideoOutCodes.h new file mode 100644 index 00000000..b5058f9b --- /dev/null +++ b/src/Core/PS4/HLE/VideoOut/VideoOutCodes.h @@ -0,0 +1,7 @@ +#pragma once + +// SceVideoOutBusType + +constexpr int SCE_VIDEO_OUT_BUS_TYPE_MAIN = 0; //Main output +constexpr int SCE_VIDEO_OUT_BUS_TYPE_AUX_SOCIAL_SCREEN = 5; //Aux output for social +constexpr int SCE_VIDEO_OUT_BUS_TYPE_AUX_GAME_LIVE_STREAMING = 6; //Aux output for screaming