Buenas noches.
Antes que nada pedir disculpas por este mes de ausencia, pero temas de trabajo han requerido mi atencion y no he podido dedicarme a esto.
Dicho esto, pasemos a las novedades de hoy.
Recientemente el equipo de las PALIB (con los que colaboro habitualmente) han empezado a actualizar esta libreria para hacerla compatible con las ultimas LIBNDS. Bien, adicionalmente, mucha gente usaba unas librerias llamadas EFS, las cuales permitian encapsular todos los archivos necesarios para nuestro proyecto dentro de la ROM, de una manera muy parecida a como funciona un ROM comercial, con lo que se facilita la distribucion de nuestra ROM y facilita su uso, ya que no obligamos al usuario a tener que tener la ROM en una carpeta espcificada. Tambien debeis saber que todas las ROMS que usen EFS, son compatibles con el emulador NO$GBA, lo que nos facilita enormemente la tarea de debug.
Las ventajas son muchas, las desventajas, la carga es bastante mas lenta que usando FAT, pero nada dramatico. Tambien comentaros que se pueden usar los dos sistemas a la vez, lo cual es muy util para los savegames y demas.
Asi que ya que las EFS son de nuevo compatibles con las ultimas LIBNDS, las he integrado en mis librerias.
Los que ya las esteis usando, tranquilos, solo debereis copiar junto a los archivos de mi libreria, los archivos "efs_lib.h" y "efs_lib.c" a la carpeta source de vuestro proyecto.
Los que ademas querais experimentar con las EFS, adicionalmente debereis usar el MAKEFILE especial que hay en la carpeta EFS de mi libreria y copiar el archivo "efs.exe" en la misma carpeta donde tengais el makefile. Ademas, debereis crear una carpeta llamada "EFSROOT" en ese mismo sitio y poner todos los archivos que deseeis cargar en vuestro proyecto dentro de esa carpeta.
Cuando compileis vuestro proyecto, el makefile informara al NDSTOOL que coja todos los archivos contenidos en la carpeta EFSROOT y los añada a la ROM generada. Ademas, tambien ejecutara la utilidad EFS.EXE para parchear la ROM y hacerla compatible con EFS.
Para poner las cosas faciles, he modificado la funcion de mi libreria "NF_SetRootFolder()" la cual ahora ademas de especificar el ROOT de nuestro proyecto, inicializara el sistema EFS o FAT, dependiendo del nombre de carpeta que le demos.
Por ejemplo, NF_SetRootFolder("mijuego"); inicializara el sistema FAT y definira la carpeta "mijuego" como la raiz de nuestro proyecto.
Por contra NF_SetRootFolder("EFS"); inicializara los sistemas EFS y FAT, usando EFS por defecto.
Cuando useis EFS, podeis cambiar del sistema EFS al FAT y viceversa usando estos comandos:
chdir("efs:/"); Cambia a la raiz del sistema EFS.
chdir("fat:/"); Cambia a la raiz del sistema FAT.
El el archivo 7z de mi libreria que os dejo hoy, encontrareis el ultimo proyecto que os deje aqui, pero usando EFS, para que veais las diferencias.
Recordad que dado que he incluido soporte nativo para EFS, aunque no lo useis, los archivos EFS_LIB.H y EFS_LIB.C deben copiarse junto con los de mi libreria en la carpeta SOURCE, ya que son necesarios para la compilacion sin errores.
Lo mas seguro es que a partir de ahora, siempre use EFS en mis tutoriales, ya que es mas rapida y limpia la distribucion y testeo, ya que funciona sin mas en el emulador NO$GBA.
Aqui teneis la ultima version de mi libreria, junto con las EFS corregidas por el equipo de las PALIB.
NightFox's Lib para LIBNDS Ver. 20090621
Un cordial saludo y hasta la siguiente entrada.
NightFox
1 Comentario:
Wau!
21 de Junio de 2009 • 15:32 — Toño (invitado)