This commit is contained in:
Fire Cube 2025-05-20 22:55:10 +02:00
parent 2ef2e12404
commit cf66112d4e
2 changed files with 53 additions and 3 deletions

View File

@ -8,8 +8,42 @@
namespace Libraries::CompanionUtil { namespace Libraries::CompanionUtil {
s32 PS4_SYSV_ABI sceCompanionUtilGetEvent() { uint32_t PS4_SYSV_ABI getEvent(sceCompanionUtilContext* ctx, sceCompanionUtilEvent* outEvent,
return 0x8000000; s32 param_3) {
uint32_t return_var;
if (outEvent == 0) {
return_var = ORBIS_COMPANION_UTIL_INVALID_ARGUMENT;
}
if (ctx == nullptr) {
return_var = ORBIS_COMPANION_UTIL_INVALID_POINTER;
} else {
uint8_t* base = ctx->blob;
int flag = *reinterpret_cast<int*>(base + 0x178);
if (flag == 0) {
return_var = ORBIS_COMPANION_UTIL_NO_EVENT;
} else {
return_var = ORBIS_COMPANION_UTIL_OK;
}
}
return return_var;
}
s32 PS4_SYSV_ABI sceCompanionUtilGetEvent(sceCompanionUtilEvent* outEvent) {
sceCompanionUtilContext* ctx = nullptr;
uint32_t ret = getEvent(ctx, outEvent,
1);
uint32_t return_var;
LOG_DEBUG(Lib_CompanionUtil, "(STUBBED) called ret: {}", ret);
return_var = ret | 0xad0000;
if (-1 < (int)ret) {
return_var = ret;
}
return return_var;
} }
s32 PS4_SYSV_ABI sceCompanionUtilGetRemoteOskEvent() { s32 PS4_SYSV_ABI sceCompanionUtilGetRemoteOskEvent() {

View File

@ -11,7 +11,23 @@ class SymbolsResolver;
namespace Libraries::CompanionUtil { namespace Libraries::CompanionUtil {
s32 PS4_SYSV_ABI sceCompanionUtilGetEvent(); static constexpr uint32_t ORBIS_COMPANION_UTIL_OK = 0;
static constexpr uint32_t ORBIS_COMPANION_UTIL_INVALID_ARGUMENT = 0x80000004;
static constexpr uint32_t ORBIS_COMPANION_UTIL_INVALID_POINTER = 0x80000006;
static constexpr uint32_t ORBIS_COMPANION_UTIL_NO_EVENT = 0x80000008;
struct sceCompanionUtilEvent {
std::uint8_t blob[0x104]{}; /// 0x104 bytes of data, dont know what it is exactly
};
struct sceCompanionUtilContext {
std::uint8_t blob[0x27B]{}; /// 0x27B bytes of data, dont know what it is exactly
};
uint32_t PS4_SYSV_ABI getEvent(sceCompanionUtilContext* ctx, sceCompanionUtilEvent* outEvent,
s32 param_3);
s32 PS4_SYSV_ABI sceCompanionUtilGetEvent(sceCompanionUtilEvent* outEvent);
s32 PS4_SYSV_ABI sceCompanionUtilGetRemoteOskEvent(); s32 PS4_SYSV_ABI sceCompanionUtilGetRemoteOskEvent();
s32 PS4_SYSV_ABI sceCompanionUtilInitialize(); s32 PS4_SYSV_ABI sceCompanionUtilInitialize();
s32 PS4_SYSV_ABI sceCompanionUtilOptParamInitialize(); s32 PS4_SYSV_ABI sceCompanionUtilOptParamInitialize();