mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2025-12-10 05:38:49 +00:00
Stub NOT_IN_PARTY behavior (#3409)
From what I can tell, this is valid behavior since a user could choose not to enter a party. This fixes a potential crash on boot in Grand Theft Auto V.
This commit is contained in:
@@ -591,6 +591,7 @@ set(NP_LIBS src/core/libraries/np_common/np_common.cpp
|
|||||||
src/core/libraries/np_web_api/np_web_api.h
|
src/core/libraries/np_web_api/np_web_api.h
|
||||||
src/core/libraries/np_party/np_party.cpp
|
src/core/libraries/np_party/np_party.cpp
|
||||||
src/core/libraries/np_party/np_party.h
|
src/core/libraries/np_party/np_party.h
|
||||||
|
src/core/libraries/np_party/np_party_error.h
|
||||||
src/core/libraries/np_auth/np_auth.cpp
|
src/core/libraries/np_auth/np_auth.cpp
|
||||||
src/core/libraries/np_auth/np_auth.h
|
src/core/libraries/np_auth/np_auth.h
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -5,6 +5,7 @@
|
|||||||
#include "core/libraries/error_codes.h"
|
#include "core/libraries/error_codes.h"
|
||||||
#include "core/libraries/libs.h"
|
#include "core/libraries/libs.h"
|
||||||
#include "core/libraries/np_party/np_party.h"
|
#include "core/libraries/np_party/np_party.h"
|
||||||
|
#include "core/libraries/np_party/np_party_error.h"
|
||||||
|
|
||||||
namespace Libraries::NpParty {
|
namespace Libraries::NpParty {
|
||||||
|
|
||||||
@@ -30,22 +31,22 @@ s32 PS4_SYSV_ABI sceNpPartyGetId() {
|
|||||||
|
|
||||||
s32 PS4_SYSV_ABI sceNpPartyGetMemberInfo() {
|
s32 PS4_SYSV_ABI sceNpPartyGetMemberInfo() {
|
||||||
LOG_ERROR(Lib_NpParty, "(STUBBED) called");
|
LOG_ERROR(Lib_NpParty, "(STUBBED) called");
|
||||||
return ORBIS_OK;
|
return ORBIS_NP_PARTY_ERROR_NOT_IN_PARTY;
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 PS4_SYSV_ABI sceNpPartyGetMemberInfoA() {
|
s32 PS4_SYSV_ABI sceNpPartyGetMemberInfoA() {
|
||||||
LOG_ERROR(Lib_NpParty, "(STUBBED) called");
|
LOG_ERROR(Lib_NpParty, "(STUBBED) called");
|
||||||
return ORBIS_OK;
|
return ORBIS_NP_PARTY_ERROR_NOT_IN_PARTY;
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 PS4_SYSV_ABI sceNpPartyGetMembers() {
|
s32 PS4_SYSV_ABI sceNpPartyGetMembers() {
|
||||||
LOG_ERROR(Lib_NpParty, "(STUBBED) called");
|
LOG_ERROR(Lib_NpParty, "(STUBBED) called");
|
||||||
return ORBIS_OK;
|
return ORBIS_NP_PARTY_ERROR_NOT_IN_PARTY;
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 PS4_SYSV_ABI sceNpPartyGetMembersA() {
|
s32 PS4_SYSV_ABI sceNpPartyGetMembersA() {
|
||||||
LOG_ERROR(Lib_NpParty, "(STUBBED) called");
|
LOG_ERROR(Lib_NpParty, "(STUBBED) called");
|
||||||
return ORBIS_OK;
|
return ORBIS_NP_PARTY_ERROR_NOT_IN_PARTY;
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 PS4_SYSV_ABI sceNpPartyGetMemberSessionInfo() {
|
s32 PS4_SYSV_ABI sceNpPartyGetMemberSessionInfo() {
|
||||||
@@ -58,8 +59,9 @@ s32 PS4_SYSV_ABI sceNpPartyGetMemberVoiceInfo() {
|
|||||||
return ORBIS_OK;
|
return ORBIS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 PS4_SYSV_ABI sceNpPartyGetState() {
|
s32 PS4_SYSV_ABI sceNpPartyGetState(OrbisNpPartyState* state) {
|
||||||
LOG_ERROR(Lib_NpParty, "(STUBBED) called");
|
LOG_ERROR(Lib_NpParty, "(STUBBED) called");
|
||||||
|
*state = OrbisNpPartyState::NotInParty;
|
||||||
return ORBIS_OK;
|
return ORBIS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -11,6 +11,11 @@ class SymbolsResolver;
|
|||||||
|
|
||||||
namespace Libraries::NpParty {
|
namespace Libraries::NpParty {
|
||||||
|
|
||||||
|
enum class OrbisNpPartyState : u16 {
|
||||||
|
NotInParty = 2,
|
||||||
|
InPrivateParty = 3,
|
||||||
|
};
|
||||||
|
|
||||||
s32 PS4_SYSV_ABI sceNpPartyCheckCallback();
|
s32 PS4_SYSV_ABI sceNpPartyCheckCallback();
|
||||||
s32 PS4_SYSV_ABI sceNpPartyCreate();
|
s32 PS4_SYSV_ABI sceNpPartyCreate();
|
||||||
s32 PS4_SYSV_ABI sceNpPartyCreateA();
|
s32 PS4_SYSV_ABI sceNpPartyCreateA();
|
||||||
@@ -21,7 +26,7 @@ s32 PS4_SYSV_ABI sceNpPartyGetMembers();
|
|||||||
s32 PS4_SYSV_ABI sceNpPartyGetMembersA();
|
s32 PS4_SYSV_ABI sceNpPartyGetMembersA();
|
||||||
s32 PS4_SYSV_ABI sceNpPartyGetMemberSessionInfo();
|
s32 PS4_SYSV_ABI sceNpPartyGetMemberSessionInfo();
|
||||||
s32 PS4_SYSV_ABI sceNpPartyGetMemberVoiceInfo();
|
s32 PS4_SYSV_ABI sceNpPartyGetMemberVoiceInfo();
|
||||||
s32 PS4_SYSV_ABI sceNpPartyGetState();
|
s32 PS4_SYSV_ABI sceNpPartyGetState(OrbisNpPartyState* state);
|
||||||
s32 PS4_SYSV_ABI sceNpPartyGetStateAsUser();
|
s32 PS4_SYSV_ABI sceNpPartyGetStateAsUser();
|
||||||
s32 PS4_SYSV_ABI sceNpPartyGetStateAsUserA();
|
s32 PS4_SYSV_ABI sceNpPartyGetStateAsUserA();
|
||||||
s32 PS4_SYSV_ABI sceNpPartyGetVoiceChatPriority();
|
s32 PS4_SYSV_ABI sceNpPartyGetVoiceChatPriority();
|
||||||
|
|||||||
8
src/core/libraries/np_party/np_party_error.h
Normal file
8
src/core/libraries/np_party/np_party_error.h
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "core/libraries/error_codes.h"
|
||||||
|
|
||||||
|
constexpr int ORBIS_NP_PARTY_ERROR_NOT_IN_PARTY = 0x80552506;
|
||||||
Reference in New Issue
Block a user