diff --git a/rpcs3/Emu/SysCalls/Modules/cellCamera.cpp b/rpcs3/Emu/SysCalls/Modules/cellCamera.cpp index 7fcec39666..c0fe253842 100644 --- a/rpcs3/Emu/SysCalls/Modules/cellCamera.cpp +++ b/rpcs3/Emu/SysCalls/Modules/cellCamera.cpp @@ -53,18 +53,30 @@ int cellCameraOpen() int cellCameraOpenEx() { UNIMPLEMENTED_FUNC(cellCamera); + + if (!cellCameraInstance.m_bInitialized) + return CELL_CAMERA_ERROR_NOT_INIT; + return CELL_OK; } int cellCameraClose() { UNIMPLEMENTED_FUNC(cellCamera); + + if (!cellCameraInstance.m_bInitialized) + return CELL_CAMERA_ERROR_NOT_INIT; + return CELL_OK; } int cellCameraGetDeviceGUID() { UNIMPLEMENTED_FUNC(cellCamera); + + if (!cellCameraInstance.m_bInitialized) + return CELL_CAMERA_ERROR_NOT_INIT; + return CELL_OK; } @@ -72,6 +84,9 @@ int cellCameraGetType(s32 dev_num, vm::ptr type) { cellCamera->Warning("cellCameraGetType(dev_num=%d, type_addr=0x%x)", dev_num, type); + if (!cellCameraInstance.m_bInitialized) + return CELL_CAMERA_ERROR_NOT_INIT; + switch (Ini.CameraType.GetValue()) { case 1: *type = CELL_CAMERA_EYETOY; break; @@ -110,18 +125,30 @@ int cellCameraIsStarted() int cellCameraGetAttribute() { UNIMPLEMENTED_FUNC(cellCamera); + + if (!cellCameraInstance.m_bInitialized) + return CELL_CAMERA_ERROR_NOT_INIT; + return CELL_OK; } int cellCameraSetAttribute() { UNIMPLEMENTED_FUNC(cellCamera); + + if (!cellCameraInstance.m_bInitialized) + return CELL_CAMERA_ERROR_NOT_INIT; + return CELL_OK; } int cellCameraGetBufferSize() { UNIMPLEMENTED_FUNC(cellCamera); + + if (!cellCameraInstance.m_bInitialized) + return CELL_CAMERA_ERROR_NOT_INIT; + return CELL_OK; } @@ -134,6 +161,10 @@ int cellCameraGetBufferInfo() int cellCameraGetBufferInfoEx() { UNIMPLEMENTED_FUNC(cellCamera); + + if (!cellCameraInstance.m_bInitialized) + return CELL_CAMERA_ERROR_NOT_INIT; + return CELL_OK; } @@ -164,60 +195,100 @@ int cellCameraSetExtensionUnit() int cellCameraReset() { UNIMPLEMENTED_FUNC(cellCamera); + + if (!cellCameraInstance.m_bInitialized) + return CELL_CAMERA_ERROR_NOT_INIT; + return CELL_OK; } int cellCameraStart() { UNIMPLEMENTED_FUNC(cellCamera); + + if (!cellCameraInstance.m_bInitialized) + return CELL_CAMERA_ERROR_NOT_INIT; + return CELL_OK; } int cellCameraRead() { UNIMPLEMENTED_FUNC(cellCamera); + + if (!cellCameraInstance.m_bInitialized) + return CELL_CAMERA_ERROR_NOT_INIT; + return CELL_OK; } int cellCameraReadEx() { UNIMPLEMENTED_FUNC(cellCamera); + + if (!cellCameraInstance.m_bInitialized) + return CELL_CAMERA_ERROR_NOT_INIT; + return CELL_OK; } int cellCameraReadComplete() { UNIMPLEMENTED_FUNC(cellCamera); + + if (!cellCameraInstance.m_bInitialized) + return CELL_CAMERA_ERROR_NOT_INIT; + return CELL_OK; } int cellCameraStop() { UNIMPLEMENTED_FUNC(cellCamera); + + if (!cellCameraInstance.m_bInitialized) + return CELL_CAMERA_ERROR_NOT_INIT; + return CELL_OK; } int cellCameraSetNotifyEventQueue() { UNIMPLEMENTED_FUNC(cellCamera); + + if (!cellCameraInstance.m_bInitialized) + return CELL_CAMERA_ERROR_NOT_INIT; + return CELL_OK; } int cellCameraRemoveNotifyEventQueue() { UNIMPLEMENTED_FUNC(cellCamera); + + if (!cellCameraInstance.m_bInitialized) + return CELL_CAMERA_ERROR_NOT_INIT; + return CELL_OK; } int cellCameraSetNotifyEventQueue2() { UNIMPLEMENTED_FUNC(cellCamera); + + if (!cellCameraInstance.m_bInitialized) + return CELL_CAMERA_ERROR_NOT_INIT; + return CELL_OK; } int cellCameraRemoveNotifyEventQueue2() { UNIMPLEMENTED_FUNC(cellCamera); + + if (!cellCameraInstance.m_bInitialized) + return CELL_CAMERA_ERROR_NOT_INIT; + return CELL_OK; } diff --git a/rpcs3/Emu/SysCalls/Modules/sceNpClans.cpp b/rpcs3/Emu/SysCalls/Modules/sceNpClans.cpp index 0494fb9d37..0c761ee2cc 100644 --- a/rpcs3/Emu/SysCalls/Modules/sceNpClans.cpp +++ b/rpcs3/Emu/SysCalls/Modules/sceNpClans.cpp @@ -8,243 +8,428 @@ Module *sceNpClans = nullptr; -int sceNpClansInit() +struct sceNpClansInternal { - UNIMPLEMENTED_FUNC(sceNpClans); + bool m_bSceNpClansInitialized; + + sceNpClansInternal() + : m_bSceNpClansInitialized(false) + { + } +}; + +sceNpClansInternal sceNpClansInstance; + +int sceNpClansInit(vm::ptr commId, vm::ptr passphrase, vm::ptr pool, vm::ptr poolSize, u32 flags) +{ + sceNpClans->Warning("sceNpClansInit(commId_addr=0x%x, passphrase_addr=0x%x, pool_addr=0x%x,poolSize_addr=0x%x, flags=%d)", commId.addr(), passphrase.addr(), pool.addr(), poolSize.addr(), flags); + + if (sceNpClansInstance.m_bSceNpClansInitialized) + return SCE_NP_CLANS_ERROR_ALREADY_INITIALIZED; + + if (flags != 0) + return SCE_NP_CLANS_ERROR_NOT_SUPPORTED; + + sceNpClansInstance.m_bSceNpClansInitialized = true; + return CELL_OK; } int sceNpClansTerm() { - UNIMPLEMENTED_FUNC(sceNpClans); + sceNpClans->Warning("sceNpClansTerm()"); + + if (!sceNpClansInstance.m_bSceNpClansInitialized) + return SCE_NP_CLANS_ERROR_NOT_INITIALIZED; + + sceNpClansInstance.m_bSceNpClansInitialized = false; + return CELL_OK; } -int sceNpClansCreateRequest() +int sceNpClansCreateRequest(vm::ptr handle,u64 flags) { - UNIMPLEMENTED_FUNC(sceNpClans); + sceNpClans->Todo("sceNpClansCreateRequest(handle_addr=0x%x, flags=0x%llx)", handle.addr(), flags); + + if (!sceNpClansInstance.m_bSceNpClansInitialized) + return SCE_NP_CLANS_ERROR_NOT_INITIALIZED; + + if (flags != 0) + return SCE_NP_CLANS_ERROR_NOT_SUPPORTED; + return CELL_OK; } -int sceNpClansDestroyRequest() +int sceNpClansDestroyRequest(vm::ptr handle) { UNIMPLEMENTED_FUNC(sceNpClans); + + if (!sceNpClansInstance.m_bSceNpClansInitialized) + return SCE_NP_CLANS_ERROR_NOT_INITIALIZED; + return CELL_OK; } -int sceNpClansAbortRequest() +int sceNpClansAbortRequest(vm::ptr handle) { UNIMPLEMENTED_FUNC(sceNpClans); + + if (!sceNpClansInstance.m_bSceNpClansInitialized) + return SCE_NP_CLANS_ERROR_NOT_INITIALIZED; + return CELL_OK; } -int sceNpClansCreateClan() +int sceNpClansCreateClan(vm::ptr handle, vm::ptr name, vm::ptr tag, vm::ptr clanId) { UNIMPLEMENTED_FUNC(sceNpClans); + + if (!sceNpClansInstance.m_bSceNpClansInitialized) + return SCE_NP_CLANS_ERROR_NOT_INITIALIZED; + return CELL_OK; } -int sceNpClansDisbandClan() +int sceNpClansDisbandClan(vm::ptr handle, u32 clanId) { UNIMPLEMENTED_FUNC(sceNpClans); + + if (!sceNpClansInstance.m_bSceNpClansInitialized) + return SCE_NP_CLANS_ERROR_NOT_INITIALIZED; + return CELL_OK; } -int sceNpClansGetClanList() +int sceNpClansGetClanList(vm::ptr handle, vm::ptr paging, vm::ptr clanList, vm::ptr pageResult) { UNIMPLEMENTED_FUNC(sceNpClans); + + if (!sceNpClansInstance.m_bSceNpClansInitialized) + return SCE_NP_CLANS_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpClansGetClanListByNpId() { UNIMPLEMENTED_FUNC(sceNpClans); + + if (!sceNpClansInstance.m_bSceNpClansInitialized) + return SCE_NP_CLANS_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpClansSearchByProfile() { UNIMPLEMENTED_FUNC(sceNpClans); + + if (!sceNpClansInstance.m_bSceNpClansInitialized) + return SCE_NP_CLANS_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpClansSearchByName() { UNIMPLEMENTED_FUNC(sceNpClans); + + if (!sceNpClansInstance.m_bSceNpClansInitialized) + return SCE_NP_CLANS_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpClansGetClanInfo() { UNIMPLEMENTED_FUNC(sceNpClans); + + if (!sceNpClansInstance.m_bSceNpClansInitialized) + return SCE_NP_CLANS_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpClansUpdateClanInfo() { UNIMPLEMENTED_FUNC(sceNpClans); + + if (!sceNpClansInstance.m_bSceNpClansInitialized) + return SCE_NP_CLANS_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpClansGetMemberList() { UNIMPLEMENTED_FUNC(sceNpClans); + + if (!sceNpClansInstance.m_bSceNpClansInitialized) + return SCE_NP_CLANS_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpClansGetMemberInfo() { UNIMPLEMENTED_FUNC(sceNpClans); + + if (!sceNpClansInstance.m_bSceNpClansInitialized) + return SCE_NP_CLANS_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpClansUpdateMemberInfo() { UNIMPLEMENTED_FUNC(sceNpClans); + + if (!sceNpClansInstance.m_bSceNpClansInitialized) + return SCE_NP_CLANS_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpClansChangeMemberRole() { UNIMPLEMENTED_FUNC(sceNpClans); + + if (!sceNpClansInstance.m_bSceNpClansInitialized) + return SCE_NP_CLANS_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpClansGetAutoAcceptStatus() { UNIMPLEMENTED_FUNC(sceNpClans); + + if (!sceNpClansInstance.m_bSceNpClansInitialized) + return SCE_NP_CLANS_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpClansUpdateAutoAcceptStatus() { UNIMPLEMENTED_FUNC(sceNpClans); + + if (!sceNpClansInstance.m_bSceNpClansInitialized) + return SCE_NP_CLANS_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpClansJoinClan() { UNIMPLEMENTED_FUNC(sceNpClans); + + if (!sceNpClansInstance.m_bSceNpClansInitialized) + return SCE_NP_CLANS_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpClansLeaveClan() { UNIMPLEMENTED_FUNC(sceNpClans); + + if (!sceNpClansInstance.m_bSceNpClansInitialized) + return SCE_NP_CLANS_ERROR_NOT_INITIALIZED; + return CELL_OK; } -int sceNpClansKickMember() +int sceNpClansKickMember(vm::ptr handle, u32 clanId, vm::ptr npid, vm::ptr message) { UNIMPLEMENTED_FUNC(sceNpClans); + + if (!sceNpClansInstance.m_bSceNpClansInitialized) + return SCE_NP_CLANS_ERROR_NOT_INITIALIZED; + return CELL_OK; } -int sceNpClansSendInvitation() +int sceNpClansSendInvitation(vm::ptr handle, u32 clanId, vm::ptr npid, vm::ptr message) { UNIMPLEMENTED_FUNC(sceNpClans); + + if (!sceNpClansInstance.m_bSceNpClansInitialized) + return SCE_NP_CLANS_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpClansCancelInvitation() { UNIMPLEMENTED_FUNC(sceNpClans); + + if (!sceNpClansInstance.m_bSceNpClansInitialized) + return SCE_NP_CLANS_ERROR_NOT_INITIALIZED; + return CELL_OK; } -int sceNpClansSendInvitationResponse() +int sceNpClansSendInvitationResponse(vm::ptr handle, u32 clanId, vm::ptr message, bool accept) { UNIMPLEMENTED_FUNC(sceNpClans); + + if (!sceNpClansInstance.m_bSceNpClansInitialized) + return SCE_NP_CLANS_ERROR_NOT_INITIALIZED; + return CELL_OK; } -int sceNpClansSendMembershipRequest() +int sceNpClansSendMembershipRequest(vm::ptr handle, u32 clanId, vm::ptr message) { UNIMPLEMENTED_FUNC(sceNpClans); + + if (!sceNpClansInstance.m_bSceNpClansInitialized) + return SCE_NP_CLANS_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpClansCancelMembershipRequest() { UNIMPLEMENTED_FUNC(sceNpClans); + + if (!sceNpClansInstance.m_bSceNpClansInitialized) + return SCE_NP_CLANS_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpClansSendMembershipResponse() { UNIMPLEMENTED_FUNC(sceNpClans); + + if (!sceNpClansInstance.m_bSceNpClansInitialized) + return SCE_NP_CLANS_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpClansGetBlacklist() { UNIMPLEMENTED_FUNC(sceNpClans); + + if (!sceNpClansInstance.m_bSceNpClansInitialized) + return SCE_NP_CLANS_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpClansAddBlacklistEntry() { UNIMPLEMENTED_FUNC(sceNpClans); + + if (!sceNpClansInstance.m_bSceNpClansInitialized) + return SCE_NP_CLANS_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpClansRemoveBlacklistEntry() { UNIMPLEMENTED_FUNC(sceNpClans); + + if (!sceNpClansInstance.m_bSceNpClansInitialized) + return SCE_NP_CLANS_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpClansRetrieveAnnouncements() { UNIMPLEMENTED_FUNC(sceNpClans); + + if (!sceNpClansInstance.m_bSceNpClansInitialized) + return SCE_NP_CLANS_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpClansPostAnnouncement() { UNIMPLEMENTED_FUNC(sceNpClans); + + if (!sceNpClansInstance.m_bSceNpClansInitialized) + return SCE_NP_CLANS_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpClansRemoveAnnouncement() { UNIMPLEMENTED_FUNC(sceNpClans); + + if (!sceNpClansInstance.m_bSceNpClansInitialized) + return SCE_NP_CLANS_ERROR_NOT_INITIALIZED; + return CELL_OK; } -int sceNpClansPostChallenge() +int sceNpClansPostChallenge(vm::ptr handle, u32 clanId, u32 targetClan, vm::ptr message, vm::ptr data, u32 duration, vm::ptr mId) { UNIMPLEMENTED_FUNC(sceNpClans); + + if (!sceNpClansInstance.m_bSceNpClansInitialized) + return SCE_NP_CLANS_ERROR_NOT_INITIALIZED; + + if (data != 0) + return SCE_NP_CLANS_ERROR_NOT_SUPPORTED; + + //todo + return CELL_OK; } int sceNpClansRetrievePostedChallenges() { UNIMPLEMENTED_FUNC(sceNpClans); + + if (!sceNpClansInstance.m_bSceNpClansInitialized) + return SCE_NP_CLANS_ERROR_NOT_INITIALIZED; + + //todo + return CELL_OK; } int sceNpClansRemovePostedChallenge() { UNIMPLEMENTED_FUNC(sceNpClans); + + if (!sceNpClansInstance.m_bSceNpClansInitialized) + return SCE_NP_CLANS_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpClansRetrieveChallenges() { UNIMPLEMENTED_FUNC(sceNpClans); + + if (!sceNpClansInstance.m_bSceNpClansInitialized) + return SCE_NP_CLANS_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpClansRemoveChallenge() { UNIMPLEMENTED_FUNC(sceNpClans); + + if (!sceNpClansInstance.m_bSceNpClansInitialized) + return SCE_NP_CLANS_ERROR_NOT_INITIALIZED; + return CELL_OK; } void sceNpClans_unload() { - // TODO: Unload Clans module + sceNpClansInstance.m_bSceNpClansInitialized = false; } void sceNpClans_init(Module *pxThis) diff --git a/rpcs3/Emu/SysCalls/Modules/sceNpTus.cpp b/rpcs3/Emu/SysCalls/Modules/sceNpTus.cpp index 50a5af0d2c..59c7dfe5fe 100644 --- a/rpcs3/Emu/SysCalls/Modules/sceNpTus.cpp +++ b/rpcs3/Emu/SysCalls/Modules/sceNpTus.cpp @@ -7,333 +7,565 @@ Module *sceNpTus = nullptr; +struct sceNpTusInternal +{ + bool m_bSceNpTusInitialized; + + sceNpTusInternal() + : m_bSceNpTusInitialized(false) + { + } +}; + +sceNpTusInternal sceNpTusInstance; + int sceNpTusInit() { - UNIMPLEMENTED_FUNC(sceNpTus); + sceNpTus->Warning("sceNpTusInit()"); + + if (sceNpTusInstance.m_bSceNpTusInitialized) + return SCE_NP_COMMUNITY_ERROR_ALREADY_INITIALIZED; + + sceNpTusInstance.m_bSceNpTusInitialized = true; + return CELL_OK; } int sceNpTusTerm() { - UNIMPLEMENTED_FUNC(sceNpTus); + sceNpTus->Warning("sceNpTusTerm()"); + + if (!sceNpTusInstance.m_bSceNpTusInitialized) + return SCE_NP_COMMUNITY_ERROR_NOT_INITIALIZED; + + sceNpTusInstance.m_bSceNpTusInitialized = false; + return CELL_OK; } int sceNpTusCreateTitleCtx() { UNIMPLEMENTED_FUNC(sceNpTus); + + if (!sceNpTusInstance.m_bSceNpTusInitialized) + return SCE_NP_COMMUNITY_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpTusDestroyTitleCtx() { UNIMPLEMENTED_FUNC(sceNpTus); + + if (!sceNpTusInstance.m_bSceNpTusInitialized) + return SCE_NP_COMMUNITY_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpTusCreateTransactionCtx() { UNIMPLEMENTED_FUNC(sceNpTus); + + if (!sceNpTusInstance.m_bSceNpTusInitialized) + return SCE_NP_COMMUNITY_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpTusDestroyTransactionCtx() { UNIMPLEMENTED_FUNC(sceNpTus); + + if (!sceNpTusInstance.m_bSceNpTusInitialized) + return SCE_NP_COMMUNITY_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpTusSetTimeout() { UNIMPLEMENTED_FUNC(sceNpTus); + + if (!sceNpTusInstance.m_bSceNpTusInitialized) + return SCE_NP_COMMUNITY_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpTusAbortTransaction() { UNIMPLEMENTED_FUNC(sceNpTus); + + if (!sceNpTusInstance.m_bSceNpTusInitialized) + return SCE_NP_COMMUNITY_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpTusWaitAsync() { UNIMPLEMENTED_FUNC(sceNpTus); + + if (!sceNpTusInstance.m_bSceNpTusInitialized) + return SCE_NP_COMMUNITY_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpTusPollAsync() { UNIMPLEMENTED_FUNC(sceNpTus); + + if (!sceNpTusInstance.m_bSceNpTusInitialized) + return SCE_NP_COMMUNITY_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpTusSetMultiSlotVariable() { UNIMPLEMENTED_FUNC(sceNpTus); + + if (!sceNpTusInstance.m_bSceNpTusInitialized) + return SCE_NP_COMMUNITY_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpTusSetMultiSlotVariableVUser() { UNIMPLEMENTED_FUNC(sceNpTus); + + if (!sceNpTusInstance.m_bSceNpTusInitialized) + return SCE_NP_COMMUNITY_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpTusSetMultiSlotVariableAsync() { UNIMPLEMENTED_FUNC(sceNpTus); + + if (!sceNpTusInstance.m_bSceNpTusInitialized) + return SCE_NP_COMMUNITY_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpTusSetMultiSlotVariableVUserAsync() { UNIMPLEMENTED_FUNC(sceNpTus); + + if (!sceNpTusInstance.m_bSceNpTusInitialized) + return SCE_NP_COMMUNITY_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpTusGetMultiSlotVariable() { UNIMPLEMENTED_FUNC(sceNpTus); + + if (!sceNpTusInstance.m_bSceNpTusInitialized) + return SCE_NP_COMMUNITY_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpTusGetMultiSlotVariableVUser() { UNIMPLEMENTED_FUNC(sceNpTus); + + if (!sceNpTusInstance.m_bSceNpTusInitialized) + return SCE_NP_COMMUNITY_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpTusGetMultiSlotVariableAsync() { UNIMPLEMENTED_FUNC(sceNpTus); + + if (!sceNpTusInstance.m_bSceNpTusInitialized) + return SCE_NP_COMMUNITY_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpTusGetMultiSlotVariableVUserAsync() { UNIMPLEMENTED_FUNC(sceNpTus); + + if (!sceNpTusInstance.m_bSceNpTusInitialized) + return SCE_NP_COMMUNITY_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpTusGetMultiUserVariable() { UNIMPLEMENTED_FUNC(sceNpTus); + + if (!sceNpTusInstance.m_bSceNpTusInitialized) + return SCE_NP_COMMUNITY_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpTusGetMultiUserVariableVUser() { UNIMPLEMENTED_FUNC(sceNpTus); + + if (!sceNpTusInstance.m_bSceNpTusInitialized) + return SCE_NP_COMMUNITY_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpTusGetMultiUserVariableAsync() { UNIMPLEMENTED_FUNC(sceNpTus); + + if (!sceNpTusInstance.m_bSceNpTusInitialized) + return SCE_NP_COMMUNITY_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpTusGetMultiUserVariableVUserAsync() { UNIMPLEMENTED_FUNC(sceNpTus); + + if (!sceNpTusInstance.m_bSceNpTusInitialized) + return SCE_NP_COMMUNITY_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpTusAddAndGetVariable() { UNIMPLEMENTED_FUNC(sceNpTus); + + if (!sceNpTusInstance.m_bSceNpTusInitialized) + return SCE_NP_COMMUNITY_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpTusAddAndGetVariableVUser() { UNIMPLEMENTED_FUNC(sceNpTus); + + if (!sceNpTusInstance.m_bSceNpTusInitialized) + return SCE_NP_COMMUNITY_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpTusAddAndGetVariableAsync() { UNIMPLEMENTED_FUNC(sceNpTus); + + if (!sceNpTusInstance.m_bSceNpTusInitialized) + return SCE_NP_COMMUNITY_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpTusAddAndGetVariableVUserAsync() { UNIMPLEMENTED_FUNC(sceNpTus); + + if (!sceNpTusInstance.m_bSceNpTusInitialized) + return SCE_NP_COMMUNITY_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpTusTryAndSetVariable() { UNIMPLEMENTED_FUNC(sceNpTus); + + if (!sceNpTusInstance.m_bSceNpTusInitialized) + return SCE_NP_COMMUNITY_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpTusTryAndSetVariableVUser() { UNIMPLEMENTED_FUNC(sceNpTus); + + if (!sceNpTusInstance.m_bSceNpTusInitialized) + return SCE_NP_COMMUNITY_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpTusTryAndSetVariableAsync() { UNIMPLEMENTED_FUNC(sceNpTus); + + if (!sceNpTusInstance.m_bSceNpTusInitialized) + return SCE_NP_COMMUNITY_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpTusTryAndSetVariableVUserAsync() { UNIMPLEMENTED_FUNC(sceNpTus); + + if (!sceNpTusInstance.m_bSceNpTusInitialized) + return SCE_NP_COMMUNITY_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpTusDeleteMultiSlotVariable() { UNIMPLEMENTED_FUNC(sceNpTus); + + if (!sceNpTusInstance.m_bSceNpTusInitialized) + return SCE_NP_COMMUNITY_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpTusDeleteMultiSlotVariableVUser() { UNIMPLEMENTED_FUNC(sceNpTus); + + if (!sceNpTusInstance.m_bSceNpTusInitialized) + return SCE_NP_COMMUNITY_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpTusDeleteMultiSlotVariableAsync() { UNIMPLEMENTED_FUNC(sceNpTus); + + if (!sceNpTusInstance.m_bSceNpTusInitialized) + return SCE_NP_COMMUNITY_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpTusDeleteMultiSlotVariableVUserAsync() { UNIMPLEMENTED_FUNC(sceNpTus); + + if (!sceNpTusInstance.m_bSceNpTusInitialized) + return SCE_NP_COMMUNITY_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpTusSetData() { UNIMPLEMENTED_FUNC(sceNpTus); + + if (!sceNpTusInstance.m_bSceNpTusInitialized) + return SCE_NP_COMMUNITY_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpTusSetDataVUser() { UNIMPLEMENTED_FUNC(sceNpTus); + + if (!sceNpTusInstance.m_bSceNpTusInitialized) + return SCE_NP_COMMUNITY_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpTusSetDataAsync() { UNIMPLEMENTED_FUNC(sceNpTus); + + if (!sceNpTusInstance.m_bSceNpTusInitialized) + return SCE_NP_COMMUNITY_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpTusSetDataVUserAsync() { UNIMPLEMENTED_FUNC(sceNpTus); + + if (!sceNpTusInstance.m_bSceNpTusInitialized) + return SCE_NP_COMMUNITY_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpTusGetData() { UNIMPLEMENTED_FUNC(sceNpTus); + + if (!sceNpTusInstance.m_bSceNpTusInitialized) + return SCE_NP_COMMUNITY_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpTusGetDataVUser() { UNIMPLEMENTED_FUNC(sceNpTus); + + if (!sceNpTusInstance.m_bSceNpTusInitialized) + return SCE_NP_COMMUNITY_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpTusGetDataAsync() { UNIMPLEMENTED_FUNC(sceNpTus); + + if (!sceNpTusInstance.m_bSceNpTusInitialized) + return SCE_NP_COMMUNITY_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpTusGetDataVUserAsync() { UNIMPLEMENTED_FUNC(sceNpTus); + + if (!sceNpTusInstance.m_bSceNpTusInitialized) + return SCE_NP_COMMUNITY_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpTusGetMultiSlotDataStatus() { UNIMPLEMENTED_FUNC(sceNpTus); + + if (!sceNpTusInstance.m_bSceNpTusInitialized) + return SCE_NP_COMMUNITY_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpTusGetMultiSlotDataStatusVUser() { UNIMPLEMENTED_FUNC(sceNpTus); + + if (!sceNpTusInstance.m_bSceNpTusInitialized) + return SCE_NP_COMMUNITY_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpTusGetMultiSlotDataStatusAsync() { UNIMPLEMENTED_FUNC(sceNpTus); + + if (!sceNpTusInstance.m_bSceNpTusInitialized) + return SCE_NP_COMMUNITY_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpTusGetMultiSlotDataStatusVUserAsync() { UNIMPLEMENTED_FUNC(sceNpTus); + + if (!sceNpTusInstance.m_bSceNpTusInitialized) + return SCE_NP_COMMUNITY_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpTusGetMultiUserDataStatus() { UNIMPLEMENTED_FUNC(sceNpTus); + + if (!sceNpTusInstance.m_bSceNpTusInitialized) + return SCE_NP_COMMUNITY_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpTusGetMultiUserDataStatusVUser() { UNIMPLEMENTED_FUNC(sceNpTus); + + if (!sceNpTusInstance.m_bSceNpTusInitialized) + return SCE_NP_COMMUNITY_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpTusGetMultiUserDataStatusAsync() { UNIMPLEMENTED_FUNC(sceNpTus); + + if (!sceNpTusInstance.m_bSceNpTusInitialized) + return SCE_NP_COMMUNITY_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpTusGetMultiUserDataStatusVUserAsync() { UNIMPLEMENTED_FUNC(sceNpTus); + + if (!sceNpTusInstance.m_bSceNpTusInitialized) + return SCE_NP_COMMUNITY_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpTusDeleteMultiSlotData() { UNIMPLEMENTED_FUNC(sceNpTus); + + if (!sceNpTusInstance.m_bSceNpTusInitialized) + return SCE_NP_COMMUNITY_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpTusDeleteMultiSlotDataVUser() { UNIMPLEMENTED_FUNC(sceNpTus); + + if (!sceNpTusInstance.m_bSceNpTusInitialized) + return SCE_NP_COMMUNITY_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpTusDeleteMultiSlotDataAsync() { UNIMPLEMENTED_FUNC(sceNpTus); + + if (!sceNpTusInstance.m_bSceNpTusInitialized) + return SCE_NP_COMMUNITY_ERROR_NOT_INITIALIZED; + return CELL_OK; } int sceNpTusDeleteMultiSlotDataVUserAsync() { UNIMPLEMENTED_FUNC(sceNpTus); + + if (!sceNpTusInstance.m_bSceNpTusInitialized) + return SCE_NP_COMMUNITY_ERROR_NOT_INITIALIZED; + return CELL_OK; } void sceNpTus_unload() { - // TODO: Unload Tus module + sceNpTusInstance.m_bSceNpTusInitialized = false; } void sceNpTus_init(Module *pxThis)