Página 1 de 1

[Linux/Win?] generar Tileset (script)

Publicado: Lun, 04 Nov 2013, 14:16
por D_Skywalk
Me he preparado un script que genera el tileset.png
Necesita del work.png, font.png (la fuente que ahora deberías poner a parte) y de la herramienta imagemagick.

Si habéis seguido el taller esta herramienta automatiza tener que hacer:
  • reordenator work.png udgs.png
  • abrir editor gráfico para unir fuentes y udgs en: tileset.png
  • Además es multiplataforma (i686/amd64)

Para usarla simplemente hay que llamarla desde dev o desde un directorio de tu churrera (se puede configurar GFXPATH si montáis desde el directorio principal o queréis que sea fullpath)

TODO:
* Necesito ayuda para que me contéis exactamente que hace SevenUP para convertirlo a C. Podría intentar hacer una herramienta que lo hiciera y ya todo sería directo...
* Pasarla a un fichero BAT para los windowseros.

NOTAS:
* Por el momento tengo que hacer un rename de ficheros por que no he conseguido que imagemagick me coja de arriba a abajo, igualmente funciona perfecta!
* No detecto errores dentro de imagemagick, supongo que los pngs tienen sus tamaños correctos, etc...

Re: [Linux/Win?] generar Tileset (script)

Publicado: Lun, 04 Nov 2013, 14:18
por na_th_an
La versión 3.99.3 trae una cosa destas que hace justo eso :) toma un work.png y un font.png y genera un tileset.bin directamente usable por el engine. Ahora tileset.h incluirá directamente a tileset.bin, no habrá código de por medio. Tampoco será necesario tocar a mano los atributos.

Todavía no lo puedo sacar porque tengo que adecentar un par de cosas. Para no romper compatibilidad y para permitir que la gente pueda tocar a mano si quiere, también puede exportar código mediante una opción.

Re: [Linux/Win?] generar Tileset (script)

Publicado: Lun, 04 Nov 2013, 14:21
por na_th_an
De todos modos, lo que hace SevenuP es coger cada carácter de 8x8 y sacar por un lado los 8 bytes de su bitmap y por otro lado su atributo. En mi aplicación primero se calcula el atributo, buscando dos colores diferentes en cada trozo de 8x8 y poniendo siempre le más claro de primer plano. Luego, teniendo almacenados los colores de primer y segundo plano, se miran los pixels y se van construyendo los patrones binarios. Si el color del pixel es del primer plano, se pone el bit correspondiente a 1, si es el de segundo plano, se pone a 0.

Re: [Linux/Win?] generar Tileset (script)

Publicado: Lun, 04 Nov 2013, 14:21
por D_Skywalk
Bueno, igualmente sólo quería compartirla, por si vale :)

Y ¿como podrás indicarle que color quieres en un char vacío?

Un Saludo y que no pare la fies :vahka:

Re: [Linux/Win?] generar Tileset (script)

Publicado: Lun, 04 Nov 2013, 14:22
por na_th_an
Si detecto que primer plano = segundo plano, coloco por defecto el primer plano a blanco (7), o a otro color si el usuario lo especifica.

Re: [Linux/Win?] generar Tileset (script)

Publicado: Lun, 04 Nov 2013, 14:38
por D_Skywalk
Y esa maravilla no la podemos catar aún ...? :jias:

:muaka: :muaka: :muaka: :muaka:

Re: [Linux/Win?] generar Tileset (script)

Publicado: Lun, 04 Nov 2013, 15:17
por antoniovillena
Yo tengo en C algo parecido, en tilegen.c del primer archivo en el compresor de mapas. Te reordena los bytes pero te los saca en binario, tendrías que adaptarlo para que lo saque en código fuente. También le falta lo de poner otro color si tinta==fondo, lo de poner el código menor (más oscuro) en el fondo si lo hace.

Una pega de usar Tiled es que necesitas el work.png suelto. Con el Mappy juntabas el charset y el work y si tenías que cambiar algo editabas el tileset.png directamente.

Edito: El tilegen.c es bastante tikismikis, como no le des el color exacto no se traga el archivo.

Re: [Linux/Win?] generar Tileset (script)

Publicado: Lun, 04 Nov 2013, 20:23
por D_Skywalk
Pues si na_th_an no le importa y tu puedes compartirlo, me vendría muy bien así sólo abro sevenUP cuando termine las pantallas de carga. Yo modifico lo que haga falta :porro:

Un Saludo y gracias chicos ;)