Socorro! un proceso que funcionaba bien empezó a rayarse sin tocarlo

Started by Danielo515, September 24, 2008, 01:56:26 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Danielo515

Si! el proceso chivato_miniradar ha empezado a comportarse de manera poco deseada. Cumple con absolutamente todas sus funciones salvo una, aparecer en pantalla. El proceso no lo he cambiado en absoluto desde que lo escribí por primera vez, y tampoco ninguna de las líneas relacionadas con el, pero hace poco dejó de aparecer en pantalla, hace todo lo demás pero no se le ve.
He probado a definir todas sus variables, como la z y demás, pero no les veo, y les aseguro que se les ven muy bien en pantalla.
Para quien lo decida probar son unas pequeñas imágenes que parpadean que deben aparecer encima de los cocehs que llevan bonus. No entiendo que pasó.
También hay un problema con el redibujado de las write_var, se queda una línea del numero anterior cuando el siguiente es más corto.
Bueno, aquí os dejo el proyecto completo, está compilado en bennu 0.73
Saludos.

http://rapidshare.com/files/147872739/radartrafico_sources.zip.html

SplinterGU

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

Danielo515

Splinter el problema no se a solucionado (al menos el que comento como importante).
Y me tendrás que comentar alguna de las peculiaridades del dibujado de write_var, o de que con que orden se dibujan los textos en pantalla.
Un saludo.

Packo_z007

no he bajado el codigo.. pero write_var se actualiza solo.No hace falta usar delete_text cada frame. La tenes que llamar una sola vez.
[STRING] *PANIC Too many strings, allocating more space

SplinterGU

si usas el bitmap de sistema o bitmaps de 1bpp hay problemas en el blitter y las dirty... aunque si usas la wip 7.4 eso no pasa...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Danielo515

No no, no me explique o ustedes no me entendieron. No me refiero un bug de bennu, que si, que hay algunos como los problemas con los mapas impares esos que dejaban residuos que se han solucionado o la actualización de las variables de write_var que también parece solucionado (funcion que por cierto conozco, ya se que no hay que reescribirla y borrarla, me refería al redibujado del texto por parte de bennu)

Me refiero a lo que yo creo que es un error de programación mío, que varié algo o hice algo y por algún motivo que no entiendo ahora no aparece el pantalla el gráfico de un proceso que evidentemente está presente (chivato_bonus_minirradar).
Muchas gracias

SplinterGU

no se ve por el siguiente motivos...

until(y<miniradar_limite_superior[jugador]) y el grafico lo pones en coordenadas 0,0

otras cosas

usas

        x=father.x;
        y=father.y;
        z=father.z-100;

y no usas

if (exists(father))

por el mismo z=father.z-100; es que no tiene sentido que asignes un valor a z al inicio de la funcion

para compilar con la wip9, tenes que usar los siguientes imports...

import "mod_draw"
import "mod_key"
import "mod_timers"
import "mod_joy"
import "mod_time"
import "mod_string"
import "mod_proc"
import "mod_effects"
import "mod_math"
import "libmouse"
import "mod_rand"
import "mod_video"
import "mod_map"
import "mod_text"
import "mod_grproc"
import "mod_screen"
import "mod_blendop"
import "mod_say"

yo te sugiero que uses la funcion say para ver que valores tiene las cosas y/o poner

say ( __FILE__ +":"+ __LINE__ +":") ;

en varias partes del codigo para ver por donde va el flujo...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Danielo515

Quote from: SplinterGU on September 24, 2008, 10:46:00 AM
no se ve por el siguiente motivos...

until(y<miniradar_limite_superior[jugador]) y el grafico lo pones en coordenadas 0,0

El gráfico no lo pongo en coordenadas 0,0. Si no entiendo mal, el until lo evalúa lo último del bucle (de ahí el úntil) para entonces las coordenadas ya han sido asignadas mediante father.x y father.y con lo que no debería ser ese el problema. El padre empieza con coordenadas y=300 o superior, y sin embargo miniradar_limite_superior es 0 o 50 a lo sumo.

Ya he puesto el if exists(father) y sigue sin verse. No entiendo el problema, antes funcionaba y te juro que no le cambié nada directamente para que dejara de hacerlo.

SplinterGU

pone say de x e y... estan en 0... tenes en el while el cambio constante de x e y, tomando del padre...

yo lo hice funcionar...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Danielo515

es que el father.x e Y es 0 también! y eso? es tengo el x e y en constante cambio porque quiero que siga al padre. ¿como lo hiciste funcionar? ¿por que father.x es cero si es evidente que no lo es?

SplinterGU

le puse otros valores a x e y, y si aparecen...

a ver...

cuando vos llamas a chivato_bonus_miniradar desde vehiculo_miniradar, vehiculo_miniradar tiene por x e y el valor de 0, o sea, que chivato_bonus_miniradar nunca se muestra porque sale por el until, ya que toma la x e y del padre, que al momento de llamar a este tiene sus coordenadas a 0...

por eso sale...

repito, padre tiene x e y en 0... y chivato_bonus_miniradar nunca entra en loop...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Danielo515

Vale splinter muchas gracias, problema solucionado.
Tengo algún problemilla con el wip8, y es que no encuentro por ningún lado el stderr, y me ha dado un error, pero como no hallo el archivo no se cual ha sido ¿que sistema emplea esta nueva wip para el reporte de errores?

SplinterGU

de nada...

usa

bgdi programa.dcb >log.txt 2>err.txt

o tambien podes usar ultraedit o cualquier otro de los IDE que puse y tienen captura de la salida de consola...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2


SplinterGU

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