Difference between revisions of "Developer tips"
Jump to navigation
Jump to search
m (added Languages link) |
(added includes & declarations) |
||
Line 4: | Line 4: | ||
Here is the video detect code from the DevKitPro Wii example. | Here is the video detect code from the DevKitPro Wii example. | ||
<source lang="c"> | <source lang="c"> | ||
+ | #include <gccore.h> | ||
+ | static GXRModeObj *rmode = NULL; | ||
+ | // ... | ||
rmode = VIDEO_GetPreferredMode(NULL); | rmode = VIDEO_GetPreferredMode(NULL); | ||
VIDEO_Configure(rmode); | VIDEO_Configure(rmode); | ||
Line 14: | Line 17: | ||
// Just call the exit() function to go back to the loader | // Just call the exit() function to go back to the loader | ||
// Returning from main also works, since that calls exit for you | // Returning from main also works, since that calls exit for you | ||
− | exit(0); | + | #include <unistd.h> |
+ | // ... | ||
+ | exit(0); | ||
</source> | </source> | ||
Line 23: | Line 28: | ||
Use: | Use: | ||
<source lang="c"> | <source lang="c"> | ||
+ | #include <gccore.h> | ||
+ | // ... | ||
SYS_ResetSystem(SYS_RESTART,0,0); | SYS_ResetSystem(SYS_RESTART,0,0); | ||
</source> | </source> | ||
Line 33: | Line 40: | ||
*If someone does the same thing in a more efficient way (i.e. faster and/or in less code), accept it and learn from it. | *If someone does the same thing in a more efficient way (i.e. faster and/or in less code), accept it and learn from it. | ||
− | {{Languages | + | {{Languages}} |
Revision as of 08:32, 24 July 2008
Code Snippets
Video Auto-Detect Routine
The libogc included in DevkitPPC r15 does this for you with one function call. Here is the video detect code from the DevKitPro Wii example.
#include <gccore.h>
static GXRModeObj *rmode = NULL;
// ...
rmode = VIDEO_GetPreferredMode(NULL);
VIDEO_Configure(rmode);
Exit to Loader
It's a good idea to add some way to return to the loader, otherwise you have to reboot you Wii to exit.
// Just call the exit() function to go back to the loader
// Returning from main also works, since that calls exit for you
#include <unistd.h>
// ...
exit(0);
How to use the Wiimote
A separate article is available: How to use the Wiimote.
Reboot Wii
Use:
#include <gccore.h>
// ...
SYS_ResetSystem(SYS_RESTART,0,0);
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.
General Programming Tips
- Keep your code commented throughout; it helps others help you.
- Any unused code should be deleted out of the program, unless it is a program for teaching people.
- If someone does the same thing in a more efficient way (i.e. faster and/or in less code), accept it and learn from it.