Bennu Game Development

Foros en Español => General => Topic started by: panreyes on June 17, 2009, 11:59:08 PM

Title: ULTRA PNG2FPG
Post by: panreyes on June 17, 2009, 11:59:08 PM
He mejorado el método que tenía para generar los fpgs en cosa de segundos desde los pngs originales (lo llamo "compilar fpgs" xD)

Ahora lo que hace es meterse en la carpeta fpg-sources, mirar todas las carpetas que existan ahí dentro e intentar crear un fpg de cada una de ellas.
Y ahora también me crea un fichero de código fuente Bennu con las variables globales fpg_nombredelacarpeta; y una funcion llamada cargar_fpgs(); que carga todos los fpgs generados en las variables generadas :)

Paridas que hace uno para ahorrarse trabajo :)

Pd: Y también os dejo un ejemplo de cómo me organizo un proyecto: http://www.panreyes.com/pixfight.zip

Global
string carpeta;
fp;
Begin
set_mode(100,100,32);
//CREAMOS FPGS Y EL FICHERO PARA INCLUDE: cargar_fpgs.pr-
fp = fopen("cargar_fpgs.pr-", O_WRITE);
fputs(fp,"Global");
cd("..\fpg-sources");
While((carpeta=glob("*")) != "")
if(carpeta!="." and carpeta!=".." and carpeta!=".svn")
cd(carpeta);
file=fpg_new();
from x=0 to 999;
If(file_exists(itoa(x)+".png"))
graph=load_png(itoa(x)+".png");
fpg_add(file,x,0,graph);
unload_map(file,graph);
end
End
save_fpg(file,"../../fpg/"+carpeta+".fpg");
unload_fpg(file);
cd("..");
fputs(fp," fpg_"+carpeta+";");
end
End
fputs(fp,"End");
fputs(fp," ");
fputs(fp,"Process cargar_fpgs();");
fputs(fp,"Begin");
frame;
While((carpeta=glob("*")) != "")
if(carpeta!="." and carpeta!=".." and carpeta!=".svn")
fputs(fp,' fpg_'+carpeta+'=load_fpg("'+carpeta+'.fpg");');
end
end
fputs(fp,"End");
fclose(fp);
End
Title: Re: ULTRA PNG2FPG
Post by: SplinterGU on June 18, 2009, 02:28:22 AM
fantastico preprocesador...

1 karma!
Title: Re: ULTRA PNG2FPG
Post by: josebita on June 18, 2009, 02:48:28 AM
Tiene muy buena pinta, aunque me surge una duda: ¿hace falta el set_mode?. Realmente la rutina no llega a hacer nada con la pantalla...
Title: Re: ULTRA PNG2FPG
Post by: SplinterGU on June 18, 2009, 03:05:18 AM
supongo que el set_mode a 32 es para estar seguros de que nada se convertira.
Title: Re: ULTRA PNG2FPG
Post by: panreyes on June 18, 2009, 03:05:53 AM
Quote from: josebita on June 18, 2009, 02:48:28 AM
Tiene muy buena pinta, aunque me surge una duda: ¿hace falta el set_mode?. Realmente la rutina no llega a hacer nada con la pantalla...
Si quieres los fpgs en alguna profundidad concreta si (aunque lo cierto es que justamente ahí no hace falta por el tema de que Bennu por defecto usa 32 bits... xD)
Title: Re: ULTRA PNG2FPG
Post by: josebita on June 18, 2009, 03:09:36 AM
Ahmmm, claro... No lo había pillado, gracias.
Title: Re: ULTRA PNG2FPG
Post by: SplinterGU on June 18, 2009, 04:14:36 AM
claro, pero hay que destacar que eso es ahora, antes no era 32 bits... quizas josebita no conocia ese detalle.
Title: Re: ULTRA PNG2FPG
Post by: josebita on June 18, 2009, 04:33:07 AM
Sí, lo había leído en alguna parte (¿release notes?).
Gracias :)
Title: Re: ULTRA PNG2FPG
Post by: Drumpi on June 18, 2009, 11:20:47 AM
Está bien saberlo, yo tuve que hacer el set_mode en varios programas de "linea de comandos" por el tema de la profundidad de bits: no podía hacer en Fenix FPGs de 16 bits sin especificarlo, por ejemplo (splinter, esa fue una de las razones que me llevaron a escribir los FPG y FNT y demás a nivel de byte, sin usar los comandos de Fenix/Bennu, siempre tengo una buena razón pero siempre se me olvida ;D).

Pixel, podrías añadirle que se le pase la carpeta por parámetros:

if (argv==2)
dir=argc[1];
else
dir="../fpg-sources"
end

Y otra cosa: usa la barra / en lugar de \ si no quieres que los linuxeros te maten ;D
Title: Re: ULTRA PNG2FPG
Post by: osk on June 18, 2009, 12:53:30 PM
Muchas graciaaas!!!