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; } bool C4JRender::ShouldClose() { return !s_window || s_shouldClose; }
void C4JRender::Close() { s_window = nullptr; }
void C4JRender::Shutdown() { void C4JRender::Shutdown() {
// Destroy the main window and clean up SDL resources so that // Destroy the main window and clean up SDL resources so that
// destructors running after the game loop don't touch a dead context. // destructors running after the game loop don't touch a dead context.

View file

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

View file

@ -120,7 +120,7 @@
</data> </data>
<data name="IDS_WARNING_ARCADE_TITLE"> <data name="IDS_WARNING_ARCADE_TITLE">
<value>Return to Xbox Dashboard</value> <value>Return to Desktop</value>
</data> </data>
<data name="IDS_WARNING_ARCADE_TEXT"> <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"> <data name="IDS_PRO_PROFILEPROBLEM_TEXT">
<value>You are being returned to the main menu because of a problem reading your profile.</value> <value>You are being returned to the main menu because of a problem reading your profile.</value>
</data> </data>
</root> </root>

View file

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

View file

@ -185,7 +185,7 @@
</data> </data>
<data name="IDS_WARNING_ARCADE_TITLE"> <data name="IDS_WARNING_ARCADE_TITLE">
<value>Return to Xbox Dashboard</value> <value>Return to Desktop</value>
</data> </data>
<data name="IDS_WARNING_ARCADE_TEXT"> <data name="IDS_WARNING_ARCADE_TEXT">
@ -315,7 +315,7 @@ Would you like to unlock the full game?</value>
</data> </data>
<data name="IDS_WARNING_ARCADE_TITLE"> <data name="IDS_WARNING_ARCADE_TITLE">
<value>Return to Xbox Dashboard</value> <value>Return to Desktop</value>
</data> </data>
<data name="IDS_PRO_RETURNEDTOTITLESCREEN_TEXT"> <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"> <data name="IDS_ERROR_NETWORK_TITLE">
<value>Network Error</value> <value>Network Error</value>
</data> </data>
</root> </root>

View file

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

View file

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

View file

@ -92,7 +92,7 @@
<value>Enter a name for your savegame</value> <value>Enter a name for your savegame</value>
</data> </data>
<data name="IDS_WARNING_ARCADE_TITLE"> <data name="IDS_WARNING_ARCADE_TITLE">
<value>Return to Xbox Dashboard</value> <value>Return to Desktop</value>
</data> </data>
<data name="IDS_WARNING_ARCADE_TEXT"> <data name="IDS_WARNING_ARCADE_TEXT">
<value>Are you sure you want to exit the game?</value> <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 // Frontend
case eUIScene_TrialExitUpsell: case eUIScene_TrialExitUpsell:
newScene = new UIScene_TrialExitUpsell(iPad, initData, this); newScene = new UIScene_TrialExitUpsell(iPad, initData, this);
app.DebugPrintf("UILayer::NavigateToScene AFTER UIScene_TrialExitUpsell CALL\n");
break; break;
case eUIScene_Intro: case eUIScene_Intro:
newScene = new UIScene_Intro(iPad, initData, this); 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() void UIScene::initialiseMovie()
{ {
loadMovie(); loadMovie();
mapElementsAndNames(); app.DebugPrintf("UIScene::initialiseMovie AFTER loadMovie CALL\n");
mapElementsAndNames();
app.DebugPrintf("UIScene::initialiseMovie AFTER mapElementsAndNames CALL\n");
updateSafeZone(); updateSafeZone();
app.DebugPrintf("UIScene::initialiseMovie AFTER updateSafeZone CALL\n");
m_bUpdateOpacity = true; m_bUpdateOpacity = true;
} }
@ -1283,4 +1286,4 @@ int UIScene::parseSlotId(const char16_t *s) {
} }
return id; return id;
} }

View file

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

View file

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

View file

@ -92,7 +92,7 @@
<value>Enter a name for your savegame</value> <value>Enter a name for your savegame</value>
</data> </data>
<data name="IDS_WARNING_ARCADE_TITLE"> <data name="IDS_WARNING_ARCADE_TITLE">
<value>Return to Xbox Dashboard</value> <value>Return to Desktop</value>
</data> </data>
<data name="IDS_WARNING_ARCADE_TEXT"> <data name="IDS_WARNING_ARCADE_TEXT">
<value>Are you sure you want to exit the game?</value> <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::StoreLaunchData() {}
void CConsoleMinecraftApp::ExitGame() {} void CConsoleMinecraftApp::ExitGame() {
app.DebugPrintf("Linux_App CConsoleMinecraftApp::ExitGame AFTER START\n");
RenderManager.Close();
}
void CConsoleMinecraftApp::FatalLoadError() { void CConsoleMinecraftApp::FatalLoadError() {
app.DebugPrintf( app.DebugPrintf(
"CConsoleMinecraftApp::FatalLoadError - asserting 0 and dying...\n"); "CConsoleMinecraftApp::FatalLoadError - asserting 0 and dying...\n");

View file

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

View file

@ -59,7 +59,7 @@
</data> </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 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>
<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>
<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 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> </data>