more strings, UIScene fixes

This commit is contained in:
Tropical
2026-03-22 13:14:16 -05:00
parent 1f333e93b3
commit 3640c97575
3 changed files with 318 additions and 204 deletions
@@ -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 lobjet dune licence ou dune sous-licence de
Sony Computer Entertainment America, et est soumis aux conditions générales du
service du réseau, au contrat dutilisateur, aux restrictions dutilisation de
l'ambiance des ftes de fin d'anne.<br><br>1-4 joueurs<br>2-8 joueurs en
rseau<br><br> Cet article fait lobjet dune licence ou dune sous-licence de
Sony Computer Entertainment America, et est soumis aux conditions gnrales du
service du rseau, au contrat dutilisateur, aux restrictions dutilisation 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 tlchargez pas ce produit. Cet article peut tre utilis
avec un maximum de deux systmes PlayStation3 activs associs ce compte Sony
Entertainment Network.<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 artculo, que
est sujeto a los trminos de servicio y al acuerdo de usuario de la red. Las
restricciones de uso de este artculo, as como otros trminos 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 trminos, no descargue este artculo. Este artculo puede usarse en
hasta dos sistemas PlayStation3 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 incrvel
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 sendo licenciado ou sublicenciado para voc pela Sony Computer
Entertainment America e est sujeito aos Termos de Servio da Rede e Acordo do
Usurio, as restries de uso deste item e outros termos aplicveis esto
localizados em www.us.playstation.com/support/useragreements. Caso no queira
aceitar todos esses termos, no baixe este item. Este item pode ser usado com
at 2 sistemas PlayStation3 ativados associados a esta Conta de Rede Sony
Entertainment.<br><br>'Minecraft' 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;
};
}