Avances, Diario de...

Started by SplinterGU, April 17, 2008, 03:00:51 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

BoMbErLiNk

Ok, en un rato te cuento, primero voy a probar que tal va la Wii  :)

BoMbErLiNk

#1426
Ya he visto el bug de la carga de fpgs de la mochila.

Si en el mismo proceso y mismo frame que vas a usar FILE haces también el LOAD_FPG, puede que file no se actualice en ese frame sino en el siguiente, por tanto ese proceso no se visualiza pero si lo haran otros que se llamen más tarde.

Orden :

Quotefichero=load_fpg("fpg.fpg");
file=fichero;
graph=1;

No solo pasa en Wiz, lo he visto en Windows también, aunque en mucho menor medida, solo 1 vez en una partida completa.

Espero que tenga solución  :)

SplinterGU

no hay ninguna operacion retardada en eso que decis... no tiene sentido, quizas tenes otro proceso o parte de la logica donde se modifica file en ese frame.

cargas y frames no tienen relacion, y mucho menos valores asignados a las variables... a menos que uses las load_fpg de background, esas que llevan un 2do parametro, pero me parece que no es el caso.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

BoMbErLiNk

#1428
Ok, te lo pongo mejor :

QuoteIF (fichero>-1) unload_fpg(fichero); fichero=-1; END
fichero=load_fpg("fpg.fpg");
file=fichero;
graph=1;

La mochila me falla exclusivamente en procesos que hagan esto y no en todas las condiciones.

Quieres que haga un ejemplo y te lo pase ?

SplinterGU

por favor... muchas gracias por adelantado.

enviame tambien el codigo de ese ejemplo.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

BoMbErLiNk

Aquí tienes el ejemplo :
http://bombergames.net/mochila.zip

Es un problema grave, se me ha colgado el sistema operativo, mucho cuidado con el ejemplo xD

Al principio no conseguia reproducir el fallo con un mini ejemplo porque debe estar sonando música de fondo cargada como load_song (ogg), en conjunto con el código que te mando hacen un boom importante.

Cosas que pasan :
El fpg puede o no visualizarse
La canción puede o no resetearse (sin que exista código para ello)
Si la aplicación muere, que lo acaba haciendo, puede dejar al sistema operativo KO.

En el ejemplo simplemente pulsas o mantienes ENTER, se va cargando de forma ciclica un fpg dentro de la mochila.

No he comprobado si esto es solo exclusivo de la mochila, pero se que SDL_mixer da problemas desde hace mucho tiempo, con la oficial que lleva Bennu de hecho puede petarte en un simple load_song tras haber escuchado varias canciones de forma completamente aleatoria, pero siempre en el inicio de la canción, hace tiempo cambie a una SDL_mixer concreta que soluciona este problema, que es la que lleva el zip que te mando, sin embargo aquí también termina cayendo.

Espero que sirva de ayuda :P

SplinterGU

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

SplinterGU

Quote from: BoMbErLiNk on March 22, 2011, 04:04:02 AM
Aquí tienes el ejemplo :
http://bombergames.net/mochila.zip

Es un problema grave, se me ha colgado el sistema operativo, mucho cuidado con el ejemplo xD

Al principio no conseguia reproducir el fallo con un mini ejemplo porque debe estar sonando música de fondo cargada como load_song (ogg), en conjunto con el código que te mando hacen un boom importante.

Cosas que pasan :
El fpg puede o no visualizarse
La canción puede o no resetearse (sin que exista código para ello)
Si la aplicación muere, que lo acaba haciendo, puede dejar al sistema operativo KO.

En el ejemplo simplemente pulsas o mantienes ENTER, se va cargando de forma ciclica un fpg dentro de la mochila.

No he comprobado si esto es solo exclusivo de la mochila, pero se que SDL_mixer da problemas desde hace mucho tiempo, con la oficial que lleva Bennu de hecho puede petarte en un simple load_song tras haber escuchado varias canciones de forma completamente aleatoria, pero siempre en el inicio de la canción, hace tiempo cambie a una SDL_mixer concreta que soluciona este problema, que es la que lleva el zip que te mando, sin embargo aquí también termina cayendo.

Espero que sirva de ayuda :P

necesito el prg de esto, si no me das el prg, no puedo hacer nada.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

BoMbErLiNk

No hombre, esta todo dentro del zip.

mochila.prg se llama, tambien te he puesto la carpeta data comprimida,  para que puedes descomprimirla y compilar una nueva mochila en caso de que quieras recompilar el código en modo debug.

FreeYourMind

Te has equivocado, el prg es de un juego extenso xDDD

SplinterGU

Quote from: BoMbErLiNk on March 22, 2011, 05:44:20 AM
No hombre, esta todo dentro del zip.

mochila.prg se llama, tambien te he puesto la carpeta data comprimida,  para que puedes descomprimirla y compilar una nueva mochila en caso de que quieras recompilar el código en modo debug.


tienes razon, se me escapo, disculpa.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

SplinterGU

bien, el problema no es en la mochila o en el asignar el load_fpg a una variable y luego asignarla a file, y que lo cargue en un frame u otro... cuando lei que reportaste eso, me recordo a los reportes de los operadores de sistema cuando te reportan una caida de un sistema o servidor y te dicen, "si es dia martes y pasa por la calle una ambulancia con la sirena sonando y encima te pica la oreja izquierda, entonces ahi se te cae el servidor"

bien, con las pruebas, vi que incluso este codigo da problema...


PROGRAM mochila;

import "mod_video";
import "mod_sound";
import "mod_key";
import "mod_joy";
import "mod_string";
import "mod_math";
import "mod_proc";
import "mod_grproc";
import "mod_text";
import "mod_map";
import "mod_time";
import "mod_timers";
import "mod_file";
import "mod_wm";
import "mod_rand";
import "mod_screen";
import "mod_dir";
import "mod_effects";
import "mod_draw";
import "mod_say";

GLOBAL
animacion;
musica;
startup=1;
posicion=1;

BEGIN
        set_mode(320,240,16);
        set_fps(60,0);
        x=160;
        y=120;
        musica=load_song("data/00.ogg");
        play_song(musica,-1);

        LOOP
                IF (key(_esc)) exit(); END

                IF (posicion<50) posicion++; ELSE posicion=1; END
                unload_fpg(file);
                file=load_fpg("data/galsia"+posicion+".fpg");
                graph=1;

                FRAME;
        END
END


por lo que vi tambien es que si quitas el load_song/play_song funciona sin problema... voy a probar poniendo los sonidos fuera de la mochila a ver que pasa.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

SplinterGU

efectivamente es cuando el sonido se encuentra en la mochila... por lo menos ogg y este en concreto...

voy a revisar el tema de las operaciones fake de archivos y como recorre la libogg/mixer el archivo
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

BoMbErLiNk

#1438
Vale, si es por la música no me importa dejarla fuera de momento :D

En los primeros mensajes me tenia confudido el tema, ya te digo, no me salia el ejemplo hasta que cai en lo de la música.  ;)

PD: Splinter sería posible que los fpg se metieran comprimidos en la mochila ?

FreeYourMind

Vas a inundar de capas el juego:

Ficheros encriptados con password, dentro de fpg's comprimidos, los cuales dentro de mochila, la cual dentro de un exe, el cual dentro de un rar xDDDDD