MinecraftConsoles/Minecraft.Client/Common/XUI/XUI_SaveMessage.cpp
Riley M. c0da06e4ee
major: Switch to forward slashes(+more) to fix compilation on Linux (#1403)
Notably also adds some metadata files for NixOS 

* add support for linux clang cross compiles

* add linux clang instructions

* un-capitalize Mob.horse.*

* update the description in flake.nix

---------

Co-authored-by: Loki <lokirautio@gmail.com>
2026-04-14 16:47:37 -05:00

77 lines
2.5 KiB
C++

#include "stdafx.h"
#include <assert.h>
#include "../XUI/XUI_SaveMessage.h"
//----------------------------------------------------------------------------------
// Performs initialization tasks - retrieves controls.
//----------------------------------------------------------------------------------
HRESULT CScene_SaveMessage::OnInit( XUIMessageInit* pInitData, BOOL& bHandled )
{
MapChildControls();
CXuiSceneBase::ShowBackground( DEFAULT_XUI_MENU_USER, TRUE );
CXuiSceneBase::ShowLogo( DEFAULT_XUI_MENU_USER, TRUE );
m_button.SetText(app.GetString(IDS_CONFIRM_OK));
m_SaveMessage.SetText(app.GetString(IDS_SAVE_ICON_MESSAGE));
ui.SetTooltips( DEFAULT_XUI_MENU_USER, IDS_TOOLTIPS_SELECT );
// 4J-PB - If we have a signed in user connected, let's get the DLC now
for(unsigned int i = 0; i < XUSER_MAX_COUNT; ++i)
{
if( (InputManager.IsPadConnected(i) || ProfileManager.IsSignedIn(i)) )
{
if(!app.DLCInstallProcessCompleted() && !app.DLCInstallPending())
{
app.StartInstallDLCProcess(i);
break;
}
}
}
// set a timer on the saving message screen, so we continue after 8 seconds
XuiSetTimer( m_hObj,0,8000);
m_bIgnoreInput=false;
return S_OK;
}
//----------------------------------------------------------------------------------
// Handler for the button press message.
//----------------------------------------------------------------------------------
HRESULT CScene_SaveMessage::OnNotifyPressEx(HXUIOBJ hObjPressed, XUINotifyPress* pNotifyPressData, BOOL& rfHandled)
{
if(m_bIgnoreInput) return S_OK;
// This assumes all buttons can only be pressed with the A button
ui.AnimateKeyPress(pNotifyPressData->UserIndex, VK_PAD_A);
XuiKillTimer(m_hObj,0);
app.NavigateToScene(XUSER_INDEX_ANY,eUIScene_MainMenu);
rfHandled = TRUE;
return S_OK;
}
HRESULT CScene_SaveMessage::OnKeyDown(XUIMessageInput* pInputData, BOOL& rfHandled)
{
if(m_bIgnoreInput) return S_OK;
ui.AnimateKeyPress(pInputData->UserIndex, pInputData->dwKeyCode);
return S_OK;
}
// 4J-PB - added for Compliance fail -
// Games must enter an interactive state that accepts player input within 20 seconds after the initial start-up sequence.
// If an animation or cinematic shown during the start-up sequence runs longer than 20 seconds, it must be skippable using the START button or natural input.
HRESULT CScene_SaveMessage::OnTimer(XUIMessageTimer *pData,BOOL& rfHandled)
{
m_bIgnoreInput=true;
XuiKillTimer(m_hObj,0);
app.NavigateToScene(XUSER_INDEX_ANY,eUIScene_MainMenu);
return S_OK;
}