mirror of
https://github.com/4jcraft/4jcraft.git
synced 2026-05-14 18:22:10 +00:00
more strings, UIScene fixes
This commit is contained in:
parent
1f333e93b3
commit
3640c97575
|
|
@ -7667,7 +7667,127 @@ You can upload a world save to the save transfer area using Minecraft: PlayStati
|
|||
<value>A network error has occurred. Exiting to Main Menu.</value>
|
||||
</data>
|
||||
|
||||
<data name="IDS_UNHIDE_MASHUP_WORLDS">
|
||||
<value>Show all Mash-up Worlds</value>
|
||||
</data>
|
||||
|
||||
<data name="IDS_TOOLTIPS_HIDE">
|
||||
<value>Hide</value>
|
||||
</data>
|
||||
|
||||
<data name="IDS_GAMENAME">
|
||||
<value>Minecraft: PlayStation®3 Edition</value>
|
||||
</data>
|
||||
|
||||
<data name="IDS_OPTIONSFILE">
|
||||
<value>Options</value>
|
||||
</data>
|
||||
|
||||
<data name="IDS_SAVECACHEFILE">
|
||||
<value>Save Cache</value>
|
||||
</data>
|
||||
|
||||
<data name="IDS_ERROR_NETWORK">
|
||||
<value>A network error has occurred.</value>
|
||||
</data>
|
||||
|
||||
<data name="IDS_ERROR_NETWORK_TITLE">
|
||||
<value>Network Error</value>
|
||||
</data>
|
||||
|
||||
<data name="IDS_ERROR_NETWORK_EXIT">
|
||||
<value>A network error has occurred. Exiting to Main Menu.</value>
|
||||
</data>
|
||||
|
||||
<data name="IDS_CHAT_RESTRICTION_UGC">
|
||||
<value>Online service is disabled on your Sony Entertainment Network account due to chat restrictions.</value>
|
||||
</data>
|
||||
|
||||
<data name="IDS_CONTENT_RESTRICTION">
|
||||
<value>Online service is disabled on your Sony Entertainment Network account due to parental control settings.</value>
|
||||
</data>
|
||||
|
||||
<data name="IDS_ONLINE_SERVICE_TITLE">
|
||||
<value>Online Service</value>
|
||||
</data>
|
||||
|
||||
<data name="IDS_ERROR_PSN_SIGN_OUT">
|
||||
<value>You have been signed out from the "PSN". Online features of the game will not be available until you sign back into the "PSN".</value>
|
||||
</data>
|
||||
|
||||
<data name="IDS_ERROR_PSN_SIGN_OUT_EXIT">
|
||||
<value>You have been signed out from the "PSN". Online features of the game will not be available until you sign back into the "PSN". Exiting to Main Menu.</value>
|
||||
</data>
|
||||
|
||||
<data name="IDS_PLAYER_LIST_TITLE">
|
||||
<value>Choose user for player %d (or cancel to play as guest)</value>
|
||||
</data>
|
||||
|
||||
<data name="IDS_DLC_PRICE_FREE">
|
||||
<value>Free</value>
|
||||
</data>
|
||||
|
||||
<data name="IDS_CORRUPT_OPTIONS">
|
||||
<value>Your Options file is corrupt and needs to be deleted.</value>
|
||||
</data>
|
||||
|
||||
<data name="IDS_CORRUPT_OPTIONS_DELETE">
|
||||
<value>Delete options file.</value>
|
||||
</data>
|
||||
|
||||
<data name="IDS_CORRUPT_OPTIONS_RETRY">
|
||||
<value>Retry loading options file.</value>
|
||||
</data>
|
||||
|
||||
<data name="IDS_CORRUPT_SAVECACHE">
|
||||
<value>Your Save Cache file is corrupt and needs to be deleted.</value>
|
||||
</data>
|
||||
|
||||
<data name="IDS_SAVEDATA_COPIED_TITLE">
|
||||
<value>Trophies Disabled</value>
|
||||
</data>
|
||||
|
||||
<data name="IDS_SAVEDATA_COPIED_TEXT">
|
||||
<value>Trophies will be disabled because this save belongs to another user.</value>
|
||||
</data>
|
||||
|
||||
<data name="IDS_FATAL_TROPHY_ERROR">
|
||||
<value>Fatal error: Trophy Initialization failed. Please exit game.</value>
|
||||
</data>
|
||||
|
||||
<data name="IDS_TOOLTIPS_GAME_INVITES">
|
||||
<value>View Game Invites</value>
|
||||
</data>
|
||||
|
||||
<data name="IDS_CORRUPT_FILE">
|
||||
<value>Corrupt File</value>
|
||||
</data>
|
||||
|
||||
<data name="IDS_CONTROLER_DISCONNECT_TITLE">
|
||||
<value>Controller Disconnected</value>
|
||||
</data>
|
||||
|
||||
<data name="IDS_CONTROLER_DISCONNECT_TEXT">
|
||||
<value>Your controller has been disconnected. Please reconnect the controller.</value>
|
||||
</data>
|
||||
|
||||
<data name="IDS_CONTENT_RESTRICTION_MULTIPLAYER">
|
||||
<value>Online service is disabled on your Sony Entertainment Network account due to parental control settings for one of your local players.</value>
|
||||
</data>
|
||||
<data name="IDS_CONTENT_RESTRICTION_PATCH_AVAILABLE">
|
||||
<value>Online features are disabled due to a game update being available.</value>
|
||||
</data>
|
||||
<data name="IDS_NO_DLCCATEGORIES">
|
||||
<value>There are no downloadable content offers available for this title at the moment.</value>
|
||||
</data>
|
||||
|
||||
<data name="IDS_INVITATION_SUBJECT_MAX_18_CHARS">
|
||||
<value>Invitation</value>
|
||||
</data>
|
||||
|
||||
<data name="IDS_INVITATION_BODY">
|
||||
<value>Please come and play a game of Minecraft: PlayStation®Vita Edition!</value>
|
||||
</data>
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
#include "../../Minecraft.World/Platform/stdafx.h"
|
||||
#include "../../stdafx.h"
|
||||
#include "UI.h"
|
||||
#include "UIScene_DLCOffersMenu.h"
|
||||
#include "../../Minecraft.World/Util/StringHelpers.h"
|
||||
#include "../../../../Minecraft.World/Util/StringHelpers.h"
|
||||
#if defined(__PS3__) || defined(__ORBIS__) || defined(__PSVITA__)
|
||||
#include "../Network/Sony/SonyHttp.h"
|
||||
#include "Common/Network/Sony/SonyHttp.h"
|
||||
#endif
|
||||
|
||||
#ifdef __PSVITA__
|
||||
#include "../../Minecraft.Client/Platform/PSVita/Network/SonyCommerce_Vita.h"
|
||||
#include "PSVita/Network/SonyCommerce_Vita.h"
|
||||
#endif
|
||||
|
||||
#define PLAYER_ONLINE_TIMER_ID 0
|
||||
|
|
@ -186,35 +186,35 @@ void UIScene_DLCOffersMenu::handleInput(int iPad, int key, bool repeat,
|
|||
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é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érales du
|
||||
service du réseau, au contrat d’utilisateur, aux restrictions d’utilisation de
|
||||
l'ambiance des f<EFBFBD>tes de fin d'ann<EFBFBD>e.<br><br>1-4 joueurs<br>2-8 joueurs en
|
||||
r<EFBFBD>seau<br><br> Cet article fait l<EFBFBD>objet d<EFBFBD>une licence ou d<EFBFBD>une sous-licence de
|
||||
Sony Computer Entertainment America, et est soumis aux conditions g<EFBFBD>n<EFBFBD>rales du
|
||||
service du r<EFBFBD>seau, au contrat d<EFBFBD>utilisateur, aux restrictions d<EFBFBD>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échargez pas ce produit. Cet article peut être utilisé
|
||||
avec un maximum de deux systèmes PlayStation®3 activés associés à ce compte Sony
|
||||
Entertainment Network. <br><br>'Minecraft' est une marque commerciale de Notch
|
||||
ces conditions, ne t<EFBFBD>l<EFBFBD>chargez pas ce produit. Cet article peut <EFBFBD>tre utilis<EFBFBD>
|
||||
avec un maximum de deux syst<EFBFBD>mes PlayStation<EFBFBD>3 activ<EFBFBD>s associ<EFBFBD>s <EFBFBD> ce compte Sony
|
||||
Entertainment Network.<EFBFBD><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ículo, que
|
||||
está sujeto a los términos de servicio y al acuerdo de usuario de la red. Las
|
||||
restricciones de uso de este artículo, así como otros términos aplicables, se
|
||||
Entertainment America le concede la licencia o sublicencia de este art<EFBFBD>culo, que
|
||||
est<EFBFBD> sujeto a los t<EFBFBD>rminos de servicio y al acuerdo de usuario de la red. Las
|
||||
restricciones de uso de este art<EFBFBD>culo, as<EFBFBD> como otros t<EFBFBD>rminos aplicables, se
|
||||
encuentran en www.us.playstation.com/support/useragreements. Si no desea aceptar
|
||||
todos estos términos, no descargue este artículo. Este artículo puede usarse en
|
||||
hasta dos sistemas PlayStation®3 activados asociados con esta cuenta de Sony
|
||||
Entertainment Network. <br><br>'Minecraft' es una marca comercial de Notch
|
||||
Development AB."); break; case 2: m_labelHTMLSellText.init("Este é um incrível
|
||||
todos estos t<EFBFBD>rminos, no descargue este art<EFBFBD>culo. Este art<EFBFBD>culo puede usarse en
|
||||
hasta dos sistemas PlayStation<EFBFBD>3 activados asociados con esta cuenta de Sony
|
||||
Entertainment Network.<EFBFBD><br><br>'Minecraft' es una marca comercial de Notch
|
||||
Development AB."); break; case 2: m_labelHTMLSellText.init("Este <EFBFBD> um incr<EFBFBD>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á sendo licenciado ou sublicenciado para você pela Sony Computer
|
||||
Entertainment America e está sujeito aos Termos de Serviço da Rede e Acordo do
|
||||
Usuário, as restrições de uso deste item e outros termos aplicáveis estã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é 2 sistemas PlayStation®3 ativados associados a esta Conta de Rede Sony
|
||||
Entertainment. <br><br>'Minecraft' é uma marca registrada da Notch Development
|
||||
Este item est<EFBFBD> sendo licenciado ou sublicenciado para voc<EFBFBD> pela Sony Computer
|
||||
Entertainment America e est<EFBFBD> sujeito aos Termos de Servi<EFBFBD>o da Rede e Acordo do
|
||||
Usu<EFBFBD>rio, as restri<EFBFBD><EFBFBD>es de uso deste item e outros termos aplic<EFBFBD>veis est<EFBFBD>o
|
||||
localizados em www.us.playstation.com/support/useragreements. Caso n<EFBFBD>o queira
|
||||
aceitar todos esses termos, n<EFBFBD>o baixe este item. Este item pode ser usado com
|
||||
at<EFBFBD> 2 sistemas PlayStation<EFBFBD>3 ativados associados a esta Conta de Rede Sony
|
||||
Entertainment.<EFBFBD><br><br>'Minecraft' <EFBFBD> uma marca registrada da Notch Development
|
||||
AB"); break;
|
||||
}
|
||||
iTextC++;
|
||||
|
|
@ -279,7 +279,7 @@ void UIScene_DLCOffersMenu::handlePress(F64 controlId, F64 childId) {
|
|||
#else
|
||||
int iIndex = (int)childId;
|
||||
|
||||
ULONGLONG ullIndexA[1];
|
||||
uint64_t ullIndexA[1];
|
||||
ullIndexA[0] = StorageManager.GetOffer(iIndex).qwOfferID;
|
||||
StorageManager.InstallOffer(1, ullIndexA, NULL, NULL);
|
||||
#endif
|
||||
|
|
@ -396,8 +396,8 @@ void UIScene_DLCOffersMenu::tick() {
|
|||
bDLCIsAvailable = true;
|
||||
}
|
||||
}
|
||||
#else // __ORBIS__
|
||||
// is the item purchasable?
|
||||
#else // __ORBIS__
|
||||
// is the item purchasable?
|
||||
if (info.purchasabilityFlag ==
|
||||
SCE_TOOLKIT_NP_COMMERCE_NOT_PURCHASED) {
|
||||
// can be bought
|
||||
|
|
@ -431,8 +431,7 @@ void UIScene_DLCOffersMenu::tick() {
|
|||
}
|
||||
|
||||
// get the image - if we haven't already
|
||||
std::wstring textureName =
|
||||
filenametostd::wstring(info.imageUrl);
|
||||
std::wstring textureName = filenametowstring(info.imageUrl);
|
||||
|
||||
if (hasRegisteredSubstitutionTexture(textureName) ==
|
||||
false) {
|
||||
|
|
@ -554,7 +553,7 @@ void UIScene_DLCOffersMenu::tick() {
|
|||
// get the image
|
||||
|
||||
// then retrieve from the web
|
||||
std::wstring textureName = filenametostd::wstring(info.imageUrl);
|
||||
std::wstring textureName = filenametowstring(info.imageUrl);
|
||||
|
||||
if (hasRegisteredSubstitutionTexture(textureName) == false) {
|
||||
PBYTE pbImageData;
|
||||
|
|
@ -887,4 +886,4 @@ void UIScene_DLCOffersMenu::HandleDLCInstalled() {
|
|||
// app.DebugPrintf(4,"UIScene_SkinSelectMenu::HandleDLCMountingComplete\n");
|
||||
//}
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
|
@ -406,42 +406,42 @@ int UIScene_JoinMenu::StartGame_SignInReturned(void* pParam, bool bContinue,
|
|||
}
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
// Shared function to join the game that is the same whether we used the
|
||||
// sign-in UI or not
|
||||
void UIScene_JoinMenu::JoinGame(UIScene_JoinMenu * pClass) {
|
||||
bool noPrivileges = false;
|
||||
int signedInUsers = 0;
|
||||
int localUsersMask = 0;
|
||||
DWORD dwLocalUsersMask = 0;
|
||||
bool isSignedInLive = true;
|
||||
int iPadNotSignedInLive = -1;
|
||||
// Shared function to join the game that is the same whether we used the
|
||||
// sign-in UI or not
|
||||
void UIScene_JoinMenu::JoinGame(UIScene_JoinMenu* pClass) {
|
||||
bool noPrivileges = false;
|
||||
int signedInUsers = 0;
|
||||
int localUsersMask = 0;
|
||||
DWORD dwLocalUsersMask = 0;
|
||||
bool isSignedInLive = true;
|
||||
int iPadNotSignedInLive = -1;
|
||||
|
||||
ProfileManager.SetLockedProfile(0); // TEMP!
|
||||
ProfileManager.SetLockedProfile(0); // TEMP!
|
||||
|
||||
// If we're in SD mode, then only the primary player gets to play
|
||||
if (app.IsLocalMultiplayerAvailable()) {
|
||||
for (unsigned int index = 0; index < XUSER_MAX_COUNT; ++index) {
|
||||
if (ProfileManager.IsSignedIn(index)) {
|
||||
if (isSignedInLive &&
|
||||
!ProfileManager.IsSignedInLive(index)) {
|
||||
// Record the first non signed in live pad
|
||||
iPadNotSignedInLive = index;
|
||||
}
|
||||
|
||||
if (!ProfileManager.AllowedToPlayMultiplayer(index))
|
||||
noPrivileges = true;
|
||||
dwLocalUsersMask |=
|
||||
CGameNetworkManager::GetLocalPlayerMask(index);
|
||||
isSignedInLive =
|
||||
isSignedInLive && ProfileManager.IsSignedInLive(index);
|
||||
// If we're in SD mode, then only the primary player gets to play
|
||||
if (app.IsLocalMultiplayerAvailable()) {
|
||||
for (unsigned int index = 0; index < XUSER_MAX_COUNT; ++index) {
|
||||
if (ProfileManager.IsSignedIn(index)) {
|
||||
if (isSignedInLive && !ProfileManager.IsSignedInLive(index)) {
|
||||
// Record the first non signed in live pad
|
||||
iPadNotSignedInLive = index;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (ProfileManager.IsSignedIn(ProfileManager.GetPrimaryPad())) {
|
||||
if (!ProfileManager.AllowedToPlayMultiplayer(
|
||||
ProfileManager.GetPrimaryPad()))
|
||||
|
||||
if (!ProfileManager.AllowedToPlayMultiplayer(index))
|
||||
noPrivileges = true;
|
||||
dwLocalUsersMask |=
|
||||
CGameNetworkManager::GetLocalPlayerMask(index);
|
||||
isSignedInLive =
|
||||
isSignedInLive && ProfileManager.IsSignedInLive(index);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (ProfileManager.IsSignedIn(ProfileManager.GetPrimaryPad())) {
|
||||
if (!ProfileManager.AllowedToPlayMultiplayer(
|
||||
ProfileManager.GetPrimaryPad()))
|
||||
noPrivileges = true;
|
||||
ProfileManager.GetPrimaryPad());
|
||||
|
||||
isSignedInLive = ProfileManager.IsSignedInLive(
|
||||
|
|
@ -451,169 +451,164 @@ int UIScene_JoinMenu::StartGame_SignInReturned(void* pParam, bool bContinue,
|
|||
SQRNetworkManager_AdHoc_Vita::GetAdhocStatus())
|
||||
isSignedInLive = true;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// If this is an online game but not all players are signed in to Live,
|
||||
// stop!
|
||||
if (!isSignedInLive) {
|
||||
// If this is an online game but not all players are signed in to Live,
|
||||
// stop!
|
||||
if (!isSignedInLive) {
|
||||
#ifdef __ORBIS__
|
||||
// Check if PSN is unavailable because of age restriction
|
||||
int npAvailability =
|
||||
ProfileManager.getNPAvailability(iPadNotSignedInLive);
|
||||
if (npAvailability == SCE_NP_ERROR_AGE_RESTRICTION) {
|
||||
pClass->m_bIgnoreInput = false;
|
||||
// 4J Stu - This is a bit messy and is due to the library
|
||||
// incorrectly returning false for IsSignedInLive if the
|
||||
// npAvailability isn't SCE_OK
|
||||
unsigned int uiIDA[1];
|
||||
uiIDA[0] = IDS_OK;
|
||||
ui.RequestErrorMessage(IDS_ONLINE_SERVICE_TITLE,
|
||||
IDS_CONTENT_RESTRICTION, uiIDA, 1,
|
||||
iPadNotSignedInLive);
|
||||
} else
|
||||
#endif
|
||||
{
|
||||
pClass->m_bIgnoreInput = false;
|
||||
unsigned int uiIDA[1];
|
||||
uiIDA[0] = IDS_CONFIRM_OK;
|
||||
ui.RequestErrorMessage(IDS_PRO_NOTONLINE_TITLE,
|
||||
IDS_PRO_NOTONLINE_TEXT, uiIDA, 1,
|
||||
ProfileManager.GetPrimaryPad());
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
// Check if user-created content is allowed, as we cannot play
|
||||
// multiplayer if it's not
|
||||
bool noUGC = false;
|
||||
bool pccAllowed = true;
|
||||
bool pccFriendsAllowed = true;
|
||||
|
||||
#if defined(__PS3__) || defined(__PSVITA__)
|
||||
if (isSignedInLive) {
|
||||
ProfileManager.GetChatAndContentRestrictions(
|
||||
ProfileManager.GetPrimaryPad(), false, &noUGC, NULL, NULL);
|
||||
}
|
||||
#else
|
||||
ProfileManager.AllowedPlayerCreatedContent(
|
||||
ProfileManager.GetPrimaryPad(), false, &pccAllowed,
|
||||
&pccFriendsAllowed);
|
||||
if (!pccAllowed && !pccFriendsAllowed) noUGC = true;
|
||||
#endif
|
||||
|
||||
#ifdef __PSVITA__
|
||||
if (CGameNetworkManager::usingAdhocMode()) {
|
||||
noPrivileges = false;
|
||||
noUGC = false;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (noUGC) {
|
||||
pClass->setVisible(true);
|
||||
// Check if PSN is unavailable because of age restriction
|
||||
int npAvailability =
|
||||
ProfileManager.getNPAvailability(iPadNotSignedInLive);
|
||||
if (npAvailability == SCE_NP_ERROR_AGE_RESTRICTION) {
|
||||
pClass->m_bIgnoreInput = false;
|
||||
|
||||
int messageText =
|
||||
IDS_NO_USER_CREATED_CONTENT_PRIVILEGE_SINGLE_LOCAL;
|
||||
if (dwSignedInUsers > 1)
|
||||
messageText = IDS_NO_USER_CREATED_CONTENT_PRIVILEGE_ALL_LOCAL;
|
||||
|
||||
ui.RequestUGCMessageBox(IDS_CONNECTION_FAILED, messageText);
|
||||
} else if (noPrivileges) {
|
||||
pClass->setVisible(true);
|
||||
// 4J Stu - This is a bit messy and is due to the library
|
||||
// incorrectly returning false for IsSignedInLive if the
|
||||
// npAvailability isn't SCE_OK
|
||||
unsigned int uiIDA[1];
|
||||
uiIDA[0] = IDS_OK;
|
||||
ui.RequestErrorMessage(IDS_ONLINE_SERVICE_TITLE,
|
||||
IDS_CONTENT_RESTRICTION, uiIDA, 1,
|
||||
iPadNotSignedInLive);
|
||||
} else
|
||||
#endif
|
||||
{
|
||||
pClass->m_bIgnoreInput = false;
|
||||
unsigned int uiIDA[1];
|
||||
uiIDA[0] = IDS_CONFIRM_OK;
|
||||
ui.RequestErrorMessage(IDS_NO_MULTIPLAYER_PRIVILEGE_TITLE,
|
||||
IDS_NO_MULTIPLAYER_PRIVILEGE_JOIN_TEXT,
|
||||
uiIDA, 1, ProfileManager.GetPrimaryPad());
|
||||
} else {
|
||||
#if defined(__ORBIS__) || defined(__PSVITA__)
|
||||
bool chatRestricted = false;
|
||||
ProfileManager.GetChatAndContentRestrictions(
|
||||
ProfileManager.GetPrimaryPad(), false, &chatRestricted, NULL,
|
||||
NULL);
|
||||
if (chatRestricted) {
|
||||
ProfileManager.DisplaySystemMessage(
|
||||
SCE_MSG_DIALOG_SYSMSG_TYPE_TRC_PSN_CHAT_RESTRICTION,
|
||||
ProfileManager.GetPrimaryPad());
|
||||
}
|
||||
ui.RequestErrorMessage(IDS_PRO_NOTONLINE_TITLE,
|
||||
IDS_PRO_NOTONLINE_TEXT, uiIDA, 1,
|
||||
ProfileManager.GetPrimaryPad());
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
// Check if user-created content is allowed, as we cannot play
|
||||
// multiplayer if it's not
|
||||
bool noUGC = false;
|
||||
bool pccAllowed = true;
|
||||
bool pccFriendsAllowed = true;
|
||||
|
||||
#if defined(__PS3__) || defined(__PSVITA__)
|
||||
if (isSignedInLive) {
|
||||
ProfileManager.GetChatAndContentRestrictions(
|
||||
ProfileManager.GetPrimaryPad(), false, &noUGC, NULL, NULL);
|
||||
}
|
||||
#else
|
||||
ProfileManager.AllowedPlayerCreatedContent(
|
||||
ProfileManager.GetPrimaryPad(), false, &pccAllowed, &pccFriendsAllowed);
|
||||
if (!pccAllowed && !pccFriendsAllowed) noUGC = true;
|
||||
#endif
|
||||
CGameNetworkManager::eJoinGameResult result =
|
||||
g_NetworkManager.JoinGame(pClass->m_selectedSession,
|
||||
dwLocalUsersMask);
|
||||
|
||||
// Alert the app the we no longer want to be informed of ethernet
|
||||
// connections
|
||||
app.SetLiveLinkRequired(false);
|
||||
#ifdef __PSVITA__
|
||||
if (CGameNetworkManager::usingAdhocMode()) {
|
||||
noPrivileges = false;
|
||||
noUGC = false;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (result != CGameNetworkManager::JOINGAME_SUCCESS) {
|
||||
int exitReasonStringId = -1;
|
||||
switch (result) {
|
||||
case CGameNetworkManager::JOINGAME_FAIL_SERVER_FULL:
|
||||
exitReasonStringId = IDS_DISCONNECTED_SERVER_FULL;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
if (noUGC) {
|
||||
pClass->setVisible(true);
|
||||
pClass->m_bIgnoreInput = false;
|
||||
|
||||
if (exitReasonStringId == -1) {
|
||||
ui.NavigateBack(pClass->m_iPad);
|
||||
} else {
|
||||
unsigned int uiIDA[1];
|
||||
uiIDA[0] = IDS_CONFIRM_OK;
|
||||
ui.RequestErrorMessage(IDS_CONNECTION_FAILED,
|
||||
exitReasonStringId, uiIDA, 1,
|
||||
ProfileManager.GetPrimaryPad());
|
||||
exitReasonStringId = -1;
|
||||
int messageText = IDS_NO_USER_CREATED_CONTENT_PRIVILEGE_SINGLE_LOCAL;
|
||||
if (dwSignedInUsers > 1)
|
||||
messageText = IDS_NO_USER_CREATED_CONTENT_PRIVILEGE_ALL_LOCAL;
|
||||
|
||||
ui.NavigateToHomeMenu();
|
||||
}
|
||||
ui.RequestUGCMessageBox(IDS_CONNECTION_FAILED, messageText);
|
||||
} else if (noPrivileges) {
|
||||
pClass->setVisible(true);
|
||||
pClass->m_bIgnoreInput = false;
|
||||
unsigned int uiIDA[1];
|
||||
uiIDA[0] = IDS_CONFIRM_OK;
|
||||
ui.RequestErrorMessage(IDS_NO_MULTIPLAYER_PRIVILEGE_TITLE,
|
||||
IDS_NO_MULTIPLAYER_PRIVILEGE_JOIN_TEXT, uiIDA, 1,
|
||||
ProfileManager.GetPrimaryPad());
|
||||
} else {
|
||||
#if defined(__ORBIS__) || defined(__PSVITA__)
|
||||
bool chatRestricted = false;
|
||||
ProfileManager.GetChatAndContentRestrictions(
|
||||
ProfileManager.GetPrimaryPad(), false, &chatRestricted, NULL, NULL);
|
||||
if (chatRestricted) {
|
||||
ProfileManager.DisplaySystemMessage(
|
||||
SCE_MSG_DIALOG_SYSMSG_TYPE_TRC_PSN_CHAT_RESTRICTION,
|
||||
ProfileManager.GetPrimaryPad());
|
||||
}
|
||||
#endif
|
||||
CGameNetworkManager::eJoinGameResult result = g_NetworkManager.JoinGame(
|
||||
pClass->m_selectedSession, dwLocalUsersMask);
|
||||
|
||||
// Alert the app the we no longer want to be informed of ethernet
|
||||
// connections
|
||||
app.SetLiveLinkRequired(false);
|
||||
|
||||
if (result != CGameNetworkManager::JOINGAME_SUCCESS) {
|
||||
int exitReasonStringId = -1;
|
||||
switch (result) {
|
||||
case CGameNetworkManager::JOINGAME_FAIL_SERVER_FULL:
|
||||
exitReasonStringId = IDS_DISCONNECTED_SERVER_FULL;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if (exitReasonStringId == -1) {
|
||||
ui.NavigateBack(pClass->m_iPad);
|
||||
} else {
|
||||
unsigned int uiIDA[1];
|
||||
uiIDA[0] = IDS_CONFIRM_OK;
|
||||
ui.RequestErrorMessage(IDS_CONNECTION_FAILED,
|
||||
exitReasonStringId, uiIDA, 1,
|
||||
ProfileManager.GetPrimaryPad());
|
||||
exitReasonStringId = -1;
|
||||
|
||||
ui.NavigateToHomeMenu();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void UIScene_JoinMenu::handleTimerComplete(int id) {
|
||||
switch (id) {
|
||||
case UPDATE_PLAYERS_TIMER_ID: {
|
||||
void UIScene_JoinMenu::handleTimerComplete(int id) {
|
||||
switch (id) {
|
||||
case UPDATE_PLAYERS_TIMER_ID: {
|
||||
#if TO_BE_IMPLEMENTED
|
||||
PlayerUID selectedPlayerXUID =
|
||||
m_selectedSession->data.players[playersList.GetCurSel()];
|
||||
PlayerUID selectedPlayerXUID =
|
||||
m_selectedSession->data.players[playersList.GetCurSel()];
|
||||
|
||||
bool success = g_NetworkManager.GetGameSessionInfo(
|
||||
m_iPad, m_selectedSession->sessionId, m_selectedSession);
|
||||
bool success = g_NetworkManager.GetGameSessionInfo(
|
||||
m_iPad, m_selectedSession->sessionId, m_selectedSession);
|
||||
|
||||
if (success) {
|
||||
playersList.DeleteItems(0, playersList.GetItemCount());
|
||||
int selectedIndex = 0;
|
||||
for (unsigned int i = 0; i < MINECRAFT_NET_MAX_PLAYERS;
|
||||
++i) {
|
||||
if (m_selectedSession->data.players[i] != NULL) {
|
||||
if (m_selectedSession->data.players[i] ==
|
||||
selectedPlayerXUID)
|
||||
selectedIndex = i;
|
||||
playersList.InsertItems(i, 1);
|
||||
if (success) {
|
||||
playersList.DeleteItems(0, playersList.GetItemCount());
|
||||
int selectedIndex = 0;
|
||||
for (unsigned int i = 0; i < MINECRAFT_NET_MAX_PLAYERS; ++i) {
|
||||
if (m_selectedSession->data.players[i] != NULL) {
|
||||
if (m_selectedSession->data.players[i] ==
|
||||
selectedPlayerXUID)
|
||||
selectedIndex = i;
|
||||
playersList.InsertItems(i, 1);
|
||||
#ifndef _CONTENT_PACKAGE
|
||||
if (app.DebugSettingsOn() &&
|
||||
(app.GetGameSettingsDebugMask() &
|
||||
(1L << eDebugSetting_DebugLeaderboards))) {
|
||||
playersList.SetText(i, L"WWWWWWWWWWWWWWWW");
|
||||
} else
|
||||
if (app.DebugSettingsOn() &&
|
||||
(app.GetGameSettingsDebugMask() &
|
||||
(1L << eDebugSetting_DebugLeaderboards))) {
|
||||
playersList.SetText(i, L"WWWWWWWWWWWWWWWW");
|
||||
} else
|
||||
#endif
|
||||
{
|
||||
playersList.SetText(
|
||||
i, convStringToWstring(
|
||||
m_selectedSession->data.szPlayers[i])
|
||||
.c_str());
|
||||
}
|
||||
} else {
|
||||
// Leave the loop when we hit the first NULL player
|
||||
break;
|
||||
{
|
||||
playersList.SetText(
|
||||
i, convStringToWstring(
|
||||
m_selectedSession->data.szPlayers[i])
|
||||
.c_str());
|
||||
}
|
||||
} else {
|
||||
// Leave the loop when we hit the first NULL player
|
||||
break;
|
||||
}
|
||||
playersList.SetCurSel(selectedIndex);
|
||||
}
|
||||
playersList.SetCurSel(selectedIndex);
|
||||
}
|
||||
#endif
|
||||
} break;
|
||||
};
|
||||
}
|
||||
} break;
|
||||
};
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue