Hola a todos.
Algunos ya me conocereis
![otra sonrisa [jaja]](/images/smilies/nuevos2/otrasonrisa.gif)
de andar por aqui y de estar haciendo el proyecto de un juego para GC.
Pues abro este post mara que quien quiera programar o tenga dudas sobre partes actuales de sus proyectos pueda preguntar sobre como poder solucionar algun problema o como se puede hacer una determinada funcion con las librerias disponibles.
Que programas se pueden usar para compilar y que librerias estan disponibles de forma gratuita.
Paginas acerca del tema y con descargas etc..
Pues comenzare este post poniendo un minituto que ya plantee en el hilo de mi proyecto, pero que la verdad aqui sera de mas ayuda
---------------------------------------------------------------------
Aprende a programar en C# :
Lo primero que hay que tener en cuenta es que C# no es lo mismo que C/C++. Segun palabras del creador de un manual muy muy bueno y muy bien explicado (no hace falta saber nada de nada para entender el manual entero
![guiñando [ginyo]](/images/smilies/nuevos/guinyo_ani1.gif)
) se podria definir a C# como "combina la rapidez de desarrollo de Visual Basic con la enorme capacidad bruta de C++".
Os animo a todos a aprender ya que no es nada dificil y se consiguen resultados decentes muy rapido y con un poco de ganas, podreis hacer vuestros propios juegos.
Ire añadiendo mas manuales de buena calidad y facil comprension.
Ademas de unos que yo mismo hare, totalmente orientas a programar en GC.
Manual C#
---------------------------------------------------------------------
Compiladores y librerias para GC :
Principalmente los programadores mas avanzados suelen hacer uso de Codewarriors de Metrowerks el cual es un software de uso oficial y sus plugins no se pueden usar sin la licencia de Nintendo por lo cual igualmente tendrias que usar las librerias gratuitas.
Luego tambien puedes optar por una de las mejores opciones y mas completas, esta es el proyecto DevkitPro alojado en sourceforge
http://sourceforge.net/project/showfiles.php?group_id=114505
donde te tienes que bajar el archivo "devkitPro Updater 1.2.1" y al ejecutar este podras elegir que programas descargarte e incluso si quieres que se autoinstalen. (DevkitPro tiene variantes para PowerPC "GC", PSP y mas)
En si Devkitpro no tiene gui por lo cual en el paquete viene incluido un buen editor hexadecimal del estilo de bloc de notas.
La siguiente opcion es mas facil y comprensible ademas de igual de potente dado que esta basada en la misma arquitectura de la serie devkit pero mas especializada para GC y homebrew y sin tanto lio de diferentes programas y carpetas, es para lo que es, nuestro cubito
![enamorado [amor]](/images/smilies/nuevos/enamorado.gif)
.
Me refiero a la ultima opcion (bueno tambien puedes hacer uso de linux pero creo que para la mayoria esa opcion sobra) que es la de bajarse estos tres archivos:
DevkitCube r-1: (es la ultima version salida de este compilador, que ademas incluye la ultima version de las librerias GCC que pueden ser mas completas que las lbogc pero la mayoria de la gente prefiere estas siguientes, manias
![karateka [chiu]](/images/smilies/nuevos2/karateka.gif)
)
http://www.dextrose.com/files/gc/compiler/devkitcube-r1.zip
Librerias OpenGC: (no es la ultima version pero hay pocas diferencias y es la mas fiable ademas de ser la unica que incluye el mini.programa bin2dol que se necesita para compilar y convertir a *.dol)
http://www.dextrose.com/files/gc/source/libogc-2003-06-22.zip
Dolwin 0.10: (emulador que viene de perlas para probar los *.dol)
http://dolwin.emulation64.com/downloads/Dolwin010.rar
Y para cualquier caso recomiendo descargar un muy buen ejemplo en el cual basarse: El pong de DesktopMan:
http://www.dextrose.com/files/gc/source/gc/pong.zip
-----------------------------------------------------------------------
Instalar y configurar Devkitcube con libogc :
Como configurar y usar la opcion de Devkitcube con el codigo del juego de ejemplo Pong:
1-Extraer el contenido de devkitcube, libogc-2003-06-22, pong a la carpeta c:\gc\ (sin variar nombre [a menos que no sean igual que estos tres] ni si quiera quitar esa fecha porque sino vais a tener que modificar el make.bat)
2-Ve a la carpeta c:\gc\pong\ y edita de la siguiente manera el archivo pong.c que es el codigo fuente del pong:
Estos ya existen...
#define COLOR_WHITE 0xFF80FF80
#define COLOR_BLUE 0x1DFF1D6B
#define COLOR_RED 0x4C554CFF
pues añade este tambien..
#define COLOR_BLACK 0x10801080
Cambia las librerias por estas que son las que vas a usar. (OpenGC)
#include "..\libogc-2003-06-22\lib\types.h"
#include "..\libogc-2003-06-22\lib\video.h"
#include "..\libogc-2003-06-22\lib\memory.h"
#include "..\libogc-2003-06-22\lib\pad.h"
(Linea79) Cambia...vidInit (VID_MODE_640_480_PAL_60_YUV_16)...por esta...VIDEO_Init (VIDEO_640X480_PAL60_YUV16);
(Linea 80) Cambia...vidSetFrameBuffer((u32)fb)...por esta...VIDEO_SetFrameBuffer (VIDEO_FRAMEBUFFER_BOTH,(u32)fb);
(Linea 98) Cambia...vidWaitRetrace()...por esta...VIDEO_WaitVSync();
Ahora solo falta compilar el pong con nuestras librerias y cambios en la configuracion de modo de video para adecuar el juego a estas. Para ello crearemos el archivo MAKE.BAT
@ECHO OFF
SET DEVKITCUBE=c:\gc\devkitcube
SET PATH=%DEVKITCUBE%\bin;%PATH%
SET PROGNAME=pong <--NOMBRE DEL DOL QUE SE CREARA AL COMPILAR
powerpc-eabi-elf-gcc -o %PROGNAME%.elf -Wl,-Ttext,0x80003100 -o %PROGNAME%.elf ../libogc-2003-06-22/crt0.s main.c ../libogc-2003-06-22/lib/pad.c ../libogc-2003-06-22/lib/video.c ../libogc-2003-06-22/lib/render.c ../libogc-2003-06-22/lib/audio.c ../libogc-2003-06-22/lib/color.c ../libogc-2003-06-22/lib/debug.c ../libogc-2003-06-22/lib/dvd.c ../libogc-2003-06-22/lib/interrupt.c ../libogc-2003-06-22/lib/random.c ../libogc-2003-06-22/lib/memcard.c
if ERRORLEVEL==1 goto error
powerpc-eabi-elf-objcopy -O binary %PROGNAME%.elf %PROGNAME%.bin
if ERRORLEVEL==1 goto error
"..\libogc-2003-06-22\bin2dol.exe" %PROGNAME%.bin %PROGNAME%.dol
if ERRORLEVEL==1 goto error
goto end
:error
echo [FATAL ERROR]
:end
Ahora yo recomiendo hacer uso del simbolo de sistema o ventana de msdos (aunq en realidad no sea msdos

por si alguien me salta
![loco [looco]](/images/smilies/nuevos2/borracho.gif)
) y asi podras ver los errores cuando compiles dado qeu si para compilar pulsas con el raton sobre make.bat tras compilar o dar error no se detiene y se cierra y no puedes ver los mensajes de error etc.
Editado: Ademas tener en cuenta que solo se compilara el proyecto que tengais entre manos si lo llamais "main.c" con lo cual si lo llamariais "mario.c" no habria compilacion alguna.
---------------------------------------------------------------------
Links paginas de interes sobre homebrew GC :
Pagina "oficial" sobre desarroyo GC con muy buen foro (en ingles
![sonrisa [sonrisa]](/images/smilies/nuevos/risa_ani1.gif)
):
http://www.gcdev.com
La mejor pagina sobre homebrew para GC
![machacando [toctoc]](/images/smilies/nuevos2/rompiendo.gif)
:
http://www.dextrose.com
Pagina del compilador Devkit Pro ademas de otros archivos:
http://sourceforge.net/projects/devkitpro
El Devkitcube al principio incluia las librerias glibc pero tras un tiempo sacaron las newlib que son mas compactas y faciles de usar, con todas las opciones de las anteriores y algunas mas:
Informacion newlib:
http://sources.redhat.com/newlib
Ayuda y referencia gclib:
http://gclib.sourceforge.net/doc/modules.html
---------------------------------------------------------------------
Creo que con esto teneis todo lo necesario y mas para programar para GC, espero que la peña se anime y que ademas asi podamos ayudarnos.
Pd: Que guapo es ver funcionando un jueguito tuyo en la GC