diff --git a/Minecraft.Client/Common/UI/IUIScene_StartGame.cpp b/Minecraft.Client/Common/UI/IUIScene_StartGame.cpp index 735da438aa..90525f3577 100644 --- a/Minecraft.Client/Common/UI/IUIScene_StartGame.cpp +++ b/Minecraft.Client/Common/UI/IUIScene_StartGame.cpp @@ -5,18 +5,21 @@ #include "Minecraft.h" #include "IUIScene_StartGame.h" -IUIScene_StartGame::IUIScene_StartGame(int iPad, UILayer *parentLayer) : UIScene(iPad, parentLayer) +IUIScene_StartGame::IUIScene_StartGame(int iPad, UILayer* parentLayer, int texturePackListID) + : UIScene(iPad, parentLayer), m_iTexturePackID(texturePackListID) { m_bIgnoreInput = false; - m_iTexturePacksNotInstalled=0; + m_iTexturePacksNotInstalled = 0; m_texturePackDescDisplayed = false; m_bShowTexturePackDescription = false; m_iSetTexturePackDescription = -1; - Minecraft *pMinecraft = Minecraft::GetInstance(); + Minecraft* pMinecraft = Minecraft::GetInstance(); m_currentTexturePackIndex = pMinecraft->skins->getTexturePackIndex(0); } +//IUIScene_StartGame::IUIScene_StartGame(int iPad, UILayer* parentLayer) : IUIScene_StartGame(iPad, parentLayer, -1) {} + void IUIScene_StartGame::HandleDLCMountingComplete() { Minecraft *pMinecraft = Minecraft::GetInstance(); @@ -131,6 +134,19 @@ void IUIScene_StartGame::handleSelectionChanged(F64 selectedId) } } +void IUIScene_StartGame::handleFocusChange(F64 controlId, F64 childId) +{ + if (static_cast(controlId) == m_iTexturePackID) { + if (m_bShowTexturePackDescription) return; +// m_iSetTexturePackDescription = 0; + + if (!m_texturePackDescDisplayed) + { + m_bShowTexturePackDescription = true; + } + } +} + void IUIScene_StartGame::UpdateTexturePackDescription(int index) { TexturePack *tp = Minecraft::GetInstance()->skins->getTexturePackByIndex(index); diff --git a/Minecraft.Client/Common/UI/IUIScene_StartGame.h b/Minecraft.Client/Common/UI/IUIScene_StartGame.h index a3361011f1..15299148f7 100644 --- a/Minecraft.Client/Common/UI/IUIScene_StartGame.h +++ b/Minecraft.Client/Common/UI/IUIScene_StartGame.h @@ -25,19 +25,22 @@ class IUIScene_StartGame : public UIScene LaunchMoreOptionsMenuInitData m_MoreOptionsParams; bool m_bIgnoreInput; + const int m_iTexturePackID; int m_iTexturePacksNotInstalled; unsigned int m_currentTexturePackIndex; bool m_bShowTexturePackDescription; bool m_texturePackDescDisplayed; int m_iSetTexturePackDescription; - IUIScene_StartGame(int iPad, UILayer *parentLayer); + IUIScene_StartGame(int iPad, UILayer* parentLayer, int texturePackListID); + // This constructor should never be used! + //IUIScene_StartGame(int iPad, UILayer* parentLayer); virtual void checkStateAndStartGame() = 0; virtual void handleSelectionChanged(F64 selectedId); - virtual void HandleDLCMountingComplete(); + virtual void handleFocusChange(F64 controlId, F64 childId); void UpdateTexturePackDescription(int index); void UpdateCurrentTexturePack(int iSlot); diff --git a/Minecraft.Client/Common/UI/UIScene_CreateWorldMenu.cpp b/Minecraft.Client/Common/UI/UIScene_CreateWorldMenu.cpp index ef72ec163f..f3a4bf3143 100644 --- a/Minecraft.Client/Common/UI/UIScene_CreateWorldMenu.cpp +++ b/Minecraft.Client/Common/UI/UIScene_CreateWorldMenu.cpp @@ -34,7 +34,7 @@ int UIScene_CreateWorldMenu::m_iDifficultyTitleSettingA[4]= IDS_DIFFICULTY_TITLE_HARD }; -UIScene_CreateWorldMenu::UIScene_CreateWorldMenu(int iPad, void *initData, UILayer *parentLayer) : IUIScene_StartGame(iPad, parentLayer) +UIScene_CreateWorldMenu::UIScene_CreateWorldMenu(int iPad, void *initData, UILayer *parentLayer) : IUIScene_StartGame(iPad, parentLayer, eControl_TexturePackList) { // Setup all the Iggy references we need for this scene initialiseMovie(); diff --git a/Minecraft.Client/Common/UI/UIScene_LoadMenu.cpp b/Minecraft.Client/Common/UI/UIScene_LoadMenu.cpp index d61a790227..f360cd8f0d 100644 --- a/Minecraft.Client/Common/UI/UIScene_LoadMenu.cpp +++ b/Minecraft.Client/Common/UI/UIScene_LoadMenu.cpp @@ -59,7 +59,7 @@ int UIScene_LoadMenu::LoadSaveDataThumbnailReturned(LPVOID lpParam,PBYTE pbThumb return 0; } -UIScene_LoadMenu::UIScene_LoadMenu(int iPad, void *initData, UILayer *parentLayer) : IUIScene_StartGame(iPad, parentLayer) +UIScene_LoadMenu::UIScene_LoadMenu(int iPad, void *initData, UILayer *parentLayer) : IUIScene_StartGame(iPad, parentLayer, eControl_TexturePackList) { // Setup all the Iggy references we need for this scene initialiseMovie();