From 94cabbe01b2f953a9073279824069da1ceffc034 Mon Sep 17 00:00:00 2001 From: ViniciusCruzMoura Date: Mon, 23 Mar 2026 01:27:25 -0400 Subject: [PATCH] fix(SelectWorldScreen): open Select World instead of Create New World i restored the Select World scene so it no longer immediately opens "Create New World" i wrapped the not used code in if (0) so its ignored at runtime but still compiled to catch build breaks. fixing the Select World scene also fixed the Cancel button so you can go back to the previous scene (before it was stuck on Create New World) i didnt remove the weird code because i dont know why its there left it disabled for now Signed-off-by: ViniciusCruzMoura --- .../UI/Screens/CreateWorldScreen.cpp | 4 +- .../UI/Screens/SelectWorldScreen.cpp | 60 ++++++++++--------- 2 files changed, 36 insertions(+), 28 deletions(-) diff --git a/Minecraft.Client/UI/Screens/CreateWorldScreen.cpp b/Minecraft.Client/UI/Screens/CreateWorldScreen.cpp index bf00975cc..66e4cee3d 100644 --- a/Minecraft.Client/UI/Screens/CreateWorldScreen.cpp +++ b/Minecraft.Client/UI/Screens/CreateWorldScreen.cpp @@ -152,8 +152,10 @@ std::wstring CreateWorldScreen::findAvailableFolderName( void CreateWorldScreen::removed() { Keyboard::enableRepeatEvents(false); } void CreateWorldScreen::buttonClicked(Button* button) { + app.DebugPrintf("CreateWorldScreen::buttonClicked START\n"); if (!button->active) return; if (button->id == 1) { + app.DebugPrintf("CreateWorldScreen::buttonClicked 'Cancel' minecraft->setScreen(lastScreen)\n"); minecraft->setScreen(lastScreen); } else if (button->id == 0) { minecraft->setScreen( @@ -418,4 +420,4 @@ void CreateWorldScreen::tabPressed() { nameEdit->focus(true); seedEdit->focus(false); } -} \ No newline at end of file +} diff --git a/Minecraft.Client/UI/Screens/SelectWorldScreen.cpp b/Minecraft.Client/UI/Screens/SelectWorldScreen.cpp index 080966374..aa410280b 100644 --- a/Minecraft.Client/UI/Screens/SelectWorldScreen.cpp +++ b/Minecraft.Client/UI/Screens/SelectWorldScreen.cpp @@ -24,6 +24,7 @@ SelectWorldScreen::SelectWorldScreen(Screen* lastScreen) { } void SelectWorldScreen::init() { + app.DebugPrintf("SelectWorldScreen::init() START\n"); Language* language = Language::getInstance(); title = language->getElement(L"selectWorld.title"); @@ -84,6 +85,7 @@ void SelectWorldScreen::postInit() { } void SelectWorldScreen::buttonClicked(Button* button) { + app.DebugPrintf("SelectWorldScreen::buttonClicked START\n"); if (!button->active) return; if (button->id == BUTTON_DELETE_ID) { std::wstring worldName = getWorldName(selectedWorld); @@ -125,6 +127,7 @@ void SelectWorldScreen::buttonClicked(Button* button) { minecraft->setScreen( new RenameWorldScreen(this, getWorldId(selectedWorld))); } else if (button->id == BUTTON_CANCEL_ID) { + app.DebugPrintf("SelectWorldScreen::buttonClicked 'Cancel' minecraft->setScreen(lastScreen)\n"); minecraft->setScreen(lastScreen); } else { worldSelectionList->buttonClicked(button); @@ -173,35 +176,38 @@ void SelectWorldScreen::render(int xm, int ym, float a) { Screen::render(xm, ym, a); // 4J - debug code - remove - static int count = 0; - static bool forceCreateLevel = false; - if (count++ >= 100) { - if (!forceCreateLevel && levelList->size() > 0) { - // 4J Stu - For some obscures reason the "delete" button is called - // "renameButton" and vice versa. - // if( levelList->size() > 2 && deleteButton->active ) - //{ - // this->selectedWorld = 2; - // count = 0; - // buttonClicked(deleteButton); - //} - // else - if (levelList->size() > 1 && renameButton->active) { - this->selectedWorld = 1; - count = 0; - buttonClicked(renameButton); - } else if (selectButton->active == true) { - this->selectedWorld = 0; - buttonClicked(selectButton); - // this->worldSelected( 0 ); + if (0) { + static int count = 0; + static bool forceCreateLevel = false; + if (count++ >= 100) { + if (!forceCreateLevel && levelList->size() > 0) { + // 4J Stu - For some obscures reason the "delete" button is called + // "renameButton" and vice versa. + // if( levelList->size() > 2 && deleteButton->active ) + //{ + // this->selectedWorld = 2; + // count = 0; + // buttonClicked(deleteButton); + //} + // else + if (levelList->size() > 1 && renameButton->active) { + this->selectedWorld = 1; + count = 0; + buttonClicked(renameButton); + } else if (selectButton->active == true) { + this->selectedWorld = 0; + buttonClicked(selectButton); + // this->worldSelected( 0 ); + } else { + selectButton->active = true; + deleteButton->active = true; + renameButton->active = true; + count = 0; + } } else { - selectButton->active = true; - deleteButton->active = true; - renameButton->active = true; - count = 0; + app.DebugPrintf("SelectWorldScreen::render minecraft->setScreen(new CreateWorldScreen(this))\n"); + minecraft->setScreen(new CreateWorldScreen(this)); } - } else { - minecraft->setScreen(new CreateWorldScreen(this)); } } }