aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.Client/Common/UI/UIScene_NewUpdateMessage.cpp
diff options
context:
space:
mode:
authorLoki Rautio <lokirautio@gmail.com>2026-03-04 03:56:03 -0600
committerLoki Rautio <lokirautio@gmail.com>2026-03-04 03:56:03 -0600
commit42aec6dac53dffa6afe072560a7e1d4986112538 (patch)
tree0836426857391df1b6a83f6368a183f83ec9b104 /Minecraft.Client/Common/UI/UIScene_NewUpdateMessage.cpp
parentc9d58eeac7c72f0b3038e084667b4d89a6249fce (diff)
parentef9b6fd500dfabd9463267b0dd9e29577eea8a2b (diff)
Merge branch 'main' into pr/win64-world-saves
# Conflicts: # Minecraft.Client/MinecraftServer.cpp # README.md
Diffstat (limited to 'Minecraft.Client/Common/UI/UIScene_NewUpdateMessage.cpp')
-rw-r--r--Minecraft.Client/Common/UI/UIScene_NewUpdateMessage.cpp121
1 files changed, 121 insertions, 0 deletions
diff --git a/Minecraft.Client/Common/UI/UIScene_NewUpdateMessage.cpp b/Minecraft.Client/Common/UI/UIScene_NewUpdateMessage.cpp
new file mode 100644
index 00000000..998679ca
--- /dev/null
+++ b/Minecraft.Client/Common/UI/UIScene_NewUpdateMessage.cpp
@@ -0,0 +1,121 @@
+#include "stdafx.h"
+#include "UI.h"
+#include "UIScene_NewUpdateMessage.h"
+#include "..\..\..\Minecraft.World\StringHelpers.h"
+
+UIScene_NewUpdateMessage::UIScene_NewUpdateMessage(int iPad, void *initData, UILayer *parentLayer) : UIScene(iPad, parentLayer)
+{
+ // Setup all the Iggy references we need for this scene
+ initialiseMovie();
+
+ parentLayer->addComponent(iPad,eUIComponent_Panorama);
+ parentLayer->addComponent(iPad,eUIComponent_Logo);
+
+ m_buttonConfirm.init(app.GetString(IDS_TOOLTIPS_ACCEPT),eControl_Confirm);
+
+ wstring message = app.GetString(IDS_TITLEUPDATE);
+ message.append(L"\r\n");
+
+ message=app.FormatHTMLString(m_iPad,message);
+
+ vector<wstring> paragraphs;
+ int lastIndex = 0;
+ for ( int index = message.find(L"\r\n", lastIndex, 2);
+ index != wstring::npos;
+ index = message.find(L"\r\n", lastIndex, 2)
+ )
+ {
+ paragraphs.push_back( message.substr(lastIndex, index-lastIndex) + L" " );
+ lastIndex = index + 2;
+ }
+ paragraphs.push_back( message.substr( lastIndex, message.length() - lastIndex ) );
+
+ for(unsigned int i = 0; i < paragraphs.size(); ++i)
+ {
+ m_labelDescription.addText(paragraphs[i],i == (paragraphs.size() - 1) );
+ }
+
+ m_bIgnoreInput=false;
+
+#ifdef __PSVITA__
+ ui.TouchBoxRebuild(this);
+#endif
+}
+
+UIScene_NewUpdateMessage::~UIScene_NewUpdateMessage()
+{
+ m_parentLayer->removeComponent(eUIComponent_Panorama);
+ m_parentLayer->removeComponent(eUIComponent_Logo);
+}
+
+wstring UIScene_NewUpdateMessage::getMoviePath()
+{
+ return L"EULA";
+}
+
+void UIScene_NewUpdateMessage::updateTooltips()
+{
+ ui.SetTooltips( DEFAULT_XUI_MENU_USER, IDS_TOOLTIPS_SELECT );
+}
+
+void UIScene_NewUpdateMessage::handleInput(int iPad, int key, bool repeat, bool pressed, bool released, bool &handled)
+{
+ if(m_bIgnoreInput) return;
+
+#ifdef __ORBIS__
+ // ignore all players except player 0 - it's their profile that is currently being used
+ if(iPad!=0) return;
+#endif
+
+ ui.AnimateKeyPress(m_iPad, key, repeat, pressed, released);
+
+ switch(key)
+ {
+ case ACTION_MENU_B:
+ {
+ int iVal=app.GetGameSettings(m_iPad,eGameSetting_DisplayUpdateMessage);
+ if(iVal>0) iVal--;
+
+ // set the update text as seen, by clearing the flag
+ app.SetGameSettings(m_iPad,eGameSetting_DisplayUpdateMessage,iVal);
+ // force a profile write
+ app.CheckGameSettingsChanged(true,m_iPad);
+ ui.NavigateBack(m_iPad);
+ }
+ break;
+#ifdef __ORBIS__
+ case ACTION_MENU_TOUCHPAD_PRESS:
+#endif
+ case ACTION_MENU_OK:
+ case ACTION_MENU_DOWN:
+ case ACTION_MENU_UP:
+ case ACTION_MENU_PAGEUP:
+ case ACTION_MENU_PAGEDOWN:
+ case ACTION_MENU_OTHER_STICK_DOWN:
+ case ACTION_MENU_OTHER_STICK_UP:
+ sendInputToMovie(key, repeat, pressed, released);
+ break;
+ }
+}
+
+void UIScene_NewUpdateMessage::handlePress(F64 controlId, F64 childId)
+{
+ switch((int)controlId)
+ {
+ case eControl_Confirm:
+ {
+ //CD - Added for audio
+ ui.PlayUISFX(eSFX_Press);
+
+ int iVal=app.GetGameSettings(m_iPad,eGameSetting_DisplayUpdateMessage);
+ if(iVal>0) iVal--;
+
+ // set the update text as seen, by clearing the flag
+ app.SetGameSettings(m_iPad,eGameSetting_DisplayUpdateMessage,iVal);
+ // force a profile write
+ app.CheckGameSettingsChanged(true,m_iPad);
+ ui.NavigateBack(m_iPad);
+ }
+ break;
+ };
+}