Pues eso resulta que estaba trasteando con el scale_resolution y siempre que lo usaba se quedaba la pantalla en negro!
Despúes de algunas pruebas me entero que ocurre si utilizamos el scale_mode, por ejemplo si hacemos un
SCALE_MODE = SCALE_SCALE2X / SCALE_HQ2X / SCALE_NORMAL2X/ SCALE_SCANLINE2X
Es un bug ? necesito combinar estas dos cosas...
no es un bug, es una limitacion...
debido a que ambos se hacen por software, y seria meter mucha carga de CPU
O sea tengo que optar por uno u otro ?
si, exactamente, o adaptar bennugd, para que haga las 2 cosas, aunque ya seria mucha carga de CPU.
Pero has hecho pruebas ? Estaria bien que lo permitira, ya cada uno despues hacia lo que quiera, en un PC potente no veo problema.
no funciona, intencionalmente es excluyente.
Una cosa, hay alguna forma de 'cancelar' el scale_resolution despues de llamarlo, me refiero a que podemos de nuevo volver a setear el scale_resolution original y pone el juego en la resolucion original (que tendria si no lo usamos), pero ya en este punto del programa usar un scale_mode tampoco funciona ya, por haber llamado el scale_resolution antes...
estas mezclando los hilos, la consulta aca era scale_resolution+scale_mode.
scale_resolution se puede cambiar todas las veces que uno quiera, para hacerlo efectivo hay que hacer el set_mode, esto esta probado y funciona, no se que estas haciendo, pero pon ejemplos siempre que requieras ayuda de este tipo.
por favor, asi evitamos largos hilos y confusiones.
No estoy mezclando hilos que conste...
disculpa, ahora entiendo...
debes poner scale_resolution=0 para poder usar scale_mode, y obviamente, hacer el set_mode correspondiente.
No te lo vas a creer!!!!
Poniendo scale_resolution=0 despues del valor de scale_resolution funcionan las 2 cosas, o sea el scale_resolution + set_mode !!!!
Ejemplo (juego de 320x240 rescalado a 800x600 + filtro SCALE_HQ2X):
scale_resolution = 08000600;
scale_resolution = 0;
SCALE_MODE = SCALE_HQ2X;
set_mode(320,240,16,0);
pues no, te equivocas.
fijate que no esta a 800x600, sino a 640x480...
Hhehheheh, venia justo a pedirte disculpas, me estaba volviendo loco mirando el codigo ya estaba observando que la dimensión de la ventana no era la correcta, joer, pues lo dejo, si pongo set_resolution le quito los filtros y listo.
Disculpa por tu tiempo perdido, por lo menos que sirva como nota por si alguien pasa por lo mismo.
Estos filtos no funcionan en Wiz / Caanoo ?
SCALE_MODE = SCALE_SCALE2X / SCALE_HQ2X / SCALE_NORMAL2X/ SCALE_SCANLINE2X
Me da error de 'Segment Fault' si los uso en la consola...
Sera porque te pasas de la maxima resolución permitida en esas consolas (320x240 si no me equivoco)...como no vayas con una pauperrima resolución de 160x120 dificilmente podras usar ningun filtro 2X sin pasarte...
Tiene logica lo que dices porque la resolucion aumenta al aplicarlos como es lógico.
Muchas gracias.
no, a menos que pongas el video en 160x120...
como dice el nombre de cada uno de los modos es 2x, o sea, multiplica por 2 la resolucion, o sea, que el modo final sera 640x480, pero tanto wiz como caanoo, no soportan esta resolucion y dan segment fault, la maldita sdl no te lo da como modo invalido, sino que se manda a hacerlo y produce el crash.
he puesto set_mode(160,100,16,0); que en teoria pone despues 320x200, solo falla en ocasiones, pero la pantalla se queda con resolucion muy grande y se ve solo una punta de la region en la pantalla (lo demás sale para fuera hacia la derecha y hacia abajo), solo me ocurre en Wiz, pufff, en la Pandora va de maravilla (en la cual le pongo set_mode(320,200,16,0);, que son 640x400 y a la consola aun le queda espacio en pantalla, porque es de 800x480)
en wiz, 160,100 no es la resolucion correcta, deberias usar 160,120...
claro, pandora tiene mas resolucion.
Ahi es donde te lias, en este caso yo no quiero la resolucion de la consola, pero esa en concreto que es menor (por eso sale la tira negra, la cual se queda con restos de la imagen cuando pasamos de la resolucion de wiz a una menor, pero esto es tema del otro hilo).
bennugd no puede borrar lo que no tiene control...
como en el otro hilo, suerte con esto...
Dos cosas:
1-
Splinter podrias hacer un ejemplo con los 4 filtros para Wiz ?
Me huele que no funciona bien en pequeñas resoluciones, la pantalla no sale como deberia, la imagen con filtro sale muy grande y se enseña solo una parte en pantalla.
2- He hecho la ñapa para solventar lo de la tira negra en wiz al cambiar de pantalla completa a menor resolucion,
pero parece que se cambia antes la resolucion que el pintado del grafico del proceso, con lo cual no funciona:
windo = (windo+1)%2; // Swith (cambio de resolution, al pulsar una tecla por ejemplo)
if (os_id == 8 OR os_id == 9) // 'Gp2x Wiz' / 'Caanoo'
cubre_pantalla_de_negro (160, 100, -99, fich_objetos, 201); // x, y, z, file, graph (320x200)
end
if (windo == 1)
if (os_id == 8 OR os_id == 9) // 'Gp2x Wiz' / 'Caanoo'
scale_resolution = 03200240; // Pantalla completa
else
scale_resolution = 08000460; // Pantalla completa (Otros SO)
end
else
scale_resolution = 03200200; // Pantalla original
end
set_mode (320, 200, 16, 0);
if (os_id == 8 OR os_id == 9) // 'Gp2x Wiz' / 'Caanoo',
signal(type cubre_pantalla_de_negro, s_kill);
end
Creo que no termine de entender la razon por la cual no se pueden usar los dos juntos.
Es por una decision personal? o por una limitacion tecnica que lo hace imposible?
personal por motivos de limitaciones tecnicas que tendria el modelo si se usaran en combinacion.