Remove AUTO_VAR macro and _toString function (#592)
This commit is contained in:
@@ -42,7 +42,7 @@ void ConsoleSoundEngine::tick()
|
||||
return;
|
||||
}
|
||||
|
||||
for(AUTO_VAR(it,scheduledSounds.begin()); it != scheduledSounds.end();)
|
||||
for (auto it = scheduledSounds.begin(); it != scheduledSounds.end();)
|
||||
{
|
||||
SoundEngine::ScheduledSound *next = *it;
|
||||
next->delay--;
|
||||
|
||||
@@ -355,7 +355,7 @@ void ColourTable::loadColoursFromData(PBYTE pbData, DWORD dwLength)
|
||||
wstring colourId = dis.readUTF();
|
||||
int colourValue = dis.readInt();
|
||||
setColour(colourId, colourValue);
|
||||
AUTO_VAR(it,s_colourNamesMap.find(colourId));
|
||||
auto it = s_colourNamesMap.find(colourId); // ?
|
||||
}
|
||||
|
||||
bais.reset();
|
||||
@@ -363,7 +363,7 @@ void ColourTable::loadColoursFromData(PBYTE pbData, DWORD dwLength)
|
||||
|
||||
void ColourTable::setColour(const wstring &colourName, int value)
|
||||
{
|
||||
AUTO_VAR(it,s_colourNamesMap.find(colourName));
|
||||
auto it = s_colourNamesMap.find(colourName);
|
||||
if(it != s_colourNamesMap.end())
|
||||
{
|
||||
m_colourValues[(int)it->second] = value;
|
||||
|
||||
@@ -1475,9 +1475,8 @@ void CMinecraftApp::ActionGameSettings(int iPad,eGameSetting eVal)
|
||||
app.SetXuiServerAction(iPad,eXuiServerAction_ServerSettingChanged_Gamertags);
|
||||
|
||||
PlayerList *players = MinecraftServer::getInstance()->getPlayerList();
|
||||
for(AUTO_VAR(it3, players->players.begin()); it3 != players->players.end(); ++it3)
|
||||
for( auto& decorationPlayer : players->players )
|
||||
{
|
||||
shared_ptr<ServerPlayer> decorationPlayer = *it3;
|
||||
decorationPlayer->setShowOnMaps((app.GetGameHostOption(eGameHostOption_Gamertags)!=0)?true:false);
|
||||
}
|
||||
}
|
||||
@@ -5641,7 +5640,7 @@ bool CMinecraftApp::isXuidNotch(PlayerUID xuid)
|
||||
|
||||
bool CMinecraftApp::isXuidDeadmau5(PlayerUID xuid)
|
||||
{
|
||||
AUTO_VAR(it, MojangData.find( xuid )); // 4J Stu - The .at and [] accessors insert elements if they don't exist
|
||||
auto it = MojangData.find(xuid); // 4J Stu - The .at and [] accessors insert elements if they don't exist
|
||||
if (it != MojangData.end() )
|
||||
{
|
||||
MOJANG_DATA *pMojangData=MojangData[xuid];
|
||||
@@ -5659,7 +5658,7 @@ void CMinecraftApp::AddMemoryTextureFile(const wstring &wName,PBYTE pbData,DWORD
|
||||
EnterCriticalSection(&csMemFilesLock);
|
||||
// check it's not already in
|
||||
PMEMDATA pData=NULL;
|
||||
AUTO_VAR(it, m_MEM_Files.find(wName));
|
||||
auto it = m_MEM_Files.find(wName);
|
||||
if(it != m_MEM_Files.end())
|
||||
{
|
||||
#ifndef _CONTENT_PACKAGE
|
||||
@@ -5704,7 +5703,7 @@ void CMinecraftApp::RemoveMemoryTextureFile(const wstring &wName)
|
||||
{
|
||||
EnterCriticalSection(&csMemFilesLock);
|
||||
|
||||
AUTO_VAR(it, m_MEM_Files.find(wName));
|
||||
auto it = m_MEM_Files.find(wName);
|
||||
if(it != m_MEM_Files.end())
|
||||
{
|
||||
#ifndef _CONTENT_PACKAGE
|
||||
@@ -5730,7 +5729,7 @@ bool CMinecraftApp::DefaultCapeExists()
|
||||
bool val = false;
|
||||
|
||||
EnterCriticalSection(&csMemFilesLock);
|
||||
AUTO_VAR(it, m_MEM_Files.find(wTex));
|
||||
auto it = m_MEM_Files.find(wTex);
|
||||
if(it != m_MEM_Files.end()) val = true;
|
||||
LeaveCriticalSection(&csMemFilesLock);
|
||||
|
||||
@@ -5742,7 +5741,7 @@ bool CMinecraftApp::IsFileInMemoryTextures(const wstring &wName)
|
||||
bool val = false;
|
||||
|
||||
EnterCriticalSection(&csMemFilesLock);
|
||||
AUTO_VAR(it, m_MEM_Files.find(wName));
|
||||
auto it = m_MEM_Files.find(wName);
|
||||
if(it != m_MEM_Files.end()) val = true;
|
||||
LeaveCriticalSection(&csMemFilesLock);
|
||||
|
||||
@@ -5752,7 +5751,7 @@ bool CMinecraftApp::IsFileInMemoryTextures(const wstring &wName)
|
||||
void CMinecraftApp::GetMemFileDetails(const wstring &wName,PBYTE *ppbData,DWORD *pdwBytes)
|
||||
{
|
||||
EnterCriticalSection(&csMemFilesLock);
|
||||
AUTO_VAR(it, m_MEM_Files.find(wName));
|
||||
auto it = m_MEM_Files.find(wName);
|
||||
if(it != m_MEM_Files.end())
|
||||
{
|
||||
PMEMDATA pData = (*it).second;
|
||||
@@ -5767,7 +5766,7 @@ void CMinecraftApp::AddMemoryTPDFile(int iConfig,PBYTE pbData,DWORD dwBytes)
|
||||
EnterCriticalSection(&csMemTPDLock);
|
||||
// check it's not already in
|
||||
PMEMDATA pData=NULL;
|
||||
AUTO_VAR(it, m_MEM_TPD.find(iConfig));
|
||||
auto it = m_MEM_TPD.find(iConfig);
|
||||
if(it == m_MEM_TPD.end())
|
||||
{
|
||||
pData = (PMEMDATA)new BYTE[sizeof(MEMDATA)];
|
||||
@@ -5787,7 +5786,7 @@ void CMinecraftApp::RemoveMemoryTPDFile(int iConfig)
|
||||
EnterCriticalSection(&csMemTPDLock);
|
||||
// check it's not already in
|
||||
PMEMDATA pData=NULL;
|
||||
AUTO_VAR(it, m_MEM_TPD.find(iConfig));
|
||||
auto it = m_MEM_TPD.find(iConfig);
|
||||
if(it != m_MEM_TPD.end())
|
||||
{
|
||||
pData=m_MEM_TPD[iConfig];
|
||||
@@ -5844,7 +5843,7 @@ bool CMinecraftApp::IsFileInTPD(int iConfig)
|
||||
bool val = false;
|
||||
|
||||
EnterCriticalSection(&csMemTPDLock);
|
||||
AUTO_VAR(it, m_MEM_TPD.find(iConfig));
|
||||
auto it = m_MEM_TPD.find(iConfig);
|
||||
if(it != m_MEM_TPD.end()) val = true;
|
||||
LeaveCriticalSection(&csMemTPDLock);
|
||||
|
||||
@@ -5854,7 +5853,7 @@ bool CMinecraftApp::IsFileInTPD(int iConfig)
|
||||
void CMinecraftApp::GetTPD(int iConfig,PBYTE *ppbData,DWORD *pdwBytes)
|
||||
{
|
||||
EnterCriticalSection(&csMemTPDLock);
|
||||
AUTO_VAR(it, m_MEM_TPD.find(iConfig));
|
||||
auto it = m_MEM_TPD.find(iConfig);
|
||||
if(it != m_MEM_TPD.end())
|
||||
{
|
||||
PMEMDATA pData = (*it).second;
|
||||
@@ -6989,7 +6988,7 @@ HRESULT CMinecraftApp::RegisterDLCData(eDLCContentType eType, WCHAR *pwchBannerN
|
||||
// check if we already have this info from the local DLC file
|
||||
wstring wsTemp=wchUppercaseProductID;
|
||||
|
||||
AUTO_VAR(it, DLCInfo_Full.find(wsTemp));
|
||||
auto it = DLCInfo_Full.find(wsTemp);
|
||||
if( it == DLCInfo_Full.end() )
|
||||
{
|
||||
// Not found
|
||||
@@ -7097,7 +7096,7 @@ HRESULT CMinecraftApp::RegisterDLCData(char *pchDLCName, unsigned int uiSortInde
|
||||
#if defined( __PS3__) || defined(__ORBIS__) || defined(__PSVITA__)
|
||||
bool CMinecraftApp::GetDLCFullOfferIDForSkinID(const wstring &FirstSkin,ULONGLONG *pullVal)
|
||||
{
|
||||
AUTO_VAR(it, DLCInfo_SkinName.find(FirstSkin));
|
||||
auto it = DLCInfo_SkinName.find(FirstSkin);
|
||||
if( it == DLCInfo_SkinName.end() )
|
||||
{
|
||||
return false;
|
||||
@@ -7110,7 +7109,7 @@ bool CMinecraftApp::GetDLCFullOfferIDForSkinID(const wstring &FirstSkin,ULONGLON
|
||||
}
|
||||
bool CMinecraftApp::GetDLCNameForPackID(const int iPackID,char **ppchKeyID)
|
||||
{
|
||||
AUTO_VAR(it, DLCTextures_PackID.find(iPackID));
|
||||
auto it = DLCTextures_PackID.find(iPackID);
|
||||
if( it == DLCTextures_PackID.end() )
|
||||
{
|
||||
*ppchKeyID=NULL;
|
||||
@@ -7128,7 +7127,7 @@ DLC_INFO *CMinecraftApp::GetDLCInfo(char *pchDLCName)
|
||||
|
||||
if(DLCInfo.size()>0)
|
||||
{
|
||||
AUTO_VAR(it, DLCInfo.find(tempString));
|
||||
auto it = DLCInfo.find(tempString);
|
||||
|
||||
if( it == DLCInfo.end() )
|
||||
{
|
||||
@@ -7185,7 +7184,7 @@ char *CMinecraftApp::GetDLCInfoTextures(int iIndex)
|
||||
#elif defined _XBOX_ONE
|
||||
bool CMinecraftApp::GetDLCFullOfferIDForSkinID(const wstring &FirstSkin,wstring &ProductId)
|
||||
{
|
||||
AUTO_VAR(it, DLCInfo_SkinName.find(FirstSkin));
|
||||
auto it = DLCInfo_SkinName.find(FirstSkin);
|
||||
if( it == DLCInfo_SkinName.end() )
|
||||
{
|
||||
return false;
|
||||
@@ -7198,7 +7197,7 @@ bool CMinecraftApp::GetDLCFullOfferIDForSkinID(const wstring &FirstSkin,wstring
|
||||
}
|
||||
bool CMinecraftApp::GetDLCFullOfferIDForPackID(const int iPackID,wstring &ProductId)
|
||||
{
|
||||
AUTO_VAR(it, DLCTextures_PackID.find(iPackID));
|
||||
auto it = DLCTextures_PackID.find(iPackID);
|
||||
if( it == DLCTextures_PackID.end() )
|
||||
{
|
||||
return false;
|
||||
@@ -7243,7 +7242,7 @@ wstring CMinecraftApp::GetDLCInfoTexturesFullOffer(int iIndex)
|
||||
#else
|
||||
bool CMinecraftApp::GetDLCFullOfferIDForSkinID(const wstring &FirstSkin,ULONGLONG *pullVal)
|
||||
{
|
||||
AUTO_VAR(it, DLCInfo_SkinName.find(FirstSkin));
|
||||
auto it = DLCInfo_SkinName.find(FirstSkin);
|
||||
if( it == DLCInfo_SkinName.end() )
|
||||
{
|
||||
return false;
|
||||
@@ -7256,15 +7255,15 @@ bool CMinecraftApp::GetDLCFullOfferIDForSkinID(const wstring &FirstSkin,ULONGLON
|
||||
}
|
||||
bool CMinecraftApp::GetDLCFullOfferIDForPackID(const int iPackID,ULONGLONG *pullVal)
|
||||
{
|
||||
AUTO_VAR(it, DLCTextures_PackID.find(iPackID));
|
||||
auto it = DLCTextures_PackID.find(iPackID);
|
||||
if( it == DLCTextures_PackID.end() )
|
||||
{
|
||||
*pullVal=(ULONGLONG)0;
|
||||
*pullVal=0ULL;
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
*pullVal=(ULONGLONG)it->second;
|
||||
*pullVal=it->second;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -7273,7 +7272,7 @@ DLC_INFO *CMinecraftApp::GetDLCInfoForTrialOfferID(ULONGLONG ullOfferID_Trial)
|
||||
//DLC_INFO *pDLCInfo=NULL;
|
||||
if(DLCInfo_Trial.size()>0)
|
||||
{
|
||||
AUTO_VAR(it, DLCInfo_Trial.find(ullOfferID_Trial));
|
||||
auto it = DLCInfo_Trial.find(ullOfferID_Trial);
|
||||
|
||||
if( it == DLCInfo_Trial.end() )
|
||||
{
|
||||
@@ -7330,7 +7329,7 @@ DLC_INFO *CMinecraftApp::GetDLCInfoForFullOfferID(WCHAR *pwchProductID)
|
||||
wstring wsTemp = pwchProductID;
|
||||
if(DLCInfo_Full.size()>0)
|
||||
{
|
||||
AUTO_VAR(it, DLCInfo_Full.find(wsTemp));
|
||||
auto it = DLCInfo_Full.find(wsTemp);
|
||||
|
||||
if( it == DLCInfo_Full.end() )
|
||||
{
|
||||
@@ -7370,7 +7369,7 @@ DLC_INFO *CMinecraftApp::GetDLCInfoForFullOfferID(ULONGLONG ullOfferID_Full)
|
||||
|
||||
if(DLCInfo_Full.size()>0)
|
||||
{
|
||||
AUTO_VAR(it, DLCInfo_Full.find(ullOfferID_Full));
|
||||
auto it = DLCInfo_Full.find(ullOfferID_Full);
|
||||
|
||||
if( it == DLCInfo_Full.end() )
|
||||
{
|
||||
@@ -7570,9 +7569,8 @@ void CMinecraftApp::AddLevelToBannedLevelList(int iPad, PlayerUID xuid, char *ps
|
||||
DWORD dwDataBytes=(DWORD)(sizeof(BANNEDLISTDATA)*m_vBannedListA[iPad]->size());
|
||||
PBANNEDLISTDATA pBannedList = (BANNEDLISTDATA *)(new CHAR [dwDataBytes]);
|
||||
int iCount=0;
|
||||
for(AUTO_VAR(it, m_vBannedListA[iPad]->begin()); it != m_vBannedListA[iPad]->end(); ++it)
|
||||
for (PBANNEDLISTDATA pData : *m_vBannedListA[iPad] )
|
||||
{
|
||||
PBANNEDLISTDATA pData=*it;
|
||||
memcpy(&pBannedList[iCount++],pData,sizeof(BANNEDLISTDATA));
|
||||
}
|
||||
|
||||
@@ -7590,9 +7588,8 @@ void CMinecraftApp::AddLevelToBannedLevelList(int iPad, PlayerUID xuid, char *ps
|
||||
|
||||
bool CMinecraftApp::IsInBannedLevelList(int iPad, PlayerUID xuid, char *pszLevelName)
|
||||
{
|
||||
for(AUTO_VAR(it, m_vBannedListA[iPad]->begin()); it != m_vBannedListA[iPad]->end(); ++it)
|
||||
for( PBANNEDLISTDATA pData : *m_vBannedListA[iPad] )
|
||||
{
|
||||
PBANNEDLISTDATA pData=*it;
|
||||
#ifdef _XBOX_ONE
|
||||
PlayerUID bannedPlayerUID = pData->wchPlayerUID;
|
||||
if(IsEqualXUID (bannedPlayerUID,xuid) && (strcmp(pData->pszLevelName,pszLevelName)==0))
|
||||
@@ -7613,7 +7610,7 @@ void CMinecraftApp::RemoveLevelFromBannedLevelList(int iPad, PlayerUID xuid, cha
|
||||
//bool bRes;
|
||||
|
||||
// we will have retrieved the banned level list from TMS, so remove this one from it and write it back to TMS
|
||||
for(AUTO_VAR(it, m_vBannedListA[iPad]->begin()); it != m_vBannedListA[iPad]->end(); )
|
||||
for (auto it = m_vBannedListA[iPad]->begin(); it != m_vBannedListA[iPad]->end(); )
|
||||
{
|
||||
PBANNEDLISTDATA pBannedListData = *it;
|
||||
|
||||
@@ -8321,10 +8318,8 @@ unsigned int CMinecraftApp::CreateImageTextData(PBYTE bTextMetadata, __int64 see
|
||||
void CMinecraftApp::AddTerrainFeaturePosition(_eTerrainFeatureType eFeatureType,int x,int z)
|
||||
{
|
||||
// check we don't already have this in
|
||||
for(AUTO_VAR(it, m_vTerrainFeatures.begin()); it < m_vTerrainFeatures.end(); ++it)
|
||||
for( FEATURE_DATA *pFeatureData : m_vTerrainFeatures )
|
||||
{
|
||||
FEATURE_DATA *pFeatureData=*it;
|
||||
|
||||
if((pFeatureData->eTerrainFeature==eFeatureType) &&(pFeatureData->x==x) && (pFeatureData->z==z)) return;
|
||||
}
|
||||
|
||||
@@ -8338,10 +8333,8 @@ void CMinecraftApp::AddTerrainFeaturePosition(_eTerrainFeatureType eFeatureType,
|
||||
|
||||
_eTerrainFeatureType CMinecraftApp::IsTerrainFeature(int x,int z)
|
||||
{
|
||||
for(AUTO_VAR(it, m_vTerrainFeatures.begin()); it < m_vTerrainFeatures.end(); ++it)
|
||||
for(FEATURE_DATA *pFeatureData : m_vTerrainFeatures )
|
||||
{
|
||||
FEATURE_DATA *pFeatureData=*it;
|
||||
|
||||
if((pFeatureData->x==x) && (pFeatureData->z==z)) return pFeatureData->eTerrainFeature;
|
||||
}
|
||||
|
||||
@@ -8350,10 +8343,8 @@ _eTerrainFeatureType CMinecraftApp::IsTerrainFeature(int x,int z)
|
||||
|
||||
bool CMinecraftApp::GetTerrainFeaturePosition(_eTerrainFeatureType eType,int *pX, int *pZ)
|
||||
{
|
||||
for(AUTO_VAR(it, m_vTerrainFeatures.begin()); it < m_vTerrainFeatures.end(); ++it)
|
||||
for ( const FEATURE_DATA *pFeatureData : m_vTerrainFeatures )
|
||||
{
|
||||
FEATURE_DATA *pFeatureData=*it;
|
||||
|
||||
if(pFeatureData->eTerrainFeature==eType)
|
||||
{
|
||||
*pX=pFeatureData->x;
|
||||
@@ -8489,10 +8480,8 @@ unsigned int CMinecraftApp::AddDLCRequest(eDLCMarketplaceType eType, bool bPromo
|
||||
|
||||
// If it's already in there, promote it to the top of the list
|
||||
int iPosition=0;
|
||||
for(AUTO_VAR(it, m_DLCDownloadQueue.begin()); it != m_DLCDownloadQueue.end(); ++it)
|
||||
for( DLCRequest *pCurrent : m_DLCDownloadQueue )
|
||||
{
|
||||
DLCRequest *pCurrent = *it;
|
||||
|
||||
if(pCurrent->dwType==m_dwContentTypeA[eType])
|
||||
{
|
||||
// already got this in the list
|
||||
@@ -8543,7 +8532,7 @@ unsigned int CMinecraftApp::AddTMSPPFileTypeRequest(eDLCContentType eType, bool
|
||||
bool bPromoted=false;
|
||||
|
||||
|
||||
for(AUTO_VAR(it, m_TMSPPDownloadQueue.begin()); it != m_TMSPPDownloadQueue.end(); ++it)
|
||||
for ( TMSPPRequest *pCurrent : m_TMSPPDownloadQueue )
|
||||
{
|
||||
TMSPPRequest *pCurrent = *it;
|
||||
|
||||
@@ -8601,10 +8590,8 @@ unsigned int CMinecraftApp::AddTMSPPFileTypeRequest(eDLCContentType eType, bool
|
||||
// this may already be present in the vector because of a previous trial/full offer
|
||||
|
||||
bool bAlreadyInQueue=false;
|
||||
for(AUTO_VAR(it, m_TMSPPDownloadQueue.begin()); it != m_TMSPPDownloadQueue.end(); ++it)
|
||||
for( TMSPPRequest *pCurrent : m_TMSPPDownloadQueue )
|
||||
{
|
||||
TMSPPRequest *pCurrent = *it;
|
||||
|
||||
if(wcscmp(pDLC->wchDataFile,pCurrent->wchFilename)==0)
|
||||
{
|
||||
bAlreadyInQueue=true;
|
||||
@@ -8664,10 +8651,8 @@ unsigned int CMinecraftApp::AddTMSPPFileTypeRequest(eDLCContentType eType, bool
|
||||
if(!bPresent) // retrieve it from TMSPP
|
||||
{
|
||||
bool bAlreadyInQueue=false;
|
||||
for(AUTO_VAR(it, m_TMSPPDownloadQueue.begin()); it != m_TMSPPDownloadQueue.end(); ++it)
|
||||
for( TMSPPRequest *pCurrent : m_TMSPPDownloadQueue )
|
||||
{
|
||||
TMSPPRequest *pCurrent = *it;
|
||||
|
||||
if(wcscmp(pDLC->wchBanner,pCurrent->wchFilename)==0)
|
||||
{
|
||||
bAlreadyInQueue=true;
|
||||
@@ -8721,10 +8706,8 @@ unsigned int CMinecraftApp::AddTMSPPFileTypeRequest(eDLCContentType eType, bool
|
||||
// this may already be present in the vector because of a previous trial/full offer
|
||||
|
||||
bool bAlreadyInQueue=false;
|
||||
for(AUTO_VAR(it, m_TMSPPDownloadQueue.begin()); it != m_TMSPPDownloadQueue.end(); ++it)
|
||||
for( TMSPPRequest *pCurrent : m_TMSPPDownloadQueue )
|
||||
{
|
||||
TMSPPRequest *pCurrent = *it;
|
||||
|
||||
if(wcscmp(pDLC->wchBanner,pCurrent->wchFilename)==0)
|
||||
{
|
||||
bAlreadyInQueue=true;
|
||||
@@ -8767,10 +8750,8 @@ unsigned int CMinecraftApp::AddTMSPPFileTypeRequest(eDLCContentType eType, bool
|
||||
bool CMinecraftApp::CheckTMSDLCCanStop()
|
||||
{
|
||||
EnterCriticalSection(&csTMSPPDownloadQueue);
|
||||
for(AUTO_VAR(it, m_TMSPPDownloadQueue.begin()); it != m_TMSPPDownloadQueue.end(); ++it)
|
||||
for( TMSPPRequest *pCurrent : m_TMSPPDownloadQueue )
|
||||
{
|
||||
TMSPPRequest *pCurrent = *it;
|
||||
|
||||
if(pCurrent->eState==e_TMS_ContentState_Retrieving)
|
||||
{
|
||||
LeaveCriticalSection(&csTMSPPDownloadQueue);
|
||||
@@ -8796,10 +8777,8 @@ bool CMinecraftApp::RetrieveNextDLCContent()
|
||||
}
|
||||
|
||||
EnterCriticalSection(&csDLCDownloadQueue);
|
||||
for(AUTO_VAR(it, m_DLCDownloadQueue.begin()); it != m_DLCDownloadQueue.end(); ++it)
|
||||
for( const DLCRequest* pCurrent : m_DLCDownloadQueue )
|
||||
{
|
||||
DLCRequest *pCurrent = *it;
|
||||
|
||||
if(pCurrent->eState==e_DLC_ContentState_Retrieving)
|
||||
{
|
||||
LeaveCriticalSection(&csDLCDownloadQueue);
|
||||
@@ -8808,10 +8787,8 @@ bool CMinecraftApp::RetrieveNextDLCContent()
|
||||
}
|
||||
|
||||
// Now look for the next retrieval
|
||||
for(AUTO_VAR(it, m_DLCDownloadQueue.begin()); it != m_DLCDownloadQueue.end(); ++it)
|
||||
for( DLCRequest *pCurrent : m_DLCDownloadQueue )
|
||||
{
|
||||
DLCRequest *pCurrent = *it;
|
||||
|
||||
if(pCurrent->eState==e_DLC_ContentState_Idle)
|
||||
{
|
||||
#ifdef _DEBUG
|
||||
@@ -8853,9 +8830,8 @@ int CMinecraftApp::TMSPPFileReturned(LPVOID pParam,int iPad,int iUserData,C4JSto
|
||||
|
||||
// find the right one in the vector
|
||||
EnterCriticalSection(&pClass->csTMSPPDownloadQueue);
|
||||
for(AUTO_VAR(it, pClass->m_TMSPPDownloadQueue.begin()); it != pClass->m_TMSPPDownloadQueue.end(); ++it)
|
||||
for( TMSPPRequest *pCurrent : pClass->m_TMSPPDownloadQueue )
|
||||
{
|
||||
TMSPPRequest *pCurrent = *it;
|
||||
#if defined(_XBOX) || defined(_WINDOWS64)
|
||||
char szFile[MAX_TMSFILENAME_SIZE];
|
||||
wcstombs(szFile,pCurrent->wchFilename,MAX_TMSFILENAME_SIZE);
|
||||
@@ -8956,8 +8932,7 @@ bool CMinecraftApp::RetrieveNextTMSPPContent()
|
||||
|
||||
if(ProfileManager.IsSignedInLive(ProfileManager.GetPrimaryPad())==false) return false;
|
||||
|
||||
EnterCriticalSection(&csTMSPPDownloadQueue);
|
||||
for(AUTO_VAR(it, m_TMSPPDownloadQueue.begin()); it != m_TMSPPDownloadQueue.end(); ++it)
|
||||
for( TMSPPRequest *pCurrent : m_TMSPPDownloadQueue )
|
||||
{
|
||||
TMSPPRequest *pCurrent = *it;
|
||||
|
||||
@@ -8970,7 +8945,7 @@ bool CMinecraftApp::RetrieveNextTMSPPContent()
|
||||
}
|
||||
|
||||
// Now look for the next retrieval
|
||||
for(AUTO_VAR(it, m_TMSPPDownloadQueue.begin()); it != m_TMSPPDownloadQueue.end(); ++it)
|
||||
for( TMSPPRequest *pCurrent : m_TMSPPDownloadQueue )
|
||||
{
|
||||
TMSPPRequest *pCurrent = *it;
|
||||
|
||||
@@ -9074,11 +9049,10 @@ void CMinecraftApp::ClearAndResetDLCDownloadQueue()
|
||||
|
||||
int iPosition=0;
|
||||
EnterCriticalSection(&csTMSPPDownloadQueue);
|
||||
for(AUTO_VAR(it, m_DLCDownloadQueue.begin()); it != m_DLCDownloadQueue.end(); ++it)
|
||||
for( DLCRequest *pCurrent : m_DLCDownloadQueue )
|
||||
{
|
||||
DLCRequest *pCurrent = *it;
|
||||
|
||||
delete pCurrent;
|
||||
if ( pCurrent )
|
||||
delete pCurrent;
|
||||
iPosition++;
|
||||
}
|
||||
m_DLCDownloadQueue.clear();
|
||||
@@ -9100,11 +9074,10 @@ void CMinecraftApp::ClearTMSPPFilesRetrieved()
|
||||
{
|
||||
int iPosition=0;
|
||||
EnterCriticalSection(&csTMSPPDownloadQueue);
|
||||
for(AUTO_VAR(it, m_TMSPPDownloadQueue.begin()); it != m_TMSPPDownloadQueue.end(); ++it)
|
||||
for ( TMSPPRequest *pCurrent : m_TMSPPDownloadQueue )
|
||||
{
|
||||
TMSPPRequest *pCurrent = *it;
|
||||
|
||||
delete pCurrent;
|
||||
if ( pCurrent )
|
||||
delete pCurrent;
|
||||
iPosition++;
|
||||
}
|
||||
m_TMSPPDownloadQueue.clear();
|
||||
@@ -9118,10 +9091,8 @@ int CMinecraftApp::DLCOffersReturned(void *pParam, int iOfferC, DWORD dwType, in
|
||||
|
||||
// find the right one in the vector
|
||||
EnterCriticalSection(&pClass->csTMSPPDownloadQueue);
|
||||
for(AUTO_VAR(it, pClass->m_DLCDownloadQueue.begin()); it != pClass->m_DLCDownloadQueue.end(); ++it)
|
||||
for( DLCRequest *pCurrent : pClass->m_DLCDownloadQueue )
|
||||
{
|
||||
DLCRequest *pCurrent = *it;
|
||||
|
||||
// avatar items are coming back as type Content, so we can't trust the type setting
|
||||
if(pCurrent->dwType==dwType)
|
||||
{
|
||||
@@ -9151,10 +9122,8 @@ bool CMinecraftApp::DLCContentRetrieved(eDLCMarketplaceType eType)
|
||||
// If there's already a retrieve in progress, quit
|
||||
// we may have re-ordered the list, so need to check every item
|
||||
EnterCriticalSection(&csDLCDownloadQueue);
|
||||
for(AUTO_VAR(it, m_DLCDownloadQueue.begin()); it != m_DLCDownloadQueue.end(); ++it)
|
||||
for( DLCRequest *pCurrent : m_DLCDownloadQueue )
|
||||
{
|
||||
DLCRequest *pCurrent = *it;
|
||||
|
||||
if((pCurrent->dwType==m_dwContentTypeA[eType]) && (pCurrent->eState==e_DLC_ContentState_Retrieved))
|
||||
{
|
||||
LeaveCriticalSection(&csDLCDownloadQueue);
|
||||
@@ -9208,17 +9177,17 @@ vector<ModelPart *> * CMinecraftApp::SetAdditionalSkinBoxes(DWORD dwSkinID, vect
|
||||
app.DebugPrintf("*** SetAdditionalSkinBoxes - Inserting model parts for skin %d from array of Skin Boxes\n",dwSkinID&0x0FFFFFFF);
|
||||
|
||||
// convert the skin boxes into model parts, and add to the humanoid model
|
||||
for(AUTO_VAR(it, pvSkinBoxA->begin());it != pvSkinBoxA->end(); ++it)
|
||||
for( auto& it : *pvSkinBoxA )
|
||||
{
|
||||
if(pModel)
|
||||
{
|
||||
ModelPart *pModelPart=pModel->AddOrRetrievePart(*it);
|
||||
ModelPart *pModelPart=pModel->AddOrRetrievePart(it);
|
||||
pvModelPart->push_back(pModelPart);
|
||||
}
|
||||
}
|
||||
|
||||
m_AdditionalModelParts.insert( std::pair<DWORD, vector<ModelPart *> *>(dwSkinID, pvModelPart) );
|
||||
m_AdditionalSkinBoxes.insert( std::pair<DWORD, vector<SKIN_BOX *> *>(dwSkinID, pvSkinBoxA) );
|
||||
m_AdditionalModelParts.emplace(dwSkinID, pvModelPart);
|
||||
m_AdditionalSkinBoxes.emplace(dwSkinID, pvSkinBoxA);
|
||||
|
||||
LeaveCriticalSection( &csAdditionalSkinBoxes );
|
||||
LeaveCriticalSection( &csAdditionalModelParts );
|
||||
@@ -9232,7 +9201,7 @@ vector<ModelPart *> *CMinecraftApp::GetAdditionalModelParts(DWORD dwSkinID)
|
||||
vector<ModelPart *> *pvModelParts=NULL;
|
||||
if(m_AdditionalModelParts.size()>0)
|
||||
{
|
||||
AUTO_VAR(it, m_AdditionalModelParts.find(dwSkinID));
|
||||
auto it = m_AdditionalModelParts.find(dwSkinID);
|
||||
if(it!=m_AdditionalModelParts.end())
|
||||
{
|
||||
pvModelParts = (*it).second;
|
||||
@@ -9249,7 +9218,7 @@ vector<SKIN_BOX *> *CMinecraftApp::GetAdditionalSkinBoxes(DWORD dwSkinID)
|
||||
vector<SKIN_BOX *> *pvSkinBoxes=NULL;
|
||||
if(m_AdditionalSkinBoxes.size()>0)
|
||||
{
|
||||
AUTO_VAR(it,m_AdditionalSkinBoxes.find(dwSkinID));
|
||||
auto it = m_AdditionalSkinBoxes.find(dwSkinID);
|
||||
if(it!=m_AdditionalSkinBoxes.end())
|
||||
{
|
||||
pvSkinBoxes = (*it).second;
|
||||
@@ -9267,7 +9236,7 @@ unsigned int CMinecraftApp::GetAnimOverrideBitmask(DWORD dwSkinID)
|
||||
|
||||
if(m_AnimOverrides.size()>0)
|
||||
{
|
||||
AUTO_VAR(it, m_AnimOverrides.find(dwSkinID));
|
||||
auto it = m_AnimOverrides.find(dwSkinID);
|
||||
if(it!=m_AnimOverrides.end())
|
||||
{
|
||||
uiAnimOverrideBitmask = (*it).second;
|
||||
@@ -9285,7 +9254,7 @@ void CMinecraftApp::SetAnimOverrideBitmask(DWORD dwSkinID,unsigned int uiAnimOve
|
||||
|
||||
if(m_AnimOverrides.size()>0)
|
||||
{
|
||||
AUTO_VAR(it, m_AnimOverrides.find(dwSkinID));
|
||||
auto it = m_AnimOverrides.find(dwSkinID);
|
||||
if(it!=m_AnimOverrides.end())
|
||||
{
|
||||
LeaveCriticalSection( &csAnimOverrideBitmask );
|
||||
|
||||
@@ -178,7 +178,7 @@ bool DLCAudioFile::processDLCDataFile(PBYTE pbData, DWORD dwLength)
|
||||
{
|
||||
//EAudioParameterType paramType = e_AudioParamType_Invalid;
|
||||
|
||||
AUTO_VAR(it, parameterMapping.find( pParams->dwType ));
|
||||
auto it = parameterMapping.find(pParams->dwType);
|
||||
|
||||
if(it != parameterMapping.end() )
|
||||
{
|
||||
|
||||
@@ -32,10 +32,10 @@ DLCManager::DLCManager()
|
||||
|
||||
DLCManager::~DLCManager()
|
||||
{
|
||||
for(AUTO_VAR(it, m_packs.begin()); it != m_packs.end(); ++it)
|
||||
for ( DLCPack *pack : m_packs )
|
||||
{
|
||||
DLCPack *pack = *it;
|
||||
delete pack;
|
||||
if ( pack )
|
||||
delete pack;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -60,10 +60,9 @@ DWORD DLCManager::getPackCount(EDLCType type /*= e_DLCType_All*/)
|
||||
DWORD packCount = 0;
|
||||
if( type != e_DLCType_All )
|
||||
{
|
||||
for(AUTO_VAR(it, m_packs.begin()); it != m_packs.end(); ++it)
|
||||
for( DLCPack *pack : m_packs )
|
||||
{
|
||||
DLCPack *pack = *it;
|
||||
if( pack->getDLCItemsCount(type) > 0 )
|
||||
if( pack && pack->getDLCItemsCount(type) > 0 )
|
||||
{
|
||||
++packCount;
|
||||
}
|
||||
@@ -85,7 +84,7 @@ void DLCManager::removePack(DLCPack *pack)
|
||||
{
|
||||
if(pack != NULL)
|
||||
{
|
||||
AUTO_VAR(it, find(m_packs.begin(),m_packs.end(),pack));
|
||||
auto it = find(m_packs.begin(), m_packs.end(), pack);
|
||||
if(it != m_packs.end() ) m_packs.erase(it);
|
||||
delete pack;
|
||||
}
|
||||
@@ -93,10 +92,10 @@ void DLCManager::removePack(DLCPack *pack)
|
||||
|
||||
void DLCManager::removeAllPacks(void)
|
||||
{
|
||||
for(AUTO_VAR(it, m_packs.begin()); it != m_packs.end(); ++it)
|
||||
for( DLCPack *pack : m_packs )
|
||||
{
|
||||
DLCPack *pack = (DLCPack *)*it;
|
||||
delete pack;
|
||||
if ( pack )
|
||||
delete pack;
|
||||
}
|
||||
|
||||
m_packs.clear();
|
||||
@@ -104,23 +103,19 @@ void DLCManager::removeAllPacks(void)
|
||||
|
||||
void DLCManager::LanguageChanged(void)
|
||||
{
|
||||
for(AUTO_VAR(it, m_packs.begin()); it != m_packs.end(); ++it)
|
||||
for( DLCPack *pack : m_packs )
|
||||
{
|
||||
DLCPack *pack = (DLCPack *)*it;
|
||||
// update the language
|
||||
pack->UpdateLanguage();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
DLCPack *DLCManager::getPack(const wstring &name)
|
||||
{
|
||||
DLCPack *pack = NULL;
|
||||
//DWORD currentIndex = 0;
|
||||
DLCPack *currentPack = NULL;
|
||||
for(AUTO_VAR(it, m_packs.begin()); it != m_packs.end(); ++it)
|
||||
for( DLCPack * currentPack : m_packs )
|
||||
{
|
||||
currentPack = *it;
|
||||
wstring wsName=currentPack->getName();
|
||||
|
||||
if(wsName.compare(name) == 0)
|
||||
@@ -136,11 +131,8 @@ DLCPack *DLCManager::getPack(const wstring &name)
|
||||
DLCPack *DLCManager::getPackFromProductID(const wstring &productID)
|
||||
{
|
||||
DLCPack *pack = NULL;
|
||||
//DWORD currentIndex = 0;
|
||||
DLCPack *currentPack = NULL;
|
||||
for(AUTO_VAR(it, m_packs.begin()); it != m_packs.end(); ++it)
|
||||
for( DLCPack *currentPack : m_packs )
|
||||
{
|
||||
currentPack = *it;
|
||||
wstring wsName=currentPack->getPurchaseOfferId();
|
||||
|
||||
if(wsName.compare(productID) == 0)
|
||||
@@ -159,10 +151,8 @@ DLCPack *DLCManager::getPack(DWORD index, EDLCType type /*= e_DLCType_All*/)
|
||||
if( type != e_DLCType_All )
|
||||
{
|
||||
DWORD currentIndex = 0;
|
||||
DLCPack *currentPack = NULL;
|
||||
for(AUTO_VAR(it, m_packs.begin()); it != m_packs.end(); ++it)
|
||||
for( DLCPack *currentPack : m_packs )
|
||||
{
|
||||
currentPack = *it;
|
||||
if(currentPack->getDLCItemsCount(type)>0)
|
||||
{
|
||||
if(currentIndex == index)
|
||||
@@ -200,9 +190,8 @@ DWORD DLCManager::getPackIndex(DLCPack *pack, bool &found, EDLCType type /*= e_D
|
||||
if( type != e_DLCType_All )
|
||||
{
|
||||
DWORD index = 0;
|
||||
for(AUTO_VAR(it, m_packs.begin()); it != m_packs.end(); ++it)
|
||||
for( DLCPack *thisPack : m_packs )
|
||||
{
|
||||
DLCPack *thisPack = *it;
|
||||
if(thisPack->getDLCItemsCount(type)>0)
|
||||
{
|
||||
if(thisPack == pack)
|
||||
@@ -218,9 +207,8 @@ DWORD DLCManager::getPackIndex(DLCPack *pack, bool &found, EDLCType type /*= e_D
|
||||
else
|
||||
{
|
||||
DWORD index = 0;
|
||||
for(AUTO_VAR(it, m_packs.begin()); it != m_packs.end(); ++it)
|
||||
for( DLCPack *thisPack : m_packs )
|
||||
{
|
||||
DLCPack *thisPack = *it;
|
||||
if(thisPack == pack)
|
||||
{
|
||||
found = true;
|
||||
@@ -238,9 +226,8 @@ DWORD DLCManager::getPackIndexContainingSkin(const wstring &path, bool &found)
|
||||
DWORD foundIndex = 0;
|
||||
found = false;
|
||||
DWORD index = 0;
|
||||
for(AUTO_VAR(it, m_packs.begin()); it != m_packs.end(); ++it)
|
||||
for( DLCPack *pack : m_packs )
|
||||
{
|
||||
DLCPack *pack = *it;
|
||||
if(pack->getDLCItemsCount(e_DLCType_Skin)>0)
|
||||
{
|
||||
if(pack->doesPackContainSkin(path))
|
||||
@@ -258,9 +245,8 @@ DWORD DLCManager::getPackIndexContainingSkin(const wstring &path, bool &found)
|
||||
DLCPack *DLCManager::getPackContainingSkin(const wstring &path)
|
||||
{
|
||||
DLCPack *foundPack = NULL;
|
||||
for(AUTO_VAR(it, m_packs.begin()); it != m_packs.end(); ++it)
|
||||
for( DLCPack *pack : m_packs )
|
||||
{
|
||||
DLCPack *pack = *it;
|
||||
if(pack->getDLCItemsCount(e_DLCType_Skin)>0)
|
||||
{
|
||||
if(pack->doesPackContainSkin(path))
|
||||
@@ -276,9 +262,8 @@ DLCPack *DLCManager::getPackContainingSkin(const wstring &path)
|
||||
DLCSkinFile *DLCManager::getSkinFile(const wstring &path)
|
||||
{
|
||||
DLCSkinFile *foundSkinfile = NULL;
|
||||
for(AUTO_VAR(it, m_packs.begin()); it != m_packs.end(); ++it)
|
||||
for( DLCPack *pack : m_packs )
|
||||
{
|
||||
DLCPack *pack = *it;
|
||||
foundSkinfile=pack->getSkinFile(path);
|
||||
if(foundSkinfile!=NULL)
|
||||
{
|
||||
@@ -291,12 +276,10 @@ DLCSkinFile *DLCManager::getSkinFile(const wstring &path)
|
||||
DWORD DLCManager::checkForCorruptDLCAndAlert(bool showMessage /*= true*/)
|
||||
{
|
||||
DWORD corruptDLCCount = m_dwUnnamedCorruptDLCCount;
|
||||
DLCPack *pack = NULL;
|
||||
DLCPack *firstCorruptPack = NULL;
|
||||
|
||||
for(AUTO_VAR(it, m_packs.begin()); it != m_packs.end(); ++it)
|
||||
for( DLCPack *pack : m_packs )
|
||||
{
|
||||
pack = *it;
|
||||
if( pack->IsCorrupt() )
|
||||
{
|
||||
++corruptDLCCount;
|
||||
@@ -468,7 +451,7 @@ bool DLCManager::processDLCDataFile(DWORD &dwFilesProcessed, PBYTE pbData, DWORD
|
||||
{
|
||||
//DLCManager::EDLCParameterType paramType = DLCManager::e_DLCParamType_Invalid;
|
||||
|
||||
AUTO_VAR(it, parameterMapping.find( pParams->dwType ));
|
||||
auto it = parameterMapping.find(pParams->dwType);
|
||||
|
||||
if(it != parameterMapping.end() )
|
||||
{
|
||||
@@ -658,7 +641,7 @@ DWORD DLCManager::retrievePackID(PBYTE pbData, DWORD dwLength, DLCPack *pack)
|
||||
pParams = (C4JStorage::DLC_FILE_PARAM *)pbTemp;
|
||||
for(unsigned int j=0;j<uiParameterCount;j++)
|
||||
{
|
||||
AUTO_VAR(it, parameterMapping.find( pParams->dwType ));
|
||||
auto it = parameterMapping.find(pParams->dwType);
|
||||
|
||||
if(it != parameterMapping.end() )
|
||||
{
|
||||
|
||||
@@ -54,16 +54,18 @@ DLCPack::DLCPack(const wstring &name,const wstring &productID,DWORD dwLicenseMas
|
||||
|
||||
DLCPack::~DLCPack()
|
||||
{
|
||||
for(AUTO_VAR(it, m_childPacks.begin()); it != m_childPacks.end(); ++it)
|
||||
for( auto& it : m_childPacks )
|
||||
{
|
||||
delete *it;
|
||||
if ( it )
|
||||
delete it;
|
||||
}
|
||||
|
||||
for(unsigned int i = 0; i < DLCManager::e_DLCType_Max; ++i)
|
||||
{
|
||||
for(AUTO_VAR(it,m_files[i].begin()); it != m_files[i].end(); ++it)
|
||||
for (auto& it : m_files[i] )
|
||||
{
|
||||
delete *it;
|
||||
if ( it )
|
||||
delete it;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -161,7 +163,7 @@ void DLCPack::addParameter(DLCManager::EDLCParameterType type, const wstring &va
|
||||
|
||||
bool DLCPack::getParameterAsUInt(DLCManager::EDLCParameterType type, unsigned int ¶m)
|
||||
{
|
||||
AUTO_VAR(it,m_parameters.find((int)type));
|
||||
auto it = m_parameters.find((int)type);
|
||||
if(it != m_parameters.end())
|
||||
{
|
||||
switch(type)
|
||||
@@ -270,7 +272,7 @@ bool DLCPack::doesPackContainFile(DLCManager::EDLCType type, const wstring &path
|
||||
else
|
||||
{
|
||||
g_pathCmpString = &path;
|
||||
AUTO_VAR(it, find_if( m_files[type].begin(), m_files[type].end(), pathCmp ));
|
||||
auto it = find_if(m_files[type].begin(), m_files[type].end(), pathCmp);
|
||||
hasFile = it != m_files[type].end();
|
||||
if(!hasFile && m_parentPack )
|
||||
{
|
||||
@@ -316,7 +318,7 @@ DLCFile *DLCPack::getFile(DLCManager::EDLCType type, const wstring &path)
|
||||
else
|
||||
{
|
||||
g_pathCmpString = &path;
|
||||
AUTO_VAR(it, find_if( m_files[type].begin(), m_files[type].end(), pathCmp ));
|
||||
auto it = find_if(m_files[type].begin(), m_files[type].end(), pathCmp);
|
||||
|
||||
if(it == m_files[type].end())
|
||||
{
|
||||
@@ -368,9 +370,9 @@ DWORD DLCPack::getFileIndexAt(DLCManager::EDLCType type, const wstring &path, bo
|
||||
DWORD foundIndex = 0;
|
||||
found = false;
|
||||
DWORD index = 0;
|
||||
for(AUTO_VAR(it, m_files[type].begin()); it != m_files[type].end(); ++it)
|
||||
for( auto& it : m_files[type] )
|
||||
{
|
||||
if(path.compare((*it)->getPath()) == 0)
|
||||
if(path.compare(it->getPath()) == 0)
|
||||
{
|
||||
foundIndex = index;
|
||||
found = true;
|
||||
|
||||
@@ -14,10 +14,10 @@ void AddEnchantmentRuleDefinition::writeAttributes(DataOutputStream *dos, UINT n
|
||||
GameRuleDefinition::writeAttributes(dos, numAttributes + 2);
|
||||
|
||||
ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_enchantmentId);
|
||||
dos->writeUTF( _toString( m_enchantmentId ) );
|
||||
dos->writeUTF( std::to_wstring( m_enchantmentId ) );
|
||||
|
||||
ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_enchantmentLevel);
|
||||
dos->writeUTF( _toString( m_enchantmentLevel ) );
|
||||
dos->writeUTF( std::to_wstring( m_enchantmentLevel ) );
|
||||
}
|
||||
|
||||
void AddEnchantmentRuleDefinition::addAttribute(const wstring &attributeName, const wstring &attributeValue)
|
||||
@@ -50,7 +50,7 @@ bool AddEnchantmentRuleDefinition::enchantItem(shared_ptr<ItemInstance> item)
|
||||
{
|
||||
// 4J-JEV: Ripped code from enchantmenthelpers
|
||||
// Maybe we want to add an addEnchantment method to EnchantmentHelpers
|
||||
if (item->id == Item::enchantedBook_Id)
|
||||
if (item->id == Item::enchantedBook_Id)
|
||||
{
|
||||
Item::enchantedBook->addEnchantment( item, new EnchantmentInstance(m_enchantmentId, m_enchantmentLevel) );
|
||||
}
|
||||
|
||||
@@ -17,26 +17,26 @@ void AddItemRuleDefinition::writeAttributes(DataOutputStream *dos, UINT numAttrs
|
||||
GameRuleDefinition::writeAttributes(dos, numAttrs + 5);
|
||||
|
||||
ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_itemId);
|
||||
dos->writeUTF( _toString( m_itemId ) );
|
||||
dos->writeUTF( std::to_wstring( m_itemId ) );
|
||||
|
||||
ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_quantity);
|
||||
dos->writeUTF( _toString( m_quantity ) );
|
||||
dos->writeUTF( std::to_wstring( m_quantity ) );
|
||||
|
||||
ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_auxValue);
|
||||
dos->writeUTF( _toString( m_auxValue ) );
|
||||
dos->writeUTF( std::to_wstring( m_auxValue ) );
|
||||
|
||||
ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_dataTag);
|
||||
dos->writeUTF( _toString( m_dataTag ) );
|
||||
dos->writeUTF( std::to_wstring( m_dataTag ) );
|
||||
|
||||
ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_slot);
|
||||
dos->writeUTF( _toString( m_slot ) );
|
||||
dos->writeUTF( std::to_wstring( m_slot ) );
|
||||
}
|
||||
|
||||
void AddItemRuleDefinition::getChildren(vector<GameRuleDefinition *> *children)
|
||||
{
|
||||
GameRuleDefinition::getChildren( children );
|
||||
for (AUTO_VAR(it, m_enchantments.begin()); it != m_enchantments.end(); it++)
|
||||
children->push_back( *it );
|
||||
for ( const auto& it : m_enchantments )
|
||||
children->push_back( it );
|
||||
}
|
||||
|
||||
GameRuleDefinition *AddItemRuleDefinition::addChild(ConsoleGameRules::EGameRuleType ruleType)
|
||||
@@ -99,13 +99,13 @@ bool AddItemRuleDefinition::addItemToContainer(shared_ptr<Container> container,
|
||||
bool added = false;
|
||||
if(Item::items[m_itemId] != NULL)
|
||||
{
|
||||
int quantity = min(m_quantity, Item::items[m_itemId]->getMaxStackSize());
|
||||
int quantity = std::min<int>(m_quantity, Item::items[m_itemId]->getMaxStackSize());
|
||||
shared_ptr<ItemInstance> newItem = shared_ptr<ItemInstance>(new ItemInstance(m_itemId,quantity,m_auxValue) );
|
||||
newItem->set4JData(m_dataTag);
|
||||
|
||||
for(AUTO_VAR(it, m_enchantments.begin()); it != m_enchantments.end(); ++it)
|
||||
for( auto& it : m_enchantments )
|
||||
{
|
||||
(*it)->enchantItem(newItem);
|
||||
it->enchantItem(newItem);
|
||||
}
|
||||
|
||||
if(m_slot >= 0 && m_slot < container->getContainerSize() )
|
||||
|
||||
@@ -37,19 +37,19 @@ void ApplySchematicRuleDefinition::writeAttributes(DataOutputStream *dos, UINT n
|
||||
ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_filename);
|
||||
dos->writeUTF(m_schematicName);
|
||||
ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_x);
|
||||
dos->writeUTF(_toString(m_location->x));
|
||||
dos->writeUTF(std::to_wstring(m_location->x));
|
||||
ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_y);
|
||||
dos->writeUTF(_toString(m_location->y));
|
||||
dos->writeUTF(std::to_wstring(m_location->y));
|
||||
ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_z);
|
||||
dos->writeUTF(_toString(m_location->z));
|
||||
dos->writeUTF(std::to_wstring(m_location->z));
|
||||
ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_rot);
|
||||
|
||||
switch (m_rotation)
|
||||
{
|
||||
case ConsoleSchematicFile::eSchematicRot_0: dos->writeUTF(_toString( 0 )); break;
|
||||
case ConsoleSchematicFile::eSchematicRot_90: dos->writeUTF(_toString( 90 )); break;
|
||||
case ConsoleSchematicFile::eSchematicRot_180: dos->writeUTF(_toString( 180 )); break;
|
||||
case ConsoleSchematicFile::eSchematicRot_270: dos->writeUTF(_toString( 270 )); break;
|
||||
case ConsoleSchematicFile::eSchematicRot_0: dos->writeUTF(L"0"); break;
|
||||
case ConsoleSchematicFile::eSchematicRot_90: dos->writeUTF(L"90"); break;
|
||||
case ConsoleSchematicFile::eSchematicRot_180: dos->writeUTF(L"180"); break;
|
||||
case ConsoleSchematicFile::eSchematicRot_270: dos->writeUTF(L"270"); break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -113,7 +113,7 @@ void ApplySchematicRuleDefinition::addAttribute(const wstring &attributeName, co
|
||||
m_rotation = ConsoleSchematicFile::eSchematicRot_0;
|
||||
break;
|
||||
};
|
||||
|
||||
|
||||
//app.DebugPrintf("ApplySchematicRuleDefinition: Adding parameter rot=%d\n",m_rotation);
|
||||
}
|
||||
else if(attributeName.compare(L"dim") == 0)
|
||||
@@ -160,7 +160,7 @@ void ApplySchematicRuleDefinition::processSchematic(AABB *chunkBox, LevelChunk *
|
||||
{
|
||||
if( m_completed ) return;
|
||||
if(chunk->level->dimension->id != m_dimension) return;
|
||||
|
||||
|
||||
PIXBeginNamedEvent(0, "Processing ApplySchematicRuleDefinition");
|
||||
if(m_schematic == NULL) m_schematic = m_levelGenOptions->getSchematicFile(m_schematicName);
|
||||
|
||||
@@ -199,7 +199,7 @@ void ApplySchematicRuleDefinition::processSchematicLighting(AABB *chunkBox, Leve
|
||||
{
|
||||
if( m_completed ) return;
|
||||
if(chunk->level->dimension->id != m_dimension) return;
|
||||
|
||||
|
||||
PIXBeginNamedEvent(0, "Processing ApplySchematicRuleDefinition (lighting)");
|
||||
if(m_schematic == NULL) m_schematic = m_levelGenOptions->getSchematicFile(m_schematicName);
|
||||
|
||||
|
||||
@@ -14,11 +14,11 @@ void BiomeOverride::writeAttributes(DataOutputStream *dos, UINT numAttrs)
|
||||
GameRuleDefinition::writeAttributes(dos, numAttrs + 3);
|
||||
|
||||
ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_biomeId);
|
||||
dos->writeUTF(_toString(m_biomeId));
|
||||
dos->writeUTF(std::to_wstring(m_biomeId));
|
||||
ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_tileId);
|
||||
dos->writeUTF(_toString(m_tile));
|
||||
dos->writeUTF(std::to_wstring(m_tile));
|
||||
ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_topTileId);
|
||||
dos->writeUTF(_toString(m_topTile));
|
||||
dos->writeUTF(std::to_wstring(m_topTile));
|
||||
}
|
||||
|
||||
void BiomeOverride::addAttribute(const wstring &attributeName, const wstring &attributeValue)
|
||||
|
||||
@@ -22,13 +22,13 @@ void CollectItemRuleDefinition::writeAttributes(DataOutputStream *dos, UINT numA
|
||||
GameRuleDefinition::writeAttributes(dos, numAttributes + 3);
|
||||
|
||||
ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_itemId);
|
||||
dos->writeUTF( _toString( m_itemId ) );
|
||||
dos->writeUTF( std::to_wstring( m_itemId ) );
|
||||
|
||||
ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_auxValue);
|
||||
dos->writeUTF( _toString( m_auxValue ) );
|
||||
dos->writeUTF( std::to_wstring( m_auxValue ) );
|
||||
|
||||
ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_quantity);
|
||||
dos->writeUTF( _toString( m_quantity ) );
|
||||
dos->writeUTF( std::to_wstring( m_quantity ) );
|
||||
}
|
||||
|
||||
void CollectItemRuleDefinition::addAttribute(const wstring &attributeName, const wstring &attributeValue)
|
||||
@@ -108,9 +108,9 @@ wstring CollectItemRuleDefinition::generateXml(shared_ptr<ItemInstance> item)
|
||||
wstring xml = L"";
|
||||
if(item != NULL)
|
||||
{
|
||||
xml = L"<CollectItemRule itemId=\"" + _toString<int>(item->id) + L"\" quantity=\"SET\" descriptionName=\"OPTIONAL\" promptName=\"OPTIONAL\"";
|
||||
if(item->getAuxValue() != 0) xml += L" auxValue=\"" + _toString<int>(item->getAuxValue()) + L"\"";
|
||||
if(item->get4JData() != 0) xml += L" dataTag=\"" + _toString<int>(item->get4JData()) + L"\"";
|
||||
xml = L"<CollectItemRule itemId=\"" + std::to_wstring(item->id) + L"\" quantity=\"SET\" descriptionName=\"OPTIONAL\" promptName=\"OPTIONAL\"";
|
||||
if(item->getAuxValue() != 0) xml += L" auxValue=\"" + std::to_wstring(item->getAuxValue()) + L"\"";
|
||||
if(item->get4JData() != 0) xml += L" dataTag=\"" + std::to_wstring(item->get4JData()) + L"\"";
|
||||
xml += L"/>\n";
|
||||
}
|
||||
return xml;
|
||||
|
||||
@@ -28,12 +28,12 @@ void CompleteAllRuleDefinition::updateStatus(GameRule *rule)
|
||||
{
|
||||
int goal = 0;
|
||||
int progress = 0;
|
||||
for(AUTO_VAR(it, rule->m_parameters.begin()); it != rule->m_parameters.end(); ++it)
|
||||
for (auto& it : rule->m_parameters )
|
||||
{
|
||||
if(it->second.isPointer)
|
||||
if(it.second.isPointer)
|
||||
{
|
||||
goal += it->second.gr->getGameRuleDefinition()->getGoal();
|
||||
progress += it->second.gr->getGameRuleDefinition()->getProgress(it->second.gr);
|
||||
goal += it.second.gr->getGameRuleDefinition()->getGoal();
|
||||
progress += it.second.gr->getGameRuleDefinition()->getProgress(it.second.gr);
|
||||
}
|
||||
}
|
||||
if(rule->getConnection() != NULL)
|
||||
@@ -44,9 +44,9 @@ void CompleteAllRuleDefinition::updateStatus(GameRule *rule)
|
||||
|
||||
int icon = -1;
|
||||
int auxValue = 0;
|
||||
|
||||
|
||||
if(m_lastRuleStatusChanged != NULL)
|
||||
{
|
||||
{
|
||||
icon = m_lastRuleStatusChanged->getIcon();
|
||||
auxValue = m_lastRuleStatusChanged->getAuxValue();
|
||||
m_lastRuleStatusChanged = NULL;
|
||||
@@ -60,7 +60,7 @@ wstring CompleteAllRuleDefinition::generateDescriptionString(const wstring &desc
|
||||
{
|
||||
PacketData *values = (PacketData *)data;
|
||||
wstring newDesc = description;
|
||||
newDesc = replaceAll(newDesc,L"{*progress*}",_toString<int>(values->progress));
|
||||
newDesc = replaceAll(newDesc,L"{*goal*}",_toString<int>(values->goal));
|
||||
newDesc = replaceAll(newDesc,L"{*progress*}",std::to_wstring(values->progress));
|
||||
newDesc = replaceAll(newDesc,L"{*goal*}",std::to_wstring(values->goal));
|
||||
return newDesc;
|
||||
}
|
||||
@@ -11,17 +11,17 @@ CompoundGameRuleDefinition::CompoundGameRuleDefinition()
|
||||
|
||||
CompoundGameRuleDefinition::~CompoundGameRuleDefinition()
|
||||
{
|
||||
for(AUTO_VAR(it, m_children.begin()); it != m_children.end(); ++it)
|
||||
for (auto it : m_children )
|
||||
{
|
||||
delete (*it);
|
||||
delete it;
|
||||
}
|
||||
}
|
||||
|
||||
void CompoundGameRuleDefinition::getChildren(vector<GameRuleDefinition *> *children)
|
||||
{
|
||||
GameRuleDefinition::getChildren(children);
|
||||
for (AUTO_VAR(it, m_children.begin()); it != m_children.end(); it++)
|
||||
children->push_back(*it);
|
||||
for (auto& it : m_children )
|
||||
children->push_back(it);
|
||||
}
|
||||
|
||||
GameRuleDefinition *CompoundGameRuleDefinition::addChild(ConsoleGameRules::EGameRuleType ruleType)
|
||||
@@ -40,7 +40,7 @@ GameRuleDefinition *CompoundGameRuleDefinition::addChild(ConsoleGameRules::EGame
|
||||
rule = new UseTileRuleDefinition();
|
||||
}
|
||||
else if(ruleType == ConsoleGameRules::eGameRuleType_UpdatePlayerRule)
|
||||
{
|
||||
{
|
||||
rule = new UpdatePlayerRuleDefinition();
|
||||
}
|
||||
else
|
||||
@@ -57,17 +57,17 @@ void CompoundGameRuleDefinition::populateGameRule(GameRulesInstance::EGameRulesI
|
||||
{
|
||||
GameRule *newRule = NULL;
|
||||
int i = 0;
|
||||
for(AUTO_VAR(it, m_children.begin()); it != m_children.end(); ++it)
|
||||
for (auto& it : m_children )
|
||||
{
|
||||
newRule = new GameRule(*it, rule->getConnection() );
|
||||
(*it)->populateGameRule(type,newRule);
|
||||
newRule = new GameRule(it, rule->getConnection() );
|
||||
it->populateGameRule(type,newRule);
|
||||
|
||||
GameRule::ValueType value;
|
||||
value.gr = newRule;
|
||||
value.isPointer = true;
|
||||
|
||||
// Somehow add the newRule to the current rule
|
||||
rule->setParameter(L"rule" + _toString<int>(i),value);
|
||||
rule->setParameter(L"rule" + std::to_wstring(i),value);
|
||||
++i;
|
||||
}
|
||||
GameRuleDefinition::populateGameRule(type, rule);
|
||||
@@ -76,14 +76,14 @@ void CompoundGameRuleDefinition::populateGameRule(GameRulesInstance::EGameRulesI
|
||||
bool CompoundGameRuleDefinition::onUseTile(GameRule *rule, int tileId, int x, int y, int z)
|
||||
{
|
||||
bool statusChanged = false;
|
||||
for(AUTO_VAR(it, rule->m_parameters.begin()); it != rule->m_parameters.end(); ++it)
|
||||
for (auto& it : rule->m_parameters )
|
||||
{
|
||||
if(it->second.isPointer)
|
||||
if(it.second.isPointer)
|
||||
{
|
||||
bool changed = it->second.gr->getGameRuleDefinition()->onUseTile(it->second.gr,tileId,x,y,z);
|
||||
bool changed = it.second.gr->getGameRuleDefinition()->onUseTile(it.second.gr,tileId,x,y,z);
|
||||
if(!statusChanged && changed)
|
||||
{
|
||||
m_lastRuleStatusChanged = it->second.gr->getGameRuleDefinition();
|
||||
m_lastRuleStatusChanged = it.second.gr->getGameRuleDefinition();
|
||||
statusChanged = true;
|
||||
}
|
||||
}
|
||||
@@ -94,14 +94,14 @@ bool CompoundGameRuleDefinition::onUseTile(GameRule *rule, int tileId, int x, in
|
||||
bool CompoundGameRuleDefinition::onCollectItem(GameRule *rule, shared_ptr<ItemInstance> item)
|
||||
{
|
||||
bool statusChanged = false;
|
||||
for(AUTO_VAR(it, rule->m_parameters.begin()); it != rule->m_parameters.end(); ++it)
|
||||
for (auto& it : rule->m_parameters )
|
||||
{
|
||||
if(it->second.isPointer)
|
||||
if(it.second.isPointer)
|
||||
{
|
||||
bool changed = it->second.gr->getGameRuleDefinition()->onCollectItem(it->second.gr,item);
|
||||
bool changed = it.second.gr->getGameRuleDefinition()->onCollectItem(it.second.gr,item);
|
||||
if(!statusChanged && changed)
|
||||
{
|
||||
m_lastRuleStatusChanged = it->second.gr->getGameRuleDefinition();
|
||||
{
|
||||
m_lastRuleStatusChanged = it.second.gr->getGameRuleDefinition();
|
||||
statusChanged = true;
|
||||
}
|
||||
}
|
||||
@@ -111,8 +111,8 @@ bool CompoundGameRuleDefinition::onCollectItem(GameRule *rule, shared_ptr<ItemIn
|
||||
|
||||
void CompoundGameRuleDefinition::postProcessPlayer(shared_ptr<Player> player)
|
||||
{
|
||||
for(AUTO_VAR(it, m_children.begin()); it != m_children.end(); ++it)
|
||||
for (auto it : m_children )
|
||||
{
|
||||
(*it)->postProcessPlayer(player);
|
||||
it->postProcessPlayer(player);
|
||||
}
|
||||
}
|
||||
@@ -17,10 +17,10 @@ ConsoleGenerateStructure::ConsoleGenerateStructure() : StructurePiece(0)
|
||||
|
||||
void ConsoleGenerateStructure::getChildren(vector<GameRuleDefinition *> *children)
|
||||
{
|
||||
GameRuleDefinition::getChildren(children);
|
||||
|
||||
for(AUTO_VAR(it, m_actions.begin()); it != m_actions.end(); it++)
|
||||
children->push_back( *it );
|
||||
GameRuleDefinition::getChildren(children);
|
||||
|
||||
for ( auto& action : m_actions )
|
||||
children->push_back( action );
|
||||
}
|
||||
|
||||
GameRuleDefinition *ConsoleGenerateStructure::addChild(ConsoleGameRules::EGameRuleType ruleType)
|
||||
@@ -60,16 +60,16 @@ void ConsoleGenerateStructure::writeAttributes(DataOutputStream *dos, UINT numAt
|
||||
GameRuleDefinition::writeAttributes(dos, numAttrs + 5);
|
||||
|
||||
ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_x);
|
||||
dos->writeUTF(_toString(m_x));
|
||||
dos->writeUTF(std::to_wstring(m_x));
|
||||
ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_y);
|
||||
dos->writeUTF(_toString(m_y));
|
||||
dos->writeUTF(std::to_wstring(m_y));
|
||||
ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_z);
|
||||
dos->writeUTF(_toString(m_z));
|
||||
dos->writeUTF(std::to_wstring(m_z));
|
||||
|
||||
ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_orientation);
|
||||
dos->writeUTF(_toString(orientation));
|
||||
dos->writeUTF(std::to_wstring(orientation));
|
||||
ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_dimension);
|
||||
dos->writeUTF(_toString(m_dimension));
|
||||
dos->writeUTF(std::to_wstring(m_dimension));
|
||||
}
|
||||
|
||||
void ConsoleGenerateStructure::addAttribute(const wstring &attributeName, const wstring &attributeValue)
|
||||
@@ -117,27 +117,24 @@ BoundingBox* ConsoleGenerateStructure::getBoundingBox()
|
||||
// Find the max bounds
|
||||
int maxX, maxY, maxZ;
|
||||
maxX = maxY = maxZ = 1;
|
||||
for(AUTO_VAR(it, m_actions.begin()); it != m_actions.end(); ++it)
|
||||
for( ConsoleGenerateStructureAction *action : m_actions )
|
||||
{
|
||||
ConsoleGenerateStructureAction *action = *it;
|
||||
maxX = max(maxX,action->getEndX());
|
||||
maxY = max(maxY,action->getEndY());
|
||||
maxZ = max(maxZ,action->getEndZ());
|
||||
maxX = std::max<int>(maxX,action->getEndX());
|
||||
maxY = std::max<int>(maxY,action->getEndY());
|
||||
maxZ = std::max<int>(maxZ,action->getEndZ());
|
||||
}
|
||||
|
||||
|
||||
boundingBox = new BoundingBox(m_x, m_y, m_z, m_x + maxX, m_y + maxY, m_z + maxZ);
|
||||
}
|
||||
return boundingBox;
|
||||
}
|
||||
|
||||
bool ConsoleGenerateStructure::postProcess(Level *level, Random *random, BoundingBox *chunkBB)
|
||||
{
|
||||
{
|
||||
if(level->dimension->id != m_dimension) return false;
|
||||
|
||||
for(AUTO_VAR(it, m_actions.begin()); it != m_actions.end(); ++it)
|
||||
for( ConsoleGenerateStructureAction *action : m_actions )
|
||||
{
|
||||
ConsoleGenerateStructureAction *action = *it;
|
||||
|
||||
switch(action->getActionType())
|
||||
{
|
||||
case ConsoleGameRules::eGameRuleType_GenerateBox:
|
||||
|
||||
@@ -167,18 +167,18 @@ void ConsoleSchematicFile::save_tags(DataOutputStream *dos)
|
||||
ListTag<CompoundTag> *tileEntityTags = new ListTag<CompoundTag>();
|
||||
tag->put(L"TileEntities", tileEntityTags);
|
||||
|
||||
for (AUTO_VAR(it, m_tileEntities.begin()); it != m_tileEntities.end(); it++)
|
||||
for ( auto& it : m_tileEntities )
|
||||
{
|
||||
CompoundTag *cTag = new CompoundTag();
|
||||
(*it)->save(cTag);
|
||||
it->save(cTag);
|
||||
tileEntityTags->add(cTag);
|
||||
}
|
||||
|
||||
ListTag<CompoundTag> *entityTags = new ListTag<CompoundTag>();
|
||||
tag->put(L"Entities", entityTags);
|
||||
|
||||
for (AUTO_VAR(it, m_entities.begin()); it != m_entities.end(); it++)
|
||||
entityTags->add( (CompoundTag *)(*it).second->copy() );
|
||||
for (auto& it : m_entities )
|
||||
entityTags->add( (CompoundTag *)(it).second->copy() );
|
||||
|
||||
NbtIo::write(tag,dos);
|
||||
delete tag;
|
||||
@@ -186,15 +186,15 @@ void ConsoleSchematicFile::save_tags(DataOutputStream *dos)
|
||||
|
||||
__int64 ConsoleSchematicFile::applyBlocksAndData(LevelChunk *chunk, AABB *chunkBox, AABB *destinationBox, ESchematicRotation rot)
|
||||
{
|
||||
int xStart = max(destinationBox->x0, (double)chunk->x*16);
|
||||
int xEnd = min(destinationBox->x1, (double)((xStart>>4)<<4) + 16);
|
||||
int xStart = static_cast<int>(std::fmax<double>(destinationBox->x0, (double)chunk->x*16));
|
||||
int xEnd = static_cast<int>(std::fmin<double>(destinationBox->x1, (double)((xStart >> 4) << 4) + 16));
|
||||
|
||||
int yStart = destinationBox->y0;
|
||||
int yEnd = destinationBox->y1;
|
||||
if(yEnd > Level::maxBuildHeight) yEnd = Level::maxBuildHeight;
|
||||
|
||||
int zStart = max(destinationBox->z0, (double)chunk->z*16);
|
||||
int zEnd = min(destinationBox->z1, (double)((zStart>>4)<<4) + 16);
|
||||
int zStart = static_cast<int>(std::fmax<double>(destinationBox->z0, (double)chunk->z * 16));
|
||||
int zEnd = static_cast<int>(std::fmin<double>(destinationBox->z1, (double)((zStart >> 4) << 4) + 16));
|
||||
|
||||
#ifdef _DEBUG
|
||||
app.DebugPrintf("Range is (%d,%d,%d) to (%d,%d,%d)\n",xStart,yStart,zStart,xEnd-1,yEnd-1,zEnd-1);
|
||||
@@ -431,10 +431,8 @@ void ConsoleSchematicFile::schematicCoordToChunkCoord(AABB *destinationBox, doub
|
||||
|
||||
void ConsoleSchematicFile::applyTileEntities(LevelChunk *chunk, AABB *chunkBox, AABB *destinationBox, ESchematicRotation rot)
|
||||
{
|
||||
for(AUTO_VAR(it, m_tileEntities.begin()); it != m_tileEntities.end();++it)
|
||||
for (auto& te : m_tileEntities )
|
||||
{
|
||||
shared_ptr<TileEntity> te = *it;
|
||||
|
||||
double targetX = te->x;
|
||||
double targetY = te->y + destinationBox->y0;
|
||||
double targetZ = te->z;
|
||||
@@ -477,7 +475,7 @@ void ConsoleSchematicFile::applyTileEntities(LevelChunk *chunk, AABB *chunkBox,
|
||||
teCopy->setChanged();
|
||||
}
|
||||
}
|
||||
for(AUTO_VAR(it, m_entities.begin()); it != m_entities.end();)
|
||||
for (auto it = m_entities.begin(); it != m_entities.end();)
|
||||
{
|
||||
Vec3 *source = it->first;
|
||||
|
||||
@@ -679,9 +677,8 @@ void ConsoleSchematicFile::generateSchematicFile(DataOutputStream *dos, Level *l
|
||||
for (int zc = zc0; zc <= zc1; zc++)
|
||||
{
|
||||
vector<shared_ptr<TileEntity> > *tileEntities = getTileEntitiesInRegion(level->getChunk(xc, zc), xStart, yStart, zStart, xStart + xSize, yStart + ySize, zStart + zSize);
|
||||
for(AUTO_VAR(it, tileEntities->begin()); it != tileEntities->end(); ++it)
|
||||
for( auto& te : *tileEntities )
|
||||
{
|
||||
shared_ptr<TileEntity> te = *it;
|
||||
CompoundTag *teTag = new CompoundTag();
|
||||
shared_ptr<TileEntity> teCopy = te->clone();
|
||||
|
||||
@@ -701,10 +698,8 @@ void ConsoleSchematicFile::generateSchematicFile(DataOutputStream *dos, Level *l
|
||||
vector<shared_ptr<Entity> > *entities = level->getEntities(nullptr, bb);
|
||||
ListTag<CompoundTag> *entitiesTag = new ListTag<CompoundTag>(L"entities");
|
||||
|
||||
for(AUTO_VAR(it, entities->begin()); it != entities->end(); ++it)
|
||||
for (auto& e : *entities )
|
||||
{
|
||||
shared_ptr<Entity> e = *it;
|
||||
|
||||
bool mobCanBeSaved = false;
|
||||
if (bSaveMobs)
|
||||
{
|
||||
@@ -1012,12 +1007,15 @@ void ConsoleSchematicFile::setBlocksAndData(LevelChunk *chunk, byteArray blockDa
|
||||
vector<shared_ptr<TileEntity> > *ConsoleSchematicFile::getTileEntitiesInRegion(LevelChunk *chunk, int x0, int y0, int z0, int x1, int y1, int z1)
|
||||
{
|
||||
vector<shared_ptr<TileEntity> > *result = new vector<shared_ptr<TileEntity> >;
|
||||
for (AUTO_VAR(it, chunk->tileEntities.begin()); it != chunk->tileEntities.end(); ++it)
|
||||
if ( result )
|
||||
{
|
||||
shared_ptr<TileEntity> te = it->second;
|
||||
if (te->x >= x0 && te->y >= y0 && te->z >= z0 && te->x < x1 && te->y < y1 && te->z < z1)
|
||||
for ( auto& it : chunk->tileEntities )
|
||||
{
|
||||
result->push_back(te);
|
||||
shared_ptr<TileEntity> te = it.second;
|
||||
if (te->x >= x0 && te->y >= y0 && te->z >= z0 && te->x < x1 && te->y < y1 && te->z < z1)
|
||||
{
|
||||
result->push_back(te);
|
||||
}
|
||||
}
|
||||
}
|
||||
return result;
|
||||
|
||||
@@ -9,11 +9,11 @@ GameRule::GameRule(GameRuleDefinition *definition, Connection *connection)
|
||||
|
||||
GameRule::~GameRule()
|
||||
{
|
||||
for(AUTO_VAR(it, m_parameters.begin()); it != m_parameters.end(); ++it)
|
||||
for(auto& it : m_parameters )
|
||||
{
|
||||
if(it->second.isPointer)
|
||||
if(it.second.isPointer)
|
||||
{
|
||||
delete it->second.gr;
|
||||
delete it.second.gr;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -59,12 +59,12 @@ void GameRule::write(DataOutputStream *dos)
|
||||
{
|
||||
// Find required parameters.
|
||||
dos->writeInt(m_parameters.size());
|
||||
for (AUTO_VAR(it, m_parameters.begin()); it != m_parameters.end(); it++)
|
||||
for ( const auto& parameter : m_parameters )
|
||||
{
|
||||
wstring pName = (*it).first;
|
||||
ValueType vType = (*it).second;
|
||||
|
||||
dos->writeUTF( (*it).first );
|
||||
wstring pName = parameter.first;
|
||||
ValueType vType = parameter.second;
|
||||
|
||||
dos->writeUTF( parameter.first );
|
||||
dos->writeBoolean( vType.isPointer );
|
||||
|
||||
if (vType.isPointer)
|
||||
@@ -80,7 +80,7 @@ void GameRule::read(DataInputStream *dis)
|
||||
for (int i = 0; i < savedParams; i++)
|
||||
{
|
||||
wstring pNames = dis->readUTF();
|
||||
|
||||
|
||||
ValueType vType = getParameter(pNames);
|
||||
|
||||
if (dis->readBoolean())
|
||||
|
||||
@@ -18,15 +18,15 @@ void GameRuleDefinition::write(DataOutputStream *dos)
|
||||
ConsoleGameRules::write(dos, eType); // stringID
|
||||
|
||||
writeAttributes(dos, 0);
|
||||
|
||||
|
||||
// 4J-JEV: Get children.
|
||||
vector<GameRuleDefinition *> *children = new vector<GameRuleDefinition *>();
|
||||
getChildren( children );
|
||||
|
||||
// Write children.
|
||||
dos->writeInt( children->size() );
|
||||
for (AUTO_VAR(it, children->begin()); it != children->end(); it++)
|
||||
(*it)->write(dos);
|
||||
for ( auto& it : *children )
|
||||
it->write(dos);
|
||||
}
|
||||
|
||||
void GameRuleDefinition::writeAttributes(DataOutputStream *dos, UINT numAttributes)
|
||||
@@ -40,7 +40,7 @@ void GameRuleDefinition::writeAttributes(DataOutputStream *dos, UINT numAttribut
|
||||
dos->writeUTF(m_promptId);
|
||||
|
||||
ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_dataTag);
|
||||
dos->writeUTF(_toString(m_4JDataValue));
|
||||
dos->writeUTF(std::to_wstring(m_4JDataValue));
|
||||
}
|
||||
|
||||
void GameRuleDefinition::getChildren(vector<GameRuleDefinition *> *children) {}
|
||||
@@ -116,13 +116,13 @@ vector<GameRuleDefinition *> *GameRuleDefinition::enumerate()
|
||||
|
||||
unordered_map<GameRuleDefinition *, int> *GameRuleDefinition::enumerateMap()
|
||||
{
|
||||
unordered_map<GameRuleDefinition *, int> *out
|
||||
unordered_map<GameRuleDefinition *, int> *out
|
||||
= new unordered_map<GameRuleDefinition *, int>();
|
||||
|
||||
int i = 0;
|
||||
vector<GameRuleDefinition *> *gRules = enumerate();
|
||||
for (AUTO_VAR(it, gRules->begin()); it != gRules->end(); it++)
|
||||
out->insert( pair<GameRuleDefinition *, int>( *it, i++ ) );
|
||||
for ( auto& it : *gRules )
|
||||
out->emplace(it, i++);
|
||||
|
||||
return out;
|
||||
}
|
||||
|
||||
@@ -77,7 +77,7 @@ WCHAR *GameRuleManager::wchAttrNameA[] =
|
||||
L"spawnY", // eGameRuleAttr_spawnY
|
||||
L"spawnZ", // eGameRuleAttr_spawnZ
|
||||
L"orientation",
|
||||
L"dimension",
|
||||
L"dimension",
|
||||
L"topTileId", // eGameRuleAttr_topTileId
|
||||
L"biomeId", // eGameRuleAttr_biomeId
|
||||
L"feature", // eGameRuleAttr_feature
|
||||
@@ -127,7 +127,7 @@ void GameRuleManager::loadGameRules(DLCPack *pack)
|
||||
|
||||
LevelGenerationOptions *createdLevelGenerationOptions = new LevelGenerationOptions(pack);
|
||||
// = loadGameRules(dData, dSize); //, strings);
|
||||
|
||||
|
||||
createdLevelGenerationOptions->setGrSource( new JustGrSource() );
|
||||
createdLevelGenerationOptions->setSrc( LevelGenerationOptions::eSrc_tutorial );
|
||||
|
||||
@@ -164,7 +164,7 @@ void GameRuleManager::loadGameRules(LevelGenerationOptions *lgo, byte *dIn, UINT
|
||||
app.DebugPrintf("\tversion=%d.\n", version);
|
||||
|
||||
for (int i = 0; i < 8; i++) dis.readByte();
|
||||
|
||||
|
||||
BYTE compression_type = dis.readByte();
|
||||
|
||||
app.DebugPrintf("\tcompressionType=%d.\n", compression_type);
|
||||
@@ -174,11 +174,11 @@ void GameRuleManager::loadGameRules(LevelGenerationOptions *lgo, byte *dIn, UINT
|
||||
decomp_len = dis.readInt();
|
||||
|
||||
app.DebugPrintf("\tcompr_len=%d.\n\tdecomp_len=%d.\n", compr_len, decomp_len);
|
||||
|
||||
|
||||
|
||||
// Decompress File Body
|
||||
|
||||
byteArray content(new BYTE[decomp_len], decomp_len),
|
||||
byteArray content(new BYTE[decomp_len], decomp_len),
|
||||
compr_content(new BYTE[compr_len], compr_len);
|
||||
dis.read(compr_content);
|
||||
|
||||
@@ -251,7 +251,7 @@ void GameRuleManager::saveGameRules(byte **dOut, UINT *dSize)
|
||||
// Initialise output stream.
|
||||
ByteArrayOutputStream baos;
|
||||
DataOutputStream dos(&baos);
|
||||
|
||||
|
||||
// Write header.
|
||||
|
||||
// VERSION NUMBER
|
||||
@@ -279,7 +279,7 @@ void GameRuleManager::saveGameRules(byte **dOut, UINT *dSize)
|
||||
compr_dos.writeInt( 0 ); // XmlObjects.length
|
||||
}
|
||||
else
|
||||
{
|
||||
{
|
||||
StringTable *st = m_currentGameRuleDefinitions->getStringTable();
|
||||
|
||||
if (st == NULL)
|
||||
@@ -311,9 +311,9 @@ void GameRuleManager::saveGameRules(byte **dOut, UINT *dSize)
|
||||
dos.writeInt( compr_ba.length ); // Write length
|
||||
dos.writeInt( compr_baos.buf.length );
|
||||
dos.write(compr_ba);
|
||||
|
||||
|
||||
delete [] compr_ba.data;
|
||||
|
||||
|
||||
compr_dos.close();
|
||||
compr_baos.close();
|
||||
// -- END COMPRESSED -- //
|
||||
@@ -323,7 +323,7 @@ void GameRuleManager::saveGameRules(byte **dOut, UINT *dSize)
|
||||
*dOut = baos.buf.data;
|
||||
|
||||
baos.buf.data = NULL;
|
||||
|
||||
|
||||
dos.close(); baos.close();
|
||||
}
|
||||
|
||||
@@ -344,11 +344,10 @@ void GameRuleManager::writeRuleFile(DataOutputStream *dos)
|
||||
// Write schematic files.
|
||||
unordered_map<wstring, ConsoleSchematicFile *> *files;
|
||||
files = getLevelGenerationOptions()->getUnfinishedSchematicFiles();
|
||||
dos->writeInt( files->size() );
|
||||
for (AUTO_VAR(it, files->begin()); it != files->end(); it++)
|
||||
for ( auto& it : *files )
|
||||
{
|
||||
wstring filename = it->first;
|
||||
ConsoleSchematicFile *file = it->second;
|
||||
const wstring& filename = it.first;
|
||||
ConsoleSchematicFile *file = it.second;
|
||||
|
||||
ByteArrayOutputStream fileBaos;
|
||||
DataOutputStream fileDos(&fileBaos);
|
||||
@@ -378,7 +377,7 @@ bool GameRuleManager::readRuleFile(LevelGenerationOptions *lgo, byte *dIn, UINT
|
||||
//DWORD dwLen = 0;
|
||||
//PBYTE pbData = dlcFile->getData(dwLen);
|
||||
//byteArray data(pbData,dwLen);
|
||||
|
||||
|
||||
byteArray data(dIn, dSize);
|
||||
ByteArrayInputStream bais(data);
|
||||
DataInputStream dis(&bais);
|
||||
@@ -497,7 +496,7 @@ bool GameRuleManager::readRuleFile(LevelGenerationOptions *lgo, byte *dIn, UINT
|
||||
}
|
||||
}*/
|
||||
|
||||
// subfile
|
||||
// subfile
|
||||
UINT numFiles = contentDis->readInt();
|
||||
for (UINT i = 0; i < numFiles; i++)
|
||||
{
|
||||
@@ -519,7 +518,7 @@ bool GameRuleManager::readRuleFile(LevelGenerationOptions *lgo, byte *dIn, UINT
|
||||
{
|
||||
int tagId = contentDis->readInt();
|
||||
ConsoleGameRules::EGameRuleType tagVal = ConsoleGameRules::eGameRuleType_Invalid;
|
||||
AUTO_VAR(it,tagIdMap.find(tagId));
|
||||
auto it = tagIdMap.find(tagId);
|
||||
if(it != tagIdMap.end()) tagVal = it->second;
|
||||
|
||||
GameRuleDefinition *rule = NULL;
|
||||
@@ -565,10 +564,10 @@ bool GameRuleManager::readRuleFile(LevelGenerationOptions *lgo, byte *dIn, UINT
|
||||
|
||||
LevelGenerationOptions *GameRuleManager::readHeader(DLCGameRulesHeader *grh)
|
||||
{
|
||||
LevelGenerationOptions *out =
|
||||
LevelGenerationOptions *out =
|
||||
new LevelGenerationOptions();
|
||||
|
||||
|
||||
|
||||
out->setSrc(LevelGenerationOptions::eSrc_fromDLC);
|
||||
out->setGrSource(grh);
|
||||
addLevelGenerationOptions(out);
|
||||
@@ -595,7 +594,7 @@ void GameRuleManager::readChildren(DataInputStream *dis, vector<wstring> *tagsAn
|
||||
{
|
||||
int tagId = dis->readInt();
|
||||
ConsoleGameRules::EGameRuleType tagVal = ConsoleGameRules::eGameRuleType_Invalid;
|
||||
AUTO_VAR(it,tagIdMap->find(tagId));
|
||||
auto it = tagIdMap->find(tagId);
|
||||
if(it != tagIdMap->end()) tagVal = it->second;
|
||||
|
||||
GameRuleDefinition *childRule = NULL;
|
||||
@@ -640,18 +639,6 @@ void GameRuleManager::loadDefaultGameRules()
|
||||
m_levelGenerators.getLevelGenerators()->at(0)->setDefaultSaveName(app.GetString(IDS_TUTORIALSAVENAME));
|
||||
}
|
||||
|
||||
#ifndef _CONTENT_PACKAGE
|
||||
// 4J Stu - Remove these just now
|
||||
//File testRulesPath(L"GAME:\\GameRules");
|
||||
//vector<File *> *packFiles = testRulesPath.listFiles();
|
||||
|
||||
//for(AUTO_VAR(it,packFiles->begin()); it != packFiles->end(); ++it)
|
||||
//{
|
||||
// loadGameRulesPack(*it);
|
||||
//}
|
||||
//delete packFiles;
|
||||
#endif
|
||||
|
||||
#else // _XBOX
|
||||
|
||||
#ifdef _WINDOWS64
|
||||
@@ -741,7 +728,7 @@ LPCWSTR GameRuleManager::GetGameRulesString(const wstring &key)
|
||||
LEVEL_GEN_ID GameRuleManager::addLevelGenerationOptions(LevelGenerationOptions *lgo)
|
||||
{
|
||||
vector<LevelGenerationOptions *> *lgs = m_levelGenerators.getLevelGenerators();
|
||||
|
||||
|
||||
for (int i = 0; i<lgs->size(); i++)
|
||||
if (lgs->at(i) == lgo)
|
||||
return i;
|
||||
@@ -761,7 +748,7 @@ void GameRuleManager::unloadCurrentGameRules()
|
||||
if (m_currentLevelGenerationOptions->isFromSave())
|
||||
{
|
||||
m_levelGenerators.removeLevelGenerator( m_currentLevelGenerationOptions );
|
||||
|
||||
|
||||
delete m_currentLevelGenerationOptions;
|
||||
}
|
||||
else if (m_currentLevelGenerationOptions->isFromDLC())
|
||||
|
||||
@@ -59,7 +59,7 @@ LevelGenerationOptions::LevelGenerationOptions(DLCPack *parentPack)
|
||||
m_pbBaseSaveData = NULL;
|
||||
m_dwBaseSaveSize = 0;
|
||||
|
||||
m_parentDLCPack = parentPack;
|
||||
m_parentDLCPack = parentPack;
|
||||
m_bLoadingData = false;
|
||||
}
|
||||
|
||||
@@ -67,23 +67,24 @@ LevelGenerationOptions::~LevelGenerationOptions()
|
||||
{
|
||||
clearSchematics();
|
||||
if(m_spawnPos != NULL) delete m_spawnPos;
|
||||
for(AUTO_VAR(it, m_schematicRules.begin()); it != m_schematicRules.end(); ++it)
|
||||
for (auto& it : m_schematicRules )
|
||||
{
|
||||
delete *it;
|
||||
}
|
||||
for(AUTO_VAR(it, m_structureRules.begin()); it != m_structureRules.end(); ++it)
|
||||
{
|
||||
delete *it;
|
||||
delete it;
|
||||
}
|
||||
|
||||
for(AUTO_VAR(it, m_biomeOverrides.begin()); it != m_biomeOverrides.end(); ++it)
|
||||
for (auto& it : m_structureRules )
|
||||
{
|
||||
delete *it;
|
||||
delete it;
|
||||
}
|
||||
|
||||
for(AUTO_VAR(it, m_features.begin()); it != m_features.end(); ++it)
|
||||
for (auto& it : m_biomeOverrides )
|
||||
{
|
||||
delete *it;
|
||||
delete it;
|
||||
}
|
||||
|
||||
for (auto& it : m_features )
|
||||
{
|
||||
delete it;
|
||||
}
|
||||
|
||||
if (m_stringTable)
|
||||
@@ -100,16 +101,16 @@ void LevelGenerationOptions::writeAttributes(DataOutputStream *dos, UINT numAttr
|
||||
GameRuleDefinition::writeAttributes(dos, numAttrs + 5);
|
||||
|
||||
ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_spawnX);
|
||||
dos->writeUTF(_toString(m_spawnPos->x));
|
||||
dos->writeUTF(std::to_wstring(m_spawnPos->x));
|
||||
ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_spawnY);
|
||||
dos->writeUTF(_toString(m_spawnPos->y));
|
||||
dos->writeUTF(std::to_wstring(m_spawnPos->y));
|
||||
ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_spawnZ);
|
||||
dos->writeUTF(_toString(m_spawnPos->z));
|
||||
dos->writeUTF(std::to_wstring(m_spawnPos->z));
|
||||
|
||||
ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_seed);
|
||||
dos->writeUTF(_toString(m_seed));
|
||||
dos->writeUTF(std::to_wstring(m_seed));
|
||||
ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_flatworld);
|
||||
dos->writeUTF(_toString(m_useFlatWorld));
|
||||
dos->writeUTF(std::to_wstring(m_useFlatWorld));
|
||||
}
|
||||
|
||||
void LevelGenerationOptions::getChildren(vector<GameRuleDefinition *> *children)
|
||||
@@ -117,18 +118,25 @@ void LevelGenerationOptions::getChildren(vector<GameRuleDefinition *> *children)
|
||||
GameRuleDefinition::getChildren(children);
|
||||
|
||||
vector<ApplySchematicRuleDefinition *> used_schematics;
|
||||
for (AUTO_VAR(it, m_schematicRules.begin()); it != m_schematicRules.end(); it++)
|
||||
if ( !(*it)->isComplete() )
|
||||
used_schematics.push_back( *it );
|
||||
for (auto& it : m_schematicRules )
|
||||
if ( it && !it->isComplete() )
|
||||
used_schematics.push_back( it );
|
||||
|
||||
for(AUTO_VAR(it, m_structureRules.begin()); it!=m_structureRules.end(); it++)
|
||||
children->push_back( *it );
|
||||
for(AUTO_VAR(it, used_schematics.begin()); it!=used_schematics.end(); it++)
|
||||
children->push_back( *it );
|
||||
for(AUTO_VAR(it, m_biomeOverrides.begin()); it != m_biomeOverrides.end(); ++it)
|
||||
children->push_back( *it );
|
||||
for(AUTO_VAR(it, m_features.begin()); it != m_features.end(); ++it)
|
||||
children->push_back( *it );
|
||||
for (auto& it : m_structureRules)
|
||||
if ( it )
|
||||
children->push_back( it );
|
||||
|
||||
for (auto& it : used_schematics)
|
||||
if ( it )
|
||||
children->push_back( it );
|
||||
|
||||
for (auto& it : m_biomeOverrides)
|
||||
if ( it )
|
||||
children->push_back( it );
|
||||
|
||||
for (auto& it : m_features)
|
||||
if ( it )
|
||||
children->push_back( it );
|
||||
}
|
||||
|
||||
GameRuleDefinition *LevelGenerationOptions::addChild(ConsoleGameRules::EGameRuleType ruleType)
|
||||
@@ -195,7 +203,7 @@ void LevelGenerationOptions::addAttribute(const wstring &attributeName, const ws
|
||||
{
|
||||
if(attributeValue.compare(L"true") == 0) m_useFlatWorld = true;
|
||||
app.DebugPrintf("LevelGenerationOptions: Adding parameter flatworld=%s\n",m_useFlatWorld?"TRUE":"FALSE");
|
||||
}
|
||||
}
|
||||
else if(attributeName.compare(L"saveName") == 0)
|
||||
{
|
||||
wstring string(attributeValue);
|
||||
@@ -218,7 +226,7 @@ void LevelGenerationOptions::addAttribute(const wstring &attributeName, const ws
|
||||
app.DebugPrintf("LevelGenerationOptions: Adding parameter displayName=%ls\n", getDisplayName());
|
||||
}
|
||||
else if(attributeName.compare(L"texturePackId") == 0)
|
||||
{
|
||||
{
|
||||
setRequiredTexturePackId( _fromString<unsigned int>(attributeValue) );
|
||||
setRequiresTexturePack( true );
|
||||
app.DebugPrintf("LevelGenerationOptions: Adding parameter texturePackId=%0x\n", getRequiredTexturePackId());
|
||||
@@ -249,19 +257,14 @@ void LevelGenerationOptions::processSchematics(LevelChunk *chunk)
|
||||
{
|
||||
PIXBeginNamedEvent(0,"Processing schematics for chunk (%d,%d)", chunk->x, chunk->z);
|
||||
AABB *chunkBox = AABB::newTemp(chunk->x*16,0,chunk->z*16,chunk->x*16 + 16,Level::maxBuildHeight,chunk->z*16 + 16);
|
||||
for( AUTO_VAR(it, m_schematicRules.begin()); it != m_schematicRules.end();++it)
|
||||
{
|
||||
ApplySchematicRuleDefinition *rule = *it;
|
||||
for( ApplySchematicRuleDefinition *rule : m_schematicRules )
|
||||
rule->processSchematic(chunkBox, chunk);
|
||||
}
|
||||
|
||||
int cx = (chunk->x << 4);
|
||||
int cz = (chunk->z << 4);
|
||||
|
||||
for( AUTO_VAR(it, m_structureRules.begin()); it != m_structureRules.end(); it++ )
|
||||
for ( ConsoleGenerateStructure *structureStart : m_structureRules )
|
||||
{
|
||||
ConsoleGenerateStructure *structureStart = *it;
|
||||
|
||||
if (structureStart->getBoundingBox()->intersects(cx, cz, cx + 15, cz + 15))
|
||||
{
|
||||
BoundingBox *bb = new BoundingBox(cx, cz, cx + 15, cz + 15);
|
||||
@@ -276,9 +279,8 @@ void LevelGenerationOptions::processSchematicsLighting(LevelChunk *chunk)
|
||||
{
|
||||
PIXBeginNamedEvent(0,"Processing schematics (lighting) for chunk (%d,%d)", chunk->x, chunk->z);
|
||||
AABB *chunkBox = AABB::newTemp(chunk->x*16,0,chunk->z*16,chunk->x*16 + 16,Level::maxBuildHeight,chunk->z*16 + 16);
|
||||
for( AUTO_VAR(it, m_schematicRules.begin()); it != m_schematicRules.end();++it)
|
||||
for ( ApplySchematicRuleDefinition *rule : m_schematicRules )
|
||||
{
|
||||
ApplySchematicRuleDefinition *rule = *it;
|
||||
rule->processSchematicLighting(chunkBox, chunk);
|
||||
}
|
||||
PIXEndNamedEvent();
|
||||
@@ -292,16 +294,14 @@ bool LevelGenerationOptions::checkIntersects(int x0, int y0, int z0, int x1, int
|
||||
// a) ores generally being below ground/sea level and b) tutorial world additions generally being above ground/sea level
|
||||
if(!m_bHaveMinY)
|
||||
{
|
||||
for(AUTO_VAR(it, m_schematicRules.begin()); it != m_schematicRules.end();++it)
|
||||
for ( ApplySchematicRuleDefinition *rule : m_schematicRules )
|
||||
{
|
||||
ApplySchematicRuleDefinition *rule = *it;
|
||||
int minY = rule->getMinY();
|
||||
if(minY < m_minY) m_minY = minY;
|
||||
}
|
||||
|
||||
for( AUTO_VAR(it, m_structureRules.begin()); it != m_structureRules.end(); it++ )
|
||||
for ( ConsoleGenerateStructure *structureStart : m_structureRules )
|
||||
{
|
||||
ConsoleGenerateStructure *structureStart = *it;
|
||||
int minY = structureStart->getMinY();
|
||||
if(minY < m_minY) m_minY = minY;
|
||||
}
|
||||
@@ -313,18 +313,16 @@ bool LevelGenerationOptions::checkIntersects(int x0, int y0, int z0, int x1, int
|
||||
if( y1 < m_minY ) return false;
|
||||
|
||||
bool intersects = false;
|
||||
for(AUTO_VAR(it, m_schematicRules.begin()); it != m_schematicRules.end();++it)
|
||||
for( ApplySchematicRuleDefinition *rule : m_schematicRules )
|
||||
{
|
||||
ApplySchematicRuleDefinition *rule = *it;
|
||||
intersects = rule->checkIntersects(x0,y0,z0,x1,y1,z1);
|
||||
if(intersects) break;
|
||||
}
|
||||
|
||||
if(!intersects)
|
||||
{
|
||||
for( AUTO_VAR(it, m_structureRules.begin()); it != m_structureRules.end(); it++ )
|
||||
for( ConsoleGenerateStructure *structureStart : m_structureRules )
|
||||
{
|
||||
ConsoleGenerateStructure *structureStart = *it;
|
||||
intersects = structureStart->checkIntersects(x0,y0,z0,x1,y1,z1);
|
||||
if(intersects) break;
|
||||
}
|
||||
@@ -335,9 +333,9 @@ bool LevelGenerationOptions::checkIntersects(int x0, int y0, int z0, int x1, int
|
||||
|
||||
void LevelGenerationOptions::clearSchematics()
|
||||
{
|
||||
for(AUTO_VAR(it, m_schematics.begin()); it != m_schematics.end(); ++it)
|
||||
for ( auto& it : m_schematics )
|
||||
{
|
||||
delete it->second;
|
||||
delete it.second;
|
||||
}
|
||||
m_schematics.clear();
|
||||
}
|
||||
@@ -345,7 +343,7 @@ void LevelGenerationOptions::clearSchematics()
|
||||
ConsoleSchematicFile *LevelGenerationOptions::loadSchematicFile(const wstring &filename, PBYTE pbData, DWORD dwLen)
|
||||
{
|
||||
// If we have already loaded this, just return
|
||||
AUTO_VAR(it, m_schematics.find(filename));
|
||||
auto it = m_schematics.find(filename);
|
||||
if(it != m_schematics.end())
|
||||
{
|
||||
#ifndef _CONTENT_PACKAGE
|
||||
@@ -370,7 +368,7 @@ ConsoleSchematicFile *LevelGenerationOptions::getSchematicFile(const wstring &fi
|
||||
{
|
||||
ConsoleSchematicFile *schematic = NULL;
|
||||
// If we have already loaded this, just return
|
||||
AUTO_VAR(it, m_schematics.find(filename));
|
||||
auto it = m_schematics.find(filename);
|
||||
if(it != m_schematics.end())
|
||||
{
|
||||
schematic = it->second;
|
||||
@@ -381,7 +379,7 @@ ConsoleSchematicFile *LevelGenerationOptions::getSchematicFile(const wstring &fi
|
||||
void LevelGenerationOptions::releaseSchematicFile(const wstring &filename)
|
||||
{
|
||||
// 4J Stu - We don't want to delete them when done, but probably want to keep a set of active schematics for the current world
|
||||
//AUTO_VAR(it, m_schematics.find(filename));
|
||||
// auto it = m_schematics.find(filename);
|
||||
//if(it != m_schematics.end())
|
||||
//{
|
||||
// ConsoleSchematicFile *schematic = it->second;
|
||||
@@ -413,10 +411,9 @@ LPCWSTR LevelGenerationOptions::getString(const wstring &key)
|
||||
|
||||
void LevelGenerationOptions::getBiomeOverride(int biomeId, BYTE &tile, BYTE &topTile)
|
||||
{
|
||||
for(AUTO_VAR(it, m_biomeOverrides.begin()); it != m_biomeOverrides.end(); ++it)
|
||||
for ( BiomeOverride *bo : m_biomeOverrides )
|
||||
{
|
||||
BiomeOverride *bo = *it;
|
||||
if(bo->isBiome(biomeId))
|
||||
if ( bo && bo->isBiome(biomeId) )
|
||||
{
|
||||
bo->getTileValues(tile,topTile);
|
||||
break;
|
||||
@@ -428,9 +425,8 @@ bool LevelGenerationOptions::isFeatureChunk(int chunkX, int chunkZ, StructureFea
|
||||
{
|
||||
bool isFeature = false;
|
||||
|
||||
for(AUTO_VAR(it, m_features.begin()); it != m_features.end(); ++it)
|
||||
for( StartFeature *sf : m_features )
|
||||
{
|
||||
StartFeature *sf = *it;
|
||||
if(sf->isFeatureChunk(chunkX, chunkZ, feature, orientation))
|
||||
{
|
||||
isFeature = true;
|
||||
@@ -444,17 +440,17 @@ unordered_map<wstring, ConsoleSchematicFile *> *LevelGenerationOptions::getUnfin
|
||||
{
|
||||
// Clean schematic rules.
|
||||
unordered_set<wstring> usedFiles = unordered_set<wstring>();
|
||||
for (AUTO_VAR(it, m_schematicRules.begin()); it!=m_schematicRules.end(); it++)
|
||||
if ( !(*it)->isComplete() )
|
||||
usedFiles.insert( (*it)->getSchematicName() );
|
||||
for ( auto& it : m_schematicRules )
|
||||
if ( !it->isComplete() )
|
||||
usedFiles.insert( it->getSchematicName() );
|
||||
|
||||
// Clean schematic files.
|
||||
unordered_map<wstring, ConsoleSchematicFile *> *out
|
||||
unordered_map<wstring, ConsoleSchematicFile *> *out
|
||||
= new unordered_map<wstring, ConsoleSchematicFile *>();
|
||||
for (AUTO_VAR(it, usedFiles.begin()); it!=usedFiles.end(); it++)
|
||||
out->insert( pair<wstring, ConsoleSchematicFile *>(*it, getSchematicFile(*it)) );
|
||||
for ( auto& it : usedFiles )
|
||||
out->insert( pair<wstring, ConsoleSchematicFile *>(it, getSchematicFile(it)) );
|
||||
|
||||
return out;
|
||||
return out;
|
||||
}
|
||||
|
||||
void LevelGenerationOptions::loadBaseSaveData()
|
||||
@@ -472,7 +468,7 @@ void LevelGenerationOptions::loadBaseSaveData()
|
||||
{
|
||||
// corrupt DLC
|
||||
setLoadedData();
|
||||
app.DebugPrintf("Failed to mount LGO DLC %d for pad %d\n",mountIndex,ProfileManager.GetPrimaryPad());
|
||||
app.DebugPrintf("Failed to mount LGO DLC %d for pad %d\n",mountIndex,ProfileManager.GetPrimaryPad());
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -604,7 +600,7 @@ int LevelGenerationOptions::packMounted(LPVOID pParam,int iPad,DWORD dwErr,DWORD
|
||||
}
|
||||
|
||||
}
|
||||
#ifdef _DURANGO
|
||||
#ifdef _DURANGO
|
||||
DWORD result = StorageManager.UnmountInstalledDLC(L"WPACK");
|
||||
#else
|
||||
DWORD result = StorageManager.UnmountInstalledDLC("WPACK");
|
||||
@@ -619,11 +615,10 @@ int LevelGenerationOptions::packMounted(LPVOID pParam,int iPad,DWORD dwErr,DWORD
|
||||
|
||||
void LevelGenerationOptions::reset_start()
|
||||
{
|
||||
for ( AUTO_VAR( it, m_schematicRules.begin());
|
||||
it != m_schematicRules.end();
|
||||
it++ )
|
||||
for ( auto& it : m_schematicRules )
|
||||
{
|
||||
(*it)->reset();
|
||||
if ( it )
|
||||
it->reset();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -651,7 +646,7 @@ bool LevelGenerationOptions::requiresTexturePack() { return info()->requiresText
|
||||
UINT LevelGenerationOptions::getRequiredTexturePackId() { return info()->getRequiredTexturePackId(); }
|
||||
|
||||
wstring LevelGenerationOptions::getDefaultSaveName()
|
||||
{
|
||||
{
|
||||
switch (getSrc())
|
||||
{
|
||||
case eSrc_fromSave: return getString( info()->getDefaultSaveName() );
|
||||
@@ -661,7 +656,7 @@ wstring LevelGenerationOptions::getDefaultSaveName()
|
||||
return L"";
|
||||
}
|
||||
LPCWSTR LevelGenerationOptions::getWorldName()
|
||||
{
|
||||
{
|
||||
switch (getSrc())
|
||||
{
|
||||
case eSrc_fromSave: return getString( info()->getWorldName() );
|
||||
|
||||
@@ -11,7 +11,7 @@ LevelRuleset::LevelRuleset()
|
||||
|
||||
LevelRuleset::~LevelRuleset()
|
||||
{
|
||||
for(AUTO_VAR(it, m_areas.begin()); it != m_areas.end(); ++it)
|
||||
for (auto it = m_areas.begin(); it != m_areas.end(); ++it)
|
||||
{
|
||||
delete *it;
|
||||
}
|
||||
@@ -20,8 +20,8 @@ LevelRuleset::~LevelRuleset()
|
||||
void LevelRuleset::getChildren(vector<GameRuleDefinition *> *children)
|
||||
{
|
||||
CompoundGameRuleDefinition::getChildren(children);
|
||||
for (AUTO_VAR(it, m_areas.begin()); it != m_areas.end(); it++)
|
||||
children->push_back(*it);
|
||||
for (const auto& area : m_areas)
|
||||
children->push_back(area);
|
||||
}
|
||||
|
||||
GameRuleDefinition *LevelRuleset::addChild(ConsoleGameRules::EGameRuleType ruleType)
|
||||
@@ -58,12 +58,12 @@ LPCWSTR LevelRuleset::getString(const wstring &key)
|
||||
|
||||
AABB *LevelRuleset::getNamedArea(const wstring &areaName)
|
||||
{
|
||||
AABB *area = NULL;
|
||||
for(AUTO_VAR(it, m_areas.begin()); it != m_areas.end(); ++it)
|
||||
AABB *area = nullptr;
|
||||
for(auto& it : m_areas)
|
||||
{
|
||||
if( (*it)->getName().compare(areaName) == 0 )
|
||||
if( it->getName().compare(areaName) == 0 )
|
||||
{
|
||||
area = (*it)->getArea();
|
||||
area = it->getArea();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,18 +22,18 @@ void NamedAreaRuleDefinition::writeAttributes(DataOutputStream *dos, UINT numAtt
|
||||
dos->writeUTF(m_name);
|
||||
|
||||
ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_x0);
|
||||
dos->writeUTF(_toString(m_area->x0));
|
||||
dos->writeUTF(std::to_wstring(m_area->x0));
|
||||
ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_y0);
|
||||
dos->writeUTF(_toString(m_area->y0));
|
||||
dos->writeUTF(std::to_wstring(m_area->y0));
|
||||
ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_z0);
|
||||
dos->writeUTF(_toString(m_area->z0));
|
||||
dos->writeUTF(std::to_wstring(m_area->z0));
|
||||
|
||||
ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_x1);
|
||||
dos->writeUTF(_toString(m_area->x1));
|
||||
dos->writeUTF(std::to_wstring(m_area->x1));
|
||||
ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_y1);
|
||||
dos->writeUTF(_toString(m_area->y1));
|
||||
dos->writeUTF(std::to_wstring(m_area->y1));
|
||||
ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_z1);
|
||||
dos->writeUTF(_toString(m_area->z1));
|
||||
dos->writeUTF(std::to_wstring(m_area->z1));
|
||||
}
|
||||
|
||||
void NamedAreaRuleDefinition::addAttribute(const wstring &attributeName, const wstring &attributeValue)
|
||||
|
||||
@@ -15,13 +15,13 @@ void StartFeature::writeAttributes(DataOutputStream *dos, UINT numAttrs)
|
||||
GameRuleDefinition::writeAttributes(dos, numAttrs + 4);
|
||||
|
||||
ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_chunkX);
|
||||
dos->writeUTF(_toString(m_chunkX));
|
||||
dos->writeUTF(std::to_wstring(m_chunkX));
|
||||
ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_chunkZ);
|
||||
dos->writeUTF(_toString(m_chunkZ));
|
||||
dos->writeUTF(std::to_wstring(m_chunkZ));
|
||||
ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_feature);
|
||||
dos->writeUTF(_toString((int)m_feature));
|
||||
dos->writeUTF(std::to_wstring((int)m_feature));
|
||||
ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_orientation);
|
||||
dos->writeUTF(_toString(m_orientation));
|
||||
dos->writeUTF(std::to_wstring(m_orientation));
|
||||
}
|
||||
|
||||
void StartFeature::addAttribute(const wstring &attributeName, const wstring &attributeValue)
|
||||
|
||||
@@ -11,16 +11,16 @@ UpdatePlayerRuleDefinition::UpdatePlayerRuleDefinition()
|
||||
{
|
||||
m_bUpdateHealth = m_bUpdateFood = m_bUpdateYRot = false;;
|
||||
m_health = 0;
|
||||
m_food = 0;
|
||||
m_food = 0;
|
||||
m_spawnPos = NULL;
|
||||
m_yRot = 0.0f;
|
||||
}
|
||||
|
||||
UpdatePlayerRuleDefinition::~UpdatePlayerRuleDefinition()
|
||||
{
|
||||
for(AUTO_VAR(it, m_items.begin()); it != m_items.end(); ++it)
|
||||
for(auto& item : m_items)
|
||||
{
|
||||
delete *it;
|
||||
delete item;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -33,34 +33,34 @@ void UpdatePlayerRuleDefinition::writeAttributes(DataOutputStream *dos, UINT num
|
||||
GameRuleDefinition::writeAttributes(dos, numAttributes + attrCount );
|
||||
|
||||
ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_spawnX);
|
||||
dos->writeUTF(_toString(m_spawnPos->x));
|
||||
dos->writeUTF(std::to_wstring(m_spawnPos->x));
|
||||
ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_spawnY);
|
||||
dos->writeUTF(_toString(m_spawnPos->y));
|
||||
dos->writeUTF(std::to_wstring(m_spawnPos->y));
|
||||
ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_spawnZ);
|
||||
dos->writeUTF(_toString(m_spawnPos->z));
|
||||
dos->writeUTF(std::to_wstring(m_spawnPos->z));
|
||||
|
||||
if(m_bUpdateYRot)
|
||||
{
|
||||
ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_yRot);
|
||||
dos->writeUTF(_toString(m_yRot));
|
||||
dos->writeUTF(std::to_wstring(m_yRot));
|
||||
}
|
||||
if(m_bUpdateHealth)
|
||||
{
|
||||
ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_food);
|
||||
dos->writeUTF(_toString(m_health));
|
||||
dos->writeUTF(std::to_wstring(m_health));
|
||||
}
|
||||
if(m_bUpdateFood)
|
||||
{
|
||||
ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_health);
|
||||
dos->writeUTF(_toString(m_food));
|
||||
dos->writeUTF(std::to_wstring(m_food));
|
||||
}
|
||||
}
|
||||
|
||||
void UpdatePlayerRuleDefinition::getChildren(vector<GameRuleDefinition *> *children)
|
||||
{
|
||||
GameRuleDefinition::getChildren(children);
|
||||
for(AUTO_VAR(it, m_items.begin()); it!=m_items.end(); it++)
|
||||
children->push_back(*it);
|
||||
for(auto& item : m_items)
|
||||
children->push_back(item);
|
||||
}
|
||||
|
||||
GameRuleDefinition *UpdatePlayerRuleDefinition::addChild(ConsoleGameRules::EGameRuleType ruleType)
|
||||
@@ -162,10 +162,8 @@ void UpdatePlayerRuleDefinition::postProcessPlayer(shared_ptr<Player> player)
|
||||
|
||||
if(m_spawnPos != NULL || m_bUpdateYRot) player->absMoveTo(x,y,z,yRot,xRot);
|
||||
|
||||
for(AUTO_VAR(it, m_items.begin()); it != m_items.end(); ++it)
|
||||
for(auto& addItem : m_items)
|
||||
{
|
||||
AddItemRuleDefinition *addItem = *it;
|
||||
|
||||
addItem->addItemToContainer(player->inventory, -1);
|
||||
}
|
||||
}
|
||||
@@ -13,19 +13,19 @@ void UseTileRuleDefinition::writeAttributes(DataOutputStream *dos, UINT numAttri
|
||||
GameRuleDefinition::writeAttributes(dos, numAttributes + 5);
|
||||
|
||||
ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_tileId);
|
||||
dos->writeUTF(_toString(m_tileId));
|
||||
dos->writeUTF(std::to_wstring(m_tileId));
|
||||
|
||||
ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_useCoords);
|
||||
dos->writeUTF(_toString(m_useCoords));
|
||||
dos->writeUTF(std::to_wstring(m_useCoords));
|
||||
|
||||
ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_x);
|
||||
dos->writeUTF(_toString(m_coordinates.x));
|
||||
dos->writeUTF(std::to_wstring(m_coordinates.x));
|
||||
|
||||
ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_y);
|
||||
dos->writeUTF(_toString(m_coordinates.y));
|
||||
dos->writeUTF(std::to_wstring(m_coordinates.y));
|
||||
|
||||
ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_z);
|
||||
dos->writeUTF(_toString(m_coordinates.z));
|
||||
dos->writeUTF(std::to_wstring(m_coordinates.z));
|
||||
}
|
||||
|
||||
void UseTileRuleDefinition::addAttribute(const wstring &attributeName, const wstring &attributeValue)
|
||||
|
||||
@@ -14,25 +14,25 @@ void XboxStructureActionGenerateBox::writeAttributes(DataOutputStream *dos, UINT
|
||||
ConsoleGenerateStructureAction::writeAttributes(dos, numAttrs + 9);
|
||||
|
||||
ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_x0);
|
||||
dos->writeUTF(_toString(m_x0));
|
||||
dos->writeUTF(std::to_wstring(m_x0));
|
||||
ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_y0);
|
||||
dos->writeUTF(_toString(m_y0));
|
||||
dos->writeUTF(std::to_wstring(m_y0));
|
||||
ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_z0);
|
||||
dos->writeUTF(_toString(m_z0));
|
||||
dos->writeUTF(std::to_wstring(m_z0));
|
||||
|
||||
ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_x1);
|
||||
dos->writeUTF(_toString(m_x1));
|
||||
dos->writeUTF(std::to_wstring(m_x1));
|
||||
ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_y1);
|
||||
dos->writeUTF(_toString(m_y1));
|
||||
dos->writeUTF(std::to_wstring(m_y1));
|
||||
ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_z1);
|
||||
dos->writeUTF(_toString(m_z1));
|
||||
dos->writeUTF(std::to_wstring(m_z1));
|
||||
|
||||
ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_edgeTile);
|
||||
dos->writeUTF(_toString(m_edgeTile));
|
||||
dos->writeUTF(std::to_wstring(m_edgeTile));
|
||||
ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_fillTile);
|
||||
dos->writeUTF(_toString(m_fillTile));
|
||||
dos->writeUTF(std::to_wstring(m_fillTile));
|
||||
ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_skipAir);
|
||||
dos->writeUTF(_toString(m_skipAir));
|
||||
dos->writeUTF(std::to_wstring(m_skipAir));
|
||||
}
|
||||
|
||||
void XboxStructureActionGenerateBox::addAttribute(const wstring &attributeName, const wstring &attributeValue)
|
||||
|
||||
@@ -13,16 +13,16 @@ void XboxStructureActionPlaceBlock::writeAttributes(DataOutputStream *dos, UINT
|
||||
ConsoleGenerateStructureAction::writeAttributes(dos, numAttrs + 5);
|
||||
|
||||
ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_x);
|
||||
dos->writeUTF(_toString(m_x));
|
||||
dos->writeUTF(std::to_wstring(m_x));
|
||||
ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_y);
|
||||
dos->writeUTF(_toString(m_y));
|
||||
dos->writeUTF(std::to_wstring(m_y));
|
||||
ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_z);
|
||||
dos->writeUTF(_toString(m_z));
|
||||
dos->writeUTF(std::to_wstring(m_z));
|
||||
|
||||
ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_data);
|
||||
dos->writeUTF(_toString(m_data));
|
||||
dos->writeUTF(std::to_wstring(m_data));
|
||||
ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_block);
|
||||
dos->writeUTF(_toString(m_tile));
|
||||
dos->writeUTF(std::to_wstring(m_tile));
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -14,21 +14,21 @@ XboxStructureActionPlaceContainer::XboxStructureActionPlaceContainer()
|
||||
|
||||
XboxStructureActionPlaceContainer::~XboxStructureActionPlaceContainer()
|
||||
{
|
||||
for(AUTO_VAR(it, m_items.begin()); it != m_items.end(); ++it)
|
||||
for(auto& item : m_items)
|
||||
{
|
||||
delete *it;
|
||||
delete item;
|
||||
}
|
||||
}
|
||||
|
||||
// 4J-JEV: Super class handles attr-facing fine.
|
||||
//void XboxStructureActionPlaceContainer::writeAttributes(DataOutputStream *dos, UINT numAttrs)
|
||||
|
||||
|
||||
|
||||
void XboxStructureActionPlaceContainer::getChildren(vector<GameRuleDefinition *> *children)
|
||||
{
|
||||
XboxStructureActionPlaceBlock::getChildren(children);
|
||||
for(AUTO_VAR(it, m_items.begin()); it!=m_items.end(); it++)
|
||||
children->push_back( *it );
|
||||
for(auto & item : m_items)
|
||||
children->push_back( item );
|
||||
}
|
||||
|
||||
GameRuleDefinition *XboxStructureActionPlaceContainer::addChild(ConsoleGameRules::EGameRuleType ruleType)
|
||||
@@ -79,15 +79,15 @@ bool XboxStructureActionPlaceContainer::placeContainerInLevel(StructurePiece *st
|
||||
|
||||
level->setTileAndData( worldX, worldY, worldZ, m_tile, 0, Tile::UPDATE_ALL );
|
||||
shared_ptr<Container> container = dynamic_pointer_cast<Container>(level->getTileEntity( worldX, worldY, worldZ ));
|
||||
|
||||
|
||||
app.DebugPrintf("XboxStructureActionPlaceContainer - placing a container at (%d,%d,%d)\n", worldX, worldY, worldZ);
|
||||
if ( container != NULL )
|
||||
{
|
||||
level->setData( worldX, worldY, worldZ, m_data, Tile::UPDATE_CLIENTS);
|
||||
// Add items
|
||||
int slotId = 0;
|
||||
for(AUTO_VAR(it, m_items.begin()); it != m_items.end() && (slotId < container->getContainerSize()); ++it, ++slotId )
|
||||
{
|
||||
for (auto it = m_items.begin(); it != m_items.end() && (slotId < container->getContainerSize()); ++it, ++slotId)
|
||||
{
|
||||
AddItemRuleDefinition *addItem = *it;
|
||||
|
||||
addItem->addItemToContainer(container,slotId);
|
||||
|
||||
@@ -75,7 +75,7 @@ void CGameNetworkManager::Initialise()
|
||||
#else
|
||||
s_pPlatformNetworkManager = new CPlatformNetworkManagerStub();
|
||||
#endif
|
||||
s_pPlatformNetworkManager->Initialise( this, flagIndexSize );
|
||||
s_pPlatformNetworkManager->Initialise( this, flagIndexSize );
|
||||
m_bNetworkThreadRunning = false;
|
||||
m_bInitialised = true;
|
||||
}
|
||||
@@ -105,7 +105,7 @@ void CGameNetworkManager::DoWork()
|
||||
if((g_NetworkManager.GetLockedProfile()!=-1) && iPrimaryPlayer!=-1 && bConnected == false && g_NetworkManager.IsInSession() )
|
||||
{
|
||||
app.SetAction(iPrimaryPlayer,eAppAction_EthernetDisconnected);
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
case XN_LIVE_INVITE_ACCEPTED:
|
||||
@@ -162,7 +162,7 @@ bool CGameNetworkManager::_RunNetworkGame(LPVOID lpParameter)
|
||||
|
||||
success = s_pPlatformNetworkManager->_RunNetworkGame();
|
||||
if(!success)
|
||||
{
|
||||
{
|
||||
app.SetAction(ProfileManager.GetPrimaryPad(),eAppAction_ExitWorld,(void *)TRUE);
|
||||
return true;
|
||||
}
|
||||
@@ -172,7 +172,7 @@ bool CGameNetworkManager::_RunNetworkGame(LPVOID lpParameter)
|
||||
// Client needs QNET_STATE_GAME_PLAY so that IsInGameplay() returns true
|
||||
s_pPlatformNetworkManager->SetGamePlayState();
|
||||
}
|
||||
|
||||
|
||||
if( g_NetworkManager.IsLeavingGame() ) return false;
|
||||
|
||||
app.SetGameStarted(true);
|
||||
@@ -199,7 +199,7 @@ bool CGameNetworkManager::StartNetworkGame(Minecraft *minecraft, LPVOID lpParame
|
||||
{
|
||||
NetworkGameInitData *param = (NetworkGameInitData *)lpParameter;
|
||||
seed = param->seed;
|
||||
|
||||
|
||||
app.setLevelGenerationOptions(param->levelGen);
|
||||
if(param->levelGen != NULL)
|
||||
{
|
||||
@@ -305,7 +305,7 @@ bool CGameNetworkManager::StartNetworkGame(Minecraft *minecraft, LPVOID lpParame
|
||||
ServerReadyWait();
|
||||
ServerReadyDestroy();
|
||||
|
||||
if( MinecraftServer::serverHalted() )
|
||||
if( MinecraftServer::serverHalted() )
|
||||
return false;
|
||||
|
||||
// printf("Server ready to go!\n");
|
||||
@@ -316,7 +316,7 @@ bool CGameNetworkManager::StartNetworkGame(Minecraft *minecraft, LPVOID lpParame
|
||||
}
|
||||
|
||||
#ifndef _XBOX
|
||||
Minecraft *pMinecraft = Minecraft::GetInstance();
|
||||
Minecraft *pMinecraft = Minecraft::GetInstance();
|
||||
// Make sure that we have transitioned through any joining/creating stages and are actually playing the game, so that we know the players should be valid
|
||||
bool changedMessage = false;
|
||||
while(!IsReadyToPlayOrIdle())
|
||||
@@ -492,9 +492,10 @@ bool CGameNetworkManager::StartNetworkGame(Minecraft *minecraft, LPVOID lpParame
|
||||
do
|
||||
{
|
||||
// We need to keep ticking the connections for players that already logged in
|
||||
for(AUTO_VAR(it, createdConnections.begin()); it < createdConnections.end(); ++it)
|
||||
{
|
||||
(*it)->tick();
|
||||
for (auto& it : createdConnections )
|
||||
{
|
||||
if ( it )
|
||||
it->tick();
|
||||
}
|
||||
|
||||
// 4J Stu - We were ticking this way too fast which could cause the connection to time out
|
||||
@@ -522,8 +523,8 @@ bool CGameNetworkManager::StartNetworkGame(Minecraft *minecraft, LPVOID lpParame
|
||||
else
|
||||
{
|
||||
connection->close();
|
||||
AUTO_VAR(it, find( createdConnections.begin(), createdConnections.end(), connection ));
|
||||
if(it != createdConnections.end() ) createdConnections.erase( it );
|
||||
auto it = find(createdConnections.begin(), createdConnections.end(), connection);
|
||||
if(it != createdConnections.end() ) createdConnections.erase( it );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -536,12 +537,12 @@ bool CGameNetworkManager::StartNetworkGame(Minecraft *minecraft, LPVOID lpParame
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
if(g_NetworkManager.IsLeavingGame() || !IsInSession() )
|
||||
{
|
||||
for(AUTO_VAR(it, createdConnections.begin()); it < createdConnections.end(); ++it)
|
||||
{
|
||||
(*it)->close();
|
||||
for (auto& it : createdConnections)
|
||||
{
|
||||
it->close();
|
||||
}
|
||||
// assert(false);
|
||||
MinecraftServer::HaltServer();
|
||||
@@ -832,7 +833,7 @@ int CGameNetworkManager::JoinFromInvite_SignInReturned(void *pParam,bool bContin
|
||||
ProfileManager.SetPrimaryPad(iPad);
|
||||
|
||||
g_NetworkManager.SetLocalGame(false);
|
||||
|
||||
|
||||
// If the player was signed in before selecting play, we'll not have read the profile yet, so query the sign-in status to get this to happen
|
||||
ProfileManager.QuerySigninStatus();
|
||||
|
||||
@@ -848,7 +849,7 @@ int CGameNetworkManager::JoinFromInvite_SignInReturned(void *pParam,bool bContin
|
||||
pInviteInfo ); // pInviteInfo
|
||||
if( !success )
|
||||
{
|
||||
app.DebugPrintf( "Failed joining game from invite\n" );
|
||||
app.DebugPrintf( "Failed joining game from invite\n" );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -894,7 +895,7 @@ int CGameNetworkManager::RunNetworkGameThreadProc( void* lpParameter )
|
||||
Compression::UseDefaultThreadStorage();
|
||||
Tile::CreateNewThreadStorage();
|
||||
IntCache::CreateNewThreadStorage();
|
||||
|
||||
|
||||
g_NetworkManager.m_bNetworkThreadRunning = true;
|
||||
bool success = g_NetworkManager._RunNetworkGame(lpParameter);
|
||||
g_NetworkManager.m_bNetworkThreadRunning = false;
|
||||
@@ -906,7 +907,7 @@ int CGameNetworkManager::RunNetworkGameThreadProc( void* lpParameter )
|
||||
Sleep(1);
|
||||
}
|
||||
ui.CleanUpSkinReload();
|
||||
if(app.GetDisconnectReason() == DisconnectPacket::eDisconnect_None)
|
||||
if(app.GetDisconnectReason() == DisconnectPacket::eDisconnect_None)
|
||||
{
|
||||
app.SetDisconnectReason( DisconnectPacket::eDisconnect_ConnectionCreationFailed );
|
||||
}
|
||||
@@ -949,7 +950,7 @@ int CGameNetworkManager::ServerThreadProc( void* lpParameter )
|
||||
SetThreadName(-1, "Minecraft Server thread");
|
||||
AABB::CreateNewThreadStorage();
|
||||
Vec3::CreateNewThreadStorage();
|
||||
IntCache::CreateNewThreadStorage();
|
||||
IntCache::CreateNewThreadStorage();
|
||||
Compression::UseDefaultThreadStorage();
|
||||
OldChunkStorage::UseDefaultThreadStorage();
|
||||
Entity::useSmallIds();
|
||||
@@ -958,7 +959,7 @@ int CGameNetworkManager::ServerThreadProc( void* lpParameter )
|
||||
FireworksRecipe::CreateNewThreadStorage();
|
||||
|
||||
MinecraftServer::main(seed, lpParameter); //saveData, app.GetGameHostOption(eGameHostOption_All));
|
||||
|
||||
|
||||
Tile::ReleaseThreadStorage();
|
||||
AABB::ReleaseThreadStorage();
|
||||
Vec3::ReleaseThreadStorage();
|
||||
@@ -1012,7 +1013,7 @@ int CGameNetworkManager::ExitAndJoinFromInviteThreadProc( void* lpParam )
|
||||
// The pair of methods MustSignInReturned_0 & PSNSignInReturned_0 handle this
|
||||
int CGameNetworkManager::MustSignInReturned_0(void *pParam,int iPad,C4JStorage::EMessageResult result)
|
||||
{
|
||||
if(result==C4JStorage::EMessage_ResultAccept)
|
||||
if(result==C4JStorage::EMessage_ResultAccept)
|
||||
{
|
||||
#ifdef __PS3__
|
||||
SQRNetworkManager_PS3::AttemptPSNSignIn(&CGameNetworkManager::PSNSignInReturned_0, pParam,true);
|
||||
@@ -1072,7 +1073,7 @@ int CGameNetworkManager::PSNSignInReturned_0(void* pParam, bool bContinue, int i
|
||||
// The pair of methods MustSignInReturned_1 & PSNSignInReturned_1 handle this
|
||||
int CGameNetworkManager::MustSignInReturned_1(void *pParam,int iPad,C4JStorage::EMessageResult result)
|
||||
{
|
||||
if(result==C4JStorage::EMessage_ResultAccept)
|
||||
if(result==C4JStorage::EMessage_ResultAccept)
|
||||
{
|
||||
#ifdef __PS3__
|
||||
SQRNetworkManager_PS3::AttemptPSNSignIn(&CGameNetworkManager::PSNSignInReturned_1, pParam,true);
|
||||
@@ -1104,7 +1105,7 @@ int CGameNetworkManager::PSNSignInReturned_1(void* pParam, bool bContinue, int i
|
||||
#elif defined __ORBIS__
|
||||
// TODO: No Orbis equivalent (should there be?)
|
||||
#endif
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1129,7 +1130,7 @@ int CGameNetworkManager::ChangeSessionTypeThreadProc( void* lpParam )
|
||||
Vec3::UseDefaultThreadStorage();
|
||||
Compression::UseDefaultThreadStorage();
|
||||
|
||||
Minecraft *pMinecraft = Minecraft::GetInstance();
|
||||
Minecraft *pMinecraft = Minecraft::GetInstance();
|
||||
MinecraftServer *pServer = MinecraftServer::getInstance();
|
||||
|
||||
#if defined(__PS3__) || defined(__ORBIS__) || defined __PSVITA__
|
||||
@@ -1168,7 +1169,7 @@ int CGameNetworkManager::ChangeSessionTypeThreadProc( void* lpParam )
|
||||
pMinecraft->progressRenderer->progressStartNoAbort( g_NetworkManager.CorrectErrorIDS(IDS_CONNECTION_LOST_LIVE_NO_EXIT) );
|
||||
pMinecraft->progressRenderer->progressStage( IDS_PROGRESS_CONVERTING_TO_OFFLINE_GAME );
|
||||
}
|
||||
|
||||
|
||||
#else
|
||||
pMinecraft->progressRenderer->progressStartNoAbort( g_NetworkManager.CorrectErrorIDS(IDS_CONNECTION_LOST_LIVE_NO_EXIT) );
|
||||
pMinecraft->progressRenderer->progressStage( IDS_PROGRESS_CONVERTING_TO_OFFLINE_GAME );
|
||||
@@ -1182,7 +1183,7 @@ int CGameNetworkManager::ChangeSessionTypeThreadProc( void* lpParam )
|
||||
|
||||
// wait for the server to be in a non-ticking state
|
||||
pServer->m_serverPausedEvent->WaitForSignal(INFINITE);
|
||||
|
||||
|
||||
#if defined(__PS3__) || defined(__ORBIS__) || defined __PSVITA__
|
||||
// Swap these two messages around as one is too long to display at 480
|
||||
pMinecraft->progressRenderer->progressStartNoAbort( IDS_PROGRESS_CONVERTING_TO_OFFLINE_GAME );
|
||||
@@ -1218,9 +1219,8 @@ int CGameNetworkManager::ChangeSessionTypeThreadProc( void* lpParam )
|
||||
if( pServer != NULL )
|
||||
{
|
||||
PlayerList *players = pServer->getPlayers();
|
||||
for(AUTO_VAR(it, players->players.begin()); it < players->players.end(); ++it)
|
||||
for(auto& servPlayer : players->players)
|
||||
{
|
||||
shared_ptr<ServerPlayer> servPlayer = *it;
|
||||
if( servPlayer->connection->isLocal() && !servPlayer->connection->isGuest() )
|
||||
{
|
||||
servPlayer->connection->connection->getSocket()->setPlayer(NULL);
|
||||
@@ -1244,7 +1244,7 @@ int CGameNetworkManager::ChangeSessionTypeThreadProc( void* lpParam )
|
||||
{
|
||||
Sleep(1);
|
||||
}
|
||||
|
||||
|
||||
// Reset this flag as the we don't need to know that we only lost the room only from this point onwards, the behaviour is exactly the same
|
||||
g_NetworkManager.m_bLastDisconnectWasLostRoomOnly = false;
|
||||
g_NetworkManager.m_bFullSessionMessageOnNextSessionChange = false;
|
||||
@@ -1275,7 +1275,7 @@ int CGameNetworkManager::ChangeSessionTypeThreadProc( void* lpParam )
|
||||
{
|
||||
Sleep(1);
|
||||
}
|
||||
|
||||
|
||||
// Restore the network player of all the server players that are local
|
||||
if( pServer != NULL )
|
||||
{
|
||||
@@ -1286,9 +1286,8 @@ int CGameNetworkManager::ChangeSessionTypeThreadProc( void* lpParam )
|
||||
PlayerUID localPlayerXuid = pMinecraft->localplayers[index]->getXuid();
|
||||
|
||||
PlayerList *players = pServer->getPlayers();
|
||||
for(AUTO_VAR(it, players->players.begin()); it < players->players.end(); ++it)
|
||||
for(auto& servPlayer : players->players)
|
||||
{
|
||||
shared_ptr<ServerPlayer> servPlayer = *it;
|
||||
if( servPlayer->getXuid() == localPlayerXuid )
|
||||
{
|
||||
servPlayer->connection->connection->getSocket()->setPlayer( g_NetworkManager.GetLocalPlayerByUserIndex(index) );
|
||||
@@ -1302,7 +1301,7 @@ int CGameNetworkManager::ChangeSessionTypeThreadProc( void* lpParam )
|
||||
pMinecraft->m_pendingLocalConnections[index]->getConnection()->getSocket()->setPlayer(g_NetworkManager.GetLocalPlayerByUserIndex(index));
|
||||
}
|
||||
else if ( pMinecraft->m_connectionFailed[index] && (pMinecraft->m_connectionFailedReason[index] == DisconnectPacket::eDisconnect_ConnectionCreationFailed) )
|
||||
{
|
||||
{
|
||||
pMinecraft->removeLocalPlayerIdx(index);
|
||||
#ifdef _XBOX_ONE
|
||||
ProfileManager.RemoveGamepadFromGame(index);
|
||||
@@ -1311,7 +1310,7 @@ int CGameNetworkManager::ChangeSessionTypeThreadProc( void* lpParam )
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
pMinecraft->progressRenderer->progressStagePercentage(100);
|
||||
|
||||
#ifndef _XBOX
|
||||
@@ -1333,7 +1332,7 @@ int CGameNetworkManager::ChangeSessionTypeThreadProc( void* lpParam )
|
||||
#endif
|
||||
|
||||
// Start the game again
|
||||
app.SetGameStarted(true);
|
||||
app.SetGameStarted(true);
|
||||
app.SetXuiServerAction(ProfileManager.GetPrimaryPad(),eXuiServerAction_PauseServer,(void *)FALSE);
|
||||
app.SetChangingSessionType(false);
|
||||
app.SetReallyChangingSessionType(false);
|
||||
@@ -1387,7 +1386,7 @@ void CGameNetworkManager::StateChange_AnyToJoining()
|
||||
app.DebugPrintf("Disabling Guest Signin\n");
|
||||
XEnableGuestSignin(FALSE);
|
||||
Minecraft::GetInstance()->clearPendingClientTextureRequests();
|
||||
|
||||
|
||||
ConnectionProgressParams *param = new ConnectionProgressParams();
|
||||
param->iPad = ProfileManager.GetPrimaryPad();
|
||||
param->stringId = -1;
|
||||
@@ -1435,7 +1434,7 @@ void CGameNetworkManager::StateChange_AnyToStarting()
|
||||
completionData->type = e_ProgressCompletion_CloseAllPlayersUIScenes;
|
||||
completionData->iPad = ProfileManager.GetPrimaryPad();
|
||||
loadingParams->completionData = completionData;
|
||||
|
||||
|
||||
ui.NavigateToScene(ProfileManager.GetPrimaryPad(),eUIScene_FullscreenProgress, loadingParams);
|
||||
}
|
||||
}
|
||||
@@ -1559,7 +1558,7 @@ void CGameNetworkManager::PlayerJoining( INetworkPlayer *pNetworkPlayer )
|
||||
bool multiplayer = g_NetworkManager.GetPlayerCount() > 1, localgame = g_NetworkManager.IsLocalGame();
|
||||
for (int iPad=0; iPad<XUSER_MAX_COUNT; ++iPad)
|
||||
{
|
||||
INetworkPlayer *pNetworkPlayer = g_NetworkManager.GetLocalPlayerByUserIndex(iPad);
|
||||
INetworkPlayer *pNetworkPlayer = g_NetworkManager.GetLocalPlayerByUserIndex(iPad);
|
||||
if (pNetworkPlayer == NULL) continue;
|
||||
|
||||
app.SetRichPresenceContext(iPad,CONTEXT_GAME_STATE_BLANK);
|
||||
@@ -1584,7 +1583,7 @@ void CGameNetworkManager::PlayerJoining( INetworkPlayer *pNetworkPlayer )
|
||||
else
|
||||
{
|
||||
if( !pNetworkPlayer->IsHost() )
|
||||
{
|
||||
{
|
||||
for(int idx = 0; idx < XUSER_MAX_COUNT; ++idx)
|
||||
{
|
||||
if(Minecraft::GetInstance()->localplayers[idx] != NULL)
|
||||
@@ -1640,7 +1639,7 @@ void CGameNetworkManager::GameInviteReceived( int userIndex, const INVITE_INFO *
|
||||
}
|
||||
|
||||
// Need to check we're signed in to PSN
|
||||
bool isSignedInLive = true;
|
||||
bool isSignedInLive = true;
|
||||
bool isLocalMultiplayerAvailable = app.IsLocalMultiplayerAvailable();
|
||||
int iPadNotSignedInLive = -1;
|
||||
for(unsigned int i = 0; i < XUSER_MAX_COUNT; i++)
|
||||
@@ -1680,7 +1679,7 @@ void CGameNetworkManager::GameInviteReceived( int userIndex, const INVITE_INFO *
|
||||
ui.RequestErrorMessage( IDS_ERROR_NETWORK_TITLE, IDS_ERROR_NETWORK, uiIDA, 1, iPadNotSignedInLive);
|
||||
}
|
||||
else
|
||||
{
|
||||
{
|
||||
// Not signed in to PSN
|
||||
UINT uiIDA[1];
|
||||
uiIDA[0] = IDS_PRO_NOTONLINE_ACCEPT;
|
||||
@@ -1700,10 +1699,10 @@ void CGameNetworkManager::GameInviteReceived( int userIndex, const INVITE_INFO *
|
||||
{
|
||||
m_pInviteInfo = (INVITE_INFO *) pInviteInfo;
|
||||
m_iPlayerInvited = userIndex;
|
||||
|
||||
|
||||
m_pUpsell = new PsPlusUpsellWrapper(index);
|
||||
m_pUpsell->displayUpsell();
|
||||
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -1723,9 +1722,9 @@ void CGameNetworkManager::GameInviteReceived( int userIndex, const INVITE_INFO *
|
||||
// 4J-PB we shouldn't bring any inactive players into the game, except for the invited player (who may be an inactive player)
|
||||
// 4J Stu - If we are not in a game, then bring in all players signed in
|
||||
if(index==userIndex || pMinecraft->localplayers[index]!=NULL )
|
||||
{
|
||||
{
|
||||
++joiningUsers;
|
||||
if( !ProfileManager.AllowedToPlayMultiplayer(index) ) noPrivileges = true;
|
||||
if( !ProfileManager.AllowedToPlayMultiplayer(index) ) noPrivileges = true;
|
||||
localUsersMask |= GetLocalPlayerMask( index );
|
||||
}
|
||||
}
|
||||
@@ -1742,7 +1741,7 @@ void CGameNetworkManager::GameInviteReceived( int userIndex, const INVITE_INFO *
|
||||
ProfileManager.AllowedPlayerCreatedContent(ProfileManager.GetPrimaryPad(),false,&pccAllowed,&pccFriendsAllowed);
|
||||
if(!pccAllowed && !pccFriendsAllowed) noUGC = true;
|
||||
#endif
|
||||
|
||||
|
||||
#if defined(_XBOX) || defined(__PS3__)
|
||||
if(joiningUsers > 1 && !RenderManager.IsHiDef() && userIndex != ProfileManager.GetPrimaryPad())
|
||||
{
|
||||
@@ -1796,10 +1795,10 @@ void CGameNetworkManager::GameInviteReceived( int userIndex, const INVITE_INFO *
|
||||
}
|
||||
#endif
|
||||
if( !g_NetworkManager.IsInSession() )
|
||||
{
|
||||
{
|
||||
#if defined (__PS3__) || defined (__PSVITA__)
|
||||
// PS3 is more complicated here - we need to make sure that the player is online. If they are then we can do the same as the xbox, if not we need to try and get them online and then, if they do sign in, go down the same path
|
||||
|
||||
|
||||
// Determine why they're not "signed in live"
|
||||
// MGH - On Vita we need to add a new message at some point for connecting when already signed in
|
||||
if(ProfileManager.IsSignedInLive(ProfileManager.GetPrimaryPad()))
|
||||
@@ -1816,7 +1815,7 @@ void CGameNetworkManager::GameInviteReceived( int userIndex, const INVITE_INFO *
|
||||
|
||||
|
||||
#else
|
||||
HandleInviteWhenInMenus(userIndex, pInviteInfo);
|
||||
HandleInviteWhenInMenus(userIndex, pInviteInfo);
|
||||
#endif
|
||||
}
|
||||
else
|
||||
@@ -1856,7 +1855,7 @@ void CGameNetworkManager::HandleInviteWhenInMenus( int userIndex, const INVITE_I
|
||||
if(!ProfileManager.IsFullVersion())
|
||||
{
|
||||
// The marketplace will fail with the primary player set to -1
|
||||
ProfileManager.SetPrimaryPad(userIndex);
|
||||
ProfileManager.SetPrimaryPad(userIndex);
|
||||
|
||||
app.SetAction(userIndex,eAppAction_DashboardTrialJoinFromInvite);
|
||||
}
|
||||
@@ -1900,7 +1899,7 @@ void CGameNetworkManager::HandleInviteWhenInMenus( int userIndex, const INVITE_I
|
||||
ProfileManager.QuerySigninStatus();
|
||||
|
||||
// 4J-PB - clear any previous connection errors
|
||||
Minecraft::GetInstance()->clearConnectionFailed();
|
||||
Minecraft::GetInstance()->clearConnectionFailed();
|
||||
|
||||
g_NetworkManager.SetLocalGame(false);
|
||||
|
||||
@@ -1910,7 +1909,7 @@ void CGameNetworkManager::HandleInviteWhenInMenus( int userIndex, const INVITE_I
|
||||
bool success = g_NetworkManager.JoinGameFromInviteInfo( userIndex, localUsersMask, pInviteInfo );
|
||||
if( !success )
|
||||
{
|
||||
app.DebugPrintf( "Failed joining game from invite\n" );
|
||||
app.DebugPrintf( "Failed joining game from invite\n" );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "stdafx.h"
|
||||
#include "stdafx.h"
|
||||
#include "..\..\..\Minecraft.World\Socket.h"
|
||||
#include "..\..\..\Minecraft.World\StringHelpers.h"
|
||||
#include "PlatformNetworkManagerStub.h"
|
||||
@@ -64,9 +64,8 @@ void CPlatformNetworkManagerStub::NotifyPlayerJoined(IQNetPlayer *pQNetPlayer )
|
||||
{
|
||||
// Do we already have a primary player for this system?
|
||||
bool systemHasPrimaryPlayer = false;
|
||||
for(AUTO_VAR(it, m_machineQNetPrimaryPlayers.begin()); it < m_machineQNetPrimaryPlayers.end(); ++it)
|
||||
{
|
||||
IQNetPlayer *pQNetPrimaryPlayer = *it;
|
||||
for (auto& pQNetPrimaryPlayer : m_machineQNetPrimaryPlayers)
|
||||
{
|
||||
if( pQNetPlayer->IsSameSystem(pQNetPrimaryPlayer) )
|
||||
{
|
||||
systemHasPrimaryPlayer = true;
|
||||
@@ -78,7 +77,7 @@ void CPlatformNetworkManagerStub::NotifyPlayerJoined(IQNetPlayer *pQNetPlayer )
|
||||
}
|
||||
}
|
||||
g_NetworkManager.PlayerJoining( networkPlayer );
|
||||
|
||||
|
||||
if( createFakeSocket == true && !m_bHostChanged )
|
||||
{
|
||||
g_NetworkManager.CreateSocket( networkPlayer, localPlayer );
|
||||
@@ -98,7 +97,7 @@ void CPlatformNetworkManagerStub::NotifyPlayerJoined(IQNetPlayer *pQNetPlayer )
|
||||
// g_NetworkManager.UpdateAndSetGameSessionData();
|
||||
SystemFlagAddPlayer( networkPlayer );
|
||||
}
|
||||
|
||||
|
||||
for( int idx = 0; idx < XUSER_MAX_COUNT; ++idx)
|
||||
{
|
||||
if(playerChangedCallback[idx] != NULL)
|
||||
@@ -162,7 +161,7 @@ bool CPlatformNetworkManagerStub::Initialise(CGameNetworkManager *pGameNetworkMa
|
||||
{
|
||||
playerChangedCallback[ i ] = NULL;
|
||||
}
|
||||
|
||||
|
||||
m_bLeavingGame = false;
|
||||
m_bLeaveGameOnTick = false;
|
||||
m_bHostChanged = false;
|
||||
@@ -318,8 +317,8 @@ bool CPlatformNetworkManagerStub::LeaveGame(bool bMigrateHost)
|
||||
m_pIQNet->EndGame();
|
||||
}
|
||||
|
||||
for (AUTO_VAR(it, currentNetworkPlayers.begin()); it != currentNetworkPlayers.end(); it++)
|
||||
delete* it;
|
||||
for (auto & it : currentNetworkPlayers)
|
||||
delete it;
|
||||
currentNetworkPlayers.clear();
|
||||
m_machineQNetPrimaryPlayers.clear();
|
||||
SystemFlagReset();
|
||||
@@ -473,7 +472,7 @@ void CPlatformNetworkManagerStub::UnRegisterPlayerChangedCallback(int iPad, void
|
||||
|
||||
void CPlatformNetworkManagerStub::HandleSignInChange()
|
||||
{
|
||||
return;
|
||||
return;
|
||||
}
|
||||
|
||||
bool CPlatformNetworkManagerStub::_RunNetworkGame()
|
||||
@@ -500,24 +499,24 @@ bool CPlatformNetworkManagerStub::_RunNetworkGame()
|
||||
void CPlatformNetworkManagerStub::UpdateAndSetGameSessionData(INetworkPlayer *pNetworkPlayerLeaving /*= NULL*/)
|
||||
{
|
||||
// DWORD playerCount = m_pIQNet->GetPlayerCount();
|
||||
//
|
||||
//
|
||||
// if( this->m_bLeavingGame )
|
||||
// return;
|
||||
//
|
||||
//
|
||||
// if( GetHostPlayer() == NULL )
|
||||
// return;
|
||||
//
|
||||
//
|
||||
// for(unsigned int i = 0; i < MINECRAFT_NET_MAX_PLAYERS; ++i)
|
||||
// {
|
||||
// if( i < playerCount )
|
||||
// {
|
||||
// INetworkPlayer *pNetworkPlayer = GetPlayerByIndex(i);
|
||||
//
|
||||
//
|
||||
// // We can call this from NotifyPlayerLeaving but at that point the player is still considered in the session
|
||||
// if( pNetworkPlayer != pNetworkPlayerLeaving )
|
||||
// {
|
||||
// m_hostGameSessionData.players[i] = ((NetworkPlayerXbox *)pNetworkPlayer)->GetUID();
|
||||
//
|
||||
//
|
||||
// char *temp;
|
||||
// temp = (char *)wstringtofilename( pNetworkPlayer->GetOnlineName() );
|
||||
// memcpy(m_hostGameSessionData.szPlayers[i],temp,XUSER_NAME_SIZE);
|
||||
@@ -534,7 +533,7 @@ void CPlatformNetworkManagerStub::UpdateAndSetGameSessionData(INetworkPlayer *pN
|
||||
// memset(m_hostGameSessionData.szPlayers[i],0,XUSER_NAME_SIZE);
|
||||
// }
|
||||
// }
|
||||
//
|
||||
//
|
||||
// m_hostGameSessionData.hostPlayerUID = ((NetworkPlayerXbox *)GetHostPlayer())->GetQNetPlayer()->GetXuid();
|
||||
// m_hostGameSessionData.m_uiGameHostSettings = app.GetGameHostOption(eGameHostOption_All);
|
||||
}
|
||||
@@ -823,7 +822,7 @@ void CPlatformNetworkManagerStub::GetFullFriendSessionInfo( FriendSessionInfo *f
|
||||
void CPlatformNetworkManagerStub::ForceFriendsSessionRefresh()
|
||||
{
|
||||
app.DebugPrintf("Resetting friends session search data\n");
|
||||
|
||||
|
||||
for(unsigned int i = 0; i < XUSER_MAX_COUNT; ++i)
|
||||
{
|
||||
m_searchResultsCount[i] = 0;
|
||||
@@ -844,8 +843,8 @@ INetworkPlayer *CPlatformNetworkManagerStub::addNetworkPlayer(IQNetPlayer *pQNet
|
||||
void CPlatformNetworkManagerStub::removeNetworkPlayer(IQNetPlayer *pQNetPlayer)
|
||||
{
|
||||
INetworkPlayer *pNetworkPlayer = getNetworkPlayer(pQNetPlayer);
|
||||
for( AUTO_VAR(it, currentNetworkPlayers.begin()); it != currentNetworkPlayers.end(); it++ )
|
||||
{
|
||||
for (auto it = currentNetworkPlayers.begin(); it != currentNetworkPlayers.end(); it++)
|
||||
{
|
||||
if( *it == pNetworkPlayer )
|
||||
{
|
||||
currentNetworkPlayers.erase(it);
|
||||
@@ -862,7 +861,7 @@ INetworkPlayer *CPlatformNetworkManagerStub::getNetworkPlayer(IQNetPlayer *pQNet
|
||||
|
||||
INetworkPlayer *CPlatformNetworkManagerStub::GetLocalPlayerByUserIndex(int userIndex )
|
||||
{
|
||||
return getNetworkPlayer(m_pIQNet->GetLocalPlayerByUserIndex(userIndex));
|
||||
return getNetworkPlayer(m_pIQNet->GetLocalPlayerByUserIndex(userIndex));
|
||||
}
|
||||
|
||||
INetworkPlayer *CPlatformNetworkManagerStub::GetPlayerByIndex(int playerIndex)
|
||||
|
||||
@@ -7,21 +7,21 @@
|
||||
|
||||
CPlatformNetworkManagerSony *g_pPlatformNetworkManager;
|
||||
|
||||
bool CPlatformNetworkManagerSony::IsLocalGame()
|
||||
{
|
||||
return m_bIsOfflineGame;
|
||||
bool CPlatformNetworkManagerSony::IsLocalGame()
|
||||
{
|
||||
return m_bIsOfflineGame;
|
||||
}
|
||||
bool CPlatformNetworkManagerSony::IsPrivateGame()
|
||||
{
|
||||
return m_bIsPrivateGame;
|
||||
bool CPlatformNetworkManagerSony::IsPrivateGame()
|
||||
{
|
||||
return m_bIsPrivateGame;
|
||||
}
|
||||
bool CPlatformNetworkManagerSony::IsLeavingGame()
|
||||
{
|
||||
return m_bLeavingGame;
|
||||
bool CPlatformNetworkManagerSony::IsLeavingGame()
|
||||
{
|
||||
return m_bLeavingGame;
|
||||
}
|
||||
void CPlatformNetworkManagerSony::ResetLeavingGame()
|
||||
{
|
||||
m_bLeavingGame = false;
|
||||
void CPlatformNetworkManagerSony::ResetLeavingGame()
|
||||
{
|
||||
m_bLeavingGame = false;
|
||||
}
|
||||
|
||||
|
||||
@@ -188,9 +188,8 @@ void CPlatformNetworkManagerSony::HandlePlayerJoined(SQRNetworkPlayer *
|
||||
{
|
||||
// Do we already have a primary player for this system?
|
||||
bool systemHasPrimaryPlayer = false;
|
||||
for(AUTO_VAR(it, m_machineSQRPrimaryPlayers.begin()); it < m_machineSQRPrimaryPlayers.end(); ++it)
|
||||
for( SQRNetworkPlayer *pQNetPrimaryPlayer : m_machineSQRPrimaryPlayers )
|
||||
{
|
||||
SQRNetworkPlayer *pQNetPrimaryPlayer = *it;
|
||||
if( pSQRPlayer->IsSameSystem(pQNetPrimaryPlayer) )
|
||||
{
|
||||
systemHasPrimaryPlayer = true;
|
||||
@@ -202,7 +201,7 @@ void CPlatformNetworkManagerSony::HandlePlayerJoined(SQRNetworkPlayer *
|
||||
}
|
||||
}
|
||||
g_NetworkManager.PlayerJoining( networkPlayer );
|
||||
|
||||
|
||||
if( createFakeSocket == true && !m_bHostChanged )
|
||||
{
|
||||
g_NetworkManager.CreateSocket( networkPlayer, localPlayer );
|
||||
@@ -224,7 +223,7 @@ void CPlatformNetworkManagerSony::HandlePlayerJoined(SQRNetworkPlayer *
|
||||
g_NetworkManager.UpdateAndSetGameSessionData();
|
||||
SystemFlagAddPlayer( networkPlayer );
|
||||
}
|
||||
|
||||
|
||||
for( int idx = 0; idx < XUSER_MAX_COUNT; ++idx)
|
||||
{
|
||||
if(playerChangedCallback[idx] != NULL)
|
||||
@@ -293,7 +292,7 @@ void CPlatformNetworkManagerSony::HandlePlayerLeaving(SQRNetworkPlayer *pSQRPlay
|
||||
break;
|
||||
}
|
||||
}
|
||||
AUTO_VAR(it, find( m_machineSQRPrimaryPlayers.begin(), m_machineSQRPrimaryPlayers.end(), pSQRPlayer));
|
||||
auto it = find( m_machineSQRPrimaryPlayers.begin(), m_machineSQRPrimaryPlayers.end(), pSQRPlayer);
|
||||
if( it != m_machineSQRPrimaryPlayers.end() )
|
||||
{
|
||||
m_machineSQRPrimaryPlayers.erase( it );
|
||||
@@ -309,7 +308,7 @@ void CPlatformNetworkManagerSony::HandlePlayerLeaving(SQRNetworkPlayer *pSQRPlay
|
||||
}
|
||||
|
||||
g_NetworkManager.PlayerLeaving( networkPlayer );
|
||||
|
||||
|
||||
for( int idx = 0; idx < XUSER_MAX_COUNT; ++idx)
|
||||
{
|
||||
if(playerChangedCallback[idx] != NULL)
|
||||
@@ -374,7 +373,7 @@ bool CPlatformNetworkManagerSony::Initialise(CGameNetworkManager *pGameNetworkMa
|
||||
#ifdef __ORBIS__
|
||||
m_pSQRNet = new SQRNetworkManager_Orbis(this);
|
||||
m_pSQRNet->Initialise();
|
||||
#elif defined __PS3__
|
||||
#elif defined __PS3__
|
||||
m_pSQRNet = new SQRNetworkManager_PS3(this);
|
||||
m_pSQRNet->Initialise();
|
||||
#else // __PSVITA__
|
||||
@@ -405,7 +404,7 @@ bool CPlatformNetworkManagerSony::Initialise(CGameNetworkManager *pGameNetworkMa
|
||||
{
|
||||
playerChangedCallback[ i ] = NULL;
|
||||
}
|
||||
|
||||
|
||||
m_bLeavingGame = false;
|
||||
m_bLeaveGameOnTick = false;
|
||||
m_bHostChanged = false;
|
||||
@@ -419,7 +418,7 @@ bool CPlatformNetworkManagerSony::Initialise(CGameNetworkManager *pGameNetworkMa
|
||||
|
||||
m_searchResultsCount = 0;
|
||||
m_pSearchResults = NULL;
|
||||
|
||||
|
||||
m_lastSearchStartTime = 0;
|
||||
|
||||
// Success!
|
||||
@@ -458,7 +457,7 @@ int CPlatformNetworkManagerSony::CorrectErrorIDS(int IDS)
|
||||
bool preferSignoutError = false;
|
||||
int state;
|
||||
|
||||
#if defined __PSVITA__ // MGH - to fix devtrack #6258
|
||||
#if defined __PSVITA__ // MGH - to fix devtrack #6258
|
||||
if(!ProfileManager.IsSignedInPSN(ProfileManager.GetPrimaryPad()))
|
||||
preferSignoutError = true;
|
||||
#elif defined __ORBIS__
|
||||
@@ -529,9 +528,8 @@ int CPlatformNetworkManagerSony::CorrectErrorIDS(int IDS)
|
||||
bool CPlatformNetworkManagerSony::isSystemPrimaryPlayer(SQRNetworkPlayer *pSQRPlayer)
|
||||
{
|
||||
bool playerIsSystemPrimary = false;
|
||||
for(AUTO_VAR(it, m_machineSQRPrimaryPlayers.begin()); it < m_machineSQRPrimaryPlayers.end(); ++it)
|
||||
for( SQRNetworkPlayer *pSQRPrimaryPlayer : m_machineSQRPrimaryPlayers )
|
||||
{
|
||||
SQRNetworkPlayer *pSQRPrimaryPlayer = *it;
|
||||
if( pSQRPrimaryPlayer == pSQRPlayer )
|
||||
{
|
||||
playerIsSystemPrimary = true;
|
||||
@@ -552,7 +550,7 @@ void CPlatformNetworkManagerSony::DoWork()
|
||||
m_notificationListener,
|
||||
0, // Any notification
|
||||
&dwNotifyId,
|
||||
&ulpNotifyParam)
|
||||
&ulpNotifyParam)
|
||||
)
|
||||
{
|
||||
|
||||
@@ -650,7 +648,7 @@ bool CPlatformNetworkManagerSony::IsInStatsEnabledSession()
|
||||
DWORD dataSize = sizeof(QNET_LIVE_STATS_MODE);
|
||||
QNET_LIVE_STATS_MODE statsMode;
|
||||
m_pIQNet->GetOpt(QNET_OPTION_LIVE_STATS_MODE, &statsMode , &dataSize );
|
||||
|
||||
|
||||
// Use QNET_LIVE_STATS_MODE_AUTO if there is another way to check if stats are enabled or not
|
||||
bool statsEnabled = statsMode == QNET_LIVE_STATS_MODE_ENABLED;
|
||||
return m_pIQNet->GetState() != QNET_STATE_IDLE && statsEnabled;
|
||||
@@ -732,7 +730,7 @@ bool CPlatformNetworkManagerSony::LeaveGame(bool bMigrateHost)
|
||||
|
||||
// If we are the host wait for the game server to end
|
||||
if(m_pSQRNet->IsHost() && g_NetworkManager.ServerStoppedValid())
|
||||
{
|
||||
{
|
||||
m_pSQRNet->EndGame();
|
||||
g_NetworkManager.ServerStoppedWait();
|
||||
g_NetworkManager.ServerStoppedDestroy();
|
||||
@@ -887,7 +885,7 @@ void CPlatformNetworkManagerSony::UnRegisterPlayerChangedCallback(int iPad, void
|
||||
|
||||
void CPlatformNetworkManagerSony::HandleSignInChange()
|
||||
{
|
||||
return;
|
||||
return;
|
||||
}
|
||||
|
||||
bool CPlatformNetworkManagerSony::_RunNetworkGame()
|
||||
@@ -930,7 +928,7 @@ void CPlatformNetworkManagerSony::UpdateAndSetGameSessionData(INetworkPlayer *pN
|
||||
{
|
||||
m_hostGameSessionData.hostPlayerUID.setForAdhoc();
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
m_hostGameSessionData.m_uiGameHostSettings = app.GetGameHostOption(eGameHostOption_All);
|
||||
|
||||
@@ -1066,8 +1064,8 @@ bool CPlatformNetworkManagerSony::SystemFlagGet(INetworkPlayer *pNetworkPlayer,
|
||||
wstring CPlatformNetworkManagerSony::GatherStats()
|
||||
{
|
||||
#if 0
|
||||
return L"Queue messages: " + _toString(((NetworkPlayerXbox *)GetHostPlayer())->GetQNetPlayer()->GetSendQueueSize( NULL, QNET_GETSENDQUEUESIZE_MESSAGES ) )
|
||||
+ L" Queue bytes: " + _toString( ((NetworkPlayerXbox *)GetHostPlayer())->GetQNetPlayer()->GetSendQueueSize( NULL, QNET_GETSENDQUEUESIZE_BYTES ) );
|
||||
return L"Queue messages: " + std::to_wstring(((NetworkPlayerXbox *)GetHostPlayer())->GetQNetPlayer()->GetSendQueueSize( NULL, QNET_GETSENDQUEUESIZE_MESSAGES ) )
|
||||
+ L" Queue bytes: " + std::to_wstring( ((NetworkPlayerXbox *)GetHostPlayer())->GetQNetPlayer()->GetSendQueueSize( NULL, QNET_GETSENDQUEUESIZE_BYTES ) );
|
||||
#else
|
||||
return L"";
|
||||
#endif
|
||||
@@ -1192,7 +1190,7 @@ bool CPlatformNetworkManagerSony::GetGameSessionInfo(int iPad, SessionID session
|
||||
|
||||
bool foundSession = false;
|
||||
FriendSessionInfo *sessionInfo = NULL;
|
||||
AUTO_VAR(itFriendSession, friendsSessions[iPad].begin());
|
||||
auto itFriendSession = friendsSessions[iPad].begin();
|
||||
for(itFriendSession = friendsSessions[iPad].begin(); itFriendSession < friendsSessions[iPad].end(); ++itFriendSession)
|
||||
{
|
||||
sessionInfo = *itFriendSession;
|
||||
@@ -1224,7 +1222,7 @@ bool CPlatformNetworkManagerSony::GetGameSessionInfo(int iPad, SessionID session
|
||||
else
|
||||
{
|
||||
swprintf(sessionInfo->displayLabel,app.GetString(IDS_GAME_HOST_NAME_UNKNOWN));
|
||||
}
|
||||
}
|
||||
sessionInfo->displayLabelLength = wcslen( sessionInfo->displayLabel );
|
||||
|
||||
// If this host wasn't disabled use this one.
|
||||
@@ -1283,7 +1281,7 @@ INetworkPlayer *CPlatformNetworkManagerSony::addNetworkPlayer(SQRNetworkPlayer *
|
||||
void CPlatformNetworkManagerSony::removeNetworkPlayer(SQRNetworkPlayer *pSQRPlayer)
|
||||
{
|
||||
INetworkPlayer *pNetworkPlayer = getNetworkPlayer(pSQRPlayer);
|
||||
for( AUTO_VAR(it, currentNetworkPlayers.begin()); it != currentNetworkPlayers.end(); it++ )
|
||||
for( auto it = currentNetworkPlayers.begin(); it != currentNetworkPlayers.end(); it++ )
|
||||
{
|
||||
if( *it == pNetworkPlayer )
|
||||
{
|
||||
@@ -1301,7 +1299,7 @@ INetworkPlayer *CPlatformNetworkManagerSony::getNetworkPlayer(SQRNetworkPlayer *
|
||||
|
||||
INetworkPlayer *CPlatformNetworkManagerSony::GetLocalPlayerByUserIndex(int userIndex )
|
||||
{
|
||||
return getNetworkPlayer(m_pSQRNet->GetLocalPlayerByUserIndex(userIndex));
|
||||
return getNetworkPlayer(m_pSQRNet->GetLocalPlayerByUserIndex(userIndex));
|
||||
}
|
||||
|
||||
INetworkPlayer *CPlatformNetworkManagerSony::GetPlayerByIndex(int playerIndex)
|
||||
@@ -1400,7 +1398,7 @@ bool CPlatformNetworkManagerSony::setAdhocMode( bool bAdhoc )
|
||||
{
|
||||
if(m_bUsingAdhocMode != bAdhoc)
|
||||
{
|
||||
m_bUsingAdhocMode = bAdhoc;
|
||||
m_bUsingAdhocMode = bAdhoc;
|
||||
if(m_bUsingAdhocMode)
|
||||
{
|
||||
// uninit the PSN, and init adhoc
|
||||
@@ -1419,14 +1417,14 @@ bool CPlatformNetworkManagerSony::setAdhocMode( bool bAdhoc )
|
||||
else
|
||||
{
|
||||
if(m_pSQRNet_Vita_Adhoc->IsInitialised())
|
||||
{
|
||||
int ret = sceNetCtlAdhocDisconnect();
|
||||
{
|
||||
int ret = sceNetCtlAdhocDisconnect();
|
||||
// uninit the adhoc, and init psn
|
||||
m_pSQRNet_Vita_Adhoc->UnInitialise();
|
||||
}
|
||||
|
||||
if(m_pSQRNet_Vita->IsInitialised()==false)
|
||||
{
|
||||
{
|
||||
m_pSQRNet_Vita->Initialise();
|
||||
}
|
||||
|
||||
|
||||
@@ -23,9 +23,8 @@ bool AreaTask::isCompleted()
|
||||
case eAreaTaskCompletion_CompleteOnConstraintsSatisfied:
|
||||
{
|
||||
bool allSatisfied = true;
|
||||
for(AUTO_VAR(it, constraints.begin()); it != constraints.end(); ++it)
|
||||
for( auto& constraint : constraints )
|
||||
{
|
||||
TutorialConstraint *constraint = *it;
|
||||
if(!constraint->isConstraintSatisfied(tutorial->getPad()))
|
||||
{
|
||||
allSatisfied = false;
|
||||
|
||||
@@ -53,15 +53,15 @@ bool ControllerTask::isCompleted()
|
||||
|
||||
if(m_bHasSouthpaw && app.GetGameSettings(pMinecraft->player->GetXboxPad(),eGameSetting_ControlSouthPaw))
|
||||
{
|
||||
for(AUTO_VAR(it, southpawCompletedMappings.begin()); it != southpawCompletedMappings.end(); ++it)
|
||||
for (auto& it : southpawCompletedMappings )
|
||||
{
|
||||
bool current = (*it).second;
|
||||
bool current = it.second;
|
||||
if(!current)
|
||||
{
|
||||
// TODO Use a different pad
|
||||
if( InputManager.GetValue(pMinecraft->player->GetXboxPad(), (*it).first) > 0 )
|
||||
if( InputManager.GetValue(pMinecraft->player->GetXboxPad(), it.first) > 0 )
|
||||
{
|
||||
(*it).second = true;
|
||||
it.second = true;
|
||||
m_uiCompletionMask|=1<<iCurrent;
|
||||
}
|
||||
else
|
||||
@@ -78,15 +78,15 @@ bool ControllerTask::isCompleted()
|
||||
}
|
||||
else
|
||||
{
|
||||
for(AUTO_VAR(it, completedMappings.begin()); it != completedMappings.end(); ++it)
|
||||
for (auto& it : completedMappings )
|
||||
{
|
||||
bool current = (*it).second;
|
||||
bool current = it.second;
|
||||
if(!current)
|
||||
{
|
||||
// TODO Use a different pad
|
||||
if( InputManager.GetValue(pMinecraft->player->GetXboxPad(), (*it).first) > 0 )
|
||||
if( InputManager.GetValue(pMinecraft->player->GetXboxPad(), it.first) > 0 )
|
||||
{
|
||||
(*it).second = true;
|
||||
it.second = true;
|
||||
m_uiCompletionMask|=1<<iCurrent;
|
||||
}
|
||||
else
|
||||
|
||||
@@ -37,7 +37,7 @@ bool InfoTask::isCompleted()
|
||||
return false;
|
||||
|
||||
bool bAllComplete = true;
|
||||
|
||||
|
||||
Minecraft *pMinecraft = Minecraft::GetInstance();
|
||||
|
||||
// If the player is under water then allow all keypresses so they can jump out
|
||||
@@ -47,9 +47,9 @@ bool InfoTask::isCompleted()
|
||||
{
|
||||
// If a menu is displayed, then we use the handleUIInput to complete the task
|
||||
bAllComplete = true;
|
||||
for(AUTO_VAR(it, completedMappings.begin()); it != completedMappings.end(); ++it)
|
||||
for( auto& it : completedMappings )
|
||||
{
|
||||
bool current = (*it).second;
|
||||
bool current = it.second;
|
||||
if(!current)
|
||||
{
|
||||
bAllComplete = false;
|
||||
@@ -61,18 +61,18 @@ bool InfoTask::isCompleted()
|
||||
{
|
||||
int iCurrent=0;
|
||||
|
||||
for(AUTO_VAR(it, completedMappings.begin()); it != completedMappings.end(); ++it)
|
||||
for( auto& it : completedMappings )
|
||||
{
|
||||
bool current = (*it).second;
|
||||
bool current = it.second;
|
||||
if(!current)
|
||||
{
|
||||
#ifdef _WINDOWS64
|
||||
if (InputManager.GetValue(pMinecraft->player->GetXboxPad(), (*it).first) > 0 || g_KBMInput.IsKeyDown(VK_SPACE))
|
||||
if (InputManager.GetValue(pMinecraft->player->GetXboxPad(), it.first) > 0 || g_KBMInput.IsKeyDown(VK_SPACE))
|
||||
#else
|
||||
if( InputManager.GetValue(pMinecraft->player->GetXboxPad(), (*it).first) > 0)
|
||||
if( InputManager.GetValue(pMinecraft->player->GetXboxPad(), it.first) > 0)
|
||||
#endif
|
||||
{
|
||||
(*it).second = true;
|
||||
it.second = true;
|
||||
bAllComplete=true;
|
||||
}
|
||||
else
|
||||
@@ -111,11 +111,11 @@ void InfoTask::handleUIInput(int iAction)
|
||||
{
|
||||
if(bHasBeenActivated)
|
||||
{
|
||||
for(AUTO_VAR(it, completedMappings.begin()); it != completedMappings.end(); ++it)
|
||||
for( auto& it : completedMappings )
|
||||
{
|
||||
if( iAction == (*it).first )
|
||||
if( iAction == it.first )
|
||||
{
|
||||
(*it).second = true;
|
||||
it.second = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
|
||||
ProcedureCompoundTask::~ProcedureCompoundTask()
|
||||
{
|
||||
for(AUTO_VAR(it, m_taskSequence.begin()); it < m_taskSequence.end(); ++it)
|
||||
{
|
||||
for (auto it = m_taskSequence.begin(); it < m_taskSequence.end(); ++it)
|
||||
{
|
||||
delete (*it);
|
||||
}
|
||||
}
|
||||
@@ -24,10 +24,8 @@ int ProcedureCompoundTask::getDescriptionId()
|
||||
|
||||
// Return the id of the first task not completed
|
||||
int descriptionId = -1;
|
||||
AUTO_VAR(itEnd, m_taskSequence.end());
|
||||
for(AUTO_VAR(it, m_taskSequence.begin()); it < itEnd; ++it)
|
||||
{
|
||||
TutorialTask *task = *it;
|
||||
for (auto& task : m_taskSequence)
|
||||
{
|
||||
if(!task->isCompleted())
|
||||
{
|
||||
task->setAsCurrentTask(true);
|
||||
@@ -50,10 +48,8 @@ int ProcedureCompoundTask::getPromptId()
|
||||
|
||||
// Return the id of the first task not completed
|
||||
int promptId = -1;
|
||||
AUTO_VAR(itEnd, m_taskSequence.end());
|
||||
for(AUTO_VAR(it, m_taskSequence.begin()); it < itEnd; ++it)
|
||||
for(auto& task : m_taskSequence)
|
||||
{
|
||||
TutorialTask *task = *it;
|
||||
if(!task->isCompleted())
|
||||
{
|
||||
promptId = task->getPromptId();
|
||||
@@ -69,11 +65,8 @@ bool ProcedureCompoundTask::isCompleted()
|
||||
|
||||
bool allCompleted = true;
|
||||
bool isCurrentTask = true;
|
||||
AUTO_VAR(itEnd, m_taskSequence.end());
|
||||
for(AUTO_VAR(it, m_taskSequence.begin()); it < itEnd; ++it)
|
||||
for(auto& task : m_taskSequence)
|
||||
{
|
||||
TutorialTask *task = *it;
|
||||
|
||||
if(allCompleted && isCurrentTask)
|
||||
{
|
||||
if(task->isCompleted())
|
||||
@@ -99,11 +92,9 @@ bool ProcedureCompoundTask::isCompleted()
|
||||
|
||||
if(allCompleted)
|
||||
{
|
||||
//Disable all constraints
|
||||
itEnd = m_taskSequence.end();
|
||||
for(AUTO_VAR(it, m_taskSequence.begin()); it < itEnd; ++it)
|
||||
// Disable all constraints
|
||||
for(auto& task : m_taskSequence)
|
||||
{
|
||||
TutorialTask *task = *it;
|
||||
task->enableConstraints(false);
|
||||
}
|
||||
}
|
||||
@@ -113,20 +104,16 @@ bool ProcedureCompoundTask::isCompleted()
|
||||
|
||||
void ProcedureCompoundTask::onCrafted(shared_ptr<ItemInstance> item)
|
||||
{
|
||||
AUTO_VAR(itEnd, m_taskSequence.end());
|
||||
for(AUTO_VAR(it, m_taskSequence.begin()); it < itEnd; ++it)
|
||||
for(auto& task : m_taskSequence)
|
||||
{
|
||||
TutorialTask *task = *it;
|
||||
task->onCrafted(item);
|
||||
}
|
||||
}
|
||||
|
||||
void ProcedureCompoundTask::handleUIInput(int iAction)
|
||||
{
|
||||
AUTO_VAR(itEnd, m_taskSequence.end());
|
||||
for(AUTO_VAR(it, m_taskSequence.begin()); it < itEnd; ++it)
|
||||
for(auto task : m_taskSequence)
|
||||
{
|
||||
TutorialTask *task = *it;
|
||||
task->handleUIInput(iAction);
|
||||
}
|
||||
}
|
||||
@@ -135,10 +122,8 @@ void ProcedureCompoundTask::handleUIInput(int iAction)
|
||||
void ProcedureCompoundTask::setAsCurrentTask(bool active /*= true*/)
|
||||
{
|
||||
bool allCompleted = true;
|
||||
AUTO_VAR(itEnd, m_taskSequence.end());
|
||||
for(AUTO_VAR(it, m_taskSequence.begin()); it < itEnd; ++it)
|
||||
for(auto& task : m_taskSequence)
|
||||
{
|
||||
TutorialTask *task = *it;
|
||||
if(allCompleted && !task->isCompleted())
|
||||
{
|
||||
task->setAsCurrentTask(true);
|
||||
@@ -157,10 +142,8 @@ bool ProcedureCompoundTask::ShowMinimumTime()
|
||||
return false;
|
||||
|
||||
bool showMinimumTime = false;
|
||||
AUTO_VAR(itEnd, m_taskSequence.end());
|
||||
for(AUTO_VAR(it, m_taskSequence.begin()); it < itEnd; ++it)
|
||||
for(auto& task : m_taskSequence)
|
||||
{
|
||||
TutorialTask *task = *it;
|
||||
if(!task->isCompleted())
|
||||
{
|
||||
showMinimumTime = task->ShowMinimumTime();
|
||||
@@ -176,10 +159,8 @@ bool ProcedureCompoundTask::hasBeenActivated()
|
||||
return true;
|
||||
|
||||
bool hasBeenActivated = false;
|
||||
AUTO_VAR(itEnd, m_taskSequence.end());
|
||||
for(AUTO_VAR(it, m_taskSequence.begin()); it < itEnd; ++it)
|
||||
for(auto& task : m_taskSequence)
|
||||
{
|
||||
TutorialTask *task = *it;
|
||||
if(!task->isCompleted())
|
||||
{
|
||||
hasBeenActivated = task->hasBeenActivated();
|
||||
@@ -191,10 +172,8 @@ bool ProcedureCompoundTask::hasBeenActivated()
|
||||
|
||||
void ProcedureCompoundTask::setShownForMinimumTime()
|
||||
{
|
||||
AUTO_VAR(itEnd, m_taskSequence.end());
|
||||
for(AUTO_VAR(it, m_taskSequence.begin()); it < itEnd; ++it)
|
||||
for(auto& task : m_taskSequence)
|
||||
{
|
||||
TutorialTask *task = *it;
|
||||
if(!task->isCompleted())
|
||||
{
|
||||
task->setShownForMinimumTime();
|
||||
@@ -209,10 +188,8 @@ bool ProcedureCompoundTask::AllowFade()
|
||||
return true;
|
||||
|
||||
bool allowFade = true;
|
||||
AUTO_VAR(itEnd, m_taskSequence.end());
|
||||
for(AUTO_VAR(it, m_taskSequence.begin()); it < itEnd; ++it)
|
||||
for(auto& task : m_taskSequence)
|
||||
{
|
||||
TutorialTask *task = *it;
|
||||
if(!task->isCompleted())
|
||||
{
|
||||
allowFade = task->AllowFade();
|
||||
@@ -224,40 +201,32 @@ bool ProcedureCompoundTask::AllowFade()
|
||||
|
||||
void ProcedureCompoundTask::useItemOn(Level *level, shared_ptr<ItemInstance> item, int x, int y, int z,bool bTestUseOnly)
|
||||
{
|
||||
AUTO_VAR(itEnd, m_taskSequence.end());
|
||||
for(AUTO_VAR(it, m_taskSequence.begin()); it < itEnd; ++it)
|
||||
for(auto& task : m_taskSequence)
|
||||
{
|
||||
TutorialTask *task = *it;
|
||||
task->useItemOn(level, item, x, y, z, bTestUseOnly);
|
||||
}
|
||||
}
|
||||
|
||||
void ProcedureCompoundTask::useItem(shared_ptr<ItemInstance> item, bool bTestUseOnly)
|
||||
{
|
||||
AUTO_VAR(itEnd, m_taskSequence.end());
|
||||
for(AUTO_VAR(it, m_taskSequence.begin()); it < itEnd; ++it)
|
||||
for(auto& task : m_taskSequence)
|
||||
{
|
||||
TutorialTask *task = *it;
|
||||
task->useItem(item, bTestUseOnly);
|
||||
}
|
||||
}
|
||||
|
||||
void ProcedureCompoundTask::onTake(shared_ptr<ItemInstance> item, unsigned int invItemCountAnyAux, unsigned int invItemCountThisAux)
|
||||
{
|
||||
AUTO_VAR(itEnd, m_taskSequence.end());
|
||||
for(AUTO_VAR(it, m_taskSequence.begin()); it < itEnd; ++it)
|
||||
for(auto& task : m_taskSequence)
|
||||
{
|
||||
TutorialTask *task = *it;
|
||||
task->onTake(item, invItemCountAnyAux, invItemCountThisAux);
|
||||
}
|
||||
}
|
||||
|
||||
void ProcedureCompoundTask::onStateChange(eTutorial_State newState)
|
||||
{
|
||||
AUTO_VAR(itEnd, m_taskSequence.end());
|
||||
for(AUTO_VAR(it, m_taskSequence.begin()); it < itEnd; ++it)
|
||||
for(auto& task : m_taskSequence)
|
||||
{
|
||||
TutorialTask *task = *it;
|
||||
task->onStateChange(newState);
|
||||
}
|
||||
}
|
||||
@@ -41,7 +41,7 @@ bool Tutorial::PopupMessageDetails::isSameContent(PopupMessageDetails *other)
|
||||
|
||||
void Tutorial::staticCtor()
|
||||
{
|
||||
//
|
||||
//
|
||||
/*
|
||||
*****
|
||||
*****
|
||||
@@ -72,7 +72,7 @@ void Tutorial::staticCtor()
|
||||
s_completableTasks.push_back( e_Tutorial_State_Enchanting );
|
||||
|
||||
s_completableTasks.push_back( e_Tutorial_Hint_Hold_To_Mine );
|
||||
s_completableTasks.push_back( e_Tutorial_Hint_Tool_Damaged );
|
||||
s_completableTasks.push_back( e_Tutorial_Hint_Tool_Damaged );
|
||||
s_completableTasks.push_back( e_Tutorial_Hint_Swim_Up );
|
||||
|
||||
s_completableTasks.push_back( e_Tutorial_Hint_Unused_2 );
|
||||
@@ -164,7 +164,7 @@ void Tutorial::staticCtor()
|
||||
s_completableTasks.push_back( e_Tutorial_Hint_Thin_Glass );
|
||||
s_completableTasks.push_back( e_Tutorial_Hint_Melon );
|
||||
s_completableTasks.push_back( e_Tutorial_Hint_Vine );
|
||||
s_completableTasks.push_back( e_Tutorial_Hint_Fence_Gate );
|
||||
s_completableTasks.push_back( e_Tutorial_Hint_Fence_Gate );
|
||||
s_completableTasks.push_back( e_Tutorial_Hint_Mycel );
|
||||
s_completableTasks.push_back( e_Tutorial_Hint_Water_Lily );
|
||||
s_completableTasks.push_back( e_Tutorial_Hint_Nether_Brick );
|
||||
@@ -319,7 +319,7 @@ void Tutorial::staticCtor()
|
||||
s_completableTasks.push_back( e_Tutorial_State_Enderchests );
|
||||
s_completableTasks.push_back( e_Tutorial_State_Horse_Menu );
|
||||
s_completableTasks.push_back( e_Tutorial_State_Hopper_Menu );
|
||||
|
||||
|
||||
s_completableTasks.push_back( e_Tutorial_Hint_Wither );
|
||||
s_completableTasks.push_back( e_Tutorial_Hint_Witch );
|
||||
s_completableTasks.push_back( e_Tutorial_Hint_Bat );
|
||||
@@ -470,7 +470,7 @@ Tutorial::Tutorial(int iPad, bool isFullTutorial /*= false*/) : m_iPad( iPad )
|
||||
if(!isHintCompleted(e_Tutorial_Hint_Detector_Rail)) addHint(e_Tutorial_State_Gameplay, new LookAtTileHint(e_Tutorial_Hint_Detector_Rail, this, detectorRailItems, 1 ) );
|
||||
|
||||
int tallGrassItems[] = {Tile::tallgrass_Id};
|
||||
if(!isHintCompleted(e_Tutorial_Hint_Tall_Grass))
|
||||
if(!isHintCompleted(e_Tutorial_Hint_Tall_Grass))
|
||||
{
|
||||
addHint(e_Tutorial_State_Gameplay, new LookAtTileHint(e_Tutorial_Hint_Tall_Grass, this, tallGrassItems, 1, -1, TallGrass::DEAD_SHRUB ) );
|
||||
addHint(e_Tutorial_State_Gameplay, new LookAtTileHint(e_Tutorial_Hint_Tall_Grass, this, tallGrassItems, 1, -1, TallGrass::TALL_GRASS ) );
|
||||
@@ -753,46 +753,46 @@ Tutorial::Tutorial(int iPad, bool isFullTutorial /*= false*/) : m_iPad( iPad )
|
||||
|
||||
int potatoItems[] = {Tile::potatoes_Id};
|
||||
if(!isHintCompleted(e_Tutorial_Hint_Potato)) addHint(e_Tutorial_State_Gameplay, new LookAtTileHint(e_Tutorial_Hint_Potato, this, potatoItems, 1, -1, -1, 7 ) );
|
||||
|
||||
|
||||
int carrotItems[] = {Tile::carrots_Id};
|
||||
if(!isHintCompleted(e_Tutorial_Hint_Carrot)) addHint(e_Tutorial_State_Gameplay, new LookAtTileHint(e_Tutorial_Hint_Carrot, this, carrotItems, 1, -1, -1, 7 ) );
|
||||
|
||||
|
||||
int commandBlockItems[] = {Tile::commandBlock_Id};
|
||||
if(!isHintCompleted(e_Tutorial_Hint_CommandBlock)) addHint(e_Tutorial_State_Gameplay, new LookAtTileHint(e_Tutorial_Hint_CommandBlock, this, commandBlockItems, 1 ) );
|
||||
|
||||
|
||||
int beaconItems[] = {Tile::beacon_Id};
|
||||
if(!isHintCompleted(e_Tutorial_Hint_Beacon)) addHint(e_Tutorial_State_Gameplay, new LookAtTileHint(e_Tutorial_Hint_Beacon, this, beaconItems, 1 ) );
|
||||
|
||||
|
||||
int activatorRailItems[] = {Tile::activatorRail_Id};
|
||||
if(!isHintCompleted(e_Tutorial_Hint_Activator_Rail)) addHint(e_Tutorial_State_Gameplay, new LookAtTileHint(e_Tutorial_Hint_Activator_Rail, this, activatorRailItems, 1 ) );
|
||||
|
||||
|
||||
int redstoneBlockItems[] = {Tile::redstoneBlock_Id};
|
||||
if(!isHintCompleted(e_Tutorial_Hint_RedstoneBlock)) addHint(e_Tutorial_State_Gameplay, new LookAtTileHint(e_Tutorial_Hint_RedstoneBlock, this, redstoneBlockItems, 1 ) );
|
||||
|
||||
|
||||
int daylightDetectorItems[] = {Tile::daylightDetector_Id};
|
||||
if(!isHintCompleted(e_Tutorial_Hint_DaylightDetector)) addHint(e_Tutorial_State_Gameplay, new LookAtTileHint(e_Tutorial_Hint_DaylightDetector, this, daylightDetectorItems, 1 ) );
|
||||
|
||||
|
||||
int dropperItems[] = {Tile::dropper_Id};
|
||||
if(!isHintCompleted(e_Tutorial_Hint_Dropper)) addHint(e_Tutorial_State_Gameplay, new LookAtTileHint(e_Tutorial_Hint_Dropper, this, dropperItems, 1 ) );
|
||||
|
||||
|
||||
int hopperItems[] = {Tile::hopper_Id};
|
||||
if(!isHintCompleted(e_Tutorial_Hint_Hopper)) addHint(e_Tutorial_State_Gameplay, new LookAtTileHint(e_Tutorial_Hint_Hopper, this, hopperItems, 1 ) );
|
||||
|
||||
|
||||
int comparatorItems[] = {Tile::comparator_off_Id, Tile::comparator_on_Id};
|
||||
if(!isHintCompleted(e_Tutorial_Hint_Comparator)) addHint(e_Tutorial_State_Gameplay, new LookAtTileHint(e_Tutorial_Hint_Comparator, this, comparatorItems, 2, Item::comparator_Id ) );
|
||||
|
||||
|
||||
int trappedChestItems[] = {Tile::chest_trap_Id};
|
||||
if(!isHintCompleted(e_Tutorial_Hint_ChestTrap)) addHint(e_Tutorial_State_Gameplay, new LookAtTileHint(e_Tutorial_Hint_ChestTrap, this, trappedChestItems, 1 ) );
|
||||
|
||||
|
||||
int hayBlockItems[] = {Tile::hayBlock_Id};
|
||||
if(!isHintCompleted(e_Tutorial_Hint_HayBlock)) addHint(e_Tutorial_State_Gameplay, new LookAtTileHint(e_Tutorial_Hint_HayBlock, this, hayBlockItems, 1 ) );
|
||||
|
||||
|
||||
int clayHardenedItems[] = {Tile::clayHardened_Id};
|
||||
if(!isHintCompleted(e_Tutorial_Hint_ClayHardened)) addHint(e_Tutorial_State_Gameplay, new LookAtTileHint(e_Tutorial_Hint_ClayHardened, this, clayHardenedItems, 1 ) );
|
||||
|
||||
|
||||
int clayHardenedColoredItems[] = {Tile::clayHardened_colored_Id};
|
||||
if(!isHintCompleted(e_Tutorial_Hint_ClayHardenedColored)) addHint(e_Tutorial_State_Gameplay, new LookAtTileHint(e_Tutorial_Hint_ClayHardenedColored, this, clayHardenedColoredItems, 1 ) );
|
||||
|
||||
|
||||
int coalBlockItems[] = {Tile::coalBlock_Id};
|
||||
if(!isHintCompleted(e_Tutorial_Hint_CoalBlock)) addHint(e_Tutorial_State_Gameplay, new LookAtTileHint(e_Tutorial_Hint_CoalBlock, this, coalBlockItems, 1 ) );
|
||||
|
||||
@@ -1000,9 +1000,9 @@ Tutorial::Tutorial(int iPad, bool isFullTutorial /*= false*/) : m_iPad( iPad )
|
||||
* HORSE ENCOUNTER
|
||||
*
|
||||
*/
|
||||
if(isFullTutorial || !isStateCompleted(e_Tutorial_State_Horse) )
|
||||
if(isFullTutorial || !isStateCompleted(e_Tutorial_State_Horse) )
|
||||
{
|
||||
addTask(e_Tutorial_State_Horse,
|
||||
addTask(e_Tutorial_State_Horse,
|
||||
new HorseChoiceTask(this, IDS_TUTORIAL_TASK_HORSE_OVERVIEW, IDS_TUTORIAL_TASK_DONKEY_OVERVIEW, IDS_TUTORIAL_TASK_MULE_OVERVIEW, IDS_TUTORIAL_PROMPT_HORSE_OVERVIEW,
|
||||
true, ACTION_MENU_A, ACTION_MENU_B, e_Tutorial_Completion_Complete_State_Gameplay_Constraints, eTelemetryTutorial_Horse) );
|
||||
|
||||
@@ -1144,23 +1144,23 @@ Tutorial::Tutorial(int iPad, bool isFullTutorial /*= false*/) : m_iPad( iPad )
|
||||
|
||||
Tutorial::~Tutorial()
|
||||
{
|
||||
for(AUTO_VAR(it, m_globalConstraints.begin()); it != m_globalConstraints.end(); ++it)
|
||||
for(auto& it : m_globalConstraints)
|
||||
{
|
||||
delete (*it);
|
||||
delete it;
|
||||
}
|
||||
for(unordered_map<int, TutorialMessage *>::iterator it = messages.begin(); it != messages.end(); ++it)
|
||||
for(auto& message : messages)
|
||||
{
|
||||
delete (*it).second;
|
||||
delete message.second;
|
||||
}
|
||||
for(unsigned int i = 0; i < e_Tutorial_State_Max; ++i)
|
||||
{
|
||||
for(AUTO_VAR(it, activeTasks[i].begin()); it < activeTasks[i].end(); ++it)
|
||||
for(auto& it : activeTasks[i])
|
||||
{
|
||||
delete (*it);
|
||||
delete it;
|
||||
}
|
||||
for(AUTO_VAR(it, hints[i].begin()); it < hints[i].end(); ++it)
|
||||
for(auto& it : hints[i])
|
||||
{
|
||||
delete (*it);
|
||||
delete it;
|
||||
}
|
||||
|
||||
currentTask[i] = NULL;
|
||||
@@ -1188,10 +1188,10 @@ void Tutorial::setCompleted( int completableId )
|
||||
|
||||
|
||||
int completableIndex = -1;
|
||||
for( AUTO_VAR(it, s_completableTasks.begin()); it < s_completableTasks.end(); ++it)
|
||||
{
|
||||
for (int task : s_completableTasks)
|
||||
{
|
||||
++completableIndex;
|
||||
if( *it == completableId )
|
||||
if( task == completableId )
|
||||
{
|
||||
break;
|
||||
}
|
||||
@@ -1220,10 +1220,10 @@ bool Tutorial::getCompleted( int completableId )
|
||||
//}
|
||||
|
||||
int completableIndex = -1;
|
||||
for( AUTO_VAR(it, s_completableTasks.begin()); it < s_completableTasks.end(); ++it)
|
||||
{
|
||||
for (int it : s_completableTasks)
|
||||
{
|
||||
++completableIndex;
|
||||
if( *it == completableId )
|
||||
if( it == completableId )
|
||||
{
|
||||
break;
|
||||
}
|
||||
@@ -1318,8 +1318,8 @@ void Tutorial::tick()
|
||||
|
||||
for(unsigned int state = 0; state < e_Tutorial_State_Max; ++state)
|
||||
{
|
||||
AUTO_VAR(it, constraintsToRemove[state].begin());
|
||||
while(it < constraintsToRemove[state].end() )
|
||||
auto it = constraintsToRemove[state].begin();
|
||||
while(it != constraintsToRemove[state].end() )
|
||||
{
|
||||
++(*it).second;
|
||||
if( (*it).second > m_iTutorialConstraintDelayRemoveTicks )
|
||||
@@ -1361,7 +1361,7 @@ void Tutorial::tick()
|
||||
}
|
||||
|
||||
if(!m_allowShow)
|
||||
{
|
||||
{
|
||||
if( currentTask[m_CurrentState] != NULL && (!currentTask[m_CurrentState]->AllowFade() || (lastMessageTime + m_iTutorialDisplayMessageTime ) > GetTickCount() ) )
|
||||
{
|
||||
uiTempDisabled = true;
|
||||
@@ -1397,7 +1397,7 @@ void Tutorial::tick()
|
||||
app.TutorialSceneNavigateBack(m_iPad);
|
||||
m_bSceneIsSplitscreen=app.GetLocalPlayerCount()>1;
|
||||
if(m_bSceneIsSplitscreen)
|
||||
{
|
||||
{
|
||||
app.NavigateToScene(m_iPad, eUIComponent_TutorialPopup,(void *)this, false, false, &m_hTutorialScene);
|
||||
}
|
||||
else
|
||||
@@ -1427,9 +1427,8 @@ void Tutorial::tick()
|
||||
}
|
||||
|
||||
// Check constraints
|
||||
for(AUTO_VAR(it, m_globalConstraints.begin()); it < m_globalConstraints.end(); ++it)
|
||||
{
|
||||
TutorialConstraint *constraint = *it;
|
||||
for (auto& constraint : m_globalConstraints)
|
||||
{
|
||||
constraint->tick(m_iPad);
|
||||
}
|
||||
|
||||
@@ -1443,9 +1442,8 @@ void Tutorial::tick()
|
||||
|
||||
if(hintsOn)
|
||||
{
|
||||
for(AUTO_VAR(it, hints[m_CurrentState].begin()); it < hints[m_CurrentState].end(); ++it)
|
||||
{
|
||||
TutorialHint *hint = *it;
|
||||
for (auto& hint : hints[m_CurrentState])
|
||||
{
|
||||
hintNeeded = hint->tick();
|
||||
if(hintNeeded >= 0)
|
||||
{
|
||||
@@ -1469,9 +1467,8 @@ void Tutorial::tick()
|
||||
constraintChanged = true;
|
||||
currentFailedConstraint[m_CurrentState] = NULL;
|
||||
}
|
||||
for(AUTO_VAR(it, constraints[m_CurrentState].begin()); it < constraints[m_CurrentState].end(); ++it)
|
||||
{
|
||||
TutorialConstraint *constraint = *it;
|
||||
for (auto& constraint : constraints[m_CurrentState])
|
||||
{
|
||||
if( !constraint->isConstraintSatisfied(m_iPad) && constraint->isConstraintRestrictive(m_iPad) )
|
||||
{
|
||||
constraintChanged = true;
|
||||
@@ -1484,15 +1481,15 @@ void Tutorial::tick()
|
||||
{
|
||||
// Update tasks
|
||||
bool isCurrentTask = true;
|
||||
AUTO_VAR(it, activeTasks[m_CurrentState].begin());
|
||||
while(activeTasks[m_CurrentState].size() > 0 && it < activeTasks[m_CurrentState].end())
|
||||
auto it = activeTasks[m_CurrentState].begin();
|
||||
while(activeTasks[m_CurrentState].size() > 0 && it != activeTasks[m_CurrentState].end())
|
||||
{
|
||||
TutorialTask *task = *it;
|
||||
if( isCurrentTask || task->isPreCompletionEnabled() )
|
||||
{
|
||||
isCurrentTask = false;
|
||||
if(
|
||||
( !task->ShowMinimumTime() || ( task->hasBeenActivated() && (lastMessageTime + m_iTutorialMinimumDisplayMessageTime ) < GetTickCount() ) )
|
||||
( !task->ShowMinimumTime() || ( task->hasBeenActivated() && (lastMessageTime + m_iTutorialMinimumDisplayMessageTime ) < GetTickCount() ) )
|
||||
&& task->isCompleted()
|
||||
)
|
||||
{
|
||||
@@ -1509,8 +1506,8 @@ void Tutorial::tick()
|
||||
{
|
||||
// 4J Stu - Move the delayed constraints to the gameplay state so that they are in
|
||||
// effect for a bit longer
|
||||
AUTO_VAR(itCon, constraintsToRemove[m_CurrentState].begin());
|
||||
while(itCon != constraintsToRemove[m_CurrentState].end() )
|
||||
auto itCon = constraintsToRemove[m_CurrentState].begin();
|
||||
while(itCon != constraintsToRemove[m_CurrentState].end() )
|
||||
{
|
||||
constraints[e_Tutorial_State_Gameplay].push_back(itCon->first);
|
||||
constraintsToRemove[e_Tutorial_State_Gameplay].push_back( pair<TutorialConstraint *, unsigned char>(itCon->first, itCon->second) );
|
||||
@@ -1521,9 +1518,9 @@ void Tutorial::tick()
|
||||
}
|
||||
// Fall through the the normal complete state
|
||||
case e_Tutorial_Completion_Complete_State:
|
||||
for(AUTO_VAR(itRem, activeTasks[m_CurrentState].begin()); itRem < activeTasks[m_CurrentState].end(); ++itRem)
|
||||
{
|
||||
delete (*itRem);
|
||||
for (auto& itRem : activeTasks[m_CurrentState])
|
||||
{
|
||||
delete itRem;
|
||||
}
|
||||
activeTasks[m_CurrentState].clear();
|
||||
break;
|
||||
@@ -1531,9 +1528,9 @@ void Tutorial::tick()
|
||||
{
|
||||
TutorialTask *lastTask = activeTasks[m_CurrentState].at( activeTasks[m_CurrentState].size() - 1 );
|
||||
activeTasks[m_CurrentState].pop_back();
|
||||
for(AUTO_VAR(itRem, activeTasks[m_CurrentState].begin()); itRem < activeTasks[m_CurrentState].end(); ++itRem)
|
||||
for(auto& itRem : activeTasks[m_CurrentState])
|
||||
{
|
||||
delete (*itRem);
|
||||
delete itRem;
|
||||
}
|
||||
activeTasks[m_CurrentState].clear();
|
||||
activeTasks[m_CurrentState].push_back( lastTask );
|
||||
@@ -1636,7 +1633,7 @@ void Tutorial::tick()
|
||||
message->m_promptId = currentTask[m_CurrentState]->getPromptId();
|
||||
message->m_allowFade = currentTask[m_CurrentState]->AllowFade();
|
||||
setMessage( message );
|
||||
currentTask[m_CurrentState]->TaskReminders()? m_iTaskReminders = 1 : m_iTaskReminders = 0;
|
||||
currentTask[m_CurrentState]->TaskReminders()? m_iTaskReminders = 1 : m_iTaskReminders = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1697,8 +1694,8 @@ bool Tutorial::setMessage(PopupMessageDetails *message)
|
||||
}
|
||||
else
|
||||
{
|
||||
AUTO_VAR(it, messages.find(message->m_messageId));
|
||||
if( it != messages.end() && it->second != NULL )
|
||||
auto it = messages.find(message->m_messageId);
|
||||
if( it != messages.end() && it->second != NULL )
|
||||
{
|
||||
TutorialMessage *messageString = it->second;
|
||||
text = wstring( messageString->getMessageForDisplay() );
|
||||
@@ -1727,8 +1724,8 @@ bool Tutorial::setMessage(PopupMessageDetails *message)
|
||||
}
|
||||
else if(message->m_promptId >= 0)
|
||||
{
|
||||
AUTO_VAR(it, messages.find(message->m_promptId));
|
||||
if(it != messages.end() && it->second != NULL)
|
||||
auto it = messages.find(message->m_promptId);
|
||||
if(it != messages.end() && it->second != NULL)
|
||||
{
|
||||
TutorialMessage *prompt = it->second;
|
||||
text.append( prompt->getMessageForDisplay() );
|
||||
@@ -1781,7 +1778,7 @@ bool Tutorial::setMessage(TutorialHint *hint, PopupMessageDetails *message)
|
||||
bool messageShown = false;
|
||||
DWORD time = GetTickCount();
|
||||
if(message != NULL && (message->m_forceDisplay || hintsOn) &&
|
||||
(!message->m_delay ||
|
||||
(!message->m_delay ||
|
||||
(
|
||||
(m_hintDisplayed && (time - m_lastHintDisplayedTime) > m_iTutorialHintDelayTime ) ||
|
||||
(!m_hintDisplayed && (time - lastMessageTime) > m_iTutorialMinimumDisplayMessageTime )
|
||||
@@ -1793,7 +1790,7 @@ bool Tutorial::setMessage(TutorialHint *hint, PopupMessageDetails *message)
|
||||
|
||||
if(messageShown)
|
||||
{
|
||||
m_lastHintDisplayedTime = time;
|
||||
m_lastHintDisplayedTime = time;
|
||||
m_hintDisplayed = true;
|
||||
if(hint!=NULL) setHintCompleted( hint );
|
||||
}
|
||||
@@ -1817,7 +1814,7 @@ void Tutorial::showTutorialPopup(bool show)
|
||||
m_allowShow = show;
|
||||
|
||||
if(!show)
|
||||
{
|
||||
{
|
||||
if( currentTask[m_CurrentState] != NULL && (!currentTask[m_CurrentState]->AllowFade() || (lastMessageTime + m_iTutorialDisplayMessageTime ) > GetTickCount() ) )
|
||||
{
|
||||
uiTempDisabled = true;
|
||||
@@ -1828,36 +1825,32 @@ void Tutorial::showTutorialPopup(bool show)
|
||||
|
||||
void Tutorial::useItemOn(Level *level, shared_ptr<ItemInstance> item, int x, int y, int z, bool bTestUseOnly)
|
||||
{
|
||||
for(AUTO_VAR(it, activeTasks[m_CurrentState].begin()); it < activeTasks[m_CurrentState].end(); ++it)
|
||||
for(auto& task : activeTasks[m_CurrentState])
|
||||
{
|
||||
TutorialTask *task = *it;
|
||||
task->useItemOn(level, item, x, y, z, bTestUseOnly);
|
||||
}
|
||||
}
|
||||
|
||||
void Tutorial::useItemOn(shared_ptr<ItemInstance> item, bool bTestUseOnly)
|
||||
{
|
||||
for(AUTO_VAR(it, activeTasks[m_CurrentState].begin()); it < activeTasks[m_CurrentState].end(); ++it)
|
||||
for(auto& task : activeTasks[m_CurrentState])
|
||||
{
|
||||
TutorialTask *task = *it;
|
||||
task->useItem(item, bTestUseOnly);
|
||||
}
|
||||
}
|
||||
|
||||
void Tutorial::completeUsingItem(shared_ptr<ItemInstance> item)
|
||||
{
|
||||
for(AUTO_VAR(it, activeTasks[m_CurrentState].begin()); it < activeTasks[m_CurrentState].end(); ++it)
|
||||
for(auto task : activeTasks[m_CurrentState])
|
||||
{
|
||||
TutorialTask *task = *it;
|
||||
task->completeUsingItem(item);
|
||||
}
|
||||
|
||||
// Fix for #46922 - TU5: UI: Player receives a reminder that he is hungry while "hunger bar" is full (triggered in split-screen mode)
|
||||
if(m_CurrentState != e_Tutorial_State_Gameplay)
|
||||
{
|
||||
for(AUTO_VAR(it, activeTasks[e_Tutorial_State_Gameplay].begin()); it < activeTasks[e_Tutorial_State_Gameplay].end(); ++it)
|
||||
for(auto task : activeTasks[e_Tutorial_State_Gameplay])
|
||||
{
|
||||
TutorialTask *task = *it;
|
||||
task->completeUsingItem(item);
|
||||
}
|
||||
}
|
||||
@@ -1866,9 +1859,8 @@ void Tutorial::completeUsingItem(shared_ptr<ItemInstance> item)
|
||||
void Tutorial::startDestroyBlock(shared_ptr<ItemInstance> item, Tile *tile)
|
||||
{
|
||||
int hintNeeded = -1;
|
||||
for(AUTO_VAR(it, hints[m_CurrentState].begin()); it < hints[m_CurrentState].end(); ++it)
|
||||
for(auto& hint : hints[m_CurrentState])
|
||||
{
|
||||
TutorialHint *hint = *it;
|
||||
hintNeeded = hint->startDestroyBlock(item, tile);
|
||||
if(hintNeeded >= 0)
|
||||
{
|
||||
@@ -1877,16 +1869,14 @@ void Tutorial::startDestroyBlock(shared_ptr<ItemInstance> item, Tile *tile)
|
||||
setMessage( hint, message );
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
void Tutorial::destroyBlock(Tile *tile)
|
||||
{
|
||||
int hintNeeded = -1;
|
||||
for(AUTO_VAR(it, hints[m_CurrentState].begin()); it < hints[m_CurrentState].end(); ++it)
|
||||
for(auto& hint : hints[m_CurrentState])
|
||||
{
|
||||
TutorialHint *hint = *it;
|
||||
hintNeeded = hint->destroyBlock(tile);
|
||||
if(hintNeeded >= 0)
|
||||
{
|
||||
@@ -1895,16 +1885,14 @@ void Tutorial::destroyBlock(Tile *tile)
|
||||
setMessage( hint, message );
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
void Tutorial::attack(shared_ptr<Player> player, shared_ptr<Entity> entity)
|
||||
{
|
||||
int hintNeeded = -1;
|
||||
for(AUTO_VAR(it, hints[m_CurrentState].begin()); it < hints[m_CurrentState].end(); ++it)
|
||||
for(auto& hint : hints[m_CurrentState])
|
||||
{
|
||||
TutorialHint *hint = *it;
|
||||
hintNeeded = hint->attack(player->inventory->getSelected(), entity);
|
||||
if(hintNeeded >= 0)
|
||||
{
|
||||
@@ -1920,9 +1908,8 @@ void Tutorial::attack(shared_ptr<Player> player, shared_ptr<Entity> entity)
|
||||
void Tutorial::itemDamaged(shared_ptr<ItemInstance> item)
|
||||
{
|
||||
int hintNeeded = -1;
|
||||
for(AUTO_VAR(it, hints[m_CurrentState].begin()); it < hints[m_CurrentState].end(); ++it)
|
||||
for(auto& hint : hints[m_CurrentState])
|
||||
{
|
||||
TutorialHint *hint = *it;
|
||||
hintNeeded = hint->itemDamaged(item);
|
||||
if(hintNeeded >= 0)
|
||||
{
|
||||
@@ -1939,11 +1926,6 @@ void Tutorial::handleUIInput(int iAction)
|
||||
{
|
||||
if( m_hintDisplayed ) return;
|
||||
|
||||
//for(AUTO_VAR(it, activeTasks[m_CurrentState].begin()); it < activeTasks[m_CurrentState].end(); ++it)
|
||||
//{
|
||||
// TutorialTask *task = *it;
|
||||
// task->handleUIInput(iAction);
|
||||
//}
|
||||
if(currentTask[m_CurrentState] != NULL)
|
||||
currentTask[m_CurrentState]->handleUIInput(iAction);
|
||||
}
|
||||
@@ -1951,9 +1933,8 @@ void Tutorial::handleUIInput(int iAction)
|
||||
void Tutorial::createItemSelected(shared_ptr<ItemInstance> item, bool canMake)
|
||||
{
|
||||
int hintNeeded = -1;
|
||||
for(AUTO_VAR(it, hints[m_CurrentState].begin()); it < hints[m_CurrentState].end(); ++it)
|
||||
for(auto& hint : hints[m_CurrentState])
|
||||
{
|
||||
TutorialHint *hint = *it;
|
||||
hintNeeded = hint->createItemSelected(item, canMake);
|
||||
if(hintNeeded >= 0)
|
||||
{
|
||||
@@ -1968,11 +1949,10 @@ void Tutorial::createItemSelected(shared_ptr<ItemInstance> item, bool canMake)
|
||||
|
||||
void Tutorial::onCrafted(shared_ptr<ItemInstance> item)
|
||||
{
|
||||
for(unsigned int state = 0; state < e_Tutorial_State_Max; ++state)
|
||||
for(auto& subtasks : activeTasks)
|
||||
{
|
||||
for(AUTO_VAR(it, activeTasks[state].begin()); it < activeTasks[state].end(); ++it)
|
||||
for(auto& task : subtasks)
|
||||
{
|
||||
TutorialTask *task = *it;
|
||||
task->onCrafted(item);
|
||||
}
|
||||
}
|
||||
@@ -1983,23 +1963,20 @@ void Tutorial::onTake(shared_ptr<ItemInstance> item, unsigned int invItemCountAn
|
||||
if( !m_hintDisplayed )
|
||||
{
|
||||
bool hintNeeded = false;
|
||||
for(AUTO_VAR(it, hints[m_CurrentState].begin()); it < hints[m_CurrentState].end(); ++it)
|
||||
for(auto hint : hints[m_CurrentState])
|
||||
{
|
||||
TutorialHint *hint = *it;
|
||||
hintNeeded = hint->onTake(item);
|
||||
if(hintNeeded)
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
for(unsigned int state = 0; state < e_Tutorial_State_Max; ++state)
|
||||
for(auto& subtasks : activeTasks)
|
||||
{
|
||||
for(AUTO_VAR(it, activeTasks[state].begin()); it < activeTasks[state].end(); ++it)
|
||||
for(auto& task : subtasks)
|
||||
{
|
||||
TutorialTask *task = *it;
|
||||
task->onTake(item, invItemCountAnyAux, invItemCountThisAux);
|
||||
}
|
||||
}
|
||||
@@ -2035,9 +2012,8 @@ void Tutorial::onLookAt(int id, int iData)
|
||||
if( m_hintDisplayed ) return;
|
||||
|
||||
bool hintNeeded = false;
|
||||
for(AUTO_VAR(it, hints[m_CurrentState].begin()); it < hints[m_CurrentState].end(); ++it)
|
||||
for(auto& hint : hints[m_CurrentState])
|
||||
{
|
||||
TutorialHint *hint = *it;
|
||||
hintNeeded = hint->onLookAt(id, iData);
|
||||
if(hintNeeded)
|
||||
{
|
||||
@@ -2066,9 +2042,8 @@ void Tutorial::onLookAtEntity(shared_ptr<Entity> entity)
|
||||
if( m_hintDisplayed ) return;
|
||||
|
||||
bool hintNeeded = false;
|
||||
for(AUTO_VAR(it, hints[m_CurrentState].begin()); it < hints[m_CurrentState].end(); ++it)
|
||||
for(auto& hint : hints[m_CurrentState])
|
||||
{
|
||||
TutorialHint *hint = *it;
|
||||
hintNeeded = hint->onLookAtEntity(entity->GetType());
|
||||
if(hintNeeded)
|
||||
{
|
||||
@@ -2081,9 +2056,9 @@ void Tutorial::onLookAtEntity(shared_ptr<Entity> entity)
|
||||
changeTutorialState(e_Tutorial_State_Horse);
|
||||
}
|
||||
|
||||
for (AUTO_VAR(it, activeTasks[m_CurrentState].begin()); it != activeTasks[m_CurrentState].end(); ++it)
|
||||
for (auto& it : activeTasks[m_CurrentState])
|
||||
{
|
||||
(*it)->onLookAtEntity(entity);
|
||||
it->onLookAtEntity(entity);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2098,17 +2073,16 @@ void Tutorial::onRideEntity(shared_ptr<Entity> entity)
|
||||
}
|
||||
}
|
||||
|
||||
for (AUTO_VAR(it, activeTasks[m_CurrentState].begin()); it != activeTasks[m_CurrentState].end(); ++it)
|
||||
for (auto& it : activeTasks[m_CurrentState])
|
||||
{
|
||||
(*it)->onRideEntity(entity);
|
||||
it->onRideEntity(entity);
|
||||
}
|
||||
}
|
||||
|
||||
void Tutorial::onEffectChanged(MobEffect *effect, bool bRemoved)
|
||||
{
|
||||
for(AUTO_VAR(it, activeTasks[m_CurrentState].begin()); it < activeTasks[m_CurrentState].end(); ++it)
|
||||
for(auto& task : activeTasks[m_CurrentState])
|
||||
{
|
||||
TutorialTask *task = *it;
|
||||
task->onEffectChanged(effect,bRemoved);
|
||||
}
|
||||
}
|
||||
@@ -2116,9 +2090,8 @@ void Tutorial::onEffectChanged(MobEffect *effect, bool bRemoved)
|
||||
bool Tutorial::canMoveToPosition(double xo, double yo, double zo, double xt, double yt, double zt)
|
||||
{
|
||||
bool allowed = true;
|
||||
for(AUTO_VAR(it, constraints[m_CurrentState].begin()); it < constraints[m_CurrentState].end(); ++it)
|
||||
for(auto& constraint : constraints[m_CurrentState])
|
||||
{
|
||||
TutorialConstraint *constraint = *it;
|
||||
if( !constraint->isConstraintSatisfied(m_iPad) && !constraint->canMoveToPosition(xo,yo,zo,xt,yt,zt) )
|
||||
{
|
||||
allowed = false;
|
||||
@@ -2136,9 +2109,8 @@ bool Tutorial::isInputAllowed(int mapping)
|
||||
if( Minecraft::GetInstance()->localplayers[m_iPad]->isUnderLiquid(Material::water) ) return true;
|
||||
|
||||
bool allowed = true;
|
||||
for(AUTO_VAR(it, constraints[m_CurrentState].begin()); it < constraints[m_CurrentState].end(); ++it)
|
||||
for(auto& constraint : constraints[m_CurrentState])
|
||||
{
|
||||
TutorialConstraint *constraint = *it;
|
||||
if( constraint->isMappingConstrained( m_iPad, mapping ) )
|
||||
{
|
||||
allowed = false;
|
||||
@@ -2156,9 +2128,9 @@ vector<TutorialTask *> *Tutorial::getTasks()
|
||||
unsigned int Tutorial::getCurrentTaskIndex()
|
||||
{
|
||||
unsigned int index = 0;
|
||||
for(AUTO_VAR(it, tasks.begin()); it < tasks.end(); ++it)
|
||||
for(const auto& task : tasks)
|
||||
{
|
||||
if(*it == currentTask[e_Tutorial_State_Gameplay])
|
||||
if(task == currentTask[e_Tutorial_State_Gameplay])
|
||||
break;
|
||||
|
||||
++index;
|
||||
@@ -2184,11 +2156,11 @@ void Tutorial::RemoveConstraint(TutorialConstraint *c, bool delayedRemove /*= fa
|
||||
if( c->getQueuedForRemoval() )
|
||||
{
|
||||
// If it is already queued for removal, remove it on the next tick
|
||||
/*for(AUTO_VAR(it, constraintsToRemove[m_CurrentState].begin()); it < constraintsToRemove[m_CurrentState].end(); ++it)
|
||||
/*for(auto& it : constraintsToRemove[m_CurrentState])
|
||||
{
|
||||
if( it->first == c )
|
||||
if( it.first == c )
|
||||
{
|
||||
it->second = m_iTutorialConstraintDelayRemoveTicks;
|
||||
it.second = m_iTutorialConstraintDelayRemoveTicks;
|
||||
break;
|
||||
}
|
||||
}*/
|
||||
@@ -2196,12 +2168,12 @@ void Tutorial::RemoveConstraint(TutorialConstraint *c, bool delayedRemove /*= fa
|
||||
else if(delayedRemove)
|
||||
{
|
||||
c->setQueuedForRemoval(true);
|
||||
constraintsToRemove[m_CurrentState].push_back( pair<TutorialConstraint *, unsigned char>(c, 0) );
|
||||
constraintsToRemove[m_CurrentState].emplace_back(c, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
for( AUTO_VAR(it, constraintsToRemove[m_CurrentState].begin()); it < constraintsToRemove[m_CurrentState].end(); ++it)
|
||||
{
|
||||
for (auto it = constraintsToRemove[m_CurrentState].begin(); it != constraintsToRemove[m_CurrentState].end(); ++it)
|
||||
{
|
||||
if( it->first == c )
|
||||
{
|
||||
constraintsToRemove[m_CurrentState].erase( it );
|
||||
@@ -2209,8 +2181,8 @@ void Tutorial::RemoveConstraint(TutorialConstraint *c, bool delayedRemove /*= fa
|
||||
}
|
||||
}
|
||||
|
||||
AUTO_VAR(it, find( constraints[m_CurrentState].begin(), constraints[m_CurrentState].end(), c));
|
||||
if( it != constraints[m_CurrentState].end() ) constraints[m_CurrentState].erase( find( constraints[m_CurrentState].begin(), constraints[m_CurrentState].end(), c) );
|
||||
auto it = find(constraints[m_CurrentState].begin(), constraints[m_CurrentState].end(), c);
|
||||
if( it != constraints[m_CurrentState].end() ) constraints[m_CurrentState].erase( find( constraints[m_CurrentState].begin(), constraints[m_CurrentState].end(), c) );
|
||||
|
||||
// It may be in the gameplay list, so remove it from there if it is
|
||||
it = find( constraints[e_Tutorial_State_Gameplay].begin(), constraints[e_Tutorial_State_Gameplay].end(), c);
|
||||
@@ -2271,7 +2243,7 @@ void Tutorial::changeTutorialState(eTutorial_State newState, UIScene *scene /*=
|
||||
// The action that caused the change of state may also have completed the current task
|
||||
if( currentTask[m_CurrentState] != NULL && currentTask[m_CurrentState]->isCompleted() )
|
||||
{
|
||||
activeTasks[m_CurrentState].erase( find( activeTasks[m_CurrentState].begin(), activeTasks[m_CurrentState].end(), currentTask[m_CurrentState]) );
|
||||
activeTasks[m_CurrentState].erase( find( activeTasks[m_CurrentState].begin(), activeTasks[m_CurrentState].end(), currentTask[m_CurrentState]) );
|
||||
|
||||
if( activeTasks[m_CurrentState].size() > 0 )
|
||||
{
|
||||
@@ -2304,9 +2276,8 @@ void Tutorial::changeTutorialState(eTutorial_State newState, UIScene *scene /*=
|
||||
|
||||
if( m_CurrentState != newState )
|
||||
{
|
||||
for(AUTO_VAR(it, activeTasks[newState].begin()); it < activeTasks[newState].end(); ++it)
|
||||
{
|
||||
TutorialTask *task = *it;
|
||||
for (auto& task : activeTasks[newState] )
|
||||
{
|
||||
task->onStateChange(newState);
|
||||
}
|
||||
m_CurrentState = newState;
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
#include "TutorialConstraints.h"
|
||||
#include "TutorialTask.h"
|
||||
|
||||
TutorialTask::TutorialTask(Tutorial *tutorial, int descriptionId, bool enablePreCompletion, vector<TutorialConstraint *> *inConstraints,
|
||||
TutorialTask::TutorialTask(Tutorial *tutorial, int descriptionId, bool enablePreCompletion, vector<TutorialConstraint *> *inConstraints,
|
||||
bool bShowMinimumTime, bool bAllowFade, bool bTaskReminders)
|
||||
: tutorial( tutorial ), descriptionId( descriptionId ), m_promptId( -1 ), enablePreCompletion( enablePreCompletion ),
|
||||
areConstraintsEnabled( false ), bIsCompleted( false ), bHasBeenActivated( false ),
|
||||
@@ -11,9 +11,8 @@ TutorialTask::TutorialTask(Tutorial *tutorial, int descriptionId, bool enablePre
|
||||
{
|
||||
if(inConstraints != NULL)
|
||||
{
|
||||
for(AUTO_VAR(it, inConstraints->begin()); it < inConstraints->end(); ++it)
|
||||
for(auto& constraint : *inConstraints)
|
||||
{
|
||||
TutorialConstraint *constraint = *it;
|
||||
constraints.push_back( constraint );
|
||||
}
|
||||
delete inConstraints;
|
||||
@@ -26,10 +25,8 @@ TutorialTask::~TutorialTask()
|
||||
{
|
||||
enableConstraints(false);
|
||||
|
||||
for(AUTO_VAR(it, constraints.begin()); it < constraints.end(); ++it)
|
||||
for(auto& constraint : constraints)
|
||||
{
|
||||
TutorialConstraint *constraint = *it;
|
||||
|
||||
if( constraint->getQueuedForRemoval() )
|
||||
{
|
||||
constraint->setDeleteOnDeactivate(true);
|
||||
@@ -52,9 +49,8 @@ void TutorialTask::enableConstraints(bool enable, bool delayRemove /*= false*/)
|
||||
if( !enable && (areConstraintsEnabled || !delayRemove) )
|
||||
{
|
||||
// Remove
|
||||
for(AUTO_VAR(it, constraints.begin()); it != constraints.end(); ++it)
|
||||
for(auto& constraint : constraints)
|
||||
{
|
||||
TutorialConstraint *constraint = *it;
|
||||
//app.DebugPrintf(">>>>>>>> %i\n", constraints.size());
|
||||
tutorial->RemoveConstraint( constraint, delayRemove );
|
||||
}
|
||||
@@ -63,9 +59,8 @@ void TutorialTask::enableConstraints(bool enable, bool delayRemove /*= false*/)
|
||||
else if( !areConstraintsEnabled && enable )
|
||||
{
|
||||
// Add
|
||||
for(AUTO_VAR(it, constraints.begin()); it != constraints.end(); ++it)
|
||||
for(auto& constraint : constraints)
|
||||
{
|
||||
TutorialConstraint *constraint = *it;
|
||||
tutorial->AddConstraint( constraint );
|
||||
}
|
||||
areConstraintsEnabled = true;
|
||||
|
||||
@@ -91,7 +91,7 @@ IUIScene_CraftingMenu::_eGroupTab IUIScene_CraftingMenu::m_GroupTabBkgMapping3x3
|
||||
// eBaseItemType_bow,
|
||||
// eBaseItemType_pockettool,
|
||||
// eBaseItemType_utensil,
|
||||
//
|
||||
//
|
||||
// }
|
||||
// eBaseItemType;
|
||||
|
||||
@@ -180,11 +180,11 @@ bool IUIScene_CraftingMenu::handleKeyDown(int iPad, int iAction, bool bRepeat)
|
||||
UpdateTooltips();
|
||||
break;
|
||||
case ACTION_MENU_PAUSEMENU:
|
||||
case ACTION_MENU_B:
|
||||
case ACTION_MENU_B:
|
||||
ui.ShowTooltip( iPad, eToolTipButtonX, false );
|
||||
ui.ShowTooltip( iPad, eToolTipButtonB, false );
|
||||
ui.ShowTooltip( iPad, eToolTipButtonA, false );
|
||||
ui.ShowTooltip( iPad, eToolTipButtonRB, false );
|
||||
ui.ShowTooltip( iPad, eToolTipButtonA, false );
|
||||
ui.ShowTooltip( iPad, eToolTipButtonRB, false );
|
||||
// kill the crafting xui
|
||||
//ui.PlayUISFX(eSFX_Back);
|
||||
ui.CloseUIScenes(iPad);
|
||||
@@ -197,14 +197,14 @@ bool IUIScene_CraftingMenu::handleKeyDown(int iPad, int iAction, bool bRepeat)
|
||||
#endif
|
||||
// Do some crafting!
|
||||
if(m_pPlayer && m_pPlayer->inventory)
|
||||
{
|
||||
{
|
||||
//RecipyList *recipes = ((Recipes *)Recipes::getInstance())->getRecipies();
|
||||
Recipy::INGREDIENTS_REQUIRED *pRecipeIngredientsRequired=Recipes::getInstance()->getRecipeIngredientsArray();
|
||||
// Force a make if the debug is on
|
||||
if(app.DebugSettingsOn() && app.GetGameSettingsDebugMask(ProfileManager.GetPrimaryPad())&(1L<<eDebugSetting_CraftAnything))
|
||||
{
|
||||
if(CanBeMadeA[m_iCurrentSlotHIndex].iCount!=0)
|
||||
{
|
||||
{
|
||||
int iSlot=iVSlotIndexA[m_iCurrentSlotVIndex];
|
||||
|
||||
int iRecipe= CanBeMadeA[m_iCurrentSlotHIndex].iRecipeA[iSlot];
|
||||
@@ -256,7 +256,7 @@ bool IUIScene_CraftingMenu::handleKeyDown(int iPad, int iAction, bool bRepeat)
|
||||
}
|
||||
}
|
||||
|
||||
if(pRecipeIngredientsRequired[iRecipe].bCanMake[iPad])
|
||||
if(pRecipeIngredientsRequired[iRecipe].bCanMake[iPad])
|
||||
{
|
||||
pTempItemInst->onCraftedBy(m_pPlayer->level, dynamic_pointer_cast<Player>( m_pPlayer->shared_from_this() ), pTempItemInst->count );
|
||||
// TODO 4J Stu - handleCraftItem should do a lot more than what it does, loads of the "can we craft" code should also probably be
|
||||
@@ -340,7 +340,7 @@ bool IUIScene_CraftingMenu::handleKeyDown(int iPad, int iAction, bool bRepeat)
|
||||
break;
|
||||
|
||||
case ACTION_MENU_LEFT_SCROLL:
|
||||
// turn off the old group tab
|
||||
// turn off the old group tab
|
||||
showTabHighlight(m_iGroupIndex,false);
|
||||
|
||||
if(m_iGroupIndex==0)
|
||||
@@ -434,7 +434,7 @@ bool IUIScene_CraftingMenu::handleKeyDown(int iPad, int iAction, bool bRepeat)
|
||||
// clear the indices
|
||||
iVSlotIndexA[0]=CanBeMadeA[m_iCurrentSlotHIndex].iCount-1;
|
||||
iVSlotIndexA[1]=0;
|
||||
iVSlotIndexA[2]=1;
|
||||
iVSlotIndexA[2]=1;
|
||||
|
||||
UpdateVerticalSlots();
|
||||
UpdateHighlight();
|
||||
@@ -485,13 +485,13 @@ bool IUIScene_CraftingMenu::handleKeyDown(int iPad, int iAction, bool bRepeat)
|
||||
else
|
||||
{
|
||||
iVSlotIndexA[1]--;
|
||||
}
|
||||
}
|
||||
ui.PlayUISFX(eSFX_Focus);
|
||||
}
|
||||
else
|
||||
if(CanBeMadeA[m_iCurrentSlotHIndex].iCount>2)
|
||||
{
|
||||
{
|
||||
{
|
||||
if(m_iCurrentSlotVIndex!=0)
|
||||
{
|
||||
// just move the highlight
|
||||
@@ -499,11 +499,11 @@ bool IUIScene_CraftingMenu::handleKeyDown(int iPad, int iAction, bool bRepeat)
|
||||
ui.PlayUISFX(eSFX_Focus);
|
||||
}
|
||||
else
|
||||
{
|
||||
{
|
||||
//move the slots
|
||||
iVSlotIndexA[2]=iVSlotIndexA[1];
|
||||
iVSlotIndexA[1]=iVSlotIndexA[0];
|
||||
// on 0 and went up, so cycle the values
|
||||
// on 0 and went up, so cycle the values
|
||||
if(iVSlotIndexA[0]==0)
|
||||
{
|
||||
iVSlotIndexA[0]=CanBeMadeA[m_iCurrentSlotHIndex].iCount-1;
|
||||
@@ -536,7 +536,7 @@ bool IUIScene_CraftingMenu::handleKeyDown(int iPad, int iAction, bool bRepeat)
|
||||
if(CanBeMadeA[m_iCurrentSlotHIndex].iCount>1)
|
||||
{
|
||||
if(bNoScrollSlots)
|
||||
{
|
||||
{
|
||||
if(iVSlotIndexA[1]==(CanBeMadeA[m_iCurrentSlotHIndex].iCount-1))
|
||||
{
|
||||
iVSlotIndexA[1]=0;
|
||||
@@ -577,7 +577,7 @@ bool IUIScene_CraftingMenu::handleKeyDown(int iPad, int iAction, bool bRepeat)
|
||||
{
|
||||
m_iCurrentSlotVIndex++;
|
||||
ui.PlayUISFX(eSFX_Focus);
|
||||
}
|
||||
}
|
||||
}
|
||||
UpdateVerticalSlots();
|
||||
UpdateHighlight();
|
||||
@@ -621,9 +621,9 @@ void IUIScene_CraftingMenu::CheckRecipesAvailable()
|
||||
RecipyList *recipes = ((Recipes *)Recipes::getInstance())->getRecipies();
|
||||
Recipy::INGREDIENTS_REQUIRED *pRecipeIngredientsRequired=Recipes::getInstance()->getRecipeIngredientsArray();
|
||||
int iRecipeC=(int)recipes->size();
|
||||
AUTO_VAR(itRecipe, recipes->begin());
|
||||
auto itRecipe = recipes->begin();
|
||||
|
||||
// dump out the recipe products
|
||||
// dump out the recipe products
|
||||
|
||||
// for (int i = 0; i < iRecipeC; i++)
|
||||
// {
|
||||
@@ -631,7 +631,7 @@ void IUIScene_CraftingMenu::CheckRecipesAvailable()
|
||||
// if (pTempItemInst != NULL)
|
||||
// {
|
||||
// wstring itemstring=pTempItemInst->toString();
|
||||
//
|
||||
//
|
||||
// printf("Recipe [%d] = ",i);
|
||||
// OutputDebugStringW(itemstring.c_str());
|
||||
// if(pTempItemInst->id!=0)
|
||||
@@ -645,7 +645,7 @@ void IUIScene_CraftingMenu::CheckRecipesAvailable()
|
||||
// {
|
||||
// printf("ID\t%d\tAux val\t%d\tBase type\t%d\tMaterial\t%d Count=%d\n",pTempItemInst->id, pTempItemInst->getAuxValue(),pTempItemInst->getItem()->getBaseItemType(),pTempItemInst->getItem()->getMaterial(),pTempItemInst->GetCount());
|
||||
// }
|
||||
//
|
||||
//
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
@@ -686,9 +686,9 @@ void IUIScene_CraftingMenu::CheckRecipesAvailable()
|
||||
if (m_pPlayer->inventory->items[k] != NULL)
|
||||
{
|
||||
// do they have the ingredient, and the aux value matches, and enough off it?
|
||||
if((m_pPlayer->inventory->items[k]->id == pRecipeIngredientsRequired[i].iIngIDA[j]) &&
|
||||
if((m_pPlayer->inventory->items[k]->id == pRecipeIngredientsRequired[i].iIngIDA[j]) &&
|
||||
// check if the ingredient required doesn't care about the aux value, or if it does, does the inventory item aux match it
|
||||
((pRecipeIngredientsRequired[i].iIngAuxValA[j]==Recipes::ANY_AUX_VALUE) || (pRecipeIngredientsRequired[i].iIngAuxValA[j]==m_pPlayer->inventory->items[k]->getAuxValue()))
|
||||
((pRecipeIngredientsRequired[i].iIngAuxValA[j]==Recipes::ANY_AUX_VALUE) || (pRecipeIngredientsRequired[i].iIngAuxValA[j]==m_pPlayer->inventory->items[k]->getAuxValue()))
|
||||
)
|
||||
{
|
||||
// do they have enough? We need to check the whole inventory, since they may have enough in different slots (milk isn't milkx3, but milk,milk,milk)
|
||||
@@ -724,18 +724,18 @@ void IUIScene_CraftingMenu::CheckRecipesAvailable()
|
||||
// 4J Stu - TU-1 hotfix
|
||||
// Fix for #13143 - Players are able to craft items they do not have enough ingredients for if they store the ingredients in multiple, smaller stacks
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// if bFoundA[j] is false, then we didn't have enough of the ingredient required by the recipe, so mark the grid items we're short of
|
||||
if(bFoundA[j]==false)
|
||||
{
|
||||
{
|
||||
int iMissing = pRecipeIngredientsRequired[i].iIngValA[j]-iTotalCount;
|
||||
int iGridIndex=0;
|
||||
while(iMissing!=0)
|
||||
{
|
||||
// need to check if there is an aux val and match that
|
||||
if(((pRecipeIngredientsRequired[i].uiGridA[iGridIndex]&0x00FFFFFF)==pRecipeIngredientsRequired[i].iIngIDA[j]) &&
|
||||
if(((pRecipeIngredientsRequired[i].uiGridA[iGridIndex]&0x00FFFFFF)==pRecipeIngredientsRequired[i].iIngIDA[j]) &&
|
||||
((pRecipeIngredientsRequired[i].iIngAuxValA[j]==Recipes::ANY_AUX_VALUE) ||(pRecipeIngredientsRequired[i].iIngAuxValA[j]== ((pRecipeIngredientsRequired[i].uiGridA[iGridIndex]&0xFF000000)>>24))) )
|
||||
{
|
||||
// this grid entry is the ingredient we don't have enough of
|
||||
@@ -780,7 +780,7 @@ void IUIScene_CraftingMenu::CheckRecipesAvailable()
|
||||
|
||||
// ignore for the misc base type - these have not been placed in a base type group
|
||||
if(iBaseType!=Item::eBaseItemType_undefined)
|
||||
{
|
||||
{
|
||||
for(int k=0;k<iHSlotBrushControl;k++)
|
||||
{
|
||||
// if the item base type is the same as one already in, then add it to that list
|
||||
@@ -804,7 +804,7 @@ void IUIScene_CraftingMenu::CheckRecipesAvailable()
|
||||
if(!bFound)
|
||||
{
|
||||
if(iHSlotBrushControl<m_iCraftablesMaxHSlotC)
|
||||
{
|
||||
{
|
||||
// add to the list
|
||||
CanBeMadeA[iHSlotBrushControl].iItemBaseType=iBaseType;
|
||||
CanBeMadeA[iHSlotBrushControl].iRecipeA[CanBeMadeA[iHSlotBrushControl].iCount++]=i;
|
||||
@@ -827,7 +827,7 @@ void IUIScene_CraftingMenu::CheckRecipesAvailable()
|
||||
}
|
||||
|
||||
delete [] bFoundA;
|
||||
itRecipe++;
|
||||
itRecipe++;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -847,7 +847,7 @@ void IUIScene_CraftingMenu::CheckRecipesAvailable()
|
||||
uiAlpha = 31;
|
||||
}
|
||||
else
|
||||
{
|
||||
{
|
||||
if(pRecipeIngredientsRequired[CanBeMadeA[iIndex].iRecipeA[0]].bCanMake[getPad()])
|
||||
{
|
||||
uiAlpha = 31;
|
||||
@@ -936,10 +936,10 @@ void IUIScene_CraftingMenu::UpdateHighlight()
|
||||
{
|
||||
itemstring=app.GetString( IDS_ITEM_FIREBALLCOAL );
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
itemstring=app.GetString(id );
|
||||
itemstring=app.GetString(id );
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -1004,7 +1004,7 @@ void IUIScene_CraftingMenu::UpdateVerticalSlots()
|
||||
uiAlpha = 31;
|
||||
}
|
||||
else
|
||||
{
|
||||
{
|
||||
if(pRecipeIngredientsRequired[CanBeMadeA[m_iCurrentSlotHIndex].iRecipeA[iVSlotIndexA[i]]].bCanMake[getPad()])
|
||||
{
|
||||
uiAlpha = 31;
|
||||
@@ -1043,7 +1043,7 @@ void IUIScene_CraftingMenu::DisplayIngredients()
|
||||
hideAllIngredientsSlots();
|
||||
|
||||
if(CanBeMadeA[m_iCurrentSlotHIndex].iCount!=0)
|
||||
{
|
||||
{
|
||||
int iSlot,iRecipy;
|
||||
if(CanBeMadeA[m_iCurrentSlotHIndex].iCount>1)
|
||||
{
|
||||
@@ -1135,13 +1135,13 @@ void IUIScene_CraftingMenu::DisplayIngredients()
|
||||
}
|
||||
|
||||
}
|
||||
for (int x = 0; x < iBoxWidth; x++)
|
||||
for (int x = 0; x < iBoxWidth; x++)
|
||||
{
|
||||
for (int y = 0; y < iBoxWidth; y++)
|
||||
for (int y = 0; y < iBoxWidth; y++)
|
||||
{
|
||||
int index = x+y*iBoxWidth;
|
||||
if(pRecipeIngredientsRequired[iRecipy].uiGridA[x+y*3]!=0)
|
||||
{
|
||||
{
|
||||
int id=pRecipeIngredientsRequired[iRecipy].uiGridA[x+y*3]&0x00FFFFFF;
|
||||
assert(id!=0);
|
||||
int iAuxVal=(pRecipeIngredientsRequired[iRecipy].uiGridA[x+y*3]&0xFF000000)>>24;
|
||||
@@ -1164,7 +1164,7 @@ void IUIScene_CraftingMenu::DisplayIngredients()
|
||||
setIngredientSlotRedBox(index, false);
|
||||
}
|
||||
else
|
||||
{
|
||||
{
|
||||
if((pRecipeIngredientsRequired[iRecipy].usBitmaskMissingGridIngredients[getPad()]&(1<<(x+y*3)))!=0)
|
||||
{
|
||||
setIngredientSlotRedBox(index, true);
|
||||
@@ -1179,7 +1179,7 @@ void IUIScene_CraftingMenu::DisplayIngredients()
|
||||
{
|
||||
setIngredientSlotRedBox(index, false);
|
||||
setIngredientSlotItem(getPad(),index,nullptr);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1203,7 +1203,7 @@ void IUIScene_CraftingMenu::DisplayIngredients()
|
||||
{
|
||||
setIngredientSlotRedBox(i, false);
|
||||
setIngredientSlotItem(getPad(),i,nullptr);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1220,7 +1220,7 @@ void IUIScene_CraftingMenu::UpdateDescriptionText(bool bCanBeMade)
|
||||
Recipy::INGREDIENTS_REQUIRED *pRecipeIngredientsRequired=Recipes::getInstance()->getRecipeIngredientsArray();
|
||||
|
||||
if(bCanBeMade)
|
||||
{
|
||||
{
|
||||
int iSlot;//,iRecipy;
|
||||
if(CanBeMadeA[m_iCurrentSlotHIndex].iCount>1)
|
||||
{
|
||||
@@ -1293,13 +1293,13 @@ void IUIScene_CraftingMenu::UpdateDescriptionText(bool bCanBeMade)
|
||||
#ifdef _DEBUG
|
||||
setDescriptionText(L"This is some placeholder description text about the craftable item.");
|
||||
#else
|
||||
setDescriptionText(L"");
|
||||
setDescriptionText(L"");
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
setDescriptionText(L"");
|
||||
setDescriptionText(L"");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1323,7 +1323,7 @@ void IUIScene_CraftingMenu::UpdateTooltips()
|
||||
{
|
||||
iSlot=iVSlotIndexA[m_iCurrentSlotVIndex];
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
iSlot=0;
|
||||
}
|
||||
@@ -1363,7 +1363,7 @@ void IUIScene_CraftingMenu::UpdateTooltips()
|
||||
{
|
||||
iSlot=iVSlotIndexA[m_iCurrentSlotVIndex];
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
iSlot=0;
|
||||
}
|
||||
@@ -1396,7 +1396,7 @@ bool IUIScene_CraftingMenu::isItemSelected(int itemId)
|
||||
{
|
||||
bool isSelected = false;
|
||||
if(m_pPlayer && m_pPlayer->inventory)
|
||||
{
|
||||
{
|
||||
//RecipyList *recipes = ((Recipes *)Recipes::getInstance())->getRecipies();
|
||||
Recipy::INGREDIENTS_REQUIRED *pRecipeIngredientsRequired=Recipes::getInstance()->getRecipeIngredientsArray();
|
||||
|
||||
|
||||
@@ -60,7 +60,7 @@ void IUIScene_CreativeMenu::staticCtor()
|
||||
ITEM_AUX(Tile::treeTrunk_Id, 0)
|
||||
ITEM_AUX(Tile::treeTrunk_Id, TreeTile::DARK_TRUNK)
|
||||
ITEM_AUX(Tile::treeTrunk_Id, TreeTile::BIRCH_TRUNK)
|
||||
ITEM_AUX(Tile::treeTrunk_Id, TreeTile::JUNGLE_TRUNK)
|
||||
ITEM_AUX(Tile::treeTrunk_Id, TreeTile::JUNGLE_TRUNK)
|
||||
ITEM(Tile::gravel_Id)
|
||||
ITEM(Tile::redBrick_Id)
|
||||
ITEM(Tile::mossyCobblestone_Id)
|
||||
@@ -144,7 +144,7 @@ void IUIScene_CreativeMenu::staticCtor()
|
||||
ITEM(Tile::sponge_Id)
|
||||
ITEM(Tile::melon_Id)
|
||||
ITEM(Tile::pumpkin_Id)
|
||||
ITEM(Tile::litPumpkin_Id)
|
||||
ITEM(Tile::litPumpkin_Id)
|
||||
ITEM_AUX(Tile::sapling_Id, Sapling::TYPE_DEFAULT)
|
||||
ITEM_AUX(Tile::sapling_Id, Sapling::TYPE_EVERGREEN)
|
||||
ITEM_AUX(Tile::sapling_Id, Sapling::TYPE_BIRCH)
|
||||
@@ -321,7 +321,7 @@ void IUIScene_CreativeMenu::staticCtor()
|
||||
ITEM(Tile::anvil_Id);
|
||||
ITEM(Item::bed_Id)
|
||||
ITEM(Item::bucket_empty_Id)
|
||||
ITEM(Item::bucket_lava_Id)
|
||||
ITEM(Item::bucket_lava_Id)
|
||||
ITEM(Item::bucket_water_Id)
|
||||
ITEM(Item::bucket_milk_Id)
|
||||
ITEM(Item::cauldron_Id)
|
||||
@@ -408,7 +408,7 @@ void IUIScene_CreativeMenu::staticCtor()
|
||||
ITEM(Item::beef_cooked_Id)
|
||||
ITEM(Item::beef_raw_Id)
|
||||
ITEM(Item::chicken_raw_Id)
|
||||
ITEM(Item::chicken_cooked_Id)
|
||||
ITEM(Item::chicken_cooked_Id)
|
||||
ITEM(Item::rotten_flesh_Id)
|
||||
ITEM(Item::spiderEye_Id)
|
||||
ITEM(Item::potato_Id)
|
||||
@@ -430,7 +430,7 @@ void IUIScene_CreativeMenu::staticCtor()
|
||||
ITEM(Item::pickAxe_wood_Id)
|
||||
ITEM(Item::hatchet_wood_Id)
|
||||
ITEM(Item::hoe_wood_Id)
|
||||
|
||||
|
||||
ITEM(Item::emptyMap_Id)
|
||||
ITEM(Item::helmet_chain_Id)
|
||||
ITEM(Item::chestplate_chain_Id)
|
||||
@@ -441,7 +441,7 @@ void IUIScene_CreativeMenu::staticCtor()
|
||||
ITEM(Item::pickAxe_stone_Id)
|
||||
ITEM(Item::hatchet_stone_Id)
|
||||
ITEM(Item::hoe_stone_Id)
|
||||
|
||||
|
||||
ITEM(Item::bow_Id)
|
||||
ITEM(Item::helmet_iron_Id)
|
||||
ITEM(Item::chestplate_iron_Id)
|
||||
@@ -452,7 +452,7 @@ void IUIScene_CreativeMenu::staticCtor()
|
||||
ITEM(Item::pickAxe_iron_Id)
|
||||
ITEM(Item::hatchet_iron_Id)
|
||||
ITEM(Item::hoe_iron_Id)
|
||||
|
||||
|
||||
ITEM(Item::arrow_Id)
|
||||
ITEM(Item::helmet_gold_Id)
|
||||
ITEM(Item::chestplate_gold_Id)
|
||||
@@ -514,7 +514,7 @@ void IUIScene_CreativeMenu::staticCtor()
|
||||
ITEM(Item::brick_Id)
|
||||
ITEM(Item::netherbrick_Id)
|
||||
ITEM(Item::stick_Id)
|
||||
ITEM(Item::bowl_Id)
|
||||
ITEM(Item::bowl_Id)
|
||||
ITEM(Item::bone_Id)
|
||||
ITEM(Item::string_Id)
|
||||
ITEM(Item::feather_Id)
|
||||
@@ -523,13 +523,13 @@ void IUIScene_CreativeMenu::staticCtor()
|
||||
ITEM(Item::gunpowder_Id)
|
||||
ITEM(Item::clay_Id)
|
||||
ITEM(Item::yellowDust_Id)
|
||||
ITEM(Item::seeds_wheat_Id)
|
||||
ITEM(Item::seeds_wheat_Id)
|
||||
ITEM(Item::seeds_melon_Id)
|
||||
ITEM(Item::seeds_pumpkin_Id)
|
||||
ITEM(Item::wheat_Id)
|
||||
ITEM(Item::reeds_Id)
|
||||
ITEM(Item::egg_Id)
|
||||
ITEM(Item::sugar_Id)
|
||||
ITEM(Item::sugar_Id)
|
||||
ITEM(Item::slimeBall_Id)
|
||||
ITEM(Item::blazeRod_Id)
|
||||
ITEM(Item::goldNugget_Id)
|
||||
@@ -562,7 +562,7 @@ void IUIScene_CreativeMenu::staticCtor()
|
||||
ITEM(Item::magmaCream_Id)
|
||||
ITEM(Item::speckledMelon_Id)
|
||||
ITEM(Item::glassBottle_Id)
|
||||
ITEM_AUX(Item::potion_Id,0) // Water bottle
|
||||
ITEM_AUX(Item::potion_Id,0) // Water bottle
|
||||
//ITEM_AUX(Item::potion_Id,MACRO_MAKEPOTION_AUXVAL(0, 0, MASK_TYPE_AWKWARD)) // Awkward Potion
|
||||
|
||||
|
||||
@@ -594,7 +594,7 @@ void IUIScene_CreativeMenu::staticCtor()
|
||||
//ITEM_AUX(Item::potion_Id,MACRO_MAKEPOTION_AUXVAL(0, MASK_LEVEL2, MASK_INSTANTHEALTH))
|
||||
//ITEM_AUX(Item::potion_Id,MACRO_MAKEPOTION_AUXVAL(0, MASK_LEVEL2, MASK_NIGHTVISION))
|
||||
//ITEM_AUX(Item::potion_Id,MACRO_MAKEPOTION_AUXVAL(0, MASK_LEVEL2, MASK_INVISIBILITY))
|
||||
|
||||
|
||||
ITEM_AUX(Item::potion_Id,MACRO_MAKEPOTION_AUXVAL(0, 0, MASK_WEAKNESS))
|
||||
ITEM_AUX(Item::potion_Id,MACRO_MAKEPOTION_AUXVAL(0, MASK_LEVEL2, MASK_STRENGTH))
|
||||
ITEM_AUX(Item::potion_Id,MACRO_MAKEPOTION_AUXVAL(0, 0, MASK_SLOWNESS))
|
||||
@@ -669,7 +669,7 @@ void IUIScene_CreativeMenu::staticCtor()
|
||||
// Top Row
|
||||
ECreative_Inventory_Groups blocksGroup[] = {eCreativeInventory_BuildingBlocks};
|
||||
specs[eCreativeInventoryTab_BuildingBlocks] = new TabSpec(L"Structures", IDS_GROUPNAME_BUILDING_BLOCKS, 1, blocksGroup);
|
||||
|
||||
|
||||
#ifndef _CONTENT_PACKAGE
|
||||
ECreative_Inventory_Groups decorationsGroup[] = {eCreativeInventory_Decoration};
|
||||
ECreative_Inventory_Groups debugDecorationsGroup[] = {eCreativeInventory_ArtToolsDecorations};
|
||||
@@ -720,7 +720,7 @@ IUIScene_CreativeMenu::IUIScene_CreativeMenu()
|
||||
m_creativeSlotX = m_creativeSlotY = m_inventorySlotX = m_inventorySlotY = 0;
|
||||
|
||||
// 4J JEV - Settup Tabs
|
||||
for (int i = 0; i < eCreativeInventoryTab_COUNT; i++)
|
||||
for (int i = 0; i < eCreativeInventoryTab_COUNT; i++)
|
||||
{
|
||||
m_tabDynamicPos[i] = 0;
|
||||
m_tabPage[i] = 0;
|
||||
@@ -735,7 +735,7 @@ void IUIScene_CreativeMenu::switchTab(ECreativeInventoryTabs tab)
|
||||
if(tab != m_curTab) updateTabHighlightAndText(tab);
|
||||
|
||||
m_curTab = tab;
|
||||
|
||||
|
||||
updateScrollCurrentPage(m_tabPage[m_curTab] + 1, specs[m_curTab]->getPageCount());
|
||||
|
||||
specs[tab]->populateMenu(itemPickerMenu,m_tabDynamicPos[m_curTab], m_tabPage[m_curTab]);
|
||||
@@ -769,7 +769,7 @@ void IUIScene_CreativeMenu::ScrollBar(UIVec2D pointerPos)
|
||||
IUIScene_CreativeMenu::TabSpec::TabSpec(LPCWSTR icon, int descriptionId, int staticGroupsCount, ECreative_Inventory_Groups *staticGroups, int dynamicGroupsCount, ECreative_Inventory_Groups *dynamicGroups, int debugGroupsCount /*= 0*/, ECreative_Inventory_Groups *debugGroups /*= NULL*/)
|
||||
: m_icon(icon), m_descriptionId(descriptionId), m_staticGroupsCount(staticGroupsCount), m_dynamicGroupsCount(dynamicGroupsCount), m_debugGroupsCount(debugGroupsCount)
|
||||
{
|
||||
|
||||
|
||||
m_pages = 0;
|
||||
m_staticGroupsA = NULL;
|
||||
|
||||
@@ -828,8 +828,8 @@ void IUIScene_CreativeMenu::TabSpec::populateMenu(AbstractContainerMenu *menu, i
|
||||
// Fill the dynamic group
|
||||
if(m_dynamicGroupsCount > 0 && m_dynamicGroupsA != NULL)
|
||||
{
|
||||
for(AUTO_VAR(it, categoryGroups[m_dynamicGroupsA[dynamicIndex]].rbegin()); it != categoryGroups[m_dynamicGroupsA[dynamicIndex]].rend() && lastSlotIndex < MAX_SIZE; ++it)
|
||||
{
|
||||
for (auto it = categoryGroups[m_dynamicGroupsA[dynamicIndex]].rbegin(); it != categoryGroups[m_dynamicGroupsA[dynamicIndex]].rend() && lastSlotIndex < MAX_SIZE; ++it)
|
||||
{
|
||||
Slot *slot = menu->getSlot(++lastSlotIndex);
|
||||
slot->set( *it );
|
||||
}
|
||||
@@ -953,7 +953,7 @@ unsigned int IUIScene_CreativeMenu::TabSpec::getPageCount()
|
||||
IUIScene_CreativeMenu::ItemPickerMenu::ItemPickerMenu( shared_ptr<SimpleContainer> smp, shared_ptr<Inventory> inv ) : AbstractContainerMenu()
|
||||
{
|
||||
inventory = inv;
|
||||
creativeContainer = smp;
|
||||
creativeContainer = smp;
|
||||
|
||||
//int startLength = slots->size();
|
||||
|
||||
@@ -994,7 +994,7 @@ IUIScene_AbstractContainerMenu::ESceneSection IUIScene_CreativeMenu::GetSectionA
|
||||
switch( eSection )
|
||||
{
|
||||
case eSectionInventoryCreativeSelector:
|
||||
if (eTapDirection == eTapStateDown || eTapDirection == eTapStateUp)
|
||||
if (eTapDirection == eTapStateDown || eTapDirection == eTapStateUp)
|
||||
{
|
||||
newSection = eSectionInventoryCreativeUsing;
|
||||
}
|
||||
@@ -1081,7 +1081,7 @@ void IUIScene_CreativeMenu::handleAdditionalKeyPress(int iAction)
|
||||
dir = -1;
|
||||
// Fall through intentional
|
||||
case ACTION_MENU_RIGHT_SCROLL:
|
||||
{
|
||||
{
|
||||
ECreativeInventoryTabs tab = (ECreativeInventoryTabs)(m_curTab + dir);
|
||||
if (tab < 0) tab = (ECreativeInventoryTabs)(eCreativeInventoryTab_COUNT - 1);
|
||||
if (tab >= eCreativeInventoryTab_COUNT) tab = eCreativeInventoryTab_BuildingBlocks;
|
||||
@@ -1375,7 +1375,7 @@ void IUIScene_CreativeMenu::BuildFirework(vector<shared_ptr<ItemInstance> > *lis
|
||||
itemTag->put(FireworksItem::TAG_FIREWORKS, fireTag);
|
||||
|
||||
firework->setTag(itemTag);
|
||||
}
|
||||
}
|
||||
|
||||
list->push_back(firework);
|
||||
}
|
||||
|
||||
@@ -47,11 +47,11 @@ bool IUIScene_TradingMenu::handleKeyDown(int iPad, int iAction, bool bRepeat)
|
||||
|
||||
switch(iAction)
|
||||
{
|
||||
case ACTION_MENU_B:
|
||||
case ACTION_MENU_B:
|
||||
ui.ShowTooltip( iPad, eToolTipButtonX, false );
|
||||
ui.ShowTooltip( iPad, eToolTipButtonB, false );
|
||||
ui.ShowTooltip( iPad, eToolTipButtonA, false );
|
||||
ui.ShowTooltip( iPad, eToolTipButtonRB, false );
|
||||
ui.ShowTooltip( iPad, eToolTipButtonA, false );
|
||||
ui.ShowTooltip( iPad, eToolTipButtonRB, false );
|
||||
// kill the crafting xui
|
||||
//ui.PlayUISFX(eSFX_Back);
|
||||
ui.CloseUIScenes(iPad);
|
||||
@@ -78,7 +78,7 @@ bool IUIScene_TradingMenu::handleKeyDown(int iPad, int iAction, bool bRepeat)
|
||||
int buyBMatches = player->inventory->countMatches(buyBItem);
|
||||
if( (buyAItem != NULL && buyAMatches >= buyAItem->count) && (buyBItem == NULL || buyBMatches >= buyBItem->count) )
|
||||
{
|
||||
// 4J-JEV: Fix for PS4 #7111: [PATCH 1.12] Trading Librarian villagers for multiple <20>Enchanted Books<6B> will cause the title to crash.
|
||||
// 4J-JEV: Fix for PS4 #7111: [PATCH 1.12] Trading Librarian villagers for multiple <20>Enchanted Books<6B> will cause the title to crash.
|
||||
int actualShopItem = m_activeOffers.at(selectedShopItem).second;
|
||||
|
||||
m_merchant->notifyTrade(activeRecipe);
|
||||
@@ -186,13 +186,12 @@ void IUIScene_TradingMenu::updateDisplay()
|
||||
m_activeOffers.clear();
|
||||
int unfilteredIndex = 0;
|
||||
int firstValidTrade = INT_MAX;
|
||||
for(AUTO_VAR(it, unfilteredOffers->begin()); it != unfilteredOffers->end(); ++it)
|
||||
for(auto& recipe : *unfilteredOffers)
|
||||
{
|
||||
MerchantRecipe *recipe = *it;
|
||||
if(!recipe->isDeprecated())
|
||||
{
|
||||
m_activeOffers.push_back( pair<MerchantRecipe *,int>(recipe,unfilteredIndex));
|
||||
firstValidTrade = min(firstValidTrade,unfilteredIndex);
|
||||
m_activeOffers.emplace_back(recipe,unfilteredIndex);
|
||||
firstValidTrade = std::min<int>(firstValidTrade, unfilteredIndex);
|
||||
}
|
||||
++unfilteredIndex;
|
||||
}
|
||||
@@ -249,7 +248,7 @@ void IUIScene_TradingMenu::updateDisplay()
|
||||
|
||||
vector<HtmlString> *offerDescription = GetItemDescription(activeRecipe->getSellItem());
|
||||
setOfferDescription(offerDescription);
|
||||
|
||||
|
||||
shared_ptr<ItemInstance> buyAItem = activeRecipe->getBuyAItem();
|
||||
shared_ptr<ItemInstance> buyBItem = activeRecipe->getBuyBItem();
|
||||
|
||||
@@ -307,7 +306,7 @@ void IUIScene_TradingMenu::updateDisplay()
|
||||
setRequest1RedBox(false);
|
||||
setRequest2RedBox(false);
|
||||
setRequest1Item(nullptr);
|
||||
setRequest2Item(nullptr);
|
||||
setRequest2Item(nullptr);
|
||||
vector<HtmlString> offerDescription;
|
||||
setOfferDescription(&offerDescription);
|
||||
}
|
||||
|
||||
@@ -24,7 +24,7 @@ bool UIControl_EnchantmentButton::setupControl(UIScene *scene, IggyValuePath *pa
|
||||
UIControl::setControlType(UIControl::eEnchantmentButton);
|
||||
bool success = UIControl_Button::setupControl(scene,parent,controlName);
|
||||
|
||||
//Button specific initialisers
|
||||
//Button specific initialisers
|
||||
m_funcChangeState = registerFastName(L"ChangeState");
|
||||
|
||||
return success;
|
||||
@@ -40,7 +40,7 @@ void UIControl_EnchantmentButton::ReInit()
|
||||
{
|
||||
UIControl_Button::ReInit();
|
||||
|
||||
|
||||
|
||||
m_lastState = eState_Inactive;
|
||||
m_lastCost = 0;
|
||||
m_bHasFocus = false;
|
||||
@@ -54,10 +54,10 @@ void UIControl_EnchantmentButton::tick()
|
||||
}
|
||||
|
||||
void UIControl_EnchantmentButton::render(IggyCustomDrawCallbackRegion *region)
|
||||
{
|
||||
{
|
||||
UIScene_EnchantingMenu *enchantingScene = (UIScene_EnchantingMenu *)m_parentScene;
|
||||
EnchantmentMenu *menu = enchantingScene->getMenu();
|
||||
|
||||
|
||||
float width = region->x1 - region->x0;
|
||||
float height = region->y1 - region->y0;
|
||||
float xo = width/2;
|
||||
@@ -101,7 +101,7 @@ void UIControl_EnchantmentButton::render(IggyCustomDrawCallbackRegion *region)
|
||||
glEnable(GL_ALPHA_TEST);
|
||||
glAlphaFunc(GL_GREATER, 0.1f);
|
||||
Minecraft *pMinecraft = Minecraft::GetInstance();
|
||||
wstring line = _toString<int>(cost);
|
||||
wstring line = std::to_wstring(cost);
|
||||
Font *font = pMinecraft->altFont;
|
||||
//int col = 0x685E4A;
|
||||
unsigned int col = m_textColour;
|
||||
@@ -143,7 +143,7 @@ void UIControl_EnchantmentButton::updateState()
|
||||
EState state = eState_Inactive;
|
||||
|
||||
int cost = menu->costs[m_index];
|
||||
|
||||
|
||||
Minecraft *pMinecraft = Minecraft::GetInstance();
|
||||
if(cost > pMinecraft->localplayers[enchantingScene->getPad()]->experienceLevel && !pMinecraft->localplayers[enchantingScene->getPad()]->abilities.instabuild)
|
||||
{
|
||||
@@ -165,7 +165,7 @@ void UIControl_EnchantmentButton::updateState()
|
||||
|
||||
if(cost != m_lastCost)
|
||||
{
|
||||
setLabel( _toString<int>(cost) );
|
||||
setLabel( std::to_wstring(cost) );
|
||||
m_lastCost = cost;
|
||||
m_enchantmentString = EnchantmentNames::instance.getRandomName();
|
||||
}
|
||||
|
||||
@@ -175,14 +175,14 @@ void UIControl_PlayerSkinPreview::CycleNextAnimation()
|
||||
|
||||
void UIControl_PlayerSkinPreview::CyclePreviousAnimation()
|
||||
{
|
||||
m_currentAnimation = (ESkinPreviewAnimations)(m_currentAnimation - 1);
|
||||
m_currentAnimation = (ESkinPreviewAnimations)(m_currentAnimation - 1);
|
||||
if(m_currentAnimation < e_SkinPreviewAnimation_Walking) m_currentAnimation = (ESkinPreviewAnimations)(e_SkinPreviewAnimation_Count - 1);
|
||||
|
||||
m_swingTime = 0.0f;
|
||||
}
|
||||
|
||||
void UIControl_PlayerSkinPreview::render(IggyCustomDrawCallbackRegion *region)
|
||||
{
|
||||
{
|
||||
Minecraft *pMinecraft=Minecraft::GetInstance();
|
||||
|
||||
glEnable(GL_RESCALE_NORMAL);
|
||||
@@ -193,7 +193,7 @@ void UIControl_PlayerSkinPreview::render(IggyCustomDrawCallbackRegion *region)
|
||||
float height = region->y1 - region->y0;
|
||||
float xo = width/2;
|
||||
float yo = height;
|
||||
|
||||
|
||||
glTranslatef(xo, yo - 3.5f, 50.0f);
|
||||
//glTranslatef(120.0f, 294, 0.0f);
|
||||
|
||||
@@ -224,11 +224,9 @@ void UIControl_PlayerSkinPreview::render(IggyCustomDrawCallbackRegion *region)
|
||||
//vector<ModelPart *> *pAdditionalModelParts=mob->GetAdditionalModelParts();
|
||||
|
||||
if(m_pvAdditionalModelParts && m_pvAdditionalModelParts->size()!=0)
|
||||
{
|
||||
for(AUTO_VAR(it, m_pvAdditionalModelParts->begin()); it != m_pvAdditionalModelParts->end(); ++it)
|
||||
{
|
||||
for(auto& pModelPart : *m_pvAdditionalModelParts)
|
||||
{
|
||||
ModelPart *pModelPart=*it;
|
||||
|
||||
pModelPart->visible=true;
|
||||
}
|
||||
}
|
||||
@@ -238,11 +236,9 @@ void UIControl_PlayerSkinPreview::render(IggyCustomDrawCallbackRegion *region)
|
||||
|
||||
// hide the additional parts
|
||||
if(m_pvAdditionalModelParts && m_pvAdditionalModelParts->size()!=0)
|
||||
{
|
||||
for(AUTO_VAR(it, m_pvAdditionalModelParts->begin()); it != m_pvAdditionalModelParts->end(); ++it)
|
||||
{
|
||||
for(auto& pModelPart : *m_pvAdditionalModelParts)
|
||||
{
|
||||
ModelPart *pModelPart=*it;
|
||||
|
||||
pModelPart->visible=false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -182,7 +182,7 @@ UIController::UIController()
|
||||
{
|
||||
m_uiDebugConsole = NULL;
|
||||
m_reloadSkinThread = NULL;
|
||||
|
||||
|
||||
m_navigateToHomeOnReload = false;
|
||||
|
||||
m_bCleanupOnReload = false;
|
||||
@@ -302,7 +302,7 @@ void UIController::postInit()
|
||||
IggySetTextureSubstitutionCallbacks ( &UIController::TextureSubstitutionCreateCallback , &UIController::TextureSubstitutionDestroyCallback, this );
|
||||
|
||||
SetupFont();
|
||||
//
|
||||
//
|
||||
loadSkins();
|
||||
|
||||
for(unsigned int i = 0; i < eUIGroup_COUNT; ++i)
|
||||
@@ -383,7 +383,7 @@ void UIController::SetupFont()
|
||||
app.m_dlcManager.LanguageChanged();
|
||||
|
||||
app.loadStringTable(); // Switch to use new string table,
|
||||
|
||||
|
||||
if (m_eTargetFont == m_eCurrentFont)
|
||||
{
|
||||
// 4J-JEV: If we're ingame, reload the font to update all the text.
|
||||
@@ -458,12 +458,12 @@ bool UIController::UsingBitmapFont()
|
||||
void UIController::tick()
|
||||
{
|
||||
SetupFont(); // If necessary, change font.
|
||||
|
||||
|
||||
if ( (m_navigateToHomeOnReload || m_bCleanupOnReload) && !ui.IsReloadingSkin() )
|
||||
{
|
||||
ui.CleanUpSkinReload();
|
||||
|
||||
if (m_navigateToHomeOnReload || !g_NetworkManager.IsInSession())
|
||||
|
||||
if (m_navigateToHomeOnReload || !g_NetworkManager.IsInSession())
|
||||
{
|
||||
ui.NavigateToScene(ProfileManager.GetPrimaryPad(),eUIScene_MainMenu);
|
||||
}
|
||||
@@ -500,8 +500,8 @@ void UIController::tick()
|
||||
|
||||
// Clear out the cached movie file data
|
||||
__int64 currentTime = System::currentTimeMillis();
|
||||
for(AUTO_VAR(it, m_cachedMovieData.begin()); it != m_cachedMovieData.end();)
|
||||
{
|
||||
for (auto it = m_cachedMovieData.begin(); it != m_cachedMovieData.end();)
|
||||
{
|
||||
if(it->second.m_expiry < currentTime)
|
||||
{
|
||||
delete [] it->second.m_ba.data;
|
||||
@@ -730,7 +730,7 @@ void UIController::CleanUpSkinReload()
|
||||
{
|
||||
if(!Minecraft::GetInstance()->skins->getSelected()->hasAudio())
|
||||
{
|
||||
#ifdef _DURANGO
|
||||
#ifdef _DURANGO
|
||||
DWORD result = StorageManager.UnmountInstalledDLC(L"TPACK");
|
||||
#else
|
||||
DWORD result = StorageManager.UnmountInstalledDLC("TPACK");
|
||||
@@ -738,9 +738,8 @@ void UIController::CleanUpSkinReload()
|
||||
}
|
||||
}
|
||||
|
||||
for(AUTO_VAR(it,m_queuedMessageBoxData.begin()); it != m_queuedMessageBoxData.end(); ++it)
|
||||
for(auto queuedData : m_queuedMessageBoxData)
|
||||
{
|
||||
QueuedMessageBoxData *queuedData = *it;
|
||||
ui.NavigateToScene(queuedData->iPad, eUIScene_MessageBox, &queuedData->info, queuedData->layer, eUIGroup_Fullscreen);
|
||||
delete queuedData->info.uiOptionA;
|
||||
delete queuedData;
|
||||
@@ -752,8 +751,8 @@ byteArray UIController::getMovieData(const wstring &filename)
|
||||
{
|
||||
// Cache everything we load in the current tick
|
||||
__int64 targetTime = System::currentTimeMillis() + (1000LL * 60);
|
||||
AUTO_VAR(it,m_cachedMovieData.find(filename));
|
||||
if(it == m_cachedMovieData.end() )
|
||||
auto it = m_cachedMovieData.find(filename);
|
||||
if(it == m_cachedMovieData.end() )
|
||||
{
|
||||
byteArray baFile = app.getArchiveFile(filename);
|
||||
CachedMovieData cmd;
|
||||
@@ -959,7 +958,7 @@ void UIController::handleInput()
|
||||
{
|
||||
#ifdef _DURANGO
|
||||
// 4J-JEV: Added exception for primary play who migh've uttered speech commands.
|
||||
if(iPad != ProfileManager.GetPrimaryPad()
|
||||
if(iPad != ProfileManager.GetPrimaryPad()
|
||||
&& (!InputManager.IsPadConnected(iPad) || !InputManager.IsPadLocked(iPad)) ) continue;
|
||||
#endif
|
||||
for(unsigned int key = 0; key <= ACTION_MAX_MENU; ++key)
|
||||
@@ -1035,7 +1034,7 @@ void UIController::handleKeyPress(unsigned int iPad, unsigned int key)
|
||||
{
|
||||
// no active touch? clear active and highlighted touch UI elements
|
||||
m_ActiveUIElement = NULL;
|
||||
m_HighlightedUIElement = NULL;
|
||||
m_HighlightedUIElement = NULL;
|
||||
|
||||
// fullscreen first
|
||||
UIScene *pScene=m_groups[(int)eUIGroup_Fullscreen]->getCurrentScene();
|
||||
@@ -1085,7 +1084,7 @@ void UIController::handleKeyPress(unsigned int iPad, unsigned int key)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else if(m_bTouchscreenPressed && pTouchData->reportNum==1)
|
||||
{
|
||||
// fullscreen first
|
||||
@@ -1337,8 +1336,8 @@ void UIController::handleKeyPress(unsigned int iPad, unsigned int key)
|
||||
app.DebugPrintf(app.USER_SR, "Total static: %d , Total dynamic: %d\n", totalStatic, totalDynamic);
|
||||
app.DebugPrintf(app.USER_SR, "\n\nEND TOTAL SWF MEMORY USAGE\n");
|
||||
app.DebugPrintf(app.USER_SR, "********************************\n\n");
|
||||
}
|
||||
else
|
||||
}
|
||||
else
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
@@ -1535,7 +1534,7 @@ void UIController::setupCustomDrawGameState()
|
||||
glLoadIdentity();
|
||||
glOrtho(0, m_fScreenWidth, m_fScreenHeight, 0, 1000, 3000);
|
||||
glMatrixMode(GL_MODELVIEW);
|
||||
glEnable(GL_ALPHA_TEST);
|
||||
glEnable(GL_ALPHA_TEST);
|
||||
glAlphaFunc(GL_GREATER, 0.1f);
|
||||
glEnable(GL_DEPTH_TEST);
|
||||
glDepthFunc(GL_LEQUAL);
|
||||
@@ -1635,22 +1634,22 @@ void RADLINK UIController::CustomDrawCallback(void *user_callback_data, Iggy *pl
|
||||
//Description
|
||||
//Callback to create a user-defined texture to replace SWF-defined textures.
|
||||
//Parameters
|
||||
//width - Input value: optional number of pixels wide specified from AS3, or -1 if not defined. Output value: the number of pixels wide to pretend to Iggy that the bitmap is. SWF and AS3 scales bitmaps based on their pixel dimensions, so you can use this to substitute a texture that is higher or lower resolution that ActionScript thinks it is.
|
||||
//height - Input value: optional number of pixels high specified from AS3, or -1 if not defined. Output value: the number of pixels high to pretend to Iggy that the bitmap is. SWF and AS3 scales bitmaps based on their pixel dimensions, so you can use this to substitute a texture that is higher or lower resolution that ActionScript thinks it is.
|
||||
//destroy_callback_data - Optional additional output value you can set; the value will be passed along to the corresponding Iggy_TextureSubstitutionDestroyCallback (e.g. you can store the pointer to your own internal structure here).
|
||||
//return - A platform-independent wrapped texture handle provided by GDraw, or NULL (NULL with throw an ActionScript 3 ArgumentError that the Flash developer can catch) Use by calling IggySetTextureSubstitutionCallbacks.
|
||||
//width - Input value: optional number of pixels wide specified from AS3, or -1 if not defined. Output value: the number of pixels wide to pretend to Iggy that the bitmap is. SWF and AS3 scales bitmaps based on their pixel dimensions, so you can use this to substitute a texture that is higher or lower resolution that ActionScript thinks it is.
|
||||
//height - Input value: optional number of pixels high specified from AS3, or -1 if not defined. Output value: the number of pixels high to pretend to Iggy that the bitmap is. SWF and AS3 scales bitmaps based on their pixel dimensions, so you can use this to substitute a texture that is higher or lower resolution that ActionScript thinks it is.
|
||||
//destroy_callback_data - Optional additional output value you can set; the value will be passed along to the corresponding Iggy_TextureSubstitutionDestroyCallback (e.g. you can store the pointer to your own internal structure here).
|
||||
//return - A platform-independent wrapped texture handle provided by GDraw, or NULL (NULL with throw an ActionScript 3 ArgumentError that the Flash developer can catch) Use by calling IggySetTextureSubstitutionCallbacks.
|
||||
//
|
||||
//Discussion
|
||||
//
|
||||
//If your texture includes an alpha channel, you must use a premultiplied alpha (where the R,G, and B channels have been multiplied by the alpha value); all Iggy shaders assume premultiplied alpha (and it looks better anyway).
|
||||
GDrawTexture * RADLINK UIController::TextureSubstitutionCreateCallback ( void * user_callback_data , IggyUTF16 * texture_name , S32 * width , S32 * height , void * * destroy_callback_data )
|
||||
{
|
||||
UIController *uiController = (UIController *)user_callback_data;
|
||||
AUTO_VAR(it,uiController->m_substitutionTextures.find((wchar_t *)texture_name));
|
||||
UIController *uiController = static_cast<UIController *>(user_callback_data);
|
||||
auto it = uiController->m_substitutionTextures.find(texture_name);
|
||||
|
||||
if(it != uiController->m_substitutionTextures.end())
|
||||
if(it != uiController->m_substitutionTextures.end())
|
||||
{
|
||||
app.DebugPrintf("Found substitution texture %ls, with %d bytes\n", (wchar_t *)texture_name,it->second.length);
|
||||
app.DebugPrintf("Found substitution texture %ls, with %d bytes\n", texture_name,it->second.length);
|
||||
|
||||
BufferedImage image(it->second.data, it->second.length);
|
||||
if( image.getData() != NULL )
|
||||
@@ -1711,9 +1710,9 @@ void UIController::registerSubstitutionTexture(const wstring &textureName, PBYTE
|
||||
|
||||
void UIController::unregisterSubstitutionTexture(const wstring &textureName, bool deleteData)
|
||||
{
|
||||
AUTO_VAR(it,m_substitutionTextures.find(textureName));
|
||||
auto it = m_substitutionTextures.find(textureName);
|
||||
|
||||
if(it != m_substitutionTextures.end())
|
||||
if(it != m_substitutionTextures.end())
|
||||
{
|
||||
if(deleteData) delete [] it->second.data;
|
||||
m_substitutionTextures.erase(it);
|
||||
@@ -1854,7 +1853,7 @@ bool UIController::NavigateBack(int iPad, bool forceUsePad, EUIScene eScene, EUI
|
||||
void UIController::NavigateToHomeMenu()
|
||||
{
|
||||
ui.CloseAllPlayersScenes();
|
||||
|
||||
|
||||
// Alert the app the we no longer want to be informed of ethernet connections
|
||||
app.SetLiveLinkRequired( false );
|
||||
|
||||
@@ -1953,8 +1952,8 @@ size_t UIController::RegisterForCallbackId(UIScene *scene)
|
||||
void UIController::UnregisterCallbackId(size_t id)
|
||||
{
|
||||
EnterCriticalSection(&m_registeredCallbackScenesCS);
|
||||
AUTO_VAR(it, m_registeredCallbackScenes.find(id) );
|
||||
if(it != m_registeredCallbackScenes.end() )
|
||||
auto it = m_registeredCallbackScenes.find(id);
|
||||
if(it != m_registeredCallbackScenes.end() )
|
||||
{
|
||||
m_registeredCallbackScenes.erase(it);
|
||||
}
|
||||
@@ -1964,8 +1963,8 @@ void UIController::UnregisterCallbackId(size_t id)
|
||||
UIScene *UIController::GetSceneFromCallbackId(size_t id)
|
||||
{
|
||||
UIScene *scene = NULL;
|
||||
AUTO_VAR(it, m_registeredCallbackScenes.find(id) );
|
||||
if(it != m_registeredCallbackScenes.end() )
|
||||
auto it = m_registeredCallbackScenes.find(id);
|
||||
if(it != m_registeredCallbackScenes.end() )
|
||||
{
|
||||
scene = it->second;
|
||||
}
|
||||
@@ -2017,7 +2016,7 @@ void UIController::CloseUIScenes(int iPad, bool forceIPad)
|
||||
|
||||
m_groups[(int)group]->closeAllScenes();
|
||||
m_groups[(int)group]->getTooltips()->SetTooltips(-1);
|
||||
|
||||
|
||||
// This should cause the popup to dissappear
|
||||
TutorialPopupInfo popupInfo;
|
||||
if(m_groups[(int)group]->getTutorialPopup()) m_groups[(int)group]->getTutorialPopup()->SetTutorialDescription(&popupInfo);
|
||||
@@ -2168,7 +2167,7 @@ void UIController::SetMenuDisplayed(int iPad,bool bVal)
|
||||
|
||||
#ifdef _DURANGO
|
||||
// 4J-JEV: When in-game, allow player to toggle the 'Pause' and 'IngameInfo' menus via Kinnect.
|
||||
if (Minecraft::GetInstance()->running)
|
||||
if (Minecraft::GetInstance()->running)
|
||||
InputManager.SetEnabledGtcButtons(_360_GTC_MENU | _360_GTC_PAUSE | _360_GTC_VIEW);
|
||||
#endif
|
||||
}
|
||||
@@ -2341,7 +2340,7 @@ void UIController::PlayUISFX(ESoundEffect eSound)
|
||||
// Don't play multiple SFX on the same tick
|
||||
// (prevents horrible sounds when programmatically setting multiple checkboxes)
|
||||
if (time - m_lastUiSfx < 10) { return; }
|
||||
m_lastUiSfx = time;
|
||||
m_lastUiSfx = time;
|
||||
|
||||
Minecraft::GetInstance()->soundEngine->playUI(eSound,1.0f,1.0f);
|
||||
}
|
||||
@@ -2588,7 +2587,7 @@ void UIController::SetTrialTimerLimitSecs(unsigned int uiSeconds)
|
||||
|
||||
void UIController::UpdateTrialTimer(unsigned int iPad)
|
||||
{
|
||||
WCHAR wcTime[20];
|
||||
WCHAR wcTime[20];
|
||||
|
||||
DWORD dwTimeTicks=(DWORD)app.getTrialTimer();
|
||||
|
||||
@@ -2650,7 +2649,7 @@ void UIController::ShowAutosaveCountdownTimer(bool show)
|
||||
void UIController::UpdateAutosaveCountdownTimer(unsigned int uiSeconds)
|
||||
{
|
||||
#if !(defined(_XBOX_ONE) || defined(__ORBIS__))
|
||||
WCHAR wcAutosaveCountdown[100];
|
||||
WCHAR wcAutosaveCountdown[100];
|
||||
swprintf( wcAutosaveCountdown, 100, app.GetString(IDS_AUTOSAVE_COUNTDOWN),uiSeconds);
|
||||
if(m_groups[(int)eUIGroup_Fullscreen]->getPressStartToPlay()) m_groups[(int)eUIGroup_Fullscreen]->getPressStartToPlay()->setTrialTimer(wcAutosaveCountdown);
|
||||
#endif
|
||||
@@ -2820,7 +2819,7 @@ C4JStorage::EMessageResult UIController::RequestUGCMessageBox(UINT title/* = -1
|
||||
#ifdef __ORBIS__
|
||||
// Show the vague UGC system message in addition to our message
|
||||
ProfileManager.DisplaySystemMessage( SCE_MSG_DIALOG_SYSMSG_TYPE_TRC_PSN_UGC_RESTRICTION, iPad );
|
||||
return C4JStorage::EMessage_ResultAccept;
|
||||
return C4JStorage::EMessage_ResultAccept;
|
||||
#elif defined(__PSVITA__)
|
||||
ProfileManager.ShowSystemMessage( SCE_MSG_DIALOG_SYSMSG_TYPE_TRC_PSN_CHAT_RESTRICTION, iPad );
|
||||
UINT uiIDA[1];
|
||||
@@ -2857,7 +2856,7 @@ C4JStorage::EMessageResult UIController::RequestContentRestrictedMessageBox(UINT
|
||||
#ifdef __ORBIS__
|
||||
// Show the vague UGC system message in addition to our message
|
||||
ProfileManager.DisplaySystemMessage( SCE_MSG_DIALOG_SYSMSG_TYPE_TRC_PSN_UGC_RESTRICTION, iPad );
|
||||
return C4JStorage::EMessage_ResultAccept;
|
||||
return C4JStorage::EMessage_ResultAccept;
|
||||
#elif defined(__PSVITA__)
|
||||
ProfileManager.ShowSystemMessage( SCE_MSG_DIALOG_SYSMSG_TYPE_TRC_PSN_AGE_RESTRICTION, iPad );
|
||||
return C4JStorage::EMessage_ResultAccept;
|
||||
@@ -2897,7 +2896,7 @@ void UIController::setFontCachingCalculationBuffer(int length)
|
||||
}
|
||||
}
|
||||
|
||||
// Returns the first scene of given type if it exists, NULL otherwise
|
||||
// Returns the first scene of given type if it exists, NULL otherwise
|
||||
UIScene *UIController::FindScene(EUIScene sceneType)
|
||||
{
|
||||
UIScene *pScene = NULL;
|
||||
@@ -3002,11 +3001,8 @@ void UIController::TouchBoxRebuild(UIScene *pUIScene)
|
||||
ui.TouchBoxesClear(pUIScene);
|
||||
|
||||
// rebuild boxes
|
||||
AUTO_VAR(itEnd, pUIScene->GetControls()->end());
|
||||
for (AUTO_VAR(it, pUIScene->GetControls()->begin()); it != itEnd; it++)
|
||||
for ( UIControl *control : *pUIScene->GetControls() )
|
||||
{
|
||||
UIControl *control=(UIControl *)*it;
|
||||
|
||||
if(control->getControlType() == UIControl::eButton ||
|
||||
control->getControlType() == UIControl::eSlider ||
|
||||
control->getControlType() == UIControl::eCheckBox ||
|
||||
@@ -3035,11 +3031,9 @@ void UIController::TouchBoxesClear(UIScene *pUIScene)
|
||||
EUILayer eUILayer=pUIScene->GetParentLayer()->m_iLayer;
|
||||
EUIScene eUIscene=pUIScene->getSceneType();
|
||||
|
||||
AUTO_VAR(itEnd, m_TouchBoxes[eUIGroup][eUILayer][eUIscene].end());
|
||||
for (AUTO_VAR(it, m_TouchBoxes[eUIGroup][eUILayer][eUIscene].begin()); it != itEnd; it++)
|
||||
for ( UIELEMENT *element : m_TouchBoxes[eUIGroup][eUILayer][eUIscene] )
|
||||
{
|
||||
UIELEMENT *element=(UIELEMENT *)*it;
|
||||
delete element;
|
||||
delete element;
|
||||
}
|
||||
m_TouchBoxes[eUIGroup][eUILayer][eUIscene].clear();
|
||||
}
|
||||
@@ -3056,10 +3050,8 @@ bool UIController::TouchBoxHit(UIScene *pUIScene,S32 x, S32 y)
|
||||
|
||||
if(m_TouchBoxes[eUIGroup][eUILayer][eUIscene].size()>0)
|
||||
{
|
||||
AUTO_VAR(itEnd, m_TouchBoxes[eUIGroup][eUILayer][eUIscene].end());
|
||||
for (AUTO_VAR(it, m_TouchBoxes[eUIGroup][eUILayer][eUIscene].begin()); it != itEnd; it++)
|
||||
for ( UIELEMENT *element : m_TouchBoxes[eUIGroup][eUILayer][eUIscene] )
|
||||
{
|
||||
UIELEMENT *element=(UIELEMENT *)*it;
|
||||
if(element->pControl->getHidden() == false && element->pControl->getVisible()) // ignore removed controls
|
||||
{
|
||||
if((x>=element->x1) &&(x<=element->x2) && (y>=element->y1) && (y<=element->y2))
|
||||
@@ -3075,7 +3067,7 @@ bool UIController::TouchBoxHit(UIScene *pUIScene,S32 x, S32 y)
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//app.DebugPrintf("MISS at x = %i y = %i\n", (int)x, (int)y);
|
||||
|
||||
@@ -18,18 +18,16 @@ void UILayer::tick()
|
||||
{
|
||||
// Delete old scenes - deleting a scene can cause a new scene to be deleted, so we need to make a copy of the scenes that we are going to try and destroy this tick
|
||||
vector<UIScene *>scenesToDeleteCopy;
|
||||
for( AUTO_VAR(it,m_scenesToDelete.begin()); it != m_scenesToDelete.end(); it++)
|
||||
for(auto& scene : m_scenesToDelete)
|
||||
{
|
||||
UIScene *scene = (*it);
|
||||
scenesToDeleteCopy.push_back(scene);
|
||||
}
|
||||
m_scenesToDelete.clear();
|
||||
|
||||
// Delete the scenes in our copy if they are ready to delete, otherwise add back to the ones that are still to be deleted. Actually deleting a scene might also add something back into m_scenesToDelete.
|
||||
for( AUTO_VAR(it,scenesToDeleteCopy.begin()); it != scenesToDeleteCopy.end(); it++)
|
||||
for(auto& scene : scenesToDeleteCopy)
|
||||
{
|
||||
UIScene *scene = (*it);
|
||||
if( scene->isReadyToDelete())
|
||||
if( scene && scene->isReadyToDelete())
|
||||
{
|
||||
delete scene;
|
||||
}
|
||||
@@ -38,7 +36,7 @@ void UILayer::tick()
|
||||
m_scenesToDelete.push_back(scene);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
while (!m_scenesToDestroy.empty())
|
||||
{
|
||||
UIScene *scene = m_scenesToDestroy.back();
|
||||
@@ -46,14 +44,13 @@ void UILayer::tick()
|
||||
scene->destroyMovie();
|
||||
}
|
||||
m_scenesToDestroy.clear();
|
||||
|
||||
for(AUTO_VAR(it,m_components.begin()); it != m_components.end(); ++it)
|
||||
|
||||
for(auto & component : m_components)
|
||||
{
|
||||
(*it)->tick();
|
||||
component->tick();
|
||||
}
|
||||
// Note: reverse iterator, the last element is the top of the stack
|
||||
int sceneIndex = m_sceneStack.size() - 1;
|
||||
//for(AUTO_VAR(it,m_sceneStack.rbegin()); it != m_sceneStack.rend(); ++it)
|
||||
int sceneIndex = m_sceneStack.size() - 1;
|
||||
while( sceneIndex >= 0 && sceneIndex < m_sceneStack.size() )
|
||||
{
|
||||
//(*it)->tick();
|
||||
@@ -68,20 +65,20 @@ void UILayer::render(S32 width, S32 height, C4JRender::eViewportType viewport)
|
||||
{
|
||||
if(!ui.IsExpectingOrReloadingSkin())
|
||||
{
|
||||
for(AUTO_VAR(it,m_components.begin()); it != m_components.end(); ++it)
|
||||
{
|
||||
AUTO_VAR(itRef,m_componentRefCount.find((*it)->getSceneType()));
|
||||
if(itRef != m_componentRefCount.end() && itRef->second.second)
|
||||
for(auto& it : m_components)
|
||||
{
|
||||
if((*it)->isVisible() )
|
||||
auto itRef = m_componentRefCount.find(it->getSceneType());
|
||||
if(itRef != m_componentRefCount.end() && itRef->second.second)
|
||||
{
|
||||
PIXBeginNamedEvent(0, "Rendering component %d", (*it)->getSceneType() );
|
||||
(*it)->render(width, height,viewport);
|
||||
PIXEndNamedEvent();
|
||||
if(it->isVisible() )
|
||||
{
|
||||
PIXBeginNamedEvent(0, "Rendering component %d", it->getSceneType() );
|
||||
it->render(width, height,viewport);
|
||||
PIXEndNamedEvent();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if(!m_sceneStack.empty())
|
||||
{
|
||||
int lowestRenderable = m_sceneStack.size() - 1;
|
||||
@@ -139,9 +136,9 @@ bool UILayer::HasFocus(int iPad)
|
||||
bool UILayer::hidesLowerScenes()
|
||||
{
|
||||
bool hidesScenes = false;
|
||||
for(AUTO_VAR(it,m_components.begin()); it != m_components.end(); ++it)
|
||||
for(auto& it : m_components)
|
||||
{
|
||||
if((*it)->hidesLowerScenes())
|
||||
if(it->hidesLowerScenes())
|
||||
{
|
||||
hidesScenes = true;
|
||||
break;
|
||||
@@ -168,28 +165,27 @@ void UILayer::getRenderDimensions(S32 &width, S32 &height)
|
||||
|
||||
void UILayer::DestroyAll()
|
||||
{
|
||||
for(AUTO_VAR(it,m_components.begin()); it != m_components.end(); ++it)
|
||||
for(auto& it : m_components)
|
||||
{
|
||||
(*it)->destroyMovie();
|
||||
it->destroyMovie();
|
||||
}
|
||||
for(AUTO_VAR(it, m_sceneStack.begin()); it != m_sceneStack.end(); ++it)
|
||||
for(auto& it : m_sceneStack)
|
||||
{
|
||||
(*it)->destroyMovie();
|
||||
it->destroyMovie();
|
||||
}
|
||||
}
|
||||
|
||||
void UILayer::ReloadAll(bool force)
|
||||
{
|
||||
for(AUTO_VAR(it,m_components.begin()); it != m_components.end(); ++it)
|
||||
for(auto& it : m_components)
|
||||
{
|
||||
(*it)->reloadMovie(force);
|
||||
it->reloadMovie(force);
|
||||
}
|
||||
if(!m_sceneStack.empty())
|
||||
{
|
||||
int lowestRenderable = 0;
|
||||
for(;lowestRenderable < m_sceneStack.size(); ++lowestRenderable)
|
||||
for(auto& lowestRenderable : m_sceneStack)
|
||||
{
|
||||
m_sceneStack[lowestRenderable]->reloadMovie(force);
|
||||
lowestRenderable->reloadMovie(force);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -440,9 +436,9 @@ bool UILayer::NavigateToScene(int iPad, EUIScene scene, void *initData)
|
||||
}
|
||||
|
||||
m_sceneStack.push_back(newScene);
|
||||
|
||||
|
||||
updateFocusState();
|
||||
|
||||
|
||||
newScene->tick();
|
||||
|
||||
return true;
|
||||
@@ -493,8 +489,8 @@ bool UILayer::NavigateBack(int iPad, EUIScene eScene)
|
||||
|
||||
void UILayer::showComponent(int iPad, EUIScene scene, bool show)
|
||||
{
|
||||
AUTO_VAR(it,m_componentRefCount.find(scene));
|
||||
if(it != m_componentRefCount.end())
|
||||
auto it = m_componentRefCount.find(scene);
|
||||
if(it != m_componentRefCount.end())
|
||||
{
|
||||
it->second.second = show;
|
||||
return;
|
||||
@@ -505,8 +501,8 @@ void UILayer::showComponent(int iPad, EUIScene scene, bool show)
|
||||
bool UILayer::isComponentVisible(EUIScene scene)
|
||||
{
|
||||
bool visible = false;
|
||||
AUTO_VAR(it,m_componentRefCount.find(scene));
|
||||
if(it != m_componentRefCount.end())
|
||||
auto it = m_componentRefCount.find(scene);
|
||||
if(it != m_componentRefCount.end())
|
||||
{
|
||||
visible = it->second.second;
|
||||
}
|
||||
@@ -515,16 +511,16 @@ bool UILayer::isComponentVisible(EUIScene scene)
|
||||
|
||||
UIScene *UILayer::addComponent(int iPad, EUIScene scene, void *initData)
|
||||
{
|
||||
AUTO_VAR(it,m_componentRefCount.find(scene));
|
||||
if(it != m_componentRefCount.end())
|
||||
auto it = m_componentRefCount.find(scene);
|
||||
if(it != m_componentRefCount.end())
|
||||
{
|
||||
++it->second.first;
|
||||
|
||||
for(AUTO_VAR(itComp,m_components.begin()); itComp != m_components.end(); ++itComp)
|
||||
for(auto& itComp : m_components)
|
||||
{
|
||||
if( (*itComp)->getSceneType() == scene )
|
||||
if( itComp->getSceneType() == scene )
|
||||
{
|
||||
return *itComp;
|
||||
return itComp;
|
||||
}
|
||||
}
|
||||
return NULL;
|
||||
@@ -586,16 +582,16 @@ UIScene *UILayer::addComponent(int iPad, EUIScene scene, void *initData)
|
||||
|
||||
void UILayer::removeComponent(EUIScene scene)
|
||||
{
|
||||
AUTO_VAR(it,m_componentRefCount.find(scene));
|
||||
if(it != m_componentRefCount.end())
|
||||
auto it = m_componentRefCount.find(scene);
|
||||
if(it != m_componentRefCount.end())
|
||||
{
|
||||
--it->second.first;
|
||||
|
||||
if(it->second.first <= 0)
|
||||
{
|
||||
m_componentRefCount.erase(it);
|
||||
for(AUTO_VAR(compIt, m_components.begin()) ; compIt != m_components.end(); )
|
||||
{
|
||||
for (auto compIt = m_components.begin(); compIt != m_components.end();)
|
||||
{
|
||||
if( (*compIt)->getSceneType() == scene)
|
||||
{
|
||||
#ifdef __PSVITA__
|
||||
@@ -622,8 +618,8 @@ void UILayer::removeScene(UIScene *scene)
|
||||
ui.TouchBoxesClear(scene);
|
||||
#endif
|
||||
|
||||
AUTO_VAR(newEnd, std::remove(m_sceneStack.begin(), m_sceneStack.end(), scene) );
|
||||
m_sceneStack.erase(newEnd, m_sceneStack.end());
|
||||
auto newEnd = std::remove(m_sceneStack.begin(), m_sceneStack.end(), scene);
|
||||
m_sceneStack.erase(newEnd, m_sceneStack.end());
|
||||
|
||||
m_scenesToDelete.push_back(scene);
|
||||
|
||||
@@ -645,14 +641,14 @@ void UILayer::closeAllScenes()
|
||||
vector<UIScene *> temp;
|
||||
temp.insert(temp.end(), m_sceneStack.begin(), m_sceneStack.end());
|
||||
m_sceneStack.clear();
|
||||
for(AUTO_VAR(it, temp.begin()); it != temp.end(); ++it)
|
||||
for(auto& it : temp)
|
||||
{
|
||||
#ifdef __PSVITA__
|
||||
// remove any touchboxes
|
||||
ui.TouchBoxesClear(*it);
|
||||
ui.TouchBoxesClear(it);
|
||||
#endif
|
||||
m_scenesToDelete.push_back(*it);
|
||||
(*it)->handleDestroy(); // For anything that might require the pointer be valid
|
||||
m_scenesToDelete.push_back(it);
|
||||
it->handleDestroy(); // For anything that might require the pointer be valid
|
||||
}
|
||||
|
||||
updateFocusState();
|
||||
@@ -696,8 +692,8 @@ bool UILayer::updateFocusState(bool allowedFocus /* = false */)
|
||||
m_bIgnorePlayerJoinMenuDisplayed = false;
|
||||
|
||||
bool layerFocusSet = false;
|
||||
for(AUTO_VAR(it,m_sceneStack.rbegin()); it != m_sceneStack.rend(); ++it)
|
||||
{
|
||||
for (auto it = m_sceneStack.rbegin(); it != m_sceneStack.rend(); ++it)
|
||||
{
|
||||
UIScene *scene = *it;
|
||||
|
||||
// UPDATE FOCUS STATES
|
||||
@@ -730,12 +726,12 @@ bool UILayer::updateFocusState(bool allowedFocus /* = false */)
|
||||
|
||||
// 4J-PB - this should just be true
|
||||
m_bMenuDisplayed=true;
|
||||
|
||||
|
||||
EUIScene sceneType = scene->getSceneType();
|
||||
switch(sceneType)
|
||||
{
|
||||
case eUIScene_PauseMenu:
|
||||
m_bPauseMenuDisplayed = true;
|
||||
m_bPauseMenuDisplayed = true;
|
||||
break;
|
||||
case eUIScene_Crafting2x2Menu:
|
||||
case eUIScene_Crafting3x3Menu:
|
||||
@@ -757,7 +753,7 @@ bool UILayer::updateFocusState(bool allowedFocus /* = false */)
|
||||
|
||||
// Intentional fall-through
|
||||
case eUIScene_DeathMenu:
|
||||
case eUIScene_FullscreenProgress:
|
||||
case eUIScene_FullscreenProgress:
|
||||
case eUIScene_SignEntryMenu:
|
||||
case eUIScene_EndPoem:
|
||||
m_bIgnoreAutosaveMenuDisplayed = true;
|
||||
@@ -766,7 +762,7 @@ bool UILayer::updateFocusState(bool allowedFocus /* = false */)
|
||||
|
||||
switch(sceneType)
|
||||
{
|
||||
case eUIScene_FullscreenProgress:
|
||||
case eUIScene_FullscreenProgress:
|
||||
case eUIScene_EndPoem:
|
||||
case eUIScene_Credits:
|
||||
case eUIScene_LeaderboardsMenu:
|
||||
@@ -783,7 +779,7 @@ bool UILayer::updateFocusState(bool allowedFocus /* = false */)
|
||||
UIScene *UILayer::getCurrentScene()
|
||||
{
|
||||
// Note: reverse iterator, the last element is the top of the stack
|
||||
for(AUTO_VAR(it,m_sceneStack.rbegin()); it != m_sceneStack.rend(); ++it)
|
||||
for( auto it = m_sceneStack.rbegin(); it != m_sceneStack.rend(); ++it)
|
||||
{
|
||||
UIScene *scene = *it;
|
||||
// 4J-PB - only used on Vita, so iPad 0 is fine
|
||||
@@ -800,13 +796,13 @@ UIScene *UILayer::getCurrentScene()
|
||||
void UILayer::handleInput(int iPad, int key, bool repeat, bool pressed, bool released, bool &handled)
|
||||
{
|
||||
// Note: reverse iterator, the last element is the top of the stack
|
||||
for(AUTO_VAR(it,m_sceneStack.rbegin()); it != m_sceneStack.rend(); ++it)
|
||||
{
|
||||
for (auto it = m_sceneStack.rbegin(); it != m_sceneStack.rend(); ++it)
|
||||
{
|
||||
UIScene *scene = *it;
|
||||
if(scene->hasFocus(iPad) && scene->canHandleInput())
|
||||
{
|
||||
// 4J-PB - ignore repeats of action ABXY buttons
|
||||
// fix for PS3 213 - [MAIN MENU] Holding down buttons will continue to activate every prompt.
|
||||
// 4J-PB - ignore repeats of action ABXY buttons
|
||||
// fix for PS3 213 - [MAIN MENU] Holding down buttons will continue to activate every prompt.
|
||||
// 4J Stu - Changed this slightly to add the allowRepeat function so we can allow repeats in the crafting menu
|
||||
if(repeat && !scene->allowRepeat(key) )
|
||||
{
|
||||
@@ -814,8 +810,8 @@ void UILayer::handleInput(int iPad, int key, bool repeat, bool pressed, bool rel
|
||||
}
|
||||
scene->handleInput(iPad, key, repeat, pressed, released, handled);
|
||||
}
|
||||
|
||||
// Fix for PS3 #444 - [IN GAME] If the user keeps pressing CROSS while on the 'Save Game' screen the title will crash.
|
||||
|
||||
// Fix for PS3 #444 - [IN GAME] If the user keeps pressing CROSS while on the 'Save Game' screen the title will crash.
|
||||
handled = handled || scene->hidesLowerScenes() || scene->blocksInput();
|
||||
if(handled ) break;
|
||||
}
|
||||
@@ -825,8 +821,8 @@ void UILayer::handleInput(int iPad, int key, bool repeat, bool pressed, bool rel
|
||||
|
||||
void UILayer::HandleDLCMountingComplete()
|
||||
{
|
||||
for(AUTO_VAR(it,m_sceneStack.rbegin()); it != m_sceneStack.rend(); ++it)
|
||||
{
|
||||
for (auto it = m_sceneStack.rbegin(); it != m_sceneStack.rend(); ++it)
|
||||
{
|
||||
UIScene *topScene = *it;
|
||||
app.DebugPrintf("UILayer::HandleDLCMountingComplete - topScene\n");
|
||||
topScene->HandleDLCMountingComplete();
|
||||
@@ -835,8 +831,8 @@ void UILayer::HandleDLCMountingComplete()
|
||||
|
||||
void UILayer::HandleDLCInstalled()
|
||||
{
|
||||
for(AUTO_VAR(it,m_sceneStack.rbegin()); it != m_sceneStack.rend(); ++it)
|
||||
{
|
||||
for (auto it = m_sceneStack.rbegin(); it != m_sceneStack.rend(); ++it)
|
||||
{
|
||||
UIScene *topScene = *it;
|
||||
topScene->HandleDLCInstalled();
|
||||
}
|
||||
@@ -845,7 +841,7 @@ void UILayer::HandleDLCInstalled()
|
||||
#ifdef _XBOX_ONE
|
||||
void UILayer::HandleDLCLicenseChange()
|
||||
{
|
||||
for(AUTO_VAR(it,m_sceneStack.rbegin()); it != m_sceneStack.rend(); ++it)
|
||||
for( auto it = m_sceneStack.rbegin(); it != m_sceneStack.rend(); ++it)
|
||||
{
|
||||
UIScene *topScene = *it;
|
||||
topScene->HandleDLCLicenseChange();
|
||||
@@ -855,8 +851,8 @@ void UILayer::HandleDLCLicenseChange()
|
||||
|
||||
void UILayer::HandleMessage(EUIMessage message, void *data)
|
||||
{
|
||||
for(AUTO_VAR(it,m_sceneStack.rbegin()); it != m_sceneStack.rend(); ++it)
|
||||
{
|
||||
for (auto it = m_sceneStack.rbegin(); it != m_sceneStack.rend(); ++it)
|
||||
{
|
||||
UIScene *topScene = *it;
|
||||
topScene->HandleMessage(message, data);
|
||||
}
|
||||
@@ -875,9 +871,9 @@ C4JRender::eViewportType UILayer::getViewport()
|
||||
|
||||
void UILayer::handleUnlockFullVersion()
|
||||
{
|
||||
for(AUTO_VAR(it, m_sceneStack.begin()); it != m_sceneStack.end(); ++it)
|
||||
for(auto& it : m_sceneStack)
|
||||
{
|
||||
(*it)->handleUnlockFullVersion();
|
||||
it->handleUnlockFullVersion();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -885,20 +881,20 @@ void UILayer::PrintTotalMemoryUsage(__int64 &totalStatic, __int64 &totalDynamic)
|
||||
{
|
||||
__int64 layerStatic = 0;
|
||||
__int64 layerDynamic = 0;
|
||||
for(AUTO_VAR(it,m_components.begin()); it != m_components.end(); ++it)
|
||||
for(auto& it : m_components)
|
||||
{
|
||||
(*it)->PrintTotalMemoryUsage(layerStatic, layerDynamic);
|
||||
it->PrintTotalMemoryUsage(layerStatic, layerDynamic);
|
||||
}
|
||||
for(AUTO_VAR(it, m_sceneStack.begin()); it != m_sceneStack.end(); ++it)
|
||||
for(auto& it : m_sceneStack)
|
||||
{
|
||||
(*it)->PrintTotalMemoryUsage(layerStatic, layerDynamic);
|
||||
it->PrintTotalMemoryUsage(layerStatic, layerDynamic);
|
||||
}
|
||||
app.DebugPrintf(app.USER_SR, " \\- Layer static: %d , Layer dynamic: %d\n", layerStatic, layerDynamic);
|
||||
totalStatic += layerStatic;
|
||||
totalDynamic += layerDynamic;
|
||||
}
|
||||
|
||||
// Returns the first scene of given type if it exists, NULL otherwise
|
||||
// Returns the first scene of given type if it exists, NULL otherwise
|
||||
UIScene *UILayer::FindScene(EUIScene sceneType)
|
||||
{
|
||||
for (int i = 0; i < m_sceneStack.size(); i++)
|
||||
|
||||
@@ -13,7 +13,7 @@ UIScene::UIScene(int iPad, UILayer *parentLayer)
|
||||
m_iPad = iPad;
|
||||
swf = NULL;
|
||||
m_pItemRenderer = NULL;
|
||||
|
||||
|
||||
bHasFocus = false;
|
||||
m_hasTickedOnce = false;
|
||||
m_bFocussedOnce = false;
|
||||
@@ -27,7 +27,7 @@ UIScene::UIScene(int iPad, UILayer *parentLayer)
|
||||
m_bUpdateOpacity = false;
|
||||
|
||||
m_backScene = NULL;
|
||||
|
||||
|
||||
m_cacheSlotRenders = false;
|
||||
m_needsCacheRendered = true;
|
||||
m_expectedCachedSlotCount = 0;
|
||||
@@ -39,9 +39,9 @@ UIScene::~UIScene()
|
||||
/* Destroy the Iggy player. */
|
||||
IggyPlayerDestroy( swf );
|
||||
|
||||
for(AUTO_VAR(it,m_registeredTextures.begin()); it != m_registeredTextures.end(); ++it)
|
||||
for(auto & it : m_registeredTextures)
|
||||
{
|
||||
ui.unregisterSubstitutionTexture( it->first, it->second );
|
||||
ui.unregisterSubstitutionTexture( it.first, it.second );
|
||||
}
|
||||
|
||||
if(m_callbackUniqueId != 0)
|
||||
@@ -88,14 +88,14 @@ void UIScene::reloadMovie(bool force)
|
||||
handlePreReload();
|
||||
|
||||
// Reload controls
|
||||
for(AUTO_VAR(it, m_controls.begin()); it != m_controls.end(); ++it)
|
||||
for(auto & it : m_controls)
|
||||
{
|
||||
(*it)->ReInit();
|
||||
it->ReInit();
|
||||
}
|
||||
|
||||
updateComponents();
|
||||
handleReload();
|
||||
|
||||
|
||||
IggyDataValue result;
|
||||
IggyDataValue value[1];
|
||||
|
||||
@@ -332,7 +332,7 @@ void UIScene::loadMovie()
|
||||
__int64 beforeLoad = ui.iggyAllocCount;
|
||||
swf = IggyPlayerCreateFromMemory ( baFile.data , baFile.length, NULL);
|
||||
__int64 afterLoad = ui.iggyAllocCount;
|
||||
IggyPlayerInitializeAndTickRS ( swf );
|
||||
IggyPlayerInitializeAndTickRS ( swf );
|
||||
__int64 afterTick = ui.iggyAllocCount;
|
||||
|
||||
if(!swf)
|
||||
@@ -344,7 +344,7 @@ void UIScene::loadMovie()
|
||||
app.FatalLoadError();
|
||||
}
|
||||
app.DebugPrintf( app.USER_SR, "Loaded iggy movie %ls\n", moviePath.c_str() );
|
||||
IggyProperties *properties = IggyPlayerProperties ( swf );
|
||||
IggyProperties *properties = IggyPlayerProperties ( swf );
|
||||
m_movieHeight = properties->movie_height_in_pixels;
|
||||
m_movieWidth = properties->movie_width_in_pixels;
|
||||
|
||||
@@ -352,7 +352,7 @@ void UIScene::loadMovie()
|
||||
m_renderHeight = m_movieHeight;
|
||||
|
||||
S32 width, height;
|
||||
m_parentLayer->getRenderDimensions(width, height);
|
||||
m_parentLayer->getRenderDimensions(width, height);
|
||||
IggyPlayerSetDisplaySize( swf, width, height );
|
||||
|
||||
IggyPlayerSetUserdata(swf,this);
|
||||
@@ -373,7 +373,7 @@ void UIScene::loadMovie()
|
||||
{
|
||||
totalStatic += memoryInfo.static_allocation_bytes;
|
||||
totalDynamic += memoryInfo.dynamic_allocation_bytes;
|
||||
app.DebugPrintf(app.USER_SR, "%ls - %.*s static: %d ( %d ) dynamic: %d ( %d )\n", moviePath.c_str(), memoryInfo.subcategory_stringlen, memoryInfo.subcategory,
|
||||
app.DebugPrintf(app.USER_SR, "%ls - %.*s static: %d ( %d ) dynamic: %d ( %d )\n", moviePath.c_str(), memoryInfo.subcategory_stringlen, memoryInfo.subcategory,
|
||||
memoryInfo.static_allocation_bytes, memoryInfo.static_allocation_count, memoryInfo.dynamic_allocation_bytes, memoryInfo.dynamic_allocation_count);
|
||||
++iteration;
|
||||
//if(memoryInfo.static_allocation_bytes > 0) getDebugMemoryUseRecursive(moviePath, memoryInfo);
|
||||
@@ -399,7 +399,7 @@ void UIScene::getDebugMemoryUseRecursive(const wstring &moviePath, IggyMemoryUse
|
||||
internalIteration ,
|
||||
&internalMemoryInfo ))
|
||||
{
|
||||
app.DebugPrintf(app.USER_SR, "%ls - %.*s static: %d ( %d ) dynamic: %d ( %d )\n", moviePath.c_str(), internalMemoryInfo.subcategory_stringlen, internalMemoryInfo.subcategory,
|
||||
app.DebugPrintf(app.USER_SR, "%ls - %.*s static: %d ( %d ) dynamic: %d ( %d )\n", moviePath.c_str(), internalMemoryInfo.subcategory_stringlen, internalMemoryInfo.subcategory,
|
||||
internalMemoryInfo.static_allocation_bytes, internalMemoryInfo.static_allocation_count, internalMemoryInfo.dynamic_allocation_bytes, internalMemoryInfo.dynamic_allocation_count);
|
||||
++internalIteration;
|
||||
if(internalMemoryInfo.subcategory_stringlen > memoryInfo.subcategory_stringlen) getDebugMemoryUseRecursive(moviePath, internalMemoryInfo);
|
||||
@@ -440,9 +440,9 @@ void UIScene::tick()
|
||||
while(IggyPlayerReadyToTick( swf ))
|
||||
{
|
||||
tickTimers();
|
||||
for(AUTO_VAR(it, m_controls.begin()); it != m_controls.end(); ++it)
|
||||
for(auto & it : m_controls)
|
||||
{
|
||||
(*it)->tick();
|
||||
it->tick();
|
||||
}
|
||||
IggyPlayerTickRS( swf );
|
||||
m_hasTickedOnce = true;
|
||||
@@ -468,8 +468,8 @@ void UIScene::addTimer(int id, int ms)
|
||||
|
||||
void UIScene::killTimer(int id)
|
||||
{
|
||||
AUTO_VAR(it, m_timers.find(id));
|
||||
if(it != m_timers.end())
|
||||
auto it = m_timers.find(id);
|
||||
if(it != m_timers.end())
|
||||
{
|
||||
it->second.running = false;
|
||||
}
|
||||
@@ -478,13 +478,13 @@ void UIScene::killTimer(int id)
|
||||
void UIScene::tickTimers()
|
||||
{
|
||||
int currentTime = System::currentTimeMillis();
|
||||
for(AUTO_VAR(it, m_timers.begin()); it != m_timers.end();)
|
||||
{
|
||||
for (auto it = m_timers.begin(); it != m_timers.end();)
|
||||
{
|
||||
if(!it->second.running)
|
||||
{
|
||||
it = m_timers.erase(it);
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
if(currentTime > it->second.targetTime)
|
||||
{
|
||||
@@ -501,8 +501,8 @@ void UIScene::tickTimers()
|
||||
IggyName UIScene::registerFastName(const wstring &name)
|
||||
{
|
||||
IggyName var;
|
||||
AUTO_VAR(it,m_fastNames.find(name));
|
||||
if(it != m_fastNames.end())
|
||||
auto it = m_fastNames.find(name);
|
||||
if(it != m_fastNames.end())
|
||||
{
|
||||
var = it->second;
|
||||
}
|
||||
@@ -635,17 +635,16 @@ void UIScene::customDrawSlotControl(IggyCustomDrawCallbackRegion *region, int iP
|
||||
if(useCommandBuffers) RenderManager.CBuffStart(list, true);
|
||||
#endif
|
||||
PIXBeginNamedEvent(0,"Draw uncached");
|
||||
ui.setupCustomDrawMatrices(this, customDrawRegion);
|
||||
ui.setupCustomDrawMatrices(this, customDrawRegion);
|
||||
_customDrawSlotControl(customDrawRegion, iPad, item, fAlpha, isFoil, bDecorations, useCommandBuffers);
|
||||
delete customDrawRegion;
|
||||
PIXEndNamedEvent();
|
||||
|
||||
PIXBeginNamedEvent(0,"Draw all cache");
|
||||
// Draw all the cached slots
|
||||
for(AUTO_VAR(it, m_cachedSlotDraw.begin()); it != m_cachedSlotDraw.end(); ++it)
|
||||
for(auto& drawData : m_cachedSlotDraw)
|
||||
{
|
||||
CachedSlotDrawData *drawData = *it;
|
||||
ui.setupCustomDrawMatrices(this, drawData->customDrawRegion);
|
||||
ui.setupCustomDrawMatrices(this, drawData->customDrawRegion);
|
||||
_customDrawSlotControl(drawData->customDrawRegion, iPad, drawData->item, drawData->fAlpha, drawData->isFoil, drawData->bDecorations, useCommandBuffers);
|
||||
delete drawData->customDrawRegion;
|
||||
delete drawData;
|
||||
@@ -699,7 +698,7 @@ void UIScene::customDrawSlotControl(IggyCustomDrawCallbackRegion *region, int iP
|
||||
// Finish GDraw and anything else that needs to be finalised
|
||||
ui.endCustomDraw(region);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void UIScene::_customDrawSlotControl(CustomDrawData *region, int iPad, shared_ptr<ItemInstance> item, float fAlpha, bool isFoil, bool bDecorations, bool usingCommandBuffer)
|
||||
@@ -717,7 +716,7 @@ void UIScene::_customDrawSlotControl(CustomDrawData *region, int iPad, shared_pt
|
||||
// we might want separate x & y scales here
|
||||
|
||||
float scaleX = bwidth / 16.0f;
|
||||
float scaleY = bheight / 16.0f;
|
||||
float scaleY = bheight / 16.0f;
|
||||
|
||||
glEnable(GL_RESCALE_NORMAL);
|
||||
glPushMatrix();
|
||||
@@ -755,8 +754,8 @@ void UIScene::_customDrawSlotControl(CustomDrawData *region, int iPad, shared_pt
|
||||
if(bDecorations)
|
||||
{
|
||||
if((scaleX!=1.0f) ||(scaleY!=1.0f))
|
||||
{
|
||||
glPushMatrix();
|
||||
{
|
||||
glPushMatrix();
|
||||
glScalef(scaleX, scaleY, 1.0f);
|
||||
int iX= (int)(0.5f+((float)x)/scaleX);
|
||||
int iY= (int)(0.5f+((float)y)/scaleY);
|
||||
@@ -991,8 +990,8 @@ int UIScene::convertGameActionToIggyKeycode(int action)
|
||||
|
||||
bool UIScene::allowRepeat(int key)
|
||||
{
|
||||
// 4J-PB - ignore repeats of action ABXY buttons
|
||||
// fix for PS3 213 - [MAIN MENU] Holding down buttons will continue to activate every prompt.
|
||||
// 4J-PB - ignore repeats of action ABXY buttons
|
||||
// fix for PS3 213 - [MAIN MENU] Holding down buttons will continue to activate every prompt.
|
||||
switch(key)
|
||||
{
|
||||
case ACTION_MENU_OK:
|
||||
@@ -1185,9 +1184,9 @@ void UIScene::registerSubstitutionTexture(const wstring &textureName, PBYTE pbDa
|
||||
|
||||
bool UIScene::hasRegisteredSubstitutionTexture(const wstring &textureName)
|
||||
{
|
||||
AUTO_VAR(it, m_registeredTextures.find( textureName ) );
|
||||
auto it = m_registeredTextures.find(textureName);
|
||||
|
||||
return it != m_registeredTextures.end();
|
||||
return it != m_registeredTextures.end();
|
||||
}
|
||||
|
||||
void UIScene::_handleFocusChange(F64 controlId, F64 childId)
|
||||
@@ -1240,10 +1239,8 @@ UIScene *UIScene::getBackScene()
|
||||
#ifdef __PSVITA__
|
||||
void UIScene::UpdateSceneControls()
|
||||
{
|
||||
AUTO_VAR(itEnd, GetControls()->end());
|
||||
for (AUTO_VAR(it, GetControls()->begin()); it != itEnd; it++)
|
||||
for ( UIControl *control : *GetControls() )
|
||||
{
|
||||
UIControl *control=(UIControl *)*it;
|
||||
control->UpdateControl();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -191,13 +191,13 @@ void UIScene_DLCOffersMenu::handleInput(int iPad, int key, bool repeat, bool pre
|
||||
switch(iTextC)
|
||||
{
|
||||
case 0:
|
||||
m_labelHTMLSellText.init("Voici un fantastique mini-pack de 24 apparences pour personnaliser votre personnage Minecraft et vous mettre dans l'ambiance des f<>tes de fin d'ann<6E>e.<br><br>1-4 joueurs<br>2-8 joueurs en r<>seau<br><br> Cet article fait l<>objet d<>une licence ou d<>une sous-licence de Sony Computer Entertainment America, et est soumis aux conditions g<>n<EFBFBD>rales du service du r<>seau, au contrat d<>utilisateur, aux restrictions d<>utilisation de cet article et aux autres conditions applicables, disponibles sur le site www.us.playstation.com/support/useragreements. Si vous ne souhaitez pas accepter ces conditions, ne t<>l<EFBFBD>chargez pas ce produit. Cet article peut <20>tre utilis<69> avec un maximum de deux syst<73>mes PlayStation<6F>3 activ<69>s associ<63>s <20> ce compte Sony Entertainment Network.<2E><br><br>'Minecraft' est une marque commerciale de Notch Development AB.");
|
||||
m_labelHTMLSellText.init("Voici un fantastique mini-pack de 24 apparences pour personnaliser votre personnage Minecraft et vous mettre dans l'ambiance des f<>tes de fin d'ann<6E>e.<br><br>1-4 joueurs<br>2-8 joueurs en r<>seau<br><br> Cet article fait l<>objet d<>une licence ou d<>une sous-licence de Sony Computer Entertainment America, et est soumis aux conditions g<>n<EFBFBD>rales du service du r<>seau, au contrat d<>utilisateur, aux restrictions d<>utilisation de cet article et aux autres conditions applicables, disponibles sur le site www.us.playstation.com/support/useragreements. Si vous ne souhaitez pas accepter ces conditions, ne t<>l<EFBFBD>chargez pas ce produit. Cet article peut <20>tre utilis<69> avec un maximum de deux syst<73>mes PlayStation<6F>3 activ<69>s associ<63>s <20> ce compte Sony Entertainment Network.<2E><br><br>'Minecraft' est une marque commerciale de Notch Development AB.");
|
||||
break;
|
||||
case 1:
|
||||
m_labelHTMLSellText.init("Un fabuloso minipack de 24 aspectos para personalizar tu personaje de Minecraft y ponerte a tono con las fiestas.<br><br>1-4 jugadores<br>2-8 jugadores en red<br><br> Sony Computer Entertainment America le concede la licencia o sublicencia de este art<72>culo, que est<73> sujeto a los t<>rminos de servicio y al acuerdo de usuario de la red. Las restricciones de uso de este art<72>culo, as<61> como otros t<>rminos aplicables, se encuentran en www.us.playstation.com/support/useragreements. Si no desea aceptar todos estos t<>rminos, no descargue este art<72>culo. Este art<72>culo puede usarse en hasta dos sistemas PlayStation<6F>3 activados asociados con esta cuenta de Sony Entertainment Network.<2E><br><br>'Minecraft' es una marca comercial de Notch Development AB.");
|
||||
m_labelHTMLSellText.init("Un fabuloso minipack de 24 aspectos para personalizar tu personaje de Minecraft y ponerte a tono con las fiestas.<br><br>1-4 jugadores<br>2-8 jugadores en red<br><br> Sony Computer Entertainment America le concede la licencia o sublicencia de este art<72>culo, que est<73> sujeto a los t<>rminos de servicio y al acuerdo de usuario de la red. Las restricciones de uso de este art<72>culo, as<61> como otros t<>rminos aplicables, se encuentran en www.us.playstation.com/support/useragreements. Si no desea aceptar todos estos t<>rminos, no descargue este art<72>culo. Este art<72>culo puede usarse en hasta dos sistemas PlayStation<6F>3 activados asociados con esta cuenta de Sony Entertainment Network.<2E><br><br>'Minecraft' es una marca comercial de Notch Development AB.");
|
||||
break;
|
||||
case 2:
|
||||
m_labelHTMLSellText.init("Este <20> um incr<63>vel pacote com 24 capas para personalizar seu personagem no Minecraft e entrar no clima de final de ano.<br><br>1-4 Jogadores<br>Jogadores em rede 2-8<br><br> Este item est<73> sendo licenciado ou sublicenciado para voc<6F> pela Sony Computer Entertainment America e est<73> sujeito aos Termos de Servi<76>o da Rede e Acordo do Usu<73>rio, as restri<72><69>es de uso deste item e outros termos aplic<69>veis est<73>o localizados em www.us.playstation.com/support/useragreements. Caso n<>o queira aceitar todos esses termos, n<>o baixe este item. Este item pode ser usado com at<61> 2 sistemas PlayStation<6F>3 ativados associados a esta Conta de Rede Sony Entertainment.<2E><br><br>'Minecraft' <20> uma marca registrada da Notch Development AB");
|
||||
m_labelHTMLSellText.init("Este <20> um incr<63>vel pacote com 24 capas para personalizar seu personagem no Minecraft e entrar no clima de final de ano.<br><br>1-4 Jogadores<br>Jogadores em rede 2-8<br><br> Este item est<73> sendo licenciado ou sublicenciado para voc<6F> pela Sony Computer Entertainment America e est<73> sujeito aos Termos de Servi<76>o da Rede e Acordo do Usu<73>rio, as restri<72><69>es de uso deste item e outros termos aplic<69>veis est<73>o localizados em www.us.playstation.com/support/useragreements. Caso n<>o queira aceitar todos esses termos, n<>o baixe este item. Este item pode ser usado com at<61> 2 sistemas PlayStation<6F>3 ativados associados a esta Conta de Rede Sony Entertainment.<2E><br><br>'Minecraft' <20> uma marca registrada da Notch Development AB");
|
||||
break;
|
||||
}
|
||||
iTextC++;
|
||||
@@ -208,7 +208,7 @@ void UIScene_DLCOffersMenu::handleInput(int iPad, int key, bool repeat, bool pre
|
||||
case ACTION_MENU_OTHER_STICK_DOWN:
|
||||
case ACTION_MENU_OTHER_STICK_UP:
|
||||
// don't pass down PageUp or PageDown because this will cause conflicts between the buttonlist and scrollable html text component
|
||||
//case ACTION_MENU_PAGEUP:
|
||||
//case ACTION_MENU_PAGEUP:
|
||||
//case ACTION_MENU_PAGEDOWN:
|
||||
sendInputToMovie(key, repeat, pressed, released);
|
||||
break;
|
||||
@@ -235,7 +235,7 @@ void UIScene_DLCOffersMenu::handlePress(F64 controlId, F64 childId)
|
||||
|
||||
#ifdef __PS3__
|
||||
// is the item purchasable?
|
||||
if(info.purchasabilityFlag==1)
|
||||
if(info.purchasabilityFlag==1)
|
||||
{
|
||||
// can be bought
|
||||
app.Checkout(info.skuId);
|
||||
@@ -249,7 +249,7 @@ void UIScene_DLCOffersMenu::handlePress(F64 controlId, F64 childId)
|
||||
}
|
||||
#else // __ORBIS__
|
||||
// is the item purchasable?
|
||||
if(info.purchasabilityFlag==SCE_TOOLKIT_NP_COMMERCE_NOT_PURCHASED)
|
||||
if(info.purchasabilityFlag==SCE_TOOLKIT_NP_COMMERCE_NOT_PURCHASED)
|
||||
{
|
||||
// can be bought
|
||||
app.Checkout(info.skuId);
|
||||
@@ -280,7 +280,7 @@ void UIScene_DLCOffersMenu::handleSelectionChanged(F64 selectedId)
|
||||
}
|
||||
|
||||
void UIScene_DLCOffersMenu::handleFocusChange(F64 controlId, F64 childId)
|
||||
{
|
||||
{
|
||||
app.DebugPrintf("UIScene_DLCOffersMenu::handleFocusChange\n");
|
||||
|
||||
#ifdef __PSVITA__
|
||||
@@ -305,7 +305,7 @@ void UIScene_DLCOffersMenu::handleFocusChange(F64 controlId, F64 childId)
|
||||
|
||||
#if defined __PSVITA__ || defined __ORBIS__
|
||||
if(m_pvProductInfo)
|
||||
{
|
||||
{
|
||||
m_bIsSelected = true;
|
||||
vector<SonyCommerce::ProductInfo >::iterator it = m_pvProductInfo->begin();
|
||||
string teststring;
|
||||
@@ -315,7 +315,7 @@ void UIScene_DLCOffersMenu::handleFocusChange(F64 controlId, F64 childId)
|
||||
}
|
||||
|
||||
SonyCommerce::ProductInfo info = *it;
|
||||
if(info.purchasabilityFlag==SCE_TOOLKIT_NP_COMMERCE_NOT_PURCHASED)
|
||||
if(info.purchasabilityFlag==SCE_TOOLKIT_NP_COMMERCE_NOT_PURCHASED)
|
||||
{
|
||||
m_bHasPurchased=false;
|
||||
}
|
||||
@@ -379,7 +379,7 @@ void UIScene_DLCOffersMenu::tick()
|
||||
|
||||
#ifdef __PS3__
|
||||
// is the item purchasable?
|
||||
if(info.purchasabilityFlag==1)
|
||||
if(info.purchasabilityFlag==1)
|
||||
{
|
||||
// can be bought
|
||||
app.DebugPrintf("Adding DLC (%s) - not bought\n",teststring.c_str());
|
||||
@@ -397,7 +397,7 @@ void UIScene_DLCOffersMenu::tick()
|
||||
}
|
||||
#else // __ORBIS__
|
||||
// is the item purchasable?
|
||||
if(info.purchasabilityFlag==SCE_TOOLKIT_NP_COMMERCE_NOT_PURCHASED)
|
||||
if(info.purchasabilityFlag==SCE_TOOLKIT_NP_COMMERCE_NOT_PURCHASED)
|
||||
{
|
||||
// can be bought
|
||||
m_buttonListOffers.addItem(teststring,false,i);
|
||||
@@ -445,13 +445,13 @@ void UIScene_DLCOffersMenu::tick()
|
||||
|
||||
// does the DLC info have an image?
|
||||
if(pSONYDLCInfo && pSONYDLCInfo->dwImageBytes!=0)
|
||||
{
|
||||
{
|
||||
pbImageData=pSONYDLCInfo->pbImageData;
|
||||
iImageDataBytes=pSONYDLCInfo->dwImageBytes;
|
||||
bDeleteData=false; // we'll clean up the local LDC images
|
||||
}
|
||||
}
|
||||
else
|
||||
#endif
|
||||
#endif
|
||||
if(info.imageUrl[0]!=0)
|
||||
{
|
||||
SonyHttp::getDataFromURL(info.imageUrl,(void **)&pbImageData,&iImageDataBytes);
|
||||
@@ -460,7 +460,7 @@ void UIScene_DLCOffersMenu::tick()
|
||||
|
||||
if(iImageDataBytes!=0)
|
||||
{
|
||||
// set the image
|
||||
// set the image
|
||||
registerSubstitutionTexture(textureName,pbImageData,iImageDataBytes,bDeleteData);
|
||||
m_bitmapIconOfferImage.setTextureName(textureName);
|
||||
// 4J Stu - Don't delete this
|
||||
@@ -497,25 +497,25 @@ void UIScene_DLCOffersMenu::tick()
|
||||
m_labelOffers.setLabel(app.GetString(IDS_NO_DLCCATEGORIES));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
m_Timer.setVisible(false);
|
||||
m_bProductInfoShown=true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
#ifdef __PSVITA__
|
||||
#ifdef __PSVITA__
|
||||
// MGH - fixes bug 5768 on Vita - should be extended properly to work for other platforms
|
||||
if((SonyCommerce_Vita::getPurchasabilityUpdated()) && app.GetCommerceProductListRetrieved()&& app.GetCommerceProductListInfoRetrieved() && m_iTotalDLC > 0)
|
||||
{
|
||||
|
||||
{
|
||||
|
||||
{
|
||||
vector<SonyCommerce::ProductInfo >::iterator it = m_pvProductInfo->begin();
|
||||
for(int i=0;i<m_iTotalDLC;i++)
|
||||
{
|
||||
SonyCommerce::ProductInfo info = *it;
|
||||
// is the item purchasable?
|
||||
if(info.purchasabilityFlag==SCE_TOOLKIT_NP_COMMERCE_NOT_PURCHASED)
|
||||
if(info.purchasabilityFlag==SCE_TOOLKIT_NP_COMMERCE_NOT_PURCHASED)
|
||||
{
|
||||
// can be bought
|
||||
m_buttonListOffers.showTick(i, false);
|
||||
@@ -577,11 +577,11 @@ void UIScene_DLCOffersMenu::tick()
|
||||
|
||||
// does the DLC info have an image?
|
||||
if(pSONYDLCInfo->dwImageBytes!=0)
|
||||
{
|
||||
{
|
||||
pbImageData=pSONYDLCInfo->pbImageData;
|
||||
iImageDataBytes=pSONYDLCInfo->dwImageBytes;
|
||||
bDeleteData=false; // we'll clean up the local LDC images
|
||||
}
|
||||
}
|
||||
else
|
||||
#endif
|
||||
{
|
||||
@@ -601,7 +601,7 @@ void UIScene_DLCOffersMenu::tick()
|
||||
else
|
||||
{
|
||||
m_bitmapIconOfferImage.setTextureName(L"");
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -620,7 +620,7 @@ void UIScene_DLCOffersMenu::tick()
|
||||
{
|
||||
// DLCContentRetrieved is to see if the type of content has been retrieved - and on Durango there is only type 0 - XMARKETPLACE_OFFERING_TYPE_CONTENT
|
||||
if(app.DLCContentRetrieved(e_Marketplace_Content))
|
||||
{
|
||||
{
|
||||
m_bDLCRequiredIsRetrieved=true;
|
||||
|
||||
// Retrieve the info
|
||||
@@ -660,29 +660,10 @@ void UIScene_DLCOffersMenu::tick()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// if(m_bBitmapOfferIconDisplayed==false)
|
||||
// {
|
||||
// // do we have it yet?
|
||||
// if
|
||||
// }
|
||||
// retrieve the icons for the DLC
|
||||
// if(m_vIconRetrieval.size()>0)
|
||||
// {
|
||||
// // for each icon, request it, and remove it from the list
|
||||
// // the callback for the retrieval will update the display if needed
|
||||
//
|
||||
// AUTO_VAR(itEnd, m_vIconRetrieval.end());
|
||||
// for (AUTO_VAR(it, m_vIconRetrieval.begin()); it != itEnd; it++)
|
||||
// {
|
||||
//
|
||||
// }
|
||||
//
|
||||
// }
|
||||
#endif
|
||||
}
|
||||
|
||||
#if defined _XBOX_ONE
|
||||
#if defined _XBOX_ONE
|
||||
void UIScene_DLCOffersMenu::GetDLCInfo( int iOfferC, bool bUpdateOnly )
|
||||
{
|
||||
MARKETPLACE_CONTENTOFFER_INFO xOffer;
|
||||
@@ -719,7 +700,7 @@ void UIScene_DLCOffersMenu::GetDLCInfo( int iOfferC, bool bUpdateOnly )
|
||||
app.DebugPrintf("Unknown offer - %ls\n",xOffer.wszOfferName);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
qsort( OrderA, uiDLCCount, sizeof(SORTINDEXSTRUCT), OrderSortFunction );
|
||||
|
||||
for(int i = 0; i < uiDLCCount; i++)
|
||||
@@ -737,7 +718,7 @@ void UIScene_DLCOffersMenu::GetDLCInfo( int iOfferC, bool bUpdateOnly )
|
||||
}
|
||||
|
||||
if(pDLC->eDLCType==(eDLCContentType)m_iProductInfoIndex)
|
||||
{
|
||||
{
|
||||
wstring wstrTemp=xOffer.wszOfferName;
|
||||
|
||||
// 4J-PB - Rog requested we remove the Minecraft at the start of the name. It's required for the Bing search, but gets in the way here
|
||||
@@ -774,7 +755,7 @@ void UIScene_DLCOffersMenu::GetDLCInfo( int iOfferC, bool bUpdateOnly )
|
||||
* We've filtered results out from the list, need to keep track
|
||||
* of the 'actual' list index.
|
||||
*/
|
||||
iCount++;
|
||||
iCount++;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -834,7 +815,7 @@ bool UIScene_DLCOffersMenu::UpdateDisplay(MARKETPLACE_CONTENTOFFER_INFO& xOffer)
|
||||
|
||||
|
||||
// is the file in the local DLC images?
|
||||
// is the file in the TMS XZP?
|
||||
// is the file in the TMS XZP?
|
||||
//int iIndex = app.GetLocalTMSFileIndex(cString, true);
|
||||
|
||||
if(dlc->dwImageBytes!=0)
|
||||
@@ -862,7 +843,7 @@ bool UIScene_DLCOffersMenu::UpdateDisplay(MARKETPLACE_CONTENTOFFER_INFO& xOffer)
|
||||
else
|
||||
{
|
||||
if(hasRegisteredSubstitutionTexture(cString)==false)
|
||||
{
|
||||
{
|
||||
BYTE *pData=NULL;
|
||||
DWORD dwSize=0;
|
||||
app.GetMemFileDetails(cString,&pData,&dwSize);
|
||||
@@ -879,12 +860,12 @@ bool UIScene_DLCOffersMenu::UpdateDisplay(MARKETPLACE_CONTENTOFFER_INFO& xOffer)
|
||||
m_bitmapIconOfferImage.setTextureName(cString);
|
||||
}
|
||||
bImageAvailable=true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
m_labelHTMLSellText.setLabel(xOffer.wszSellText);
|
||||
|
||||
// set the price info
|
||||
// set the price info
|
||||
m_labelPriceTag.setVisible(true);
|
||||
m_labelPriceTag.setLabel(xOffer.wszCurrencyPrice);
|
||||
|
||||
@@ -923,7 +904,7 @@ void UIScene_DLCOffersMenu::HandleDLCInstalled()
|
||||
}
|
||||
|
||||
// void UIScene_DLCOffersMenu::HandleDLCMountingComplete()
|
||||
// {
|
||||
// {
|
||||
// app.DebugPrintf(4,"UIScene_SkinSelectMenu::HandleDLCMountingComplete\n");
|
||||
//}
|
||||
|
||||
|
||||
@@ -80,7 +80,7 @@ UIScene_DebugOverlay::UIScene_DebugOverlay(int iPad, void *initData, UILayer *pa
|
||||
for(unsigned int level = ench->getMinLevel(); level <= ench->getMaxLevel(); ++level)
|
||||
{
|
||||
m_enchantmentIdAndLevels.push_back(pair<int,int>(ench->id,level));
|
||||
m_buttonListEnchantments.addItem(app.GetString( ench->getDescriptionId() ) + _toString<int>(level) );
|
||||
m_buttonListEnchantments.addItem(app.GetString( ench->getDescriptionId() ) + std::to_wstring(level) );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -196,7 +196,7 @@ void UIScene_DebugOverlay::handlePress(F64 controlId, F64 childId)
|
||||
{
|
||||
int id = childId;
|
||||
if(id<m_mobFactories.size())
|
||||
{
|
||||
{
|
||||
app.SetXuiServerAction(ProfileManager.GetPrimaryPad(),eXuiServerAction_SpawnMob,(void *)m_mobFactories[id]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -61,13 +61,13 @@ UIScene_EndPoem::UIScene_EndPoem(int iPad, void *initData, UILayer *parentLayer)
|
||||
noNoiseString = replaceAll(noNoiseString,L"{*PLAYER*}",playerName);
|
||||
|
||||
Random random(8124371);
|
||||
int found=(int)noNoiseString.find(L"{*NOISE*}");
|
||||
size_t found=noNoiseString.find(L"{*NOISE*}");
|
||||
int length;
|
||||
while (found!=string::npos)
|
||||
{
|
||||
length = random.nextInt(4) + 3;
|
||||
m_noiseLengths.push_back(length);
|
||||
found=(int)noNoiseString.find(L"{*NOISE*}",found+1);
|
||||
found=noNoiseString.find(L"{*NOISE*}",found+1);
|
||||
}
|
||||
|
||||
updateNoise();
|
||||
@@ -77,7 +77,7 @@ UIScene_EndPoem::UIScene_EndPoem(int iPad, void *initData, UILayer *parentLayer)
|
||||
m_paragraphs = vector<wstring>();
|
||||
int lastIndex = 0;
|
||||
for ( int index = 0;
|
||||
index != wstring::npos;
|
||||
index != wstring::npos;
|
||||
index = noiseString.find(L"<br /><br />", index+12, 12)
|
||||
)
|
||||
{
|
||||
@@ -198,7 +198,7 @@ void UIScene_EndPoem::updateNoise()
|
||||
{
|
||||
Minecraft *pMinecraft = Minecraft::GetInstance();
|
||||
noiseString = noNoiseString;
|
||||
|
||||
|
||||
int length = 0;
|
||||
wchar_t replacements[64];
|
||||
wstring replaceString = L"";
|
||||
@@ -209,8 +209,8 @@ void UIScene_EndPoem::updateNoise()
|
||||
|
||||
wstring tag = L"{*NOISE*}";
|
||||
|
||||
AUTO_VAR(it, m_noiseLengths.begin());
|
||||
int found=(int)noiseString.find(tag);
|
||||
auto it = m_noiseLengths.begin();
|
||||
size_t found= noiseString.find(tag);
|
||||
while (found!=string::npos && it != m_noiseLengths.end() )
|
||||
{
|
||||
length = *it;
|
||||
@@ -229,7 +229,7 @@ void UIScene_EndPoem::updateNoise()
|
||||
static wstring acceptableLetters = L"!\"#$%&'()*+,-./0123456789:;<=>?@[\\]^_'|}~";
|
||||
randomChar = acceptableLetters[ random->nextInt((int)acceptableLetters.length()) ];
|
||||
}
|
||||
|
||||
|
||||
wstring randomCharStr = L"";
|
||||
randomCharStr.push_back(randomChar);
|
||||
if(randomChar == L'<')
|
||||
@@ -275,6 +275,6 @@ void UIScene_EndPoem::updateNoise()
|
||||
//ib.put(listPos + 256 + random->nextInt(2) + 8 + (darken ? 16 : 0));
|
||||
//ib.put(listPos + pos + 32);
|
||||
|
||||
found=(int)noiseString.find(tag,found+1);
|
||||
found=noiseString.find(tag,found+1);
|
||||
}
|
||||
}
|
||||
@@ -32,7 +32,7 @@ UIScene_InventoryMenu::UIScene_InventoryMenu(int iPad, void *_initData, UILayer
|
||||
m_previousTutorialState = gameMode->getTutorial()->getCurrentState();
|
||||
gameMode->getTutorial()->changeTutorialState(e_Tutorial_State_Inventory_Menu, this);
|
||||
}
|
||||
|
||||
|
||||
InventoryMenu *menu = (InventoryMenu *)initData->player->inventoryMenu;
|
||||
|
||||
initData->player->awardStat(GenericStats::openInventory(),GenericStats::param_openInventory());
|
||||
@@ -261,10 +261,8 @@ void UIScene_InventoryMenu::updateEffectsDisplay()
|
||||
int iValue = 0;
|
||||
IggyDataValue *UpdateValue = new IggyDataValue[activeEffects->size()*2];
|
||||
|
||||
for(AUTO_VAR(it, activeEffects->begin()); it != activeEffects->end(); ++it)
|
||||
{
|
||||
MobEffectInstance *effect = *it;
|
||||
|
||||
for(auto& effect : *activeEffects)
|
||||
{
|
||||
if(effect->getDuration() >= m_bEffectTime[effect->getId()])
|
||||
{
|
||||
wstring effectString = app.GetString( effect->getDescriptionId() );//I18n.get(effect.getDescriptionId()).trim();
|
||||
|
||||
@@ -300,7 +300,7 @@ UIScene_LoadOrJoinMenu::UIScene_LoadOrJoinMenu(int iPad, void *initData, UILayer
|
||||
bool bTexturePackAlreadyListed;
|
||||
bool bNeedToGetTPD=false;
|
||||
Minecraft *pMinecraft = Minecraft::GetInstance();
|
||||
int texturePacksCount = pMinecraft->skins->getTexturePackCount();
|
||||
int texturePacksCount = pMinecraft->skins->getTexturePackCount();
|
||||
|
||||
for(unsigned int i = 0; i < app.GetDLCInfoTexturesOffersCount(); ++i)
|
||||
{
|
||||
@@ -407,7 +407,7 @@ void UIScene_LoadOrJoinMenu::updateTooltips()
|
||||
// update the tooltips
|
||||
// if the saves list has focus, then we should show the Delete Save tooltip
|
||||
// if the games list has focus, then we should the the View Gamercard tooltip
|
||||
int iRB=-1;
|
||||
int iRB=-1;
|
||||
int iY = -1;
|
||||
int iLB = -1;
|
||||
int iX=-1;
|
||||
@@ -418,7 +418,7 @@ void UIScene_LoadOrJoinMenu::updateTooltips()
|
||||
else if (DoesSavesListHaveFocus())
|
||||
{
|
||||
if((m_iDefaultButtonsC > 0) && (m_iSaveListIndex >= m_iDefaultButtonsC))
|
||||
{
|
||||
{
|
||||
if(StorageManager.GetSaveDisabled())
|
||||
{
|
||||
iRB=IDS_TOOLTIPS_DELETESAVE;
|
||||
@@ -474,7 +474,7 @@ void UIScene_LoadOrJoinMenu::updateTooltips()
|
||||
// Is there a save from PS3 or PSVita available?
|
||||
// Sony asked that this be displayed at all times so users are aware of the functionality. We'll display some text when there's no save available
|
||||
//if(app.getRemoteStorage()->saveIsAvailable())
|
||||
{
|
||||
{
|
||||
bool bSignedInLive = ProfileManager.IsSignedInLive(m_iPad);
|
||||
if(bSignedInLive)
|
||||
{
|
||||
@@ -489,7 +489,7 @@ void UIScene_LoadOrJoinMenu::updateTooltips()
|
||||
ui.SetTooltips( DEFAULT_XUI_MENU_USER, IDS_TOOLTIPS_SELECT, IDS_TOOLTIPS_BACK, iX, iY,-1,-1,iLB,iRB);
|
||||
}
|
||||
|
||||
//
|
||||
//
|
||||
void UIScene_LoadOrJoinMenu::Initialise()
|
||||
{
|
||||
m_iSaveListIndex = 0;
|
||||
@@ -577,7 +577,7 @@ void UIScene_LoadOrJoinMenu::handleGainFocus(bool navBack)
|
||||
{
|
||||
app.SetLiveLinkRequired( true );
|
||||
|
||||
m_bMultiplayerAllowed = ProfileManager.IsSignedInLive( m_iPad ) && ProfileManager.AllowedToPlayMultiplayer(m_iPad);
|
||||
m_bMultiplayerAllowed = ProfileManager.IsSignedInLive( m_iPad ) && ProfileManager.AllowedToPlayMultiplayer(m_iPad);
|
||||
|
||||
// re-enable button presses
|
||||
m_bIgnoreInput=false;
|
||||
@@ -661,7 +661,7 @@ void UIScene_LoadOrJoinMenu::tick()
|
||||
#ifdef SONY_REMOTE_STORAGE_DOWNLOAD
|
||||
// if the loadOrJoin menu has focus again, we can clear the saveTransfer flag now. Added so we can delay the ehternet disconnect till it's cleaned up
|
||||
if(m_eSaveTransferState == eSaveTransfer_Idle)
|
||||
m_bSaveTransferRunning = false;
|
||||
m_bSaveTransferRunning = false;
|
||||
#endif
|
||||
#if defined(_XBOX_ONE) || defined(__ORBIS__)
|
||||
if(m_bUpdateSaveSize)
|
||||
@@ -978,7 +978,7 @@ void UIScene_LoadOrJoinMenu::GetSaveInfo()
|
||||
m_pSaveDetails=StorageManager.ReturnSavesInfo();
|
||||
if(m_pSaveDetails==NULL)
|
||||
{
|
||||
C4JStorage::ESaveGameState eSGIStatus= StorageManager.GetSavesInfo(m_iPad,NULL,this,"save");
|
||||
C4JStorage::ESaveGameState eSGIStatus= StorageManager.GetSavesInfo(m_iPad,NULL,this,"save");
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -1027,7 +1027,7 @@ void UIScene_LoadOrJoinMenu::GetSaveInfo()
|
||||
m_pSaveDetails=StorageManager.ReturnSavesInfo();
|
||||
if(m_pSaveDetails==NULL)
|
||||
{
|
||||
C4JStorage::ESaveGameState eSGIStatus= StorageManager.GetSavesInfo(m_iPad,NULL,this,"save");
|
||||
C4JStorage::ESaveGameState eSGIStatus= StorageManager.GetSavesInfo(m_iPad,NULL,this,"save");
|
||||
}
|
||||
|
||||
#if TO_BE_IMPLEMENTED
|
||||
@@ -1054,10 +1054,8 @@ void UIScene_LoadOrJoinMenu::AddDefaultButtons()
|
||||
|
||||
int i = 0;
|
||||
|
||||
for(AUTO_VAR(it, app.getLevelGenerators()->begin()); it != app.getLevelGenerators()->end(); ++it)
|
||||
for ( LevelGenerationOptions *levelGen : *app.getLevelGenerators() )
|
||||
{
|
||||
LevelGenerationOptions *levelGen = *it;
|
||||
|
||||
// retrieve the save icon from the texture pack, if there is one
|
||||
unsigned int uiTexturePackID=levelGen->getRequiredTexturePackId();
|
||||
|
||||
@@ -1071,7 +1069,7 @@ void UIScene_LoadOrJoinMenu::AddDefaultButtons()
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// 4J-JEV: For debug. Ignore worlds with no name.
|
||||
LPCWSTR wstr = levelGen->getWorldName();
|
||||
m_buttonListSaves.addItem( wstr );
|
||||
@@ -1124,7 +1122,7 @@ void UIScene_LoadOrJoinMenu::handleInput(int iPad, int key, bool repeat, bool pr
|
||||
case ACTION_MENU_X:
|
||||
#if TO_BE_IMPLEMENTED
|
||||
// Change device
|
||||
// Fix for #12531 - TCR 001: BAS Game Stability: When a player selects to change a storage
|
||||
// Fix for #12531 - TCR 001: BAS Game Stability: When a player selects to change a storage
|
||||
// device, and repeatedly backs out of the SD screen, disconnects from LIVE, and then selects a SD, the title crashes.
|
||||
m_bIgnoreInput=true;
|
||||
StorageManager.SetSaveDevice(&CScene_MultiGameJoinLoad::DeviceSelectReturned,this,true);
|
||||
@@ -1142,7 +1140,7 @@ void UIScene_LoadOrJoinMenu::handleInput(int iPad, int key, bool repeat, bool pr
|
||||
{
|
||||
bool bSignedInLive = ProfileManager.IsSignedInLive(iPad);
|
||||
if(bSignedInLive)
|
||||
{
|
||||
{
|
||||
LaunchSaveTransfer();
|
||||
}
|
||||
}
|
||||
@@ -1334,7 +1332,7 @@ int UIScene_LoadOrJoinMenu::KeyboardCompleteWorldNameCallback(LPVOID lpParam,boo
|
||||
UIScene_LoadOrJoinMenu *pClass=(UIScene_LoadOrJoinMenu *)lpParam;
|
||||
pClass->m_bIgnoreInput=false;
|
||||
if (bRes)
|
||||
{
|
||||
{
|
||||
uint16_t ui16Text[128];
|
||||
ZeroMemory(ui16Text, 128 * sizeof(uint16_t) );
|
||||
InputManager.GetText(ui16Text);
|
||||
@@ -1347,13 +1345,13 @@ int UIScene_LoadOrJoinMenu::KeyboardCompleteWorldNameCallback(LPVOID lpParam,boo
|
||||
StorageManager.RenameSaveData(pClass->m_iSaveListIndex - pClass->m_iDefaultButtonsC, ui16Text,&UIScene_LoadOrJoinMenu::RenameSaveDataReturned,pClass);
|
||||
#endif
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
pClass->m_bIgnoreInput=false;
|
||||
pClass->updateTooltips();
|
||||
}
|
||||
}
|
||||
else
|
||||
}
|
||||
else
|
||||
{
|
||||
pClass->m_bIgnoreInput=false;
|
||||
pClass->updateTooltips();
|
||||
@@ -1367,13 +1365,13 @@ void UIScene_LoadOrJoinMenu::handleInitFocus(F64 controlId, F64 childId)
|
||||
app.DebugPrintf(app.USER_SR, "UIScene_LoadOrJoinMenu::handleInitFocus - %d , %d\n", (int)controlId, (int)childId);
|
||||
}
|
||||
|
||||
void UIScene_LoadOrJoinMenu::handleFocusChange(F64 controlId, F64 childId)
|
||||
void UIScene_LoadOrJoinMenu::handleFocusChange(F64 controlId, F64 childId)
|
||||
{
|
||||
app.DebugPrintf(app.USER_SR, "UIScene_LoadOrJoinMenu::handleFocusChange - %d , %d\n", (int)controlId, (int)childId);
|
||||
|
||||
|
||||
switch((int)controlId)
|
||||
{
|
||||
case eControl_GamesList:
|
||||
case eControl_GamesList:
|
||||
m_iGameListIndex = childId;
|
||||
m_buttonListGames.updateChildFocus( (int) childId );
|
||||
break;
|
||||
@@ -1409,7 +1407,7 @@ void UIScene_LoadOrJoinMenu::handlePress(F64 controlId, F64 childId)
|
||||
ui.PlayUISFX(eSFX_Press);
|
||||
|
||||
if((int)childId == JOIN_LOAD_CREATE_BUTTON_INDEX)
|
||||
{
|
||||
{
|
||||
app.SetTutorialMode( false );
|
||||
|
||||
m_controlJoinTimer.setVisible( false );
|
||||
@@ -1461,7 +1459,7 @@ void UIScene_LoadOrJoinMenu::handlePress(F64 controlId, F64 childId)
|
||||
}
|
||||
else
|
||||
#endif
|
||||
{
|
||||
{
|
||||
app.SetTutorialMode( false );
|
||||
|
||||
if(app.DebugSettingsOn() && app.GetLoadSavesFromFolderEnabled())
|
||||
@@ -1503,7 +1501,7 @@ void UIScene_LoadOrJoinMenu::handlePress(F64 controlId, F64 childId)
|
||||
case eControl_GamesList:
|
||||
{
|
||||
m_bIgnoreInput=true;
|
||||
|
||||
|
||||
m_eAction = eAction_JoinGame;
|
||||
|
||||
//CD - Added for audio
|
||||
@@ -1538,7 +1536,7 @@ void UIScene_LoadOrJoinMenu::CheckAndJoinGame(int gameIndex)
|
||||
|
||||
bool bPlayStationPlus=true;
|
||||
int iPadWithNoPlaystationPlus=0;
|
||||
bool isSignedInLive = true;
|
||||
bool isSignedInLive = true;
|
||||
int iPadNotSignedInLive = -1;
|
||||
for(unsigned int i = 0; i < XUSER_MAX_COUNT; ++i)
|
||||
{
|
||||
@@ -1631,7 +1629,7 @@ void UIScene_LoadOrJoinMenu::CheckAndJoinGame(int gameIndex)
|
||||
SceNpCommerceDialogParam param;
|
||||
sceNpCommerceDialogParamInitialize(¶m);
|
||||
param.mode=SCE_NP_COMMERCE_DIALOG_MODE_PLUS;
|
||||
param.features = SCE_NP_PLUS_FEATURE_REALTIME_MULTIPLAY;
|
||||
param.features = SCE_NP_PLUS_FEATURE_REALTIME_MULTIPLAY;
|
||||
param.userId = ProfileManager.getUserID(iPadWithNoPlaystationPlus);
|
||||
|
||||
iResult=sceNpCommerceDialogOpen(¶m);
|
||||
@@ -1714,7 +1712,7 @@ void UIScene_LoadOrJoinMenu::CheckAndJoinGame(int gameIndex)
|
||||
}
|
||||
|
||||
void UIScene_LoadOrJoinMenu::LoadLevelGen(LevelGenerationOptions *levelGen)
|
||||
{
|
||||
{
|
||||
// Load data from disc
|
||||
//File saveFile( L"Tutorial\\Tutorial" );
|
||||
//LoadSaveFromDisk(&saveFile);
|
||||
@@ -1812,7 +1810,7 @@ void UIScene_LoadOrJoinMenu::UpdateGamesList()
|
||||
|
||||
// if the saves list has focus, then we should show the Delete Save tooltip
|
||||
// if the games list has focus, then we should show the View Gamercard tooltip
|
||||
int iRB=-1;
|
||||
int iRB=-1;
|
||||
int iY = -1;
|
||||
int iX=-1;
|
||||
|
||||
@@ -1859,10 +1857,8 @@ void UIScene_LoadOrJoinMenu::UpdateGamesList()
|
||||
unsigned int sessionIndex = 0;
|
||||
m_buttonListGames.setCurrentSelection(0);
|
||||
|
||||
for( AUTO_VAR(it, m_currentSessions->begin()); it < m_currentSessions->end(); ++it)
|
||||
for( FriendSessionInfo *sessionInfo : *m_currentSessions )
|
||||
{
|
||||
FriendSessionInfo *sessionInfo = *it;
|
||||
|
||||
wchar_t textureName[64] = L"\0";
|
||||
|
||||
// Is this a default game or a texture pack game?
|
||||
@@ -2036,7 +2032,7 @@ void UIScene_LoadOrJoinMenu::handleTimerComplete(int id)
|
||||
|
||||
if(iImageDataBytes!=0)
|
||||
{
|
||||
// set the image
|
||||
// set the image
|
||||
registerSubstitutionTexture(textureName,pbImageData,iImageDataBytes,true);
|
||||
m_iConfigA[i]=-1;
|
||||
}
|
||||
@@ -2049,7 +2045,7 @@ void UIScene_LoadOrJoinMenu::handleTimerComplete(int id)
|
||||
bool bAllDone=true;
|
||||
for(int i=0;i<m_iTexturePacksNotInstalled;i++)
|
||||
{
|
||||
if(m_iConfigA[i]!=-1)
|
||||
if(m_iConfigA[i]!=-1)
|
||||
{
|
||||
bAllDone = false;
|
||||
}
|
||||
@@ -2064,13 +2060,13 @@ void UIScene_LoadOrJoinMenu::handleTimerComplete(int id)
|
||||
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void UIScene_LoadOrJoinMenu::LoadSaveFromDisk(File *saveFile, ESavePlatform savePlatform /*= SAVE_FILE_PLATFORM_LOCAL*/)
|
||||
{
|
||||
{
|
||||
// we'll only be coming in here when the tutorial is loaded now
|
||||
|
||||
StorageManager.ResetSaveData();
|
||||
@@ -2128,7 +2124,7 @@ void UIScene_LoadOrJoinMenu::LoadSaveFromDisk(File *saveFile, ESavePlatform save
|
||||
|
||||
#ifdef SONY_REMOTE_STORAGE_DOWNLOAD
|
||||
void UIScene_LoadOrJoinMenu::LoadSaveFromCloud()
|
||||
{
|
||||
{
|
||||
|
||||
wchar_t wFileName[128];
|
||||
mbstowcs(wFileName, app.getRemoteStorage()->getLocalFilename(), strlen(app.getRemoteStorage()->getLocalFilename())+1); // plus null
|
||||
@@ -2201,7 +2197,7 @@ int UIScene_LoadOrJoinMenu::DeleteSaveDialogReturned(void *pParam,int iPad,C4JSt
|
||||
// Check that we have a valid save selected (can get a bad index if the save list has been refreshed)
|
||||
bool validSelection= pClass->m_iDefaultButtonsC != 0 && pClass->m_iSaveListIndex >= pClass->m_iDefaultButtonsC;
|
||||
|
||||
if(result==C4JStorage::EMessage_ResultDecline && validSelection)
|
||||
if(result==C4JStorage::EMessage_ResultDecline && validSelection)
|
||||
{
|
||||
if(app.DebugSettingsOn() && app.GetLoadSavesFromFolderEnabled())
|
||||
{
|
||||
@@ -2231,7 +2227,7 @@ int UIScene_LoadOrJoinMenu::DeleteSaveDataReturned(LPVOID lpParam,bool bRes)
|
||||
if(bRes)
|
||||
{
|
||||
// wipe the list and repopulate it
|
||||
pClass->m_iState=e_SavesRepopulateAfterDelete;
|
||||
pClass->m_iState=e_SavesRepopulateAfterDelete;
|
||||
}
|
||||
else pClass->m_bIgnoreInput=false;
|
||||
|
||||
@@ -2363,7 +2359,7 @@ int UIScene_LoadOrJoinMenu::MustSignInTexturePack(void *pParam,int iPad,C4JStora
|
||||
{
|
||||
UIScene_LoadOrJoinMenu* pClass = (UIScene_LoadOrJoinMenu*)pParam;
|
||||
|
||||
if(result==C4JStorage::EMessage_ResultAccept)
|
||||
if(result==C4JStorage::EMessage_ResultAccept)
|
||||
{
|
||||
SQRNetworkManager_Vita::AttemptPSNSignIn(&UIScene_LoadOrJoinMenu::MustSignInReturnedTexturePack, pClass);
|
||||
}
|
||||
@@ -2391,7 +2387,7 @@ int UIScene_LoadOrJoinMenu::MustSignInReturnedTexturePack(void *pParam,bool bCon
|
||||
|
||||
if(bContinue==true)
|
||||
{
|
||||
SONYDLC *pSONYDLCInfo=app.GetSONYDLCInfo(pClass->m_initData->selectedSession->data.texturePackParentId);
|
||||
SONYDLC *pSONYDLCInfo=app.GetSONYDLCInfo(pClass->m_initData->selectedSession->data.texturePackParentId);
|
||||
if(pSONYDLCInfo!=NULL)
|
||||
{
|
||||
char chName[42];
|
||||
@@ -2420,7 +2416,7 @@ int UIScene_LoadOrJoinMenu::MustSignInReturnedTexturePack(void *pParam,bool bCon
|
||||
}
|
||||
else
|
||||
{
|
||||
app.Checkout(chSkuID);
|
||||
app.Checkout(chSkuID);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2436,7 +2432,7 @@ int UIScene_LoadOrJoinMenu::TexturePackDialogReturned(void *pParam,int iPad,C4JS
|
||||
UIScene_LoadOrJoinMenu *pClass = (UIScene_LoadOrJoinMenu *)pParam;
|
||||
|
||||
// Exit with or without saving
|
||||
if(result==C4JStorage::EMessage_ResultAccept)
|
||||
if(result==C4JStorage::EMessage_ResultAccept)
|
||||
{
|
||||
// we need to enable background downloading for the DLC
|
||||
XBackgroundDownloadSetMode(XBACKGROUND_DOWNLOAD_MODE_ALWAYS_ALLOW);
|
||||
@@ -2454,7 +2450,7 @@ int UIScene_LoadOrJoinMenu::TexturePackDialogReturned(void *pParam,int iPad,C4JS
|
||||
}
|
||||
#endif
|
||||
|
||||
SONYDLC *pSONYDLCInfo=app.GetSONYDLCInfo(pClass->m_initData->selectedSession->data.texturePackParentId);
|
||||
SONYDLC *pSONYDLCInfo=app.GetSONYDLCInfo(pClass->m_initData->selectedSession->data.texturePackParentId);
|
||||
if(pSONYDLCInfo!=NULL)
|
||||
{
|
||||
char chName[42];
|
||||
@@ -2483,16 +2479,16 @@ int UIScene_LoadOrJoinMenu::TexturePackDialogReturned(void *pParam,int iPad,C4JS
|
||||
}
|
||||
else
|
||||
{
|
||||
app.Checkout(chSkuID);
|
||||
app.Checkout(chSkuID);
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#if defined _XBOX_ONE
|
||||
#if defined _XBOX_ONE
|
||||
if(ProfileManager.IsSignedIn(iPad))
|
||||
{
|
||||
{
|
||||
if (ProfileManager.IsSignedInLive(iPad))
|
||||
{
|
||||
wstring ProductId;
|
||||
@@ -2501,13 +2497,13 @@ int UIScene_LoadOrJoinMenu::TexturePackDialogReturned(void *pParam,int iPad,C4JS
|
||||
StorageManager.InstallOffer(1,(WCHAR *)ProductId.c_str(),NULL,NULL);
|
||||
}
|
||||
else
|
||||
{
|
||||
{
|
||||
// 4J-JEV: Fix for XB1: #165863 - XR-074: Compliance: With no active network connection user is unable to convert from Trial to Full texture pack and is not messaged why.
|
||||
UINT uiIDA[1] = { IDS_CONFIRM_OK };
|
||||
ui.RequestErrorMessage(IDS_PRO_NOTONLINE_TITLE, IDS_PRO_XBOXLIVE_NOTIFICATION, uiIDA, 1, iPad);
|
||||
ui.RequestErrorMessage(IDS_PRO_NOTONLINE_TITLE, IDS_PRO_XBOXLIVE_NOTIFICATION, uiIDA, 1, iPad);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
}
|
||||
pClass->m_bIgnoreInput=false;
|
||||
@@ -2519,7 +2515,7 @@ int UIScene_LoadOrJoinMenu::MustSignInReturnedPSN(void *pParam,int iPad,C4JStora
|
||||
{
|
||||
UIScene_LoadOrJoinMenu* pClass = (UIScene_LoadOrJoinMenu*)pParam;
|
||||
|
||||
if(result==C4JStorage::EMessage_ResultAccept)
|
||||
if(result==C4JStorage::EMessage_ResultAccept)
|
||||
{
|
||||
#if defined(__PS3__)
|
||||
SQRNetworkManager_PS3::AttemptPSNSignIn(&UIScene_LoadOrJoinMenu::PSN_SignInReturned, pClass);
|
||||
@@ -2679,7 +2675,7 @@ int UIScene_LoadOrJoinMenu::DownloadSonyCrossSaveThreadProc( LPVOID lpParameter
|
||||
Compression::UseDefaultThreadStorage();
|
||||
UIScene_LoadOrJoinMenu* pClass = (UIScene_LoadOrJoinMenu *) lpParameter;
|
||||
pClass->m_saveTransferDownloadCancelled = false;
|
||||
m_bSaveTransferRunning = true;
|
||||
m_bSaveTransferRunning = true;
|
||||
bool bAbortCalled = false;
|
||||
Minecraft *pMinecraft=Minecraft::GetInstance();
|
||||
bool bSaveFileCreated = false;
|
||||
@@ -2728,7 +2724,7 @@ int UIScene_LoadOrJoinMenu::DownloadSonyCrossSaveThreadProc( LPVOID lpParameter
|
||||
ui.RequestAlertMessage(IDS_TOOLTIPS_SAVETRANSFER_DOWNLOAD, IDS_SAVE_TRANSFER_WRONG_VERSION, uiIDA, 1, ProfileManager.GetPrimaryPad(),RemoteSaveNotFoundCallback,pClass);
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
// no save available, inform the user about the functionality
|
||||
UINT uiIDA[1];
|
||||
@@ -2752,7 +2748,7 @@ int UIScene_LoadOrJoinMenu::DownloadSonyCrossSaveThreadProc( LPVOID lpParameter
|
||||
DWORD dwDataSizeSaveImage=0;
|
||||
|
||||
StorageManager.GetDefaultSaveImage(&pbDataSaveImage, &dwDataSizeSaveImage); // Get the default save thumbnail (as set by SetDefaultImages) for use on saving games t
|
||||
StorageManager.GetDefaultSaveThumbnail(&pbThumbnailData,&dwThumbnailDataSize); // Get the default save image (as set by SetDefaultImages) for use on saving games that
|
||||
StorageManager.GetDefaultSaveThumbnail(&pbThumbnailData,&dwThumbnailDataSize); // Get the default save image (as set by SetDefaultImages) for use on saving games that
|
||||
|
||||
BYTE bTextMetadata[88];
|
||||
ZeroMemory(bTextMetadata,88);
|
||||
@@ -2784,7 +2780,7 @@ int UIScene_LoadOrJoinMenu::DownloadSonyCrossSaveThreadProc( LPVOID lpParameter
|
||||
{
|
||||
// we can't cancel here, we need the saves info so we can delete the file
|
||||
if(pClass->m_saveTransferDownloadCancelled)
|
||||
{
|
||||
{
|
||||
WCHAR wcTemp[256];
|
||||
swprintf(wcTemp,256, app.GetString(IDS_CANCEL)); // MGH - should change this string to "cancelling download"
|
||||
m_wstrStageText=wcTemp;
|
||||
@@ -2799,7 +2795,7 @@ int UIScene_LoadOrJoinMenu::DownloadSonyCrossSaveThreadProc( LPVOID lpParameter
|
||||
break;
|
||||
case eSaveTransfer_GettingSavesInfo:
|
||||
if(pClass->m_saveTransferDownloadCancelled)
|
||||
{
|
||||
{
|
||||
WCHAR wcTemp[256];
|
||||
swprintf(wcTemp,256, app.GetString(IDS_CANCEL)); // MGH - should change this string to "cancelling download"
|
||||
m_wstrStageText=wcTemp;
|
||||
@@ -2916,7 +2912,7 @@ int UIScene_LoadOrJoinMenu::DownloadSonyCrossSaveThreadProc( LPVOID lpParameter
|
||||
DWORD dwDataSizeSaveImage=0;
|
||||
|
||||
StorageManager.GetDefaultSaveImage(&pbDataSaveImage, &dwDataSizeSaveImage); // Get the default save thumbnail (as set by SetDefaultImages) for use on saving games t
|
||||
StorageManager.GetDefaultSaveThumbnail(&pbThumbnailData,&dwThumbnailDataSize); // Get the default save image (as set by SetDefaultImages) for use on saving games that
|
||||
StorageManager.GetDefaultSaveThumbnail(&pbThumbnailData,&dwThumbnailDataSize); // Get the default save image (as set by SetDefaultImages) for use on saving games that
|
||||
|
||||
BYTE bTextMetadata[88];
|
||||
ZeroMemory(bTextMetadata,88);
|
||||
@@ -2929,12 +2925,12 @@ int UIScene_LoadOrJoinMenu::DownloadSonyCrossSaveThreadProc( LPVOID lpParameter
|
||||
}
|
||||
|
||||
|
||||
#ifdef SPLIT_SAVES
|
||||
#ifdef SPLIT_SAVES
|
||||
ConsoleSaveFileOriginal oldFormatSave( wSaveName, ba.data, ba.length, false, app.getRemoteStorage()->getSavePlatform() );
|
||||
pSave = new ConsoleSaveFileSplit( &oldFormatSave, false, pMinecraft->progressRenderer );
|
||||
|
||||
pMinecraft->progressRenderer->progressStage(IDS_SAVETRANSFER_STAGE_SAVING);
|
||||
pSave->Flush(false,false);
|
||||
pSave->Flush(false,false);
|
||||
pClass->m_eSaveTransferState = eSaveTransfer_Saving;
|
||||
#else
|
||||
pSave = new ConsoleSaveFileOriginal( wSaveName, ba.data, ba.length, false, app.getRemoteStorage()->getSavePlatform() );
|
||||
@@ -2970,7 +2966,7 @@ int UIScene_LoadOrJoinMenu::DownloadSonyCrossSaveThreadProc( LPVOID lpParameter
|
||||
|
||||
delete pSave;
|
||||
|
||||
|
||||
|
||||
pMinecraft->progressRenderer->progressStage(IDS_PROGRESS_SAVING_TO_DISC);
|
||||
pClass->m_eSaveTransferState = eSaveTransfer_Succeeded;
|
||||
}
|
||||
@@ -2984,7 +2980,7 @@ int UIScene_LoadOrJoinMenu::DownloadSonyCrossSaveThreadProc( LPVOID lpParameter
|
||||
UINT uiIDA[1];
|
||||
uiIDA[0]=IDS_CONFIRM_OK;
|
||||
app.getRemoteStorage()->waitForStorageManagerIdle(); // wait for everything to complete before we hand control back to the player
|
||||
ui.RequestErrorMessage( IDS_TOOLTIPS_SAVETRANSFER_DOWNLOAD, IDS_SAVE_TRANSFER_DOWNLOADCOMPLETE, uiIDA,1,ProfileManager.GetPrimaryPad(),CrossSaveFinishedCallback,pClass);
|
||||
ui.RequestErrorMessage( IDS_TOOLTIPS_SAVETRANSFER_DOWNLOAD, IDS_SAVE_TRANSFER_DOWNLOADCOMPLETE, uiIDA,1,ProfileManager.GetPrimaryPad(),CrossSaveFinishedCallback,pClass);
|
||||
pClass->m_eSaveTransferState = eSaveTransfer_Finished;
|
||||
}
|
||||
break;
|
||||
@@ -2999,7 +2995,7 @@ int UIScene_LoadOrJoinMenu::DownloadSonyCrossSaveThreadProc( LPVOID lpParameter
|
||||
if(bSaveFileCreated)
|
||||
{
|
||||
if(pClass->m_saveTransferDownloadCancelled)
|
||||
{
|
||||
{
|
||||
WCHAR wcTemp[256];
|
||||
swprintf(wcTemp,256, app.GetString(IDS_CANCEL)); // MGH - should change this string to "cancelling download"
|
||||
m_wstrStageText=wcTemp;
|
||||
@@ -3077,7 +3073,7 @@ int UIScene_LoadOrJoinMenu::DownloadSonyCrossSaveThreadProc( LPVOID lpParameter
|
||||
#endif
|
||||
|
||||
}
|
||||
ui.RequestErrorMessage( IDS_TOOLTIPS_SAVETRANSFER_DOWNLOAD, errorMessage, uiIDA,1,ProfileManager.GetPrimaryPad(),CrossSaveFinishedCallback,pClass);
|
||||
ui.RequestErrorMessage( IDS_TOOLTIPS_SAVETRANSFER_DOWNLOAD, errorMessage, uiIDA,1,ProfileManager.GetPrimaryPad(),CrossSaveFinishedCallback,pClass);
|
||||
pClass->m_eSaveTransferState = eSaveTransfer_Finished;
|
||||
}
|
||||
if(bSaveFileCreated) // save file has been created, then deleted.
|
||||
@@ -3223,7 +3219,7 @@ int UIScene_LoadOrJoinMenu::UploadSonyCrossSaveThreadProc( LPVOID lpParameter )
|
||||
{
|
||||
UINT uiIDA[1];
|
||||
uiIDA[0]=IDS_CONFIRM_OK;
|
||||
ui.RequestErrorMessage( IDS_TOOLTIPS_SAVETRANSFER_UPLOAD, IDS_SAVE_TRANSFER_UPLOADCOMPLETE, uiIDA,1,ProfileManager.GetPrimaryPad(),CrossSaveUploadFinishedCallback,pClass);
|
||||
ui.RequestErrorMessage( IDS_TOOLTIPS_SAVETRANSFER_UPLOAD, IDS_SAVE_TRANSFER_UPLOADCOMPLETE, uiIDA,1,ProfileManager.GetPrimaryPad(),CrossSaveUploadFinishedCallback,pClass);
|
||||
pClass->m_eSaveUploadState = esaveUpload_Finished;
|
||||
}
|
||||
break;
|
||||
@@ -3240,7 +3236,7 @@ int UIScene_LoadOrJoinMenu::UploadSonyCrossSaveThreadProc( LPVOID lpParameter )
|
||||
{
|
||||
UINT uiIDA[1];
|
||||
uiIDA[0]=IDS_CONFIRM_OK;
|
||||
ui.RequestErrorMessage( IDS_TOOLTIPS_SAVETRANSFER_UPLOAD, IDS_SAVE_TRANSFER_UPLOADFAILED, uiIDA,1,ProfileManager.GetPrimaryPad(),CrossSaveUploadFinishedCallback,pClass);
|
||||
ui.RequestErrorMessage( IDS_TOOLTIPS_SAVETRANSFER_UPLOAD, IDS_SAVE_TRANSFER_UPLOADFAILED, uiIDA,1,ProfileManager.GetPrimaryPad(),CrossSaveUploadFinishedCallback,pClass);
|
||||
pClass->m_eSaveUploadState = esaveUpload_Finished;
|
||||
}
|
||||
}
|
||||
@@ -3289,7 +3285,7 @@ int UIScene_LoadOrJoinMenu::SaveTransferDialogReturned(void *pParam,int iPad,C4J
|
||||
{
|
||||
UIScene_LoadOrJoinMenu* pClass = (UIScene_LoadOrJoinMenu*)pParam;
|
||||
// results switched for this dialog
|
||||
if(result==C4JStorage::EMessage_ResultAccept)
|
||||
if(result==C4JStorage::EMessage_ResultAccept)
|
||||
{
|
||||
// upload the save
|
||||
pClass->LaunchSaveUpload();
|
||||
@@ -3408,13 +3404,13 @@ int UIScene_LoadOrJoinMenu::DownloadXbox360SaveThreadProc( LPVOID lpParameter )
|
||||
ByteArrayInputStream bais(UIScene_LoadOrJoinMenu::s_transferData);
|
||||
DataInputStream dis(&bais);
|
||||
|
||||
wstring saveTitle = dis.readUTF();
|
||||
wstring saveTitle = dis.readUTF();
|
||||
StorageManager.SetSaveTitle(saveTitle.c_str());
|
||||
|
||||
wstring saveUniqueName = dis.readUTF();
|
||||
|
||||
// 4J Stu - Don't set this any more. We added it so that we could share the ban list data for this save
|
||||
// However if the player downloads the same save multiple times, it will overwrite the previous version
|
||||
// However if the player downloads the same save multiple times, it will overwrite the previous version
|
||||
// with that filname, and they could have made changes to it.
|
||||
//StorageManager.SetSaveUniqueFilename((wchar_t *)saveUniqueName.c_str());
|
||||
|
||||
@@ -3424,7 +3420,7 @@ int UIScene_LoadOrJoinMenu::DownloadXbox360SaveThreadProc( LPVOID lpParameter )
|
||||
byteArray ba(thumbnailSize);
|
||||
dis.readFully(ba);
|
||||
|
||||
|
||||
|
||||
|
||||
// retrieve the seed value from the image metadata, we need to change to host options, then set it back again
|
||||
bool bHostOptionsRead = false;
|
||||
@@ -3458,13 +3454,13 @@ int UIScene_LoadOrJoinMenu::DownloadXbox360SaveThreadProc( LPVOID lpParameter )
|
||||
case eSaveTransferFile_SaveData:
|
||||
{
|
||||
#ifdef SPLIT_SAVES
|
||||
if(!pStateContainer->m_bSaveTransferCancelled)
|
||||
if(!pStateContainer->m_bSaveTransferCancelled)
|
||||
{
|
||||
ConsoleSaveFileOriginal oldFormatSave( L"Temp name", UIScene_LoadOrJoinMenu::s_transferData.data, UIScene_LoadOrJoinMenu::s_transferData.length, false, SAVE_FILE_PLATFORM_X360 );
|
||||
pSave = new ConsoleSaveFileSplit( &oldFormatSave, false, pMinecraft->progressRenderer );
|
||||
|
||||
pMinecraft->progressRenderer->progressStage(IDS_SAVETRANSFER_STAGE_SAVING);
|
||||
if(!pStateContainer->m_bSaveTransferCancelled) pSave->Flush(false,false);
|
||||
if(!pStateContainer->m_bSaveTransferCancelled) pSave->Flush(false,false);
|
||||
}
|
||||
pStateContainer->m_eSaveTransferState=C4JStorage::eSaveTransfer_Saving;
|
||||
|
||||
@@ -3485,7 +3481,7 @@ int UIScene_LoadOrJoinMenu::DownloadXbox360SaveThreadProc( LPVOID lpParameter )
|
||||
pSave->ConvertToLocalPlatform();
|
||||
|
||||
pMinecraft->progressRenderer->progressStage(IDS_SAVETRANSFER_STAGE_SAVING);
|
||||
if(!pStateContainer->m_bSaveTransferCancelled) pSave->Flush(false,false);
|
||||
if(!pStateContainer->m_bSaveTransferCancelled) pSave->Flush(false,false);
|
||||
|
||||
pStateContainer->m_iProgress+=1;
|
||||
if(pStateContainer->m_iProgress==101)
|
||||
@@ -3501,8 +3497,8 @@ int UIScene_LoadOrJoinMenu::DownloadXbox360SaveThreadProc( LPVOID lpParameter )
|
||||
// On Durango/Orbis, we need to wait for all the asynchronous saving processes to complete before destroying the levels, as that will ultimately delete
|
||||
// the directory level storage & therefore the ConsoleSaveSplit instance, which needs to be around until all the sub files have completed saving.
|
||||
#if defined(_DURANGO) || defined(__ORBIS__)
|
||||
pMinecraft->progressRenderer->progressStage(IDS_PROGRESS_SAVING_TO_DISC);
|
||||
|
||||
pMinecraft->progressRenderer->progressStage(IDS_PROGRESS_SAVING_TO_DISC);
|
||||
|
||||
while(StorageManager.GetSaveState() != C4JStorage::ESaveGame_Idle )
|
||||
{
|
||||
Sleep(10);
|
||||
@@ -3517,9 +3513,9 @@ int UIScene_LoadOrJoinMenu::DownloadXbox360SaveThreadProc( LPVOID lpParameter )
|
||||
#ifdef _XBOX_ONE
|
||||
pMinecraft->progressRenderer->progressStage(IDS_SAVE_TRANSFER_DOWNLOAD_AND_CONVERT_COMPLETE);
|
||||
#endif
|
||||
|
||||
|
||||
pStateContainer->m_eSaveTransferState=C4JStorage::eSaveTransfer_Idle;
|
||||
|
||||
|
||||
// wipe the list and repopulate it
|
||||
if(!pStateContainer->m_bSaveTransferCancelled) pStateContainer->m_pClass->m_iState=e_SavesRepopulateAfterTransferDownload;
|
||||
|
||||
@@ -3559,7 +3555,7 @@ int UIScene_LoadOrJoinMenu::DownloadXbox360SaveThreadProc( LPVOID lpParameter )
|
||||
}
|
||||
|
||||
void UIScene_LoadOrJoinMenu::RequestFileSize( SaveTransferStateContainer *pClass, wchar_t *filename )
|
||||
{
|
||||
{
|
||||
Minecraft *pMinecraft=Minecraft::GetInstance();
|
||||
|
||||
// get the save file size
|
||||
@@ -3665,7 +3661,7 @@ int UIScene_LoadOrJoinMenu::SaveTransferUpdateProgress(LPVOID lpParam,unsigned l
|
||||
|
||||
if(pClass->m_bSaveTransferCancelled) // was cancelled
|
||||
{
|
||||
pMinecraft->progressRenderer->progressStage(IDS_SAVE_TRANSFER_DOWNLOAD_CANCELLING);
|
||||
pMinecraft->progressRenderer->progressStage(IDS_SAVE_TRANSFER_DOWNLOAD_CANCELLING);
|
||||
swprintf(wcTemp,app.GetString(IDS_SAVE_TRANSFER_DOWNLOAD_CANCELLING));
|
||||
m_wstrStageText=wcTemp;
|
||||
pMinecraft->progressRenderer->progressStage( m_wstrStageText );
|
||||
@@ -3740,7 +3736,7 @@ int UIScene_LoadOrJoinMenu::CopySaveDialogReturned(void *pParam,int iPad,C4JStor
|
||||
{
|
||||
UIScene_LoadOrJoinMenu* pClass = (UIScene_LoadOrJoinMenu*)pParam;
|
||||
|
||||
if(result==C4JStorage::EMessage_ResultAccept)
|
||||
if(result==C4JStorage::EMessage_ResultAccept)
|
||||
{
|
||||
|
||||
LoadingInputParams *loadingParams = new LoadingInputParams();
|
||||
@@ -3785,7 +3781,7 @@ int UIScene_LoadOrJoinMenu::CopySaveThreadProc( LPVOID lpParameter )
|
||||
ui.LeaveCallbackIdCriticalSection();
|
||||
// Copy save data takes two callbacks - one for completion, and one for progress. The progress callback also lets us cancel the operation, if we return false.
|
||||
StorageManager.CopySaveData(&pClass->m_pSaveDetails->SaveInfoA[pClass->m_iSaveListIndex - pClass->m_iDefaultButtonsC],UIScene_LoadOrJoinMenu::CopySaveDataReturned,UIScene_LoadOrJoinMenu::CopySaveDataProgress,lpParameter);
|
||||
|
||||
|
||||
bool bContinue = true;
|
||||
do
|
||||
{
|
||||
@@ -3822,7 +3818,7 @@ int UIScene_LoadOrJoinMenu::CopySaveDataReturned(LPVOID lpParam, bool success, C
|
||||
{
|
||||
pClass->m_bCopying = false;
|
||||
// wipe the list and repopulate it
|
||||
pClass->m_iState=e_SavesRepopulateAfterDelete;
|
||||
pClass->m_iState=e_SavesRepopulateAfterDelete;
|
||||
ui.LeaveCallbackIdCriticalSection();
|
||||
}
|
||||
else
|
||||
|
||||
@@ -15,7 +15,7 @@ HRESULT CXuiCtrl4JList::OnInit(XUIMessageInit *pInitData, BOOL& bHandled)
|
||||
void CXuiCtrl4JList::AddData( const LIST_ITEM_INFO& ItemInfo , int iSortListFromIndex, int iSortFunction)
|
||||
{
|
||||
// need to allocate memory for the structure and its strings
|
||||
// and remap the string pointers
|
||||
// and remap the string pointers
|
||||
DWORD dwBytes=0;
|
||||
DWORD dwLen1=0;
|
||||
DWORD dwLen2=0;
|
||||
@@ -37,7 +37,7 @@ void CXuiCtrl4JList::AddData( const LIST_ITEM_INFO& ItemInfo , int iSortListFrom
|
||||
ZeroMemory(pItemInfo,dwBytes);
|
||||
|
||||
XMemCpy( pItemInfo, &ItemInfo, sizeof( LIST_ITEM_INFO ) );
|
||||
if(dwLen1!=0)
|
||||
if(dwLen1!=0)
|
||||
{
|
||||
XMemCpy( &pItemInfo[1], ItemInfo.pwszText, dwLen1 );
|
||||
pItemInfo->pwszText=(LPCWSTR)&pItemInfo[1];
|
||||
@@ -68,13 +68,13 @@ void CXuiCtrl4JList::AddData( const LIST_ITEM_INFO& ItemInfo , int iSortListFrom
|
||||
|
||||
// added to force a sort order for DLC
|
||||
//pItemInfo->iSortIndex=iSortIndex;
|
||||
|
||||
|
||||
m_vListData.push_back(pItemInfo);
|
||||
|
||||
#ifdef _DEBUG
|
||||
|
||||
int iCount=0;
|
||||
for (AUTO_VAR(it, m_vListData.begin()); it != m_vListData.end(); it++)
|
||||
for ( auto it : m_vListData )
|
||||
{
|
||||
PLIST_ITEM_INFO pInfo=(PLIST_ITEM_INFO)*it;
|
||||
app.DebugPrintf("%d. ",iCount++);
|
||||
@@ -99,22 +99,10 @@ void CXuiCtrl4JList::AddData( const LIST_ITEM_INFO& ItemInfo , int iSortListFrom
|
||||
break;
|
||||
case eSortList_Index:
|
||||
sort(m_vListData.begin()+iSortListFromIndex, m_vListData.end(),CXuiCtrl4JList::IndexSortFn);
|
||||
break;
|
||||
break;
|
||||
}
|
||||
}
|
||||
LeaveCriticalSection(&m_AccessListData);
|
||||
// #ifdef _DEBUG
|
||||
//
|
||||
// iCount=0;
|
||||
// for (AUTO_VAR(it, m_vListData.begin()); it != m_vListData.end(); it++)
|
||||
// {
|
||||
// PLIST_ITEM_INFO pInfo=(PLIST_ITEM_INFO)*it;
|
||||
// app.DebugPrintf("After Sort - %d. ",iCount++);
|
||||
// OutputDebugStringW(pInfo->pwszText);
|
||||
// app.DebugPrintf(" - %d\n",pInfo->iSortIndex);
|
||||
//
|
||||
// }
|
||||
// #endif
|
||||
InsertItems( 0, 1 );
|
||||
}
|
||||
|
||||
@@ -162,13 +150,13 @@ int CXuiCtrl4JList::GetIndexByUserData(int iData)
|
||||
return 0;
|
||||
}
|
||||
|
||||
CXuiCtrl4JList::LIST_ITEM_INFO& CXuiCtrl4JList::GetData(DWORD dw)
|
||||
{
|
||||
return *m_vListData[dw];
|
||||
CXuiCtrl4JList::LIST_ITEM_INFO& CXuiCtrl4JList::GetData(DWORD dw)
|
||||
{
|
||||
return *m_vListData[dw];
|
||||
}
|
||||
|
||||
CXuiCtrl4JList::LIST_ITEM_INFO& CXuiCtrl4JList::GetDataiData(int iData)
|
||||
{
|
||||
CXuiCtrl4JList::LIST_ITEM_INFO& CXuiCtrl4JList::GetDataiData(int iData)
|
||||
{
|
||||
LIST_ITEM_INFO info;
|
||||
|
||||
for(unsigned int i=0;i<m_vListData.size();i++)
|
||||
@@ -180,11 +168,11 @@ CXuiCtrl4JList::LIST_ITEM_INFO& CXuiCtrl4JList::GetDataiData(int iData)
|
||||
}
|
||||
}
|
||||
|
||||
return *m_vListData[0];
|
||||
return *m_vListData[0];
|
||||
}
|
||||
|
||||
CXuiCtrl4JList::LIST_ITEM_INFO& CXuiCtrl4JList::GetData(FILETIME *pFileTime)
|
||||
{
|
||||
CXuiCtrl4JList::LIST_ITEM_INFO& CXuiCtrl4JList::GetData(FILETIME *pFileTime)
|
||||
{
|
||||
LIST_ITEM_INFO info;
|
||||
|
||||
for(unsigned int i=0;i<m_vListData.size();i++)
|
||||
@@ -196,13 +184,13 @@ CXuiCtrl4JList::LIST_ITEM_INFO& CXuiCtrl4JList::GetData(FILETIME *pFileTime)
|
||||
}
|
||||
}
|
||||
|
||||
return *m_vListData[0];
|
||||
return *m_vListData[0];
|
||||
}
|
||||
|
||||
bool CXuiCtrl4JList::TimeSortFn(const void *a, const void *b)
|
||||
{
|
||||
CXuiCtrl4JList::LIST_ITEM_INFO *SaveDetailsA=(CXuiCtrl4JList::LIST_ITEM_INFO *)a;
|
||||
CXuiCtrl4JList::LIST_ITEM_INFO *SaveDetailsB=(CXuiCtrl4JList::LIST_ITEM_INFO *)b;
|
||||
CXuiCtrl4JList::LIST_ITEM_INFO *SaveDetailsB=(CXuiCtrl4JList::LIST_ITEM_INFO *)b;
|
||||
|
||||
if(SaveDetailsA->fTime.dwHighDateTime > SaveDetailsB->fTime.dwHighDateTime)
|
||||
{
|
||||
@@ -229,14 +217,14 @@ bool CXuiCtrl4JList::TimeSortFn(const void *a, const void *b)
|
||||
bool CXuiCtrl4JList::AlphabeticSortFn(const void *a, const void *b)
|
||||
{
|
||||
CXuiCtrl4JList::LIST_ITEM_INFO *SaveDetailsA=(CXuiCtrl4JList::LIST_ITEM_INFO *)a;
|
||||
CXuiCtrl4JList::LIST_ITEM_INFO *SaveDetailsB=(CXuiCtrl4JList::LIST_ITEM_INFO *)b;
|
||||
CXuiCtrl4JList::LIST_ITEM_INFO *SaveDetailsB=(CXuiCtrl4JList::LIST_ITEM_INFO *)b;
|
||||
|
||||
wstring wstr1=SaveDetailsA->pwszText;
|
||||
wstring wstr2=SaveDetailsB->pwszText;
|
||||
if(wstr1.compare(wstr2)<0)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
@@ -244,14 +232,14 @@ bool CXuiCtrl4JList::AlphabeticSortFn(const void *a, const void *b)
|
||||
bool CXuiCtrl4JList::IndexSortFn(const void *a, const void *b)
|
||||
{
|
||||
CXuiCtrl4JList::LIST_ITEM_INFO *SaveDetailsA=(CXuiCtrl4JList::LIST_ITEM_INFO *)a;
|
||||
CXuiCtrl4JList::LIST_ITEM_INFO *SaveDetailsB=(CXuiCtrl4JList::LIST_ITEM_INFO *)b;
|
||||
CXuiCtrl4JList::LIST_ITEM_INFO *SaveDetailsB=(CXuiCtrl4JList::LIST_ITEM_INFO *)b;
|
||||
|
||||
int iA=SaveDetailsA->iSortIndex;
|
||||
int iB=SaveDetailsB->iSortIndex;
|
||||
if(iA>iB)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
@@ -303,10 +291,10 @@ void CXuiCtrl4JList::UpdateGraphic(FILETIME *pfTime,HXUIBRUSH hXuiBrush )
|
||||
// Gets called every frame
|
||||
HRESULT CXuiCtrl4JList::OnGetSourceDataText(XUIMessageGetSourceText *pGetSourceTextData,BOOL& bHandled)
|
||||
{
|
||||
if( ( 0 == pGetSourceTextData->iData ) && ( ( pGetSourceTextData->bItemData ) ) )
|
||||
if( ( 0 == pGetSourceTextData->iData ) && ( ( pGetSourceTextData->bItemData ) ) )
|
||||
{
|
||||
EnterCriticalSection(&m_AccessListData);
|
||||
pGetSourceTextData->szText =
|
||||
pGetSourceTextData->szText =
|
||||
GetData(pGetSourceTextData->iItem).pwszText;
|
||||
LeaveCriticalSection(&m_AccessListData);
|
||||
bHandled = TRUE;
|
||||
@@ -323,7 +311,7 @@ HRESULT CXuiCtrl4JList::OnGetItemCountAll(XUIMessageGetItemCount *pGetItemCountD
|
||||
|
||||
HRESULT CXuiCtrl4JList::OnGetSourceDataImage(XUIMessageGetSourceImage *pGetSourceImageData,BOOL& bHandled)
|
||||
{
|
||||
if( ( 0 == pGetSourceImageData->iData ) && ( pGetSourceImageData->bItemData ) )
|
||||
if( ( 0 == pGetSourceImageData->iData ) && ( pGetSourceImageData->bItemData ) )
|
||||
{
|
||||
// Check for a brush
|
||||
EnterCriticalSection(&m_AccessListData);
|
||||
@@ -333,7 +321,7 @@ HRESULT CXuiCtrl4JList::OnGetSourceDataImage(XUIMessageGetSourceImage *pGetSourc
|
||||
}
|
||||
else
|
||||
{
|
||||
pGetSourceImageData->szPath =
|
||||
pGetSourceImageData->szPath =
|
||||
GetData(pGetSourceImageData->iItem).pwszImage;
|
||||
}
|
||||
LeaveCriticalSection(&m_AccessListData);
|
||||
@@ -347,7 +335,7 @@ HRESULT CXuiCtrl4JList::OnGetItemEnable(XUIMessageGetItemEnable *pGetItemEnableD
|
||||
if(m_vListData.size()!=0)
|
||||
{
|
||||
EnterCriticalSection(&m_AccessListData);
|
||||
pGetItemEnableData->bEnabled =
|
||||
pGetItemEnableData->bEnabled =
|
||||
GetData(pGetItemEnableData->iItem).fEnabled;
|
||||
LeaveCriticalSection(&m_AccessListData);
|
||||
}
|
||||
@@ -356,14 +344,14 @@ HRESULT CXuiCtrl4JList::OnGetItemEnable(XUIMessageGetItemEnable *pGetItemEnableD
|
||||
}
|
||||
|
||||
|
||||
HRESULT CXuiCtrl4JList::SetBorder(DWORD dw,BOOL bShow)
|
||||
{
|
||||
HRESULT CXuiCtrl4JList::SetBorder(DWORD dw,BOOL bShow)
|
||||
{
|
||||
CXuiControl Control;
|
||||
HXUIOBJ hVisual,hBorder;
|
||||
GetItemControl(dw,&Control);
|
||||
Control.GetVisual(&hVisual);
|
||||
XuiElementGetChildById(hVisual,L"Border",&hBorder);
|
||||
return XuiElementSetShow(hBorder,bShow);
|
||||
return XuiElementSetShow(hBorder,bShow);
|
||||
}
|
||||
|
||||
void CXuiCtrl4JList::SetSelectionChangedHandle(HXUIOBJ hObj)
|
||||
|
||||
@@ -69,7 +69,7 @@ HRESULT CXuiCtrlEnchantmentButton::OnGetSourceDataText(XUIMessageGetSourceText *
|
||||
// Light background and focus background
|
||||
SetEnable(TRUE);
|
||||
}
|
||||
m_costString = _toString<int>(cost);
|
||||
m_costString = std::to_wstring(cost);
|
||||
m_lastCost = cost;
|
||||
}
|
||||
if(cost == 0)
|
||||
@@ -79,7 +79,7 @@ HRESULT CXuiCtrlEnchantmentButton::OnGetSourceDataText(XUIMessageGetSourceText *
|
||||
pGetSourceTextData->bDisplay = FALSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
{
|
||||
pGetSourceTextData->szText = m_costString.c_str();
|
||||
pGetSourceTextData->bDisplay = TRUE;
|
||||
}
|
||||
|
||||
@@ -70,11 +70,11 @@ HRESULT CXuiCtrlEnchantmentButtonText::OnRender(XUIMessageRender *pRenderData, B
|
||||
D3DXMATRIX matrix;
|
||||
xuiControl.GetFullXForm(&matrix);
|
||||
float bwidth,bheight;
|
||||
xuiControl.GetBounds(&bwidth,&bheight);
|
||||
xuiControl.GetBounds(&bwidth,&bheight);
|
||||
|
||||
// Annoyingly, XUI renders everything to a z of 0 so if we want to render anything that needs the z-buffer on top of it, then we need to clear it.
|
||||
// Clear just the region required for this control.
|
||||
D3DRECT clearRect;
|
||||
D3DRECT clearRect;
|
||||
clearRect.x1 = (int)(matrix._41) - 2;
|
||||
clearRect.y1 = (int)(matrix._42) - 2;
|
||||
clearRect.x2 = (int)(matrix._41 + ( bwidth * matrix._11 )) + 2;
|
||||
@@ -124,7 +124,7 @@ HRESULT CXuiCtrlEnchantmentButtonText::OnRender(XUIMessageRender *pRenderData, B
|
||||
glColor4f(1, 1, 1, 1);
|
||||
if (cost != 0)
|
||||
{
|
||||
wstring line = _toString<int>(cost);
|
||||
wstring line = std::to_wstring(cost);
|
||||
Font *font = pMinecraft->altFont;
|
||||
//int col = 0x685E4A;
|
||||
unsigned int col = m_textColour;
|
||||
|
||||
@@ -145,7 +145,7 @@ void CXuiCtrlMinecraftSkinPreview::CycleNextAnimation()
|
||||
|
||||
void CXuiCtrlMinecraftSkinPreview::CyclePreviousAnimation()
|
||||
{
|
||||
m_currentAnimation = (ESkinPreviewAnimations)(m_currentAnimation - 1);
|
||||
m_currentAnimation = (ESkinPreviewAnimations)(m_currentAnimation - 1);
|
||||
if(m_currentAnimation < e_SkinPreviewAnimation_Walking) m_currentAnimation = (ESkinPreviewAnimations)(e_SkinPreviewAnimation_Count - 1);
|
||||
|
||||
m_swingTime = 0.0f;
|
||||
@@ -253,13 +253,11 @@ HRESULT CXuiCtrlMinecraftSkinPreview::OnRender(XUIMessageRender *pRenderData, BO
|
||||
{
|
||||
// 4J-PB - any additional parts to turn on for this player (skin dependent)
|
||||
//vector<ModelPart *> *pAdditionalModelParts=mob->GetAdditionalModelParts();
|
||||
|
||||
if(m_pvAdditionalModelParts && m_pvAdditionalModelParts->size()!=0)
|
||||
{
|
||||
for(AUTO_VAR(it, m_pvAdditionalModelParts->begin()); it != m_pvAdditionalModelParts->end(); ++it)
|
||||
{
|
||||
ModelPart *pModelPart=*it;
|
||||
|
||||
if(m_pvAdditionalModelParts && m_pvAdditionalModelParts->size()!=0)
|
||||
{
|
||||
for(auto& pModelPart : *m_pvAdditionalModelParts)
|
||||
{
|
||||
pModelPart->visible=true;
|
||||
}
|
||||
}
|
||||
@@ -269,11 +267,9 @@ HRESULT CXuiCtrlMinecraftSkinPreview::OnRender(XUIMessageRender *pRenderData, BO
|
||||
|
||||
// hide the additional parts
|
||||
if(m_pvAdditionalModelParts && m_pvAdditionalModelParts->size()!=0)
|
||||
{
|
||||
for(AUTO_VAR(it, m_pvAdditionalModelParts->begin()); it != m_pvAdditionalModelParts->end(); ++it)
|
||||
{
|
||||
for(auto& pModelPart : *m_pvAdditionalModelParts)
|
||||
{
|
||||
ModelPart *pModelPart=*it;
|
||||
|
||||
pModelPart->visible=false;
|
||||
}
|
||||
}
|
||||
@@ -344,7 +340,7 @@ void CXuiCtrlMinecraftSkinPreview::render(EntityRenderer *renderer, double x, do
|
||||
float bodyRot = m_yRot; //(mob->yBodyRotO + (mob->yBodyRot - mob->yBodyRotO) * a);
|
||||
float headRot = m_yRot; //(mob->yRotO + (mob->yRot - mob->yRotO) * a);
|
||||
float headRotx = 0; //(mob->xRotO + (mob->xRot - mob->xRotO) * a);
|
||||
|
||||
|
||||
//setupPosition(mob, x, y, z);
|
||||
// is equivalent to
|
||||
glTranslatef((float) x, (float) y, (float) z);
|
||||
@@ -515,7 +511,7 @@ bool CXuiCtrlMinecraftSkinPreview::bindTexture(const wstring& urlTexture, int ba
|
||||
Textures *t = Minecraft::GetInstance()->textures;
|
||||
|
||||
// 4J-PB - no http textures on the xbox, mem textures instead
|
||||
|
||||
|
||||
//int id = t->loadHttpTexture(urlTexture, backupTexture);
|
||||
int id = t->loadMemTexture(urlTexture, backupTexture);
|
||||
|
||||
@@ -535,7 +531,7 @@ bool CXuiCtrlMinecraftSkinPreview::bindTexture(const wstring& urlTexture, const
|
||||
Textures *t = Minecraft::GetInstance()->textures;
|
||||
|
||||
// 4J-PB - no http textures on the xbox, mem textures instead
|
||||
|
||||
|
||||
//int id = t->loadHttpTexture(urlTexture, backupTexture);
|
||||
int id = t->loadMemTexture(urlTexture, backupTexture);
|
||||
|
||||
|
||||
@@ -64,7 +64,7 @@ HRESULT CXuiCtrlSlotItemCtrlBase::OnCustomMessage_GetSlotItem(HXUIOBJ hObj, Cust
|
||||
// 11 bits - auxval
|
||||
// 6 bits - count
|
||||
// 6 bits - scale
|
||||
pData->iDataBitField = MAKE_SLOTDISPLAY_DATA_BITMASK(pUserDataContainer->m_iPad, (int)(31*pUserDataContainer->m_fAlpha),true,item->GetCount(),7,item->popTime);
|
||||
pData->iDataBitField = MAKE_SLOTDISPLAY_DATA_BITMASK(pUserDataContainer->m_iPad, (int)(31*pUserDataContainer->m_fAlpha),true,item->GetCount(),7,item->popTime);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -93,7 +93,7 @@ void CXuiCtrlSlotItemCtrlBase::SetUserIndex( HXUIOBJ hObj, int iPad )
|
||||
XuiElementGetUserData( hObj, &pvUserData );
|
||||
|
||||
SlotControlUserDataContainer* pUserDataContainer = (SlotControlUserDataContainer*)pvUserData;
|
||||
|
||||
|
||||
pUserDataContainer->m_iPad = iPad;
|
||||
}
|
||||
|
||||
@@ -103,7 +103,7 @@ void CXuiCtrlSlotItemCtrlBase::SetAlpha( HXUIOBJ hObj, float fAlpha )
|
||||
XuiElementGetUserData( hObj, &pvUserData );
|
||||
|
||||
SlotControlUserDataContainer* pUserDataContainer = (SlotControlUserDataContainer*)pvUserData;
|
||||
|
||||
|
||||
pUserDataContainer->m_fAlpha = fAlpha;
|
||||
}
|
||||
|
||||
@@ -137,16 +137,15 @@ wstring CXuiCtrlSlotItemCtrlBase::GetItemDescription( HXUIOBJ hObj, vector<wstri
|
||||
wstring desc = L"";
|
||||
vector<wstring> *strings = pUserDataContainer->slot->getItem()->getHoverText(Minecraft::GetInstance()->localplayers[pUserDataContainer->m_iPad], false, unformattedStrings);
|
||||
bool firstLine = true;
|
||||
for(AUTO_VAR(it, strings->begin()); it != strings->end(); ++it)
|
||||
{
|
||||
wstring thisString = *it;
|
||||
for ( wstring& thisString : *strings )
|
||||
{
|
||||
if(!firstLine)
|
||||
{
|
||||
desc.append( L"<br />" );
|
||||
}
|
||||
else
|
||||
{
|
||||
firstLine = false;
|
||||
firstLine = false;
|
||||
wchar_t formatted[256];
|
||||
eMinecraftColour rarityColour = pUserDataContainer->slot->getItem()->getRarity()->color;
|
||||
int colour = app.GetHTMLColour(rarityColour);
|
||||
@@ -156,7 +155,7 @@ wstring CXuiCtrlSlotItemCtrlBase::GetItemDescription( HXUIOBJ hObj, vector<wstri
|
||||
colour = app.GetHTMLColour(eTextColor_RenamedItemTitle);
|
||||
}
|
||||
|
||||
swprintf(formatted, 256, L"<font color=\"#%08x\">%s</font>",colour,thisString.c_str());
|
||||
swprintf(formatted, 256, L"<font color=\"#%08x\">%s</font>",colour,thisString.c_str());
|
||||
thisString = formatted;
|
||||
}
|
||||
desc.append( thisString );
|
||||
@@ -221,7 +220,7 @@ HRESULT CXuiCtrlSlotItemCtrlBase::OnKeyDown(HXUIOBJ hObj, XUIMessageInput *pInpu
|
||||
|
||||
XUIMessage message;
|
||||
XUIMessageInput messageInput;
|
||||
|
||||
|
||||
XuiMessageInput( &message, &messageInput, XUI_KEYDOWN, pInputData->dwKeyCode, pInputData->wch, pInputData->dwFlags, pInputData->UserIndex );
|
||||
|
||||
if (HRESULT_SUCCEEDED(hr))
|
||||
@@ -358,7 +357,7 @@ bool CXuiCtrlSlotItemCtrlBase::IsSameItemAs( HXUIOBJ hThisObj, HXUIOBJ hOtherObj
|
||||
|
||||
// 4J WESTY : Pointer Prototype : Added to support prototype only.
|
||||
// Returns number of items that can still be stacked into this slot.
|
||||
int CXuiCtrlSlotItemCtrlBase::GetEmptyStackSpace( HXUIOBJ hObj )
|
||||
int CXuiCtrlSlotItemCtrlBase::GetEmptyStackSpace( HXUIOBJ hObj )
|
||||
{
|
||||
int iResult = 0;
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
#include "..\..\Common\GameRules\ConsoleGameRules.h"
|
||||
#include "XUI_DebugItemEditor.h"
|
||||
|
||||
#ifdef _DEBUG_MENUS_ENABLED
|
||||
#ifdef _DEBUG_MENUS_ENABLED
|
||||
HRESULT CScene_DebugItemEditor::OnInit( XUIMessageInit *pInitData, BOOL &bHandled )
|
||||
{
|
||||
MapChildControls();
|
||||
@@ -22,13 +22,13 @@ HRESULT CScene_DebugItemEditor::OnInit( XUIMessageInit *pInitData, BOOL &bHandle
|
||||
|
||||
if(m_item!=NULL)
|
||||
{
|
||||
m_icon->SetIcon(m_iPad, m_item->id,m_item->getAuxValue(),m_item->count,10,31,false,m_item->isFoil());
|
||||
m_icon->SetIcon(m_iPad, m_item->id,m_item->getAuxValue(),m_item->count,10,31,false,m_item->isFoil());
|
||||
m_itemName.SetText( app.GetString( Item::items[m_item->id]->getDescriptionId(m_item) ) );
|
||||
|
||||
m_itemId .SetText( _toString<int>(m_item->id).c_str() );
|
||||
m_itemAuxValue .SetText( _toString<int>(m_item->getAuxValue()).c_str() );
|
||||
m_itemCount .SetText( _toString<int>(m_item->count).c_str() );
|
||||
m_item4JData .SetText( _toString<int>(m_item->get4JData()).c_str() );
|
||||
m_itemId .SetText( std::to_wstring(m_item->id).c_str() );
|
||||
m_itemAuxValue .SetText( std::to_wstring(m_item->getAuxValue()).c_str() );
|
||||
m_itemCount .SetText( std::to_wstring(m_item->count).c_str() );
|
||||
m_item4JData .SetText( std::to_wstring(m_item->get4JData()).c_str() );
|
||||
}
|
||||
|
||||
m_itemId .SetKeyboardType(C_4JInput::EKeyboardMode_Numeric);
|
||||
@@ -107,7 +107,7 @@ HRESULT CScene_DebugItemEditor::OnNotifyValueChanged( HXUIOBJ hObjSource, XUINot
|
||||
if(!value.empty()) data = _fromString<int>( value );
|
||||
m_item->set4JData(data);
|
||||
}
|
||||
|
||||
|
||||
m_icon->SetIcon(m_iPad, m_item->id,m_item->getAuxValue(),m_item->count,10,31,false,m_item->isFoil());
|
||||
|
||||
m_itemName.SetText( app.GetString( Item::items[m_item->id]->getDescriptionId(m_item) ) );
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
#include "..\..\..\Minecraft.World\net.minecraft.commands.common.h"
|
||||
#include "..\..\..\Minecraft.World\ConsoleSaveFileOriginal.h"
|
||||
|
||||
#ifdef _DEBUG_MENUS_ENABLED
|
||||
#ifdef _DEBUG_MENUS_ENABLED
|
||||
HRESULT CScene_DebugOverlay::OnInit( XUIMessageInit *pInitData, BOOL &bHandled )
|
||||
{
|
||||
MapChildControls();
|
||||
@@ -53,7 +53,7 @@ HRESULT CScene_DebugOverlay::OnInit( XUIMessageInit *pInitData, BOOL &bHandled )
|
||||
m_enchantmentIds.push_back(ench->id);
|
||||
m_enchantments.SetText( i, app.GetString( ench->getDescriptionId() ) );
|
||||
}
|
||||
|
||||
|
||||
m_mobs.InsertItems( 0, 21 );
|
||||
|
||||
m_mobs.SetText( m_mobFactories.size(), L"Chicken" );
|
||||
@@ -98,7 +98,7 @@ HRESULT CScene_DebugOverlay::OnInit( XUIMessageInit *pInitData, BOOL &bHandled )
|
||||
m_mobFactories.push_back(eTYPE_BLAZE);
|
||||
m_mobs.SetText( m_mobFactories.size(), L"Magma Cube" );
|
||||
m_mobFactories.push_back(eTYPE_LAVASLIME);
|
||||
|
||||
|
||||
|
||||
Minecraft *pMinecraft = Minecraft::GetInstance();
|
||||
m_setTime.SetValue( pMinecraft->level->getLevelData()->getTime() % 24000 );
|
||||
@@ -135,7 +135,7 @@ HRESULT CScene_DebugOverlay::OnNotifyPressEx(HXUIOBJ hObjPressed, XUINotifyPress
|
||||
{
|
||||
nIndex = m_mobs.GetCurSel();
|
||||
if(nIndex<m_mobFactories.size())
|
||||
{
|
||||
{
|
||||
app.SetXuiServerAction(ProfileManager.GetPrimaryPad(),eXuiServerAction_SpawnMob,(void *)m_mobFactories[nIndex]);
|
||||
}
|
||||
}
|
||||
@@ -171,7 +171,7 @@ HRESULT CScene_DebugOverlay::OnNotifyPressEx(HXUIOBJ hObjPressed, XUINotifyPress
|
||||
HXUIOBJ hScene;
|
||||
HRESULT hr;
|
||||
//const WCHAR XZP_SEPARATOR = L'#';
|
||||
const DWORD LOCATOR_SIZE = 256; // Use this to allocate space to hold a ResourceLocator string
|
||||
const DWORD LOCATOR_SIZE = 256; // Use this to allocate space to hold a ResourceLocator string
|
||||
WCHAR szResourceLocator[ LOCATOR_SIZE ];
|
||||
|
||||
swprintf(szResourceLocator, LOCATOR_SIZE, L"section://%X,%ls#%ls",c_ModuleHandle,L"media", L"media/");
|
||||
@@ -189,7 +189,7 @@ HRESULT CScene_DebugOverlay::OnNotifyPressEx(HXUIOBJ hObjPressed, XUINotifyPress
|
||||
HXUIOBJ hScene;
|
||||
HRESULT hr;
|
||||
//const WCHAR XZP_SEPARATOR = L'#';
|
||||
const DWORD LOCATOR_SIZE = 256; // Use this to allocate space to hold a ResourceLocator string
|
||||
const DWORD LOCATOR_SIZE = 256; // Use this to allocate space to hold a ResourceLocator string
|
||||
WCHAR szResourceLocator[ LOCATOR_SIZE ];
|
||||
|
||||
swprintf(szResourceLocator, LOCATOR_SIZE, L"section://%X,%ls#%ls",c_ModuleHandle,L"media", L"media/");
|
||||
@@ -256,7 +256,7 @@ HRESULT CScene_DebugOverlay::OnNotifyValueChanged( HXUIOBJ hObjSource, XUINotify
|
||||
if( hObjSource == m_setTime )
|
||||
{
|
||||
Minecraft *pMinecraft = Minecraft::GetInstance();
|
||||
|
||||
|
||||
// Need to set the time on both levels to stop the flickering as the local level
|
||||
// tries to predict the time
|
||||
// Only works if we are on the host machine, but shouldn't break if not
|
||||
@@ -365,11 +365,11 @@ void CScene_DebugOverlay::SaveLimitedFile(int chunkRadius)
|
||||
|
||||
RegionFile *CScene_DebugOverlay::getRegionFile(unordered_map<File, RegionFile *, FileKeyHash, FileKeyEq> &newFileCache, ConsoleSaveFile *saveFile, const wstring &prefix, int chunkX, int chunkZ) // 4J - TODO was synchronized
|
||||
{
|
||||
File file( prefix + wstring(L"r.") + _toString(chunkX>>5) + L"." + _toString(chunkZ>>5) + L".mcr" );
|
||||
File file( prefix + wstring(L"r.") + std::to_wstring(chunkX>>5) + L"." + std::to_wstring(chunkZ>>5) + L".mcr" );
|
||||
|
||||
RegionFile *ref = NULL;
|
||||
AUTO_VAR(it, newFileCache.find(file));
|
||||
if( it != newFileCache.end() )
|
||||
auto it = newFileCache.find(file);
|
||||
if( it != newFileCache.end() )
|
||||
ref = it->second;
|
||||
|
||||
// 4J Jev, put back in.
|
||||
|
||||
@@ -23,7 +23,7 @@ HRESULT CScene_DebugSetCamera::OnInit( XUIMessageInit *pInitData, BOOL &bHandled
|
||||
currentPosition = new DebugSetCameraPosition();
|
||||
|
||||
currentPosition->player = playerNo;
|
||||
|
||||
|
||||
Minecraft *pMinecraft = Minecraft::GetInstance();
|
||||
if (pMinecraft != NULL)
|
||||
{
|
||||
@@ -43,13 +43,13 @@ HRESULT CScene_DebugSetCamera::OnInit( XUIMessageInit *pInitData, BOOL &bHandled
|
||||
m_yRot.SetKeyboardType(C_4JInput::EKeyboardMode_Full);
|
||||
m_elevation.SetKeyboardType(C_4JInput::EKeyboardMode_Full);
|
||||
|
||||
m_camX.SetText((CONST WCHAR *) _toString<double>(currentPosition->m_camX).c_str());
|
||||
m_camY.SetText((CONST WCHAR *) _toString<double>(currentPosition->m_camY + 1.62).c_str());
|
||||
m_camZ.SetText((CONST WCHAR *) _toString<double>(currentPosition->m_camZ).c_str());
|
||||
m_camX.SetText((CONST WCHAR *) std::to_wstring(currentPosition->m_camX).c_str());
|
||||
m_camY.SetText((CONST WCHAR *) std::to_wstring(currentPosition->m_camY + 1.62).c_str());
|
||||
m_camZ.SetText((CONST WCHAR *) std::to_wstring(currentPosition->m_camZ).c_str());
|
||||
|
||||
m_yRot.SetText((CONST WCHAR *) std::to_wstring(currentPosition->m_yRot).c_str());
|
||||
m_elevation.SetText((CONST WCHAR *) std::to_wstring(currentPosition->m_elev).c_str());
|
||||
|
||||
m_yRot.SetText((CONST WCHAR *) _toString<double>(currentPosition->m_yRot).c_str());
|
||||
m_elevation.SetText((CONST WCHAR *) _toString<double>(currentPosition->m_elev).c_str());
|
||||
|
||||
//fpp = new FreezePlayerParam();
|
||||
//fpp->player = playerNo;
|
||||
//fpp->freeze = true;
|
||||
@@ -69,7 +69,7 @@ HRESULT CScene_DebugSetCamera::OnNotifyPressEx(HXUIOBJ hObjPressed, XUINotifyPre
|
||||
if (hObjPressed == m_teleport)
|
||||
{
|
||||
app.SetXuiServerAction( ProfileManager.GetPrimaryPad(),
|
||||
eXuiServerAction_SetCameraLocation,
|
||||
eXuiServerAction_SetCameraLocation,
|
||||
(void *)currentPosition);
|
||||
rfHandled = TRUE;
|
||||
}
|
||||
|
||||
@@ -42,13 +42,13 @@ HRESULT CScene_MultiGameJoinLoad::OnInit( XUIMessageInit* pInitData, BOOL& bHand
|
||||
|
||||
m_iTexturePacksNotInstalled=0;
|
||||
m_iConfigA=NULL;
|
||||
|
||||
|
||||
XuiControlSetText(m_LabelNoGames,app.GetString(IDS_NO_GAMES_FOUND));
|
||||
XuiControlSetText(m_GamesList,app.GetString(IDS_JOIN_GAME));
|
||||
XuiControlSetText(m_SavesList,app.GetString(IDS_START_GAME));
|
||||
|
||||
|
||||
const DWORD LOCATOR_SIZE = 256; // Use this to allocate space to hold a ResourceLocator string
|
||||
const DWORD LOCATOR_SIZE = 256; // Use this to allocate space to hold a ResourceLocator string
|
||||
WCHAR szResourceLocator[ LOCATOR_SIZE ];
|
||||
|
||||
const ULONG_PTR c_ModuleHandle = (ULONG_PTR)GetModuleHandle(NULL);
|
||||
@@ -64,17 +64,17 @@ HRESULT CScene_MultiGameJoinLoad::OnInit( XUIMessageInit* pInitData, BOOL& bHand
|
||||
|
||||
m_bRetrievingSaveInfo=false;
|
||||
m_bSaveTransferInProgress=false;
|
||||
|
||||
|
||||
// check for a default custom cloak in the global storage
|
||||
// 4J-PB - changed to a config file
|
||||
// if(ProfileManager.IsSignedInLive( m_iPad ))
|
||||
// {
|
||||
// {
|
||||
// app.InstallDefaultCape();
|
||||
// }
|
||||
|
||||
m_initData= new JoinMenuInitData();
|
||||
m_bMultiplayerAllowed = ProfileManager.IsSignedInLive( m_iPad ) && ProfileManager.AllowedToPlayMultiplayer(m_iPad);
|
||||
|
||||
|
||||
XPARTY_USER_LIST partyList;
|
||||
|
||||
if((XPartyGetUserList( &partyList ) != XPARTY_E_NOT_IN_PARTY ) && (partyList.dwUserCount>1))
|
||||
@@ -90,7 +90,7 @@ HRESULT CScene_MultiGameJoinLoad::OnInit( XUIMessageInit* pInitData, BOOL& bHand
|
||||
if(m_bInParty) iLB = IDS_TOOLTIPS_PARTY_GAMES;
|
||||
|
||||
XuiSetTimer(m_hObj,JOIN_LOAD_ONLINE_TIMER_ID,JOIN_LOAD_ONLINE_TIMER_TIME);
|
||||
|
||||
|
||||
m_iSaveInfoC=0;
|
||||
|
||||
VOID *pObj;
|
||||
@@ -110,7 +110,7 @@ HRESULT CScene_MultiGameJoinLoad::OnInit( XUIMessageInit* pInitData, BOOL& bHand
|
||||
{
|
||||
// if we're waiting for DLC to mount, don't fill the save list. The custom message on end of dlc mounting will do that
|
||||
m_bIgnoreInput=false;
|
||||
|
||||
|
||||
|
||||
|
||||
m_iChangingSaveGameInfoIndex = 0;
|
||||
@@ -135,7 +135,7 @@ HRESULT CScene_MultiGameJoinLoad::OnInit( XUIMessageInit* pInitData, BOOL& bHand
|
||||
// saving is disabled, but we should still be able to load from a selected save device
|
||||
|
||||
ui.SetTooltips( DEFAULT_XUI_MENU_USER, IDS_TOOLTIPS_SELECT,IDS_TOOLTIPS_BACK,IDS_TOOLTIPS_CHANGEDEVICE,-1,-1,-1,iLB,IDS_TOOLTIPS_DELETESAVE);
|
||||
|
||||
|
||||
GetSaveInfo();
|
||||
}
|
||||
else
|
||||
@@ -153,7 +153,7 @@ HRESULT CScene_MultiGameJoinLoad::OnInit( XUIMessageInit* pInitData, BOOL& bHand
|
||||
// 4J-PB - we need to check that there is enough space left to create a copy of the save (for a rename)
|
||||
bool bCanRename = StorageManager.EnoughSpaceForAMinSaveGame();
|
||||
ui.SetTooltips( DEFAULT_XUI_MENU_USER, IDS_TOOLTIPS_SELECT,IDS_TOOLTIPS_BACK,IDS_TOOLTIPS_CHANGEDEVICE,-1,-1,-1,-1,bCanRename?IDS_TOOLTIPS_SAVEOPTIONS:IDS_TOOLTIPS_DELETESAVE);
|
||||
|
||||
|
||||
GetSaveInfo();
|
||||
}
|
||||
}
|
||||
@@ -165,7 +165,7 @@ HRESULT CScene_MultiGameJoinLoad::OnInit( XUIMessageInit* pInitData, BOOL& bHand
|
||||
|
||||
// 4J Stu - Fix for #12530 -TCR 001 BAS Game Stability: Title will crash if the player disconnects while starting a new world and then opts to play the tutorial once they have been returned to the Main Menu.
|
||||
MinecraftServer::resetFlags();
|
||||
|
||||
|
||||
// If we're not ignoring input, then we aren't still waiting for the DLC to mount, and can now check for corrupt dlc. Otherwise this will happen when the dlc has finished mounting.
|
||||
if( !m_bIgnoreInput)
|
||||
{
|
||||
@@ -191,7 +191,7 @@ HRESULT CScene_MultiGameJoinLoad::OnInit( XUIMessageInit* pInitData, BOOL& bHand
|
||||
bool bTexturePackAlreadyListed;
|
||||
bool bNeedToGetTPD=false;
|
||||
Minecraft *pMinecraft = Minecraft::GetInstance();
|
||||
int texturePacksCount = pMinecraft->skins->getTexturePackCount();
|
||||
int texturePacksCount = pMinecraft->skins->getTexturePackCount();
|
||||
//CXuiCtrl4JList::LIST_ITEM_INFO ListInfo;
|
||||
//HRESULT hr;
|
||||
|
||||
@@ -267,9 +267,8 @@ void CScene_MultiGameJoinLoad::AddDefaultButtons()
|
||||
int iGeneratorIndex = 0;
|
||||
m_iMashUpButtonsC=0;
|
||||
|
||||
for(AUTO_VAR(it, m_generators->begin()); it != m_generators->end(); ++it)
|
||||
{
|
||||
LevelGenerationOptions *levelGen = *it;
|
||||
for (LevelGenerationOptions *levelGen : *m_generators )
|
||||
{
|
||||
ListInfo.pwszText = levelGen->getWorldName();
|
||||
ListInfo.fEnabled = TRUE;
|
||||
ListInfo.iData = iGeneratorIndex++; // used to index into the list of generators
|
||||
@@ -295,7 +294,7 @@ void CScene_MultiGameJoinLoad::AddDefaultButtons()
|
||||
// increment the count of the mash-up pack worlds in the save list
|
||||
m_iMashUpButtonsC++;
|
||||
TexturePack *tp = Minecraft::GetInstance()->skins->getTexturePackById(levelGen->getRequiredTexturePackId());
|
||||
DWORD dwImageBytes;
|
||||
DWORD dwImageBytes;
|
||||
PBYTE pbImageData = tp->getPackIcon(dwImageBytes);
|
||||
HXUIBRUSH hXuiBrush;
|
||||
|
||||
@@ -353,8 +352,8 @@ HRESULT CScene_MultiGameJoinLoad::GetSaveInfo( )
|
||||
ListInfo.fEnabled=TRUE;
|
||||
ListInfo.iData = -1;
|
||||
m_pSavesList->AddData(ListInfo);
|
||||
}
|
||||
m_pSavesList->SetCurSelVisible(0);
|
||||
}
|
||||
m_pSavesList->SetCurSelVisible(0);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -387,9 +386,9 @@ HRESULT CScene_MultiGameJoinLoad::OnDestroy()
|
||||
{
|
||||
g_NetworkManager.SetSessionsUpdatedCallback( NULL, NULL );
|
||||
|
||||
for(AUTO_VAR(it, currentSessions.begin()); it < currentSessions.end(); ++it)
|
||||
{
|
||||
delete (*it);
|
||||
for (auto& it : currentSessions )
|
||||
{
|
||||
delete it;
|
||||
}
|
||||
|
||||
if(m_bSaveTransferInProgress)
|
||||
@@ -419,7 +418,7 @@ int CScene_MultiGameJoinLoad::DeviceRemovedDialogReturned(void *pParam,int iPad,
|
||||
CScene_MultiGameJoinLoad* pClass = (CScene_MultiGameJoinLoad*)pParam;
|
||||
|
||||
// results switched for this dialog
|
||||
if(result==C4JStorage::EMessage_ResultDecline)
|
||||
if(result==C4JStorage::EMessage_ResultDecline)
|
||||
{
|
||||
StorageManager.SetSaveDisabled(true);
|
||||
StorageManager.SetSaveDeviceSelected(ProfileManager.GetPrimaryPad(),false);
|
||||
@@ -462,7 +461,7 @@ HRESULT CScene_MultiGameJoinLoad::OnNotifyPressEx(HXUIOBJ hObjPressed, XUINotify
|
||||
//CScene_MultiGameInfo::JoinMenuInitData *initData = new CScene_MultiGameInfo::JoinMenuInitData();
|
||||
m_initData->iPad = m_iPad;
|
||||
m_initData->selectedSession = currentSessions.at( nIndex );
|
||||
|
||||
|
||||
// check that we have the texture pack available
|
||||
// If it's not the default texture pack
|
||||
if(m_initData->selectedSession->data.texturePackParentId!=0)
|
||||
@@ -513,7 +512,7 @@ HRESULT CScene_MultiGameJoinLoad::OnNotifyPressEx(HXUIOBJ hObjPressed, XUINotify
|
||||
return S_OK;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
m_NetGamesListTimer.SetShow( FALSE );
|
||||
|
||||
// Reset the background downloading, in case we changed it by attempting to download a texture pack
|
||||
@@ -536,7 +535,7 @@ HRESULT CScene_MultiGameJoinLoad::OnNotifyPressEx(HXUIOBJ hObjPressed, XUINotify
|
||||
CXuiCtrl4JList::LIST_ITEM_INFO info = m_pSavesList->GetData(iIndex);
|
||||
|
||||
if(iIndex == JOIN_LOAD_CREATE_BUTTON_INDEX)
|
||||
{
|
||||
{
|
||||
app.SetTutorialMode( false );
|
||||
m_NetGamesListTimer.SetShow( FALSE );
|
||||
|
||||
@@ -571,7 +570,7 @@ HRESULT CScene_MultiGameJoinLoad::OnNotifyPressEx(HXUIOBJ hObjPressed, XUINotify
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
{
|
||||
// check if this is a damaged save
|
||||
if(m_pSavesList->GetData(iIndex).bIsDamaged)
|
||||
{
|
||||
@@ -582,7 +581,7 @@ HRESULT CScene_MultiGameJoinLoad::OnNotifyPressEx(HXUIOBJ hObjPressed, XUINotify
|
||||
StorageManager.RequestMessageBox(IDS_CORRUPT_OR_DAMAGED_SAVE_TITLE, IDS_CORRUPT_OR_DAMAGED_SAVE_TEXT, uiIDA, 2, pNotifyPressData->UserIndex,&CScene_MultiGameJoinLoad::DeleteSaveDialogReturned,this, app.GetStringTable());
|
||||
}
|
||||
else
|
||||
{
|
||||
{
|
||||
app.SetTutorialMode( false );
|
||||
if(app.DebugSettingsOn() && app.GetLoadSavesFromFolderEnabled())
|
||||
{
|
||||
@@ -605,7 +604,7 @@ HRESULT CScene_MultiGameJoinLoad::OnNotifyPressEx(HXUIOBJ hObjPressed, XUINotify
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
@@ -632,11 +631,11 @@ HRESULT CScene_MultiGameJoinLoad::OnKeyDown(XUIMessageInput* pInputData, BOOL& r
|
||||
|
||||
app.NavigateBack(XUSER_INDEX_ANY);
|
||||
rfHandled = TRUE;
|
||||
break;
|
||||
break;
|
||||
case VK_PAD_X:
|
||||
|
||||
// Change device
|
||||
// Fix for #12531 - TCR 001: BAS Game Stability: When a player selects to change a storage
|
||||
// Fix for #12531 - TCR 001: BAS Game Stability: When a player selects to change a storage
|
||||
// device, and repeatedly backs out of the SD screen, disconnects from LIVE, and then selects a SD, the title crashes.
|
||||
m_bIgnoreInput=true;
|
||||
StorageManager.SetSaveDevice(&CScene_MultiGameJoinLoad::DeviceSelectReturned,this,true);
|
||||
@@ -657,7 +656,7 @@ HRESULT CScene_MultiGameJoinLoad::OnKeyDown(XUIMessageInput* pInputData, BOOL& r
|
||||
{
|
||||
// save transfer - make sure they want to overwrite a save that is up there
|
||||
if(ProfileManager.IsSignedInLive( m_iPad ))
|
||||
{
|
||||
{
|
||||
// 4J-PB - required for a delete of the save if it's found to be a corrupted save
|
||||
DWORD nIndex = m_pSavesList->GetCurSel();
|
||||
m_iChangingSaveGameInfoIndex=m_pSavesList->GetData(nIndex).iIndex;
|
||||
@@ -668,13 +667,13 @@ HRESULT CScene_MultiGameJoinLoad::OnKeyDown(XUIMessageInput* pInputData, BOOL& r
|
||||
|
||||
ui.RequestMessageBox(IDS_SAVE_TRANSFER_TITLE, IDS_SAVE_TRANSFER_TEXT, uiIDA, 2, pInputData->UserIndex,&CScene_MultiGameJoinLoad::SaveTransferDialogReturned,this, app.GetStringTable());
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
case VK_PAD_RSHOULDER:
|
||||
if(DoesSavesListHaveFocus())
|
||||
{
|
||||
m_bIgnoreInput = true;
|
||||
|
||||
|
||||
int iIndex=m_SavesList.GetCurSel();
|
||||
m_iChangingSaveGameInfoIndex=m_pSavesList->GetData(iIndex).iIndex;
|
||||
|
||||
@@ -755,19 +754,19 @@ HRESULT CScene_MultiGameJoinLoad::OnKeyDown(XUIMessageInput* pInputData, BOOL& r
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
return hr;
|
||||
}
|
||||
|
||||
HRESULT CScene_MultiGameJoinLoad::OnNavReturn(HXUIOBJ hSceneFrom,BOOL& rfHandled)
|
||||
{
|
||||
|
||||
|
||||
CXuiSceneBase::ShowLogo( DEFAULT_XUI_MENU_USER, TRUE );
|
||||
// start the texture pack timer again
|
||||
XuiSetTimer(m_hObj,CHECKFORAVAILABLETEXTUREPACKS_TIMER_ID,CHECKFORAVAILABLETEXTUREPACKS_TIMER_TIME);
|
||||
|
||||
m_bMultiplayerAllowed = ProfileManager.IsSignedInLive( m_iPad ) && ProfileManager.AllowedToPlayMultiplayer(m_iPad);
|
||||
|
||||
m_bMultiplayerAllowed = ProfileManager.IsSignedInLive( m_iPad ) && ProfileManager.AllowedToPlayMultiplayer(m_iPad);
|
||||
|
||||
// re-enable button presses
|
||||
m_bIgnoreInput=false;
|
||||
|
||||
@@ -812,7 +811,7 @@ HRESULT CScene_MultiGameJoinLoad::OnNavReturn(HXUIOBJ hSceneFrom,BOOL& rfHandled
|
||||
iY = IDS_TOOLTIPS_VIEW_GAMERCARD;
|
||||
}
|
||||
else if(DoesSavesListHaveFocus())
|
||||
{
|
||||
{
|
||||
if(ProfileManager.IsSignedInLive( m_iPad ))
|
||||
{
|
||||
iY=IDS_TOOLTIPS_UPLOAD_SAVE_FOR_XBOXONE;
|
||||
@@ -901,7 +900,7 @@ HRESULT CScene_MultiGameJoinLoad::OnTransitionStart( XUIMessageTransition *pTran
|
||||
if(pTransition->dwTransType == XUI_TRANSITION_BACKTO)
|
||||
{
|
||||
// Can't call this here because if you back out of the load info screen and then go back in and load a game, it will attempt to use the dlc as it's running a mount of the dlc
|
||||
|
||||
|
||||
// block input if we're waiting for DLC to install, and wipe the saves list. The end of dlc mounting custom message will fill the list again
|
||||
if(app.StartInstallDLCProcess(m_iPad)==false)
|
||||
{
|
||||
@@ -925,14 +924,14 @@ HRESULT CScene_MultiGameJoinLoad::OnFontRendererChange()
|
||||
// update the tooltips
|
||||
// if the saves list has focus, then we should show the Delete Save tooltip
|
||||
// if the games list has focus, then we should the the View Gamercard tooltip
|
||||
int iRB=-1;
|
||||
int iRB=-1;
|
||||
int iY = -1;
|
||||
if( DoesGamesListHaveFocus() )
|
||||
{
|
||||
iY = IDS_TOOLTIPS_VIEW_GAMERCARD;
|
||||
}
|
||||
}
|
||||
else if(DoesSavesListHaveFocus())
|
||||
{
|
||||
{
|
||||
if(ProfileManager.IsSignedInLive( m_iPad ))
|
||||
{
|
||||
iY=IDS_TOOLTIPS_UPLOAD_SAVE_FOR_XBOXONE;
|
||||
@@ -986,12 +985,12 @@ HRESULT CScene_MultiGameJoinLoad::OnNotifySetFocus(HXUIOBJ hObjSource, XUINotify
|
||||
// update the tooltips
|
||||
// if the saves list has focus, then we should show the Delete Save tooltip
|
||||
// if the games list has focus, then we should the the View Gamercard tooltip
|
||||
int iRB=-1;
|
||||
int iRB=-1;
|
||||
int iY = -1;
|
||||
if( DoesGamesListHaveFocus() )
|
||||
{
|
||||
iY = IDS_TOOLTIPS_VIEW_GAMERCARD;
|
||||
}
|
||||
}
|
||||
else if(DoesSavesListHaveFocus())
|
||||
{
|
||||
if(ProfileManager.IsSignedInLive( m_iPad ))
|
||||
@@ -1118,7 +1117,7 @@ void CScene_MultiGameJoinLoad::UpdateGamesListCallback(LPVOID lpParam)
|
||||
// check this there's no save transfer in progress
|
||||
if(!pClass->m_bSaveTransferInProgress)
|
||||
{
|
||||
pClass->UpdateGamesList();
|
||||
pClass->UpdateGamesList();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1145,17 +1144,17 @@ void CScene_MultiGameJoinLoad::UpdateGamesList()
|
||||
if( pSelectedSession != NULL )selectedSessionId = pSelectedSession->sessionId;
|
||||
pSelectedSession = NULL;
|
||||
|
||||
for(AUTO_VAR(it, currentSessions.begin()); it < currentSessions.end(); ++it)
|
||||
{
|
||||
delete (*it);
|
||||
for (auto& it : currentSessions )
|
||||
{
|
||||
delete it;
|
||||
}
|
||||
currentSessions.clear();
|
||||
|
||||
|
||||
m_NetGamesListTimer.SetShow( FALSE );
|
||||
|
||||
|
||||
// if the saves list has focus, then we should show the Delete Save tooltip
|
||||
// if the games list has focus, then we should show the View Gamercard tooltip
|
||||
int iRB=-1;
|
||||
int iRB=-1;
|
||||
int iY = -1;
|
||||
|
||||
if( DoesGamesListHaveFocus() )
|
||||
@@ -1163,7 +1162,7 @@ void CScene_MultiGameJoinLoad::UpdateGamesList()
|
||||
iY = IDS_TOOLTIPS_VIEW_GAMERCARD;
|
||||
}
|
||||
else if(DoesSavesListHaveFocus())
|
||||
{
|
||||
{
|
||||
if(ProfileManager.IsSignedInLive( m_iPad ))
|
||||
{
|
||||
iY=IDS_TOOLTIPS_UPLOAD_SAVE_FOR_XBOXONE;
|
||||
@@ -1248,9 +1247,8 @@ void CScene_MultiGameJoinLoad::UpdateGamesList()
|
||||
unsigned int sessionIndex = 0;
|
||||
m_pGamesList->SetCurSel(0);
|
||||
|
||||
for( AUTO_VAR(it, currentSessions.begin()); it < currentSessions.end(); ++it)
|
||||
{
|
||||
FriendSessionInfo *sessionInfo = *it;
|
||||
for ( FriendSessionInfo *sessionInfo : currentSessions )
|
||||
{
|
||||
HXUIBRUSH hXuiBrush;
|
||||
CXuiCtrl4JList::LIST_ITEM_INFO ListInfo;
|
||||
|
||||
@@ -1282,7 +1280,7 @@ void CScene_MultiGameJoinLoad::UpdateGamesList()
|
||||
// is it in the tpd data ?
|
||||
app.GetFileFromTPD(eTPDFileType_Icon,pbData,dwBytes,&pbImageData,&dwImageBytes );
|
||||
if(dwImageBytes > 0 && pbImageData)
|
||||
{
|
||||
{
|
||||
hr=XuiCreateTextureBrushFromMemory(pbImageData,dwImageBytes,&hXuiBrush);
|
||||
m_pGamesList->UpdateGraphic(sessionIndex,hXuiBrush);
|
||||
}
|
||||
@@ -1291,7 +1289,7 @@ void CScene_MultiGameJoinLoad::UpdateGamesList()
|
||||
{
|
||||
pbImageData = tp->getPackIcon(dwImageBytes);
|
||||
if(dwImageBytes > 0 && pbImageData)
|
||||
{
|
||||
{
|
||||
hr=XuiCreateTextureBrushFromMemory(pbImageData,dwImageBytes,&hXuiBrush);
|
||||
m_pGamesList->UpdateGraphic(sessionIndex,hXuiBrush);
|
||||
}
|
||||
@@ -1303,7 +1301,7 @@ void CScene_MultiGameJoinLoad::UpdateGamesList()
|
||||
XuiCreateTextureBrushFromMemory(m_DefaultMinecraftIconData,m_DefaultMinecraftIconSize,&hXuiBrush);
|
||||
m_pGamesList->UpdateGraphic(sessionIndex,hXuiBrush);
|
||||
}
|
||||
|
||||
|
||||
|
||||
if(memcmp( &selectedSessionId, &sessionInfo->sessionId, sizeof(SessionID) ) == 0)
|
||||
{
|
||||
@@ -1324,14 +1322,14 @@ void CScene_MultiGameJoinLoad::UpdateGamesList(DWORD dwNumResults, IQNetGameSear
|
||||
|
||||
if(m_searches>0)
|
||||
--m_searches;
|
||||
|
||||
|
||||
if(m_searches==0)
|
||||
{
|
||||
m_NetGamesListTimer.SetShow( FALSE );
|
||||
|
||||
|
||||
// if the saves list has focus, then we should show the Delete Save tooltip
|
||||
// if the games list has focus, then we should show the View Gamercard tooltip
|
||||
int iRB=-1;
|
||||
int iRB=-1;
|
||||
int iY = -1;
|
||||
|
||||
if( DoesGamesListHaveFocus() )
|
||||
@@ -1374,7 +1372,7 @@ void CScene_MultiGameJoinLoad::UpdateGamesList(DWORD dwNumResults, IQNetGameSear
|
||||
}
|
||||
|
||||
unsigned int startOffset = m_GamesList.GetItemCount();
|
||||
//m_GamesList.InsertItems(startOffset,dwNumResults);
|
||||
//m_GamesList.InsertItems(startOffset,dwNumResults);
|
||||
//m_GamesList.SetEnable(TRUE);
|
||||
//XuiElementSetDisableFocusRecursion( m_GamesList.m_hObj, FALSE);
|
||||
|
||||
@@ -1390,7 +1388,7 @@ void CScene_MultiGameJoinLoad::UpdateGamesList(DWORD dwNumResults, IQNetGameSear
|
||||
|
||||
FriendSessionInfo *sessionInfo = NULL;
|
||||
bool foundSession = false;
|
||||
for(AUTO_VAR(it, friendsSessions.begin()); it < friendsSessions.end(); ++it)
|
||||
for( auto it = friendsSessions.begin(); it != friendsSessions.end(); ++it)
|
||||
{
|
||||
sessionInfo = *it;
|
||||
if(memcmp( &pSearchResult->info.sessionID, &sessionInfo->sessionId, sizeof(SessionID) ) == 0)
|
||||
@@ -1449,7 +1447,7 @@ void CScene_MultiGameJoinLoad::UpdateGamesList(DWORD dwNumResults, IQNetGameSear
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if( m_GamesList.GetItemCount() == 0)
|
||||
{
|
||||
m_LabelNoGames.SetShow( TRUE );
|
||||
@@ -1537,14 +1535,14 @@ int CScene_MultiGameJoinLoad::DeviceSelectReturned(void *pParam,bool bContinue)
|
||||
{
|
||||
// if the saves list has focus, then we should show the Delete Save tooltip
|
||||
// if the games list has focus, then we should show the View Gamercard tooltip
|
||||
int iRB=-1;
|
||||
int iRB=-1;
|
||||
int iY = -1;
|
||||
if( pClass->DoesGamesListHaveFocus() )
|
||||
{
|
||||
iY = IDS_TOOLTIPS_VIEW_GAMERCARD;
|
||||
}
|
||||
else if(pClass->DoesSavesListHaveFocus())
|
||||
{
|
||||
{
|
||||
if(ProfileManager.IsSignedInLive( pClass->m_iPad ))
|
||||
{
|
||||
iY=IDS_TOOLTIPS_UPLOAD_SAVE_FOR_XBOXONE;
|
||||
@@ -1593,7 +1591,7 @@ int CScene_MultiGameJoinLoad::DeviceSelectReturned(void *pParam,bool bContinue)
|
||||
pClass->GetSaveInfo();
|
||||
}
|
||||
else
|
||||
{
|
||||
{
|
||||
ui.SetTooltips( DEFAULT_XUI_MENU_USER, IDS_TOOLTIPS_SELECT,IDS_TOOLTIPS_BACK,IDS_TOOLTIPS_SELECTDEVICE,iY,-1,-1,iLB,iRB);
|
||||
// clear the saves list
|
||||
pClass->m_pSavesList->RemoveAllData();
|
||||
@@ -1623,11 +1621,11 @@ int CScene_MultiGameJoinLoad::DeviceSelectReturned(void *pParam,bool bContinue)
|
||||
|
||||
HRESULT CScene_MultiGameJoinLoad::OnTimer( XUIMessageTimer *pTimer, BOOL& bHandled )
|
||||
{
|
||||
// 4J-PB - TODO - Don't think we can do this - if a 2nd player signs in here with an offline profile, the signed in LIVE player gets re-logged in, and bMultiplayerAllowed is false briefly
|
||||
// 4J-PB - TODO - Don't think we can do this - if a 2nd player signs in here with an offline profile, the signed in LIVE player gets re-logged in, and bMultiplayerAllowed is false briefly
|
||||
switch(pTimer->nId)
|
||||
{
|
||||
|
||||
|
||||
|
||||
case JOIN_LOAD_ONLINE_TIMER_ID:
|
||||
{
|
||||
XPARTY_USER_LIST partyList;
|
||||
@@ -1673,7 +1671,7 @@ HRESULT CScene_MultiGameJoinLoad::OnTimer( XUIMessageTimer *pTimer, BOOL& bHandl
|
||||
{
|
||||
}
|
||||
else if(DoesSavesListHaveFocus())
|
||||
{
|
||||
{
|
||||
if(ProfileManager.IsSignedInLive( m_iPad ))
|
||||
{
|
||||
iY=IDS_TOOLTIPS_UPLOAD_SAVE_FOR_XBOXONE;
|
||||
@@ -1737,7 +1735,7 @@ HRESULT CScene_MultiGameJoinLoad::OnTimer( XUIMessageTimer *pTimer, BOOL& bHandl
|
||||
|
||||
//CXuiCtrl4JList::LIST_ITEM_INFO ListInfo;
|
||||
// for each iConfig, check if the data is available, and add it to the List, then remove it from the viConfig
|
||||
|
||||
|
||||
for(int i=0;i<m_iTexturePacksNotInstalled;i++)
|
||||
{
|
||||
if(m_iConfigA[i]!=-1)
|
||||
@@ -1760,7 +1758,7 @@ HRESULT CScene_MultiGameJoinLoad::OnTimer( XUIMessageTimer *pTimer, BOOL& bHandl
|
||||
bool bAllDone=true;
|
||||
for(int i=0;i<m_iTexturePacksNotInstalled;i++)
|
||||
{
|
||||
if(m_iConfigA[i]!=-1)
|
||||
if(m_iConfigA[i]!=-1)
|
||||
{
|
||||
bAllDone = false;
|
||||
}
|
||||
@@ -1878,25 +1876,25 @@ int CScene_MultiGameJoinLoad::DeleteSaveDataReturned(void *pParam,bool bSuccess)
|
||||
pClass->m_iSaveInfoC=0;
|
||||
pClass->GetSaveInfo();
|
||||
}
|
||||
|
||||
|
||||
pClass->m_bIgnoreInput=false;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void CScene_MultiGameJoinLoad::LoadLevelGen(LevelGenerationOptions *levelGen)
|
||||
{
|
||||
{
|
||||
// Load data from disc
|
||||
//File saveFile( L"Tutorial\\Tutorial" );
|
||||
//LoadSaveFromDisk(&saveFile);
|
||||
|
||||
// clear out the app's terrain features list
|
||||
app.ClearTerrainFeaturePosition();
|
||||
|
||||
|
||||
StorageManager.ResetSaveData();
|
||||
// Make our next save default to the name of the level
|
||||
StorageManager.SetSaveTitle(levelGen->getDefaultSaveName().c_str());
|
||||
|
||||
|
||||
bool isClientSide = false;
|
||||
bool isPrivate = false;
|
||||
int maxPlayers = MINECRAFT_NET_MAX_PLAYERS;
|
||||
@@ -1918,7 +1916,7 @@ void CScene_MultiGameJoinLoad::LoadLevelGen(LevelGenerationOptions *levelGen)
|
||||
if(levelGen->requiresTexturePack())
|
||||
{
|
||||
param->texturePackId = levelGen->getRequiredTexturePackId();
|
||||
|
||||
|
||||
Minecraft *pMinecraft = Minecraft::GetInstance();
|
||||
pMinecraft->skins->selectTexturePackById(param->texturePackId);
|
||||
//pMinecraft->skins->updateUI();
|
||||
@@ -1939,7 +1937,7 @@ void CScene_MultiGameJoinLoad::LoadLevelGen(LevelGenerationOptions *levelGen)
|
||||
}
|
||||
|
||||
void CScene_MultiGameJoinLoad::LoadSaveFromDisk(File *saveFile)
|
||||
{
|
||||
{
|
||||
// we'll only be coming in here when the tutorial is loaded now
|
||||
|
||||
StorageManager.ResetSaveData();
|
||||
@@ -1952,7 +1950,7 @@ void CScene_MultiGameJoinLoad::LoadSaveFromDisk(File *saveFile)
|
||||
byteArray ba(fileSize);
|
||||
fis.read(ba);
|
||||
fis.close();
|
||||
|
||||
|
||||
bool isClientSide = false;
|
||||
bool isPrivate = false;
|
||||
int maxPlayers = MINECRAFT_NET_MAX_PLAYERS;
|
||||
@@ -1962,7 +1960,7 @@ void CScene_MultiGameJoinLoad::LoadSaveFromDisk(File *saveFile)
|
||||
isClientSide = false;
|
||||
maxPlayers = 4;
|
||||
}
|
||||
|
||||
|
||||
app.SetGameHostOption(eGameHostOption_GameType,GameType::CREATIVE->getId());
|
||||
|
||||
g_NetworkManager.HostGame(0,isClientSide,isPrivate,maxPlayers,0);
|
||||
@@ -1992,7 +1990,7 @@ int CScene_MultiGameJoinLoad::DeleteSaveDialogReturned(void *pParam,int iPad,C4J
|
||||
{
|
||||
CScene_MultiGameJoinLoad* pClass = (CScene_MultiGameJoinLoad*)pParam;
|
||||
// results switched for this dialog
|
||||
if(result==C4JStorage::EMessage_ResultDecline)
|
||||
if(result==C4JStorage::EMessage_ResultDecline)
|
||||
{
|
||||
if(app.DebugSettingsOn() && app.GetLoadSavesFromFolderEnabled())
|
||||
{
|
||||
@@ -2017,7 +2015,7 @@ int CScene_MultiGameJoinLoad::SaveTransferDialogReturned(void *pParam,int iPad,C
|
||||
{
|
||||
CScene_MultiGameJoinLoad* pClass = (CScene_MultiGameJoinLoad*)pParam;
|
||||
// results switched for this dialog
|
||||
if(result==C4JStorage::EMessage_ResultAccept)
|
||||
if(result==C4JStorage::EMessage_ResultAccept)
|
||||
{
|
||||
// upload the save
|
||||
|
||||
@@ -2042,7 +2040,7 @@ int CScene_MultiGameJoinLoad::SaveTransferDialogReturned(void *pParam,int iPad,C
|
||||
int CScene_MultiGameJoinLoad::UploadSaveForXboxOneThreadProc( LPVOID lpParameter )
|
||||
{
|
||||
CScene_MultiGameJoinLoad* pClass = (CScene_MultiGameJoinLoad *) lpParameter;
|
||||
Minecraft *pMinecraft = Minecraft::GetInstance();
|
||||
Minecraft *pMinecraft = Minecraft::GetInstance();
|
||||
|
||||
pMinecraft->progressRenderer->progressStart(IDS_SAVE_TRANSFER_TITLE);
|
||||
pMinecraft->progressRenderer->progressStage( IDS_SAVE_TRANSFER_UPLOADING );
|
||||
@@ -2092,7 +2090,7 @@ int CScene_MultiGameJoinLoad::UploadSaveForXboxOneThreadProc( LPVOID lpParameter
|
||||
StorageManager.GetSaveCacheFileInfo(iIndex,XContentData);
|
||||
StorageManager.GetSaveCacheFileInfo(iIndex,&pbImageData,&dwImageBytes);
|
||||
|
||||
// if there is no thumbnail, retrieve the default one from the file.
|
||||
// if there is no thumbnail, retrieve the default one from the file.
|
||||
// Don't delete the image data after creating the xuibrush, since we'll use it in the rename of the save
|
||||
if(pbImageData==NULL)
|
||||
{
|
||||
@@ -2143,7 +2141,7 @@ int CScene_MultiGameJoinLoad::UploadSaveForXboxOneThreadProc( LPVOID lpParameter
|
||||
|
||||
return 0;
|
||||
}
|
||||
// change text for completion confirmation
|
||||
// change text for completion confirmation
|
||||
pMinecraft->progressRenderer->progressStage( IDS_SAVE_TRANSFER_UPLOADCOMPLETE );
|
||||
|
||||
// done
|
||||
@@ -2180,7 +2178,7 @@ void CScene_MultiGameJoinLoad::UploadFile(CScene_MultiGameJoinLoad *pClass, char
|
||||
C4JStorage::TMS_FILETYPE_BINARY,
|
||||
C4JStorage::TMS_UGCTYPE_NONE,
|
||||
filename,
|
||||
(CHAR *)data,
|
||||
(CHAR *)data,
|
||||
size,
|
||||
&CScene_MultiGameJoinLoad::TransferComplete,pClass, 0,
|
||||
&CScene_MultiGameJoinLoad::Progress,pClass);
|
||||
@@ -2219,7 +2217,7 @@ bool CScene_MultiGameJoinLoad::WaitForTransferComplete( CScene_MultiGameJoinLoad
|
||||
// cancelled
|
||||
return false;
|
||||
}
|
||||
Sleep(50);
|
||||
Sleep(50);
|
||||
// update the progress
|
||||
pMinecraft->progressRenderer->progressStagePercentage((unsigned int)(pClass->m_fProgress*100.0f));
|
||||
}
|
||||
@@ -2235,7 +2233,7 @@ int CScene_MultiGameJoinLoad::SaveOptionsDialogReturned(void *pParam,int iPad,C4
|
||||
|
||||
// results switched for this dialog
|
||||
// EMessage_ResultAccept means cancel
|
||||
if(result==C4JStorage::EMessage_ResultDecline || result==C4JStorage::EMessage_ResultThirdOption)
|
||||
if(result==C4JStorage::EMessage_ResultDecline || result==C4JStorage::EMessage_ResultThirdOption)
|
||||
{
|
||||
if(result==C4JStorage::EMessage_ResultDecline) // rename
|
||||
{
|
||||
@@ -2302,9 +2300,9 @@ int CScene_MultiGameJoinLoad::LoadSaveDataReturned(void *pParam,bool bContinue)
|
||||
UINT uiIDA[2];
|
||||
uiIDA[0]=IDS_CONFIRM_CANCEL;
|
||||
uiIDA[1]=IDS_CONFIRM_OK;
|
||||
StorageManager.RequestMessageBox(IDS_CORRUPT_OR_DAMAGED_SAVE_TITLE, IDS_CORRUPT_OR_DAMAGED_SAVE_TEXT, uiIDA, 2,
|
||||
StorageManager.RequestMessageBox(IDS_CORRUPT_OR_DAMAGED_SAVE_TITLE, IDS_CORRUPT_OR_DAMAGED_SAVE_TEXT, uiIDA, 2,
|
||||
pClass->m_iPad,&CScene_MultiGameJoinLoad::DeleteSaveDialogReturned,pClass, app.GetStringTable());
|
||||
|
||||
|
||||
}
|
||||
|
||||
return 0;
|
||||
@@ -2366,7 +2364,7 @@ int CScene_MultiGameJoinLoad::KeyboardReturned(void *pParam,bool bSet)
|
||||
|
||||
if(eLoadStatus==C4JStorage::ELoadGame_DeviceRemoved)
|
||||
{
|
||||
// disable saving
|
||||
// disable saving
|
||||
StorageManager.SetSaveDisabled(true);
|
||||
StorageManager.SetSaveDeviceSelected(ProfileManager.GetPrimaryPad(),false);
|
||||
UINT uiIDA[1];
|
||||
@@ -2375,11 +2373,11 @@ int CScene_MultiGameJoinLoad::KeyboardReturned(void *pParam,bool bSet)
|
||||
}
|
||||
#else
|
||||
// rename the save
|
||||
|
||||
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
{
|
||||
pClass->m_bIgnoreInput=false;
|
||||
}
|
||||
|
||||
@@ -2400,7 +2398,7 @@ int CScene_MultiGameJoinLoad::LoadSaveDataForRenameReturned(void *pParam,bool bC
|
||||
StorageManager.GetSaveCacheFileInfo(pClass->m_iChangingSaveGameInfoIndex-pClass->m_iDefaultButtonsC,XContentData);
|
||||
StorageManager.GetSaveCacheFileInfo(pClass->m_iChangingSaveGameInfoIndex-pClass->m_iDefaultButtonsC,&pbImageData,&dwImageBytes);
|
||||
|
||||
// if there is no thumbnail, retrieve the default one from the file.
|
||||
// if there is no thumbnail, retrieve the default one from the file.
|
||||
// Don't delete the image data after creating the xuibrush, since we'll use it in the rename of the save
|
||||
if(pbImageData==NULL)
|
||||
{
|
||||
@@ -2456,7 +2454,7 @@ int CScene_MultiGameJoinLoad::TexturePackDialogReturned(void *pParam,int iPad,C4
|
||||
|
||||
// Exit with or without saving
|
||||
// Decline means install full version of the texture pack in this dialog
|
||||
if(result==C4JStorage::EMessage_ResultDecline || result==C4JStorage::EMessage_ResultAccept)
|
||||
if(result==C4JStorage::EMessage_ResultDecline || result==C4JStorage::EMessage_ResultAccept)
|
||||
{
|
||||
// we need to enable background downloading for the DLC
|
||||
XBackgroundDownloadSetMode(XBACKGROUND_DOWNLOAD_MODE_ALWAYS_ALLOW);
|
||||
@@ -2480,7 +2478,7 @@ int CScene_MultiGameJoinLoad::TexturePackDialogReturned(void *pParam,int iPad,C4
|
||||
ullIndexA[0]=pDLCInfo->ullOfferID_Trial;
|
||||
StorageManager.InstallOffer(1,ullIndexA,NULL,NULL);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
pClass->m_bIgnoreInput=false;
|
||||
return 0;
|
||||
@@ -2489,7 +2487,7 @@ int CScene_MultiGameJoinLoad::TexturePackDialogReturned(void *pParam,int iPad,C4
|
||||
HRESULT CScene_MultiGameJoinLoad::OnCustomMessage_DLCInstalled()
|
||||
{
|
||||
// mounted DLC may have changed
|
||||
|
||||
|
||||
if(app.StartInstallDLCProcess(m_iPad)==false)
|
||||
{
|
||||
// not doing a mount, so re-enable input
|
||||
@@ -2508,7 +2506,7 @@ HRESULT CScene_MultiGameJoinLoad::OnCustomMessage_DLCInstalled()
|
||||
}
|
||||
|
||||
HRESULT CScene_MultiGameJoinLoad::OnCustomMessage_DLCMountingComplete()
|
||||
{
|
||||
{
|
||||
|
||||
VOID *pObj;
|
||||
XuiObjectFromHandle( m_SavesList, &pObj );
|
||||
@@ -2534,7 +2532,7 @@ HRESULT CScene_MultiGameJoinLoad::OnCustomMessage_DLCMountingComplete()
|
||||
|
||||
int iY=-1;
|
||||
if(DoesSavesListHaveFocus())
|
||||
{
|
||||
{
|
||||
if(ProfileManager.IsSignedInLive( m_iPad ))
|
||||
{
|
||||
iY=IDS_TOOLTIPS_UPLOAD_SAVE_FOR_XBOXONE;
|
||||
@@ -2627,7 +2625,7 @@ void CScene_MultiGameJoinLoad::UpdateTooltips()
|
||||
// 4J-PB - we need to check that there is enough space left to create a copy of the save (for a rename)
|
||||
bool bCanRename = StorageManager.EnoughSpaceForAMinSaveGame();
|
||||
|
||||
if(bCanRename)
|
||||
if(bCanRename)
|
||||
{
|
||||
iRB=IDS_TOOLTIPS_SAVEOPTIONS;
|
||||
}
|
||||
@@ -2694,11 +2692,11 @@ bool CScene_MultiGameJoinLoad::GetSavesInfoCallback(LPVOID pParam,int iTotalSave
|
||||
pbCurrentImagePtr=pbImageData+InfoA[i].dwImageOffset;
|
||||
hr=XuiCreateTextureBrushFromMemory(pbCurrentImagePtr,InfoA[i].dwImageBytes,&hXuiBrush);
|
||||
pClass->m_pSavesList->UpdateGraphic(i+pClass->m_iDefaultButtonsC,hXuiBrush );
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// we could put in a damaged save icon here
|
||||
const DWORD LOCATOR_SIZE = 256; // Use this to allocate space to hold a ResourceLocator string
|
||||
const DWORD LOCATOR_SIZE = 256; // Use this to allocate space to hold a ResourceLocator string
|
||||
WCHAR szResourceLocator[ LOCATOR_SIZE ];
|
||||
const ULONG_PTR c_ModuleHandle = (ULONG_PTR)GetModuleHandle(NULL);
|
||||
|
||||
@@ -2724,7 +2722,7 @@ bool CScene_MultiGameJoinLoad::GetSavesInfoCallback(LPVOID pParam,int iTotalSave
|
||||
// It's possible that the games list is updated but we haven't displayed it yet as we were still waiting on saves list to load
|
||||
// This is to fix a bug where joining a game before the saves list has loaded causes a crash when this callback is called
|
||||
// as the scene no longer exists
|
||||
pClass->UpdateGamesList();
|
||||
pClass->UpdateGamesList();
|
||||
|
||||
// Fix for #45154 - Frontend: DLC: Content can only be downloaded from the frontend if you have not joined/exited multiplayer
|
||||
XBackgroundDownloadSetMode(XBACKGROUND_DOWNLOAD_MODE_AUTO);
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
#include "XUI_Ctrl_SlotItem.h"
|
||||
#include "XUI_Ctrl_SlotItemListItem.h"
|
||||
#include "XUI_Scene_AbstractContainer.h"
|
||||
#ifdef _DEBUG_MENUS_ENABLED
|
||||
#ifdef _DEBUG_MENUS_ENABLED
|
||||
#include "XUI_DebugItemEditor.h"
|
||||
#endif
|
||||
|
||||
@@ -44,14 +44,14 @@ void CXuiSceneAbstractContainer::PlatformInitialize(int iPad, int startIndex)
|
||||
|
||||
// We may have varying depths of controls here, so base off the pointers parent
|
||||
HXUIOBJ parent;
|
||||
XuiElementGetBounds( m_pointerControl->m_hObj, &fPointerWidth, &fPointerHeight );
|
||||
XuiElementGetBounds( m_pointerControl->m_hObj, &fPointerWidth, &fPointerHeight );
|
||||
XuiElementGetParent( m_pointerControl->m_hObj, &parent );
|
||||
m_pointerControl->SetShow(TRUE);
|
||||
XuiElementGetBounds( parent, &fPanelWidth, &fPanelHeight );
|
||||
XuiElementGetBounds( parent, &fPanelWidth, &fPanelHeight );
|
||||
// Get size of pointer
|
||||
m_fPointerImageOffsetX = floor(fPointerWidth/2.0f);
|
||||
m_fPointerImageOffsetY = floor(fPointerHeight/2.0f);
|
||||
|
||||
|
||||
m_fPanelMinX = 0.0f;
|
||||
m_fPanelMaxX = fPanelWidth;
|
||||
m_fPanelMinY = 0.0f;
|
||||
@@ -97,13 +97,13 @@ void CXuiSceneAbstractContainer::PlatformInitialize(int iPad, int startIndex)
|
||||
m_pointerPos.x = newPointerPos.x;
|
||||
m_pointerPos.y = newPointerPos.y;
|
||||
|
||||
#ifdef USE_POINTER_ACCEL
|
||||
#ifdef USE_POINTER_ACCEL
|
||||
m_fPointerVelX = 0.0f;
|
||||
m_fPointerVelY = 0.0f;
|
||||
m_fPointerAccelX = 0.0f;
|
||||
m_fPointerAccelY = 0.0f;
|
||||
#endif
|
||||
|
||||
|
||||
// Add timer to poll controller stick input at 60Hz
|
||||
HRESULT timerResult = SetTimer( POINTER_INPUT_TIMER_ID, ( 1000 / 60 ) );
|
||||
assert( timerResult == S_OK );
|
||||
@@ -114,7 +114,7 @@ void CXuiSceneAbstractContainer::PlatformInitialize(int iPad, int startIndex)
|
||||
for ( int iSection = m_eFirstSection; iSection < m_eMaxSection; ++iSection )
|
||||
{
|
||||
ESceneSection eSection = ( ESceneSection )( iSection );
|
||||
|
||||
|
||||
if(!IsSectionSlotList(eSection)) continue;
|
||||
|
||||
// Get dimensions of this section.
|
||||
@@ -153,7 +153,7 @@ int CXuiSceneAbstractContainer::getSectionRows(ESceneSection eSection)
|
||||
return GetSectionSlotList( eSection )->GetRows();
|
||||
}
|
||||
|
||||
// Adding this so we can turn off the pointer text background, since it flickers on then off at the start of a scene where a tutorial popup is
|
||||
// Adding this so we can turn off the pointer text background, since it flickers on then off at the start of a scene where a tutorial popup is
|
||||
HRESULT CXuiSceneAbstractContainer::OnTransitionStart( XUIMessageTransition *pTransition, BOOL& bHandled )
|
||||
{
|
||||
if(pTransition->dwTransAction==XUI_TRANSITION_ACTION_DESTROY ) return S_OK;
|
||||
@@ -327,7 +327,7 @@ HRESULT CXuiSceneAbstractContainer::OnTimer( XUIMessageTimer *pTimer, BOOL& bHan
|
||||
// Update pointer from stick input on timer.
|
||||
if ( pTimer->nId == POINTER_INPUT_TIMER_ID )
|
||||
{
|
||||
|
||||
|
||||
onMouseTick();
|
||||
D3DXVECTOR3 pointerPos;
|
||||
pointerPos.x = m_pointerPos.x;
|
||||
@@ -348,7 +348,7 @@ HRESULT CXuiSceneAbstractContainer::OnTimer( XUIMessageTimer *pTimer, BOOL& bHan
|
||||
hr = handleCustomTimer( pTimer, bHandled );
|
||||
}
|
||||
return hr;
|
||||
}
|
||||
}
|
||||
|
||||
HRESULT CXuiSceneAbstractContainer::OnCustomMessage_Splitscreenplayer(bool bJoining, BOOL& bHandled)
|
||||
{
|
||||
@@ -388,15 +388,15 @@ void CXuiSceneAbstractContainer::SetPointerText(const wstring &description, vect
|
||||
}
|
||||
|
||||
bool smallPointer = m_bSplitscreen || (!RenderManager.IsHiDef() && !RenderManager.IsWidescreen());
|
||||
wstring desc = L"<font size=\"" + _toString<int>(smallPointer ? 12 :14) + L"\">" + description + L"</font>";
|
||||
wstring desc = L"<font size=\"" + std::to_wstring(smallPointer ? 12 :14) + L"\">" + description + L"</font>";
|
||||
|
||||
XUIRect tempXuiRect, xuiRect;
|
||||
HRESULT hr;
|
||||
xuiRect.right = 0;
|
||||
|
||||
for(AUTO_VAR(it, unformattedStrings.begin()); it != unformattedStrings.end(); ++it)
|
||||
{
|
||||
XuiTextPresenterMeasureText(m_hPointerTextMeasurer, parseXMLSpecials((*it)).c_str(), &tempXuiRect);
|
||||
for (auto& it : unformattedStrings )
|
||||
{
|
||||
XuiTextPresenterMeasureText(m_hPointerTextMeasurer, parseXMLSpecials(it).c_str(), &tempXuiRect);
|
||||
if(tempXuiRect.right > xuiRect.right) xuiRect = tempXuiRect;
|
||||
}
|
||||
|
||||
@@ -443,7 +443,7 @@ void CXuiSceneAbstractContainer::adjustPointerForSafeZone()
|
||||
D3DXVECTOR2 baseSceneOrigin;
|
||||
float baseWidth, baseHeight;
|
||||
if(CXuiSceneBase::GetBaseSceneSafeZone( m_iPad, baseSceneOrigin, baseWidth, baseHeight))
|
||||
{
|
||||
{
|
||||
D3DXMATRIX pointerBackgroundMatrix;
|
||||
XuiElementGetFullXForm( m_hPointerTextBkg, &pointerBackgroundMatrix);
|
||||
|
||||
|
||||
@@ -33,7 +33,7 @@ HRESULT CXuiSceneInventory::OnInit( XUIMessageInit *pInitData, BOOL &bHandled )
|
||||
{
|
||||
if(m_bSplitscreen)
|
||||
{
|
||||
app.AdjustSplitscreenScene(m_hObj,&m_OriginalPosition,m_iPad);
|
||||
app.AdjustSplitscreenScene(m_hObj,&m_OriginalPosition,m_iPad);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -57,7 +57,7 @@ HRESULT CXuiSceneInventory::OnInit( XUIMessageInit *pInitData, BOOL &bHandled )
|
||||
initData->player->awardStat(GenericStats::openInventory(), GenericStats::param_noArgs());
|
||||
|
||||
CXuiSceneAbstractContainer::Initialize( initData->iPad, menu, false, InventoryMenu::INV_SLOT_START, eSectionInventoryUsing, eSectionInventoryMax, initData->bNavigateBack );
|
||||
|
||||
|
||||
delete initData;
|
||||
|
||||
float fWidth;
|
||||
@@ -86,7 +86,7 @@ HRESULT CXuiSceneInventory::OnDestroy()
|
||||
}
|
||||
|
||||
// 4J Stu - Fix for #11302 - TCR 001: Network Connectivity: Host crashed after being killed by the client while accessing a chest during burst packet loss.
|
||||
// We need to make sure that we call closeContainer() anytime this menu is closed, even if it is forced to close by some other reason (like the player dying)
|
||||
// We need to make sure that we call closeContainer() anytime this menu is closed, even if it is forced to close by some other reason (like the player dying)
|
||||
if(Minecraft::GetInstance()->localplayers[m_iPad] != NULL) Minecraft::GetInstance()->localplayers[m_iPad]->closeContainer();
|
||||
return S_OK;
|
||||
}
|
||||
@@ -176,8 +176,8 @@ void CXuiSceneInventory::updateEffectsDisplay()
|
||||
// Fill out details for display
|
||||
D3DXVECTOR3 position;
|
||||
m_hEffectDisplayA[0]->GetPosition(&position);
|
||||
AUTO_VAR(it, activeEffects->begin());
|
||||
for(unsigned int i = 0; i < MAX_EFFECTS; ++i)
|
||||
auto it = activeEffects->begin();
|
||||
for(unsigned int i = 0; i < MAX_EFFECTS; ++i)
|
||||
{
|
||||
if(it != activeEffects->end())
|
||||
{
|
||||
@@ -185,7 +185,7 @@ void CXuiSceneInventory::updateEffectsDisplay()
|
||||
|
||||
if(i > 0) position.y -= fNextEffectYOffset; // Stack from the bottom
|
||||
m_hEffectDisplayA[i]->SetPosition(&position);
|
||||
|
||||
|
||||
MobEffectInstance *effect = *it;
|
||||
|
||||
MobEffect *mobEffect = MobEffect::effects[effect->getId()];
|
||||
|
||||
@@ -19,11 +19,11 @@
|
||||
HRESULT CXuiSceneTrading::OnInit( XUIMessageInit* pInitData, BOOL& bHandled )
|
||||
{
|
||||
MapChildControls();
|
||||
|
||||
|
||||
//XuiControlSetText(m_villagerText,app.GetString(IDS_VILLAGER));
|
||||
XuiControlSetText(m_inventoryLabel,app.GetString(IDS_INVENTORY));
|
||||
XuiControlSetText(m_requiredLabel,app.GetString(IDS_REQUIRED_ITEMS_FOR_TRADE));
|
||||
|
||||
|
||||
|
||||
Minecraft *pMinecraft = Minecraft::GetInstance();
|
||||
|
||||
@@ -36,7 +36,7 @@ HRESULT CXuiSceneTrading::OnInit( XUIMessageInit* pInitData, BOOL& bHandled )
|
||||
|
||||
if(m_bSplitscreen)
|
||||
{
|
||||
app.AdjustSplitscreenScene(m_hObj,&m_OriginalPosition,m_iPad);
|
||||
app.AdjustSplitscreenScene(m_hObj,&m_OriginalPosition,m_iPad);
|
||||
}
|
||||
|
||||
if( pMinecraft->localgameModes[m_iPad] != NULL )
|
||||
@@ -65,7 +65,7 @@ HRESULT CXuiSceneTrading::OnInit( XUIMessageInit* pInitData, BOOL& bHandled )
|
||||
|
||||
// store the slot 0 highlight position
|
||||
m_tradingSelector.GetPosition(&m_vSelectorInitialPos);
|
||||
|
||||
|
||||
//app.SetRichPresenceContextValue(m_iPad,CONTEXT_GAME_STATE_FORGING);
|
||||
|
||||
XuiSetTimer(m_hObj,TRADING_UPDATE_TIMER_ID,TRADING_UPDATE_TIMER_TIME);
|
||||
@@ -86,7 +86,7 @@ HRESULT CXuiSceneTrading::OnDestroy()
|
||||
}
|
||||
|
||||
// 4J Stu - Fix for #11302 - TCR 001: Network Connectivity: Host crashed after being killed by the client while accessing a chest during burst packet loss.
|
||||
// We need to make sure that we call closeContainer() anytime this menu is closed, even if it is forced to close by some other reason (like the player dying)
|
||||
// We need to make sure that we call closeContainer() anytime this menu is closed, even if it is forced to close by some other reason (like the player dying)
|
||||
if(Minecraft::GetInstance()->localplayers[m_iPad] != NULL) Minecraft::GetInstance()->localplayers[m_iPad]->closeContainer();
|
||||
return S_OK;
|
||||
}
|
||||
@@ -270,15 +270,15 @@ void CXuiSceneTrading::setOfferDescription(const wstring &name, vector<wstring>
|
||||
}
|
||||
|
||||
bool smallPointer = m_bSplitscreen || (!RenderManager.IsHiDef() && !RenderManager.IsWidescreen());
|
||||
wstring desc = L"<font size=\"" + _toString<int>(smallPointer ? 12 :14) + L"\">" + name + L"</font>";
|
||||
wstring desc = L"<font size=\"" + std::to_wstring(smallPointer ? 12 :14) + L"\">" + name + L"</font>";
|
||||
|
||||
XUIRect tempXuiRect, xuiRect;
|
||||
HRESULT hr;
|
||||
xuiRect.right = 0;
|
||||
|
||||
for(AUTO_VAR(it, unformattedStrings.begin()); it != unformattedStrings.end(); ++it)
|
||||
{
|
||||
XuiTextPresenterMeasureText(m_hOfferInfoTextMeasurer, (*it).c_str(), &tempXuiRect);
|
||||
for (auto& it : unformattedStrings )
|
||||
{
|
||||
XuiTextPresenterMeasureText(m_hOfferInfoTextMeasurer, it.c_str(), &tempXuiRect);
|
||||
if(tempXuiRect.right > xuiRect.right) xuiRect = tempXuiRect;
|
||||
}
|
||||
|
||||
@@ -299,7 +299,7 @@ void CXuiSceneTrading::setOfferDescription(const wstring &name, vector<wstring>
|
||||
XuiElementSetBounds(m_hOfferInfoText,xuiRect.right+4.0f+4.0f,xuiRect.bottom+4.0f+4.0f); // edge graphics are 8 pixels, text is centred
|
||||
|
||||
m_offerInfoControl.SetShow(TRUE);
|
||||
|
||||
|
||||
D3DXVECTOR3 highlightPos, offerInfoPos;
|
||||
float highlightWidth, highlightHeight;
|
||||
m_tradingSelector.GetPosition(&highlightPos);
|
||||
|
||||
@@ -20,7 +20,7 @@ const float CScene_Win::PLAYER_SCROLL_SPEED = 3.0f;
|
||||
// Performs initialization tasks - retrieves controls.
|
||||
//----------------------------------------------------------------------------------
|
||||
HRESULT CScene_Win::OnInit( XUIMessageInit* pInitData, BOOL& bHandled )
|
||||
{
|
||||
{
|
||||
m_iPad = *(int *)pInitData->pvInitData;
|
||||
|
||||
m_bIgnoreInput = false;
|
||||
@@ -194,8 +194,8 @@ void CScene_Win::updateNoise()
|
||||
{
|
||||
Minecraft *pMinecraft = Minecraft::GetInstance();
|
||||
noiseString = noNoiseString;
|
||||
|
||||
int length = 0;
|
||||
|
||||
size_t length = 0;
|
||||
wchar_t replacements[64];
|
||||
wstring replaceString = L"";
|
||||
wchar_t randomChar = L'a';
|
||||
@@ -205,18 +205,18 @@ void CScene_Win::updateNoise()
|
||||
|
||||
wstring tag = L"{*NOISE*}";
|
||||
|
||||
AUTO_VAR(it, m_noiseLengths.begin());
|
||||
int found=(int)noiseString.find_first_of(L"{");
|
||||
auto it = m_noiseLengths.begin();
|
||||
size_t found = noiseString.find_first_of(L"{");
|
||||
while (found!=string::npos && it != m_noiseLengths.end() )
|
||||
{
|
||||
length = *it;
|
||||
++it;
|
||||
|
||||
replaceString = L"";
|
||||
for(int i = 0; i < length; ++i)
|
||||
for(size_t i = 0; i < length; ++i)
|
||||
{
|
||||
randomChar = SharedConstants::acceptableLetters[random->nextInt((int)SharedConstants::acceptableLetters.length())];
|
||||
|
||||
randomChar = SharedConstants::acceptableLetters[random->nextInt(SharedConstants::acceptableLetters.length())];
|
||||
|
||||
wstring randomCharStr = L"";
|
||||
randomCharStr.push_back(randomChar);
|
||||
if(randomChar == L'<')
|
||||
@@ -262,7 +262,7 @@ void CScene_Win::updateNoise()
|
||||
//ib.put(listPos + 256 + random->nextInt(2) + 8 + (darken ? 16 : 0));
|
||||
//ib.put(listPos + pos + 32);
|
||||
|
||||
found=(int)noiseString.find_first_of(L"{",found+1);
|
||||
found = noiseString.find_first_of(L"{",found+1);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -53,7 +53,7 @@ HRESULT CScene_TextEntry::OnNotifyValueChanged (HXUIOBJ hObjSource, XUINotifyVal
|
||||
if(pValueChangedData->nValue==10)
|
||||
{
|
||||
LPCWSTR pText = m_EditText.GetText();
|
||||
|
||||
|
||||
if(pText)
|
||||
{
|
||||
wstring wText = pText;
|
||||
@@ -61,7 +61,7 @@ HRESULT CScene_TextEntry::OnNotifyValueChanged (HXUIOBJ hObjSource, XUINotifyVal
|
||||
}
|
||||
|
||||
app.NavigateBack(m_iPad);
|
||||
rfHandled = TRUE;
|
||||
rfHandled = TRUE;
|
||||
}
|
||||
|
||||
return S_OK;
|
||||
@@ -86,7 +86,7 @@ HRESULT CScene_TextEntry::OnKeyDown(XUIMessageInput* pInputData, BOOL& rfHandled
|
||||
|
||||
app.NavigateBack(m_iPad);
|
||||
rfHandled = TRUE;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case VK_PAD_B:
|
||||
@@ -113,8 +113,8 @@ HRESULT CScene_TextEntry::InterpretString(wstring &wsText)
|
||||
swscanf_s(wsText.c_str(), L"%s", wchCommand,40);
|
||||
#endif
|
||||
|
||||
AUTO_VAR(it, m_CommandSet.find(wchCommand));
|
||||
if(it != m_CommandSet.end())
|
||||
auto it = m_CommandSet.find(wchCommand);
|
||||
if(it != m_CommandSet.end())
|
||||
{
|
||||
// found it
|
||||
|
||||
@@ -125,7 +125,7 @@ HRESULT CScene_TextEntry::InterpretString(wstring &wsText)
|
||||
case eCommand_Teleport:
|
||||
{
|
||||
int x,z;
|
||||
|
||||
|
||||
#ifdef __PS3__
|
||||
// 4J Stu - The Xbox version uses swscanf_s which isn't available in GCC.
|
||||
swscanf(wsText.c_str(), L"%40s%c%d%c%d", wchCommand,wchSep,&x,wchSep,&z);
|
||||
@@ -146,9 +146,9 @@ HRESULT CScene_TextEntry::InterpretString(wstring &wsText)
|
||||
}
|
||||
break;
|
||||
case eCommand_Give:
|
||||
{
|
||||
{
|
||||
int iItem,iCount;
|
||||
|
||||
|
||||
#ifdef __PS3__
|
||||
// 4J Stu - The Xbox version uses swscanf_s which isn't available in GCC.
|
||||
swscanf(wsText.c_str(), L"%40s%c%d%c%d", wchCommand,wchSep,&iItem,wchSep,&iCount);
|
||||
|
||||
Reference in New Issue
Block a user