Pues , como no veo mucha información sobre la liboGC (al menos en español), pues he decidido que qué menos que aprendamos ha hacer un Hello World explicando lo que hace cada función.
A partir de este ejemplo, puedes poner texto en la wii
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <malloc.h>
#include <ogcsys.h>
#include <gccore.h>
#include <wiiuse/wpad.h>
//incluimos librerias
static void *xfb = NULL;
static GXRModeObj *rmode = NULL;
int main(int argc, char **argv) {//iniciamos la función "main()"
VIDEO_Init();//Iniciamos el video
PAD_Init();//Iniciamos el pad
WPAD_Init();//Iniciamos wiimote
rmode = VIDEO_GetPreferredMode(NULL);//Esto recibe el tipo de "monitor" y la configuración que tienes en la wii
xfb = MEM_K0_TO_K1(SYS_AllocateFramebuffer(rmode));//Inicia el buffer
CON_InitEx(rmode, 20,30,rmode->fbWidth-40,rmode->xfbHeight-60);//Inicia el modo consola
VIDEO_ClearFrameBuffer(rmode,xfb,COLOR_WHITE);//Borde de la pantalla, color blanco
VIDEO_Configure(rmode);//Le dices a la consola que modo de vídeo que usar y la pantalla se configura según esto
VIDEO_SetNextFramebuffer(xfb);//Le dices donde guardar el siguiente buffer
VIDEO_SetBlack(FALSE);//Sirve para poner pantalla en negro
VIDEO_Flush();//Vaciamos el buffer
VIDEO_WaitVSync();
if(rmode->viTVMode&VI_NON_INTERLACE) VIDEO_WaitVSync();
/*TEXTO*/
printf(" \n\n");//2 saltos de línea
printf("Hola mundo!\n");/*ponemos texto y un salto de línea para que lo lea.
La función printf no pone el texto en el monitor, lo almacena en el buffer y , con el salto de línea,
conseguimos que salga en ella*/
printf(" \n\n");//2 saltos de línea
printf("Hola mundo realizado por Rigle y explicado por el con ayuda de Waninkoko y marcan\n");
printf("Gracias a Marcan y demas gente por la liboGC, que hacen posible el homebrew en wii\n");
while(1) {
WPAD_ScanPads();//Inicia el escaneo de wiimotes
u32 pressed = WPAD_ButtonsDown(0);
if ( pressed & WPAD_BUTTON_HOME ) exit(0);//Si se pulsa el botón home se vuelve al menu de la wii
VIDEO_WaitVSync();//Esperamos a que se haga un refresco de pantalla para comenzar el redibujado de pantalla
}
return 0;
}//Final del main
Dejo el pastie, para los que lo quieran ver mejor:
http://pastie.org/212962Agradezco a waninkoko su ayuda con las funciones desconocidas para mí y a marcan y demás por hacer una librería tan excelente.
Eso es todo. Espero que os guste.