crear_screen interno al cambiar a menor scale_resolution

Started by FreeYourMind, April 09, 2011, 04:57:16 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

FreeYourMind

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

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

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

pone el codigo completo compilable con el comportamiento que vos decis.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

FreeYourMind

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

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

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

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

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

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