BUG: scale_resolution y scroll en mapa

Started by JaViS, March 19, 2014, 01:17:31 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

JaViS

Cuando se renderiza un scroll en un mapa, y se escala la pantalla usando scale_resolution (y no scale_mode) los procesos se renderizan en un rectangulo superior izquierdo del tamaño de la resolucion original (sin escalar) del juego .


Me parece que es un bug que se habia reportado y solucionado en la version anterior, pero al parecer solo se resolvio para scale_mode y no scale_resolution.
Working on Anarkade. A couch multiplayer 2D shooter.

SplinterGU

Download Lastest BennuGD Release: http://www.bennugd.org/node/2

panreyes

Con la versión (no actual) de BennuGD que tengo yo para Windows esto no ocurre.


Si te sirve, la tienes en la plantilla, en la carpeta bennu-win.

JaViS

Me pasa con la version que esta en el ultimo BennuPack (2.6 creo q es). Ya voy a subir un ejemplo tan pronto como sea posible.


Gracias pixel!! de todos modos reporto el bug para que lo puedan solucionar en versiones futuras de bennu :)


Saludos!
Working on Anarkade. A couch multiplayer 2D shooter.

JaViS

Aca va el ejemplo del bug (esta interesante) XD


Porfa cuando puedas mirarlo avisame que pensas :)




import "mod_time"
import "mod_map";
import "mod_grproc";
import "mod_key";


import "mod_wm";
import "mod_video";
import "mod_scroll";
import "mod_mouse";
import "mod_proc";
import "mod_draw";
import "mod_rand";
import "mod_math";
import "mod_timers";
import "mod_text";
import "mod_screen";


global
stage_render_map;
end


Process Main()
private
dsx, dsy;
scroll_background;
begin
//get_desktop_size(&dsx, &dsy);
//scale_resolution = dsx * 10000 + dsy ;
//scale_resolution_aspectratio = SRA_PRESERVE;

// con esto funciona
scale_mode = SCALE_NORMAL2X;

// con esto no funciona
//get_desktop_size(&dsx, &dsy);
//scale_resolution = dsx * 10000 + dsy ;
//scale_resolution_aspectratio = SRA_PRESERVE;

set_fps(30,0);
set_mode(640,360,16);



// creamos un mapa de render del un tamaño mas grande que el de la res de la pantalla
stage_render_map = map_new(1280,720,16);
// creamos tambien el fondo del scroll
scroll_background = map_new(1280,720,16);
map_clear(0,scroll_background,rgb(145,65,4));
drawing_color(rgb(250,250,250));
drawing_map(0,scroll_background);
// dibujamos una linea para saber donde termina la pantalla
draw_rect(0,0,1280,720);
draw_rect(1,1,1279,719);
draw_rect(2,2,1278,718);
draw_rect(3,3,1277,717);
draw_rect(3,3,1277,717);


start_scroll(0,0,scroll_background,0,0,1,0,stage_render_map); // renderiza el scroll en un mapa (para habilitar zoom)
fondo();
sprite();

while(!exit_status)
frame;
end
end


process fondo()
begin
file = 0;
graph = stage_render_map;
x = 640/2;
y = 360/2;
size = 50;
loop
frame;
end
end




process sprite()
begin
graph = map_new(100,100,16);
map_clear(0,graph,rgb(21,123,46));
ctype = c_scroll;
loop
x = mouse.x * 2;
y = mouse.y * 2;
frame;
end
end
Working on Anarkade. A couch multiplayer 2D shooter.

panreyes

Efectivamente hay bug.
Prueba a definir y utilizar otras regiones:

   define_region(1,0,0,1280,720);
   start_scroll(0,0,scroll_background,0,1,1,0,stage_render_map);

JaViS

Quote from: PiXeL on March 20, 2014, 12:07:23 AM
Efectivamente hay bug.
Prueba a definir y utilizar otras regiones:

   define_region(1,0,0,1280,720);
   start_scroll(0,0,scroll_background,0,1,1,0,stage_render_map);


esa es una idea interesante, ya voy a probarla
Working on Anarkade. A couch multiplayer 2D shooter.

SplinterGU

aun no logro probarlo, tengo problemas de dependencias, me faltan las libpng, por cambio de version y tengo que corregir y recompilar el proyecto, apenas pueda resolver el problema la pruebo..
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

JaViS

Gracias! Mientras yo voy a probar con las regiones como dice pixel
Working on Anarkade. A couch multiplayer 2D shooter.

JaViS

uhhh jujuju el arreglo de pixel funciona! :D


gracias!
Working on Anarkade. A couch multiplayer 2D shooter.

SplinterGU

bien, entiendo que el error es con scroll + scale_resolution + region 0, tiene sentido para mi.

anotando a la lista de pendientes.

gracias!
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

JaViS

En realidad el error es mapa de scroll mayor a resolución + región 0. Por alguna casualidad anda bien con scale mode.
Working on Anarkade. A couch multiplayer 2D shooter.

SplinterGU

el mapa de scroll deberia ser de cualquier tamaño, no importa si es mas grande o no que la resolucion... ademas te funciona en otras regiones.

tiene sentido scroll + scale + region 0, si pensamos que region 0 es la pantalla y si pensamos que al usar scale la resolucion no es la que hace el set_mode.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2