mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2025-12-17 00:59:05 +00:00
* Remove checks for module version_major and version_minor Following this rule broke linking for some libraries, and introduced extra effort needed to get some homebrew running. * Clang * Fix rebase * Disable libSceSsl HLE Real hardware uses a title workaround to determine if base libSceSsl is needed. Currently, this title workaround applies to absolutely nothing.
1029 lines
36 KiB
C++
1029 lines
36 KiB
C++
// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
|
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
#include "common/elf_info.h"
|
|
#include "common/logging/log.h"
|
|
#include "core/libraries/error_codes.h"
|
|
#include "core/libraries/hmd/hmd.h"
|
|
#include "core/libraries/hmd/hmd_error.h"
|
|
#include "core/libraries/kernel/process.h"
|
|
#include "core/libraries/libs.h"
|
|
|
|
namespace Libraries::Hmd {
|
|
|
|
static bool g_library_initialized = false;
|
|
static s32 g_firmware_version = 0;
|
|
static s32 g_internal_handle = 0;
|
|
static Libraries::UserService::OrbisUserServiceUserId g_user_id = -1;
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInitialize(const OrbisHmdInitializeParam* param) {
|
|
if (g_library_initialized) {
|
|
return ORBIS_HMD_ERROR_ALREADY_INITIALIZED;
|
|
}
|
|
if (param == nullptr) {
|
|
return ORBIS_HMD_ERROR_PARAMETER_NULL;
|
|
}
|
|
LOG_WARNING(Lib_Hmd, "PSVR headsets are not supported yet");
|
|
if (param->reserved0 != nullptr) {
|
|
sceHmdDistortionInitialize(param->reserved0);
|
|
}
|
|
g_library_initialized = true;
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInitialize315(const OrbisHmdInitializeParam* param) {
|
|
if (g_library_initialized) {
|
|
return ORBIS_HMD_ERROR_ALREADY_INITIALIZED;
|
|
}
|
|
if (param == nullptr) {
|
|
return ORBIS_HMD_ERROR_PARAMETER_NULL;
|
|
}
|
|
LOG_WARNING(Lib_Hmd, "PSVR headsets are not supported yet");
|
|
g_library_initialized = true;
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdOpen(Libraries::UserService::OrbisUserServiceUserId user_id, s32 type,
|
|
s32 index, OrbisHmdOpenParam* param) {
|
|
LOG_DEBUG(Lib_Hmd, "called");
|
|
if (!g_library_initialized) {
|
|
return ORBIS_HMD_ERROR_NOT_INITIALIZED;
|
|
}
|
|
if (type != 0 || index != 0 || param != nullptr) {
|
|
return ORBIS_HMD_ERROR_PARAMETER_INVALID;
|
|
}
|
|
if (g_internal_handle != 0) {
|
|
return ORBIS_HMD_ERROR_ALREADY_OPENED;
|
|
}
|
|
if (user_id == Libraries::UserService::ORBIS_USER_SERVICE_USER_ID_INVALID ||
|
|
user_id == Libraries::UserService::ORBIS_USER_SERVICE_USER_ID_SYSTEM) {
|
|
return ORBIS_HMD_ERROR_PARAMETER_INVALID;
|
|
}
|
|
|
|
// Return positive value representing handle.
|
|
// Internal libSceVrTracker logic requires this handle to be different from other devices.
|
|
g_user_id = user_id;
|
|
g_internal_handle = 0xf000000;
|
|
return g_internal_handle;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdGet2DEyeOffset(s32 handle, OrbisHmdEyeOffset* left_offset,
|
|
OrbisHmdEyeOffset* right_offset) {
|
|
LOG_DEBUG(Lib_Hmd, "called");
|
|
if (!g_library_initialized) {
|
|
return ORBIS_HMD_ERROR_NOT_INITIALIZED;
|
|
}
|
|
if (handle != g_internal_handle) {
|
|
return ORBIS_HMD_ERROR_HANDLE_INVALID;
|
|
}
|
|
if (g_firmware_version >= Common::ElfInfo::FW_45) {
|
|
// Due to some faulty in-library checks, a missing headset results in this error
|
|
// instead of the expected ORBIS_HMD_ERROR_DEVICE_DISCONNECTED error.
|
|
return ORBIS_HMD_ERROR_HANDLE_INVALID;
|
|
}
|
|
if (left_offset == nullptr || right_offset == nullptr) {
|
|
return ORBIS_HMD_ERROR_PARAMETER_NULL;
|
|
}
|
|
|
|
// Return default values
|
|
left_offset->offset_x = -0.0315;
|
|
left_offset->offset_y = 0;
|
|
left_offset->offset_z = 0;
|
|
right_offset->offset_x = 0.0315;
|
|
right_offset->offset_y = 0;
|
|
right_offset->offset_z = 0;
|
|
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdGetAssyError(void* data) {
|
|
LOG_DEBUG(Lib_Hmd, "called");
|
|
if (data == nullptr) {
|
|
return ORBIS_HMD_ERROR_PARAMETER_NULL;
|
|
}
|
|
if (!g_library_initialized) {
|
|
return ORBIS_HMD_ERROR_NOT_INITIALIZED;
|
|
}
|
|
|
|
return ORBIS_HMD_ERROR_DEVICE_DISCONNECTED;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdGetDeviceInformation(OrbisHmdDeviceInformation* info) {
|
|
LOG_DEBUG(Lib_Hmd, "called");
|
|
if (info == nullptr) {
|
|
return ORBIS_HMD_ERROR_PARAMETER_NULL;
|
|
}
|
|
if (!g_library_initialized) {
|
|
return ORBIS_HMD_ERROR_NOT_INITIALIZED;
|
|
}
|
|
|
|
memset(info, 0, sizeof(OrbisHmdDeviceInformation));
|
|
info->status = OrbisHmdDeviceStatus::ORBIS_HMD_DEVICE_STATUS_NOT_DETECTED;
|
|
info->user_id = g_user_id;
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdGetDeviceInformationByHandle(s32 handle, OrbisHmdDeviceInformation* info) {
|
|
LOG_DEBUG(Lib_Hmd, "called");
|
|
if (handle != g_internal_handle) {
|
|
return ORBIS_HMD_ERROR_HANDLE_INVALID;
|
|
}
|
|
if (g_firmware_version >= Common::ElfInfo::FW_45) {
|
|
// Due to some faulty in-library checks, a missing headset results in this error
|
|
// instead of the expected ORBIS_HMD_ERROR_DEVICE_DISCONNECTED error.
|
|
return ORBIS_HMD_ERROR_HANDLE_INVALID;
|
|
}
|
|
if (info == nullptr) {
|
|
return ORBIS_HMD_ERROR_PARAMETER_NULL;
|
|
}
|
|
if (!g_library_initialized) {
|
|
return ORBIS_HMD_ERROR_NOT_INITIALIZED;
|
|
}
|
|
|
|
memset(info, 0, sizeof(OrbisHmdDeviceInformation));
|
|
info->status = OrbisHmdDeviceStatus::ORBIS_HMD_DEVICE_STATUS_NOT_DETECTED;
|
|
info->user_id = g_user_id;
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdGetFieldOfView(s32 handle, OrbisHmdFieldOfView* field_of_view) {
|
|
LOG_DEBUG(Lib_Hmd, "called");
|
|
if (field_of_view == nullptr) {
|
|
return ORBIS_HMD_ERROR_PARAMETER_NULL;
|
|
}
|
|
if (handle != g_internal_handle) {
|
|
return ORBIS_HMD_ERROR_HANDLE_INVALID;
|
|
}
|
|
if (g_firmware_version >= Common::ElfInfo::FW_45) {
|
|
// Due to some faulty in-library checks, a missing headset results in this error
|
|
// instead of the expected ORBIS_HMD_ERROR_DEVICE_DISCONNECTED error.
|
|
return ORBIS_HMD_ERROR_HANDLE_INVALID;
|
|
}
|
|
if (!g_library_initialized) {
|
|
return ORBIS_HMD_ERROR_NOT_INITIALIZED;
|
|
}
|
|
|
|
// These values are a hardcoded return when a headset is connected.
|
|
// Leaving this here for future developers.
|
|
// field_of_view->tan_out = 1.20743;
|
|
// field_of_view->tan_in = 1.181346;
|
|
// field_of_view->tan_top = 1.262872;
|
|
// field_of_view->tan_bottom = 1.262872;
|
|
|
|
// Fails internally due to some internal library checks that break without a connected headset.
|
|
return ORBIS_HMD_ERROR_HANDLE_INVALID;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdGetInertialSensorData(s32 handle, void* data, s32 unk) {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
if (!g_library_initialized) {
|
|
return ORBIS_HMD_ERROR_NOT_INITIALIZED;
|
|
}
|
|
if (handle != g_internal_handle) {
|
|
return ORBIS_HMD_ERROR_HANDLE_INVALID;
|
|
}
|
|
if (g_firmware_version >= Common::ElfInfo::FW_45) {
|
|
// Due to some faulty in-library checks, a missing headset results in this error
|
|
// instead of the expected ORBIS_HMD_ERROR_DEVICE_DISCONNECTED error.
|
|
return ORBIS_HMD_ERROR_HANDLE_INVALID;
|
|
}
|
|
|
|
return ORBIS_HMD_ERROR_DEVICE_DISCONNECTED;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdClose(s32 handle) {
|
|
LOG_DEBUG(Lib_Hmd, "called");
|
|
if (!g_library_initialized) {
|
|
return ORBIS_HMD_ERROR_NOT_INITIALIZED;
|
|
}
|
|
if (handle != g_internal_handle) {
|
|
return ORBIS_HMD_ERROR_HANDLE_INVALID;
|
|
}
|
|
|
|
g_internal_handle = 0;
|
|
g_user_id = -1;
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdTerminate() {
|
|
LOG_DEBUG(Lib_Hmd, "called");
|
|
if (!g_library_initialized) {
|
|
return ORBIS_HMD_ERROR_NOT_INITIALIZED;
|
|
}
|
|
sceHmdDistortionTerminate();
|
|
g_library_initialized = false;
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternal3dAudioClose() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternal3dAudioOpen() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternal3dAudioSendData() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalAnotherScreenClose() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalAnotherScreenGetAudioStatus() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalAnotherScreenGetFadeState() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalAnotherScreenGetVideoStatus() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalAnotherScreenOpen() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalAnotherScreenSendAudio() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalAnotherScreenSendVideo() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalAnotherScreenSetFadeAndSwitch() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalBindDeviceWithUserId() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalCheckDeviceModelMk3() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalCheckS3dPassModeAvailable() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalCrashReportCancel() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalCrashReportClose() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalCrashReportOpen() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalCrashReportReadData() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalCrashReportReadDataSize() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalCreateSharedMemory() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalDfuCheckAfterPvt() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalDfuCheckPartialUpdateAvailable() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalDfuClose() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalDfuGetStatus() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalDfuOpen() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalDfuReset() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalDfuSend() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalDfuSendSize() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalDfuSetMode() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalDfuStart() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalEventInitialize() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalGetBrightness() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalGetCrashDumpInfo() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalGetDebugMode() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalGetDebugSocialScreenMode() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalGetDebugTextMode() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalGetDefaultLedData() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalGetDemoMode() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalGetDeviceInformation() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalGetDeviceInformationByHandle() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalGetDeviceStatus(OrbisHmdDeviceStatus* status) {
|
|
LOG_DEBUG(Lib_Hmd, "called");
|
|
if (status == nullptr) {
|
|
return ORBIS_HMD_ERROR_PARAMETER_NULL;
|
|
}
|
|
// Internal function fails with error DEVICE_DISCONNECTED
|
|
*status = OrbisHmdDeviceStatus::ORBIS_HMD_DEVICE_STATUS_NOT_DETECTED;
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalGetEyeStatus() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalGetHmuOpticalParam() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalGetHmuPowerStatusForDebug() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalGetHmuSerialNumber() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalGetIPD() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalGetIpdSettingEnableForSystemService() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalGetPuBuildNumber() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalGetPuPositionParam() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalGetPuRevision() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalGetPUSerialNumber() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalGetPUVersion() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalGetRequiredPUPVersion() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalGetStatusReport() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalGetTv4kCapability() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalGetVirtualDisplayDepth() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalGetVirtualDisplayHeight() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalGetVirtualDisplaySize() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalGetVr2dData() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalIsCommonDlgMiniAppVr2d() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalIsCommonDlgVr2d() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalIsGameVr2d() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalIsMiniAppVr2d() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalMapSharedMemory() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalMirroringModeSetAspect() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalMirroringModeSetAspectDebug() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalMmapGetCount() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalMmapGetModeId() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalMmapGetSensorCalibrationData() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalMmapIsConnect() {
|
|
LOG_DEBUG(Lib_Hmd, "called");
|
|
// Returns 0 when device is disconnected.
|
|
return 0;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalPushVr2dData() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalRegisterEventCallback() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalResetInertialSensor() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalResetLedForVrTracker() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalResetLedForVsh() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalSeparateModeClose() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalSeparateModeGetAudioStatus() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalSeparateModeGetVideoStatus() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalSeparateModeOpen() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalSeparateModeSendAudio() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalSeparateModeSendVideo() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalSetBrightness() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalSetCrashReportCommand() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalSetDebugGpo() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalSetDebugMode() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalSetDebugSocialScreenMode() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalSetDebugTextMode() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalSetDefaultLedData() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalSetDemoMode() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalSetDeviceConnection() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalSetForcedCrash() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalSetHmuPowerControl() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalSetHmuPowerControlForDebug() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalSetIPD() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalSetIpdSettingEnableForSystemService() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalSetLedOn() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalSetM2LedBrightness() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalSetM2LedOn() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalSetPortConnection() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalSetPortStatus() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalSetS3dPassMode() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalSetSidetone() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalSetUserType() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalSetVirtualDisplayDepth() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalSetVirtualDisplayHeight() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalSetVirtualDisplaySize() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalSetVRMode() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalSocialScreenGetFadeState() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalSocialScreenSetFadeAndSwitch() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceHmdInternalSocialScreenSetOutput() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI Func_202D0D1A687FCD2F() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI Func_358DBF818A3D8A12() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI Func_5CCBADA76FE8F40E() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI Func_63D403167DC08CF0() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI Func_69383B2B4E3AEABF(s32 handle, void* data, s32 unk) {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
if (!g_library_initialized) {
|
|
return ORBIS_HMD_ERROR_NOT_INITIALIZED;
|
|
}
|
|
if (handle != g_internal_handle) {
|
|
return ORBIS_HMD_ERROR_HANDLE_INVALID;
|
|
}
|
|
if (g_firmware_version >= Common::ElfInfo::FW_45) {
|
|
// Due to some faulty in-library checks, a missing headset results in this error
|
|
// instead of the expected ORBIS_HMD_ERROR_DEVICE_DISCONNECTED error.
|
|
return ORBIS_HMD_ERROR_HANDLE_INVALID;
|
|
}
|
|
|
|
return ORBIS_HMD_ERROR_DEVICE_DISCONNECTED;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI Func_791560C32F4F6D68() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI Func_7C955961EA85B6D3() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI Func_9952277839236BA7() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI Func_9A276E739E54EEAF() {
|
|
// Stubbed on real hardware.
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI Func_9E501994E289CBE7() {
|
|
// Stubbed on real hardware.
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI Func_A31F4DA8B3BD2E12() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI Func_A92D7C23AC364993() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI Func_ADCCC25CB876FDBE() {
|
|
// Stubbed on real hardware.
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI Func_B16652641FE69F0E() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI Func_FC193BD653F2AF2E() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI Func_FF2E0E53015FE231() {
|
|
LOG_ERROR(Lib_Hmd, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
void RegisterLib(Core::Loader::SymbolsResolver* sym) {
|
|
Libraries::Kernel::sceKernelGetCompiledSdkVersion(&g_firmware_version);
|
|
LIB_FUNCTION("6biw1XHTSqQ", "libSceHmd", 1, "libSceHmd", sceHmdClose);
|
|
LIB_FUNCTION("BWY-qKM5hxE", "libSceHmd", 1, "libSceHmd", sceHmdGet2DEyeOffset);
|
|
LIB_FUNCTION("Yx+CuF11D3Q", "libSceHmd", 1, "libSceHmd", sceHmdGetAssyError);
|
|
LIB_FUNCTION("thDt9upZlp8", "libSceHmd", 1, "libSceHmd", sceHmdGetDeviceInformation);
|
|
LIB_FUNCTION("1pxQfif1rkE", "libSceHmd", 1, "libSceHmd", sceHmdGetDeviceInformationByHandle);
|
|
LIB_FUNCTION("NPQwYFqi0bs", "libSceHmd", 1, "libSceHmd", sceHmdGetFieldOfView);
|
|
LIB_FUNCTION("rU3HK9Q0r8o", "libSceHmd", 1, "libSceHmd", sceHmdGetInertialSensorData);
|
|
LIB_FUNCTION("K4KnH0QkT2c", "libSceHmd", 1, "libSceHmd", sceHmdInitialize);
|
|
LIB_FUNCTION("s-J66ar9g50", "libSceHmd", 1, "libSceHmd", sceHmdInitialize315);
|
|
LIB_FUNCTION("riPQfAdebHk", "libSceHmd", 1, "libSceHmd", sceHmdInternal3dAudioClose);
|
|
LIB_FUNCTION("wHnZU1qtiqw", "libSceHmd", 1, "libSceHmd", sceHmdInternal3dAudioOpen);
|
|
LIB_FUNCTION("NuEjeN8WCBA", "libSceHmd", 1, "libSceHmd", sceHmdInternal3dAudioSendData);
|
|
LIB_FUNCTION("QasPTUPWVZE", "libSceHmd", 1, "libSceHmd", sceHmdInternalAnotherScreenClose);
|
|
LIB_FUNCTION("Wr5KVtyVDG0", "libSceHmd", 1, "libSceHmd",
|
|
sceHmdInternalAnotherScreenGetAudioStatus);
|
|
LIB_FUNCTION("whRxl6Hhrzg", "libSceHmd", 1, "libSceHmd",
|
|
sceHmdInternalAnotherScreenGetFadeState);
|
|
LIB_FUNCTION("w8BEUsIYn8w", "libSceHmd", 1, "libSceHmd",
|
|
sceHmdInternalAnotherScreenGetVideoStatus);
|
|
LIB_FUNCTION("0cQDAbkOt2A", "libSceHmd", 1, "libSceHmd", sceHmdInternalAnotherScreenOpen);
|
|
LIB_FUNCTION("Asczi8gw1NM", "libSceHmd", 1, "libSceHmd", sceHmdInternalAnotherScreenSendAudio);
|
|
LIB_FUNCTION("6+v7m1vwE+0", "libSceHmd", 1, "libSceHmd", sceHmdInternalAnotherScreenSendVideo);
|
|
LIB_FUNCTION("E0BLvy57IiQ", "libSceHmd", 1, "libSceHmd",
|
|
sceHmdInternalAnotherScreenSetFadeAndSwitch);
|
|
LIB_FUNCTION("UTqrWB+1+SU", "libSceHmd", 1, "libSceHmd", sceHmdInternalBindDeviceWithUserId);
|
|
LIB_FUNCTION("ego1YdqNGpI", "libSceHmd", 1, "libSceHmd", sceHmdInternalCheckDeviceModelMk3);
|
|
LIB_FUNCTION("WR7XsLdjcqQ", "libSceHmd", 1, "libSceHmd",
|
|
sceHmdInternalCheckS3dPassModeAvailable);
|
|
LIB_FUNCTION("eMI1Hq+NEwY", "libSceHmd", 1, "libSceHmd", sceHmdInternalCrashReportCancel);
|
|
LIB_FUNCTION("dI3StPLQlMM", "libSceHmd", 1, "libSceHmd", sceHmdInternalCrashReportClose);
|
|
LIB_FUNCTION("lqPT-Bf1s4I", "libSceHmd", 1, "libSceHmd", sceHmdInternalCrashReportOpen);
|
|
LIB_FUNCTION("QxhJs6zHUmU", "libSceHmd", 1, "libSceHmd", sceHmdInternalCrashReportReadData);
|
|
LIB_FUNCTION("A2jWOLPzHHE", "libSceHmd", 1, "libSceHmd", sceHmdInternalCrashReportReadDataSize);
|
|
LIB_FUNCTION("E9scVxt0DNg", "libSceHmd", 1, "libSceHmd", sceHmdInternalCreateSharedMemory);
|
|
LIB_FUNCTION("6RclvsKxr3I", "libSceHmd", 1, "libSceHmd", sceHmdInternalDfuCheckAfterPvt);
|
|
LIB_FUNCTION("cE99PJR6b8w", "libSceHmd", 1, "libSceHmd",
|
|
sceHmdInternalDfuCheckPartialUpdateAvailable);
|
|
LIB_FUNCTION("SuE90Qscg0s", "libSceHmd", 1, "libSceHmd", sceHmdInternalDfuClose);
|
|
LIB_FUNCTION("5f-6lp7L5cY", "libSceHmd", 1, "libSceHmd", sceHmdInternalDfuGetStatus);
|
|
LIB_FUNCTION("dv2RqD7ZBd4", "libSceHmd", 1, "libSceHmd", sceHmdInternalDfuOpen);
|
|
LIB_FUNCTION("pN0HjRU86Jo", "libSceHmd", 1, "libSceHmd", sceHmdInternalDfuReset);
|
|
LIB_FUNCTION("mdc++HCXSsQ", "libSceHmd", 1, "libSceHmd", sceHmdInternalDfuSend);
|
|
LIB_FUNCTION("gjyqnphjGZE", "libSceHmd", 1, "libSceHmd", sceHmdInternalDfuSendSize);
|
|
LIB_FUNCTION("bl4MkWNLxKs", "libSceHmd", 1, "libSceHmd", sceHmdInternalDfuSetMode);
|
|
LIB_FUNCTION("a1LmvXhZ6TM", "libSceHmd", 1, "libSceHmd", sceHmdInternalDfuStart);
|
|
LIB_FUNCTION("+UzzSnc0z9A", "libSceHmd", 1, "libSceHmd", sceHmdInternalEventInitialize);
|
|
LIB_FUNCTION("uQc9P8Hrr6U", "libSceHmd", 1, "libSceHmd", sceHmdInternalGetBrightness);
|
|
LIB_FUNCTION("nK1g+MwMV10", "libSceHmd", 1, "libSceHmd", sceHmdInternalGetCrashDumpInfo);
|
|
LIB_FUNCTION("L5WZgOTw41Y", "libSceHmd", 1, "libSceHmd", sceHmdInternalGetDebugMode);
|
|
LIB_FUNCTION("3w8SkMfCHY0", "libSceHmd", 1, "libSceHmd",
|
|
sceHmdInternalGetDebugSocialScreenMode);
|
|
LIB_FUNCTION("1Xmb76MHXug", "libSceHmd", 1, "libSceHmd", sceHmdInternalGetDebugTextMode);
|
|
LIB_FUNCTION("S0ITgPRkfUg", "libSceHmd", 1, "libSceHmd", sceHmdInternalGetDefaultLedData);
|
|
LIB_FUNCTION("mxjolbeBa78", "libSceHmd", 1, "libSceHmd", sceHmdInternalGetDemoMode);
|
|
LIB_FUNCTION("RFIi20Wp9j0", "libSceHmd", 1, "libSceHmd", sceHmdInternalGetDeviceInformation);
|
|
LIB_FUNCTION("P04LQJQZ43Y", "libSceHmd", 1, "libSceHmd",
|
|
sceHmdInternalGetDeviceInformationByHandle);
|
|
LIB_FUNCTION("PPCqsD8B5uM", "libSceHmd", 1, "libSceHmd", sceHmdInternalGetDeviceStatus);
|
|
LIB_FUNCTION("-u82z1UhOq4", "libSceHmd", 1, "libSceHmd", sceHmdInternalGetEyeStatus);
|
|
LIB_FUNCTION("iINSFzCIaB8", "libSceHmd", 1, "libSceHmd", sceHmdInternalGetHmuOpticalParam);
|
|
LIB_FUNCTION("Csuvq2MMXHU", "libSceHmd", 1, "libSceHmd",
|
|
sceHmdInternalGetHmuPowerStatusForDebug);
|
|
LIB_FUNCTION("UhFPniZvm8U", "libSceHmd", 1, "libSceHmd", sceHmdInternalGetHmuSerialNumber);
|
|
LIB_FUNCTION("aTg7K0466r8", "libSceHmd", 1, "libSceHmd", Func_69383B2B4E3AEABF);
|
|
LIB_FUNCTION("9exeDpk7JU8", "libSceHmd", 1, "libSceHmd", sceHmdInternalGetIPD);
|
|
LIB_FUNCTION("yNtYRsxZ6-A", "libSceHmd", 1, "libSceHmd",
|
|
sceHmdInternalGetIpdSettingEnableForSystemService);
|
|
LIB_FUNCTION("EKn+IFVsz0M", "libSceHmd", 1, "libSceHmd", sceHmdInternalGetPuBuildNumber);
|
|
LIB_FUNCTION("AxQ6HtktYfQ", "libSceHmd", 1, "libSceHmd", sceHmdInternalGetPuPositionParam);
|
|
LIB_FUNCTION("ynKv9QCSbto", "libSceHmd", 1, "libSceHmd", sceHmdInternalGetPuRevision);
|
|
LIB_FUNCTION("3jcyx7XOm7A", "libSceHmd", 1, "libSceHmd", sceHmdInternalGetPUSerialNumber);
|
|
LIB_FUNCTION("+PDyXnclP5w", "libSceHmd", 1, "libSceHmd", sceHmdInternalGetPUVersion);
|
|
LIB_FUNCTION("67q17ERGBuw", "libSceHmd", 1, "libSceHmd", sceHmdInternalGetRequiredPUPVersion);
|
|
LIB_FUNCTION("uGyN1CkvwYU", "libSceHmd", 1, "libSceHmd", sceHmdInternalGetStatusReport);
|
|
LIB_FUNCTION("p9lSvZujLuo", "libSceHmd", 1, "libSceHmd", sceHmdInternalGetTv4kCapability);
|
|
LIB_FUNCTION("-Z+-9u98m9o", "libSceHmd", 1, "libSceHmd", sceHmdInternalGetVirtualDisplayDepth);
|
|
LIB_FUNCTION("df+b0FQnnVQ", "libSceHmd", 1, "libSceHmd", sceHmdInternalGetVirtualDisplayHeight);
|
|
LIB_FUNCTION("i6yROd9ygJs", "libSceHmd", 1, "libSceHmd", sceHmdInternalGetVirtualDisplaySize);
|
|
LIB_FUNCTION("Aajiktl6JXU", "libSceHmd", 1, "libSceHmd", sceHmdInternalGetVr2dData);
|
|
LIB_FUNCTION("GwFVF2KkIT4", "libSceHmd", 1, "libSceHmd", sceHmdInternalIsCommonDlgMiniAppVr2d);
|
|
LIB_FUNCTION("LWQpWHOSUvk", "libSceHmd", 1, "libSceHmd", sceHmdInternalIsCommonDlgVr2d);
|
|
LIB_FUNCTION("YiIVBPLxmfE", "libSceHmd", 1, "libSceHmd", sceHmdInternalIsGameVr2d);
|
|
LIB_FUNCTION("LMlWs+oKHTg", "libSceHmd", 1, "libSceHmd", sceHmdInternalIsMiniAppVr2d);
|
|
LIB_FUNCTION("nBv4CKUGX0Y", "libSceHmd", 1, "libSceHmd", sceHmdInternalMapSharedMemory);
|
|
LIB_FUNCTION("4hTD8I3CyAk", "libSceHmd", 1, "libSceHmd", sceHmdInternalMirroringModeSetAspect);
|
|
LIB_FUNCTION("EJwPtSSZykY", "libSceHmd", 1, "libSceHmd",
|
|
sceHmdInternalMirroringModeSetAspectDebug);
|
|
LIB_FUNCTION("r7f7M5q3snU", "libSceHmd", 1, "libSceHmd", sceHmdInternalMmapGetCount);
|
|
LIB_FUNCTION("gCjTEtEsOOw", "libSceHmd", 1, "libSceHmd", sceHmdInternalMmapGetModeId);
|
|
LIB_FUNCTION("HAr740Mt9Hs", "libSceHmd", 1, "libSceHmd",
|
|
sceHmdInternalMmapGetSensorCalibrationData);
|
|
LIB_FUNCTION("1PNiQR-7L6k", "libSceHmd", 1, "libSceHmd", sceHmdInternalMmapIsConnect);
|
|
LIB_FUNCTION("9-jaAXUNG-A", "libSceHmd", 1, "libSceHmd", sceHmdInternalPushVr2dData);
|
|
LIB_FUNCTION("1gkbLH5+kxU", "libSceHmd", 1, "libSceHmd", sceHmdInternalRegisterEventCallback);
|
|
LIB_FUNCTION("6kHBllapJas", "libSceHmd", 1, "libSceHmd", sceHmdInternalResetInertialSensor);
|
|
LIB_FUNCTION("k1W6RPkd0mc", "libSceHmd", 1, "libSceHmd", sceHmdInternalResetLedForVrTracker);
|
|
LIB_FUNCTION("dp1wu22jSGc", "libSceHmd", 1, "libSceHmd", sceHmdInternalResetLedForVsh);
|
|
LIB_FUNCTION("d2TeoKeqM5U", "libSceHmd", 1, "libSceHmd", sceHmdInternalSeparateModeClose);
|
|
LIB_FUNCTION("WxsnAsjPF7Q", "libSceHmd", 1, "libSceHmd",
|
|
sceHmdInternalSeparateModeGetAudioStatus);
|
|
LIB_FUNCTION("eOOeG9SpEuc", "libSceHmd", 1, "libSceHmd",
|
|
sceHmdInternalSeparateModeGetVideoStatus);
|
|
LIB_FUNCTION("gA4Xnn+NSGk", "libSceHmd", 1, "libSceHmd", sceHmdInternalSeparateModeOpen);
|
|
LIB_FUNCTION("stQ7AsondmE", "libSceHmd", 1, "libSceHmd", sceHmdInternalSeparateModeSendAudio);
|
|
LIB_FUNCTION("jfnS-OoDayM", "libSceHmd", 1, "libSceHmd", sceHmdInternalSeparateModeSendVideo);
|
|
LIB_FUNCTION("roHN4ml+tB8", "libSceHmd", 1, "libSceHmd", sceHmdInternalSetBrightness);
|
|
LIB_FUNCTION("0z2qLqedQH0", "libSceHmd", 1, "libSceHmd", sceHmdInternalSetCrashReportCommand);
|
|
LIB_FUNCTION("xhx5rVZEpnw", "libSceHmd", 1, "libSceHmd", sceHmdInternalSetDebugGpo);
|
|
LIB_FUNCTION("e7laRxRGCHc", "libSceHmd", 1, "libSceHmd", sceHmdInternalSetDebugMode);
|
|
LIB_FUNCTION("CRyJ7Q-ap3g", "libSceHmd", 1, "libSceHmd",
|
|
sceHmdInternalSetDebugSocialScreenMode);
|
|
LIB_FUNCTION("dG4XPW4juU4", "libSceHmd", 1, "libSceHmd", sceHmdInternalSetDebugTextMode);
|
|
LIB_FUNCTION("rAXmGoO-VmE", "libSceHmd", 1, "libSceHmd", sceHmdInternalSetDefaultLedData);
|
|
LIB_FUNCTION("lu9I7jnUvWQ", "libSceHmd", 1, "libSceHmd", sceHmdInternalSetDemoMode);
|
|
LIB_FUNCTION("hyATMTuQSoQ", "libSceHmd", 1, "libSceHmd", sceHmdInternalSetDeviceConnection);
|
|
LIB_FUNCTION("c4mSi64bXUw", "libSceHmd", 1, "libSceHmd", sceHmdInternalSetForcedCrash);
|
|
LIB_FUNCTION("U9kPT4g1mFE", "libSceHmd", 1, "libSceHmd", sceHmdInternalSetHmuPowerControl);
|
|
LIB_FUNCTION("dX-MVpXIPwQ", "libSceHmd", 1, "libSceHmd",
|
|
sceHmdInternalSetHmuPowerControlForDebug);
|
|
LIB_FUNCTION("4KIjvAf8PCA", "libSceHmd", 1, "libSceHmd", sceHmdInternalSetIPD);
|
|
LIB_FUNCTION("NbxTfUKO184", "libSceHmd", 1, "libSceHmd",
|
|
sceHmdInternalSetIpdSettingEnableForSystemService);
|
|
LIB_FUNCTION("NnRKjf+hxW4", "libSceHmd", 1, "libSceHmd", sceHmdInternalSetLedOn);
|
|
LIB_FUNCTION("4AP0X9qGhqw", "libSceHmd", 1, "libSceHmd", sceHmdInternalSetM2LedBrightness);
|
|
LIB_FUNCTION("Mzzz2HPWM+8", "libSceHmd", 1, "libSceHmd", sceHmdInternalSetM2LedOn);
|
|
LIB_FUNCTION("LkBkse9Pit0", "libSceHmd", 1, "libSceHmd", sceHmdInternalSetPortConnection);
|
|
LIB_FUNCTION("v243mvYg0Y0", "libSceHmd", 1, "libSceHmd", sceHmdInternalSetPortStatus);
|
|
LIB_FUNCTION("EwXvkZpo9Go", "libSceHmd", 1, "libSceHmd", sceHmdInternalSetS3dPassMode);
|
|
LIB_FUNCTION("g3DKNOy1tYw", "libSceHmd", 1, "libSceHmd", sceHmdInternalSetSidetone);
|
|
LIB_FUNCTION("mjMsl838XM8", "libSceHmd", 1, "libSceHmd", sceHmdInternalSetUserType);
|
|
LIB_FUNCTION("8IS0KLkDNQY", "libSceHmd", 1, "libSceHmd", sceHmdInternalSetVirtualDisplayDepth);
|
|
LIB_FUNCTION("afhK5KcJOJY", "libSceHmd", 1, "libSceHmd", sceHmdInternalSetVirtualDisplayHeight);
|
|
LIB_FUNCTION("+zPvzIiB+BU", "libSceHmd", 1, "libSceHmd", sceHmdInternalSetVirtualDisplaySize);
|
|
LIB_FUNCTION("9z8Lc64NF1c", "libSceHmd", 1, "libSceHmd", sceHmdInternalSetVRMode);
|
|
LIB_FUNCTION("s5EqYh5kbwM", "libSceHmd", 1, "libSceHmd",
|
|
sceHmdInternalSocialScreenGetFadeState);
|
|
LIB_FUNCTION("a1LMFZtK9b0", "libSceHmd", 1, "libSceHmd",
|
|
sceHmdInternalSocialScreenSetFadeAndSwitch);
|
|
LIB_FUNCTION("-6FjKlMA+Yc", "libSceHmd", 1, "libSceHmd", sceHmdInternalSocialScreenSetOutput);
|
|
LIB_FUNCTION("d2g5Ij7EUzo", "libSceHmd", 1, "libSceHmd", sceHmdOpen);
|
|
LIB_FUNCTION("z-RMILqP6tE", "libSceHmd", 1, "libSceHmd", sceHmdTerminate);
|
|
LIB_FUNCTION("IC0NGmh-zS8", "libSceHmd", 1, "libSceHmd", Func_202D0D1A687FCD2F);
|
|
LIB_FUNCTION("NY2-gYo9ihI", "libSceHmd", 1, "libSceHmd", Func_358DBF818A3D8A12);
|
|
LIB_FUNCTION("XMutp2-o9A4", "libSceHmd", 1, "libSceHmd", Func_5CCBADA76FE8F40E);
|
|
LIB_FUNCTION("Y9QDFn3AjPA", "libSceHmd", 1, "libSceHmd", Func_63D403167DC08CF0);
|
|
LIB_FUNCTION("eRVgwy9PbWg", "libSceHmd", 1, "libSceHmd", Func_791560C32F4F6D68);
|
|
LIB_FUNCTION("fJVZYeqFttM", "libSceHmd", 1, "libSceHmd", Func_7C955961EA85B6D3);
|
|
LIB_FUNCTION("mVIneDkja6c", "libSceHmd", 1, "libSceHmd", Func_9952277839236BA7);
|
|
LIB_FUNCTION("miduc55U7q8", "libSceHmd", 1, "libSceHmd", Func_9A276E739E54EEAF);
|
|
LIB_FUNCTION("nlAZlOKJy+c", "libSceHmd", 1, "libSceHmd", Func_9E501994E289CBE7);
|
|
LIB_FUNCTION("ox9NqLO9LhI", "libSceHmd", 1, "libSceHmd", Func_A31F4DA8B3BD2E12);
|
|
LIB_FUNCTION("qS18I6w2SZM", "libSceHmd", 1, "libSceHmd", Func_A92D7C23AC364993);
|
|
LIB_FUNCTION("rczCXLh2-b4", "libSceHmd", 1, "libSceHmd", Func_ADCCC25CB876FDBE);
|
|
LIB_FUNCTION("sWZSZB-mnw4", "libSceHmd", 1, "libSceHmd", Func_B16652641FE69F0E);
|
|
LIB_FUNCTION("-Bk71lPyry4", "libSceHmd", 1, "libSceHmd", Func_FC193BD653F2AF2E);
|
|
LIB_FUNCTION("-y4OUwFf4jE", "libSceHmd", 1, "libSceHmd", Func_FF2E0E53015FE231);
|
|
|
|
RegisterDistortion(sym);
|
|
RegisterReprojection(sym);
|
|
};
|
|
|
|
} // namespace Libraries::Hmd
|