ULTRA PNG2FPG

Started by panreyes, June 17, 2009, 11:59:08 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

panreyes

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

SplinterGU

fantastico preprocesador...

1 karma!
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

josebita

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...

SplinterGU

supongo que el set_mode a 32 es para estar seguros de que nada se convertira.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

panreyes

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)

josebita

Ahmmm, claro... No lo había pillado, gracias.

SplinterGU

claro, pero hay que destacar que eso es ahora, antes no era 32 bits... quizas josebita no conocia ese detalle.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

josebita

Sí, lo había leído en alguna parte (¿release notes?).
Gracias :)

Drumpi

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
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

osk