Merge pull request #277 from ViniciusCruzMoura/exit_btn_behaviour

UIScene_MainMenu: Enable the Exit Game Button Behaviour
This commit is contained in:
ffqq 2026-03-18 22:59:50 +03:00 committed by GitHub
commit 01fabdf2a3
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
18 changed files with 37 additions and 21 deletions

View file

@ -311,6 +311,8 @@ void C4JRender::SetFullscreen(bool fs) { s_fullscreen = fs; }
bool C4JRender::ShouldClose() { return !s_window || s_shouldClose; }
void C4JRender::Close() { s_window = nullptr; }
void C4JRender::Shutdown() {
// Destroy the main window and clean up SDL resources so that
// destructors running after the game loop don't touch a dead context.

View file

@ -227,6 +227,7 @@ public:
// Linux window management
bool ShouldClose();
void Close();
void Shutdown();
};

View file

@ -120,7 +120,7 @@
</data>
<data name="IDS_WARNING_ARCADE_TITLE">
<value>Return to Xbox Dashboard</value>
<value>Return to Desktop</value>
</data>
<data name="IDS_WARNING_ARCADE_TEXT">
@ -208,4 +208,4 @@ Would you like to unlock the full game?</value>
<data name="IDS_PRO_PROFILEPROBLEM_TEXT">
<value>You are being returned to the main menu because of a problem reading your profile.</value>
</data>
</root>
</root>

View file

@ -40,7 +40,7 @@
</data>
<data name="IDS_WARNING_ARCADE_TITLE">
<value>Return to Xbox Dashboard</value>
<value>Return to Desktop</value>
</data>
<data name="IDS_PRO_RETURNEDTOTITLESCREEN_TEXT">
@ -102,4 +102,4 @@
<data name="IDS_PRO_PROFILEPROBLEM_TEXT">
<value>You are being returned to the main menu because of a problem reading your profile.</value>
</data>
</root>
</root>

View file

@ -185,7 +185,7 @@
</data>
<data name="IDS_WARNING_ARCADE_TITLE">
<value>Return to Xbox Dashboard</value>
<value>Return to Desktop</value>
</data>
<data name="IDS_WARNING_ARCADE_TEXT">
@ -315,7 +315,7 @@ Would you like to unlock the full game?</value>
</data>
<data name="IDS_WARNING_ARCADE_TITLE">
<value>Return to Xbox Dashboard</value>
<value>Return to Desktop</value>
</data>
<data name="IDS_PRO_RETURNEDTOTITLESCREEN_TEXT">
@ -8604,4 +8604,4 @@ If you try to save while using the trial version, you will be given the option t
<data name="IDS_ERROR_NETWORK_TITLE">
<value>Network Error</value>
</data>
</root>
</root>

View file

@ -40,7 +40,7 @@
</data>
<data name="IDS_WARNING_ARCADE_TITLE">
<value>Return to Xbox Dashboard</value>
<value>Return to Desktop</value>
</data>
<data name="IDS_PRO_RETURNEDTOTITLESCREEN_TEXT">
@ -102,4 +102,4 @@
<data name="IDS_PRO_PROFILEPROBLEM_TEXT">
<value>You are being returned to the main menu because of a problem reading your profile.</value>
</data>
</root>
</root>

View file

@ -250,7 +250,7 @@
</data>
<data name="IDS_WARNING_ARCADE_TITLE">
<value>Return to Xbox Dashboard</value>
<value>Return to Desktop</value>
</data>
<data name="IDS_PRO_RETURNEDTOTITLESCREEN_TEXT">
@ -8398,4 +8398,4 @@ Xbox 360 본체용 Minecraft는 멀티 플레이 게임이 기본값으로 되
<data name="IDS_HOST_OPTION_DISABLES_ACHIEVEMENTS">
<value>이 옵션을 켜면 도전 과제를 획득할 수 없으며 순위표에 기록되지 않습니다. 플레이 도중에 옵션을 켜거나 옵션을 켠 후 저장한 게임을 다시 불러와도 마찬가지입니다.</value>
</data>
</root>
</root>

View file

@ -92,7 +92,7 @@
<value>Enter a name for your savegame</value>
</data>
<data name="IDS_WARNING_ARCADE_TITLE">
<value>Return to Xbox Dashboard</value>
<value>Return to Desktop</value>
</data>
<data name="IDS_WARNING_ARCADE_TEXT">
<value>Are you sure you want to exit the game?</value>

View file

@ -342,6 +342,7 @@ bool UILayer::NavigateToScene(int iPad, EUIScene scene, void *initData)
// Frontend
case eUIScene_TrialExitUpsell:
newScene = new UIScene_TrialExitUpsell(iPad, initData, this);
app.DebugPrintf("UILayer::NavigateToScene AFTER UIScene_TrialExitUpsell CALL\n");
break;
case eUIScene_Intro:
newScene = new UIScene_Intro(iPad, initData, this);

View file

@ -226,9 +226,12 @@ void UIScene::setSafeZone(S32 safeTop, S32 safeBottom, S32 safeLeft, S32 safeRig
void UIScene::initialiseMovie()
{
loadMovie();
mapElementsAndNames();
app.DebugPrintf("UIScene::initialiseMovie AFTER loadMovie CALL\n");
mapElementsAndNames();
app.DebugPrintf("UIScene::initialiseMovie AFTER mapElementsAndNames CALL\n");
updateSafeZone();
app.DebugPrintf("UIScene::initialiseMovie AFTER updateSafeZone CALL\n");
m_bUpdateOpacity = true;
}
@ -1283,4 +1286,4 @@ int UIScene::parseSlotId(const char16_t *s) {
}
return id;
}
}

View file

@ -301,7 +301,9 @@ void UIScene_MainMenu::handlePress(F64 controlId, F64 childId)
ui.PlayUISFX(eSFX_Press);
signInReturnedFunc = &UIScene_MainMenu::CreateLoad_SignInReturned;
app.DebugPrintf("UIScene_MainMenu::handlePress AFTER &UIScene_MainMenu::CreateLoad_SignInReturned\n");
#endif
app.DebugPrintf("UIScene_MainMenu::handlePress FINISH eControl_PlayGame \n");
break;
case eControl_Leaderboards:
//CD - Added for audio
@ -334,7 +336,6 @@ void UIScene_MainMenu::handlePress(F64 controlId, F64 childId)
m_eAction=eAction_RunUnlockOrDLC;
signInReturnedFunc = &UIScene_MainMenu::UnlockFullGame_SignInReturned;
break;
#if defined _XBOX
case eControl_Exit:
if( ProfileManager.IsFullVersion() )
{
@ -342,16 +343,19 @@ void UIScene_MainMenu::handlePress(F64 controlId, F64 childId)
uiIDA[0]=IDS_CANCEL;
uiIDA[1]=IDS_OK;
ui.RequestMessageBox(IDS_WARNING_ARCADE_TITLE, IDS_WARNING_ARCADE_TEXT, uiIDA, 2, XUSER_INDEX_ANY,&UIScene_MainMenu::ExitGameReturned,this);
app.DebugPrintf("UIScene_MainMenu::handlePress AFTER ui.RequestMessageBox(IDS_WARNING_ARCADE_TITLE, IDS_WARNING_ARCADE_TEXT, uiIDA, 2, XUSER_INDEX_ANY,&UIScene_MainMenu::ExitGameReturned,this) CALL\n");
}
#if defined _XBOX //|| _ENABLEIGGY
else
{
#ifdef _XBOX_ONE
ui.ShowPlayerDisplayname(true);
#endif
ui.NavigateToScene(primaryPad,eUIScene_TrialExitUpsell);
app.DebugPrintf("UIScene_MainMenu::handlePress AFTER ui.NavigateToScene(primaryPad,eUIScene_TrialExitUpsell) CALL\n");
}
break;
#endif
break;
#ifdef _DURANGO
case eControl_XboxHelp:
@ -1034,6 +1038,7 @@ int UIScene_MainMenu::ExitGameReturned(void *pParam,int iPad,C4JStorage::EMessag
{
//XLaunchNewImage(XLAUNCH_KEYWORD_DASH_ARCADE, 0);
app.ExitGame();
app.DebugPrintf("UIScene_MainMenu::ExitGameReturned AFTER app.ExitGame() CALL\n");
}
return 0;

View file

@ -6,6 +6,7 @@
UIScene_TrialExitUpsell::UIScene_TrialExitUpsell(int iPad, void *initData, UILayer *parentLayer) : UIScene(iPad, parentLayer)
{
// Setup all the Iggy references we need for this scene
app.DebugPrintf("UIScene_TrialExitUpsell::UIScene_TrialExitUpsell BEFORE initialiseMovie CALL\n");
initialiseMovie();
}

View file

@ -92,7 +92,7 @@
<value>Enter a name for your savegame</value>
</data>
<data name="IDS_WARNING_ARCADE_TITLE">
<value>Return to Xbox Dashboard</value>
<value>Return to Desktop</value>
</data>
<data name="IDS_WARNING_ARCADE_TEXT">
<value>Are you sure you want to exit the game?</value>

View file

@ -23,7 +23,10 @@ void CConsoleMinecraftApp::SetRichPresenceContext(int iPad, int contextId) {
}
void CConsoleMinecraftApp::StoreLaunchData() {}
void CConsoleMinecraftApp::ExitGame() {}
void CConsoleMinecraftApp::ExitGame() {
app.DebugPrintf("Linux_App CConsoleMinecraftApp::ExitGame AFTER START\n");
RenderManager.Close();
}
void CConsoleMinecraftApp::FatalLoadError() {
app.DebugPrintf(
"CConsoleMinecraftApp::FatalLoadError - asserting 0 and dying...\n");

View file

@ -92,7 +92,7 @@
<value>Enter a name for your savegame</value>
</data>
<data name="IDS_WARNING_ARCADE_TITLE">
<value>Return to Xbox Dashboard</value>
<value>Return to Desktop</value>
</data>
<data name="IDS_WARNING_ARCADE_TEXT">
<value>Are you sure you want to exit the game?</value>

View file

@ -92,7 +92,7 @@
<value>Enter a name for your savegame</value>
</data>
<data name="IDS_WARNING_ARCADE_TITLE">
<value>Return to Xbox Dashboard</value>
<value>Return to Desktop</value>
</data>
<data name="IDS_WARNING_ARCADE_TEXT">
<value>Are you sure you want to exit the game?</value>

View file

@ -59,7 +59,7 @@
</data>
<data name="4J_strings.IDS_KEYBOARDUI_SAVEGAME_TEXT"><value><!-- _locID_text="4J_strings.IDS_KEYBOARDUI_SAVEGAME_TEXT" _locComment="" -->Enter a name for your savegame</value>
</data>
<data name="4J_strings.IDS_WARNING_ARCADE_TITLE"><value><!-- _locID_text="4J_strings.IDS_WARNING_ARCADE_TITLE" _locComment="" -->Return to Xbox Dashboard</value>
<data name="4J_strings.IDS_WARNING_ARCADE_TITLE"><value><!-- _locID_text="4J_strings.IDS_WARNING_ARCADE_TITLE" _locComment="" -->Return to Desktop</value>
</data>
<data name="4J_strings.IDS_WARNING_ARCADE_TEXT"><value><!-- _locID_text="4J_strings.IDS_WARNING_ARCADE_TEXT" _locComment="" -->Are you sure you want to exit the game?</value>
</data>