mirror of
https://github.com/LumaTeam/Luma3DS.git
synced 2026-02-22 01:44:38 +00:00
rosalina: move power off/reboot back, in a single menu entry this time
This commit is contained in:
parent
1c737d499f
commit
0a11d29d8b
@ -38,6 +38,8 @@ void RosalinaMenu_ProcessList(void);
|
||||
void RosalinaMenu_SaveSettings(void);
|
||||
void RosalinaMenu_Cheats(void);
|
||||
|
||||
void RosalinaMenu_PowerOffOrReboot(void);
|
||||
|
||||
void RosalinaMenu_ShowSystemInfo();
|
||||
|
||||
bool rosalinaMenuShouldShowDebugInfo(void);
|
||||
|
||||
@ -44,5 +44,3 @@ void SysConfigMenu_ToggleCardIfPower(void);
|
||||
void SysConfigMenu_LoadConfig(void);
|
||||
void SysConfigMenu_AdjustVolume(void);
|
||||
void SysConfigMenu_ChangeScreenBrightness(void);
|
||||
void SysConfigMenu_PowerOff(void);
|
||||
void SysConfigMenu_Reboot(void);
|
||||
|
||||
@ -55,6 +55,7 @@ Menu rosalinaMenu = {
|
||||
{ "System configuration...", MENU, .menu = &sysconfigMenu },
|
||||
{ "Miscellaneous options...", MENU, .menu = &miscellaneousMenu },
|
||||
{ "Save settings", METHOD, .method = &RosalinaMenu_SaveSettings },
|
||||
{ "Power off / reboot", METHOD, .method = &RosalinaMenu_PowerOffOrReboot },
|
||||
{ "System info", METHOD, .method = &RosalinaMenu_ShowSystemInfo },
|
||||
{ "Credits", METHOD, .method = &RosalinaMenu_ShowCredits },
|
||||
{ "Debug info", METHOD, .method = &RosalinaMenu_ShowDebugInfo, .visibility = &rosalinaMenuShouldShowDebugInfo },
|
||||
@ -93,6 +94,42 @@ void RosalinaMenu_SaveSettings(void)
|
||||
while(!(waitInput() & KEY_B) && !menuShouldExit);
|
||||
}
|
||||
|
||||
void RosalinaMenu_PowerOffOrReboot(void)
|
||||
{
|
||||
Draw_Lock();
|
||||
Draw_ClearFramebuffer();
|
||||
Draw_FlushFramebuffer();
|
||||
Draw_Unlock();
|
||||
|
||||
do
|
||||
{
|
||||
Draw_Lock();
|
||||
Draw_DrawString(10, 10, COLOR_TITLE, "Power Off / Reboot");
|
||||
Draw_DrawString(10, 30, COLOR_WHITE, "Press A to power off.\nPress Y to reboot.\nPress B to go back.");
|
||||
Draw_FlushFramebuffer();
|
||||
Draw_Unlock();
|
||||
|
||||
u32 pressed = waitInputWithTimeout(1000);
|
||||
|
||||
if(pressed & KEY_Y)
|
||||
{
|
||||
menuLeave();
|
||||
APT_HardwareResetAsync();
|
||||
return;
|
||||
}
|
||||
else if(pressed & KEY_A)
|
||||
{
|
||||
// Soft shutdown
|
||||
menuLeave();
|
||||
srvPublishToSubscriber(0x203, 0);
|
||||
return;
|
||||
}
|
||||
else if(pressed & KEY_B)
|
||||
return;
|
||||
}
|
||||
while(!menuShouldExit);
|
||||
}
|
||||
|
||||
void RosalinaMenu_ShowSystemInfo(void)
|
||||
{
|
||||
u32 kver = osGetKernelVersion();
|
||||
|
||||
@ -44,8 +44,6 @@ Menu sysconfigMenu = {
|
||||
{ "Toggle Power Button", METHOD, .method=&SysConfigMenu_TogglePowerButton },
|
||||
{ "Toggle power to card slot", METHOD, .method=&SysConfigMenu_ToggleCardIfPower},
|
||||
{ "Change screen brightness", METHOD, .method = &SysConfigMenu_ChangeScreenBrightness },
|
||||
{ "Power off", METHOD, .method = &SysConfigMenu_PowerOff },
|
||||
{ "Reboot", METHOD, .method = &SysConfigMenu_Reboot },
|
||||
{},
|
||||
}
|
||||
};
|
||||
@ -591,60 +589,3 @@ void SysConfigMenu_ChangeScreenBrightness(void)
|
||||
|
||||
Draw_Unlock();
|
||||
}
|
||||
|
||||
void SysConfigMenu_PowerOff(void) // Soft shutdown.
|
||||
{
|
||||
Draw_Lock();
|
||||
Draw_ClearFramebuffer();
|
||||
Draw_FlushFramebuffer();
|
||||
Draw_Unlock();
|
||||
|
||||
do
|
||||
{
|
||||
Draw_Lock();
|
||||
Draw_DrawString(10, 10, COLOR_TITLE, "Power off");
|
||||
Draw_DrawString(10, 30, COLOR_WHITE, "Press A to power off, press B to go back.");
|
||||
Draw_FlushFramebuffer();
|
||||
Draw_Unlock();
|
||||
|
||||
u32 pressed = waitInputWithTimeout(1000);
|
||||
|
||||
if(pressed & KEY_A)
|
||||
{
|
||||
menuLeave();
|
||||
srvPublishToSubscriber(0x203, 0);
|
||||
return;
|
||||
}
|
||||
else if(pressed & KEY_B)
|
||||
return;
|
||||
}
|
||||
while(!menuShouldExit);
|
||||
}
|
||||
|
||||
void SysConfigMenu_Reboot(void)
|
||||
{
|
||||
Draw_Lock();
|
||||
Draw_ClearFramebuffer();
|
||||
Draw_FlushFramebuffer();
|
||||
Draw_Unlock();
|
||||
|
||||
do
|
||||
{
|
||||
Draw_Lock();
|
||||
Draw_DrawString(10, 10, COLOR_TITLE, "Reboot");
|
||||
Draw_DrawString(10, 30, COLOR_WHITE, "Press A to reboot, press B to go back.");
|
||||
Draw_FlushFramebuffer();
|
||||
Draw_Unlock();
|
||||
|
||||
u32 pressed = waitInputWithTimeout(1000);
|
||||
|
||||
if(pressed & KEY_A)
|
||||
{
|
||||
menuLeave();
|
||||
APT_HardwareResetAsync();
|
||||
return;
|
||||
} else if(pressed & KEY_B)
|
||||
return;
|
||||
}
|
||||
while(!menuShouldExit);
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user