Tratamiento de archivos PNG en BennuGD

Started by DCelso, May 31, 2009, 11:46:19 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

SplinterGU

aqui mismo, pero no como color, sino como transparencias...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

DCelso

#16
Splinter, ya tengo la primera versión rápida de lo que podría ser el documento este.
Cuando puedas éche un vistazo a ver qué no está del todo correcto, qué se puede mejorar, qué se puede añadir, etc, todo lo que se te ocurra es bienvenido.
Notar que está en bruto, sin imágenes, ni índices ni referencias ni ejemplos, todo eso haría falta para la versión final.
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

SplinterGU

1) Fpg, como maximo 999 imagenes de 1 a 999.
2) Se pueden importar de forma nativa png y pcx.
3) Bennu no soporta modo de video de 24 bits.
4) Las funciones RGB y RGBA internas en modo 16 bits no dan 0, sino 1. En el documento se entiende como que dan 0 y que se usan para setear un color transparente.
5) En 32 bits, hay que destacar la diferencia entre transparencia y color transparente 0.
color 0 absoluto es transparente/ausente/agujero/"no data", lo cual significa que estos pixels no solo no se veran, sino que tambien no colisionaran.
transparencia/alpha es una transparencia, que incluso si dicho alpha es 0, solo dira que no se ve, pero que si colisionara.

Veo que el punto 5) ya lo explicaste.

Yo me referia a un documento mas generico sobre las transparencias, que describa a las mismas a nivel MAP, y luego explicar las caracteristicas correspondientes a png y a pcx.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

DCelso

Que inutil soy, eso me pasa por hacer las cosas rápidas. :( :)
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

SplinterGU

no, esta bien... es util, pero en mi opinion habria que acomodarlo y orientarlo como te digo...

pero no, nada de inutil, la informacion es muy util...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

DCelso

#20
He cambiado lo que me comentas. A ver que tal ahora.
Lo de que parecía que rgb (0 0 0) era lo mismo que 0 no lo encontré, he explicado un poco más en donde está la parte que habla del color negro puro.
Ahora bien, enfocarlo hacia un map ¿en que consistiría?, yo es que los maps para mí siempre han sido invisibles, he pasado directamente los png al fpg. o trabajado directamente con pngs.
Sé que son una especie de png que guardan además unas coordenadas, un número y un texto. Cosa que vi un poco rara porque más bien deberían de ser datos del fpg, ya que es éste quien los necesita.
En cuanto al pcx, ¿alguien usa ese formato? :D.

Acepto críticas de mejoras :)
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

DCelso

#21
Hola SplinterGU, he realizado ya todas las pruebas que hice en el documento y cual ha sido mi sorpresa al descubrir que están casi todas mal en el documento.
A ver, te pogo adjuntos todos los prgs de las pruebas, pero te predigo lo siguiente:

  • Los pcx de 24 bits no están implementados en bennu, casca de lo lindo en los tres modos de profundidad de bennu 8,16 y 32.
  • Bennu, cuando carga las imágenes png de 24 bits no hace ninguna conversión de transparencia en ninguno de los modos bennu 16bits y 32 bits, eso que puse de que el negro puro es convertido a color transparente es mentira.
  • Bennu cuando carga las imágenes png y pcx de 8 bits siempre usa el primer color de la paleta como transparente independientemente del modo de profundidad seleccionado en benu, es decir, lo que puse de que en modo 16 y 32 bits usaba el negro como transparente, también es mentira.
Si no recuedo mal, el segundo punto en fenix si que era así, usaba el negro como transparente, voy a probarlo con los dos fenix que se suelen usar a ver si es que estoy equivocado.
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

splinter_work

Bien.

1) Si, pcx 24 no funciona... y creo que alguna otra cuestion hay con los pcx.

2) Transparencias:
en 8 bits siempre es el primer valor 0 (index 0 de la paleta), sea pcx, png, map, etc
en 16 bits tambien es el valor 0, pero solo cuando ya esta cargado en memoria, los pngs convierte a 0 (transparente) cuando el alpha es menor al 50%, y obviamente el color 0 tambien es transparente.
en 32 bits es 0, y la transparencia alpha es por separado.

fenix se comporta igual en estos puntos.

creo que esto ya lo habia explicado, pero puede que no haya sido claro.

DCelso

Ok, gracias splinter, yo me acuerdo de trabajar con negro para transparente en modo 16 bits, puede que me haya confundido pero no recuerdo trabajar con pngs de 32 bits en modo 16 bits Fenix, seguro que estoy mezclando lenguajes, he usado tantoos ..., me disculpo por las veces que dige algo que no era cierto y me encabezoné porque sí lo era. (Tengo un gazpacho en la cabeza..)
Actualizo documentación con los resultados.
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

splinter_work

De nada, y no hace falta disculparse... con decir que ahora se entiende como funciona es suficiente.

DCelso

Subo nuevo fichero, he eliminado los anteriores para que nade se los descargue ya que estaban totalmente mal y pueden llevar a error, ruego a todos los que se los descargaron borren definitivamente para no confundir a nadie y descarguen esta versión corregida y que parece estar correcta.

PD: Splinter, la he gerido y sin querer borré el "attach" de los ejemplos, no he sabido recuperarlo, si puedes hacer el favor de revertir la modificación del post para recuperar la descarga vendría de perlas.
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

SplinterGU

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

DCelso

#27
Ya encontré donde se habla del negro como transparente para fenix, en el manual de osk.
Concretamente en el ejemplo del laberinto. Creo que es FPGEdit quien hace esta conversión.
Siento ser tan cabezón pero es que sabía que no me lo inventé no eran imaginaciones mías :D.
He estado probando en el fenix92a a abrir en modo 16 un png en modo 24 y no convierte el negro a transparente.
También he probado con las herramientas map.exe y fpg.exe a crear un map de 16 bits,  posteriormente a un fpg de 16 bits y luego abrirlo desde fenix y tampoco convierte el negro a transparente.
Solo me queda la prueba de FPGEdit, ya mañana la intento. Si esta tampoco va, entonces encontré un fallo en el tutorial de osk :D.
He visto que si pongo a modo 32 fenix casca de lo lindo, cosa que era de esperar, pero curiosamente puse modo 24 y funcionó, también probé a poner accidentalmente 25 y también ruló. Internamente debe hacer algun rango para asignar modo 16 bits.¿Te suena Splinter?

Otra pregunta, he visto que en fenix solo existían maps de 8 y 16 bits, se (o eso creo) que en bennu hay maps de 32 bits, pero ¿También hay maps de 24bits?.
Misma pregunta para fpg.

Gracias por las aclaraciones Splinter.
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

osk


SplinterGU

24 bits no hay... deberia revisar el codigo a ver que mascara actua y hace que esto setee algun modo valido.
Pero 24 no hay, nada.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2