Autor Tema: crear_screen interno al cambiar a menor scale_resolution  (Leído 1797 veces)

FreeYourMind

  • Hero Member
  • *****
  • Mensajes: 5684
  • Karma: 128
    • GECA soft
crear_screen interno al cambiar a menor scale_resolution
« en: Abril 09, 2011, 04:57:16 pm »
Estando siempre a full_screen = true en la Wiz que tiene resolucion 320x240. Tengo un switch que cambia el scale_resolution, al hacerlo o pongo el juego a 320x200 con su tira sobrante, o en toda pantalla 320x240. Lo que ocurre es que la tira que deberia ser negra, queda con los restos de la anterior imagen que ocupaba toda la pantalla. Si hago un clear_screen, se limpia toda la pantalla, pero por mas que cambie de resolution la pantalla se va quedar siempre negra. Lo que necesito una solucion, o que internamente al cambiar scale_resolution en tiempo real (y no al principio del juego) que cuando cambiamos a menor resolucion que no queden restos y se quede la respectiva tira sobrante negra, o sea, sin nada en ella.

if(key(_a)) modo = 0; end
if(key(_b)) modo = 1; end


if(modo == 1)
  scale_resolution = 03200240;
else
  scale_resolution = 03200200;
end
                     
set_mode (320, 200, 16, 0);

SplinterGU

  • Hero Member
  • *****
  • Mensajes: 12898
  • Karma: 377
Re: crear_screen interno al cambiar a menor scale_resolution
« Respuesta #1 en: Abril 09, 2011, 05:07:31 pm »
tan simple como hacer un clear_screen antes de aplicar el set_mode, me extraña araña.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

FreeYourMind

  • Hero Member
  • *****
  • Mensajes: 5684
  • Karma: 128
    • GECA soft
Re: crear_screen interno al cambiar a menor scale_resolution
« Respuesta #2 en: Abril 09, 2011, 05:17:29 pm »
Acabo de decir que eso no funciona, porque se queda la pantalla negra y por mas que vuelva a cambiarla ya no se vuelve a pintar nada...

SplinterGU

  • Hero Member
  • *****
  • Mensajes: 12898
  • Karma: 377
Re: crear_screen interno al cambiar a menor scale_resolution
« Respuesta #3 en: Abril 09, 2011, 08:03:35 pm »
pone el codigo completo compilable con el comportamiento que vos decis.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

FreeYourMind

  • Hero Member
  • *****
  • Mensajes: 5684
  • Karma: 128
    • GECA soft
Re: crear_screen interno al cambiar a menor scale_resolution
« Respuesta #4 en: Abril 09, 2011, 08:13:58 pm »
A ver si pillo un hueco luego, pero es lo que he puesto arriba y poco mas.
Aprovecho para decir que lo que me da mas pereza en Bennu es cuando se crea un proyecto o demo nueva, hehehehe.

SplinterGU

  • Hero Member
  • *****
  • Mensajes: 12898
  • Karma: 377
Re: crear_screen interno al cambiar a menor scale_resolution
« Respuesta #5 en: Abril 09, 2011, 08:43:48 pm »
es que asi como has puesto el codigo no va a ir, claro que no, porque no has puesto el clear_screen.

para cancelar el scale_resolution, debes poner scale_resolution a 0.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

FreeYourMind

  • Hero Member
  • *****
  • Mensajes: 5684
  • Karma: 128
    • GECA soft
Re: crear_screen interno al cambiar a menor scale_resolution
« Respuesta #6 en: Abril 10, 2011, 03:38:36 pm »
Los restos de imagen en la supuesta tira negra al cambiar de mayor resolucion a la resolucion original sólo ocurre en Gp2x Wiz y Caanoo, en PC a fullscreen y en la Pandora no ocurre.
De notar que el port de pandora tiene id de linux, algo en el codigo distinto segun plataforma ?

SplinterGU

  • Hero Member
  • *****
  • Mensajes: 12898
  • Karma: 377
Re: crear_screen interno al cambiar a menor scale_resolution
« Respuesta #7 en: Abril 10, 2011, 10:42:49 pm »
no hay codigo diferente segun plataforma... por favor, pone codigo de ejemplo, y capturas si es posible.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

FreeYourMind

  • Hero Member
  • *****
  • Mensajes: 5684
  • Karma: 128
    • GECA soft
Re: crear_screen interno al cambiar a menor scale_resolution
« Respuesta #8 en: Abril 10, 2011, 11:09:42 pm »
Es complicado hacerte una captura, la solucion chapuzera es poner una imagen negra que tape toda la pantalla antes de cambiar scale_resolution y quitarla despues, así los restos en la pantalla serian de esta imagen negra xDD

A ver si mañana me explico mejor o hago el ejemplo.

SplinterGU

  • Hero Member
  • *****
  • Mensajes: 12898
  • Karma: 377
Re: crear_screen interno al cambiar a menor scale_resolution
« Respuesta #9 en: Abril 10, 2011, 11:23:56 pm »
es que no es posible lo que decis, si la pantalla es parte de bennugd, entonces si se borra...

por eso te pido que pongas el ejemplo, asi te muestro como solucionarlo.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2