Problema en Scrolls

Started by TYCO, November 14, 2008, 12:38:46 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

TYCO

Este código no me gusta nada, porque ya tengo un gráfico grande para el fondo... y si luego tengo que poner otro gráfico igual de grande para la niebla eso va a consumir mucho digo yo; el gráfico de la niebla con que sea igual que el tamaño de la region[jugador] es suficiente, y será mucho más performance y consumirá menos cpu y demás, por eso yo la niebla no la meto en ctype=c_scroll; y por eso uso x=father.x-scroll[jugador].x0; (para cuando llega el jugador a las esquinas la niebla siga estando centrada en la region[jugador])

    mapa_blanco=new_map(map_info(0,fondo,g_width),map_info(0,fondo,g_height),16);
/* Niebla principal, debe ser del mismo tamaño del mapa total */

    x = map_info(0,fondo,g_width)/2;
    y = map_info(0,fondo,g_height)/2;

Que conste que aún no he comido.
Programador, Escritor/Guionista y Deportista.

Todo Modo Gráfico tiene por detrás una Línea de Comandos.

SnowCraft Remake (100%)
Rally Mortal (87%)

TYCO

Bueno el tema de la Niebla ha mejorado en su código interno sin hacer map_clone. Doy por cerrado el tema.
Programador, Escritor/Guionista y Deportista.

Todo Modo Gráfico tiene por detrás una Línea de Comandos.

SnowCraft Remake (100%)
Rally Mortal (87%)

SplinterGU

#17
menos performante no es, al contrario debia serlo al revez, quizas si ocuparia mas memoria, pero no tiene que ser menos performante, al contrario tendria que ser mas performante que el codigo que tenias...
y al usar distintos metodos no es seguro que no te salga ese recuerdo, aunque si ahora haces lo mismo que te pase, pero sobre un recuadrito chico, entonces la cosa si puede ir mejor...
pero bueno, si solucionaste el tema, perfecto.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

TYCO

Se que este tema lo dimos por Cerrado. Pero Vista la eficiencia de subsanar bugs (cosa que me alegra)... me pregunto si el "Archivo Adjunto" de este post anterior: http://forum.bennugd.org/index.php?topic=305.msg3523#msg3523 también podría ser subsanable a medio o a corto plazo. :)
Programador, Escritor/Guionista y Deportista.

Todo Modo Gráfico tiene por detrás una Línea de Comandos.

SnowCraft Remake (100%)
Rally Mortal (87%)

SplinterGU

#19
el tema del recuadro, no?

si es ese, tengo pendiente ver porque se corre 1 pixel, creo que es el centro y la precision de los floats, estuve haciendo pruebas, pero necesito debugear mas...

como se ve, ahora no se deforman los mapas al rotarlos y hacerle zoom, pero parece que se corre un pixel, no se bien aun cuando... quizas solo sea problema de que un pixel no se puede dividir al medio, y los centros de mapas de ancho o alto par no tienen un medio inequivoco.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

TYCO

Si, el tema del recuadro... pero que extrañamente sólo afecta en el scroll[2] que está en la región2 también. Ya que el scroll[1] que está en la región1 no se ve nunca ese "recueadro", es como si no le afectara el bug.
Programador, Escritor/Guionista y Deportista.

Todo Modo Gráfico tiene por detrás una Línea de Comandos.

SnowCraft Remake (100%)
Rally Mortal (87%)

SplinterGU

si mal no recuerdo no es que sea el scroll[2], eso ya lo vimos, da la casualidad que por las coordenadas que usas te sucede en el scroll[2], pero no tiene que ver con el scroll.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

FreeYourMind

#22
Estoy teniendo problemas con el start_scroll, ocurre si antes de la llamada del proceso que hace el start_scroll he borrado y vuelto a cargar el FPG que utilizo en el scroll, lo raro es que le paso el id del FPG y en los demas procesos si salen bien las imagenes del fpg que lo utilizan, lo que demuestra que esta bien cargado y que el id tambien lo pillá bien.

El scroll lo utilizo de esta forma en un proceso:

start_scroll(FPG_Principal, 0, 4, 0, 0, 3); // Scroll

 WHILE(movim == 0);
 
       scroll[0].x0 -= 1; // Scroll 1
       scroll[0].y0 += 1;

       IF (key(_esc) OR exit_status == 1) exit("", 0); END

       FRAME;
 END


el FPG_Principal lo he cargado en el main, despues he llamado un proceso que ha hecho el unload y load de nuevo del FPG_Principal. Si no llamo este proceso intermedio, el scroll funciona bien (pone el grafico 4 en movimiento), pero si llamo el proceso intermedio (unload/load del fpg), depúes al llamar el scroll no sale imagen, en una rara ocasión la imagen ha salido pero no se movia...


A ver que puede ser, algo mal en los parametros o que ?

FreeYourMind

Bueno, igual ultimamente ando cansino con mis dudas, igual os dejo unos tiempos para tranquilizar el ambiente.

Drumpi

Lo mismo es que te has equivocado en los parámetros del START_SCROLL, porque el primero es un número del 0 al 9 que indica el número de scroll a usar, el FPG va en el segundo, el gráfico del scroll en el tercero, el del fondo en el cuarto, region en el quinto es la región y el sexto los flags.
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)

FreeYourMind

estas seguro que el primero no es el fpg ? (ha sido justo lo que cambie, de 0 a id del fpg)
En el manual de osk era lo que ponia, lo consulte para quitar dudas.

Drumpi

100% seguro, mira la wiki de bennu y la doc de Fenix si no me crees. A menos que Splinter haya creado algúna función de sobrecarga que no conozca.
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)

FreeYourMind

Que te creo hombre, encima que tiene sentido por los cambios que hice, pero podrias mirar el manual de osk ?