diff options
| author | daoge_cmd <3523206925@qq.com> | 2026-03-01 12:16:08 +0800 |
|---|---|---|
| committer | daoge_cmd <3523206925@qq.com> | 2026-03-01 12:16:08 +0800 |
| commit | b691c43c44ff180d10e7d4a9afc83b98551ff586 (patch) | |
| tree | 3e9849222cbc6ba49f2f1fc6e5fe7179632c7390 /Minecraft.Client/Common/UI/UIScene_EULA.cpp | |
| parent | def8cb415354ac390b7e89052a50605285f1aca9 (diff) | |
Initial commit
Diffstat (limited to 'Minecraft.Client/Common/UI/UIScene_EULA.cpp')
| -rw-r--r-- | Minecraft.Client/Common/UI/UIScene_EULA.cpp | 145 |
1 files changed, 145 insertions, 0 deletions
diff --git a/Minecraft.Client/Common/UI/UIScene_EULA.cpp b/Minecraft.Client/Common/UI/UIScene_EULA.cpp new file mode 100644 index 00000000..3177344d --- /dev/null +++ b/Minecraft.Client/Common/UI/UIScene_EULA.cpp @@ -0,0 +1,145 @@ +#include "stdafx.h" +#include "UI.h" +#include "UIScene_EULA.h" +#include "..\..\..\Minecraft.World\StringHelpers.h" + +UIScene_EULA::UIScene_EULA(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); + +#if defined(__PS3__) || defined(__ORBIS__) || defined(__PSVITA__) + wstring EULA = app.GetString(IDS_EULA); + EULA.append(L"\r\n"); + +#if defined(__PS3__) + if(app.IsEuropeanSKU()) + { + EULA.append(app.GetString(IDS_EULA_SCEE)); + // if it's the BD build + if(StorageManager.GetBootTypeDisc()) + { + EULA.append(app.GetString(IDS_EULA_SCEE_BD)); + } + } + else if(app.IsAmericanSKU()) + { + EULA.append(app.GetString(IDS_EULA_SCEA)); + } +#elif defined __ORBIS__ + if(app.IsEuropeanSKU()) + { + EULA.append(app.GetString(IDS_EULA_SCEE)); + // 4J-PB - we can't tell if it's a disc or digital version, so let's show this anyway + EULA.append(app.GetString(IDS_EULA_SCEE_BD)); + } + else if(app.IsAmericanSKU()) + { + EULA.append(app.GetString(IDS_EULA_SCEA)); + } +#endif +#else + wstring EULA = L""; +#endif + + vector<wstring> paragraphs; + int lastIndex = 0; + for ( int index = EULA.find(L"\r\n", lastIndex, 2); + index != wstring::npos; + index = EULA.find(L"\r\n", lastIndex, 2) + ) + { + paragraphs.push_back( EULA.substr(lastIndex, index-lastIndex) + L" " ); + lastIndex = index + 2; + } + paragraphs.push_back( EULA.substr( lastIndex, EULA.length() - lastIndex ) ); + + for(unsigned int i = 0; i < paragraphs.size(); ++i) + { + m_labelDescription.addText(paragraphs[i],i == (paragraphs.size() - 1) ); + } + + // 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; + } + } + } + + m_bIgnoreInput=false; + + //ui.setFontCachingCalculationBuffer(20000); + +#ifdef __PSVITA__ + ui.TouchBoxRebuild(this); +#endif +} + +UIScene_EULA::~UIScene_EULA() +{ + m_parentLayer->removeComponent(eUIComponent_Panorama); + m_parentLayer->removeComponent(eUIComponent_Logo); +} + +wstring UIScene_EULA::getMoviePath() +{ + return L"EULA"; +} + +void UIScene_EULA::updateTooltips() +{ + ui.SetTooltips( DEFAULT_XUI_MENU_USER, IDS_TOOLTIPS_SELECT ); +} + +void UIScene_EULA::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) + { +#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_EULA::handlePress(F64 controlId, F64 childId) +{ + switch((int)controlId) + { + case eControl_Confirm: + //CD - Added for audio + ui.PlayUISFX(eSFX_Press); + app.SetGameSettings(0,eGameSetting_PS3_EULA_Read,1); + ui.NavigateToScene(0,eUIScene_SaveMessage); + ui.setFontCachingCalculationBuffer(-1); + break; + }; +} |
