format XUI

This commit is contained in:
Tropical
2026-03-22 12:40:22 -05:00
parent a403bf5a4a
commit 4b2f614326
175 changed files with 31285 additions and 30912 deletions

View File

@@ -10,207 +10,199 @@
//----------------------------------------------------------------------------------
// Performs initialization tasks - retrieves controls.
//----------------------------------------------------------------------------------
HRESULT CScene_ConnectingProgress::OnInit( XUIMessageInit* pInitData, BOOL& bHandled )
{
ConnectionProgressParams *param = (ConnectionProgressParams *)pInitData->pvInitData;
m_iPad = param->iPad;
MapChildControls();
HRESULT CScene_ConnectingProgress::OnInit(XUIMessageInit* pInitData,
BOOL& bHandled) {
ConnectionProgressParams* param =
(ConnectionProgressParams*)pInitData->pvInitData;
m_iPad = param->iPad;
MapChildControls();
if( param->stringId >= 0 )
{
m_title.SetText( app.GetString( param->stringId ) );
}
else
{
m_title.SetText( L"" );
}
if (param->stringId >= 0) {
m_title.SetText(app.GetString(param->stringId));
} else {
m_title.SetText(L"");
}
m_buttonConfirm.SetText( app.GetString( IDS_CONFIRM_OK ) );
m_buttonConfirm.SetText(app.GetString(IDS_CONFIRM_OK));
if(app.GetLocalPlayerCount()>1)
{
app.AdjustSplitscreenScene(m_hObj,&m_OriginalPosition,m_iPad,false);
}
if (app.GetLocalPlayerCount() > 1) {
app.AdjustSplitscreenScene(m_hObj, &m_OriginalPosition, m_iPad, false);
}
CXuiSceneBase::ShowBackground( m_iPad, TRUE );
CXuiSceneBase::ShowLogo( m_iPad, TRUE );
CXuiSceneBase::ShowBackground(m_iPad, TRUE);
CXuiSceneBase::ShowLogo(m_iPad, TRUE);
m_showTooltips = param->showTooltips;
if( param->showTooltips )
ui.SetTooltips( m_iPad, -1, IDS_TOOLTIPS_CANCEL_JOIN, -1, -1 );
else
ui.SetTooltips( m_iPad, -1 );
m_showTooltips = param->showTooltips;
if (param->showTooltips)
ui.SetTooltips(m_iPad, -1, IDS_TOOLTIPS_CANCEL_JOIN, -1, -1);
else
ui.SetTooltips(m_iPad, -1);
m_runFailTimer = param->setFailTimer;
m_timerTime = param->timerTime;
m_runFailTimer = param->setFailTimer;
m_timerTime = param->timerTime;
return S_OK;
return S_OK;
}
// The framework calls this handler when the object is to be destroyed.
HRESULT CScene_ConnectingProgress::OnDestroy()
{
return S_OK;
}
// The framework calls this handler when the object is to be destroyed.
HRESULT CScene_ConnectingProgress::OnDestroy() { return S_OK; }
//----------------------------------------------------------------------------------
// Updates the UI when the list selection changes.
//----------------------------------------------------------------------------------
HRESULT CScene_ConnectingProgress::OnNotifySelChanged( HXUIOBJ hObjSource, XUINotifySelChanged* pNotifySelChangedData, BOOL& bHandled )
{
return S_OK;
HRESULT CScene_ConnectingProgress::OnNotifySelChanged(
HXUIOBJ hObjSource, XUINotifySelChanged* pNotifySelChangedData,
BOOL& bHandled) {
return S_OK;
}
//----------------------------------------------------------------------------------
// Handler for the button press message.
//----------------------------------------------------------------------------------
HRESULT CScene_ConnectingProgress::OnNotifyPressEx(HXUIOBJ hObjPressed, XUINotifyPress* pNotifyPressData, BOOL& rfHandled)
{
// This assumes all buttons can only be pressed with the A button
ui.AnimateKeyPress(pNotifyPressData->UserIndex, VK_PAD_A);
HRESULT CScene_ConnectingProgress::OnNotifyPressEx(
HXUIOBJ hObjPressed, XUINotifyPress* pNotifyPressData, BOOL& rfHandled) {
// This assumes all buttons can only be pressed with the A button
ui.AnimateKeyPress(pNotifyPressData->UserIndex, VK_PAD_A);
if(hObjPressed == m_buttonConfirm)
{
if( m_iPad != ProfileManager.GetPrimaryPad() && g_NetworkManager.IsInSession() )
{
// The connection failed if we see the button, so the temp player should be removed and the viewports updated again
Minecraft *pMinecraft = Minecraft::GetInstance();
pMinecraft->removeLocalPlayerIdx(m_iPad);
}
else
{
app.NavigateToHomeMenu();
//app.NavigateBack( ProfileManager.GetPrimaryPad() );
}
}
return S_OK;
}
HRESULT CScene_ConnectingProgress::OnKeyDown(XUIMessageInput* pInputData, BOOL& rfHandled)
{
if( m_showTooltips )
{
ui.AnimateKeyPress(pInputData->UserIndex, pInputData->dwKeyCode);
// Explicitly handle B button presses
if (pInputData->dwKeyCode == VK_PAD_B)
{
// Cancel the join
Minecraft *pMinecraft = Minecraft::GetInstance();
pMinecraft->removeLocalPlayerIdx(m_iPad);
rfHandled = TRUE;
}
}
return S_OK;
}
HRESULT CScene_ConnectingProgress::OnGetSourceDataText(XUIMessageGetSourceText *pGetSourceTextData, BOOL& bHandled)
{
// This gets called every frame, so use it to update our two text boxes
return S_OK;
}
HRESULT CScene_ConnectingProgress::OnTransitionStart( XUIMessageTransition *pTransition, BOOL& bHandled )
{
//if(m_runFailTimer) XuiSetTimer(m_hObj,0,m_timerTime);
if( pTransition->dwTransType == XUI_TRANSITION_FROM )
{
XuiKillTimer(m_hObj,0);
}
return S_OK;
}
HRESULT CScene_ConnectingProgress::OnTransitionEnd( XUIMessageTransition *pTransition, BOOL& bHandled )
{
// are we being destroyed? If so, don't do anything
if(pTransition->dwTransAction==XUI_TRANSITION_ACTION_DESTROY )
{
return S_OK;
}
if( pTransition->dwTransType == XUI_TRANSITION_TO )
{
if(m_runFailTimer) XuiSetTimer(m_hObj,0,m_timerTime);
}
return S_OK;
}
HRESULT CScene_ConnectingProgress::OnTimer( XUIMessageTimer *pTimer, BOOL& bHandled )
{
// Check if the connection failed
Minecraft *pMinecraft = Minecraft::GetInstance();
if( pMinecraft->m_connectionFailed[m_iPad] || !g_NetworkManager.IsInSession() )
{
app.RemoveBackScene(m_iPad);
// 4J-PB - timers auto repeat, so kill it
XuiKillTimer(m_hObj,0);
int exitReasonStringId;
switch(pMinecraft->m_connectionFailedReason[m_iPad])
{
case DisconnectPacket::eDisconnect_LoginTooLong:
exitReasonStringId = IDS_DISCONNECTED_LOGIN_TOO_LONG;
break;
case DisconnectPacket::eDisconnect_ServerFull:
exitReasonStringId = IDS_DISCONNECTED_SERVER_FULL;
break;
case DisconnectPacket::eDisconnect_Kicked:
exitReasonStringId = IDS_DISCONNECTED_KICKED;
break;
case DisconnectPacket::eDisconnect_NoUGC_AllLocal:
exitReasonStringId = IDS_NO_USER_CREATED_CONTENT_PRIVILEGE_ALL_LOCAL;
break;
case DisconnectPacket::eDisconnect_NoUGC_Single_Local:
exitReasonStringId = IDS_NO_USER_CREATED_CONTENT_PRIVILEGE_SINGLE_LOCAL;
break;
case DisconnectPacket::eDisconnect_NoUGC_Remote:
exitReasonStringId = IDS_NO_USER_CREATED_CONTENT_PRIVILEGE_REMOTE;
break;
case DisconnectPacket::eDisconnect_NoFlying:
exitReasonStringId = IDS_DISCONNECTED_FLYING;
break;
case DisconnectPacket::eDisconnect_Quitting:
exitReasonStringId = IDS_DISCONNECTED_SERVER_QUIT;
break;
case DisconnectPacket::eDisconnect_OutdatedServer:
exitReasonStringId = IDS_DISCONNECTED_SERVER_OLD;
break;
case DisconnectPacket::eDisconnect_OutdatedClient:
exitReasonStringId = IDS_DISCONNECTED_CLIENT_OLD;
break;
default:
exitReasonStringId = IDS_CONNECTION_LOST_SERVER;
break;
}
if( m_iPad != ProfileManager.GetPrimaryPad() && g_NetworkManager.IsInSession() )
{
m_buttonConfirm.SetShow(TRUE);
m_buttonConfirm.SetFocus(m_iPad);
// Set text
m_title.SetText( app.GetString( IDS_CONNECTION_FAILED ) );
m_status.SetText( app.GetString( exitReasonStringId ) );
}
else
{
unsigned int uiIDA[1];
uiIDA[0]=IDS_CONFIRM_OK;
#ifdef _XBOX
StorageManager.RequestMessageBox( IDS_CONNECTION_FAILED, exitReasonStringId, uiIDA,1,ProfileManager.GetPrimaryPad(),NULL,NULL, app.GetStringTable());
#endif
exitReasonStringId = -1;
//app.NavigateToHomeMenu();
app.SetAction(ProfileManager.GetPrimaryPad(),eAppAction_ExitWorld,(void *)TRUE);
}
}
if (hObjPressed == m_buttonConfirm) {
if (m_iPad != ProfileManager.GetPrimaryPad() &&
g_NetworkManager.IsInSession()) {
// The connection failed if we see the button, so the temp player
// should be removed and the viewports updated again
Minecraft* pMinecraft = Minecraft::GetInstance();
pMinecraft->removeLocalPlayerIdx(m_iPad);
} else {
app.NavigateToHomeMenu();
// app.NavigateBack( ProfileManager.GetPrimaryPad() );
}
}
return S_OK;
}
HRESULT CScene_ConnectingProgress::OnKeyDown(XUIMessageInput* pInputData,
BOOL& rfHandled) {
if (m_showTooltips) {
ui.AnimateKeyPress(pInputData->UserIndex, pInputData->dwKeyCode);
// Explicitly handle B button presses
if (pInputData->dwKeyCode == VK_PAD_B) {
// Cancel the join
Minecraft* pMinecraft = Minecraft::GetInstance();
pMinecraft->removeLocalPlayerIdx(m_iPad);
rfHandled = TRUE;
}
}
return S_OK;
}
HRESULT CScene_ConnectingProgress::OnGetSourceDataText(
XUIMessageGetSourceText* pGetSourceTextData, BOOL& bHandled) {
// This gets called every frame, so use it to update our two text boxes
return S_OK;
}
HRESULT CScene_ConnectingProgress::OnTransitionStart(
XUIMessageTransition* pTransition, BOOL& bHandled) {
// if(m_runFailTimer) XuiSetTimer(m_hObj,0,m_timerTime);
if (pTransition->dwTransType == XUI_TRANSITION_FROM) {
XuiKillTimer(m_hObj, 0);
}
return S_OK;
}
HRESULT CScene_ConnectingProgress::OnTransitionEnd(
XUIMessageTransition* pTransition, BOOL& bHandled) {
// are we being destroyed? If so, don't do anything
if (pTransition->dwTransAction == XUI_TRANSITION_ACTION_DESTROY) {
return S_OK;
}
if (pTransition->dwTransType == XUI_TRANSITION_TO) {
if (m_runFailTimer) XuiSetTimer(m_hObj, 0, m_timerTime);
}
return S_OK;
}
HRESULT CScene_ConnectingProgress::OnTimer(XUIMessageTimer* pTimer,
BOOL& bHandled) {
// Check if the connection failed
Minecraft* pMinecraft = Minecraft::GetInstance();
if (pMinecraft->m_connectionFailed[m_iPad] ||
!g_NetworkManager.IsInSession()) {
app.RemoveBackScene(m_iPad);
// 4J-PB - timers auto repeat, so kill it
XuiKillTimer(m_hObj, 0);
int exitReasonStringId;
switch (pMinecraft->m_connectionFailedReason[m_iPad]) {
case DisconnectPacket::eDisconnect_LoginTooLong:
exitReasonStringId = IDS_DISCONNECTED_LOGIN_TOO_LONG;
break;
case DisconnectPacket::eDisconnect_ServerFull:
exitReasonStringId = IDS_DISCONNECTED_SERVER_FULL;
break;
case DisconnectPacket::eDisconnect_Kicked:
exitReasonStringId = IDS_DISCONNECTED_KICKED;
break;
case DisconnectPacket::eDisconnect_NoUGC_AllLocal:
exitReasonStringId =
IDS_NO_USER_CREATED_CONTENT_PRIVILEGE_ALL_LOCAL;
break;
case DisconnectPacket::eDisconnect_NoUGC_Single_Local:
exitReasonStringId =
IDS_NO_USER_CREATED_CONTENT_PRIVILEGE_SINGLE_LOCAL;
break;
case DisconnectPacket::eDisconnect_NoUGC_Remote:
exitReasonStringId =
IDS_NO_USER_CREATED_CONTENT_PRIVILEGE_REMOTE;
break;
case DisconnectPacket::eDisconnect_NoFlying:
exitReasonStringId = IDS_DISCONNECTED_FLYING;
break;
case DisconnectPacket::eDisconnect_Quitting:
exitReasonStringId = IDS_DISCONNECTED_SERVER_QUIT;
break;
case DisconnectPacket::eDisconnect_OutdatedServer:
exitReasonStringId = IDS_DISCONNECTED_SERVER_OLD;
break;
case DisconnectPacket::eDisconnect_OutdatedClient:
exitReasonStringId = IDS_DISCONNECTED_CLIENT_OLD;
break;
default:
exitReasonStringId = IDS_CONNECTION_LOST_SERVER;
break;
}
if (m_iPad != ProfileManager.GetPrimaryPad() &&
g_NetworkManager.IsInSession()) {
m_buttonConfirm.SetShow(TRUE);
m_buttonConfirm.SetFocus(m_iPad);
// Set text
m_title.SetText(app.GetString(IDS_CONNECTION_FAILED));
m_status.SetText(app.GetString(exitReasonStringId));
} else {
unsigned int uiIDA[1];
uiIDA[0] = IDS_CONFIRM_OK;
#ifdef _XBOX
StorageManager.RequestMessageBox(IDS_CONNECTION_FAILED,
exitReasonStringId, uiIDA, 1,
ProfileManager.GetPrimaryPad(),
NULL, NULL, app.GetStringTable());
#endif
exitReasonStringId = -1;
// app.NavigateToHomeMenu();
app.SetAction(ProfileManager.GetPrimaryPad(), eAppAction_ExitWorld,
(void*)TRUE);
}
}
return S_OK;
}