¿Alguien ha usado get_modes()?
En el wiki el texto de ejemplo está en blanco y me está costando hacerla funcionar.
Agradecería un ejemplo de uso, así lo meto ya en la wiki.
en el foro hay ejemplo de uso.
pero cuidado, lo que muestra get_modes no siempre es lo que el monitor soporta... mas en las consolas.
No he encontrado nada en el foro sobre ello...
Y ¿En qué casos no dará lo que el monitor soporte?.
http://betatester.bennugd.org/snapshot/samples/
en wiz te da un monton de modos de video validos, pero solo funciona 320x240.
Muchas gracias :)
de nada... ahora no recuerdo si probe mode_is_ok... pero este ejemplo, da un monton de resoluciones validas en wiz, resoluciones, que obviamente producen un crash.
Ya veo, igual filtrando con mode_is_ok() va mejor. De todas formas, parece más un bug del driver en particular que del método, ¿no?.
He aprovechado para poner el ejemplo en el wiki.
si, sin dudas es un bug de la SDL o del driver del video (kernel o lo que fuera) que no estan filtrados los metodos validos, me suena mas a una compilacion estandard donde no se preocuparon mucho por limitar los modos invalidos.
no se si tambien pasa en caanoo, pero si no es correcto en uno, puedo suponer que puede ser incorrecto en mas plataformas.
como sea, no creo recordar que haya probado mode_is_ok, quizas esa si funcione, basado en los valores retornados con get_mode, tendria que probar cada uno con mode_is_ok.
Tengo mis 2 consolas wiz con la bateria muerta por completo, la estoy cargando, lamentablemente acabo de comprobar que por mas que la conecte al cable usb, si tiene la bateria baja, da el mensaje de bateria vacia y se apaga...
si alguien quiere probar el ejemplo, aca pongo el codigo, no olvidar capturar la salida de la ejecutacion de este dcb.
#ifdef __VERSION__
import "mod_say";
import "mod_video";
#endif
function get_test_modes(depth)
private
int * modes;
int w,h;
begin
modes = get_modes(depth, MODE_FULLSCREEN);
say (depth+"bit modes");
say ("----------");
if (!modes)
say ("no video modes available!");
elsif (modes == -1 )
say ("any video mode available!");
else
while (*modes)
w = *modes++;
h = *modes++;
say ("> " + w + " x " + h + " is " + ( mode_is_ok(w,h,depth,MODE_FULLSCREEN)?"OK": "ERROR" ));
end
end
say ("");
end
Process Main()
Begin
get_test_modes(8);
get_test_modes(16);
get_test_modes(24);
get_test_modes(32);
End
en caanoo da
QuoteFB_OpenMouse()
Using tslib touchscreen
8bit modes
----------
> 1408 x 1056 is OK
> 1280 x 1024 is OK
> 1152 x 864 is OK
> 1024 x 768 is OK
> 960 x 720 is OK
> 800 x 600 is OK
> 768 x 576 is OK
> 640 x 480 is OK
> 640 x 400 is OK
> 512 x 384 is OK
> 480 x 272 is OK
> 320 x 240 is OK
> 320 x 200 is OK
> 240 x 320 is OK
16bit modes
----------
> 1408 x 1056 is OK
> 1280 x 1024 is OK
> 1152 x 864 is OK
> 1024 x 768 is OK
> 960 x 720 is OK
> 800 x 600 is OK
> 768 x 576 is OK
> 640 x 480 is OK
> 640 x 400 is OK
> 512 x 384 is OK
> 480 x 272 is OK
> 320 x 240 is OK
> 320 x 200 is OK
> 240 x 320 is OK
24bit modes
----------
> 1408 x 1056 is OK
> 1280 x 1024 is OK
> 1152 x 864 is OK
> 1024 x 768 is OK
> 960 x 720 is OK
> 800 x 600 is OK
> 768 x 576 is OK
> 640 x 480 is OK
> 640 x 400 is OK
> 512 x 384 is OK
> 480 x 272 is OK
> 320 x 240 is OK
> 320 x 200 is OK
> 240 x 320 is OK
32bit modes
----------
> 1408 x 1056 is OK
> 1280 x 1024 is OK
> 1152 x 864 is OK
> 1024 x 768 is OK
> 960 x 720 is OK
> 800 x 600 is OK
> 768 x 576 is OK
> 640 x 480 is OK
> 640 x 400 is OK
> 512 x 384 is OK
> 480 x 272 is OK
> 320 x 240 is OK
> 320 x 200 is OK
> 240 x 320 is OK
obviamente esos modos no son validos.
viendo estos resultados en caanoo, no necesito verlos en wiz.
podrias joseba probar el ejemplo en wii?
gracias!