Line 49:
Line 49:
Or use SYS_RETURNTOMENU for a "soft" return to the system menu, SYS_POWEROFF to shut down the wii (automatically to the appropriate Idle or Standby mode, depending on the WC24 setting), or SYS_POWEROFF_STANDBY or _IDLE to specify the mode and override the system setting.
Or use SYS_RETURNTOMENU for a "soft" return to the system menu, SYS_POWEROFF to shut down the wii (automatically to the appropriate Idle or Standby mode, depending on the WC24 setting), or SYS_POWEROFF_STANDBY or _IDLE to specify the mode and override the system setting.
+
===How to use the callback function for Power and Reset===
+
This is just a way of doing this stuff, feel free to change the code.
+
<source lang="c">
+
u8 HWButton = 0;
+
+
/**
+
* Callback for the reset button on the Wii.
+
*/
+
void WiiResetPressed()
+
{
+
HWButton = SYS_RETURNTOMENU;
+
}
+
+
/**
+
* Callback for the power button on the Wii.
+
*/
+
void WiiPowerPressed()
+
{
+
HWButton = SYS_POWEROFF_STANDBY;
+
}
+
+
/**
+
* Callback for the power button on the Wiimote.
+
* @param[in] chan The Wiimote that pressed the button
+
*/
+
void WiimotePowerPressed(s32 chan)
+
{
+
HWButton = SYS_POWEROFF_STANDBY;
+
}
+
+
/**
+
* Entry point.
+
* @param[in] argc The number of arguments invoked with the program
+
* @param[in] argv The array containing the arguments
+
* @return 0 on clean exit, an error code otherwise
+
*/
+
int main(int argc, char **argv)
+
{
+
// Initialization
+
+
SYS_SetResetCallback(WiiResetPressed);
+
SYS_SetPowerCallback(WiiPowerPressed);
+
WPAD_SetPowerButtonCallback(WiimotePowerPressed);
+
+
while(1)
+
{
+
// Do Stuff Here
+
if(HWButton)
+
break;
+
}
+
+
if(HWButton)
+
{
+
SYS_ResetSystem(HWButton, 0, 0);
+
}
+
+
return 0;
+
}
+
</source>
[[Category:Development]]
[[Category:Development]]