viernes, 13 de noviembre de 2009

Programar para la Wii

Ya desde el primer post teníamos intención de programar algo para la Wii, y no ha sido hasta el pasado mes de Octubre que tuvimos un par de tardes libre y pudimos hacer las primeras pruebas.

En este post vamos a mostrar como preparar la instalación de devkitpro para poder compilar juegos para la Wii. En su día preparamos una instalación sobre ubuntu y ahora vamos a hacer que esa misma instalación soporte a la Wii, y a la Game Cube que es lo mismo.

En resumen podemos decir que es lo mismo que el otro día pero instalando las librerías libogc en vez de libnds. Vamos a ver paso a paso:

Lo primero será bajar todo lo necesario:

Bajar devkitPPC de http://sourceforge.net/projects/devkitpro/files/ (si no lo tenemos instalado ya)
libogc -> http://sourceforge.net/projects/devkitpro/files/libogc/ (libogc-1.7.1.tar.bz2)
libfat-ogc -> http://sourceforge.net/projects/devkitpro/files/libfat/ (libfat-ogc-1.0.4.tar.bz2)
Wii examples (optional) -> http://sourceforge.net/projects/devkitpro/files/examples/ (wii-examples-20090509.tar.bz2)

En segundo lugar todos estos comandos:
$ cd Escritorio

(Si no tenemos instalado devkitpro)
$ sudo mkdir /usr/local/devkitpro 'si ni existiera ya
$ sudo chmod 777 /usr/local/devkitpro 'si ni existiera ya
$ sudo bunzip2 devkitARM_r26-i686-linux.tar.bz2
$ sudo tar xvf devkitARM_r26-i686-linux.tar -C /usr/local/devkitpro

(Seguimos)
$ sudo bunzip2 devkitPPC_r17-i686-linux.tar.bz2
$ sudo tar xvf devkitPPC_r17-i686-linux.tar -C /usr/local/devkitpro
$ sudo mkdir /usr/local/devkitpro/libogc
$ sudo chmod 777 /usr/local/devkitpro/libogc
$ sudo bunzip2 libogc-1.7.1.tar.bz2
$ sudo tar xvf libogc-1.7.1.tar -C /usr/local/devkitpro/libogc
$ sudo bunzip2 libfat-ogc-1.0.4.tar.bz2
$ sudo tar xvf libfat-ogc-1.0.4.tar -C /usr/local/devkitpro/libogc

Ahora añadimos unas variables de contexto:

$ gksudo gedit /etc/environment

y añadimos al final las siguientes líneas:

DEVKITPRO="/usr/local/devkitpro"
DEVKITARM="/usr/local/devkitpro/devkitARM"
DEVKITPPC="/usr/local/devkitpro/devkitPPC"

Reiniciando la máquina ya podremos compilar los ejemplos.

Instalar libwiisprite:

Descargar de http://chaosteil.googlepages.com/libwiisprite-0.3.0b.tar.gz

Lo descomprimos en el mismo lugar donde lo descargamos y realizamos los siguientes pasos:

De la carpeta libwiisprite/libwiisprite/include copiamos todos los archivos a /usr/local/devkitpro/libogc/include
(en mi caso he ejecutado la siguiente acción desde un terminal: sudo cp /home/inigo/Escritorio/libwiisprite/libwiisprite/include/*.h /usr/local/devkitpro/libogc/include)
Ahora sudo cp /home/inigo/Escritorio/libwiisprite/libwiisprite/lib/*.a /usr/local/devkitpro/libogc/lib/wii

Lo mismo con la carpeta libwiisprite/libpng:
sudo cp /home/inigo/Escritorio/libwiisprite/libpng/include/*.h /usr/local/devkitpro/libogc/include
sudo cp /home/inigo/Escritorio/libwiisprite/libpng/lib/*.a /usr/local/devkitpro/libogc/lib/wii

Yo en este punto tuve un problema con libwiisprite y realicé los siguientes pasos:

Bajar una nueva compilación de http://www.mediafire.com/download.php?wwycxmg0j0x
y ejecutar: sudo cp /home/inigo/Escritorio/libwiisprite.a /usr/local/devkitpro/libogc/lib/wii

Descargar con Synaptic la librería libfreeimage

Si todo ha ido bien ya se podrá compilar los ejemplos que vienen con la librería.

Hemos instalado la librería libwiisprite, hay más librerías pero nosotros sólo vamos a usar esta, por ahora.

Y que vamos a hacer nosotros en este blog, pues algo muy sencillo, vamos a pasar el Tetris que hicimos para la DS a la Wii!!!

Para ir abriendo boca os dejo un video para que veáis como ha quedado el juego, si os fijaís bien es el mismo que el de la nintendo DS (sólo hemos cambiado el fondo).


Saludos

P.D. En los siguientes post sobre Wii veremos como trabajo con ella, pero lo que no puedo explicar bien es como crear el Homebrew channel. Lo hice hace un año y ahora hay nuevas formas de hacerlo y no tengo ni idea.

P.D. Seguimos con el tema del New Super Mario Bros. El próximo post será para él.

No hay comentarios: