feat: Orbis & PSVita builds, Durango postbuild & More (#10)
This fixes Orbis & PSVita builds along with adds a Durango postbuild and moves PS3 to the new SonyLeaderboardManager introduced in TU19 This also fixes the Orbis strings and gets some of the other Windows64 build configurations mostly building. --------- Co-authored-by: str1k3r <115313679+S1l3ntStr1ke87@users.noreply.github.com> Co-authored-by: str1k3r <1+str1k3r@noreply.localhost> Co-authored-by: 552eden <552eden@gmail.com> Co-authored-by: ubergamer-pie <16+ubergamer-pie@noreply.localhost> Co-authored-by: str1k3r <15+str1k3r@noreply.neolegacy.dev> Co-authored-by: pieeebot <10+pieeebot@noreply.neolegacy.dev> Reviewed-on: #10
This commit was merged in pull request #10.
This commit is contained in:
@@ -12,9 +12,13 @@
|
||||
|
||||
// Singleton
|
||||
OrbisNPToolkit NPToolkit;
|
||||
#ifndef __ORBIS__ // sce::Toolkit::NP::Utilities::Future is not implemented in SDK 1.70
|
||||
sce::Toolkit::NP::Utilities::Future< sce::Toolkit::NP::NpSessionInformation > OrbisNPToolkit::sm_createJoinFuture;
|
||||
#endif
|
||||
sce::Toolkit::NP::NpSessionInformation OrbisNPToolkit::m_currentSessionInfo;
|
||||
#ifndef __ORBIS__
|
||||
sce::Toolkit::NP::Utilities::Future<sce::Toolkit::NP::MessageAttachment> OrbisNPToolkit::m_messageData;
|
||||
#endif
|
||||
|
||||
|
||||
void OrbisNPToolkit::presenceCallback( const sce::Toolkit::NP::Event& event )
|
||||
@@ -130,29 +134,53 @@ void OrbisNPToolkit::sessionsCallback( const sce::Toolkit::NP::Event& event)
|
||||
{
|
||||
case sce::Toolkit::NP::Event::npSessionCreateResult: ///< An event generated when the %Np session creation process has been completed.
|
||||
app.DebugPrintf("npSessionCreateResult");
|
||||
if(sm_createJoinFuture.hasResult())
|
||||
#ifdef __ORBIS__
|
||||
// sce::Toolkit::NP::Utilities::Future is not implemented in SDK 1.70 -
|
||||
// no way to retrieve the NpSessionInformation payload; m_currentSessionInfo stays zeroed.
|
||||
if(event.returnCode >= 0)
|
||||
{
|
||||
app.DebugPrintf("Session Created Successfully\n");
|
||||
}
|
||||
else
|
||||
{
|
||||
app.DebugPrintf("Session Creation Failed 0x%x\n",event.returnCode);
|
||||
}
|
||||
#else
|
||||
if(sm_createJoinFuture.hasResult())
|
||||
{
|
||||
app.DebugPrintf("Session Created Successfully\n");
|
||||
m_currentSessionInfo = *sm_createJoinFuture.get();
|
||||
}
|
||||
else
|
||||
}
|
||||
else
|
||||
{
|
||||
app.DebugPrintf("Session Creation Failed 0x%x\n",sm_createJoinFuture.getError());
|
||||
}
|
||||
sm_createJoinFuture.reset();
|
||||
#endif
|
||||
break;
|
||||
case sce::Toolkit::NP::Event::npSessionJoinResult: ///< An event generated when the join %Np session process has been completed.
|
||||
app.DebugPrintf("npSessionJoinResult");
|
||||
if(sm_createJoinFuture.hasResult())
|
||||
#ifdef __ORBIS__
|
||||
if(event.returnCode >= 0)
|
||||
{
|
||||
app.DebugPrintf("Session joined successfully\n");
|
||||
}
|
||||
else
|
||||
{
|
||||
app.DebugPrintf("Session join Failed 0x%x\n",event.returnCode);
|
||||
}
|
||||
#else
|
||||
if(sm_createJoinFuture.hasResult())
|
||||
{
|
||||
app.DebugPrintf("Session joined successfully\n");
|
||||
m_currentSessionInfo = *sm_createJoinFuture.get();
|
||||
}
|
||||
else
|
||||
}
|
||||
else
|
||||
{
|
||||
app.DebugPrintf("Session join Failed 0x%x\n",sm_createJoinFuture.getError());
|
||||
}
|
||||
sm_createJoinFuture.reset();
|
||||
#endif
|
||||
break;
|
||||
case sce::Toolkit::NP::Event::npSessionError: ///< An event generated when there was error performing the current %Np session process.
|
||||
app.DebugPrintf("npSessionError");
|
||||
@@ -207,6 +235,12 @@ void OrbisNPToolkit::gameCustomDataCallback( const sce::Toolkit::NP::Event& even
|
||||
break;
|
||||
case sce::Toolkit::NP::Event::gameCustomDataGameDataResult:
|
||||
app.DebugPrintf("gameCustomDataGameDataResult");
|
||||
#ifdef __ORBIS__
|
||||
// sce::Toolkit::NP::Utilities::Future is not implemented in SDK 1.70 -
|
||||
// the MessageAttachment payload can't be retrieved, so invite data is unavailable.
|
||||
app.DebugPrintf("gameCustomDataGameDataResult stubbed (no Future in SDK 1.70), returnCode 0x%08x\n", event.returnCode);
|
||||
ORBIS_STUBBED;
|
||||
#else
|
||||
if(m_messageData.hasResult())
|
||||
{
|
||||
SQRNetworkManager_Orbis::GetInviteDataAndProcess(m_messageData.get());
|
||||
@@ -229,6 +263,7 @@ void OrbisNPToolkit::gameCustomDataCallback( const sce::Toolkit::NP::Event& even
|
||||
break;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
break;
|
||||
case sce::Toolkit::NP::Event::gameCustomDataMessageResult:
|
||||
app.DebugPrintf("gameCustomDataMessageResult");
|
||||
@@ -350,6 +385,20 @@ void OrbisNPToolkit::init()
|
||||
}
|
||||
|
||||
// Get network status and inform library
|
||||
#ifdef __ORBIS__
|
||||
// sce::Toolkit::NP::Utilities::Future is not implemented in SDK 1.70 -
|
||||
// query the net state directly instead of going through NetInfo::getNetInfo
|
||||
int32_t netState = SCE_NET_CTL_STATE_DISCONNECTED;
|
||||
if (sceNetCtlGetState(&netState) == SCE_OK)
|
||||
{
|
||||
ProfileManager.SetNetworkStatus(netState == SCE_NET_CTL_STATE_IPOBTAINED);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Error means we're disconnected
|
||||
ProfileManager.SetNetworkStatus(false);
|
||||
}
|
||||
#else
|
||||
sce::Toolkit::NP::Utilities::Future<sce::Toolkit::NP::NetStateBasic> netStateFuture = sce::Toolkit::NP::Utilities::Future<sce::Toolkit::NP::NetStateBasic>();
|
||||
sce::Toolkit::NP::NetInfo::Interface::getNetInfo(&netStateFuture);
|
||||
|
||||
@@ -369,6 +418,7 @@ void OrbisNPToolkit::init()
|
||||
// Error message means we're disconnected
|
||||
ProfileManager.SetNetworkStatus(false);
|
||||
}
|
||||
#endif
|
||||
|
||||
// // Register Client ID for Auth
|
||||
// ret = sce::Toolkit::NP::Interface::registerClientId(CLIENT_ID_FOR_SAMPLE);
|
||||
@@ -409,7 +459,13 @@ void OrbisNPToolkit::createNPSession()
|
||||
char test[3] = {'R','K','B'};
|
||||
createSessionRequest.sessionData= test;
|
||||
createSessionRequest.sessionDataSize = 3;
|
||||
#ifdef __ORBIS__
|
||||
// Sessions::Interface::create requires a Future out-param that SDK 1.70 doesn't implement
|
||||
app.DebugPrintf("createNPSession stubbed (no Future in SDK 1.70)\n");
|
||||
ORBIS_STUBBED;
|
||||
#else
|
||||
ret = sce::Toolkit::NP::Sessions::Interface::create(&createSessionRequest,&sm_createJoinFuture);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
@@ -447,12 +503,18 @@ void OrbisNPToolkit::getMessageData(SceNpGameCustomDataEventParam* paramData)
|
||||
|
||||
req.itemId = paramData->itemId;
|
||||
req.userInfo.userId = userId;
|
||||
#ifdef __ORBIS__
|
||||
// GameCustomData::Interface::getGameData requires a Future out-param that SDK 1.70 doesn't implement
|
||||
app.DebugPrintf("getMessageData stubbed (no Future in SDK 1.70)\n");
|
||||
ORBIS_STUBBED;
|
||||
#else
|
||||
ret = sce::Toolkit::NP::GameCustomData::Interface::getGameData(&req, &m_messageData);
|
||||
if( ret < 0 ) {
|
||||
//Error handling
|
||||
} else {
|
||||
//Error handling
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
//
|
||||
|
||||
Reference in New Issue
Block a user