¿Cambios en screen_put?

Started by DCelso, October 04, 2016, 06:49:53 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

DCelso

Hola a todos, esto hace un par de años iba muy bien, hoy no.
Programa 640x480, imagen 640x480, voy a ponerla de fondo y bualá, imposible ponerla bien completamente.

¿Alguien puede ayudarme?

Program test;

import "mod_map"
import "mod_key"
import "mod_draw"
import "mod_screen"
import "mod_video"
import "mod_proc"

Begin
    set_mode(640,480,16);
    set_fps(30,0);
    screen_put(0,load_png("fondo.png"));
    while (!key(_esc))
        frame;
    end
    let_me_alone();
end

la pone justo en la mitad, como bien pone en la wiki, cosa que antes no pasaba. y se ve pues claro, un cuarto de la imagen.


cambio screen_put por

screen_clear();
put(0,load_png("fondo.png"),graphic_info(0,BACKGROUND,G_WIDTH)/2,graphic_info(0,BACKGROUND,G_HEIGHT)/2);

y como es de esperar mismo exacto resultado.


screen_clear();
put(0,load_png("fondo.png"),graphic_info(0,BACKGROUND,G_WIDTH),graphic_info(0,BACKGROUND,G_HEIGHT));

no se ve nada.


screen_clear();
put(0,load_png("fondo.png"),0,0);

se ve el cuarto contrario de la imagen.

lo más aproximado que he podido conseguir es haciendo el truco de la cuarta parte pero vamos aún así ni se ajusta a ocupar toda la pantalla como hacía antes.

screen_clear();
put(0,load_png("fondo.png"),graphic_info(0,BACKGROUND,G_WIDTH)/4,graphic_info(0,BACKGROUND,G_HEIGHT)/4);

Adjunto imagen, para que hagais pruebas si quereis.
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

Futu-block

si copias la ruta de imagen y la pones con etiquetas de IMG podriamos verla tol mundo... ¬¬

DCelso

Muy util, sí.

sobre todo porque gracias a eso se resuelve el problema de la posición.

XD
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

Futu-block

Gracias, karma++

Además, es mejor cuando vemos las imágenes, a mí siempre me echa pá tras tener que descargármelas

Por cierto, lo porbaré a ver si me pasa y te cuen

Drumpi

Sí, a mi me ha pasado con FPGs, independientemente de dónde pusiera el centro de la imágen, pero siempre se me colocaba la imágen en el cuarto de la parte superior izquierda (pero no me ha hecho cosas tan raras como dices).
¿Has probado a cargar el PNG y guardar su ID en una variable, y usar la variable en el put_screen? es posible que no la cargue bien, o que el centro esté vete tu a saber dónde.

Esto es lo que hago yo y me funciona bien, pero es una lástima lo de put_screen (Splinter no podía mirarlo porque estaba ocupado con algo llamado "vida real" y BennuGD2, bastante que pudo sacar las r334 y r335 cuando le comenté un par de bugs).
temp = load_png(lp_logo);
put(0, temp, graphic_info(0, temp, G_WIDTH) / 2, graphic_info(0, temp, G_HEIGHT) / 2);

   
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

DCelso

¿Y esto te va bien?

temp = load_png(lp_logo);
put(0, temp, graphic_info(0, BACKGROUND, G_WIDTH) / 2, graphic_info(0, BACKGROUND, G_HEIGHT) / 2);


la diferencia que veo es que tu usas el ancho y alto del gráfico y yo el de la pantalla :O,
que en el ejemplo que pongo es el mismo 640x480. es decir que debería dar el mismo resultado.
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

SplinterGU

Quote from: Drumpi on October 04, 2016, 12:45:29 PM
Sí, a mi me ha pasado con FPGs, independientemente de dónde pusiera el centro de la imágen, pero siempre se me colocaba la imágen en el cuarto de la parte superior izquierda (pero no me ha hecho cosas tan raras como dices).
¿Has probado a cargar el PNG y guardar su ID en una variable, y usar la variable en el put_screen? es posible que no la cargue bien, o que el centro esté vete tu a saber dónde.

Esto es lo que hago yo y me funciona bien, pero es una lástima lo de put_screen (Splinter no podía mirarlo porque estaba ocupado con algo llamado "vida real" y BennuGD2, bastante que pudo sacar las r334 y r335 cuando le comenté un par de bugs).
temp = load_png(lp_logo);
put(0, temp, graphic_info(0, temp, G_WIDTH) / 2, graphic_info(0, temp, G_HEIGHT) / 2);

   

hey! ya fue fixeado esto!
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Futu-block

tu pc está chungo con tanto windo$¹¹


DCelso

XD,
¿Qué versión del bgdi estas usando y que .prg has probado de las 4 varaciones que puse?


Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

Futu-block

El .prg este:

Program test;

import "mod_map"
import "mod_key"
import "mod_draw"
import "mod_screen"
import "mod_video"
import "mod_proc"

Begin
    set_mode(640,480,16);
    set_fps(30,0);
    screen_put(0,load_png("fondo.png"));
    while (!key(_esc))
        frame;
    end
    let_me_alone();
end

el que tu has puesto en el primero, y el bgdi dime como se mira que te lo digo

SplinterGU

actualiza tu version, eso ya esta corregido.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Drumpi

No recuerdo la variable global "BACKGROUND". De todas formas, por curiosidad, haz un SAY a ver si de verdad el ancho y alto de BACKGROUND son iguales que la del PNG. No sabes la de cabezazos que me he llegado a dar contra la pared por cosas así (concretamente, leer de un fichero con un nombre idéntico pero versión equivocada).

Splinter: ups, pues debí olvidarlo. Lo cambiaré mañana, que ahora estoy en Linux (en serio, debo acordarme de desinstalar la ¿r332? e instalar la r335 en Kubuntu) y son las 2:30 AM :D
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

SplinterGU

yo me refiero a la put_screen, eso ya esta solucionado.

lo del background no recuerdo, tengo que revisar.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Drumpi

Si, yo también.
Confirmado, la r335 tiene solucionado el problema de put_screen. A mi me va bien con:
temp = load_png(lp_logo);
put_screen(0, temp);


¡Y eso aun usando 2xScale sin filtro!
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

DCelso

Pues será la r335 de linux.
La de windows recien descargada de la firma de Splinter hace esto sin trampa ni cartón:




Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/