Bug en load_fnt() en la Wii

Started by josebita, February 21, 2011, 02:28:31 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

josebita

En cualquier caso, creo que voy a dejar el código tal y como está y poner como "recomendación" que los fnt han de ir comprimidos. Es una recomendación un poco nazi, porque si no se hace no se cargan las fnt, pero es lo que hay.
Me imagino que casi no tener sistema operativo por debajo es lo que tiene :)

SplinterGU

la zlib de wii es la lib oficial de zlib? porque no compilas los fuentes oficiales de la zlib y probas?
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

SplinterGU

creo que es un tema de byteorder en la zlib.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

SplinterGU

joseba, agregue al codigo la posibilidad de compilarlo sin soporte de comprimidos zlib.

te sugiero que por ahora, deshabilites en la version wii el soporte de zlib, con lo que solo se podra usar en esa version archivos sin comprimir y tambien mochila (si el problema es la zlib, la mochila deberia funcionar perfectamente)

para deshabilitar, agrega el siguiente define en los CFLAGS de la compilacion NO_ZLIB, o donde gustes.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

josebita

OK, gracias. Voy a sincronizar el código y voy a escribir un pequeño script para windows y linux que se encargue de descomprimir los recursos del juegos (FPGs, FNTs, MAPs...) en caso de que lo estén para que los usuarios puedan hacerlo facilmente.

Drumpi

Te voy a ahorrar parte del trabajo: tengo este código por culpa de las limitaciones del FPGEdit antiguo :D Sólo habría que añadir los argumentos de entrada y control de errores de los mismos, tan portable como Bennu ;)

[code language="bennu"]program des_zlib;

import "mod_file";

global
    byte b_dato;
    int source, destino;

begin
    source=fopen("test.fpg",o_zread);
    destino=fopen("test_unzip.fpg",o_write);
    while (feof(source)==0)
        fread(source,b_dato);
        fwrite(destino,b_dato);
    end
    fclose(source);
    fclose(destino);
end[/code]

No es mucho, pero bueno, algo tendre que hacer para ayudar ^^U
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

Quote from: Drumpi on February 23, 2011, 01:49:38 PM
Te voy a ahorrar parte del trabajo: tengo este código por culpa de las limitaciones del FPGEdit antiguo :D Sólo habría que añadir los argumentos de entrada y control de errores de los mismos, tan portable como Bennu ;)

[code language="bennu"]program des_zlib;

import "mod_file";

global
    byte b_dato;
    int source, destino;

begin
    source=fopen("test.fpg",o_zread);
    destino=fopen("test_unzip.fpg",o_write);
    while (feof(source)==0)
        fread(source,b_dato);
        fwrite(destino,b_dato);
    end
    fclose(source);
    fclose(destino);
end[/code]

No es mucho, pero bueno, algo tendre que hacer para ayudar ^^U

jejeje, muy buena idea drumpi, no se me habia ocurrido.

gracias, y karma!

PD: Con una pequeña modificacion se puede hacer que recorra todo el directorio/directorios y salve todo en otra carpeta.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

josebita

Quote from: Drumpi on February 23, 2011, 01:49:38 PM
Te voy a ahorrar parte del trabajo: tengo este código por culpa de las limitaciones del FPGEdit antiguo :D Sólo habría que añadir los argumentos de entrada y control de errores de los mismos, tan portable como Bennu ;)

[code language="bennu"]program des_zlib;

import "mod_file";

global
    byte b_dato;
    int source, destino;

begin
    source=fopen("test.fpg",o_zread);
    destino=fopen("test_unzip.fpg",o_write);
    while (feof(source)==0)
        fread(source,b_dato);
        fwrite(destino,b_dato);
    end
    fclose(source);
    fclose(destino);
end[/code]

No es mucho, pero bueno, algo tendre que hacer para ayudar ^^U
¡Muchas gracias!

josebita

Sólo por comentar... Al final lo he hecho justamente al revés: he puesto como requisito que todos los recursos vayan gzippeados.
Lo he hecho así porque aunque quitara la libz de Bennu, tenía que seguir linkando contra ella para libpng y además haber exigido que todo estuviera descomprimido me da la impresión de que sería complicarle la vida a la gente, porque todos los recursos que genera Bennu ahora (FPG y MAP, sobre todo) están comprimidos y habría que hacer que el usuario descomprimiera todos uno a uno...
Suficiente le pido ya con resamplear todo el audio y compilar en la Wii como para encima exigirle que retoque todos los FPGs a mano (que pueden ser muchos).

Sólo lo comento para que conste, la verdad es que funciona muy bien ahora :)

SplinterGU

#24
joseba, no estoy de acuerdo con lo que has hecho, ya que esto te va a hacer que funcionen los recursos, pero no va a funcionar ningun load de vars/structuras, ni tampoco lectura de archivos de texto o raw.

creo que es un error...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

josebita

Bueno, la carga de estructuras con load y save parece ir sin problemas, al menos en las pruebas que he hecho con el firewhip.
El resto de juegos que he probado parecen ir muy bien también. Voy a intentar averiguar cuál es el problema porque creo recordar que los FPG sin compresión sí se abren bien...

SplinterGU

quizas dependa de cierta combinacion de datos
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

josebita

Voy a intentar mirarlo con cariño en cuanto saque un rato, porque la verdad es que me tiene bastante extrañado.