Bennu Game Development

Foros en Español => Mesa de Ayuda => Topic started by: DCelso on October 25, 2016, 09:14:21 PM

Title: fallo en fpgs de 32 bits o fallo mio
Post by: DCelso on October 25, 2016, 09:14:21 PM
Melospliquen...
Cargo un png de 32 bits con transparencias, lo muestro sobre un fondo y va de poca madre.

Creo un fpg con esa imagen y lo guardo, y al cargarlo ¿tachan? canal alfa perdido completamente.

Me está volviendo loco, porque pixtudio tiene el mismisimo problema. Una de las grandes diferencias en 32 bits es usar transparencias y va y ¿no se puede hacer con fpgs de 32 bits?

He cargado el fpg, y está bien creado, guardado canal alfa y toa la pesca, fpg-editor lo ve perfectamente.

Además para que no os quejeis que es culpa de mi fpg-editor he creado el fpg en el mismo código bennu.  :P

¿hay que poner algun comando especial a bennu para que pille correctamente el canal alfa en los fpgs?


import "mod_video"
import "mod_screen"
import "mod_map"
import "mod_key"
import "mod_proc"
global
int id_fpg;
int id_png;
begin
  set_mode(800,600,32);
  id_fpg = fpg_new();
  id_png = png_load("esfera.png");
  fpg_add(id_fpg,1,0,id_png);
  fpg_save(id_fpg,"mifpg.fpg");
  screen_put(0,png_load("fondo.png"));
  esfera(200,300);
  esfera2(400,300);
  loop
    if (key(_esc)) break; end
    frame;
  end
  let_me_alone();
end

process esfera(x,y)
begin
  graph = id_png;
  loop
    frame;
  end
end

process esfera2(x,y)
begin
  file = fpg_load("mifpg.fpg");
  graph = 1;
  loop
    frame;
  end



(http://forum.bennugd.org/index.php?action=dlattach;topic=4366.0;attach=3721)

(http://forum.bennugd.org/index.php?action=dlattach;topic=4366.0;attach=3719)
Title: Re:fallo en fpgs de 32 bits o fallo mio
Post by: panreyes on October 25, 2016, 09:23:20 PM
Acabo de probarlo en PixTudio y ahí funciona correctamente
(http://forum.bennugd.org/index.php?action=dlattach;topic=4366.0;attach=3723)
Title: Re:fallo en fpgs de 32 bits o fallo mio
Post by: panreyes on October 25, 2016, 09:25:21 PM
De hecho, en el BennuGD que está incluído en PixTudioPM también funciona correctamente...
(http://forum.bennugd.org/index.php?action=dlattach;topic=4366.0;attach=3725)
Title: Re:fallo en fpgs de 32 bits o fallo mio
Post by: DCelso on October 25, 2016, 09:29:04 PM
 :o , es cosa de mi equipo o que, jarl. ¿que me pasa? será cosa de windows 8?
Title: Re:fallo en fpgs de 32 bits o fallo mio
Post by: panreyes on October 25, 2016, 09:34:53 PM
Vale, lo acabo de comprobar. Mi versión de BennuGD creo que ya incluye algunas modificaciones de Joseba y por eso no me aparecía el fallo.

He probado con BennuGD r335 y me ha ocurrido lo mismo que a ti.

Title: Re:fallo en fpgs de 32 bits o fallo mio
Post by: DCelso on October 25, 2016, 09:40:40 PM
jaja, te iba a decir eso mismo, que probases con la oficial. r335

Yo he probado con la tuya del pixtudiopm y va bien, pero es la versión del año la tana, pone 2002 al ejecutar el bgdi :D
Title: Re:fallo en fpgs de 32 bits o fallo mio
Post by: alicesimu on October 25, 2016, 09:48:42 PM
a mi me ejecuta bien tu test, con la ultima pixtudio v1.4 beta2(de hoy)
Title: Re:fallo en fpgs de 32 bits o fallo mio
Post by: DCelso on October 25, 2016, 10:05:16 PM
parece que es de la ultima versión de bennugd. no se cual vendrá en el pack de linkernel,
¿ puedes poner bgdi a secas a ver si es del 6 de juio de este año?
Title: Re:fallo en fpgs de 32 bits o fallo mio
Post by: DCelso on October 26, 2016, 05:21:51 PM
SplinterGU. Pasa en la última versión, ¿has visto algo?
Title: Re:fallo en fpgs de 32 bits o fallo mio
Post by: SplinterGU on October 26, 2016, 06:39:29 PM
ya vi el fallo, esta en la bitmap_analyze, para 32 bits solo considera transparente el color 0 absoluto, si no hay un 0 absoluto el grafico es considerado NO_COLORKEY... y como vos estas usando fondo blanco con alpha 0, ahi esta el problema... ya lo tengo fixeado, pero no puedo generar el binario (linux) me esta fallando la libsdl1.2, creo que ubuntu se hace un berengenal cuando estan sdl2, sdl1.2, con sus versiones 32 y 64bits... no tengo tiempo de analizar ahora para poder compilarlo... pero modifica tu grafico y ya no tendras problemas, al menos un pixel negro con alpha 0, e ira todo de maravillas.
Title: Re:fallo en fpgs de 32 bits o fallo mio
Post by: SplinterGU on October 26, 2016, 06:48:56 PM
no me compila, ni linux ni windows, maldito ubuntu!
Title: Re:fallo en fpgs de 32 bits o fallo mio
Post by: DCelso on October 26, 2016, 07:13:47 PM
Oka, asias, puede esperar. sabiendo que ya está corregido. no pasa res.

Title: Re:fallo en fpgs de 32 bits o fallo mio
Post by: alicesimu on October 26, 2016, 08:01:03 PM
Quote from: SplinterGU on October 26, 2016, 06:39:29 PM
ya vi el fallo, esta en la bitmap_analyze, para 32 bits solo considera transparente el color 0 absoluto, si no hay un 0 absoluto el grafico es considerado NO_COLORKEY... y como vos estas usando fondo blanco con alpha 0, ahi esta el problema... ya lo tengo fixeado, pero no puedo generar el binario (linux) me esta fallando la libsdl1.2, creo que ubuntu se hace un berengenal cuando estan sdl2, sdl1.2, con sus versiones 32 y 64bits... no tengo tiempo de analizar ahora para poder compilarlo... pero modifica tu grafico y ya no tendras problemas, al menos un pixel negro con alpha 0, e ira todo de maravillas.

Gracias, lo tendré en cuenta a la hora de pintar con photoshop, de dejare a 0 el RGB además del Alpha.
Title: Re:fallo en fpgs de 32 bits o fallo mio
Post by: SplinterGU on October 26, 2016, 09:51:53 PM
Quote from: alicesimu on October 26, 2016, 08:01:03 PM
Quote from: SplinterGU on October 26, 2016, 06:39:29 PM
ya vi el fallo, esta en la bitmap_analyze, para 32 bits solo considera transparente el color 0 absoluto, si no hay un 0 absoluto el grafico es considerado NO_COLORKEY... y como vos estas usando fondo blanco con alpha 0, ahi esta el problema... ya lo tengo fixeado, pero no puedo generar el binario (linux) me esta fallando la libsdl1.2, creo que ubuntu se hace un berengenal cuando estan sdl2, sdl1.2, con sus versiones 32 y 64bits... no tengo tiempo de analizar ahora para poder compilarlo... pero modifica tu grafico y ya no tendras problemas, al menos un pixel negro con alpha 0, e ira todo de maravillas.

Gracias, lo tendré en cuenta a la hora de pintar con photoshop, de dejare a 0 el RGB además del Alpha.

en uno de los ultimos cambios, mejore el sistema de eleccion del render, pero en la mejora meti un bug, y los mapas de 32bits requieren al menos 1 pixel completamente en 0 (RGBA = 0), tambien se podria hacer un put_pixel...

cuando pueda compilar subire las versiones corregidas.
Title: Re:fallo en fpgs de 32 bits o fallo mio
Post by: DCelso on October 27, 2016, 10:08:09 AM
splinter, cuidado, porque puede que sea otra cosa mas, en los .png no pasa. solo pasaba en los .fpg.
Comprueba con el cambio que el ejemplo que puse arriba adjunto va bien, que usa los dos formatos. ;)
Title: Re:fallo en fpgs de 32 bits o fallo mio
Post by: SplinterGU on October 27, 2016, 12:28:46 PM
Quote from: DCelso on October 27, 2016, 10:08:09 AM
splinter, cuidado, porque puede que sea otra cosa mas, en los .png no pasa. solo pasaba en los .fpg.
Comprueba con el cambio que el ejemplo que puse arriba adjunto va bien, que usa los dos formatos. ;)


vos probaste lo que yo te dije? es lo que digo, ya lo probe, agarra tu fpg, renombralo a .gz, descomprimilo, agarra con un editor hexadecimal, y al primer ff ff ff que encuentres pasalo a 00 00 00, salva y proba cargar ese fpg.

Title: Re:fallo en fpgs de 32 bits o fallo mio
Post by: SplinterGU on October 27, 2016, 12:30:24 PM
te lo adjunto aca
Title: Re:fallo en fpgs de 32 bits o fallo mio
Post by: DCelso on October 27, 2016, 02:28:04 PM
Si te entendí.

Pero..
¿Realmente crees que eso explica que funcione en los .png y en los .fpg no?

Además en las antiguas versiones de bennu se usaba siempre bien el canal alfa de los .fpg, independientemente del color que tuviera el pixel rgb.

en .png va bien.

y los colores semitransparentes qué, si alfa es distinto de 0  y menor que 255. Tampoco va, fijate que mi bola es roja semitransparente, dejas ver lo de detrás del rojo dependiendo de la intensidad del valor alpha.
Title: Re:fallo en fpgs de 32 bits o fallo mio
Post by: SplinterGU on October 27, 2016, 03:06:01 PM
repito

Quote from: SplinterGU on October 26, 2016, 06:39:29 PM
ya vi el fallo, esta en la bitmap_analyze, para 32 bits solo considera transparente el color 0 absoluto, si no hay un 0 absoluto el grafico es considerado NO_COLORKEY... y como vos estas usando fondo blanco con alpha 0, ahi esta el problema... ya lo tengo fixeado, pero no puedo generar el binario (linux) me esta fallando la libsdl1.2, creo que ubuntu se hace un berengenal cuando estan sdl2, sdl1.2, con sus versiones 32 y 64bits... no tengo tiempo de analizar ahora para poder compilarlo... pero modifica tu grafico y ya no tendras problemas, al menos un pixel negro con alpha 0, e ira todo de maravillas.

esa es la explicacion, claro, en los png no pasa porque hace otro analisis menos profundo del grafico(http://forum.bennugd.org/data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABs0lEQVQ4jY2SP4viQBiHX0UQWz/AXb+VX8Iu/YqFhdhcd5BKEOTKC9jJFYrFgo3FIjYiCRauhTCQDMp4bJFklzCuLJLOWNj8rpDMJt7u7Q08xQzze953/hAR0el4QJLw8KR4fXkE/Wtch01zjP6gmxLsd9uPJafjAf1BF82WjmZLR61eRa1eVfNmS4cMxP8JksGk6FPB6XjAii1Qq1fBBYMMBL79+InvDIrbB0CzIpSmQHF0RnF0vkiTFxZX7A+6MOzwU0FxdEZKYJpj1fp1eO5KzF0JzYreF/iekzr77QMUhh2q1zDsUIULPQl6fXkEFww53cWKLWCaY3DBVMuaFWHuSsT7fM/5W5DTXYUMBGQgUJoCpelFst9tcc84DDuE7znQrAiFnrwIkuGY/W6rBIYdQgYC7RmHZkXwPQf3jL8JiCglISLKVCaqzfhZfc9RcMFwc/eMfGd9EWQbS+R0F9nGEtnGEpnKBJnKJFWxPNygPNygPePggqE942nBdTjG9xyUhxvVcqEnsWILrNjiTfCRJN9ZI99Zp8LxWsy73ztTmYCI6ObuGV/7Tym+/PqtICL6A7F/dNYyWabFAAAAAElFTkSuQmCC)
Title: Re:fallo en fpgs de 32 bits o fallo mio
Post by: DCelso on October 27, 2016, 05:07:34 PM
 :D , vaaale. admitiré que no se leer, como pixel.  :-[
Title: Re:fallo en fpgs de 32 bits o fallo mio
Post by: SplinterGU on October 28, 2016, 11:42:37 AM
no problem... :)
Title: Re:fallo en fpgs de 32 bits o fallo mio
Post by: DCelso on November 01, 2016, 04:06:13 PM
¿splinter, pudiste compilar ya bennu?

Title: Re:fallo en fpgs de 32 bits o fallo mio
Post by: SplinterGU on November 03, 2016, 03:01:24 AM
no tuve tiempo, perdon... lo hare en estos dias, necesito hacerme un tiempo...