mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2025-07-23 18:45:36 +00:00
598 lines
24 KiB
C++
598 lines
24 KiB
C++
// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
|
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
#include "common/logging/log.h"
|
|
#include "core/libraries/error_codes.h"
|
|
#include "core/libraries/libs.h"
|
|
#include "core/libraries/ngs2/ngs2.h"
|
|
#include "core/libraries/ngs2/ngs2_custom.h"
|
|
#include "core/libraries/ngs2/ngs2_error.h"
|
|
#include "core/libraries/ngs2/ngs2_geom.h"
|
|
#include "core/libraries/ngs2/ngs2_impl.h"
|
|
#include "core/libraries/ngs2/ngs2_pan.h"
|
|
#include "core/libraries/ngs2/ngs2_report.h"
|
|
|
|
namespace Libraries::Ngs2 {
|
|
|
|
// Ngs2
|
|
|
|
s32 PS4_SYSV_ABI sceNgs2CalcWaveformBlock(const OrbisNgs2WaveformFormat* format, u32 samplePos,
|
|
u32 numSamples, OrbisNgs2WaveformBlock* outBlock) {
|
|
LOG_ERROR(Lib_Ngs2, "samplePos = {}, numSamples = {}", samplePos, numSamples);
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceNgs2GetWaveformFrameInfo(const OrbisNgs2WaveformFormat* format,
|
|
u32* outFrameSize, u32* outNumFrameSamples,
|
|
u32* outUnitsPerFrame, u32* outNumDelaySamples) {
|
|
LOG_ERROR(Lib_Ngs2, "called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceNgs2ParseWaveformData(const void* data, size_t dataSize,
|
|
OrbisNgs2WaveformInfo* outInfo) {
|
|
LOG_ERROR(Lib_Ngs2, "dataSize = {}", dataSize);
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceNgs2ParseWaveformFile(const char* path, u64 offset,
|
|
OrbisNgs2WaveformInfo* outInfo) {
|
|
LOG_ERROR(Lib_Ngs2, "path = {}, offset = {}", path, offset);
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceNgs2ParseWaveformUser(OrbisNgs2ParseReadHandler handler, uintptr_t userData,
|
|
OrbisNgs2WaveformInfo* outInfo) {
|
|
LOG_ERROR(Lib_Ngs2, "userData = {}", userData);
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceNgs2RackCreate(OrbisNgs2Handle systemHandle, u32 rackId,
|
|
const OrbisNgs2RackOption* option,
|
|
const OrbisNgs2ContextBufferInfo* bufferInfo,
|
|
OrbisNgs2Handle* outHandle) {
|
|
LOG_ERROR(Lib_Ngs2, "rackId = {}", rackId);
|
|
if (!systemHandle) {
|
|
LOG_ERROR(Lib_Ngs2, "systemHandle is nullptr");
|
|
return ORBIS_NGS2_ERROR_INVALID_SYSTEM_HANDLE;
|
|
}
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceNgs2RackCreateWithAllocator(OrbisNgs2Handle systemHandle, u32 rackId,
|
|
const OrbisNgs2RackOption* option,
|
|
const OrbisNgs2BufferAllocator* allocator,
|
|
OrbisNgs2Handle* outHandle) {
|
|
LOG_ERROR(Lib_Ngs2, "rackId = {}", rackId);
|
|
if (!systemHandle) {
|
|
LOG_ERROR(Lib_Ngs2, "systemHandle is nullptr");
|
|
return ORBIS_NGS2_ERROR_INVALID_SYSTEM_HANDLE;
|
|
}
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceNgs2RackDestroy(OrbisNgs2Handle rackHandle,
|
|
OrbisNgs2ContextBufferInfo* outBufferInfo) {
|
|
LOG_ERROR(Lib_Ngs2, "called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceNgs2RackGetInfo(OrbisNgs2Handle rackHandle, OrbisNgs2RackInfo* outInfo,
|
|
size_t infoSize) {
|
|
LOG_ERROR(Lib_Ngs2, "infoSize = {}", infoSize);
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceNgs2RackGetUserData(OrbisNgs2Handle rackHandle, uintptr_t* outUserData) {
|
|
LOG_ERROR(Lib_Ngs2, "called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceNgs2RackGetVoiceHandle(OrbisNgs2Handle rackHandle, u32 voiceIndex,
|
|
OrbisNgs2Handle* outHandle) {
|
|
LOG_DEBUG(Lib_Ngs2, "(STUBBED) voiceIndex = {}", voiceIndex);
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceNgs2RackLock(OrbisNgs2Handle rackHandle) {
|
|
LOG_ERROR(Lib_Ngs2, "called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceNgs2RackQueryBufferSize(u32 rackId, const OrbisNgs2RackOption* option,
|
|
OrbisNgs2ContextBufferInfo* outBufferInfo) {
|
|
LOG_ERROR(Lib_Ngs2, "rackId = {}", rackId);
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceNgs2RackSetUserData(OrbisNgs2Handle rackHandle, uintptr_t userData) {
|
|
LOG_ERROR(Lib_Ngs2, "userData = {}", userData);
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceNgs2RackUnlock(OrbisNgs2Handle rackHandle) {
|
|
LOG_ERROR(Lib_Ngs2, "called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceNgs2SystemCreate(const OrbisNgs2SystemOption* option,
|
|
const OrbisNgs2ContextBufferInfo* bufferInfo,
|
|
OrbisNgs2Handle* outHandle) {
|
|
s32 result;
|
|
OrbisNgs2ContextBufferInfo localInfo;
|
|
if (!bufferInfo || !outHandle) {
|
|
if (!bufferInfo) {
|
|
result = ORBIS_NGS2_ERROR_INVALID_BUFFER_INFO;
|
|
LOG_ERROR(Lib_Ngs2, "Invalid system buffer info {}", (void*)bufferInfo);
|
|
} else {
|
|
result = ORBIS_NGS2_ERROR_INVALID_OUT_ADDRESS;
|
|
LOG_ERROR(Lib_Ngs2, "Invalid system handle address {}", (void*)outHandle);
|
|
}
|
|
|
|
// TODO: Report errors?
|
|
} else {
|
|
// Make bufferInfo copy
|
|
localInfo.hostBuffer = bufferInfo->hostBuffer;
|
|
localInfo.hostBufferSize = bufferInfo->hostBufferSize;
|
|
for (int i = 0; i < 5; i++) {
|
|
localInfo.reserved[i] = bufferInfo->reserved[i];
|
|
}
|
|
localInfo.userData = bufferInfo->userData;
|
|
|
|
result = SystemSetup(option, &localInfo, 0, outHandle);
|
|
}
|
|
|
|
// TODO: API reporting?
|
|
|
|
LOG_INFO(Lib_Ngs2, "called");
|
|
return result;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceNgs2SystemCreateWithAllocator(const OrbisNgs2SystemOption* option,
|
|
const OrbisNgs2BufferAllocator* allocator,
|
|
OrbisNgs2Handle* outHandle) {
|
|
s32 result;
|
|
if (allocator && allocator->allocHandler != 0) {
|
|
OrbisNgs2BufferAllocHandler hostAlloc = allocator->allocHandler;
|
|
if (outHandle) {
|
|
OrbisNgs2BufferFreeHandler hostFree = allocator->freeHandler;
|
|
OrbisNgs2ContextBufferInfo bufferInfo;
|
|
result = SystemSetup(option, &bufferInfo, 0, 0);
|
|
if (result >= 0) {
|
|
uintptr_t sysUserData = allocator->userData;
|
|
result = Core::ExecuteGuest(hostAlloc, &bufferInfo);
|
|
if (result >= 0) {
|
|
OrbisNgs2Handle* handleCopy = outHandle;
|
|
result = SystemSetup(option, &bufferInfo, hostFree, handleCopy);
|
|
if (result < 0) {
|
|
if (hostFree) {
|
|
Core::ExecuteGuest(hostFree, &bufferInfo);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} else {
|
|
result = ORBIS_NGS2_ERROR_INVALID_OUT_ADDRESS;
|
|
LOG_ERROR(Lib_Ngs2, "Invalid system handle address {}", (void*)outHandle);
|
|
}
|
|
} else {
|
|
result = ORBIS_NGS2_ERROR_INVALID_BUFFER_ALLOCATOR;
|
|
LOG_ERROR(Lib_Ngs2, "Invalid system buffer allocator {}", (void*)allocator);
|
|
}
|
|
LOG_INFO(Lib_Ngs2, "called");
|
|
return result;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceNgs2SystemDestroy(OrbisNgs2Handle systemHandle,
|
|
OrbisNgs2ContextBufferInfo* outBufferInfo) {
|
|
if (!systemHandle) {
|
|
LOG_ERROR(Lib_Ngs2, "systemHandle is nullptr");
|
|
return ORBIS_NGS2_ERROR_INVALID_SYSTEM_HANDLE;
|
|
}
|
|
LOG_INFO(Lib_Ngs2, "called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceNgs2SystemEnumHandles(OrbisNgs2Handle* aOutHandle, u32 maxHandles) {
|
|
LOG_ERROR(Lib_Ngs2, "maxHandles = {}", maxHandles);
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceNgs2SystemEnumRackHandles(OrbisNgs2Handle systemHandle,
|
|
OrbisNgs2Handle* aOutHandle, u32 maxHandles) {
|
|
LOG_ERROR(Lib_Ngs2, "maxHandles = {}", maxHandles);
|
|
if (!systemHandle) {
|
|
LOG_ERROR(Lib_Ngs2, "systemHandle is nullptr");
|
|
return ORBIS_NGS2_ERROR_INVALID_SYSTEM_HANDLE;
|
|
}
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceNgs2SystemGetInfo(OrbisNgs2Handle rackHandle, OrbisNgs2SystemInfo* outInfo,
|
|
size_t infoSize) {
|
|
LOG_ERROR(Lib_Ngs2, "infoSize = {}", infoSize);
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceNgs2SystemGetUserData(OrbisNgs2Handle systemHandle, uintptr_t* outUserData) {
|
|
if (!systemHandle) {
|
|
LOG_ERROR(Lib_Ngs2, "systemHandle is nullptr");
|
|
return ORBIS_NGS2_ERROR_INVALID_SYSTEM_HANDLE;
|
|
}
|
|
LOG_ERROR(Lib_Ngs2, "called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceNgs2SystemLock(OrbisNgs2Handle systemHandle) {
|
|
if (!systemHandle) {
|
|
LOG_ERROR(Lib_Ngs2, "systemHandle is nullptr");
|
|
return ORBIS_NGS2_ERROR_INVALID_SYSTEM_HANDLE;
|
|
}
|
|
LOG_ERROR(Lib_Ngs2, "called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceNgs2SystemQueryBufferSize(const OrbisNgs2SystemOption* option,
|
|
OrbisNgs2ContextBufferInfo* outBufferInfo) {
|
|
s32 result;
|
|
if (outBufferInfo) {
|
|
result = SystemSetup(option, outBufferInfo, 0, 0);
|
|
LOG_INFO(Lib_Ngs2, "called");
|
|
} else {
|
|
result = ORBIS_NGS2_ERROR_INVALID_OUT_ADDRESS;
|
|
LOG_ERROR(Lib_Ngs2, "Invalid system buffer info {}", (void*)outBufferInfo);
|
|
}
|
|
|
|
return result;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceNgs2SystemRender(OrbisNgs2Handle systemHandle,
|
|
const OrbisNgs2RenderBufferInfo* aBufferInfo,
|
|
u32 numBufferInfo) {
|
|
LOG_DEBUG(Lib_Ngs2, "(STUBBED) numBufferInfo = {}", numBufferInfo);
|
|
if (!systemHandle) {
|
|
LOG_ERROR(Lib_Ngs2, "systemHandle is nullptr");
|
|
return ORBIS_NGS2_ERROR_INVALID_SYSTEM_HANDLE;
|
|
}
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
static s32 PS4_SYSV_ABI sceNgs2SystemResetOption(OrbisNgs2SystemOption* outOption) {
|
|
static const OrbisNgs2SystemOption option = {
|
|
sizeof(OrbisNgs2SystemOption), "", 0, 512, 256, 48000, {0}};
|
|
|
|
if (!outOption) {
|
|
LOG_ERROR(Lib_Ngs2, "Invalid system option address {}", (void*)outOption);
|
|
return ORBIS_NGS2_ERROR_INVALID_OPTION_ADDRESS;
|
|
}
|
|
*outOption = option;
|
|
|
|
LOG_INFO(Lib_Ngs2, "called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceNgs2SystemSetGrainSamples(OrbisNgs2Handle systemHandle, u32 numSamples) {
|
|
LOG_ERROR(Lib_Ngs2, "numSamples = {}", numSamples);
|
|
if (!systemHandle) {
|
|
LOG_ERROR(Lib_Ngs2, "systemHandle is nullptr");
|
|
return ORBIS_NGS2_ERROR_INVALID_SYSTEM_HANDLE;
|
|
}
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceNgs2SystemSetSampleRate(OrbisNgs2Handle systemHandle, u32 sampleRate) {
|
|
LOG_ERROR(Lib_Ngs2, "sampleRate = {}", sampleRate);
|
|
if (!systemHandle) {
|
|
LOG_ERROR(Lib_Ngs2, "systemHandle is nullptr");
|
|
return ORBIS_NGS2_ERROR_INVALID_SYSTEM_HANDLE;
|
|
}
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceNgs2SystemSetUserData(OrbisNgs2Handle systemHandle, uintptr_t userData) {
|
|
LOG_ERROR(Lib_Ngs2, "userData = {}", userData);
|
|
if (!systemHandle) {
|
|
LOG_ERROR(Lib_Ngs2, "systemHandle is nullptr");
|
|
return ORBIS_NGS2_ERROR_INVALID_SYSTEM_HANDLE;
|
|
}
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceNgs2SystemUnlock(OrbisNgs2Handle systemHandle) {
|
|
if (!systemHandle) {
|
|
LOG_ERROR(Lib_Ngs2, "systemHandle is nullptr");
|
|
return ORBIS_NGS2_ERROR_INVALID_SYSTEM_HANDLE;
|
|
}
|
|
LOG_ERROR(Lib_Ngs2, "called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceNgs2VoiceControl(OrbisNgs2Handle voiceHandle,
|
|
const OrbisNgs2VoiceParamHeader* paramList) {
|
|
LOG_ERROR(Lib_Ngs2, "called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceNgs2VoiceGetMatrixInfo(OrbisNgs2Handle voiceHandle, u32 matrixId,
|
|
OrbisNgs2VoiceMatrixInfo* outInfo, size_t outInfoSize) {
|
|
LOG_ERROR(Lib_Ngs2, "matrixId = {}, outInfoSize = {}", matrixId, outInfoSize);
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceNgs2VoiceGetOwner(OrbisNgs2Handle voiceHandle, OrbisNgs2Handle* outRackHandle,
|
|
u32* outVoiceId) {
|
|
LOG_ERROR(Lib_Ngs2, "called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceNgs2VoiceGetPortInfo(OrbisNgs2Handle voiceHandle, u32 port,
|
|
OrbisNgs2VoicePortInfo* outInfo, size_t outInfoSize) {
|
|
LOG_ERROR(Lib_Ngs2, "port = {}, outInfoSize = {}", port, outInfoSize);
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceNgs2VoiceGetState(OrbisNgs2Handle voiceHandle, OrbisNgs2VoiceState* outState,
|
|
size_t stateSize) {
|
|
LOG_ERROR(Lib_Ngs2, "stateSize = {}", stateSize);
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceNgs2VoiceGetStateFlags(OrbisNgs2Handle voiceHandle, u32* outStateFlags) {
|
|
LOG_ERROR(Lib_Ngs2, "called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
// Ngs2Custom
|
|
|
|
s32 PS4_SYSV_ABI sceNgs2CustomRackGetModuleInfo(OrbisNgs2Handle rackHandle, u32 moduleIndex,
|
|
OrbisNgs2CustomModuleInfo* outInfo,
|
|
size_t infoSize) {
|
|
LOG_ERROR(Lib_Ngs2, "moduleIndex = {}, infoSize = {}", moduleIndex, infoSize);
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
// Ngs2Geom
|
|
|
|
s32 PS4_SYSV_ABI sceNgs2GeomResetListenerParam(OrbisNgs2GeomListenerParam* outListenerParam) {
|
|
LOG_ERROR(Lib_Ngs2, "called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceNgs2GeomResetSourceParam(OrbisNgs2GeomSourceParam* outSourceParam) {
|
|
LOG_ERROR(Lib_Ngs2, "called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceNgs2GeomCalcListener(const OrbisNgs2GeomListenerParam* param,
|
|
OrbisNgs2GeomListenerWork* outWork, u32 flags) {
|
|
LOG_ERROR(Lib_Ngs2, "flags = {}", flags);
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceNgs2GeomApply(const OrbisNgs2GeomListenerWork* listener,
|
|
const OrbisNgs2GeomSourceParam* source,
|
|
OrbisNgs2GeomAttribute* outAttrib, u32 flags) {
|
|
LOG_ERROR(Lib_Ngs2, "flags = {}", flags);
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
// Ngs2Pan
|
|
|
|
s32 PS4_SYSV_ABI sceNgs2PanInit(OrbisNgs2PanWork* work, const float* aSpeakerAngle, float unitAngle,
|
|
u32 numSpeakers) {
|
|
LOG_ERROR(Lib_Ngs2, "unitAngle = {}, numSpeakers = {}", unitAngle, numSpeakers);
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceNgs2PanGetVolumeMatrix(OrbisNgs2PanWork* work, const OrbisNgs2PanParam* aParam,
|
|
u32 numParams, u32 matrixFormat,
|
|
float* outVolumeMatrix) {
|
|
LOG_ERROR(Lib_Ngs2, "numParams = {}, matrixFormat = {}", numParams, matrixFormat);
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
// Ngs2Report
|
|
|
|
s32 PS4_SYSV_ABI sceNgs2ReportRegisterHandler(u32 reportType, OrbisNgs2ReportHandler handler,
|
|
uintptr_t userData, OrbisNgs2Handle* outHandle) {
|
|
LOG_INFO(Lib_Ngs2, "reportType = {}, userData = {}", reportType, userData);
|
|
if (!handler) {
|
|
LOG_ERROR(Lib_Ngs2, "handler is nullptr");
|
|
return ORBIS_NGS2_ERROR_INVALID_REPORT_HANDLE;
|
|
}
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
s32 PS4_SYSV_ABI sceNgs2ReportUnregisterHandler(OrbisNgs2Handle reportHandle) {
|
|
if (!reportHandle) {
|
|
LOG_ERROR(Lib_Ngs2, "reportHandle is nullptr");
|
|
return ORBIS_NGS2_ERROR_INVALID_REPORT_HANDLE;
|
|
}
|
|
LOG_INFO(Lib_Ngs2, "called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
// Unknown
|
|
|
|
int PS4_SYSV_ABI sceNgs2FftInit() {
|
|
LOG_ERROR(Lib_Ngs2, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
int PS4_SYSV_ABI sceNgs2FftProcess() {
|
|
LOG_ERROR(Lib_Ngs2, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
int PS4_SYSV_ABI sceNgs2FftQuerySize() {
|
|
LOG_ERROR(Lib_Ngs2, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
int PS4_SYSV_ABI sceNgs2JobSchedulerResetOption() {
|
|
LOG_ERROR(Lib_Ngs2, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
int PS4_SYSV_ABI sceNgs2ModuleArrayEnumItems() {
|
|
LOG_ERROR(Lib_Ngs2, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
int PS4_SYSV_ABI sceNgs2ModuleEnumConfigs() {
|
|
LOG_ERROR(Lib_Ngs2, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
int PS4_SYSV_ABI sceNgs2ModuleQueueEnumItems() {
|
|
LOG_ERROR(Lib_Ngs2, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
int PS4_SYSV_ABI sceNgs2RackQueryInfo() {
|
|
LOG_ERROR(Lib_Ngs2, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
int PS4_SYSV_ABI sceNgs2RackRunCommands() {
|
|
LOG_ERROR(Lib_Ngs2, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
int PS4_SYSV_ABI sceNgs2SystemQueryInfo() {
|
|
LOG_ERROR(Lib_Ngs2, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
int PS4_SYSV_ABI sceNgs2SystemRunCommands() {
|
|
LOG_ERROR(Lib_Ngs2, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
int PS4_SYSV_ABI sceNgs2SystemSetLoudThreshold() {
|
|
LOG_ERROR(Lib_Ngs2, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
int PS4_SYSV_ABI sceNgs2StreamCreate() {
|
|
LOG_ERROR(Lib_Ngs2, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
int PS4_SYSV_ABI sceNgs2StreamCreateWithAllocator() {
|
|
LOG_ERROR(Lib_Ngs2, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
int PS4_SYSV_ABI sceNgs2StreamDestroy() {
|
|
LOG_ERROR(Lib_Ngs2, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
int PS4_SYSV_ABI sceNgs2StreamQueryBufferSize() {
|
|
LOG_ERROR(Lib_Ngs2, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
int PS4_SYSV_ABI sceNgs2StreamQueryInfo() {
|
|
LOG_ERROR(Lib_Ngs2, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
int PS4_SYSV_ABI sceNgs2StreamResetOption() {
|
|
LOG_ERROR(Lib_Ngs2, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
int PS4_SYSV_ABI sceNgs2StreamRunCommands() {
|
|
LOG_ERROR(Lib_Ngs2, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
int PS4_SYSV_ABI sceNgs2VoiceQueryInfo() {
|
|
LOG_ERROR(Lib_Ngs2, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
int PS4_SYSV_ABI sceNgs2VoiceRunCommands() {
|
|
LOG_ERROR(Lib_Ngs2, "(STUBBED) called");
|
|
return ORBIS_OK;
|
|
}
|
|
|
|
void RegisterlibSceNgs2(Core::Loader::SymbolsResolver* sym) {
|
|
LIB_FUNCTION("3pCNbVM11UA", "libSceNgs2", 1, "libSceNgs2", 1, 1, sceNgs2CalcWaveformBlock);
|
|
LIB_FUNCTION("6qN1zaEZuN0", "libSceNgs2", 1, "libSceNgs2", 1, 1,
|
|
sceNgs2CustomRackGetModuleInfo);
|
|
LIB_FUNCTION("Kg1MA5j7KFk", "libSceNgs2", 1, "libSceNgs2", 1, 1, sceNgs2FftInit);
|
|
LIB_FUNCTION("D8eCqBxSojA", "libSceNgs2", 1, "libSceNgs2", 1, 1, sceNgs2FftProcess);
|
|
LIB_FUNCTION("-YNfTO6KOMY", "libSceNgs2", 1, "libSceNgs2", 1, 1, sceNgs2FftQuerySize);
|
|
LIB_FUNCTION("eF8yRCC6W64", "libSceNgs2", 1, "libSceNgs2", 1, 1, sceNgs2GeomApply);
|
|
LIB_FUNCTION("1WsleK-MTkE", "libSceNgs2", 1, "libSceNgs2", 1, 1, sceNgs2GeomCalcListener);
|
|
LIB_FUNCTION("7Lcfo8SmpsU", "libSceNgs2", 1, "libSceNgs2", 1, 1, sceNgs2GeomResetListenerParam);
|
|
LIB_FUNCTION("0lbbayqDNoE", "libSceNgs2", 1, "libSceNgs2", 1, 1, sceNgs2GeomResetSourceParam);
|
|
LIB_FUNCTION("ekGJmmoc8j4", "libSceNgs2", 1, "libSceNgs2", 1, 1, sceNgs2GetWaveformFrameInfo);
|
|
LIB_FUNCTION("BcoPfWfpvVI", "libSceNgs2", 1, "libSceNgs2", 1, 1,
|
|
sceNgs2JobSchedulerResetOption);
|
|
LIB_FUNCTION("EEemGEQCjO8", "libSceNgs2", 1, "libSceNgs2", 1, 1, sceNgs2ModuleArrayEnumItems);
|
|
LIB_FUNCTION("TaoNtmMKkXQ", "libSceNgs2", 1, "libSceNgs2", 1, 1, sceNgs2ModuleEnumConfigs);
|
|
LIB_FUNCTION("ve6bZi+1sYQ", "libSceNgs2", 1, "libSceNgs2", 1, 1, sceNgs2ModuleQueueEnumItems);
|
|
LIB_FUNCTION("gbMKV+8Enuo", "libSceNgs2", 1, "libSceNgs2", 1, 1, sceNgs2PanGetVolumeMatrix);
|
|
LIB_FUNCTION("xa8oL9dmXkM", "libSceNgs2", 1, "libSceNgs2", 1, 1, sceNgs2PanInit);
|
|
LIB_FUNCTION("hyVLT2VlOYk", "libSceNgs2", 1, "libSceNgs2", 1, 1, sceNgs2ParseWaveformData);
|
|
LIB_FUNCTION("iprCTXPVWMI", "libSceNgs2", 1, "libSceNgs2", 1, 1, sceNgs2ParseWaveformFile);
|
|
LIB_FUNCTION("t9T0QM17Kvo", "libSceNgs2", 1, "libSceNgs2", 1, 1, sceNgs2ParseWaveformUser);
|
|
LIB_FUNCTION("cLV4aiT9JpA", "libSceNgs2", 1, "libSceNgs2", 1, 1, sceNgs2RackCreate);
|
|
LIB_FUNCTION("U546k6orxQo", "libSceNgs2", 1, "libSceNgs2", 1, 1,
|
|
sceNgs2RackCreateWithAllocator);
|
|
LIB_FUNCTION("lCqD7oycmIM", "libSceNgs2", 1, "libSceNgs2", 1, 1, sceNgs2RackDestroy);
|
|
LIB_FUNCTION("M4LYATRhRUE", "libSceNgs2", 1, "libSceNgs2", 1, 1, sceNgs2RackGetInfo);
|
|
LIB_FUNCTION("Mn4XNDg03XY", "libSceNgs2", 1, "libSceNgs2", 1, 1, sceNgs2RackGetUserData);
|
|
LIB_FUNCTION("MwmHz8pAdAo", "libSceNgs2", 1, "libSceNgs2", 1, 1, sceNgs2RackGetVoiceHandle);
|
|
LIB_FUNCTION("MzTa7VLjogY", "libSceNgs2", 1, "libSceNgs2", 1, 1, sceNgs2RackLock);
|
|
LIB_FUNCTION("0eFLVCfWVds", "libSceNgs2", 1, "libSceNgs2", 1, 1, sceNgs2RackQueryBufferSize);
|
|
LIB_FUNCTION("TZqb8E-j3dY", "libSceNgs2", 1, "libSceNgs2", 1, 1, sceNgs2RackQueryInfo);
|
|
LIB_FUNCTION("MI2VmBx2RbM", "libSceNgs2", 1, "libSceNgs2", 1, 1, sceNgs2RackRunCommands);
|
|
LIB_FUNCTION("JNTMIaBIbV4", "libSceNgs2", 1, "libSceNgs2", 1, 1, sceNgs2RackSetUserData);
|
|
LIB_FUNCTION("++YZ7P9e87U", "libSceNgs2", 1, "libSceNgs2", 1, 1, sceNgs2RackUnlock);
|
|
LIB_FUNCTION("uBIN24Tv2MI", "libSceNgs2", 1, "libSceNgs2", 1, 1, sceNgs2ReportRegisterHandler);
|
|
LIB_FUNCTION("nPzb7Ly-VjE", "libSceNgs2", 1, "libSceNgs2", 1, 1,
|
|
sceNgs2ReportUnregisterHandler);
|
|
LIB_FUNCTION("koBbCMvOKWw", "libSceNgs2", 1, "libSceNgs2", 1, 1, sceNgs2SystemCreate);
|
|
LIB_FUNCTION("mPYgU4oYpuY", "libSceNgs2", 1, "libSceNgs2", 1, 1,
|
|
sceNgs2SystemCreateWithAllocator);
|
|
LIB_FUNCTION("u-WrYDaJA3k", "libSceNgs2", 1, "libSceNgs2", 1, 1, sceNgs2SystemDestroy);
|
|
LIB_FUNCTION("vubFP0T6MP0", "libSceNgs2", 1, "libSceNgs2", 1, 1, sceNgs2SystemEnumHandles);
|
|
LIB_FUNCTION("U-+7HsswcIs", "libSceNgs2", 1, "libSceNgs2", 1, 1, sceNgs2SystemEnumRackHandles);
|
|
LIB_FUNCTION("vU7TQ62pItw", "libSceNgs2", 1, "libSceNgs2", 1, 1, sceNgs2SystemGetInfo);
|
|
LIB_FUNCTION("4lFaRxd-aLs", "libSceNgs2", 1, "libSceNgs2", 1, 1, sceNgs2SystemGetUserData);
|
|
LIB_FUNCTION("gThZqM5PYlQ", "libSceNgs2", 1, "libSceNgs2", 1, 1, sceNgs2SystemLock);
|
|
LIB_FUNCTION("pgFAiLR5qT4", "libSceNgs2", 1, "libSceNgs2", 1, 1, sceNgs2SystemQueryBufferSize);
|
|
LIB_FUNCTION("3oIK7y7O4k0", "libSceNgs2", 1, "libSceNgs2", 1, 1, sceNgs2SystemQueryInfo)
|
|
LIB_FUNCTION("i0VnXM-C9fc", "libSceNgs2", 1, "libSceNgs2", 1, 1, sceNgs2SystemRender);
|
|
LIB_FUNCTION("AQkj7C0f3PY", "libSceNgs2", 1, "libSceNgs2", 1, 1, sceNgs2SystemResetOption);
|
|
LIB_FUNCTION("gXiormHoZZ4", "libSceNgs2", 1, "libSceNgs2", 1, 1, sceNgs2SystemRunCommands);
|
|
LIB_FUNCTION("l4Q2dWEH6UM", "libSceNgs2", 1, "libSceNgs2", 1, 1, sceNgs2SystemSetGrainSamples);
|
|
LIB_FUNCTION("Wdlx0ZFTV9s", "libSceNgs2", 1, "libSceNgs2", 1, 1, sceNgs2SystemSetLoudThreshold);
|
|
LIB_FUNCTION("-tbc2SxQD60", "libSceNgs2", 1, "libSceNgs2", 1, 1, sceNgs2SystemSetSampleRate);
|
|
LIB_FUNCTION("GZB2v0XnG0k", "libSceNgs2", 1, "libSceNgs2", 1, 1, sceNgs2SystemSetUserData);
|
|
LIB_FUNCTION("JXRC5n0RQls", "libSceNgs2", 1, "libSceNgs2", 1, 1, sceNgs2SystemUnlock);
|
|
LIB_FUNCTION("sU2St3agdjg", "libSceNgs2", 1, "libSceNgs2", 1, 1, sceNgs2StreamCreate);
|
|
LIB_FUNCTION("I+RLwaauggA", "libSceNgs2", 1, "libSceNgs2", 1, 1,
|
|
sceNgs2StreamCreateWithAllocator);
|
|
LIB_FUNCTION("bfoMXnTRtwE", "libSceNgs2", 1, "libSceNgs2", 1, 1, sceNgs2StreamDestroy);
|
|
LIB_FUNCTION("dxulc33msHM", "libSceNgs2", 1, "libSceNgs2", 1, 1, sceNgs2StreamQueryBufferSize);
|
|
LIB_FUNCTION("rfw6ufRsmow", "libSceNgs2", 1, "libSceNgs2", 1, 1, sceNgs2StreamQueryInfo);
|
|
LIB_FUNCTION("q+2W8YdK0F8", "libSceNgs2", 1, "libSceNgs2", 1, 1, sceNgs2StreamResetOption);
|
|
LIB_FUNCTION("qQHCi9pjDps", "libSceNgs2", 1, "libSceNgs2", 1, 1, sceNgs2StreamRunCommands);
|
|
LIB_FUNCTION("uu94irFOGpA", "libSceNgs2", 1, "libSceNgs2", 1, 1, sceNgs2VoiceControl);
|
|
LIB_FUNCTION("jjBVvPN9964", "libSceNgs2", 1, "libSceNgs2", 1, 1, sceNgs2VoiceGetMatrixInfo);
|
|
LIB_FUNCTION("W-Z8wWMBnhk", "libSceNgs2", 1, "libSceNgs2", 1, 1, sceNgs2VoiceGetOwner);
|
|
LIB_FUNCTION("WCayTgob7-o", "libSceNgs2", 1, "libSceNgs2", 1, 1, sceNgs2VoiceGetPortInfo);
|
|
LIB_FUNCTION("-TOuuAQ-buE", "libSceNgs2", 1, "libSceNgs2", 1, 1, sceNgs2VoiceGetState);
|
|
LIB_FUNCTION("rEh728kXk3w", "libSceNgs2", 1, "libSceNgs2", 1, 1, sceNgs2VoiceGetStateFlags);
|
|
LIB_FUNCTION("9eic4AmjGVI", "libSceNgs2", 1, "libSceNgs2", 1, 1, sceNgs2VoiceQueryInfo);
|
|
LIB_FUNCTION("AbYvTOZ8Pts", "libSceNgs2", 1, "libSceNgs2", 1, 1, sceNgs2VoiceRunCommands);
|
|
};
|
|
|
|
} // namespace Libraries::Ngs2
|